{"version":3,"sources":["webpack:///$_lazy_route_resource lazy namespace object","webpack:///src/app/EnquiryStatus.ts","webpack:///src/app/Model/ActivityModel.ts","webpack:///src/app/Model/AddCustomerOpportunityModel.ts","webpack:///src/app/Model/AlertsModel.ts","webpack:///src/app/Model/BusinessPlanModel.ts","webpack:///src/app/Model/ChangePasswordModel.ts","webpack:///src/app/Model/CommonModel.ts","webpack:///src/app/Model/CustomerModel.ts","webpack:///src/app/Model/EmployeeGuestModel.ts","webpack:///src/app/Model/EnquiryModel.ts","webpack:///src/app/Model/HeaderMenuModel.ts","webpack:///src/app/Model/LeadModel.ts","webpack:///src/app/Model/LoginPageImage.ts","webpack:///src/app/Model/OutOfOfficeActivityModel.ts","webpack:///src/app/Model/ProductMatrixModel.ts","webpack:///src/app/Model/ProductModel.ts","webpack:///src/app/Model/QuotationModel.ts","webpack:///src/app/Model/RegisterModel.ts","webpack:///src/app/Model/ReportFilterModel.ts","webpack:///src/app/Model/SalesOrderBusinessPlan.ts","webpack:///src/app/Model/SingleFieldModel.ts","webpack:///src/app/Model/SiteActivityLogModel.ts","webpack:///src/app/Model/StockInventoryModel.ts","webpack:///src/app/Model/WorkFlowScreenAccessModel.ts","webpack:///src/app/Pipe/IndianCurrency.pipe.ts","webpack:///src/app/Service/access-permission.service.ts","webpack:///src/app/Service/activity.service.ts","webpack:///src/app/Service/app-config.service.ts","webpack:///src/app/Service/common.service.ts","webpack:///src/app/Service/engagement-report-service.service.ts","webpack:///src/app/Service/engagement-report.service.ts","webpack:///src/app/Service/exportToexcel.service.ts","webpack:///src/app/Service/register.service.ts","webpack:///src/app/UserRoles.ts","webpack:///src/app/app-routing.module.ts","webpack:///src/app/app.component.ts","webpack:///src/app/app.component.html","webpack:///src/app/app.global.ts","webpack:///src/app/app.module.ts","webpack:///src/app/auth/auth.interceptor.ts","webpack:///src/app/auth/role.guard.ts","webpack:///src/app/confirm-dialog/confirm-dialog.component.ts","webpack:///src/app/confirm-dialog/confirm-dialog.component.html","webpack:///src/app/directive/CustomNgbDateParserFormatter.ts","webpack:///src/app/directive/MustMatch.directive.ts","webpack:///src/app/directive/focus-invalid-input.directive.ts","webpack:///src/app/dynamic-bgimage/dynamic-bgimage.component.ts","webpack:///src/app/dynamic-bgimage/dynamic-bgimage.component.html","webpack:///src/app/footer/footer.component.ts","webpack:///src/app/footer/footer.component.html","webpack:///src/app/forgot-password/forgot-password.component.ts","webpack:///src/app/forgot-password/forgot-password.component.html","webpack:///src/app/header/header.component.ts","webpack:///src/app/header/header.component.html","webpack:///src/app/loader/loader.component.ts","webpack:///src/app/loader/loader.component.html","webpack:///src/app/material/material.module.ts","webpack:///src/app/profile/profile.component.ts","webpack:///src/app/profile/profile.component.html","webpack:///src/app/register/register.component.ts","webpack:///src/app/register/register.component.html","webpack:///src/app/sub-component/charts-modal/charts-modal.component.ts","webpack:///src/app/sub-component/charts-modal/charts-modal.component.html","webpack:///src/app/sub-component/charts-modal/enquiry-details-modal-chart/enquiry-details-modal-chart.component.ts","webpack:///src/app/sub-component/charts-modal/enquiry-details-modal-chart/enquiry-details-modal-chart.component.html","webpack:///src/app/sub-component/customer-engagement/activity/add-activity/add-activity.component.ts","webpack:///src/app/sub-component/customer-engagement/activity/add-activity/add-activity.component.html","webpack:///src/app/sub-component/customer-engagement/activity/bulk-edit-activity/bulk-edit-activity.component.ts","webpack:///src/app/sub-component/customer-engagement/activity/bulk-edit-activity/bulk-edit-activity.component.html","webpack:///src/app/sub-component/customer-engagement/activity/calender-view/calender-view.component.ts","webpack:///src/app/sub-component/customer-engagement/activity/calender-view/calender-view.component.html","webpack:///src/app/sub-component/customer-engagement/activity/edit-activity/edit-activity.component.ts","webpack:///src/app/sub-component/customer-engagement/activity/edit-activity/edit-activity.component.html","webpack:///src/app/sub-component/customer-engagement/activity/list-activity-row/list-activity-row.component.ts","webpack:///src/app/sub-component/customer-engagement/activity/list-activity-row/list-activity-row.component.html","webpack:///src/app/sub-component/customer-engagement/activity/list-activity/list-activity.component.ts","webpack:///src/app/sub-component/customer-engagement/activity/list-activity/list-activity.component.html","webpack:///src/app/sub-component/customer-engagement/activity/view-activity/view-activity.component.ts","webpack:///src/app/sub-component/customer-engagement/activity/view-activity/view-activity.component.html","webpack:///src/app/sub-component/customer-engagement/customer-engagement-details/customer-engagement-details.component.ts","webpack:///src/app/sub-component/customer-engagement/customer-engagement-details/customer-engagement-details.component.html","webpack:///src/app/sub-component/customer-engagement/customer-engagement/customer-engagement.component.ts","webpack:///src/app/sub-component/customer-engagement/customer-engagement/customer-engagement.component.html","webpack:///src/app/sub-component/customer-engagement/engagement-reports/activity-status-by-month/activity-status-by-month.component.ts","webpack:///src/app/sub-component/customer-engagement/engagement-reports/activity-status-by-month/activity-status-by-month.component.html","webpack:///src/app/sub-component/customer-engagement/engagement-reports/engagement-reports.component.ts","webpack:///src/app/sub-component/customer-engagement/engagement-reports/engagement-reports.component.html","webpack:///src/app/sub-component/customer-engagement/engagement-reports/report-by-activity-status-type/report-by-activity-status-type.component.ts","webpack:///src/app/sub-component/customer-engagement/engagement-reports/report-by-activity-status-type/report-by-activity-status-type.component.html","webpack:///src/app/sub-component/customer-engagement/engagement-reports/report-by-activity-type-month/report-by-activity-type-month.component.ts","webpack:///src/app/sub-component/customer-engagement/engagement-reports/report-by-activity-type-month/report-by-activity-type-month.component.html","webpack:///src/app/sub-component/customer-engagement/engagement-reports/report-by-activity-type-status/report-by-activity-type-status.component.ts","webpack:///src/app/sub-component/customer-engagement/engagement-reports/report-by-activity-type-status/report-by-activity-type-status.component.html","webpack:///src/app/sub-component/customer-engagement/my-activity/my-activity.component.ts","webpack:///src/app/sub-component/customer-engagement/my-activity/my-activity.component.html","webpack:///src/app/sub-component/customer-engagement/planned-vs-actual-activity/planned-vs-actual-activity.component.ts","webpack:///src/app/sub-component/customer-engagement/planned-vs-actual-activity/planned-vs-actual-activity.component.html","webpack:///src/app/sub-component/dashboard/avg-discount-month-chart/avg-discount-month.component.ts","webpack:///src/app/sub-component/dashboard/avg-discount-month-chart/avg-discount-month.component.html","webpack:///src/app/sub-component/dashboard/bporder-intake-chart/bporder-intake.component.ts","webpack:///src/app/sub-component/dashboard/bporder-intake-chart/bporder-intake.component.html","webpack:///src/app/sub-component/dashboard/business-plan-chart/business-plan-chart.component.ts","webpack:///src/app/sub-component/dashboard/business-plan-chart/business-plan-chart.component.html","webpack:///src/app/sub-component/dashboard/dashboard.component.ts","webpack:///src/app/sub-component/dashboard/dashboard.component.html","webpack:///src/app/sub-component/dashboard/enquiry-details-chart/enquiry-details-chart.component.ts","webpack:///src/app/sub-component/dashboard/enquiry-details-chart/enquiry-details-chart.component.html","webpack:///src/app/sub-component/dashboard/opportunity-quotation-chart/opportunity-quotation-chart.component.ts","webpack:///src/app/sub-component/dashboard/opportunity-quotation-chart/opportunity-quotation-chart.component.html","webpack:///src/app/sub-component/dashboard/opportunity-rfq-chart/opportunity-rfq-chart.component.ts","webpack:///src/app/sub-component/dashboard/opportunity-rfq-chart/opportunity-rfq-chart.component.html","webpack:///src/app/sub-component/dashboard/order-values-chart/order-values-chart.component.ts","webpack:///src/app/sub-component/dashboard/order-values-chart/order-values-chart.component.html","webpack:///src/app/sub-component/dashboard/order-win-lost-chart/order-win-lost-chart.component.ts","webpack:///src/app/sub-component/dashboard/order-win-lost-chart/order-win-lost-chart.component.html","webpack:///src/app/sub-component/dashboard/orderbacklog-supplychain-chart/orderbacklog-supplychain-chart.component.ts","webpack:///src/app/sub-component/dashboard/orderbacklog-supplychain-chart/orderbacklog-supplychain-chart.component.html","webpack:///src/app/sub-component/dashboard/quatation-order-intake-chart/quatation-order-intake-chart.component.ts","webpack:///src/app/sub-component/dashboard/quatation-order-intake-chart/quatation-order-intake-chart.component.html","webpack:///src/app/sub-component/dashboard/show-pending-activity/show-pending-activity.component.ts","webpack:///src/app/sub-component/dashboard/show-pending-activity/show-pending-activity.component.html","webpack:///src/app/sub-component/enquiry/activity-details/activity-details.component.ts","webpack:///src/app/sub-component/enquiry/activity-details/activity-details.component.html","webpack:///src/app/sub-component/enquiry/activity-list-by-entity/activity-list-by-entity.component.ts","webpack:///src/app/sub-component/enquiry/activity-list-by-entity/activity-list-by-entity.component.html","webpack:///src/app/sub-component/enquiry/add-customer-opportunity/add-customer-opportunity.component.ts","webpack:///src/app/sub-component/enquiry/add-customer-opportunity/add-customer-opportunity.component.html","webpack:///src/app/sub-component/enquiry/add-enquiry/add-enquiry.component.ts","webpack:///src/app/sub-component/enquiry/add-enquiry/add-enquiry.component.html","webpack:///src/app/sub-component/enquiry/ceo-approval/ceo-approval.component.ts","webpack:///src/app/sub-component/enquiry/ceo-approval/ceo-approval.component.html","webpack:///src/app/sub-component/enquiry/close-opp-reason/close-opp-reason.component.ts","webpack:///src/app/sub-component/enquiry/close-opp-reason/close-opp-reason.component.html","webpack:///src/app/sub-component/enquiry/confirm-invoice/confirm-invoice.component.ts","webpack:///src/app/sub-component/enquiry/confirm-invoice/confirm-invoice.component.html","webpack:///src/app/sub-component/enquiry/edit-view-enquiry/edit-view-enquiry.component.ts","webpack:///src/app/sub-component/enquiry/edit-view-enquiry/edit-view-enquiry.component.html","webpack:///src/app/sub-component/enquiry/enquiry-modal/enquiry-modal.component.ts","webpack:///src/app/sub-component/enquiry/enquiry-modal/enquiry-modal.component.html","webpack:///src/app/sub-component/enquiry/enquiry/enquiry.component.ts","webpack:///src/app/sub-component/enquiry/enquiry/enquiry.component.html","webpack:///src/app/sub-component/enquiry/management-approval/management-approval.component.ts","webpack:///src/app/sub-component/enquiry/management-approval/management-approval.component.html","webpack:///src/app/sub-component/enquiry/oa-generation/oa-generation.component.ts","webpack:///src/app/sub-component/enquiry/oa-generation/oa-generation.component.html","webpack:///src/app/sub-component/enquiry/order-confirmation/order-confirmation.component.ts","webpack:///src/app/sub-component/enquiry/order-confirmation/order-confirmation.component.html","webpack:///src/app/sub-component/enquiry/pass-on/pass-on.component.ts","webpack:///src/app/sub-component/enquiry/pass-on/pass-on.component.html","webpack:///src/app/sub-component/enquiry/pending-enquiry/pending-enquiry.component.ts","webpack:///src/app/sub-component/enquiry/pending-enquiry/pending-enquiry.component.html","webpack:///src/app/sub-component/enquiry/quotation-preview/quotation-preview.component.ts","webpack:///src/app/sub-component/enquiry/quotation-preview/quotation-preview.component.html","webpack:///src/app/sub-component/enquiry/quotation/quotation.component.ts","webpack:///src/app/sub-component/enquiry/quotation/quotation.component.html","webpack:///src/app/sub-component/enquiry/rfq/rfq.component.ts","webpack:///src/app/sub-component/enquiry/rfq/rfq.component.html","webpack:///src/app/sub-component/enquiry/send-back-comment/send-back-comment.component.ts","webpack:///src/app/sub-component/enquiry/send-back-comment/send-back-comment.component.html","webpack:///src/app/sub-component/enquiry/so-generation/so-generation.component.ts","webpack:///src/app/sub-component/enquiry/so-generation/so-generation.component.html","webpack:///src/app/sub-component/enquiry/supply-chain/supply-chain.component.ts","webpack:///src/app/sub-component/enquiry/supply-chain/supply-chain.component.html","webpack:///src/app/sub-component/enquiry/technical-discard/technical-discard.component.ts","webpack:///src/app/sub-component/enquiry/technical-discard/technical-discard.component.html","webpack:///src/app/sub-component/masters/Alerts/alerts-details/alerts-details.component.ts","webpack:///src/app/sub-component/masters/Alerts/alerts-details/alerts-details.component.html","webpack:///src/app/sub-component/masters/Alerts/edit-view-alerts/edit-view-alerts.component.ts","webpack:///src/app/sub-component/masters/Alerts/edit-view-alerts/edit-view-alerts.component.html","webpack:///src/app/sub-component/masters/BusinessPlan/business-plan-details/business-plan-details.component.ts","webpack:///src/app/sub-component/masters/BusinessPlan/business-plan-details/business-plan-details.component.html","webpack:///src/app/sub-component/masters/BusinessPlan/business-plan-for-sales-and-order/business-plan-for-sales-and-order.component.ts","webpack:///src/app/sub-component/masters/BusinessPlan/business-plan-for-sales-and-order/business-plan-for-sales-and-order.component.html","webpack:///src/app/sub-component/masters/BusinessPlan/edit-business-plan/edit-business-plan.component.ts","webpack:///src/app/sub-component/masters/BusinessPlan/edit-business-plan/edit-business-plan.component.html","webpack:///src/app/sub-component/masters/Lead/add-lead/add-lead/add-lead.component.ts","webpack:///src/app/sub-component/masters/Lead/add-lead/add-lead/add-lead.component.html","webpack:///src/app/sub-component/masters/Lead/close-lead/close-lead.component.ts","webpack:///src/app/sub-component/masters/Lead/close-lead/close-lead.component.html","webpack:///src/app/sub-component/masters/Lead/edit-view-lead/edit-view-lead/edit-view-lead.component.ts","webpack:///src/app/sub-component/masters/Lead/edit-view-lead/edit-view-lead/edit-view-lead.component.html","webpack:///src/app/sub-component/masters/Lead/lead-details/lead-details/lead-details.component.ts","webpack:///src/app/sub-component/masters/Lead/lead-details/lead-details/lead-details.component.html","webpack:///src/app/sub-component/masters/StockInventory/add-stock-inventory/add-stock-inventory.component.ts","webpack:///src/app/sub-component/masters/StockInventory/add-stock-inventory/add-stock-inventory.component.html","webpack:///src/app/sub-component/masters/StockInventory/stock-inventory-details/stock-inventory-details.component.ts","webpack:///src/app/sub-component/masters/StockInventory/stock-inventory-details/stock-inventory-details.component.html","webpack:///src/app/sub-component/masters/StockInventory/view-stock-inventory/view-stock-inventory.component.ts","webpack:///src/app/sub-component/masters/StockInventory/view-stock-inventory/view-stock-inventory.component.html","webpack:///src/app/sub-component/masters/WorkFlowScreenAccess/edit-view-work-flow-screen-access/edit-view-work-flow-screen-access.component.ts","webpack:///src/app/sub-component/masters/WorkFlowScreenAccess/edit-view-work-flow-screen-access/edit-view-work-flow-screen-access.component.html","webpack:///src/app/sub-component/masters/configuration/ContractFrameAgreement/add-contract-frame-agreement/add-contract-frame-agreement.component.ts","webpack:///src/app/sub-component/masters/configuration/ContractFrameAgreement/add-contract-frame-agreement/add-contract-frame-agreement.component.html","webpack:///src/app/sub-component/masters/configuration/ContractFrameAgreement/customer-frame-agreement-details/customer-frame-agreement-details.component.ts","webpack:///src/app/sub-component/masters/configuration/ContractFrameAgreement/customer-frame-agreement-details/customer-frame-agreement-details.component.html","webpack:///src/app/sub-component/masters/configuration/ContractFrameAgreement/edit-view-contract-frame-agreement/edit-view-contract-frame-agreement.component.ts","webpack:///src/app/sub-component/masters/configuration/ContractFrameAgreement/edit-view-contract-frame-agreement/edit-view-contract-frame-agreement.component.html","webpack:///src/app/sub-component/masters/configuration/add-configuration/add-configuration.component.ts","webpack:///src/app/sub-component/masters/configuration/add-configuration/add-configuration.component.html","webpack:///src/app/sub-component/masters/configuration/configuration-details/configuration-details.component.ts","webpack:///src/app/sub-component/masters/configuration/configuration-details/configuration-details.component.html","webpack:///src/app/sub-component/masters/configuration/edit-view-configuration/edit-view-configuration.component.ts","webpack:///src/app/sub-component/masters/configuration/edit-view-configuration/edit-view-configuration.component.html","webpack:///src/app/sub-component/masters/customer/add-customer/add-customer.component.ts","webpack:///src/app/sub-component/masters/customer/add-customer/add-customer.component.html","webpack:///src/app/sub-component/masters/customer/customer-details/customer-details.component.ts","webpack:///src/app/sub-component/masters/customer/customer-details/customer-details.component.html","webpack:///src/app/sub-component/masters/customer/edit-view-customer/edit-view-customer.component.ts","webpack:///src/app/sub-component/masters/customer/edit-view-customer/edit-view-customer.component.html","webpack:///src/app/sub-component/masters/employee/add-employee/add-employee.component.ts","webpack:///src/app/sub-component/masters/employee/add-employee/add-employee.component.html","webpack:///src/app/sub-component/masters/employee/edit-view-employee/edit-view-employee.component.ts","webpack:///src/app/sub-component/masters/employee/edit-view-employee/edit-view-employee.component.html","webpack:///src/app/sub-component/masters/employee/employee-details/employee-details.component.ts","webpack:///src/app/sub-component/masters/employee/employee-details/employee-details.component.html","webpack:///src/app/sub-component/masters/guest/add-guest/add-guest.component.ts","webpack:///src/app/sub-component/masters/guest/add-guest/add-guest.component.html","webpack:///src/app/sub-component/masters/guest/edit-view-guest/edit-view-guest.component.ts","webpack:///src/app/sub-component/masters/guest/edit-view-guest/edit-view-guest.component.html","webpack:///src/app/sub-component/masters/guest/guest-details/guest-details.component.ts","webpack:///src/app/sub-component/masters/guest/guest-details/guest-details.component.html","webpack:///src/app/sub-component/masters/login-page-dynamic-image/add-login-page-dynamic-image/add-login-page-dynamic-image.component.ts","webpack:///src/app/sub-component/masters/login-page-dynamic-image/add-login-page-dynamic-image/add-login-page-dynamic-image.component.html","webpack:///src/app/sub-component/masters/login-page-dynamic-image/details-login-page-dynamic-image/details-login-page-dynamic-image/details-login-page-dynamic-image.component.ts","webpack:///src/app/sub-component/masters/login-page-dynamic-image/details-login-page-dynamic-image/details-login-page-dynamic-image/details-login-page-dynamic-image.component.html","webpack:///src/app/sub-component/masters/login-page-dynamic-image/edit-view-login-page-dynamic-image/edit-view-login-page-dynamic-image/edit-view-login-page-dynamic-image.component.ts","webpack:///src/app/sub-component/masters/login-page-dynamic-image/edit-view-login-page-dynamic-image/edit-view-login-page-dynamic-image/edit-view-login-page-dynamic-image.component.html","webpack:///src/app/sub-component/masters/priceconfigurator/priceconfigurator.component.ts","webpack:///src/app/sub-component/masters/priceconfigurator/priceconfigurator.component.html","webpack:///src/app/sub-component/masters/product-matrix/product-matrix.component.ts","webpack:///src/app/sub-component/masters/product-matrix/product-matrix.component.html","webpack:///src/app/sub-component/masters/product/options/add-options/add-options.component.ts","webpack:///src/app/sub-component/masters/product/options/add-options/add-options.component.html","webpack:///src/app/sub-component/masters/product/options/edit-view-options/edit-view-options.component.ts","webpack:///src/app/sub-component/masters/product/options/edit-view-options/edit-view-options.component.html","webpack:///src/app/sub-component/masters/product/options/options-details/options-details.component.ts","webpack:///src/app/sub-component/masters/product/options/options-details/options-details.component.html","webpack:///src/app/sub-component/masters/product/product-family/add-product-family/add-product-family.component.ts","webpack:///src/app/sub-component/masters/product/product-family/add-product-family/add-product-family.component.html","webpack:///src/app/sub-component/masters/product/product-family/edit-view-product-family/edit-view-product-family.component.ts","webpack:///src/app/sub-component/masters/product/product-family/edit-view-product-family/edit-view-product-family.component.html","webpack:///src/app/sub-component/masters/product/product-family/product-family-details/product-family-details.component.ts","webpack:///src/app/sub-component/masters/product/product-family/product-family-details/product-family-details.component.html","webpack:///src/app/sub-component/masters/product/product-line/add-product-line/add-product-line.component.ts","webpack:///src/app/sub-component/masters/product/product-line/add-product-line/add-product-line.component.html","webpack:///src/app/sub-component/masters/product/product-line/edit-view-product-line/edit-view-product-line.component.ts","webpack:///src/app/sub-component/masters/product/product-line/edit-view-product-line/edit-view-product-line.component.html","webpack:///src/app/sub-component/masters/product/product-line/product-line-details/product-line-details.component.ts","webpack:///src/app/sub-component/masters/product/product-line/product-line-details/product-line-details.component.html","webpack:///src/app/sub-component/masters/product/product-model/add-product-model/add-product-model.component.ts","webpack:///src/app/sub-component/masters/product/product-model/add-product-model/add-product-model.component.html","webpack:///src/app/sub-component/masters/product/product-model/edit-view-product-model/edit-view-product-model.component.ts","webpack:///src/app/sub-component/masters/product/product-model/edit-view-product-model/edit-view-product-model.component.html","webpack:///src/app/sub-component/masters/product/product-model/product-model-details/product-model-details.component.ts","webpack:///src/app/sub-component/masters/product/product-model/product-model-details/product-model-details.component.html","webpack:///src/app/sub-component/masters/product/product-series/add-product-series/add-product-series.component.ts","webpack:///src/app/sub-component/masters/product/product-series/add-product-series/add-product-series.component.html","webpack:///src/app/sub-component/masters/product/product-series/edit-view-product-series/edit-view-product-series.component.ts","webpack:///src/app/sub-component/masters/product/product-series/edit-view-product-series/edit-view-product-series.component.html","webpack:///src/app/sub-component/masters/product/product-series/product-series-details/product-series-details.component.ts","webpack:///src/app/sub-component/masters/product/product-series/product-series-details/product-series-details.component.html","webpack:///src/app/sub-component/masters/product/product-series/product-series-details/product-series-upload-log/product-series-upload-log.component.ts","webpack:///src/app/sub-component/masters/product/product-series/product-series-details/product-series-upload-log/product-series-upload-log.component.html","webpack:///src/app/sub-component/masters/product/variant-level-1/add-variant-level1/add-variant-level1.component.ts","webpack:///src/app/sub-component/masters/product/variant-level-1/add-variant-level1/add-variant-level1.component.html","webpack:///src/app/sub-component/masters/product/variant-level-1/edit-view-variant-level1/edit-view-variant-level1.component.ts","webpack:///src/app/sub-component/masters/product/variant-level-1/edit-view-variant-level1/edit-view-variant-level1.component.html","webpack:///src/app/sub-component/masters/product/variant-level-1/variant-level1-details/variant-level1-details.component.ts","webpack:///src/app/sub-component/masters/product/variant-level-1/variant-level1-details/variant-level1-details.component.html","webpack:///src/app/sub-component/masters/product/variant-level-2/add-variant-level2/add-variant-level2.component.ts","webpack:///src/app/sub-component/masters/product/variant-level-2/add-variant-level2/add-variant-level2.component.html","webpack:///src/app/sub-component/masters/product/variant-level-2/edit-view-variant-level2/edit-view-variant-level2.component.ts","webpack:///src/app/sub-component/masters/product/variant-level-2/edit-view-variant-level2/edit-view-variant-level2.component.html","webpack:///src/app/sub-component/masters/product/variant-level-2/variant-level2-details/variant-level2-details.component.ts","webpack:///src/app/sub-component/masters/product/variant-level-2/variant-level2-details/variant-level2-details.component.html","webpack:///src/app/sub-component/masters/product/variant-level-3/add-variant-level3/add-variant-level3.component.ts","webpack:///src/app/sub-component/masters/product/variant-level-3/add-variant-level3/add-variant-level3.component.html","webpack:///src/app/sub-component/masters/product/variant-level-3/edit-view-variant-level3/edit-view-variant-level3.component.ts","webpack:///src/app/sub-component/masters/product/variant-level-3/edit-view-variant-level3/edit-view-variant-level3.component.html","webpack:///src/app/sub-component/masters/product/variant-level-3/variant-level3-details/variant-level3-details.component.ts","webpack:///src/app/sub-component/masters/product/variant-level-3/variant-level3-details/variant-level3-details.component.html","webpack:///src/app/sub-component/masters/product/variant-level-4/add-variant-level4/add-variant-level4.component.ts","webpack:///src/app/sub-component/masters/product/variant-level-4/add-variant-level4/add-variant-level4.component.html","webpack:///src/app/sub-component/masters/product/variant-level-4/edit-view-variant-level4/edit-view-variant-level4.component.ts","webpack:///src/app/sub-component/masters/product/variant-level-4/edit-view-variant-level4/edit-view-variant-level4.component.html","webpack:///src/app/sub-component/masters/product/variant-level-4/variant-level4-details/variant-level4-details.component.ts","webpack:///src/app/sub-component/masters/product/variant-level-4/variant-level4-details/variant-level4-details.component.html","webpack:///src/app/sub-component/reports/customerwise-report/customerwise-report.component.ts","webpack:///src/app/sub-component/reports/customerwise-report/customerwise-report.component.html","webpack:///src/app/sub-component/reports/enquiry-grid-report/enquiry-grid-report.component.ts","webpack:///src/app/sub-component/reports/enquiry-grid-report/enquiry-grid-report.component.html","webpack:///src/app/sub-component/reports/power-bireports/power-bireports.component.ts","webpack:///src/app/sub-component/reports/power-bireports/power-bireports.component.html","webpack:///src/app/sub-component/reports/productwise-report/productmodel-columnchart/productmodel-columnchart.component.ts","webpack:///src/app/sub-component/reports/productwise-report/productmodel-columnchart/productmodel-columnchart.component.html","webpack:///src/app/sub-component/reports/productwise-report/productseries-columnchart/productseries-columnchart.component.ts","webpack:///src/app/sub-component/reports/productwise-report/productseries-columnchart/productseries-columnchart.component.html","webpack:///src/app/sub-component/reports/productwise-report/productvariant-columnchart/productvariant-columnchart.component.ts","webpack:///src/app/sub-component/reports/productwise-report/productvariant-columnchart/productvariant-columnchart.component.html","webpack:///src/app/sub-component/reports/productwise-report/productwise-report.component.ts","webpack:///src/app/sub-component/reports/productwise-report/productwise-report.component.html","webpack:///src/app/sub-component/reports/regionwise-report/regionwise-report.component.ts","webpack:///src/app/sub-component/reports/regionwise-report/regionwise-report.component.html","webpack:///src/app/sub-component/reports/segmentwise-report/segmentwise-report.component.ts","webpack:///src/app/sub-component/reports/segmentwise-report/segmentwise-report.component.html","webpack:///src/app/sub-component/reports/site-activity/site-activity/site-activity.component.ts","webpack:///src/app/sub-component/reports/site-activity/site-activity/site-activity.component.html","webpack:///src/app/validator/must-match.validator.ts","webpack:///src/assets/constants.ts","webpack:///src/environments/environment.ts","webpack:///src/main.ts"],"names":["webpackEmptyAsyncContext","req","Promise","resolve","then","e","Error","code","keys","module","exports","id","EnquiryStatus","EnquiryStatusCode","ActivityModel","Activity","Comments","ActivityDate","Date","Attachment","Activities","InEditMode","ActivityType","_ActivityType","ActivityStatus","ActivityStatusByType","ActivityPurpose","ActivityPurposeByType","ActivityOutcome","ActivityOutcomeByType","ActivityParticipant","ActivityParticipants","ActivityLinkageEntityType","ActivityLinkage","EntityRecord","EntityRecords","ActivityLinkages","User","AddCustomerOpportunityModel","CustomerName","CustomerAddress","KeyPersonName","IndustrySegment","CustomerType","Region","OpportunityDate","Description","AlertsModel","First_Rem_ToWhomList","Second_Rem_ToWhomList","Third_Rem_ToWhomList","CC_Rem_toWhomList","Escalation_ToWhomList","BusinessPlanModel","UserName","EmployeeId","RoleName","RoleId","TargetYear","TargetFor","RegionName","PlanList","Id","Month","MonthName","Units","Amount","FC1Amount","FC2Amount","FC3Amount","FC1Validation","FC2Validation","FC3Validation","UnitsValidation","AmountValidation","PlanModel","ChangePasswordModel","oldPassword","newPassword","confirmNewPassword","UpdateStatus","CustomerModel","BasicCustomerInformationModel","KeyManagementPersonDetails","ContactPersonDetailsModel","FirstContactTechnicalPersonDetails","FirstContactCommercialPersonDetails","FinancialDetails","FinancialDetailsModel","WINWSEAContactDetails","WINWSEAContactDetailsModel","CustomerProfile","CustomerProfileModel","CompanyTurnover","CompanyTurnoverModel","PlantInformationWithGSTNo","TopManagement","WeissBusiness","WeissBusinessModel","OpportunitiesforWeiss","OpportunitiesforWeissModel","CompanyName","AddressHeadquaters","AddressPlant","AddressEngineeringDesign","City","State","PINCode","CountryName","Country","MailAddress","WebSite","GlobalParent","HeadquarterInfo","OrganogramFileName","OrganogramFilePath","CurrentVisibleCompetitorsNamewithUSP","KYC2FileName","KYC2FilePath","KYC3FileName","KYC3FilePath","CustomergroupId","CustomergroupName","CustomergroupCode","leadId","Name","ContactNo","DirectlineNo","DigitalSkypeID","DigitalOtherID","AuthorisedShareCapital","BankersDetails","UltimateShareholder","WINAccountManager","WINTechnicalContact","WINGlobalContact","CompanyInformation","BrandsProducts","CorporatePresentationFileName","CorporatePresentationFilePath","IndustrySegmentName","SubSegment","SubSegmentName","CustomerClassification","CustomerClassificationName","Typeofcustomer","TypeofcustomerName","CustomerCategory","CustomerCategoryName","GroupTurnover","GroupTurnoverYear","IndiaunitTurnover","IndiaunitTurnoverYear","DomesticTurnover","DomesticTurnoverYear","ExportTurnover","ExportTurnoverYear","ProjectedTurnover","ProjectedTurnoverYear","GlobalParentsJVPartners","TechCollaboration","CustomersCustomer","CustomersKeyCompetitors","FocusSegment","CompanyStrategy","SalesofficeBranchoffice","ValueChainInformation","PlantInformationWithGSTNoModel","Address","GSTNo","KeyAccountNo","Email","TopManagementModel","Designation","BusinesswithWINWSEA","BusinesswithWNA","BusinesswithChina","BusinesswithEMEA","Indexer","HeavyDutyIndexer","LinearTransferSystem","PickandPlaceSystem","LinearSystem","Directdrives","DeltaRobot","Valueaddedsolution","AccessoriesSpareParts","AttachmentModel","ProductImportExportModel","EmployeeGuestModel","Username","EmpCode","Role","ContactNumber","GuestId","ReportingManager","ReportingManagerEmail","Fk_User_Id","AlternateEmployee","EmployeeRegion","FK_RegionId","EnquiryDetailsModel","EnquiryDetails","EnquiryModel","RFQObject","Array","CustomerDetails","EnqCustomerDetails","CustomerDrpdnDetails","RemoveFiles","TermsAndConditions","CustomerServiceComments_Quotation","CustomerServiceComments_Order","SalesDirectorComments_Quotation","SalesDirectorComments_Order","ActivityDetails","POValues","CustomerSpecialDiscountdtls","SalesPriceDiscountdtls","DiscountFrom","DiscountTo","CustomTermsAndConditions","CompetitorDetailObj","DynamicTCDetailObj","CustomerServiceDetails","CustomerServiceDetailModel","SalesPriceDiscountforCutomerSpecialDiscount","ProductDiscount","Fk_ProductModel","SalesPricediscountList","ProductModelPOValues","QuotationDiscount","Variant1_Discount","Variant2_Discount","Variant3_Discount","Variant4_Discount","PODiscount","QuantityValidation","QuantityRangeValidation","PoUnitPriceValidation","PoQuantityValidation","Options","Special_pkg_Discount","InitiatorName","MngOrderApprovalComments","OrdAcknowledgeNumber","RFQNumber","RFQComments","KindAttention","KindAttEmailId","KindAttContactNo","YourReference","QuoteGenComments","QuoteGenAttachments","BOMAttachment","QuoteAttachmentsArray","MngApprovalComments","MngApprovalAttachments","MngOrderApprovalAttachments","CEOApprovalComments","CEOApprovalAttachments","InvoiceAttachment","SupplyChainType","POValue","POAttchments","EnquiryConfirmStatus","EnquiryConfirmReason","POOtherAttachments","EnquiryDescription","EnquiryStatusDisplay","EnquiryNumber","FkCustomersCustomer_Id","EnquiryDateISO","TentativeDeliveryDateISO","RequestedDeliveryDateISO","RFQTermsAndCondition","EstimatedProductValue","IsQuotationPriceOnRequest","QuotationRevisionNo","QuotationNumber","EndCustomer","IsActive","ApplicationDescription","IsFetchFromKYC","IsCompetitorRequired","PurchaseOrderNo","BillToAddress","ShipToAddress","IsIncludedAllSOCharges","POValueWithAllSOCharges","EnquiryConfirmReasonName","ReasonCategoryName","SalesOrderSpecialPkgDiscount","removefiles","CommentObj","TermsAndCondition","DynamicTermsAndCondition","TndCName","TndCValue","TndCNameValidation","TndCValueValidation","CustomerId","CustomerCode","ProductDetails","MDSAttachment","ITCAttachment","CustomerAttachment","WeissAttachment","ProductModelList","isProductLineChangeClick","ProductLineValidation","ProductModelValidation","MDSOptionValidation","SalesPriceValidation","SalesDiscountValidation","EnquirySource","showAttachments","ProductDrpdnDetails","ProductLine","ProductModel","MDSOptions","SalesPrice","EnquiryGridModel","EmployeeGuestName","CustomerClass","EnquiryConfimrationDetails","StandardReason","ActivityDateISO","ActivityValidation","ActivityDateValidation","uniqueid","ISNewActivityAdded","AddedByUserName","AddedBy","EnquiryPaginationGrid","pageNumber","pageSize","SearchText","direction","ColumnName","EnquiryDateFromFiter","EnquiryDateToFiter","EstimatedEnquiryValueFilter","SegmentFilter","MicroSegmentFilter","CusomterNameFilter","CusomterClassFilter","ProdcutFilter","QuotationValueToFilter","QuotationValueFromFilter","DiscountFromFilter","DiscounToFilter","QuotationStatusFilter","RegionFilter","InitiatorNameFilter","EnquiryGridFilterList","EstimatedEnquiryValue","Segment","MicroSegment","OrignaleMicroSegment","CusomterName","CusomterClass","ProductModels","QuotationStatus","EnquiryGridDropDown","Fk_Name","EnquiryExportToExcelModel","KindAttentionPerName","YourRefPerName","RFQRevisionNo","EstimatedProductvalue","QuotationAmount","QuotationFinalAmount","Quotation_Status","SupplyChain_Type_Domestic_Export","InvoiceNo","WinLostReason","Activity_Subject","ActivityPurposeDesc","Activity_Outcome","Activity_OutcomeDesc","ProductFamily","ProductSeries","ProductModelPrice","ProductVariant_1","ProductVariant_1Price","ProductVariant_2","ProductVariant_2Price","ProductVariant_3","ProductVariant_3Price","ProductVariant_4","ProductVariant_4Price","Quantity","TotalAmount","Discount","FinalAmount","POAmount","CustomTermsAndCondition","StandardTC","StandardTCName","CustTCId","CustValue","CustomTCValidation","CustomValues","CompetitorDetails","EnquiryId","CompetitorName","ModelName","Price","CompetitorNameValidation","ModelNameValidation","PriceValidation","OptionsModel","IsPriceOnRequest","optionValid","Option_Discount","Option_FinalDiscount","CustomerServiceName","CustomerServiceEmail","CustomerServiceContactNo","HeaderMenuModel","menuaccessinfo","Menuelement","LeadModel","IsConvertToProspect","FK_EnquirySourceId","FK_Enquiry_Id","FK_Customer_Id","LoginPageImage","ImageName","Comment","Active","OutofOfficeActivityModel","OutofOffice","AlternateUserId","AlternateUserName","Fk_UserId","ProductMatrixModel","productid","productname","stationlist","productstation","stationid","stationname","speedsteplist","IsStationPOR","isStationValid","productspeedstep","stepid","stepname","IsSpeedStepPOR","isSpeedstepValid","ProductLineName","ProductFamilyName","SeriesName","Label_Variant1","Label_Variant2","Label_Variant3","Label_Variant4","IsLevel2DepOnLevel1","IsLevel3DepOnLevel2","IsLevel4DepOnLevel3","CatlogName","ArticleNumber","VariantLevel1","Level1","Level1arr","otherType","PrevIsPriceOnRequest","PrevPrice","IsUnits","Level1Model","VariantLevel2","Level1Id","Level1Price","Level2","Level2Price","Level1IsPriceOnRequest","VariantLevel3","Level1Name","Level2Id","Level3","Level3Price","Level2IsPriceOnRequest","VariantLevel4","Level3Id","Level4","Level4Price","Level3IsPriceOnRequest","ProductModelArr","ProductModelNameArr","Option","Station","QuotationDetailsModel","QuotationInfo","QuotationObj","PerUnitAmount","InitiatorContactNo","FinalDiscountres","QuotationComments","DiscountforOneOrAll","SalesContactPerson","SalesContactPersonName","ProductDetailsModel","undefined","Variant1Price","Variant2Price","Variant3Price","Variant4Price","OptionSelected","OptionsPrice","Varient1_Discount","Varient2_Discount","Varient3_Discount","Varient4_Discount","Model_Discount","Varient1_FinalPrice","Varient2_FinalPrice","Varient3_FinalPrice","Varient4_FinalPrice","Model_FinalPrice","TotalAmountBySpecialDiscount","showVariantOptionPrice","showVariantOptionDiscount","showSpecialPrice","TotalforRfqdiscount","TotalforIndividualdiscount","TotalAfterDiscount","showTechnicalSpecifications","TechnicalSpecifications","separatedTechSpecs","Units_Variant1","Units_Variant2","Units_Variant3","Units_Variant4","ProductFamilyValidation","ProductSeriesValidation","ProductModelPriceValidation","Variant1Validation","Variant1PriceValidation","Variant2Validation","Variant2PriceValidation","Variant3Validation","Variant3PriceValidation","Variant4Validation","Variant4PriceValidation","OptionsValidation","OptionsPriceValidation","DiscountValidation","var1_POR_Validation","var2_POR_Validation","var3_POR_Validation","var4_POR_Validation","var1_Unit_Validation","var2_Unit_Validation","var3_Unit_Validation","var4_Unit_Validation","selectedProductSeries","selectedProductModel","selectedVariant1","selectedVariant2","selectedVariant3","selectedVariant4","selectedOptions","Options_POR_Validation","ShowOptionPriceOnRequestGrid","checkboxactive","QuotationCustomerDetails","Variant1","Variant2","Variant3","Variant4","QuotationProductLineViewModel","QuotationProductViewModel","VariantViewModel","RegisterModel","FirstName","LastName","Password","ConfirmPassword","ReportFilterViewModel","EnqType","ReportValueType","Productmodal","currencyLable","currencycode","SalesOrderBusinesPlan","Year","SingleFieldModel","customerSpecialDiscountInfo","tranisitionrulesobj","Value","RoleArr","App_Level1","App_Level2","App_Level3","SegmentId","SegmentName","SubSegmentId","StandardTCId","CustomTCValue","CustomTCId","Application","Fk_Customer","UnapprovedProductDiscount","ProductModelRequired","productDiscountrequired","CustomerSpecialDiscountDetails","SingleFieldComponent","Heading","RoutingParam","ConfirmationText","SuccessText","SuccessText2","ButtonText","ActionName","ControllerName","isDoubleField","isExtraFields","isthirdfielddropdown","isvariablediscountfield","isSalespriceDiscountFields","issecondfielddropdown","firstFiledLabel","secondFiledLabel","thirdFiledLabel","firstFieldValidationMsg","SecondFieldValidationMsg","ThirdFieldValidationMsg","isDropdownrequird","FirstFieldMaxLen","SecondFieldMaxLen","ThirdFieldMaxLen","TableHeader1","TableHeader2","TableHeader3","FirstFiledPattern","FirstFiledPatternValidationMessage","isTripleField","thirdFieldLabel","thirdFieldValidationMsg","SecondFieldPattern","SecondFieldPatternValidationMessage","ThirdFieldPattern","ThirdFieldPatternValidationMessage","Companyname","isCompanynamerequired","ismultiplerecords","tranisitionruledetails","SiteActivityLogModel","User_Id","User_Name","Http_Method","Browser_Info","Ip_Address","Route","Payload","SiteActivityLogGridFilterList","SiteActivityGridDropDown","SiteActivityPaginationGrid","StockInventoryModel","StockDateISO","StockFileName","StockFilePath","WorkFlowScreenAccessModel","accesspermissionobj","elementTypeObj","isEnquiryForm","isRFQ","isQuoteGeneration","isManagementApproval","isCEOApproval","isEnquiryConfirmation","isSOGeneration","isOrderAcknowledgement","isSupplyChain","isAccounts","isEnquiryForm_Default","isRFQ_Default","isQuoteGeneration_Default","isManagementApproval_Default","isCEOApproval_Default","isEnquiryConfirmation_Default","isSOGeneration_Default","isOrderAcknowledgement_Default","isSupplyChain_Default","isAccounts_Default","DefaultViewModel","WorkflowDefaultViewAccessArray","role","Admin","SalesEngineer","RegionalSalesManager","AreaSalesManager","Marketing","L1","L2","L3","BusinessDevelopment","SalesDirector","CEO","FinanceAccounts","SupplyChain","CustomerService","ProductManager","ChannelPartner","Distributor","Agent","AccessPermissionModel","ElementTypeList","IndianCurrency","value","isNaN","result","toString","split","res","transformtValue","lastThree","substring","length","otherNumbers","output","replace","Math","abs","name","AccessPermissionService","commonService","AccesspermissionForRole","GetData","providedIn","ActivityService","http","apiUrl","mockActivityTypeMaster","mockActivityStatusByTypeMaster","StatusCode","ActivityStatusId","ActivityStatusDesc","ActivityStatusCode","ActivityTypeId","mockActivityOutcomeMaster","ActivityOutcomeId","ActivityOutcomeCode","ActivityOutcomeDesc","CreatedOn","CreatedBy","ModifiedOn","ModifiedBy","mockActivityPurposeMaster","ActivityPurposeId","ActivityPurposeCode","activity","ActivityId","PostDataForCustomerEnagement","activityId","queryString","activityTypeId","entityTypeId","entityIds","isArray","encodeURIComponent","join","reqBody","AppConfigService","config","CommonService","RefreshHeader","previousUrl","previousUrl$","asObservable","userToken","localStorage","getItem","reqHeader","set","get","baseAppUrl","headers","model","httpOptions","post","responseType","data","pk_cutomer_id","url","append","emit","filename","next","cutomerid","Customerid","forEach","accesspermission","key","push","EngagementReportServiceService","dataSet","currentWorkflowId","previousWorkflowId","Status","EngagementReportService","seriesColors","PostData","xCategory","yCategory","seriesCategory","chartData","transformedChartData","allSeriesNames","getAllSeriesName","item","category","seriesCat","seriesName","arrayformat","convertToArray","seriesNames","indexOf","from","Object","k","EXCEL_TYPE","EXCEL_EXTENSION","ExportToExcelService","data1","quotationheader","excelFileName","workbook","getQuotationWorksheet","xlsx","writeBuffer","blob","Blob","type","saveAsExcelFile","buffer","fileName","Quotationworksheet","addWorksheet","pageSetup","paperSize","orientation","fitToPage","fitToHeight","fitToWidth","QuotaionheaderRow","addRow","eachCell","cell","number","fill","pattern","fgColor","argb","bgColor","border","top","style","left","bottom","right","tmparray","tmpobj","tmpobj1","row","sheet2","Bomworksheet","Bomheader","BomheaderRow","RegisterService","logindata","UserRoles","routes","path","component","title","canActivate","permissions","only","AllRolesArray","redirectTo","Element","Access","canActivateChild","except","GuestVisibleArray","GuestEditArray","EmployeeVisibleArray","EmployeeEditArray","CustomerEditArray","CustomerVisibleArray","COnfigureVisibleArray","COnfigureEditArray","ProductMasterEditArray","ProductMasterVisibleArray","BusinessPlanVisibleArray","StockInventoryVisibleArray","WorkFlowScreenAccessVisibleArray","pathMatch","AppRoutingModule","forRoot","useHash","imports","login","AppComponent","registerService","router","toastr","dialog","activatedRoute","titleService","route","cd","appConfigService","codec","forgotPassword","hide","emailPattern","BackroundImagePath","ImgaeExtensions","showLoader","currentUrl","isHeaderShowed","events","pipe","event","subscribe","appConfig","getConfig","setTitle","titleName","logoImageUrlPresentAboveLogin","backroundImagePath","setPreviousUrl","RefreshHeaderFun","loginDetails","JSON","parse","getLoginImageDetails","navigateTo","currentPath","toLowerCase","decodeURI","navigate","firstChild","getChild","window","scroll","setItem","stringify","access_token","userId","WorkFlowRoleWiseScreenAccess","success","ActivatedURL","removeItem","pop","detectChanges","error","error_description","dialogWithForm","open","width","height","afterClosed","ResponseCode","warning","screenWidth","innerWidth","target","className","x","document","getElementById","display","y","z","p","q","r","s","getImageName","selector","templateUrl","styleUrls","AppGlobals","baseFileDownloadUrl","QuotationFileDownloadUrl","ZipDownloadUrl","catlogDownloadPath","OADownloadPath","loginImagePath","supportedFileFormatForImage","supportedFileFormatsForOtherAttachments","supportedFileFormatsForOtherMultipleAttachments","YearsConstant","ExecutiveBusinessAssistant","ManagerSolutionsFactoryAndLocalization","TnCVisibleArray","AlertsAccessVisibleArray","CustomerMastersDataDownloadAccessArray","isEditable","isVisible","CustomerMastersKYCAttachmentAccessArray","TnCEditArray","WinLossEditArray","BusinessPlanEditArray","EnquiryDataExportAccessArray","ProductMastersEditableAccessArray","CustomerMastersEditableAccessArray","EmployeeMastersEditableAccessArray","GuestMastersEditableAccessArray","ConfigureMastersEditableAccessArray","CustomerFrameAgreementWorkFlowEditableAccessArray","BusinessPlanEditableAccessArray","StockInventoryEditableAccessArray","WorkFlowScreenAccessEditableAccessArray","AlertsAccessEditableAccessArray","PriceConfiguratorEditableAccessArray","LeadMasterEditableAccessArray","SiteActivityEditableAccessArray","QuoteGenearation_Enquiry_TechnicalDiscardArray","ProductPriceEditableAccessArray","EnquiryForm_SubmitBySalesEngg","RFQ_SaveasDraftBySalesEngg","RFQ_SubmitBySalesEngg","QuoteGenearationAcceptByL1","QuoteGenearation_RemorkByL1","QuoteGenearation_EditRFQ","QuoteGenearation_GenerateQuote","QuoteGenearation_ForwardtoL2ByL1","QuoteGenearation_ForwardtoL3ByL2","QuoteGenearation_SaveasDraftByL1","QuoteGenearation_SaveasDraftByL2","QuoteGenearation_SaveasDraftByL3","QuoteGenearation_GenerateQuoteByL1","QuoteGenearation_GenerateQuoteByL2","QuoteGenearation_GenerateQuoteByL3","QuoteGenearation_SendtoL2ByL3","QuoteGenearation_SendtoL1ByL2","QuoteGenearation_SendtoCustomerServiceByL1","QuoteGenearation_SendforApprovalByCustomerService","ManagementApproval_RejectBySalesDirector","ManagementApproval_ApproveBySalesDirector","ManagementApproval_HoldBySalesDirector","ManagementApproval_SendQuotationforApprovalBySalesDirector","ManagementApproval_SendOrderforApprovalBySalesDirector","ManagementApproval_RejectByCEO","ManagementApproval_ApproveByCEO","ManagementApproval_HoldByCEO","QuoteGenearation_SendBOMProposalByL1","EnquiryConfirmation_QuoteRevision","EnquiryConfirmation_ConfimrOrderBySalesEngg","EnquiryConfirmation_SbmitBySalesEngg","ManagementApproval_SendOrderforApprovalByCustomerService","ManagementApproval_ReworkBySalesDirector","ManagementApproval_Order_ApproveBySalesDirector","ManagementApproval_Order_RejectBySalesDirector","ManagementApproval_SendforApprovalBySalesDirector","ManagementApproval_ReworkByCEO","ManagementApproval_Order_ApproveByCEO","ManagementApproval_Order_RejectByCEO","SO_SendtoSupplyChainByCustomerService","OrderAcknowledmentNo","MaterialReadyForDispatch","SupplyChain_SubmitBySupplyChain","Accounts_ConfimrOrderByAccounts","QuoteGenearation_Enquiry_TechnicalDiscard","QuoteGenearation_Enquiry_TechnicalDiscardbyL1","QuoteGenearation_Enquiry_TechnicalDiscardbyL2","QuoteGenearation_Enquiry_TechnicalDiscardbyL3","disable_EnquiryForm_SubmitBySalesEngg","disable_RFQ_SaveasDraftBySalesEngg","disable_RFQ_SubmitBySalesEngg","disable_QuoteGenearationAcceptByL1","disable_QuoteGenearation_RemorkByL1","disable_QuoteGenearation_EditRFQ","disable_QuoteGenearation_GenerateQuote","disable_QuoteGenearation_ForwardtoL2ByL1","disable_QuoteGenearation_ForwardtoL3ByL2","disable_QuoteGenearation_SaveasDraftByL1","disable_QuoteGenearation_SaveasDraftByL2","disable_QuoteGenearation_SaveasDraftByL3","disable_QuoteGenearation_GenerateQuoteByL1","disable_QuoteGenearation_GenerateQuoteByL2","disable_QuoteGenearation_GenerateQuoteByL3","disable_QuoteGenearation_SendtoL2ByL3","disable_QuoteGenearation_SendtoL1ByL2","disable_QuoteGenearation_SendtoCustomerServiceByL1","disable_QuoteGenearation_SendforApprovalByCustomerService","disable_ManagementApproval_RejectBySalesDirector","disable_ManagementApproval_ApproveBySalesDirector","disable_ManagementApproval_HoldBySalesDirector","disable_ManagementApproval_SendQuotationforApprovalBySalesDirector","disable_ManagementApproval_SendOrderforApprovalBySalesDirector","disable_ManagementApproval_RejectByCEO","disable_ManagementApproval_ApproveByCEO","disable_ManagementApproval_HoldByCEO","disable_QuoteGenearation_SendBOMProposalByL1","disable_EnquiryConfirmation_ConfimrOrderBySalesEngg","disable_EnquiryConfirmation_QuoteRevision","disable_EnquiryConfirmation_SbmitBySalesEngg","disable_ManagementApproval_SendOrderforApprovalByCustomerService","disable_ManagementApproval_ReworkBySalesDirector","disable_ManagementApproval_Order_ApproveBySalesDirector","disable_ManagementApproval_Order_RejectBySalesDirector","disable_ManagementApproval_SendforApprovalBySalesDirector","disable_ManagementApproval_ReworkByCEO","disable_ManagementApproval_Order_ApproveByCEO","disable_ManagementApproval_Order_RejectByCEO","disable_SO_SendtoSupplyChainByCustomerService","disable_OrderAcknowledmentNo","disable_SupplyChain_SubmitBySupplyChain","disable_Accounts_ConfimrOrderByAccounts","disable_QuoteGenearation_Enquiry_TechnicalDiscard","disable_QuoteGenearation_Enquiry_TechnicalDiscardbyL1","disable_QuoteGenearation_Enquiry_TechnicalDiscardbyL2","disable_QuoteGenearation_Enquiry_TechnicalDiscardbyL3","isEnquiryFormEditable","isRFQEditable","isQuoteGenerationEditable","isManagementApprovalEditable","isCEOApprovalEditable","isOrderAcknowledgementEditable","isEnquiryConfirmationEditable","isSOEditable","isSupplychainEditable","isAccountsEditable","isOAGenerateEditable","appRoles","screensVisibleAccordingtoEnquiryStatus","screensForStatus","status","EnquiryAdded","screens","disableScreen","buttons","visibleButtons","selectedIndex","RFQSaveAsDraft","QuotationRevision","RFQReworkbyL1","QuotationRejectedbyMngmt_SalesDirector","QuotationRejectedbyMngmt_CEO","SendBOMandProposal","OrderRejectedbyMngmt_SalesDirector","OrderRejectedbyMngmt_CEO","EnquiryTechnicalDiscardbyL1","EnquiryTechnicalDiscardbyL2","EnquiryTechnicalDiscardbyL3","RFQSubmittedbySalesEngg","RFQSubmittedbyL1","RFQAcceptedbyL1","QuotationSaveAsDraftbyL1","QuotationPriceOnRequestbyL1","QuotationGeneratedbyL1","QuotationSendtoCustomerServicebyL1","QuotationSendtoCustomerServicebyL2","QuotationSendtoCustomerServicebyL3","QuotationsentbyL2toL1","RFQsentbyL1toL2","RFQSubmittedbyL2","QuotationSaveAsDraftbyL2","QuotationPriceOnRequestbyL2","QuotationGeneratedbyL2","QuotationsentbyL3toL2","RFQsentbyL2toL3","RFQSubmittedbyL3","QuotationSaveAsDraftbyL3","QuotationPriceOnRequestbyL3","QuotationGeneratedbyL3","RFQSubmittedbyCustomerService","QuotationSaveAsDraftbyCustomerService","QuotationPriceOnRequestbyCustomerService","QuotationGeneratedbyCustomerService","QuotationSentForPriceDiscountApprovalToLevel1","PriceDiscountApprovedByL1","PriceDiscountApprovedByL2","PriceDiscountApprovedByL3","QuotationSentForPriceDiscountApprovalToLevel3","QuotationSentForPriceDiscountApprovalToLevel2","PriceDiscountRejectedByL1","PriceDiscountRejectedByL2","PriceDiscountRejectedByL3","QuotationSenttoCustomerService","QuotationApprovedbyMngmt_SalesDirector","QuotationApprovedbyMngmt_CEO","EnquiryOrderConfirmedbySalesEngg","OrderApprovedbyMngmt_SalesDirector","OrderApprovedbyMngmt_CEO","QuotationSentforMngtApproval_SalesDirector","QuotationOnHoldbyMngmt_SalesDirector","OrdersentforMngmtApproval_SalesDirector","OrdersentforMngmtApproval_CEO","QuotationSentforMngmtApproval_CEO","QuotationOnHoldbyMngmt_CEO","OrderConfirmedbyCustomerServiceSendSO","SupplyChainConfirmedDeliveryDate","EnquiryLost","OANoGenerated","screensVisibleAfterPassed","screenName","AccountsConfirmInvoiceNo","successMessages","confirmmsg","successmsg","errormsg","excelCoulumns","dummyReportData","ProductStation","EnquiryStatus_old","AppModule","Location","provide","useClass","multi","useFactory","timeOut","positionClass","preventDuplicates","declarations","providers","bootstrap","entryComponents","AuthInterceptor","location","request","handle","clone","clonedreq","errorMessage","clear","replaceState","reload","RoleGuard","NgZone","accessservice","map","Map","mapedit","hasAccess","userRole","GetAll","hasAccessPermission","hasRequiredPermission","accessToken","filter","ElementKey","navigateByUrl","hasPermission","Fk_RoleId","IsVisible","alert","IsEditable","CanList","CanCreate","ConfirmDialogComponent","dialogRef","close","onConfirm","onDismiss","CustomNgbDateParserFormatter","dateFormatString","datePipe","date","transform","year","month","day","returnVal","dateParts","parseInt","MustMatchDirective","mustMatch","formGroup","useExisting","FocusInvalidInputDirective","el","invalidControl","nativeElement","querySelector","focus","DynamicBGImageComponent","cdRef","activeModal","allowedFileType","BackgroundImage","file","files","isValidFile","size","includes","frmData","FormData","closePopup","getFileDetails","OnSubmit","FooterComponent","currYear","getFullYear","footerName","scrollPosition","pageYOffset","documentElement","scrollTop","body","btn","classList","add","remove","behavior","gotoTop","ForgotPasswordComponent","onNoClick","HeaderComponent","eRef","modalService","AppRoles","profileObj","SeriesSubmenu","isProductLine","isCustomer","isGuest","isEmployee","isConfigure","isBusinessPlan","isStockInventory","isWorkFlowScreenAccess","isAlerts","isPriceConfigurator","isSiteActivity","isLeadEditable","logoImageUrl","VisibleMasters","showOnlyProductMaster","subsVar","getUserProfileInfo","GetProductSeriesWithLabels","isOpenProductLineMaster","GetAllAccesspermission","ele","obj","ElementValue","element","GetUserProfileData","RegionId","modalRef","backdrop","keyboard","closeResult","myFunction","myFunctions","logout","LoaderComponent","elementRef","changes","change","currentValue","getElementsByClassName","MaterialModule","useValue","displayDefaultIndicatorType","ProfileComponent","formatter","calendar","outOfOfficeObj","changePasswordObj","passwordPattern","OldPasshide","NewPasshide","ConfirmPasshide","isOutOfOffice","hoveredDate","current","minDate","getMonth","getDate","maxDate","mailIdFormat","Userid","which","preventDefault","evt","charCode","keyCode","maxWidth","message","dialogResult","EnquiryngbDateFromFiter","EnquiryngbDateToFiter","after","ConvertNgbDateToDate","ngbdate","input","parsed","isValid","before","equals","isInside","isHovered","StartDate","convertDate","toDateString","EndDate","updateProfile","AvoidSpace","isNumberKey","changePassword","RegisterComponent","register","onSubmit","ChartsModalComponent","amcharts","dataList","reportdata","enquiryDetailsModal","chart","responsive","enabled","exporting","menu","region","SubmittedEnquiry","RFQ","ProposalDelivered","OrderConfirmation","OrderDelivered","series","colors","step","dataFields","alignLabels","labelsContainer","paddingLeft","labels","template","text","slices","tooltipText","makeChart","Label","DataModel","EnquiryDetailsModalChartComponent","AddActivityComponent","activityService","activityTypeMaster","activityStatusByTypeMaster","activityOutcomeByTypeMaster","activityPurposeByTypeMaster","allEntityTypesMaster","allCustomers","allLeads","allEnquiries","selectedParticipants","allUserMaster","entityTypeFilterArray","subtypeArray1","isEnquiryShow","selectedEnquries","previousSelectedEnquiries","selectedCustomers","selectedCustomersOrLeads","selectedEntityRecords","selectedLeads","ENTITY_TYPE_CUSTOMER","ENTITY_TYPE_LEAD","ENTITY_TYPE_ENQUIRY","relatedEntityRecords","inPopUpMode","ActivityEntity","ownerIdLocalStorage","getActivityFromMaster","getAllCustomers","getAllLeads","getAllParticipantFromMaster","ActivityOwnerId","ListActivityParticipants","entityType","snapshot","queryParams","entityId","Number","getEnquiriessByCustomers","enqId","custId","isLinkagePresent","getallUserMaster","getActivityTypeMaster","getallEntityTypesMaster","ListActivityLinkage","EntityTypeId","EntityId","find","arg","EntityType","index","trim","getActivityPurposeMaster","getActivityStatusMaster","getActivityOutcomeMaster","back","addActivityForm","valid","flatMap","selectedCustomersAsObjCol","convertSelectedEntityArrayToEntityObjCollection","selectedLeadsAsObjCol","selectedEnquriesAsObjCol","concat","addActivity","goBack","tracker","getrelatedEntityRecords","linkagesByEntityType","groupArrayByKey","enquiry","prevSelEnquiryId","array","reduce","entities","response","onActivityTypeChange","onOwnerChange","onKeyDown","onChangeInCustomerSelection","BulkEditActivityComponent","pageIndex","filterActivityForm","GetActivityTypeMaster","GetEntityTypesMaster","Subject","PageNumber","PageSize","IsOwner","refreshGrid","getAllStatus","getallParticipant","newActivity","filteredActivities","unshift","splice","getActivityByFilter","activities","Data","isbulkEdit","newArr","bulkEdit","onDateSelection","validateInput","onEntityTypeChange","removeFilter","pageEvent","$event","red","primary","secondary","blue","yellow","CalenderViewComponent","view","CalendarView","canViewCustomerEngagementReportOfOthers","partid","refresh","activeDayIsOpen","actions","label","a11yLabel","onClick","handleEvent","iEvent","defaultView","backNavigationBackView","viewDate","getActivityTypeMasterDetails","getallEntityTypesMasterDetails","ParticipantId","getAccess","Week","Day","getData","newStart","newEnd","start","end","action","openViewPopup","activityByViewTypeOfCalender","filters","checkAccess","updateEvents","PlannedDueDatetime","color","draggable","resizable","beforeStart","afterEnd","filterDate","filterStartDate","filterEndDate","canEditCustomerEngagementReportOfOthers","componentInstance","participantsIdArray","ParticipantsID","console","log","ActivityOwner","clearFilter","closeOpenMonthViewDay","setView","changeDetection","OnPush","EditActivityComponent","selectedLinkagesByType","selectedEntityTypeId","showOutcome","params","GetAllUserMaster","getActivityById","firstLevelKey","childKey","convertParticipantFormatForSerchableDropdown","getActivityPurpose","getActivityStatus","getActivityOutcome","getChildObjects","newObj","listActivityLinkage","groupedActivityLinkage","acc","curr","EntityTypeName","activityLinkages","values","EntityIds","OutcomeDesc","addOrUpdateActivity","ResponseMessage","gobackNavigate","statusId","ID","ChangeStatus","ListActivityRowComponent","initialActivityToCompairParent","dataEvent","activityOriginal","initialStatusId","acitvityStatusIdOfNotStarted","inputs","querySelectorAll","tempSubject","tempPlannedDueDate","tempActivityStatusId","deleteActivity","ListActivityComponent","newAddedActivityFromBulk","A","Total","ViewActivityComponent","showEditAndCancelBtn","CustomerEngagementDetailsComponent","Service","engagementReportService","reportTypeId_RoleWise","displayedColumns","attendeesOfWhichComapany","customerId","getCustomerDetailsByCustId","getCustomerEnquiryActivitiesByCustId","getRoleWiseInfoByCustId","reportTypeId","getReportData","customerEnquiries","paginator","roleWiseInfo","roleWiseInfoKeys","CustomerEngagementComponent","dataSource","ActivityStatusByMonthComponent","engagementReport","prevDateFrom","prevDateTo","to","subscription","showChart","err","transformChartData","categoryAxis","xAxes","fontSize","fontWeight","margin","renderer","cellStartLocation","cellEndLocation","valueAxis","yAxes","seriesname","seriescolor","createSeries","field","columns","stroke","valueY","categoryX","legend","scrollbarX","unsubscribe","dispose","EngagementReportsComponent","clicked","datefrom","dateto","applyFilters","removeFilters","ReportByActivityStatusTypeComponent","ReportByActivityTypeMonthComponent","ReportByActivityTypeStatusComponent","MyActivityComponent","service","isListView","PlannedVsActualActivityComponent","reportService","datetime","today","getToday","currentYear","currentMonth","FromDateNgb","lastDay","getLastDayOfMonth","ToDateNgb","GetActivityStatusMaster","formDetails","nextMonth","nextYear","nextMonthDate","lastDayOfMonth","getTime","showData","frmdate","subject","convertArrayToObject","dateString","dateObject","days","getDay","Months","activityStatusFilter","activityTypeFilter","AvgDiscountMonthComponent","drpdnOption","avgDiscountMonth","scrollbarY","exportable","titles","create","marginBottom","minGridDistance","min","extraMax","lineSeries","tooltip","getFillFromObject","background","bullet","bullets","circle","createChild","radius","strokeWidth","labelBullet","verticalCenter","BPOrderIntakeComponent","grapthOption","BPOrderIntake","filterChanged","currency","options","getFormatOptions","addURL","setFormatOptions","filePrefix","items","CurrencyLabel","currencyCode","adapter","val","on","ev","numberFormatter","numberFormat","parseFloat","max","lineSeries3","bullet3","circle3","labelBullet3","lineSeries4","bullet4","circle4","labelBullet4","lineSeries5","bullet5","circle5","labelBullet5","lineSeries2","bullet2","circle2","labelBullet2","OnSelectChange","BusinessPlanChartComponent","businessPlanChart","DashboardComponent","excelexportservice","YearList","setCurrency","setCurrencyCode","setRegion","opportunitySum","rfqSum","quotationSum","orderintkaeSum","salesSum","CurrencyList","currencyname","dynamicTitle","IsOnInit","getRegionList","getUserProfileData","i","batch","getCurrencyList","getEnquiryChartData","CurrencyCode","EnquiryChartData","RegionList","regionObj","skipHeader","columnGroups","skipFooters","skipGroups","skipPinnedTop","skipPinnedBottom","allColumns","onlySelected","suppressQuotes","exprtexcellist","excelExportHeaderList","generateExcelwithdata","node","headerlist","every","index1","_arr","tmp","getColorForExcelExport","bind","ListRegion","yearChange","regionChange","currencyChange","EnquiryDetailsChartComponent","modal","Labelcurr","enquiryDetailsChart","cur","reportmodel","actualvalue","showvalue","OpportunityQuotationChartComponent","OpportunityQuotation","calculateTotals","columnSeries","propertyFields","fillOpacity","strokeDasharray","textAlign","colLabel","rotation","padding","truncate","hideOversized","column2Series","colLabel2","OpportunityRfqChartComponent","OpportunityRFQ","OrderValuesChartComponent","OrderValuesChart","that","grid","sequencedInterpolation","stacked","locationY","indicator","show","tooltipContainer","indicatorLabel","align","valign","OrderWinLostChartComponent","OrderWinLostChart","wrap","OrderbacklogSupplychainChartComponent","QuotationOrdIntake","QuatationOrderIntakeChartComponent","ShowPendingActivityComponent","noDataComment","activityData","ActivityDetailsComponent","fileDownloadPath","newActivityDetails","activityDetails","userid","isShowEdit","PendingAtRoleId","initID","getActivityDetails","isActivityeditable","makeRandom","isActivityAttachment","filePath","IsActivityDataValid","checkActivityValidations","enqid","possible","lengthOfCode","charAt","floor","random","IsRowDeleted","ActivityListByEntityComponent","HideId","closePopupEvent","enquiryId","AddCustomerOpportunityComponent","remLimit","maxLimit","GetCustomerDropdownData","goalText","varLongTermGoal","myform","limitTextOnKeyUpDown1","AddEnquiryComponent","userInfo","CustomerList","EnquiryObj","newRFQDetails","customerDrpdnDetails","productDrpdnDetails","enquiryStatus","enquirySource","product","isEnquirySubmit","getCustomerList","getEnquirySourceDetails","customerData","hasAccessToViewCustomersCustomer","RoleType","UserId","EnquiryDate","TentativeDeliveryDate","hasAccessForCustomersCustomer","AddEnquiry","GetCustomerDetails","SetStatus","CeoApprovalComponent","_location","activeModel","standardTC","customTCValues","productListdropdownData","CustomerDetailsObj","QuotationData","isTechnicalDiscardVisible","isEnquiryFormVisible","isRFQVisible","isQuoteGenerationVisible","isManagementApprovalVisible","isSOVisible","isOrderAcknowledgementVisible","EnquiryConfirmationVisible","isSupplychainVisible","isAccountsVisible","iseditable","isOAGenerationVisible","IsRFQDataValid","selectedIndexForStatus","TnCStandardFromDropDown","TnCCustomizedFromDropDown","TnCCustomizedDropDownForEditRfq1","TnCCustomizedDropDownForEditRfq2","QuotationDownloadPath","WinLossDropdownData","isprocessing","QuotationDataForPO","chosenItem","QGRFQEditable","fc","isEditactivity","PreviousStatus","UpdatePO","isPOAttacmentDelete","RevisedQuotationFileNameList","FinalIndustrySegment","FinalSubSegment","FinalApplication","workflowActionList","enquiryStatusList","sendbackRules","updateLoaderEvent","UserRolesData","setTimeout","tempRoleWiseScreenDisplay","RoleWiseScreenDisplay","QuotationPdfGenerationHostPath","getAllWorkFlow","getRFQProduct","getEnquiryDetailsById","getEnquiryStatus","getUserRoles","isEnquiryLoaded","getSendbackWorkfow","UserRole","roleOfAdmin","isCEOApprovalVisible","enquirystatus","Pk_Id","Initiator_Id","some","QuotationPdf_filename","showQuotationLink","showEditRFQ","screensRolewise","filteredscreens","isSpecialPrice","getQuotationData","screensVisibleAfterPassedArray","filterScreenArray","o1","o2","qgArray","maArray","caArray","ecaArray","soArray","scArray","acArray","OAArray","ProductId","ProductModelName","Variant1Name","Variant2Name","Variant3Name","Variant4Name","QUotationValue","ProductModelPOValue","getRevisedQuotationFileNamelist","RequestedDeliveryDate","ReasonEnquiryWinLossObj","WinLossDropdownDataForStatus","isStandardCondition","obj1","ScreenAccessSpecifier","segment","subSegment","application","previousEnqStatus","QTNNumber","pdffilename","MDS","Salesprice","TnCId","TnCName","TnCValue","demoObject","demoCTCObject","j","ind","Product","info","attachemntType","isMDSAttachment","isITCAttachment","isCustomerAttachment","isWeissAttachment","isCustomerCommentVisible","isPoValueDisable","myInputVariable","FilePath","FileName","flag","BOM_filepath","isBOMAttachment","BOM_filename","isInvoiceAttachment","isOAGenerated","previouslySelectedIndex","stepper","rule","workflowNextStatusId","checkRFQGridValidation","tnc","ctnc","PO_filename","Invoice_filename","sum","QUotationValueValidation","openPopup","confimrmsg","quoterevcomments","povalue","IsPODataValid","inde","MDSOption","SalesDiscount","Filename","gereatePDF","rfqattpresent","MDS_filename","ITC_filename","Weiss_filename","Customer_filename","checkattachment","pdfurl","dateType","ngbDateParserFormatter","format","workflowData","workflowId","document_type_code","workflow_id","getWorkflowActions","myform10","workflowActionId","control","markAllAsTouched","invalid","quotationRule","WorkflowId","NextStatus","sendBackObj","finalrule","ngOnInit","CloseOppReasonComponent","closeOpportunityList","enquiryDataObj","getAllCloseEnquiryReason","enqNextStatusId","EnquiryStatusId","OppCloseId","reasoncode","closeOpportunityForm","closereasondetails","ReasonCategory","ReasonCategoryId","enquiryDetails","CloseOpportunityReason","ConfirmInvoiceComponent","custtermscond","PO_filepath","isPOAttachment","CustTcObj","CustTcObj1","newCustomiseArr","newCustomTc","DiscountFromrange","Discounttorange","fileObj","filetype","MDS_filepath","ITC_filepath","deleted_ITC_filename","deleted_ITC_filepath","Customer_filepath","Weiss_filepath","enquiObj","EnqTermsConditionSelected","deleted_MDS_filename","deleted_MDS_filepath","deleted_Customer_filename","deleted_Customer_filepath","deleted_Weiss_filename","deleted_Weiss_filepath","modelprice","var1price","var2price","var3price","var4price","optionprice","percent","final","calculateTotalQuotationValues","editpovalue","myform9","EditViewEnquiryComponent","changeDetectorRef","maxCharLimit","remCharLimit","maxappdescLimit","remappdescLimit","enquiryStatusCode","showReminder","ReminderDays","getReasonCategory","getAllCloseOpportunityReason","falseSetup","triggerFalseClick","workflowCode","rfqVisible","EnquiryClosePendingAtSalesDirector","EnquiryClosePendingAtCS","quotationAllowedStatus","MaterialReadyForDistpatch","PriceOnRequestSubmitted","confirmationAllowedStatus","salesOrderAllowedStatus","managementApprovalAllowedStatus","ceoApprovalAllowedStatus","oaAllowedStatus","supplytChainAllowedStatus","confirmInvoiceAllowedStatus","reasonCategoryDetails","WinLossDataForStatus","AvailableAtWorkflowScreen","canShowtab","PreviousRFQTermsAndCondition","hasScreenAccess","getReminderData","showGoToRFQPage","regionData","ReminderType","isSent","isPostpone","AlertReminderDays","myform1","closeEnquiryRule","workflowActionCode","openCloseOppReasonPopup","CloseEnquiry","enquiryStatusId","showRFQBtn","statusList","steps","buttonclk","buttonElement","selectRootElement","click","updateLoader","read","EnquiryModalComponent","QuotationDatatoExport","EmployeeDetails","dropdownSettings","IsQuotationDataValid","isQtyDiscountEditable","WeissLogoPath","Roles","isMenu","currentDate","OptionsNameList","optionsSelected","btnforL1","btnforL2","btnforL3","btn_PriceOnRequest","isfetchfromRFQ","isfinalamount","finalpricewithoutspecialdiscount","columnCount","showTechnicalSpecs","KingAttConactNumberValidationMsg","KingAttEmailValidationMsg","displayfurtherrows","showVarientandOptionPrice","showVarientDiscount","EmployeeData","priceonRequestDisabled","ispriceOnrequestTrigger","frameAgreemtdiscountDisabled","isAppEngRoles","maxDiscount","salesPersonOfWhichComapany","hasAccesstoFillQtyDiscount","enquiryStatusPassed","enqTcSelected","TermsandConditions","isenqTcSelected","getAllEmployeeData","getQuotationDetailsById","getPORAuthorities","ReferenceDateISO","ReferenceDate","dropdownData","allseriesmodel","discountaddmanually","calculateTotalPricesForProduct","specialPkgDiscount","GetXMLData","a","productmodeldata","b","IsPriceOnRequest_Option","OptionId","temp","tempindex","currentproduct","isQuotationEditable","btnforCS","isPriceOnRequestVisible","Variant1Label","Variant2Label","Variant3Label","Variant4Label","IsPriceOnRequest_Variant1","IsPriceOnRequest_Variant2","IsPriceOnRequest_Variant3","IsPriceOnRequest_Variant4","IsUnits_Variant1","selectedProductFamily","clearRow","setColspan","getFrameAgreement","variantDropdownData","isUserInput","optionname","source","_selected","opObj","ProductOptionId","anyOptionPOR","var1Obj","Fk_Id","IsUnits_Variant2","var2Obj","var3Obj","IsUnits_Variant3","var4Obj","IsUnits_Variant4","strprice","strquantity","getPriceDiscountApprovalAuthorityByPayload","AddQuotation","KindAttValidation","KindAttContactNoValidilation","match","KindAttEmailValidilation","test","YourRefValidation","RefDateValidation","isPricesRequestedBeforeSubmit","yourRefElement","refDateElement","keyPerElement","keyPerEmail","keyPerCNo","QuoteCommentsValidation","QuoteComm","SalesContactPersonValidation","checkQuotationHeaderValidation","checkQuotationGridValidation","assignValuetoObjects","isapplicationEng","checkPriceOnRequestCostsAndUnits","kd","generatePDF","isPriceOnRequestValid","checkifPORPresent","colspan1","colspan2","colspan3","colspan4","round","percen","modelfinalprice","setspecialDiscountPrice","amount","showOverallDiscount","checked","calculate","QuotationForm","priceOnRequestRule","quotationPriceOnRequest","employee","priceOnRequestAuthorities","productModelList","appEngRoles","workflowActionName","GetVarientDropdowndataforModel","strunits","price","units","onYourRefChange","onRefDateChange","onKindAttChange","onKindAttContactNumberChange","onKindAttEmailChange","changeSalesContactPerson","AddNewProduct","setDiscountType","isintNumberKey","checkVarientPrice","checkVarientDiscount","checkSpecialPrice","EnquiryComponent","disabled","SearchColname","SearchColKeyword","PaginationModel","salesEnggList","selectedRegion","seList","selectedSalesEngg","ExportToExcelData","TempEnquiryData","isEnquiryDataExport","gridData","spans","tempRowId","tempRowCount","GetAllEnquiryGridFilterList","GetAllEnquiry","BindGridData","scrollLeft","filteredData","active","rowObject","enqObj","enqNo","initiatorID","endNo","QuotationDetailsList","EnquirySourceId","EnquiryWinLostOpenStatus","POStdReason","EnquiryYear","RowSpanData","cacheSpan","d","accessor","count","col","CallFrom","callType","OnSegmentChangeGetMiCroSegment","o","RefDate","POSubmittedOn","QuotationSubmittedDate","SupplyChain_DeliveryDate","InvoiceSubmittedOn","EnquiryLostDate","exportAsXLSX","json","getworkSheet","worksheet","header","headerRow","font","family","bold","arrayofdata","exportAsExcelFile","custid","OnQuotationValueFilterChange","onDiscountChange","ExportData","SearchParam","sortData","ManagementApprovalComponent","showPreviewLink","ShowPreview","myform4","enquiryObj","showPreviewConditions","isEnquiryinApprovalState","OaGenerationComponent","ShowOALink","OrderConfirmationComponent","workflowService","CategoryRegion","DupCategoryRegion","isCompetitorRequired","disableWonCategory","getAllCategoryRegion","getAllCloseEnquiryReasonByReasonCategoryCode","ReasonCode","object","onIndustrySegmentSelect","onSubSegmentSelect","EnquiryConfirmationStatus","CategoryRegionDetail","catreasoncode","ReasonId","reasonDetail","ReasonCategoryCode","filterRule","myform5","reset","filteredArray","PassOnComponent","getAllSalesEngg","salesRegionValidation","SalesEnggList","salesEnggValidation","PassOnViewModel","onRegionChange","onEnggChange","PassonToPerson","PendingEnquiryComponent","QuotationPreviewComponent","sanitizer","loadPreview","quotationPdfPreviewUrl","bypassSecurityTrustResourceUrl","QuotationComponent","singleFieldObj","Currencylist","filtercurrency","showWorkflowButtonsForAuthorities","showquotationPreview","documentOfWhichComapany","GetListOfCurrency","functonDetails","isTermsConditionsDisabled","isStandardConditionForQuote","isAcceptClick","myform3","controls","setValue","technicalDiscardStatus","technicalDiscardRule","generateQuote","openTechnicalDiscardPopupByWorkflow","openQuotationPopup","GetPdfInCurrency","URL","createObjectURL","RfqComponent","myform2","SendBackCommentComponent","sendBackCommentForm","sendbackComment","rules","SoGenerationComponent","IsIncludedAllSOChargesResult","totalCalculatedPriceAfterIncludingAllCharges","totalsum","totalCalculatedPriceOfAllProductModel","tempTotalCalculatedPriceOfAllProductModel","TndCFromDropDown","poPrice","getCustomerAddresses","POQuantity","POUnitPrice","finalpoValue","finalProductModelPOValue","calculateTotalProductWisePOValue","myform7","emptyPOModels","CustomerAddressList","calculatedTotalPrice","PackageAndForward","TransferCharge","OtherTax","onSalesOrderSpecialPkgDiscountChange","regex","inputChar","String","fromCharCode","calculateTotalPriceWithAllSOCharges","SupplyChainComponent","ScheduledShipmentDate","TechnicalDiscardComponent","technicalDiscardReasonList","selectedTCReason","getAllTechnicalDiscardReason","ButtonsAccess","TechnicalDiscardId","technicalDiscardReasonValidation","technicalDiscardForm","technicaldiscardclosereasondetails","AlertsDetailsComponent","isAlertsEditable","GetAllAlertsDetails","CurrentStatus","EditViewAlertsComponent","FormStatus","AlertsObject","getAlertsIdDetailsById","AlertsId","towhom","frm","fieldname","First_Rem","Second_Rem","Third_Rem","Escalation","firstfield_seterror","secondfield_seterror","thirdfield_seterror","escalationfield_seterror","setErrors","RemValidation","OnReminderDaysChange","BusinessPlanDetailsComponent","businessPlanDetails","isBPMasterEditable","getAllBusinessPlandetails","BusinessPlanForSalesAndOrderComponent","BusnessPlan","targetYears","targets","BusinessPlanobje","IsBPDataValid","getAllUsers","amt","zeroValues","checkValidBusinessPlan","FinalModel","allExistingData","allEmployees","selectedUserData","onselectChange","EditBusinessPlanComponent","BusinessPlan","GetBusinessPlan","Fk_UserId_Target","AddLeadComponent","LeadObj","LeadDate","LeadDatails","CloseLeadComponent","leadDataObj","Lead_Id","getLeadDetailsById","closeLeadForm","Fk_LeadCloseReason","leadDetails","CloseLeadReason","CloseLead","EditViewLeadComponent","leadStatus","closeReason","leadObj","LeadDetailsComponent","singleFieldComponent","isImageEditable","GetAllLeadDetails","AddStockInventoryComponent","StockInventoryObj","StockDatevar","StockFile","form","StockDate","getMultipleFileDetails","StockInventoryDetailsComponent","isStockInventoryEditable","GetAllStockInventory","ViewStockInventoryComponent","isEmployeeEditable","fileUrl","getInventoryDetailsById","Path","link","createElement","setAttribute","appendChild","EditViewWorkFlowScreenAccessComponent","WorkFlowScreenData","WorkFlowScreenAccessEditable","isScreen","isButton","isField","accesspermissioninfo","testaccessinfo","DefaultScreenViewAccess","Defaultobj","ArrayofElementType","getAllAccessPermission","GetAllElementType","getAllRoles","Workflowscreens","EditDetails","getAllWorkFlowScreen","newAcessPermission","refreshAccessPermission","querstring","convertdataintoobj","datalist","ElementType","filteredAccountObject","filteredKeys","OnElementTypechange","OnSelectRole","AddContractFrameAgreementComponent","isdropdowninactive","Customer","tempProductModel","NewArr","temp_ProductModel","ProductModelDiscountArr","productModelrequired","ProductModelDiscount","isConfigureEditable","testing","AddNewRow","getAllTransitionrules","getAllCustomer","getAllProductModel","getDetailsById","selectedValue","selectedItem","showItems","WorkflowStatus","condition_code","action_by_role_id","action_id","nextstateid","next_state_id","onCompanyselection","CustomerFrameAgreementDetailsComponent","RouteName","someCondition","viewedit","isAddframeAgreementAccess","IsCustomerFrameAgreementEditable","EditViewContractFrameAgreementComponent","editFormValues","IsNotApproveRejectButton","editFormStatus","CustomerNameDetails","workflowActionListforApproval","workflowActions","GetTransitionRuleForCurrentStateById","getWorkFlowActionHistoryById","CustId","historydata","customerid","record","FK_CustomerId","currentWorkFlowStatus","FK_Workflow_Status","actionlist","current_state_id","actionname","Update","UpdateStatusForWorkFlow","PostStatus","isCustomerFrameAgreementEditable","AddConfigurationComponent","OtherComponent","Pattern","GetSubSegment","ConfigurationDetailsComponent","isReasonCategoryVisible","configurationArray","routeReuseStrategy","shouldReuseRoute","OnSelect","dropdownOption","MasterChange","EditViewConfigurationComponent","getDetailsByCustomerId","AddCustomerComponent","urlPattern_old","urlPattern","CustomerGroup","CustomerGroupCode","fileType","KYCfileType","KYC1fileType","PlantInformationWithGSTNoobj","TopmanagementObj","Attachmentobj","isCustomerEditable","businessOfWhichComapany","opportunitiesForWhichCompany","weissContactDetailsOfWhichCountry","weissWithAbbreviatedCountry","GetCustomerGroupCode","File","ValidFileType","MaxSize","Result","isExtensionValid","isSizeValid","FileType","Noofemployees","NoGreater","KycResult","CheckFileValidation","myfile","formData","industrySeg","subseg","customergroupName","customergroupCode","customerClass","custCategory","custType","tempRegion","countryName","plantRegion","KYC2Attachment","KYC3Attachment","CorporatePresentationAttachment","OrganogramAttachment","Type","KYC1Attachment","CustomerGroupId","PercentageShare","PercentageGreater","getfiledetails","OnselectCustomerGroupName","PercentageShareValidation","OnselectIndustrySegment","NoOfEmp","CustomerDetailsComponent","isDownloadCustomerData","isKYCAttchmentVisible","GetAllCustomerDetails","formateddata","newobj","AddressOfHeadquater","EditViewCustomerComponent","getCustomerDetailsById","specialDiscountEnrtiesVisible","KYCfrmData","OrignalFilename","DownloadFile","AddEmployeeComponent","passPattern","isValidEmail","Passhide","getAllCountry","getAllRegion","AlreadyPresent","ChangeEmployee","EditViewEmployeeComponent","EmployeeLeaveDetails","AlternateEmployeeData","isEmployeeLeaveDetailsVisible","RegisterId","getEmployeeDetailsById","getEmployeeLeaveDetailsById","getAlternateEmployeeData","alternateemployee","EmployeeDetailsComponent","GetAllEmployeeDetails","CurrentEmpStatus","AddGuestComponent","GuestDetails","EditViewGuestComponent","isGuestEditable","getGuestDetailsById","GuestDetailsComponent","GetAllGuestDetails","CurrentGuestStatus","AddLoginPageDynamicImageComponent","LoginPageImageObj","LoginPagedetails","uploadDynamicImage","DetailsLoginPageDynamicImageComponent","defaultchek","GetAllImageDetails","EditViewLoginPageDynamicImageComponent","ImagePath","isCommentEditable","ImageDatails","isLoginPageImageEditable","PriceconfiguratorComponent","GetAllSeriesData","strdis","finals","allowDecimal","ProductMatrixComponent","ProductList","ProductMatrix","VariantDrpdown","isProductMatrixEditable","ShowGrid","AlldataValid","getAllProductSeries","sort","ProductSeriesId","SelectedtSeriesdata","GetProductModelById","ProductModelId","SeriesId","querystring","ProductSeriesChange","getProductMatrix","AddOptionsComponent","Optionsobj","ProductModelarr","onIsPriceOnRequest","EditViewOptionsComponent","isProductOptionEditable","SelectedModel","getProductOptionsIdDetailsById","ProductOptionsId","OnModelselected","OptionsDetailsComponent","ProductSeriesobj","GetAllProductOptionsDetails","IsPriceOnRequestList","IsNotPriceOnRequestList","RedirectToVariant","AddProductFamilyComponent","ProductFamilyobj","getAllProductLine","EditViewProductFamilyComponent","isProductFamilyEditable","getProductFamilyIdDetailsById","ProductFamilyId","ProductFamilyDetailsComponent","GetAllProductFamilyDetails","AddProductLineComponent","ProductLineobj","EditViewProductLineComponent","isProductLineEditable","getProductLineIdDetailsById","ProductLineId","ProductLineDetailsComponent","GetAllProductLineDetails","AddProductModelComponent","ProductModelobj","EditViewProductModelComponent","isProductModelEditable","getProductModelIdDetailsById","ProductModelDetailsComponent","GetAllProductModelDetails","AddProductSeriesComponent","getAllProductFamily","ProductSeriesDetails","onProductLineSelect","OnVariantChange","editFileDetails","EditViewProductSeriesComponent","isProductSeriesEditable","getProductSeriesIdDetailsById","ProductSeriesDetailsComponent","isProductPriceEditable","ShowHide","dataSourcePrice","ProductPricefileType","ProductPrice1fileType","ProductPriceData","ProductPriceLogData","ProductPriceStation","ProductPriceSpeed","ProductPriceDP","ProductPriceMP","ProductOptionPrice","GetAllProductSeriesDetails","SeriesData","openDialog","PriceData","seriesId","SelectedSeriesName","ProductPriceModel","LableHeader","ProductPriceSpeedPOM","Speedheader","DPheader","MPheader","Optionheader","sheetdata","worksheetName","re","exportAsXLSXLog","exportAsExcelFileLog","ProductModelLog","getworkSheetLog","ProductPriceVariant1Log","ProductPriceVariant2Log","ProductPriceVariant3Log","ProductPriceVariant4Log","ProductOptionLog","saveAsExcelFileLog","DownloadListHistory","ProductSeriesUploadLogComponent","onOkClick","VariantLevel1obj","AddVariantLevel1Component","StationList","OrignalStationList","ProductSeriesVariantLabel","Model","GetStation","onModelSelected","EditViewVariantLevel1Component","SelectedStation","isProductVariant1Editable","getVariantLevel1IdDetailsById","VariantLevel1DetailsComponent","ProductSeriesArr","GetAllVariantLevel1Details","Level1Data","Level2Currdata","AddVariantLevel2Component","ProductSeriesVariant2Label","VariantLevel2obj","Level2arr","SpeedStepName","StationId","ModelId","localeCompare","GetVariant1ByModelId","GetAllSpeedStep","closebutton","AddSpeedStep","EditViewVariantLevel2Component","isProductVariant2Editable","getVariantLevel2IdDetailsById","VariantLevel2DetailsComponent","isVariant2DependsOnVariant1","ProductSeriesVariant1Label","GetAllVariantLevel2Details","Level3Currdata","AddVariantLevel3Component","VariantLevel3obj","Level3arr","Variant1Arr","PositionName","GetAllPosition","GetVariant2ByModelId","GetVariant2ByVariant1Id","AddPosition","EditViewVariantLevel3Component","isProductVariant3Editable","getVariantLevel3IdDetailsById","VariantLevel3DetailsComponent","isVariant3DependsOnVariant2","ProductSeriesVariant3Label","GetAllVariantLevel3Details","Level3Data","Level4Currdata","AddVariantLevel4Component","VariantLevel4obj","Level4arr","Variant1arr","Variant2arr","MountingPositionName","GetAllMountingPosition","GetVariant3ByModelId","GetVariant3ByVariant2Id","AddMountingPosition","EditViewVariantLevel4Component","isProductVariant4Editable","getVariantLevel4IdDetailsById","VariantLevel4DetailsComponent","isVariant4DependsOnVariant3","ProductSeriesVariant4Label","GetAllVariantLevel4Details","Level4Data","CustomerwiseReportComponent","regionList","SelectedRegion","CustomerGridData","reportFilterObj","isProductLineSelected","isProductSeriesSelected","isProductModelSelected","isRegionSelected","isAllCustomerClasses","isAllCustomerTypes","CustCurrencyLabel","VariantLabel","reporttype","CustomerClassWisePieChart","curency","fiterElement","valueLabels","legendContainer","parent","resizeLegend","itemContainers","clickable","focusable","cursorOverStyle","contentHeight","hiddenState","properties","opacity","IsDataEmpty","emptyUnits","unitvalue","amountvalue","hidden","showIndicator","hideIndicator","extraSprites","markerTemplate","markers","pointer","ticks","hideSmall","relativeRotation","dataItem","sliceObj","selectedCClass","isCustomerClassSelected","isSegmentSelected","callCustomerChart","selectedCType","customertypedata","onCustomerTypeSliceClick","dataContext","each","isActive","isFromCustomerClass","productlineData","customerclassdata","segmentData","RegionWisePieChart","ProductWisePieChart","CustomerTypeWisePieChart","SegmentWisePieChart","onCustomerClassSliceClick","onProductSliceClick","selectedProductLine","ProductSeriesWisePieChart","productseriesData","interactionsEnabled","ProductModelWisePieChart","producModeleData","ProductStationWisePieChart","ProductModelStation_label","ProductModelStation","onSegmentSliceClick","selectedSegment","SubSegmentWisePieChart","dataSourceCustomer","CustomerObj","windowClass","onYearChange","onEnqTypeChange","onReportValueTypeChange","AllCustomerClassChange","AllCustomerTypeChange","EnquiryGridReportComponent","GetAllEnquiryDetails","PowerBIReportsComponent","ProductmodelColumnchartComponent","chart1","chart1Data","ProductseriesColumnchartComponent","ProductvariantColumnchartComponent","ProductwiseReportComponent","isAllRegions","selectedProductType","callProductChart","AllRegionChange","RegionwiseReportComponent","regionLocked","IsRegionDataEmpty","paddingRight","onRegionSliceClick","callRegionChart","finaldata","innerHTML","finalheaderdata","oobj","getpdf","SegmentwiseReportComponent","isAllSegments","callSegmentChart","SiteActivityComponent","GetAllSiteActivityGridFilterList","GetAllSiteActivityLogDetails","MustMatch","controlName","matchingControlName","matchingControl","errors","AppConfig","getFooterName","environment","production","bootstrapModule"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,aAASA,wBAAT,CAAkCC,GAAlC,EAAuC;AACtC;AACA;AACA,aAAOC,OAAO,CAACC,OAAR,GAAkBC,IAAlB,CAAuB,YAAW;AACxC,YAAIC,CAAC,GAAG,IAAIC,KAAJ,CAAU,yBAAyBL,GAAzB,GAA+B,GAAzC,CAAR;AACAI,SAAC,CAACE,IAAF,GAAS,kBAAT;AACA,cAAMF,CAAN;AACA,OAJM,CAAP;AAKA;;AACDL,4BAAwB,CAACQ,IAAzB,GAAgC,YAAW;AAAE,aAAO,EAAP;AAAY,KAAzD;;AACAR,4BAAwB,CAACG,OAAzB,GAAmCH,wBAAnC;AACAS,UAAM,CAACC,OAAP,GAAiBV,wBAAjB;AACAA,4BAAwB,CAACW,EAAzB,GAA8B,yCAA9B;;;;;;;;;;;;;;;;ACXA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;AAAA,QAAYC,aAAZ;;AAAA,eAAYA,aAAZ,EAAyB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACH,KApED,EAAYA,aAAa,KAAbA,aAAa,MAAzB;;AAwEA,QAAYC,iBAAZ;;AAAA,eAAYA,iBAAZ,EAA6B;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA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;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;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ACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACH,KA3CD,EAAYA,iBAAiB,KAAjBA,iBAAiB,MAA7B;;;;;;;;;;;;;;;;;AC9nMA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QA2UaC,S;;;;;YAAAA,S;AAAS,kBAHR,2DAGQ;;;;yBAATA,S;AAAS,O;AAAA,iBALT,CAAC,+DAAD,EAAQC,QAAR,EAAkB,2EAAlB,EAAmC,oFAAnC,EAAyD,uEAAzD,EAAwE,0EAAxE,EAAwF,8EAAxF,EAA0G;AAAEC,eAAO,EAAE,sEAAX;AAA8BC,gBAAQ,EAAE,uEAAxC;AAAyDC,aAAK,EAAE;AAAhE,OAA1G,EAAkL,2DAAlL,EACT;AAAEF,eAAO,EAAE,kFAAX;AAAmCG,kBAAU,EAAE;AAAA,iBAAM,IAAI,qGAAJ,CAAiC,UAAjC,CAAN;AAAA;AAA/C,OADS,C;AAC2F,gBAzB7F,CACP,uEADO,EAEP,oEAFO,EAGP,0DAHO,EAIP,qEAJO,EAKP,4FALO,EAMP,0EANO,EAOP,sEAPO,EAQP,qEARO,EASP,oEATO,EAUP,yDAAa5T,OAAb,CAAqB;AACnB6T,eAAO,EAAE,IADU;AAEnBC,qBAAa,EAAE,kBAFI;AAGnBC,yBAAiB,EAAE;AAHA,OAArB,CAVO,EAeP,4DAfO,EAgBP,0EAhBO,EAiBP,2EAjBO,EAkBP,4FAlBO,EAmBP,kEAAe/T,OAAf,CAAuB;AACrByT,eAAO,EAAE,8DADY;AAErBG,kBAAU,EAAE;AAFS,OAAvB,CAnBO,CAyB6F;;;;0HAI3FL,S,EAAS;AAAA,uBAxKlB,2DAwKkB,EAvKlB,gGAuKkB,EAtKlB,8EAsKkB,EArKlB,mFAqKkB,EApKlB,wEAoKkB,EAnKlB,mGAmKkB,EAlKlB,yEAkKkB,EAjKlB,kGAiKkB,EAhKlB,yEAgKkB,EA/JlB,0HA+JkB,EA9JlB,+HA8JkB,EA7JlB,8GA6JkB,EA5JlB,0HA4JkB,EA3JlB,2IA2JkB,EA1JlB,sIA0JkB,EAzJlB,gGAyJkB,EAxJlB,wGAwJkB,EAvJlB,gKAuJkB,EAtJlB,4EAsJkB,EArJlB,6GAqJkB,EApJlB,8HAoJkB,EAnJlB,mHAmJkB,EAlJlB,gKAkJkB,EAjJlB,4EAiJkB,EAhJlB,yHAgJkB,EA/IlB,0IA+IkB,EA9IlB,qIA8IkB,EA7IlB,yJA6IkB,EA5IlB,6IA4IkB,EA3IlB,8JA2IkB,EA1IlB,4HA0IkB,EAzIlB,gJAyIkB,EAxIlB,iKAwIkB,EAvIlB,4JAuIkB,EAtIlB,wJAsIkB,EArIlB,yKAqIkB,EApIlB,oKAoIkB,EAnIlB,oKAmIkB,EAlIlB,wJAkIkB,EAjIlB,yKAiIkB,EAhIlB,qKAgIkB,EA/HlB,oJA+HkB,EA9HlB,gKA8HkB,EA7HlB,6HA6HkB,EA5HlB,8IA4HkB,EA3HlB,yIA2HkB,EA1HlB,yJA0HkB,EAzHlB,0KAyHkB,EAxHlB,qKAwHkB,EAvHlB,qKAuHkB,EAtHlB,0KAsHkB,EArHlB,yJAqHkB,EApHlB,yJAoHkB,EAnHlB,0KAmHkB,EAlHlB,qKAkHkB,EAjHlB,qKAiHkB,EAhHlB,0KAgHkB,EA/GlB,yJA+GkB,EA9GlB,yIA8GkB,EA7GlB,8HA6GkB,EA5GlB,gKA4GkB,EA3GlB,8JA2GkB,EA1GlB,mIA0GkB,EAzGlB,wIAyGkB,EAxGlB,4IAwGkB,EAvGlB,sIAuGkB,EAtGlB,yHAsGkB,EArGlB,sHAqGkB,EApGlB,oGAoGkB,EAnGlB,uJAmGkB,EAlGlB,wLAkGkB,EAjGlB,8IAiGkB,EAhGlB,+HAgGkB,EA/FlB,kIA+FkB,EA9FlB,qIA8FkB,EA7FlB,kIA6FkB,EA5FlB,0KA4FkB,EA3FlB,uKA2FkB,EA1FlB,6KA0FkB,EAzFlB,4IAyFkB,EAxFlB,uKAwFkB,EAvFlB,+JAuFkB,EAtFlB,mJAsFkB,EArFlB,sJAqFkB,EApFlB,iGAoFkB,EAnFlB,mGAmFkB,EAlFlB,yEAkFkB,EAjFlB,gMAiFkB,EAhFlB,oIAgFkB,EA/ElB,yHA+EkB,EA9ElB,6HA8EkB,EA7ElB,kIA6EkB,EA5ElB,mMA4EkB,EA3ElB,+HA2EkB,EA1ElB,oJA0EkB,EAzElB,4HAyEkB,EAxElB,iIAwEkB,EAvElB,uFAuEkB,EAtElB,uLAsEkB,EArElB,oOAqEkB,EApElB,kIAoEkB,EAnElB,mHAmEkB,EAlElB,0IAkEkB,EAjElB,mIAiEkB,EAhElB,iIAgEkB,EA/DlB,sIA+DkB,EA9DlB,oHA8DkB,EA7DlB,yGA6DkB,EA5DlB,iHA4DkB,EA3DlB,mIA2DkB,EA1DlB,oHA0DkB,EAzDlB,iHAyDkB,EAxDlB,0HAwDkB,EAvDlB,gHAuDkB,EAtDlB,oMAsDkB,EArDlB,qNAqDkB,EApDlB,2OAoDkB,EAnDlB,0HAmDkB,EAlDlB,sIAkDkB,EAjDlB,yIAiDkB,EAhDlB,yIAgDkB,EA/ClB,yIA+CkB,EA9ClB,yIA8CkB,EA7ClB,oJA6CkB,EA5ClB,uJA4CkB,EA3ClB,kLA2CkB,EA1ClB,gMA0CkB,EAzClB,mMAyCkB,EAxClB,+IAwCkB,EAvClB,mMAuCkB,EAtClB,gJAsCkB,EArClB,gNAqCkB,EApClB,6IAoCkB,EAnClB,qKAmCkB,EAlClB,yKAkCkB,EAjClB,kJAiCkB,EAhChB,gIAgCgB,EA/BhB,+HA+BgB;AA/BQ,kBAG1B,uEAH0B,EAI1B,oEAJ0B,EAK1B,0DAL0B,EAM1B,qEAN0B,EAO1B,4FAP0B,EAQ1B,0EAR0B,EAS1B,sEAT0B,EAU1B,qEAV0B,EAW1B,oEAX0B,EAWZ,wDAXY,EAiB1B,4DAjB0B,EAkB1B,0EAlB0B,EAmB1B,2EAnB0B,EAoB1B,4FApB0B,EAoBH,iEApBG;AA+BR,O;AAXK,K;;;;;sEAWdA,S,EAAS;cA1KrB,sDA0KqB;eA1KZ;AACRS,sBAAY,EAAE,CACZ,2DADY,EAEZ,gGAFY,EAGZ,8EAHY,EAIZ,mFAJY,EAKZ,wEALY,EAMZ,mGANY,EAOZ,yEAPY,EAQZ,kGARY,EASZ,yEATY,EAUZ,0HAVY,EAWZ,+HAXY,EAYZ,8GAZY,EAaZ,0HAbY,EAcZ,2IAdY,EAeZ,sIAfY,EAgBZ,gGAhBY,EAiBZ,wGAjBY,EAkBZ,gKAlBY,EAmBZ,4EAnBY,EAoBZ,6GApBY,EAqBZ,8HArBY,EAsBZ,mHAtBY,EAuBZ,gKAvBY,EAwBZ,4EAxBY,EAyBZ,yHAzBY,EA0BZ,0IA1BY,EA2BZ,qIA3BY,EA4BZ,yJA5BY,EA6BZ,6IA7BY,EA8BZ,8JA9BY,EA+BZ,4HA/BY,EAgCZ,gJAhCY,EAiCZ,iKAjCY,EAkCZ,4JAlCY,EAmCZ,wJAnCY,EAoCZ,yKApCY,EAqCZ,oKArCY,EAsCZ,oKAtCY,EAuCZ,wJAvCY,EAwCZ,yKAxCY,EAyCZ,qKAzCY,EA0CZ,oJA1CY,EA2CZ,gKA3CY,EA4CZ,6HA5CY,EA6CZ,8IA7CY,EA8CZ,yIA9CY,EA+CZ,yJA/CY,EAgDZ,0KAhDY,EAiDZ,qKAjDY,EAkDZ,qKAlDY,EAmDZ,0KAnDY,EAoDZ,yJApDY,EAqDZ,yJArDY,EAsDZ,0KAtDY,EAuDZ,qKAvDY,EAwDZ,qKAxDY,EAyDZ,0KAzDY,EA0DZ,yJA1DY,EA2DZ,yIA3DY,EA4DZ,8HA5DY,EA6DZ,gKA7DY,EA8DZ,8JA9DY,EA+DZ,mIA/DY,EAgEZ,wIAhEY,EAiEZ,4IAjEY,EAkEZ,sIAlEY,EAmEZ,yHAnEY,EAoEZ,sHApEY,EAqEZ,oGArEY,EAsEZ,uJAtEY,EAuEZ,wLAvEY,EAwEZ,8IAxEY,EAyEZ,+HAzEY,EA0EZ,kIA1EY,EA2EZ,qIA3EY,EA4EZ,kIA5EY,EA6EZ,0KA7EY,EA8EZ,uKA9EY,EA+EZ,6KA/EY,EAgFZ,4IAhFY,EAiFZ,uKAjFY,EAkFZ,+JAlFY,EAmFZ,mJAnFY,EAoFZ,sJApFY,EAqFZ,iGArFY,EAsFZ,mGAtFY,EAuFZ,yEAvFY,EAwFZ,gMAxFY,EAyFZ,oIAzFY,EA0FZ,yHA1FY,EA2FZ,6HA3FY,EA4FZ,kIA5FY,EA6FZ,mMA7FY,EA8FZ,+HA9FY,EA+FZ,oJA/FY,EAgGZ,4HAhGY,EAiGZ,iIAjGY,EAkGZ,uFAlGY,EAmGZ,uLAnGY,EAoGZ,oOApGY,EAqGZ,kIArGY,EAsGZ,mHAtGY,EAuGZ,0IAvGY,EAwGZ,mIAxGY,EAyGZ,iIAzGY,EA0GZ,sIA1GY,EA2GZ,oHA3GY,EA4GZ,yGA5GY,EA6GZ,iHA7GY,EA8GZ,mIA9GY,EA+GZ,oHA/GY,EAgHZ,iHAhHY,EAiHZ,0HAjHY,EAkHZ,gHAlHY,EAmHZ,oMAnHY,EAoHZ,qNApHY,EAqHZ,2OArHY,EAsHZ,0HAtHY,EAuHZ,sIAvHY,EAwHZ,yIAxHY,EAyHZ,yIAzHY,EA0HZ,yIA1HY,EA2HZ,yIA3HY,EA4HZ,oJA5HY,EA6HZ,uJA7HY,EA8HZ,kLA9HY,EA+HZ,gMA/HY,EAgIZ,mMAhIY,EAiIZ,+IAjIY,EAkIZ,mMAlIY,EAmIZ,gJAnIY,EAoIZ,gNApIY,EAqIZ,6IArIY,EAsIZ,qKAtIY,EAuIZ,yKAvIY,EAwIZ,kJAxIY,EAyIV,gIAzIU,EA0IV,+HA1IU,CADN;AA6IR9T,iBAAO,EAAE,CACP,uEADO,EAEP,oEAFO,EAGP,0DAHO,EAIP,qEAJO,EAKP,4FALO,EAMP,0EANO,EAOP,sEAPO,EAQP,qEARO,EASP,oEATO,EAUP,yDAAaF,OAAb,CAAqB;AACnB6T,mBAAO,EAAE,IADU;AAEnBC,yBAAa,EAAE,kBAFI;AAGnBC,6BAAiB,EAAE;AAHA,WAArB,CAVO,EAeP,4DAfO,EAgBP,0EAhBO,EAiBP,2EAjBO,EAkBP,4FAlBO,EAmBP,kEAAe/T,OAAf,CAAuB;AACrByT,mBAAO,EAAE,8DADY;AAErBG,sBAAU,EAAE;AAFS,WAAvB,CAnBO,CA7ID;AAqKRK,mBAAS,EAAE,CAAC,+DAAD,EAAQT,QAAR,EAAkB,2EAAlB,EAAmC,oFAAnC,EAAyD,uEAAzD,EAAwE,0EAAxE,EAAwF,8EAAxF,EAA0G;AAAEC,mBAAO,EAAE,sEAAX;AAA8BC,oBAAQ,EAAE,uEAAxC;AAAyDC,iBAAK,EAAE;AAAhE,WAA1G,EAAkL,2DAAlL,EACT;AAAEF,mBAAO,EAAE,kFAAX;AAAmCG,sBAAU,EAAE;AAAA,qBAAM,IAAI,qGAAJ,CAAiC,UAAjC,CAAN;AAAA;AAA/C,WADS,CArKH;AAuKRM,mBAAS,EAAE,CAAC,2DAAD,CAvKH;AAwKRC,yBAAe,EAAE,CAAC,gGAAD;AAxKT,S;AA0KY,Q;;;;;;;;;;;;;;;;;;AC1UtB;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAOaC,e;AAET,+BAAoB9T,MAApB,EAA4C+T,QAA5C,EAAgE;AAAA;;AAA5C,aAAA/T,MAAA,GAAAA,MAAA;AAAwB,aAAA+T,QAAA,GAAAA,QAAA;AAAuB;;;;kCAG/DC,O,EACAtb,I,EAAiB;AAAA;;AAEjB,cAAIsb,OAAO,CAACjc,OAAR,CAAgBF,GAAhB,CAAoB,SAApB,KAAkC,MAAtC,EACI,OAAOa,IAAI,CAACub,MAAL,CAAYD,OAAO,CAACE,KAAR,EAAZ,CAAP;;AAEJ,cAAIzc,YAAY,CAACC,OAAb,CAAqB,WAArB,KAAqC,IAAzC,EAA+C;AAC3C,gBAAMyc,SAAS,GAAGH,OAAO,CAACE,KAAR,CAAc;AAC5Bnc,qBAAO,EAAEic,OAAO,CAACjc,OAAR,CAAgBH,GAAhB,CAAoB,eAApB,EAAqC,YAAYH,YAAY,CAACC,OAAb,CAAqB,WAArB,CAAjD;AADmB,aAAd,CAAlB;AAGA,mBAAOgB,IAAI,CAACub,MAAL,CAAYD,OAAZ,EACF9S,IADE,CAEC,6DAAM,CAAN,CAFD,EAGC,kEAAW,UAACkC,KAAD,EAA8B;AACrC,kBAAIgR,YAAY,GAAG,EAAnB;;AACA,kBAAIhR,KAAK,CAAC8K,MAAN,KAAiB,GAArB,EAA0B;AACtBzW,4BAAY,CAACwL,UAAb,CAAwB,WAAxB;AACAxL,4BAAY,CAAC4c,KAAb;;AACA,sBAAI,CAACN,QAAL,CAAcO,YAAd,CAA2B,OAA3B;;AACA9R,sBAAM,CAACuR,QAAP,CAAgBQ,MAAhB;AACH;;AACD,qBAAO,wDAAWH,YAAX,CAAP;AACH,aATD,CAHD,CAAP;AAcH,WAlBD,MAmBK;AACD3c,wBAAY,CAACwL,UAAb,CAAwB,WAAxB;AACAxL,wBAAY,CAAC4c,KAAb;AACA,iBAAKN,QAAL,CAAcO,YAAd,CAA2B,OAA3B;AACA9R,kBAAM,CAACuR,QAAP,CAAgBQ,MAAhB;AACH;AACJ;;;;;;;uBApCQT,e,EAAe,8G,EAAA,gH;AAAA,K;;;aAAfA,e;AAAe,eAAfA,eAAe;;;;;sEAAfA,e,EAAe;cAD3B;AAC2B,Q;;;;;;;;;;;;;;;;;;;;;;;;ACR5B;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAcaU,S;AAST,yBAAoBxU,MAApB,EAA2CyU,MAA3C,EAAiEC,aAAjE,EAAyG;AAAA;;AAArF,aAAA1U,MAAA,GAAAA,MAAA;AAAuB,aAAAyU,MAAA,GAAAA,MAAA;AAAsB,aAAAC,aAAA,GAAAA,aAAA;AAPjE,aAAA7jB,mBAAA,GAA4C5c,KAAK,EAAjD;AACA,aAAA4gB,uBAAA,GAA8B,EAA9B;AACA,aAAApT,cAAA,GAA6BxN,KAAK,EAAlC;AACA,aAAA0gC,GAAA,GAAM,IAAIC,GAAJ,EAAN;AACA,aAAAC,OAAA,GAAQ,IAAID,GAAJ,EAAR;AACA,aAAAE,SAAA,GAAkB,KAAlB;AAGF;;;;oCACczU,K,EAA6B;AAAA;;AACrC,cAAM9B,OAAO,GAAG8B,KAAK,CAACjI,IAAN,CAAWmG,OAA3B;AACA,cAAMC,MAAM,GAAG6B,KAAK,CAACjI,IAAN,CAAWoG,MAA1B;AACA,cAAMF,UAAU,GAAC+B,KAAK,CAACjI,IAAN,CAAWkG,UAA5B;AACA,cAAMyW,QAAQ,GAAQtd,YAAY,CAACC,OAAb,CAAqB,UAArB,CAAtB;AACA,iBAAO,IAAIpwB,OAAJ,CAAY,UAACC,OAAD,EAAa;AAC5B,gBAAGg3B,OAAO,IAAIC,MAAd,EACA;AAEI,kBAAG,MAAI,CAAC3N,mBAAL,CAAyBuD,MAAzB,IAAiC,CAApC,EACA;AACI,sBAAI,CAACsgB,aAAL,CAAmBM,MAAnB,GAA4B5T,SAA5B,CAAsC,UAAChJ,IAAD,EAAY;AAE9C,wBAAI,CAACvH,mBAAL,GAAyBuH,IAAzB;AACAX,8BAAY,CAACiL,OAAb,CAAqB,qBAArB,EAA4CZ,IAAI,CAACa,SAAL,CAAe,MAAI,CAAC9R,mBAApB,CAA5C;AAEAtpB,yBAAO,CAAC,MAAI,CAAC0tC,mBAAL,CAAyB5U,KAAzB,CAAD,CAAP;AACF,iBANF;AAOF,eATF,MAUK;AACD94B,uBAAO,CAAC,MAAI,CAAC0tC,mBAAL,CAAyB5U,KAAzB,CAAD,CAAP;AAEF;AAEL,aAlBD,MAoBA;AACK94B,qBAAO,CAAC,MAAI,CAAC2tC,qBAAL,CAA2B7U,KAA3B,CAAD,CAAP;AACJ;AACH,WAxBK,CAAP,CALqC,CAgCrC;AACA;AACA;AACQ;AACA;AACA;AACA;AACA;AACR;AACA;AACA;AACA;AACA;AACA;AAEH;;;4CAE6BA,K,EAA6B;6BAAA,CACvD;AACA;;;AACA,cAAM8U,WAAW,GAAQ1d,YAAY,CAACC,OAAb,CAAqB,WAArB,CAAzB;AACA,cAAM6G,OAAO,GAAG8B,KAAK,CAACjI,IAAN,CAAWmG,OAA3B;AACA,cAAMC,MAAM,GAAG6B,KAAK,CAACjI,IAAN,CAAWoG,MAA1B;AACA,cAAMF,UAAU,GAAC+B,KAAK,CAACjI,IAAN,CAAWkG,UAA5B;AACA,cAAMyW,QAAQ,GAAQtd,YAAY,CAACC,OAAb,CAAqB,UAArB,CAAtB;AACA,cAAI7C,uBAAuB,GAAG,KAAKhE,mBAAL,CAAyBukB,MAAzB,CAAgC,UAAAnR,CAAC;AAAA,mBAAIA,CAAC,CAACoR,UAAF,IAAc9W,OAAlB;AAAA,WAAjC,CAA9B,CARuD,CASzD;;AACE,cAAI,CAAC4W,WAAL,EAAkB;AACf;AACC,iBAAKnV,MAAL,CAAYsV,aAAZ,CAA0B,GAA1B;AACH,WAHD,MAGO,IAAIP,QAAQ,IAAI,IAAZ,IAAoBI,WAAW,IAAI,IAAvC,EAA6C;AAEhD,gBAAG3W,MAAM,IAAE,WAAX,EACA;AACI,kBAAM+W,aAAa,GAAG,CAAH,KAAG1gB,uBAAuB,CAACugB,MAAxB,CAA+B,UAAAnR,CAAC;AAAA,uBAAEA,CAAC,CAACuR,SAAF,IAAeT,QAAjB;AAAA,eAAhC,EAA2D,CAA3D,OAA6D,IAA7D,IAA6D,aAA7D,GAA6D,MAA7D,GAA6D,GAAEU,SAArF;;AAEA,kBAAIF,aAAJ,EAAmB;AACf,uBAAO,IAAP;AAEH,eAHD,MAGO;AACHG,qBAAK,CAAC,6CAAD,CAAL,CADG,CAEH;;AACA,uBAAO,KAAP;AACH;AACJ,aAZD,MAYM,IAAGlX,MAAM,IAAE,YAAX,EACN;AACI,kBAAM+W,cAAa,GAAG,CAAH,KAAG1gB,uBAAuB,CAACugB,MAAxB,CAA+B,UAAAnR,CAAC;AAAA,uBAAEA,CAAC,CAACuR,SAAF,IAAeT,QAAjB;AAAA,eAAhC,EAA2D,CAA3D,OAA6D,IAA7D,IAA6D,aAA7D,GAA6D,MAA7D,GAA6D,GAAEY,UAArF;;AAEA,kBAAIJ,cAAJ,EAAmB;AACf,uBAAO,IAAP;AAEH,eAHD,MAGO;AACHG,qBAAK,CAAC,6CAAD,CAAL,CADG,CAEH;;AACA,uBAAO,KAAP;AACH;AACJ,aAZK,MAaD,IAAGlX,MAAM,IAAE,SAAX,EACL;AACI,kBAAM+W,eAAa,GAAG,CAAH,KAAG1gB,uBAAuB,CAACugB,MAAxB,CAA+B,UAAAnR,CAAC;AAAA,uBAAEA,CAAC,CAACuR,SAAF,IAAeT,QAAjB;AAAA,eAAhC,EAA2D,CAA3D,OAA6D,IAA7D,IAA6D,aAA7D,GAA6D,MAA7D,GAA6D,GAAEa,OAArF;;AAEA,kBAAIL,eAAJ,EAAmB;AACf,uBAAO,IAAP;AAEH,eAHD,MAGO;AACHG,qBAAK,CAAC,6CAAD,CAAL,CADG,CAEH;;AACA,uBAAO,KAAP;AACH;AACJ,aAZI,MAaA,IAAGlX,MAAM,IAAE,WAAX,EACL;AACI,kBAAM+W,eAAa,GAAG,CAAH,KAAG1gB,uBAAuB,CAACugB,MAAxB,CAA+B,UAAAnR,CAAC;AAAA,uBAAEA,CAAC,CAACuR,SAAF,IAAeT,QAAjB;AAAA,eAAhC,EAA2D,CAA3D,OAA6D,IAA7D,IAA6D,aAA7D,GAA6D,MAA7D,GAA6D,GAAEc,SAArF;;AAEA,kBAAIN,eAAJ,EAAmB;AACf,uBAAO,IAAP;AAEH,eAHD,MAGO;AACHG,qBAAK,CAAC,6CAAD,CAAL,CADG,CAEH;;AACA,uBAAO,KAAP;AACH;AACJ;AAIJ,WAxDM,MAwDA;AACH,iBAAK1V,MAAL,CAAYqC,QAAZ,CAAqB,CAAC/D,UAAD,CAArB;AACA,mBAAO,KAAP;AACH;AACJ;;;8CAGiC5F,I,EAAS;AACvC;AACA;AACA,cAAMyc,WAAW,GAAQ1d,YAAY,CAACC,OAAb,CAAqB,WAArB,CAAzB;AACA,cAAMqd,QAAQ,GAAQtd,YAAY,CAACC,OAAb,CAAqB,UAArB,CAAtB;;AACA,cAAI,CAACyd,WAAL,EAAkB;AACf;AACC,iBAAKnV,MAAL,CAAYsV,aAAZ,CAA0B,GAA1B;AACH,WAHD,MAGO,IAAIP,QAAQ,IAAI,IAAZ,IAAoBI,WAAW,IAAI,IAAvC,EAA6C;AAEhD,gBAAIzc,IAAI,CAACN,IAAL,CAAU+F,WAAV,CAAsBC,IAAtB,CAA2BgX,MAA3B,CAAkC,UAAAnR,CAAC;AAAA,qBAAIA,CAAC,IAAI8Q,QAAT;AAAA,aAAnC,EAAsD3gB,MAAtD,GAA+D,CAAnE,EAAsE;AAClE,qBAAO,IAAP;AAEH,aAHD,MAGO;AACHshB,mBAAK,CAAC,6CAAD,CAAL,CADG,CAEH;;AACA,qBAAO,KAAP;AACH;AACJ,WAVM,MAUA;AACH,iBAAK1V,MAAL,CAAYqC,QAAZ,CAAqB,CAAC3J,IAAI,CAACN,IAAL,CAAU+F,WAAV,CAAsBG,UAAvB,CAArB;AACA,mBAAO,KAAP;AACH;AACJ;;;;;;;uBA9JQkW,S,EAAS,8G,EAAA,4G,EAAA,kJ;AAAA,K;;;aAATA,S;AAAS,eAATA,SAAS;;;;;sEAATA,S,EAAS;cADrB;AACqB,Q;;;;;;;;;;;;;;;;;;;;;;;;;;ACdtB;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAgBasB,sB;AAMT,sCACWC,SADX,EAEYnhB,aAFZ,EAGoCwD,IAHpC,EAGoD;AAAA;;AAFzC,aAAA2d,SAAA,GAAAA,SAAA;AACC,aAAAnhB,aAAA,GAAAA,aAAA;AACwB,aAAAwD,IAAA,GAAAA,IAAA;AAC/B;;;;mCAEM;AACP,eAAKxD,aAAL,CAAmBgN,gBAAnB;AACH;;;oCAEQ;AACL;AACA,eAAKmU,SAAL,CAAeC,KAAf,CAAqB,IAArB;AACH;;;oCAEQ;AACL;AACA,eAAKD,SAAL,CAAeC,KAAf,CAAqB,KAArB;AACH;;;;;;;uBAxBQF,sB,EAAsB,sI,EAAA,sI,EAAA,gEASnB,wEATmB,C;AASJ,K;;;YATlBA,sB;AAAsB,yC;AAAA,e;AAAA,a;AAAA,sT;AAAA;AAAA;AChBnC;;AAEI;;AAAgD;;AAAc;;AAE9D;;AAAa;;AAAgB;;AAG7B;;AACI;;AAAQ;AAAA,mBAAS,IAAAG,SAAA,EAAT;AAAoB,WAApB;;AAA6E;;AAAG;;AAAS;;AACjG;;AAAQ;AAAA,mBAAS,IAAAC,SAAA,EAAT;AAAoB,WAApB;;AAA2E;;AAAE;;AACzF;;AACJ;;;;AAToD;;AAAA;;AAEnC;;AAAA;;;;;;;;;sEDYJJ,sB,EAAsB;cANlC,uDAMkC;eANxB;AACPlR,kBAAQ,EAAE,oBADH;AAEPC,qBAAW,EAAE,iCAFN;AAGPC,mBAAS,EAAE,CAAC,iCAAD;AAHJ,S;AAMwB,Q;;;;;;;;kBAS1B,oD;mBAAO,wE;;;;;;;;;;;;;;;;;;;;;AEzBhB;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAGaqR,4B;;;;;AAEZ,4CACSC,gBADT,EACmC;AAAA;;AAAA;;AAClC;AADQ,eAAAA,gBAAA,GAAAA,gBAAA;AAFT,eAAAC,QAAA,GAAW,IAAI,wDAAJ,CAAa,OAAb,CAAX;AAEmC;AAElC;;;;+BACMC,I,EAAmB;AACzB,cAAIA,IAAI,KAAK,IAAb,EAAmB;AAClB,mBAAO,EAAP;AACA;;AACD,cAAI;AACH,mBAAO,KAAKD,QAAL,CAAcE,SAAd,CAAwB,IAAIjuC,IAAJ,CAASguC,IAAI,CAACE,IAAd,EAAoBF,IAAI,CAACG,KAAL,GAAa,CAAjC,EAAoCH,IAAI,CAACI,GAAzC,CAAxB,EAAuE,aAAvE,CAAP;AACA,WAFD,CAEE,OAAOjvC,CAAP,EAAU;AACX,mBAAO,EAAP;AACA;AACD;;;8BACKksB,K,EAAa;AAClB,cAAIgjB,SAAJ;;AACA,cAAI,CAAChjB,KAAL,EAAY;AACXgjB,qBAAS,GAAG,IAAZ;AACA,WAFD,MAEO;AACN,gBAAI;AACH,kBAAIC,SAAS,GAAG,KAAKP,QAAL,CAAcE,SAAd,CAAwB5iB,KAAxB,EAA+B,OAA/B,EAAwCI,KAAxC,CAA8C,GAA9C,CAAhB;AACA4iB,uBAAS,GAAG;AAAEH,oBAAI,EAAEK,QAAQ,CAACD,SAAS,CAAC,CAAD,CAAV,CAAhB;AAAgCH,qBAAK,EAAEI,QAAQ,CAACD,SAAS,CAAC,CAAD,CAAV,CAA/C;AAA+DF,mBAAG,EAAEG,QAAQ,CAACD,SAAS,CAAC,CAAD,CAAV;AAA5E,eAAZ;AACA,aAHD,CAGE,OAAOnvC,CAAP,EAAU;AACXkvC,uBAAS,GAAG,IAAZ;AACA;AACD;;AACD,iBAAOA,SAAP;AACA;;;;MA7BgD,iF;;;;;;;;;;;;;;;;;ACHlD;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QASaG,kB;AAJb;AAAA;;AAKwB,aAAAC,SAAA,GAAsB,EAAtB;AAKvB;;;;iCAHYC,S,EAAoB;AACzB,iBAAO,kFAAU,KAAKD,SAAL,CAAe,CAAf,CAAV,EAA6B,KAAKA,SAAL,CAAe,CAAf,CAA7B,EAAgDC,SAAhD,CAAP;AACH;;;;;;;uBALQF,kB;AAAkB,K;;;YAAlBA,kB;AAAkB,wC;AAAA;AAAA;AAAA,O;AAAA,kFAFhB,CAAC;AAAE3D,eAAO,EAAE,4DAAX;AAA0B8D,mBAAW,EAAEH,kBAAvC;AAA2DzD,aAAK,EAAE;AAAlE,OAAD,CAEgB;;;;;sEAAlByD,kB,EAAkB;cAJ9B,uDAI8B;eAJpB;AACPlS,kBAAQ,EAAE,aADH;AAEP+O,mBAAS,EAAE,CAAC;AAAER,mBAAO,EAAE,4DAAX;AAA0B8D,uBAAW,EAAEH,kBAAvC;AAA2DzD,iBAAK,EAAE;AAAlE,WAAD;AAFJ,S;AAIoB,Q;;gBAC1B,mD;iBAAM,W;;;;;;;;;;;;;;;;;;;;ACVX;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAOa6D,0B;AACX,0CAAoBC,EAApB,EAAoC;AAAA;;AAAhB,aAAAA,EAAA,GAAAA,EAAA;AAAkB;;;;uCAGvB;AACb,cAAMC,cAAc,GAAG,KAAKD,EAAL,CAAQE,aAAR,CAAsBC,aAAtB,CAAoC,aAApC,CAAvB;;AAEA,cAAIF,cAAJ,EAAoB;AAClBA,0BAAc,CAACG,KAAf;AACD;AACF;;;;;;;uBAVUL,0B,EAA0B,yH;AAAA,K;;;YAA1BA,0B;AAA0B,mD;AAAA;AAAA;;mBAA1B,kB;AAAc,W;;;;;;;sEAAdA,0B,EAA0B;cAHtC,uDAGsC;eAH5B;AACTtS,kBAAQ,EAAE;AADD,S;AAG4B,Q;;;;;;gBAGpC,0D;iBAAa,Q;;;;;;;;;;;;;;;;;;;;ACVhB;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;ACqCwC;;AAEI;;AACJ;;;;;;;;AAQA;;AACI;;AAEQ;;AAAK;;AACyC;;AAChB;AAAA;;AAAA;;AAAA;AAAA;;AACP;;AACvB;;AACR;;AAEJ;;;;;;AAPiB;;AAAA;;;;;;;;;;QDzC5C4S,uB;AAKX,uCAAoBvX,MAApB,EAAkDwX,KAAlD,EAAmFC,WAAnF,EAAwH9iB,aAAxH,EAAsJ;AAAA;;AAAlI,aAAAqL,MAAA,GAAAA,MAAA;AAA8B,aAAAwX,KAAA,GAAAA,KAAA;AAAiC,aAAAC,WAAA,GAAAA,WAAA;AAAqC,aAAA9iB,aAAA,GAAAA,aAAA;AAJxH,aAAA+iB,eAAA,GAA4B,CAAC,YAAD,EAAe,WAAf,EAA4B,WAA5B,CAA5B;AAEA,aAAAC,eAAA,GAAsB,EAAtB;AACS,aAAA9W,UAAA,GAAsB,KAAtB;AACgJ;;;;mCAEjJ,CACP;;;uCAEcK,K,EAAO;AAElB,cAAI0W,IAAI,GAAG1W,KAAK,CAAC4C,MAAN,CAAa+T,KAAb,CAAmB,CAAnB,CAAX;AACA,cAAIC,WAAW,GAAG,IAAlB;;AACA,cAAMF,IAAI,CAACG,IAAN,GAAc,OAAf,IAA2B,CAA/B,EAAkC;AAEhCD,uBAAW,GAAG,KAAKJ,eAAL,CAAqBM,QAArB,CAA8BJ,IAAI,CAACtc,IAAnC,CAAd;;AACA,gBAAI,CAACwc,WAAL,EAAkB;AAChB,mBAAK9X,MAAL,CAAY2D,OAAZ,CAAoB,iEAApB,EADgB,CAEhB;;AACAmU,yBAAW,GAAG,KAAd;AACD,aAJD,MAIO,IAAIF,IAAI,CAACnjB,IAAL,CAAUN,MAAV,GAAmB,EAAvB,EAA2B;AAChC,mBAAK6L,MAAL,CAAY2D,OAAZ,CAAoB,6DAApB;AACAmU,yBAAW,GAAG,KAAd;AACD;AACF,WAXD,MAYK;AACH,iBAAK9X,MAAL,CAAY2D,OAAZ,CAAoB,8CAApB,EADG,CAEH;;AACAmU,uBAAW,GAAG,KAAd;AACD;;AACD,cAAIA,WAAJ,EAAiB;AACf,iBAAKH,eAAL,GAAuB,EAAvB;AACA,iBAAKA,eAAL,CAAqB5e,IAArB,CAA0B6e,IAA1B;AACD;AACJ;;;4CAEgB;AAEf,eAAKD,eAAL,GAAuB,EAAvB;AACD;;;mCAEU;AAAA;;AACT,cAAMM,OAAO,GAAG,IAAIC,QAAJ,EAAhB;;AACA,cAAI,KAAKP,eAAL,IAAwB,IAA5B,EAAkC;AAE9BM,mBAAO,CAAC3f,MAAR,CAAe,UAAf,EAA2B,KAAKqf,eAAL,CAAqB,CAArB,CAA3B;AAEJ,iBAAKhjB,aAAL,CAAmB4E,QAAnB,CAA4B,SAA5B,EAAuC,KAAvC,EAA8C0e,OAA9C,EAAuD,IAAvD,EAA6D9W,SAA7D,CAAuE,UAAChJ,IAAD,EAAe;AAEpF,kBAAIA,IAAI,CAACuL,YAAL,IAAqB,CAAzB,EAA4B;AAC1B,uBAAI,CAAC1D,MAAL,CAAY8C,OAAZ,CAAoB,sCAApB;;AACA,uBAAI,CAACqV,UAAL;;AACA,uBAAI,CAACtX,UAAL,GAAkB,KAAlB;AACD,eAJD,MAKK;AACH,uBAAI,CAACb,MAAL,CAAYmD,KAAZ,CAAkB,6BAAlB;;AACA,uBAAI,CAACgV,UAAL;;AACA,uBAAI,CAACtX,UAAL,GAAkB,KAAlB;AACD;AAGF,aAdD,EAcG,UAAAsC,KAAK,EAAI;AACV,qBAAI,CAACnD,MAAL,CAAYmD,KAAZ,CAAkB,wCAAlB;;AACA,qBAAI,CAACgV,UAAL;;AACA,qBAAI,CAACtX,UAAL,GAAkB,KAAlB;AACD,aAlBD;AAmBD,WAvBC,MAwBE;AACF4U,iBAAK,CAAC,gCAAD,CAAL;AACD;AAEA;;;qCACY;AACX,eAAKgC,WAAL,CAAiB1B,KAAjB,CAAuB,aAAvB;AACD;;;;;;;uBA3EUwB,uB,EAAuB,yH,EAAA,gI,EAAA,0I,EAAA,sI;AAAA,K;;;YAAvBA,uB;AAAuB,0C;AAAA;AAAA;AAAA,O;AAAA,e;AAAA,a;AAAA,2/C;AAAA;AAAA;;;ACVpC;;AACA;;AAGI;;AAEI;;AACI;;AACI;AAAA;;AAAA;;AAAA;AAAA;;AACA;;AAEI;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AACJ;;AACJ;;AACJ;;AACJ;;AACA;;AACI;;AACI;;AAEI;;AAAwC;;AAAa;;AAC1B;;AAAO;;AAAO;;AAC7C;;AACI;;AACI;;AACA;;AACI;AAAA,mBAAU,IAAAa,cAAA,QAAV;AAAgC,WAAhC,EAAiC,eAAjC,EAAiC;AAAA;AAAA,WAAjC;;AADJ;;AAKJ;;AACA;;AAOA;;AAEA;;AACI;;AAA2C;;AAC/C;;AAWJ;;AACA;;AAEJ;;AACJ;;AACJ;;AACJ;;AACA;;AACI;;AAAgI;AAAA,mBAAS,IAAAC,QAAA,EAAT;AAAmB,WAAnB;;AACvG;;AAAM;;AAAS;;AACxC;;AAA4C;AAAA,mBAAS,IAAAF,UAAA,EAAT;AAAqB,WAArB;;AACnB;;AAAK;;AAClC;;AACJ;;AAEJ;;AACJ;;AACJ;;AACJ;;;;;;AA7EQ;;AAiCwC;;AAAA,4FAAsB,SAAtB,EAAsB,uIAAtB;;AAIH;;AAAA;;AAWC;;AAAA;;AAmBd;;AAAA;;;;;;;;;sEDzDnBZ,uB,EAAuB;cALnC,uDAKmC;eALzB;AACT5S,kBAAQ,EAAE,qBADD;AAETC,qBAAW,EAAE,kCAFJ;AAGTC,mBAAS,EAAE,CAAC,kCAAD;AAHF,S;AAKyB,Q;;;;;;;;;;;;gBAIjC;;;;;;;;;;;;;;;;;;;;AEdH;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAUayT,e;AAIX,+BAAoB3jB,aAApB,EAAyD2L,gBAAzD,EAA6F;AAAA;;AAAzE,aAAA3L,aAAA,GAAAA,aAAA;AAAqC,aAAA2L,gBAAA,GAAAA,gBAAA;AAFzD,aAAAiY,QAAA,GAAmB,IAAIlwC,IAAJ,GAAWmwC,WAAX,EAAnB;AAEgG;;;;mCAExF;AACN,cAAMpX,SAAS,GAAG,KAAKd,gBAAL,CAAsBe,SAAtB,EAAlB;AACA,eAAKoX,UAAL,GAAkBrX,SAAS,CAACqX,UAA5B;AACA,eAAK9jB,aAAL,CAAmBgN,gBAAnB;AACD;;;sCAGa;AACZ;AAEA,cAAM+W,cAAc,GAAGnW,MAAM,CAACoW,WAAP,IAAsB1U,QAAQ,CAAC2U,eAAT,CAAyBC,SAA/C,IAA4D5U,QAAQ,CAAC6U,IAAT,CAAcD,SAA1E,IAAuF,CAA9G;AAEA,cAAIE,GAAG,GAAG9U,QAAQ,CAACC,cAAT,CAAwB,SAAxB,CAAV;;AACA,cAAIwU,cAAc,GAAG,GAArB,EAA0B;AACxBK,eAAG,CAACC,SAAJ,CAAcC,GAAd,CAAkB,MAAlB;AACD,WAFD,MAEO;AACLF,eAAG,CAACC,SAAJ,CAAcE,MAAd,CAAqB,MAArB;AACD;AACF,S,CAED;;;;kCACU;AACR3W,gBAAM,CAACC,MAAP,CAAc;AACZ3F,eAAG,EAAE,CADO;AAEZE,gBAAI,EAAE,CAFM;AAGZoc,oBAAQ,EAAE;AAHE,WAAd;AAKD;;;;;;;uBAjCUb,e,EAAe,sI,EAAA,6I;AAAA,K;;;YAAfA,e;AAAe,iC;AAAA;AAAA;;mBAAf,iB;AAAa,W,EAAA,K,EAAA,6D;;;;;;;;ACV1B;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AACJ;;AACJ;;AAEA;;AACI;;AAAqB;AAAA,mBAAS,IAAAc,OAAA,EAAT;AAAkB,WAAlB;;AAAsC;;AACY;;AAC3E;;AACJ;;AACJ;;AACJ;;AACJ;;;;AAXwB;;AAAA;;;;;;;;sEDIXd,e,EAAe;cAL3B,uDAK2B;eALjB;AACT3T,kBAAQ,EAAE,YADD;AAETC,qBAAW,EAAE,yBAFJ;AAGTC,mBAAS,EAAE,CAAC,yBAAD;AAHF,S;AAKiB,Q;;;;;;;;gBAYzB,0D;iBAAa,e;;;;;;;;;;;;;;;;;;;;AEtBhB;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;ACWQ;;AACI;;AACJ;;;;;;;;;;;;;;;;QDHKwU,uB;AAKX,uCACU1kB,aADV,EAESmhB,SAFT,EAEkE0B,KAFlE,EAE4F;AAAA;;AADlF,aAAA7iB,aAAA,GAAAA,aAAA;AACD,aAAAmhB,SAAA,GAAAA,SAAA;AAAyD,aAAA0B,KAAA,GAAAA,KAAA;AAJlE,aAAAhX,cAAA,GAAgC,IAAI,kEAAJ,EAAhC;AAI+F;;;;mCAEvF;AACN,eAAK7L,aAAL,CAAmBgN,gBAAnB;AACD;;;0CAEiB;AAChB,eAAK6V,KAAL,CAAWtU,aAAX;AACD;;;oCAEQ;AACP,eAAK4S,SAAL,CAAeC,KAAf;AAED;;;;;;;uBApBUsD,uB,EAAuB,sI,EAAA,sI,EAAA,gI;AAAA,K;;;YAAvBA,uB;AAAuB,0C;AAAA,e;AAAA,c;AAAA,ie;AAAA;AAAA;ACVpC;;AACI;;AACJ;;AACA;;AACI;;AACI;;AAAW;;AAAQ;;AACnB;;AAAgC;AAAA;AAAA,aAAqC,QAArC,EAAqC;AAAA,iDAG/B,IAAA7Y,cAAA,gBAH+B;AAGD,WAHpC;;AAAhC;;AAKA;;AAGJ;;AAAiB;;AAErB;;AACA;;AACI;;AAE6C;;AAAM;;AAAS;;AAC5D;;AAAQ;AAAA,mBAAS,IAAA8Y,SAAA,EAAT;AAAoB,WAApB;;AAA2E;;AAAM;;AAC7F;;;;;;AAhBwC;;AAAA,2GAAqC,SAArC,EAAqC,kFAArC,EAAqC,SAArC,EAAqC,uIAArC;;AAKrB;;AAAA;;AAOP;;AAAA,2GAAmC,SAAnC,EAAmC,yGAAnC,EAAmC,UAAnC,EAAmC,iCAAnC;;;;;;;;;sEDRCD,uB,EAAuB;cALnC,uDAKmC;eALzB;AACT1U,kBAAQ,EAAE,qBADD;AAETC,qBAAW,EAAE,kCAFJ;AAGTC,mBAAS,EAAE,CAAC,kCAAD;AAHF,S;AAKyB,Q;;;;;;;;;;;;;;;;;;;;;;;;;;AEVpC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;AC6DoC;;AACI;;AAAwC;;AAAO;;AAC/C;;AACA;;AAEJ;;;;;;AAUoB;;AACyB;;AAEK;;AAClB;;AAAiC;;AACgB;;AAChC;;AACjB;;AAAO;;AAAO;;AAAI;;;;;;AAC9B;;AAAgF;;AAGlD;;AAClB;;AAAiC;;AACgB;;AAChC;;AAAQ;;AAAO;;AAAO;;AACnD;;;;;;AACA;;AAEA;;AAE0B;;AAClB;;AAAiC;;AACkB;;AAC3C;;AACR;;AAAO;;AAAO;;AAC1B;;;;;;;;;;;;;;;;AA4EgC;;AAGI;;AACI;;AAQI;;AAGI;;AAEgC;;AAAmB;;AAEvD;;AAEJ;;AAEJ;;AAEJ;;;;;;AAhBY;;AAAA;;AAGG;;AAAA;;AAKK;;AAAA;;AAA4B;;AAAA;;;;;;AAzD5E;;AAII;;AAGI;;AAAmC;;AAAY;;AAC/C;;AACA;;AACJ;;AACA;;AAEI;;AAEI;;AAEI;;AAE0B;;AACQ;;AACpB;;AAAO;;AACzB;;AACA;;AAEI;;AAGI;;AAAmC;;AACzB;;AACV;;AAEA;;AAEJ;;AACA;;AAEI;;AACI;;AAEI;;AA0BJ;;AACJ;;AACJ;;AACJ;;AAEJ;;AACJ;;AACJ;;;;;;AA/BgC;;AAAA;;;;;;AArExD;;AAGI;;AACI;;AAAgD;;AAAY;;AAC5D;;AACA;;AAEJ;;AACA;;AAEI;;AACA;;AACI;;AACI;;AACI;;AAYI;;AA2EJ;;AAEJ;;AAGJ;;AACJ;;AACJ;;AACJ;;;;;;AAnF4B;;AAAA;;;;;;AAuGJ;;AACyB;;AAEK;;AAClB;;AAAiC;;AACkB;;AACnB;;AAChC;;AAAO;;AAAO;;AAC1B;;;;;;;;;;AACA;;AACyB;;AAGK;;AAClB;;AAAiC;;AACkB;;AACpC;;AACf;;AAAO;;AAAO;;AAAI;;;;AANtB;;AAAA;;;;;;AAOR;;AACyB;;AAEK;;AAClB;;AAAiC;;AACkB;;AAAQ;;AAC3D;;AAAO;;AAAO;;AAAI;;;;;;AAC9B;;AACyB;;AAEK;;AAClB;;AAAiC;;AACkB;;AAAQ;;AAC3D;;AAAO;;AAAO;;AAAI;;;;;;AAC9B;;AACI;;AAE0B;;AAClB;;AAAiC;;AACkB;;AAAK;;AACxD;;AAAO;;AAAO;;AAC1B;;;;;;AACA;;AAEI;;AAE0B;;AAClB;;AAAiC;;AACkB;;AAAsB;;AACzE;;AAAO;;AAAO;;AAC1B;;;;;;AACA;;AAEI;;AAA8F;;AAEtF;;AAAiC;;AAAiD;;AAChE;;AAClB;;AAAO;;AAAO;;AAC1B;;;;;;AAIC;;AACG;;AAE0B;;AAClB;;AAAiC;;AACkB;;AAAQ;;AAC3D;;AAAO;;AAAO;;AAC1B;;;;;;AACA;;AACI;;AAE0B;;AAClB;;AAAiC;;AACkB;;AAAwB;;AAC3E;;AAAO;;AAAO;;AAC1B;;;;;;AA6BA;;AACyB;;AAEK;;AAClB;;AAAiC;;AACmB;;AACxC;;AACZ;;AAAO;;AAAO;;AAAI;;;;;;AAC9B;;AAAoF;;AAGtD;;AAClB;;AAAiC;;AACmB;;AACxC;;AAAQ;;AAAO;;AAAO;;AAC9C;;;;;;AACA;;AAAoF;;AAGtD;;AAClB;;AAAiC;;AACmB;;AACxC;;AAAQ;;AAAO;;AAAO;;AAC9C;;;;;;AACA;;AAAoF;;AAGtD;;AAClB;;AAAiC;;AACmB;;AACxC;;AAAQ;;AAAO;;AAAO;;AAC9C;;;;;;AACA;;AAAkF;;AAGpD;;AAClB;;AAAiC;;AACmB;;AACpC;;AAAQ;;AAAO;;AAAO;;AAClD;;;;;;AAIA;;AACwC;;AAC0B;;AAChC;;AAAe;;AAAO;;AAAI;;;;;;AAqC5D;;AACyB;;AAEK;;AAClB;;AAAiC;;AACsB;;AACrC;;AAClB;;AAAO;;AAAO;;AAC1B;;;;;;AAYA;;AAAuF;;AACzD;;AAClB;;AAAiC;;AAAqD;;AACvE;;AAEf;;AAAO;;AAAO;;AAE1B;;;;;;AAEA;;AACyB;;AAEK;;AAClB;;AAAiC;;AACsB;;AAC3C;;AACZ;;AAAO;;AAAO;;AAC1B;;;;;;AAEA;;AACyB;;AAEK;;AAClB;;AAAiC;;AACsB;;AAAmB;;AAC1E;;AAAO;;AAAO;;AAC1B;;;;;;AA/DxB;;AAGI;;AACI;;AAA8C;;AAAmB;;AACjE;;AACA;;AACJ;;AACA;;AAEI;;AACA;;AACI;;AAEI;;AACI;;AAEI;;AAoBA;;AASA;;AAUA;;AAQJ;;AACJ;;AAEJ;;AACJ;;AACJ;;AACJ;;;;;;AArD4B;;AAAA;;AAoBA;;AAAA;;AASqB;;AAAA;;AAUA;;AAAA;;;;;;AAgBjD;;AAEA;;AACkE;;AAE1D;;AAAwD;;AAAO;;AAC3E;;;;QDndf0U,e;AA+BX,+BAAoBxZ,MAApB,EAA4C+T,QAA5C,EAAwEnf,aAAxE,EACUqL,MADV,EACyCwZ,IADzC,EACiEvZ,MADjE,EAC2FwZ,YAD3F,EAC2HnZ,gBAD3H,EAC+J;AAAA;;AAD3I,aAAAP,MAAA,GAAAA,MAAA;AAAwB,aAAA+T,QAAA,GAAAA,QAAA;AAA4B,aAAAnf,aAAA,GAAAA,aAAA;AAC9D,aAAAqL,MAAA,GAAAA,MAAA;AAA+B,aAAAwZ,IAAA,GAAAA,IAAA;AAAwB,aAAAvZ,MAAA,GAAAA,MAAA;AAA0B,aAAAwZ,YAAA,GAAAA,YAAA;AAAgC,aAAAnZ,gBAAA,GAAAA,gBAAA;AA7B3H,aAAAO,UAAA,GAAsB,KAAtB;AACA,aAAA6Y,QAAA,GAAW,oDAAX;AACA,aAAAC,UAAA,GAAiC,IAAI,4EAAJ,EAAjC;AACA,aAAAC,aAAA,GAAiC,EAAjC;AAIA,aAAAhpB,mBAAA,GAA4C5c,KAAK,EAAjD;AACA,aAAA4gB,uBAAA,GAA8B,EAA9B;AACA,aAAApT,cAAA,GAA6BxN,KAAK,EAAlC;AACA,aAAA0gC,GAAA,GAAM,IAAIC,GAAJ,EAAN;AAEA,aAAAkF,aAAA,GAAyB,KAAzB;AACA,aAAAC,UAAA,GAAsB,KAAtB;AACA,aAAAC,OAAA,GAAmB,KAAnB;AACA,aAAAC,UAAA,GAAsB,KAAtB;AACA,aAAAC,WAAA,GAAuB,KAAvB;AACA,aAAAC,cAAA,GAA0B,KAA1B;AACA,aAAAC,gBAAA,GAA4B,KAA5B;AACA,aAAAC,sBAAA,GAAkC,KAAlC;AACA,aAAAC,QAAA,GAAoB,KAApB;AAGA,aAAAC,mBAAA,GAA+B,KAA/B;AACA,aAAAC,cAAA,GAA0B,KAA1B;AACA,aAAAC,cAAA,GAAwB,KAAxB;AAIkK;;;;mCAEvJ;AAAA;;AAET,eAAK3Z,UAAL,GAAkB,IAAlB;AACA,eAAK4Z,YAAL,GAAoB,KAAKna,gBAAL,CAAsBe,SAAtB,GAAkCoZ,YAAtD;AACA,eAAKroB,IAAL,GAAYoF,YAAY,CAACC,OAAb,CAAqB,UAArB,CAAZ;AACA,eAAK9C,aAAL,CAAmBgN,gBAAnB;AACA,eAAK+Y,cAAL;;AAGA,cAAI,KAAKtoB,IAAL,IAAa,KAAKsnB,QAAL,CAAcrnB,KAA3B,IAAoC,KAAKD,IAAL,IAAa,KAAKsnB,QAAL,CAAc5mB,aAA/D,IAAgF,KAAKV,IAAL,IAAa,KAAKsnB,QAAL,CAAc3mB,GAA/G,EAAoH;AAClH,iBAAK4nB,qBAAL,GAA6B,KAA7B;AACD;;AACD,cAAI,EAAE,KAAKvoB,IAAL,IAAa,KAAKsnB,QAAL,CAAcrnB,KAA3B,IAAoC,KAAKD,IAAL,IAAa,KAAKsnB,QAAL,CAAc5mB,aAA/D,IAAgF,KAAKV,IAAL,IAAa,KAAKsnB,QAAL,CAAc3mB,GAA7G,CAAJ,EAAuH;AACrH,iBAAK4nB,qBAAL,GAA6B,IAA7B;AACD;;AACD1W,kBAAQ,CAACC,cAAT,CAAwB,YAAxB,EAAsCpH,KAAtC,CAA4CqH,OAA5C,GAAsD,MAAtD;AACAF,kBAAQ,CAACC,cAAT,CAAwB,iBAAxB,EAA2CpH,KAA3C,CAAiDqH,OAAjD,GAA2D,MAA3D;AACAF,kBAAQ,CAACC,cAAT,CAAwB,WAAxB,EAAqCpH,KAArC,CAA2CqH,OAA3C,GAAqD,MAArD;;AAEA,cAAI,KAAKxP,aAAL,CAAmBimB,OAAnB,IAA8Bj0B,SAAlC,EAA6C;AAC3C,iBAAKgO,aAAL,CAAmBimB,OAAnB,GAA6B,KAAKjmB,aAAL,CAC3BwC,aAD2B,CACbgK,SADa,CACH,UAAC1M,IAAD,EAAkB;AACxC,qBAAI,CAAComB,kBAAL;;AACA,qBAAI,CAACC,0BAAL;AAED,aAL0B,CAA7B;AAOD;AACF;;;gDAEuB;AACtB,eAAKC,uBAAL,GAA+B,CAAC,KAAKA,uBAArC;AACD;;;yCAEgB;AAAA;;AACf,eAAKla,UAAL,GAAkB,IAAlB;AACA,eAAKlM,aAAL,CAAmBqmB,sBAAnB,GAA4C7Z,SAA5C,CAAsD,UAAChJ,IAAD,EAAa;AACjE,mBAAI,CAACvH,mBAAL,GAAyBuH,IAAzB;AACA,mBAAI,CAACvD,uBAAL,GAA+B,OAAI,CAAChE,mBAAL,CAAyBukB,MAAzB,CAAgC,UAAAnR,CAAC;AAAA,qBAAIA,CAAC,CAACuR,SAAF,IAAe,OAAI,CAACnjB,IAAxB;AAAA,aAAjC,CAA/B;;AAEA,mBAAI,CAACwC,uBAAL,CAA6BgE,OAA7B,CAAqC,UAAAqiB,GAAG,EAAE;AAEtC,kBAAIC,GAAG,GAAG,IAAI,sEAAJ,EAAV;AACAA,iBAAG,CAAC9F,UAAJ,GAAe6F,GAAG,CAAC7F,UAAnB;AACA8F,iBAAG,CAACC,YAAJ,GAAiBF,GAAG,CAACtF,OAArB;;AACA,qBAAI,CAACn0B,cAAL,CAAoBuX,IAApB,CAAyBmiB,GAAzB;AAED,aAPH;;AAQI,mBAAI,CAACra,UAAL,GAAkB,IAAlB;;AACA,mBAAI,CAACrf,cAAL,CAAoBoX,OAApB,CAA4B,UAAAwiB,OAAO,EAAI;AACvC,qBAAI,CAAC1G,GAAL,CAAS/c,GAAT,CAAayjB,OAAO,CAAChG,UAArB,EAAgCgG,OAAO,CAACD,YAAxC;AAED,aAHC;AAIL,WAjBD;AAkBA,eAAKta,UAAL,GAAkB,KAAlB,CApBe,CAqBf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACD;;;sCAEa;AACZ,eAAKd,MAAL,CAAYsV,aAAZ,CAA0B,YAA1B;AACD;;;6CAEoB;AAAA;;AACnB,eAAKxU,UAAL,GAAkB,IAAlB;AAEA,eAAKlM,aAAL,CAAmB0mB,kBAAnB,CAAsC,SAAtC,EAAiD,oBAAjD,EAAuEla,SAAvE,CAAiF,UAAChJ,IAAD,EAAe;AAC9F,mBAAI,CAACwhB,UAAL,GAAkBxhB,IAAlB;AACAX,wBAAY,CAACiL,OAAb,CAAqB,UAArB,EAAiCtK,IAAI,CAACmjB,QAAtC;AACD,WAHD,EAGG,UAAAnY,KAAK,EAAI;AACV,mBAAI,CAACnD,MAAL,CAAYmD,KAAZ,CAAkB,sBAAlB;AAED,WAND;AAOA,eAAKtC,UAAL,GAAkB,KAAlB;AACD;;;qDAG4B;AAAA;;AAC3B,eAAKA,UAAL,GAAkB,IAAlB;AACA,eAAKlM,aAAL,CAAmBE,OAAnB,CAA2B,eAA3B,EAA4C,QAA5C,EAAsD,IAAtD,EAA4DsM,SAA5D,CAAsE,UAAChJ,IAAD,EAAe;AAEnF,mBAAI,CAACyhB,aAAL,GAAqBzhB,IAArB;AACA,mBAAI,CAAC0I,UAAL,GAAkB,KAAlB;AACD,WAJD,EAIG,UAAAsC,KAAK,EAAI;AACV,mBAAI,CAACnD,MAAL,CAAYmD,KAAZ,CAAkB,sBAAlB;;AACA,mBAAI,CAACtC,UAAL,GAAkB,KAAlB;AAED,WARD;AASD;;;iCAEQ;AAAA;;AACP,eAAKA,UAAL,GAAkB,IAAlB;AACA,eAAKlM,aAAL,CAAmB4E,QAAnB,CAA4B,SAA5B,EAAuC,QAAvC,EAAiD,IAAjD,EAAuD,IAAvD,EAA6D4H,SAA7D,CAAuE,UAAChJ,IAAD,EAAe;AACpF,gBAAIA,IAAI,CAACuL,YAAL,IAAqB,CAAzB,EAA4B;AAC1B,qBAAI,CAAC1D,MAAL,CAAY8C,OAAZ,CAAoB,sBAApB;;AACAtL,0BAAY,CAACwL,UAAb,CAAwB,WAAxB;AACAxL,0BAAY,CAAC4c,KAAb;;AACA,qBAAI,CAACN,QAAL,CAAcO,YAAd,CAA2B,OAA3B;;AACA,qBAAI,CAACxT,UAAL,GAAkB,KAAlB;AACA0B,oBAAM,CAACuR,QAAP,CAAgBQ,MAAhB;AACD,aAPD,MAQK;AACH,qBAAI,CAACtU,MAAL,CAAYmD,KAAZ,CAAkB,mBAAlB;;AACA,qBAAI,CAACtC,UAAL,GAAkB,KAAlB;AACD;AACF,WAbD,EAaG,UAAAsC,KAAK,EAAI;AACV,mBAAI,CAACnD,MAAL,CAAYmD,KAAZ,CAAkB,oBAAlB;;AACA,mBAAI,CAACtC,UAAL,GAAkB,KAAlB;AACD,WAhBD;AAiBD;;;qCAIY;AACX,cAAImD,CAAC,GAAGC,QAAQ,CAACC,cAAT,CAAwB,eAAxB,CAAR;;AACA,cAAIF,CAAC,CAAClH,KAAF,CAAQqH,OAAR,KAAoB,OAAxB,EAAiC;AAC/BH,aAAC,CAAClH,KAAF,CAAQqH,OAAR,GAAkB,MAAlB;AACD,WAFD,MAEO;AACLH,aAAC,CAAClH,KAAF,CAAQqH,OAAR,GAAkB,OAAlB;AACD;AACF;;;sCAEa;AACZ,cAAIH,CAAC,GAAGC,QAAQ,CAACC,cAAT,CAAwB,iBAAxB,CAAR;;AACA,cAAIF,CAAC,CAAClH,KAAF,CAAQqH,OAAR,KAAoB,OAAxB,EAAiC;AAC/BH,aAAC,CAAClH,KAAF,CAAQqH,OAAR,GAAkB,MAAlB;AACD,WAFD,MAEO;AACLH,aAAC,CAAClH,KAAF,CAAQqH,OAAR,GAAkB,OAAlB;AACD;AACF;;;qCAGY;AAAA;;AAEX,cAAMoX,QAAQ,GAAG,KAAK9B,YAAL,CAAkBnW,IAAlB,CAAuB,kGAAvB,EAAgD;AAC/DyU,gBAAI,EAAE,IADyD;AACnDyD,oBAAQ,EAAE,QADyC;AAC/BC,oBAAQ,EAAE;AADqB,WAAhD,CAAjB;AAKAF,kBAAQ,CAAC3nB,MAAT,CAAgBrsB,IAAhB,CAAqB,UAACqsB,MAAD,EAAY;AAC/B,mBAAI,CAAC8nB,WAAL,yBAAkC9nB,MAAlC;;AACA,gBAAI,OAAI,CAAC8nB,WAAL,KAAqB,yBAAzB,EAAoD,CACnD;AACF,WAJD;AAKD;;;iCAGQ5iB,G,EAAW;AAClB,iBAAO,KAAK4b,GAAL,CAAS9c,GAAT,CAAakB,GAAb,CAAP;AACF;;;yCAEiBA,G,EAAW;AAC1B,iBAAO,KAAK4b,GAAL,CAAS9c,GAAT,CAAakB,GAAb,CAAP;AACF;;;;;;;uBApMWygB,e,EAAe,uH,EAAA,yH,EAAA,sI,EAAA,yH,EAAA,yH,EAAA,mI,EAAA,qI,EAAA,8I;AAAA,K;;;YAAfA,e;AAAe,iC;AAAA;AAAA;AAAA,O;AAAA,gB;AAAA,c;AAAA,qiT;AAAA;AAAA;ACpB5B;;AACA;;AAEI;;AACI;;AACI;;AAGI;;AACI;;AAMI;;AAEI;;AAA2B;;AAAmC;;AAClE;;AAEA;;AAGI;;AAA0C;AAAA,mBAAS,IAAAoC,UAAA,EAAT;AAAqB,WAArB;;AAEtC;;AACJ;;AAKA;;AACoE;AAAA,mBAAS,IAAAC,WAAA,EAAT;AAAsB,WAAtB;;AAChE;;AACJ;;AAGJ;;AAEJ;;AACJ;;AAGA;;AACI;;AAEI;;AAEI;;AAE8C;AAAA,mBAAS,IAAAD,UAAA,EAAT;AAAqB,WAArB;;AAAuB;;AACrC;;AAChC;;AACI;;AAAmE;;AAErC;;AAAgC;;AAAS;;AAAO;;AAAI;;AAElF;;AAGI;;AAMA;;AAEI;;AACA;;AACI;;AAEI;;AACI;;AAEI;;AAQA;;AAQA;;AAUJ;;AACJ;;AAEJ;;AACJ;;AACJ;;AACJ;;AAEA;;AAgHA;;AAGI;;AACI;;AAA0C;;AAAc;;AACxD;;AACA;;AAEJ;;AAEA;;AAEI;;AACA;;AACI;;AACI;;AACI;;AAEI;;AASA;;AASA;;AAOA;;AAOA;;AAQA;;AASA;;AAWC;;AAQD;;AAQJ;;AAEJ;;AAGJ;;AACJ;;AACJ;;AACJ;;AAEA;;AAGI;;AACI;;AAA2C;;AAAO;;AAClD;;AACA;;AAEJ;;AACA;;AAEI;;AACA;;AACI;;AAEI;;AACI;;AAEI;;AAQA;;AAQA;;AAQA;;AAQA;;AAWA;;AAYJ;;AACJ;;AAEJ;;AACJ;;AACJ;;AACJ;;AAKA;;AAwEA;;AAOJ;;AACJ;;AACJ;;AACJ;;AAEA;;AACI;;AACI;;AACI;;AAEI;;AAEI;;AACI;;AAAgC;;AAAa;;AAC7C;;AAA6D;;AAAmB;;AACpF;;AACA;;AAGI;;AACI;;AAEI;;AACI;;AAKA;;AACI;;AACgC;;AAAmB;;AACnD;;AAEiC;;AAAoB;;AACzD;;AACJ;;AACJ;;AACA;;AACI;;AACI;;AACI;;AACI;;AAAkC;;AAAO;;AAC7C;;AACA;;AACI;;AAEI;;AACA;;AACI;;AACI;;AAA+B;;AAAW;;AAE9C;;AACJ;;AACJ;;AACJ;;AAEA;;AAEA;;AACI;;AAAG;AAAA,mBAAS,IAAAE,MAAA,EAAT;AAAiB,WAAjB;;AAC0F;;AACtF;;AAIX;;AACJ;;AACJ;;AACJ;;AACJ;;AACJ;;AACJ;;AAEJ;;AACJ;;AACJ;;AACJ;;AAGJ;;AACJ;;AACJ;;AAEJ;;;;AA3jBQ;;AAiB2D;;AAAA;;AA2CP;;AAAA;;AAeA;;AAAA;;AAQA;;AAAA;;AAQA;;AAAA;;AAmB+B;;AAAA;;AAiI/B;;AAAA;;AASA;;AAAA;;AASA;;AAAA;;AAOA;;AAAA;;AAOA;;AAAA;;AAQA;;AAAA;;AASA;;AAAA;;AAWC;;AAAA;;AAQD;;AAAA;;AAoCA;;AAAA;;AAQA;;AAAA;;AAQA;;AAAA;;AAQA;;AAAA;;AAQA;;AAAA;;AAWqB;;AAAA;;AAwBU;;AAAA;;AAuElC;;AAAA;;AAqB4C;;AAAA;;AAgBzC;;AAAA;;AAA4B;;AAAA;;AAG5B;;AAAA;;AAA6B;;AAAA;;;;;;;;;sEDrf5EtC,e,EAAe;cAL3B,uDAK2B;eALjB;AACT5U,kBAAQ,EAAE,YADD;AAETC,qBAAW,EAAE,yBAFJ;AAGTC,mBAAS,EAAE,CAAC,yBAAD;AAHF,S;AAKiB,Q;;;;;;;;;;;;;;;;;;;;gBAEzB;;;;;;;;;;;;;;;;;;;;AEvBH;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAQaiX,e;AAKX,+BAAoBC,UAApB,EAAmDpnB,aAAnD,EAAgF;AAAA;;AAA5D,aAAAonB,UAAA,GAAAA,UAAA;AAA+B,aAAApnB,aAAA,GAAAA,aAAA;AAElD;;;;mCAEU;AACT,eAAKA,aAAL,CAAmBgN,gBAAnB;AACD;;;oCAEWqa,O,EAAwB;AAClC,cAAIC,MAAM,GAAGD,OAAO,CAACE,YAArB;;AAEA,cAAI,KAAKrb,UAAL,IAAmB,IAAvB,EAA6B;AAC3B,iBAAKkb,UAAL,CAAgB3E,aAAhB,CAA8B+E,sBAA9B,CAAqD,UAArD,EAAiE,CAAjE,EAAoErf,KAApE,CAA0EqH,OAA1E,GAAoF,OAApF;AACD,WAFD,MAGK;AACH,iBAAK4X,UAAL,CAAgB3E,aAAhB,CAA8B+E,sBAA9B,CAAqD,UAArD,EAAiE,CAAjE,EAAoErf,KAApE,CAA0EqH,OAA1E,GAAoF,MAApF;AACD;AACF;;;;;;;uBAtBU2X,e,EAAe,yH,EAAA,sI;AAAA,K;;;YAAfA,e;AAAe,6B;AAAA;AAAA;AAAA,O;AAAA,oF;AAAA,e;AAAA,a;AAAA,oxB;AAAA;AAAA;ACR5B;;AACI;;AACI;;AACI;;AAAA;;AACI;;AAGJ;;AACJ;;AACA;;AAAA;;AACI;;AAAA;;AACI;;AAGJ;;AACJ;;AACA;;AAAA;;AACI;;AAAA;;AACI;;AAGJ;;AACJ;;AAEJ;;AACJ;;;;;;;;sEDjBaA,e,EAAe;cAL3B,uDAK2B;eALjB;AACTnX,kBAAQ,EAAE,QADD;AAETC,qBAAW,EAAE,yBAFJ;AAGTC,mBAAS,EAAE,CAAC,yBAAD;AAHF,S;AAKiB,Q;;;;;;;;gBAEzB;;;;;;;;;;;;;;;;;;;;AEVH;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QA0EauX,c;;;;;YAAAA;;;;yBAAAA,c;AAAc,O;AAAA,iBAJd,CAAC;AACVlJ,eAAO,EAAE,gFADC;AAC2BmJ,gBAAQ,EAAE;AAAEC,qCAA2B,EAAE;AAA/B;AADrC,OAAD,EAER,gFAFQ,C;AAEY,gBA7Cd,CACP,4DADO,EAEP,sEAFO,EAGP,sEAHO,EAIP,gFAJO,EAKP,0EALO,EAMP,wEANO,EAOP,wEAPO,EAQP,wEARO,EASP,+EATO,EAUP,qEAVO,EAWP,2EAXO,EAYP,uEAZO,EAaP,qEAbO,EAcP,+EAdO,EAeP,qEAfO,EAgBP,oFAhBO,EAiBP,2EAjBO,EAkBP,qFAlBO,EAmBP,6EAnBO,EAoBP,+EApBO,CA6Cc,EAtBrB,sEAsBqB,EArBrB,sEAqBqB,EApBrB,gFAoBqB,EAnBrB,0EAmBqB,EAlBrB,wEAkBqB,EAjBrB,wEAiBqB,EAhBrB,wEAgBqB,EAfrB,+EAeqB,EAdrB,qEAcqB,EAbrB,2EAaqB,EAZrB,uEAYqB,EAXrB,qEAWqB,EAVrB,+EAUqB,EATrB,qEASqB,EARrB,oFAQqB,EAPrB,2EAOqB,EANrB,qFAMqB,EALrB,6EAKqB,EAJrB,+EAIqB;;;;0HAEZF,c,EAAc;AAAA,kBA9CvB,4DA8CuB,EA7CvB,sEA6CuB,EA5CvB,sEA4CuB,EA3CvB,gFA2CuB,EA1CvB,0EA0CuB,EAzCvB,wEAyCuB,EAxCvB,wEAwCuB,EAvCvB,wEAuCuB,EAtCvB,+EAsCuB,EArCvB,qEAqCuB,EApCvB,2EAoCuB,EAnCvB,uEAmCuB,EAlCvB,qEAkCuB,EAjCvB,+EAiCuB,EAhCvB,qEAgCuB,EA/BvB,oFA+BuB,EA9BvB,2EA8BuB,EA7BvB,qFA6BuB,EA5BvB,6EA4BuB,EA3BvB,+EA2BuB;AA3BL,kBAGlB,sEAHkB,EAIlB,sEAJkB,EAKlB,gFALkB,EAMlB,0EANkB,EAOlB,wEAPkB,EAQlB,wEARkB,EASlB,wEATkB,EAUlB,+EAVkB,EAWlB,qEAXkB,EAYlB,2EAZkB,EAalB,uEAbkB,EAclB,qEAdkB,EAelB,+EAfkB,EAgBlB,qEAhBkB,EAiBlB,oFAjBkB,EAkBlB,2EAlBkB,EAmBlB,qFAnBkB,EAoBlB,6EApBkB,EAqBlB,+EArBkB;AA2BK,O;AANL,K;;;;;sEAMTA,c,EAAc;cAjD1B,sDAiD0B;eAjDjB;AACR3I,sBAAY,EAAE,EADN;AAER9T,iBAAO,EAAE,CACP,4DADO,EAEP,sEAFO,EAGP,sEAHO,EAIP,gFAJO,EAKP,0EALO,EAMP,wEANO,EAOP,wEAPO,EAQP,wEARO,EASP,+EATO,EAUP,qEAVO,EAWP,2EAXO,EAYP,uEAZO,EAaP,qEAbO,EAcP,+EAdO,EAeP,qEAfO,EAgBP,oFAhBO,EAiBP,2EAjBO,EAkBP,qFAlBO,EAmBP,6EAnBO,EAoBP,+EApBO,CAFD;AAwBR93B,iBAAO,EAAE,CACP,sEADO,EAEP,sEAFO,EAGP,gFAHO,EAIP,0EAJO,EAKP,wEALO,EAMP,wEANO,EAOP,wEAPO,EAQP,+EARO,EASP,qEATO,EAUP,2EAVO,EAWP,uEAXO,EAYP,qEAZO,EAaP,+EAbO,EAcP,qEAdO,EAeP,oFAfO,EAgBP,2EAhBO,EAiBP,qFAjBO,EAkBP,6EAlBO,EAmBP,+EAnBO,CAxBD;AA6CR6rC,mBAAS,EAAE,CAAC;AACVR,mBAAO,EAAE,gFADC;AAC2BmJ,oBAAQ,EAAE;AAAEC,yCAA2B,EAAE;AAA/B;AADrC,WAAD,EAER,gFAFQ;AA7CH,S;AAiDiB,Q;;;;;;;;;;;;;;;;;;AC1E3B;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;AC4C4C;;AAAsC;;AAAoB;;;;;;AAD9D;;AACI;;AACJ;;;;;;;;AADS;;AAAA;;;;;;AAiBL;;AACI;;AAAgB;;;;;;AACpB;;AACI;;AAA8B;;;;;;AALtC;;AAEI;;AAEA;;AAEJ;;;;;;;;AAJS;;AAAA;;AAEC;;AAAA;;;;;;;;AAKlB;;AAEI;;AAAuC;;AAAc;;AACrD;;AACI;;AAEI;AAAA;;AAAA;;AAAA;AAAA,WAAgC,QAAhC,EAAgC;AAAA;;AAAA;;AAAA,8CACH,QAAA3C,UAAA,eADG;AACsB,SADtD;;AAFJ;;AAIJ;;AACJ;;;;;;AAHY;;AAAA;;;;;;;;AAIZ;;AACI;;AAAuC;;AAAS;;AAChD;;AACI;;AACgC;AAAA;;AAAA;;AAAA;AAAA,WAAgC,QAAhC,EAAgC;AAAA;;AAAA;;AAAA,8CAC/B,QAAAA,UAAA,eAD+B;AACN,SAD1B;;AADhC;;AAGJ;;AACJ;;;;;;AAHwC;;AAAA;;;;;;AAgB5B;;AACI;;AAAiB;;;;;;AACrB;;AAEI;;AACJ;;;;;;AADI;;AAAA;;;;;;AANR;;AAEI;;AAEA;;AAKJ;;;;;;;;AAPS;;AAAA;;AAEA;;AAAA;;;;;;AAqBL;;AACI;;AAA0B;;;;;;AAC9B;;AACI;;AAAiC;;;;;;AACrC;;AACI;;AAAqC;;;;;;AAP7C;;AAEI;;AAEA;;AAEA;;AAGJ;;;;;;;;AAPS;;AAAA;;AAEA;;AAAA;;AAEA;;AAAA;;;;;;AA0BT;;AACI;;AAAK;;AAAY;;AACnB;;;;;;AADO;;AAAA;;;;;;AAYL;;AAC2D;;AAChD;;;;;;AA0EX;;AACI;;AAAwB;;;;;;AAHhC;;AAEI;;AAEJ;;;;;;;;AAFS;;AAAA;;;;;;AAsBL;;AACI;;AAAwB;;;;;;AAC5B;;AACI;;AAEJ;;;;;;AAPJ;;AAEI;;AAEA;;AAIJ;;;;;;;;AANS;;AAAA;;AAEA;;AAAA;;;;;;AA0BL;;AACI;;AAA4B;;;;;;AAChC;;AACI;;AAAyC;;;;;;AAC7C;;AACI;;AAEJ;;;;;;AATJ;;AAEI;;AAEA;;AAEA;;AAIJ;;;;;;;;AARS;;AAAA;;AAEA;;AAAA;;AAEA;;AAAA;;;;;;;;AAmEL;;AACsD;AAAA;;AAAA;;AAAA;;AAAA;AAAA,WAAiC,YAAjC,EAAiC;AAAA;;AAAA;;AAAA,uCACvD,IADuD;AACnD,SADkB;;AAElD;;AACJ;;;;;;;;;AAJyB,0FAAyB,OAAzB,EAAyB,yBAAzB,EAAyB,OAAzB,EAAyB,yDAAzB;;AAGrB;;AAAA;;;;;;;;AAkBR;;AAAgC;AAAA;;AAAA;;AAAA;;AAAA,iBAAS,aAAT;AAA4B,SAA5B;;AAE5B;;AACI;;AACJ;;AAEJ;;;;;;;;AACA;;AACI;AAAA;;AAAA;;AAAA,4CAAiC,IAAjC;AAAqC,0CAAuB,IAAvB;AAA2B;AAAA;AAAA,SAAhE;;AAEA;;AACI;;AACJ;;AACJ;;;;;;;;AAMJ;;AAEA;;AAAuD;AAAA;;AAAA;;AAAA;;AAAA,iBAAS,aAAT;AAA4B,SAA5B;;AAA8B;;AAAE;;;;;;;;AAnDnG;;AACI;;AACI;;AACI;;AACI;;AAC4B;AAAA;;AAAA;;AAAA;AAAA;;AAD5B;;AAIA;;AAOJ;;AACJ;;AACA;;AACI;;AAA+C;;AAAY;;AAC3D;;AACA;;AACI;;AAGI;AAAA;;AAAA;;AAAA;;AAAA;AAAA,WAA4F,OAA5F,EAA4F;AAAA;;AAAA;;AAAA,iBACnF,aADmF;AAChE,SAD5B;;AAHJ;;AAKA;;AAEI;AAAA;;AAAA;;AAAA;;AAAA;AAAA,WAAsF,OAAtF,EAAsF;AAAA;;AAAA;;AAAA,iBAC7E,aAD6E;AAC1D,SAD5B;;AAFJ;;AAIA;;AAOA;;AAOJ;;AACJ;;AACA;;AAEA;;AAMJ;;AACJ;;;;;;;;;;AAlDoB;;AAAA,yFAAuB,eAAvB,EAAuB,CAAvB,EAAuB,aAAvB,EAAuB,IAAvB,EAAuB,WAAvB,EAAuB,+BAAvB,EAAuB,SAAvB,EAAuB,eAAvB,EAAuB,SAAvB,EAAuB,eAAvB,EAAuB,gBAAvB,EAAuB,IAAvB;;AAkBA;;AAAA;;AAIA;;AAAA;;AAIA;;AAAA;;AAQA;;AAAA;;;;;;AAkBpB;;AAEI;;AACI;;AACI;;AAEA;;AACI;;AAC2D;;AACxD;;AAAS;;AACZ;;AACyD;;AAAM;;AACnE;;AACJ;;AACJ;;AACJ;;;;;;;;AArGR;;AAEI;;AACI;;AACyB;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAEzB;;AAEI;;AACI;;AACI;;AACI;;AACI;;AACJ;;AACJ;;AACJ;;AACJ;;AACJ;;AAEA;;AACI;;AAAuC;;AAAc;;AACrD;;AACI;;AACI;AAAA;;AAAA;;AAAA;AAAA,WAAwC,QAAxC,EAAwC;AAAA;;AAAA;;AAAA;AAAA,SAAxC;;AAEJ;;AACJ;;AACJ;;AAEA;;AAyDA;;AAiBA;;AACJ;;AACJ;;;;;;AAlFoB;;AAAA;;AAMP;;AAAA;;AAyDA;;AAAA;;;;;;;;;;;;;;;;;;QDtYhB4C,gB;AA2BX,gCAAoBvc,MAApB,EAAmDrL,aAAnD,EAAwFsL,MAAxF,EACUF,MADV,EACkCK,KADlC,EAC+Doc,SAD/D,EACyGnc,EADzG,EACwIoc,QADxI,EAEUnc,gBAFV,EAE8C;AAAA;;AAF1B,aAAAN,MAAA,GAAAA,MAAA;AAA+B,aAAArL,aAAA,GAAAA,aAAA;AAAqC,aAAAsL,MAAA,GAAAA,MAAA;AAC9E,aAAAF,MAAA,GAAAA,MAAA;AAAwB,aAAAK,KAAA,GAAAA,KAAA;AAA6B,aAAAoc,SAAA,GAAAA,SAAA;AAA0C,aAAAnc,EAAA,GAAAA,EAAA;AAA+B,aAAAoc,QAAA,GAAAA,QAAA;AAC9H,aAAAnc,gBAAA,GAAAA,gBAAA;AA3BX,aAAAoc,cAAA,GAA4C,IAAI,wFAAJ,EAA5C;AACC,aAAA/C,UAAA,GAAiC,IAAI,4EAAJ,EAAjC;AACA,aAAAgD,iBAAA,GAAyC,IAAI,8EAAJ,EAAzC,CAyB8C,CAxB9C;;AACA,aAAAC,eAAA,GAAuB,4EAAvB;AACA,aAAAlc,YAAA,GAAuB,sDAAvB;AACA,aAAAmc,WAAA,GAAuB,IAAvB;AACA,aAAAC,WAAA,GAAuB,IAAvB;AACA,aAAAC,eAAA,GAA2B,IAA3B;AACA,aAAAC,aAAA,GAA0B,KAA1B;AAEA,aAAAnc,UAAA,GAAsB,KAAtB;AAOA,aAAAoc,WAAA,GAA8B,IAA9B;AAGA,aAAA7G,QAAA,GAAW,IAAI,wDAAJ,CAAa,OAAb,CAAX;AAOE,aAAKxY,SAAL,GAAiB,oDAAjB;AACA,YAAMsf,OAAO,GAAG,IAAI70C,IAAJ,EAAhB;AACA,aAAK80C,OAAL,GAAe;AAAE5G,cAAI,EAAE2G,OAAO,CAAC1E,WAAR,EAAR;AAA+BhC,eAAK,EAAE0G,OAAO,CAACE,QAAR,EAAtC;AAA0D3G,aAAG,EAAEyG,OAAO,CAACG,OAAR;AAA/D,SAAf;AACA,aAAKC,OAAL,GAAe;AAAE/G,cAAI,EAAE2G,OAAO,CAAC1E,WAAR,KAAsB,CAA9B;AAAiChC,eAAK,EAAE0G,OAAO,CAACE,QAAR,KAAqB,CAA7D;AAAgE3G,aAAG,EAAEyG,OAAO,CAACG,OAAR;AAArE,SAAf;AACD;;;;mCAEU;AACT,cAAMjc,SAAS,GAAG,KAAKd,gBAAL,CAAsBe,SAAtB,EAAlB;AACA,eAAKkc,YAAL,GAAoBnc,SAAS,CAACmc,YAA9B;AACA,eAAKpqC,IAAL,GAAYqkB,YAAY,CAACC,OAAb,CAAqB,UAArB,CAAZ;AACA,eAAK+lB,MAAL,GAAchmB,YAAY,CAACC,OAAb,CAAqB,QAArB,CAAd;AACA,eAAK9C,aAAL,CAAmBgN,gBAAnB;AACA,eAAKkZ,kBAAL;AACD;;;mCAEU3Z,K,EAAY;AACrB,cAAIA,KAAK,CAACuc,KAAN,KAAgB,EAAhB,IAAsB,CAACvc,KAAK,CAAC4C,MAAN,CAAapQ,KAAb,CAAmBS,MAA9C,EAAsD;AACpD+M,iBAAK,CAACwc,cAAN;AACD;AACF;;;oCAEWC,G,EAAU;AACpB,eAAKC,QAAL,GAAiBD,GAAG,CAACF,KAAL,GAAcE,GAAG,CAACF,KAAlB,GAAyBE,GAAG,CAACE,OAA7C;;AACA,cAAI,KAAKD,QAAL,IAAiB,EAAjB,IAAuB,KAAKA,QAAL,GAAgB,EAAvC,KACE,KAAKA,QAAL,GAAgB,EAAhB,IAAsB,KAAKA,QAAL,GAAgB,EADxC,CAAJ,EACiD;AAC/C,mBAAO,KAAP;AACD,WAHD,MAIK;AACH,mBAAO,IAAP;AACD;AACF;;;6CAEoB;AAAA;;AACnB,eAAK/c,UAAL,GAAkB,IAAlB;AACA,eAAKlM,aAAL,CAAmB0mB,kBAAnB,CAAsC,SAAtC,EAAiD,oBAAjD,EAAuEla,SAAvE,CAAiF,UAAChJ,IAAD,EAAe;AAC9F,mBAAI,CAACwhB,UAAL,GAAkBxhB,IAAlB;AACA,mBAAI,CAAC0I,UAAL,GAAkB,KAAlB;AACD,WAHD,EAGG,UAAAsC,KAAK,EAAI;AACV,mBAAI,CAACnD,MAAL,CAAYmD,KAAZ,CAAkB,sBAAlB;;AACA,mBAAI,CAACtC,UAAL,GAAkB,KAAlB;AACD,WAND;AAQD;;;wCAEe;AAAA;;AACd,cAAMiV,SAAS,GAAG,KAAK7V,MAAL,CAAYqD,IAAZ,CAAiB,+FAAjB,EAAyC;AACzDwa,oBAAQ,EAAE,OAD+C;AAEzD3lB,gBAAI,EAAE;AACJ6F,mBAAK,EAAE,eADH;AAEJ+f,qBAAO,EAAE;AAFL;AAFmD,WAAzC,CAAlB;AAQAjI,mBAAS,CAACrS,WAAV,GAAwBtC,SAAxB,CAAkC,UAAA6c,YAAY,EAAI;AAChD;AACA;AACA,gBAAIA,YAAJ,EAAkB;AAChB,qBAAI,CAACnd,UAAL,GAAkB,IAAlB;;AAEA,qBAAI,CAAClM,aAAL,CAAmB4E,QAAnB,CAA4B,SAA5B,EAAuC,eAAvC,EAAwD,OAAI,CAACogB,UAA7D,EAAyE,IAAzE,EAA+ExY,SAA/E,CAAyF,UAAChJ,IAAD,EAAe;AACtG,oBAAIA,IAAI,CAACuL,YAAL,IAAqB,CAAzB,EAA4B;AAC1B,yBAAI,CAAC1D,MAAL,CAAY8C,OAAZ,CAAoB,+BAApB;;AACA,yBAAI,CAAC/C,MAAL,CAAYqC,QAAZ,CAAqB,CAAC,YAAD,CAArB;;AACA,yBAAI,CAACvB,UAAL,GAAkB,KAAlB;AACD,iBAJD,MAKK,IAAI1I,IAAI,CAACuL,YAAL,IAAqB,CAAzB,EAA4B;AAC/B,yBAAI,CAAC1D,MAAL,CAAY2D,OAAZ,CAAoB,gCAApB;;AACA,yBAAI,CAAC9C,UAAL,GAAkB,KAAlB;AACD,iBAHI,MAIA;AACH,yBAAI,CAACb,MAAL,CAAYmD,KAAZ,CAAkB,2BAAlB;;AACA,yBAAI,CAACtC,UAAL,GAAkB,KAAlB;AACD;AACF,eAdD,EAcG,UAAAsC,KAAK,EAAI;AACV,uBAAI,CAACnD,MAAL,CAAYmD,KAAZ,CAAkB,2BAAlB;;AACA,uBAAI,CAACtC,UAAL,GAAkB,KAAlB;AACD,eAjBD;AAmBD;AACF,WA1BD;AA4BD;;;yCAEgB;AAAA;;AACf,cAAMiV,SAAS,GAAG,KAAK7V,MAAL,CAAYqD,IAAZ,CAAiB,+FAAjB,EAAyC;AACzDwa,oBAAQ,EAAE,OAD+C;AAEzD3lB,gBAAI,EAAE;AACJ6F,mBAAK,EAAE,eADH;AAEJ+f,qBAAO,EAAE;AAFL;AAFmD,WAAzC,CAAlB;AAQAjI,mBAAS,CAACrS,WAAV,GAAwBtC,SAAxB,CAAkC,UAAA6c,YAAY,EAAI;AAChD;AACA;AACA,gBAAIA,YAAJ,EAAkB;AAChB,qBAAI,CAACnd,UAAL,GAAkB,IAAlB;;AACA,qBAAI,CAAClM,aAAL,CAAmB4E,QAAnB,CAA4B,SAA5B,EAAuC,gBAAvC,EAAyD,OAAI,CAACojB,iBAA9D,EAAiF,IAAjF,EAAuFxb,SAAvF,CAAiG,UAAChJ,IAAD,EAAe;AAC9G,oBAAIA,IAAI,CAACuL,YAAL,IAAqB,CAAzB,EAA4B;AAC1B,yBAAI,CAAC1D,MAAL,CAAY8C,OAAZ,CAAoB,gCAApB;;AACA,yBAAI,CAAC/C,MAAL,CAAYqC,QAAZ,CAAqB,CAAC,YAAD,CAArB;;AACA,yBAAI,CAACvB,UAAL,GAAkB,KAAlB;AACD,iBAJD,MAKK;AACH,yBAAI,CAACb,MAAL,CAAYmD,KAAZ,CAAkB,+DAAlB;;AACA,yBAAI,CAACtC,UAAL,GAAkB,KAAlB;AACD;AAEF,eAXD,EAWG,UAAAsC,KAAK,EAAI;AACV,uBAAI,CAACnD,MAAL,CAAYmD,KAAZ,CAAkB,4BAAlB;;AACA,uBAAI,CAACtC,UAAL,GAAkB,KAAlB;AACD,eAdD;AAgBD;AACF,WAtBD;AAwBD;;;oCAEWnN,K,EAAY;AACvB;AACC,cAAGA,KAAK,IAAI,IAAZ,EACA;AACE,iBAAKspB,aAAL,GAAqB,IAArB;AACD,WAHD,MAII;AACF,iBAAKA,aAAL,GAAqB,KAArB;AACD;AACF;;;+CACsB,CAErB;AACD;;;wCAEe3G,I,EAAe;AAC7B,cAAI,CAAC,KAAK4H,uBAAN,IAAiC,CAAC,KAAKC,qBAA3C,EAAkE;AAChE,iBAAKD,uBAAL,GAA+B5H,IAA/B;AACD,WAFD,MAEO,IAAI,KAAK4H,uBAAL,IAAgC,CAAC,KAAKC,qBAAtC,IAA+D7H,IAA/D,IAAuEA,IAAI,CAAC8H,KAAL,CAAW,KAAKF,uBAAhB,CAA3E,EAAqH;AAC1H,iBAAKC,qBAAL,GAA6B7H,IAA7B;AACD,WAFM,MAEA;AACL,iBAAK6H,qBAAL,GAA6B,IAA7B;AACA,iBAAKD,uBAAL,GAA+B5H,IAA/B;AACD;AACF;;;iDACwB;AACvB,cAAI95B,oBAAoB,GAAG,KAAK6hC,oBAAL,CAA0B,KAAKH,uBAA/B,CAA3B;AACA,cAAIzhC,kBAAkB,GAAG,KAAK4hC,oBAAL,CAA0B,KAAKF,qBAA/B,CAAzB;;AACA,cAAI1hC,kBAAkB,GAAGD,oBAAzB,EAA+C;AAC7C,iBAAK2hC,qBAAL,GAA6B,KAAKD,uBAAlC;AACA,iBAAK5d,EAAL,CAAQ6C,aAAR;AAED,WAPsB,CAQvB;;AAED;;;6CACoBmb,O,EAAc;AACjC,cAAIA,OAAO,IAAI,IAAf,EAAqB;AACnB,mBAAO,IAAIh2C,IAAJ,CAASg2C,OAAO,CAAC9H,IAAjB,EAAuB8H,OAAO,CAAC7H,KAAR,GAAgB,CAAvC,EAA0C6H,OAAO,CAAC5H,GAAlD,CAAP;AACD;AAEF;;;oCAEWJ,I,EAAW;AACrB,cAAIE,IAAI,GAAGF,IAAI,CAACE,IAAhB;AACA,cAAIC,KAAK,GAAGH,IAAI,CAACG,KAAjB;AACA,cAAIC,GAAG,GAAGJ,IAAI,CAACI,GAAf;AACA,iBAAOF,IAAI,GAAG,GAAP,GAAaC,KAAb,GAAqB,GAArB,GAA2BC,GAAlC;AACD;;;sCAEayF,Y,EAA8BoC,K,EAAa;AACvD,cAAMC,MAAM,GAAG,KAAK/B,SAAL,CAAe1a,KAAf,CAAqBwc,KAArB,CAAf;AACA,iBAAOC,MAAM,IAAI,KAAK9B,QAAL,CAAc+B,OAAd,CAAsB,mEAAQjkB,IAAR,CAAagkB,MAAb,CAAtB,CAAV,GAAwD,mEAAQhkB,IAAR,CAAagkB,MAAb,CAAxD,GAA+ErC,YAAtF;AACD;;;kCAES7F,I,EAAe;AACvB,iBAAO,KAAK4H,uBAAL,IAAgC,CAAC,KAAKC,qBAAtC,IAA+D,KAAKjB,WAApE,IAAmF5G,IAAI,CAAC8H,KAAL,CAAW,KAAKF,uBAAhB,CAAnF,IAA+H5H,IAAI,CAACoI,MAAL,CAAY,KAAKxB,WAAjB,CAAtI;AACD;;;iCAEQ5G,I,EAAe;AACtB,iBAAO,KAAK6H,qBAAL,IAA8B7H,IAAI,CAAC8H,KAAL,CAAW,KAAKF,uBAAhB,CAA9B,IAA0E5H,IAAI,CAACoI,MAAL,CAAY,KAAKP,qBAAjB,CAAjF;AACD;;;gCAEO7H,I,EAAe;AACrB,iBAAOA,IAAI,CAACqI,MAAL,CAAY,KAAKT,uBAAjB,KAA8C,KAAKC,qBAAL,IAA8B7H,IAAI,CAACqI,MAAL,CAAY,KAAKR,qBAAjB,CAA5E,IAAwH,KAAKS,QAAL,CAActI,IAAd,CAAxH,IAA+I,KAAKuI,SAAL,CAAevI,IAAf,CAAtJ;AACD;;;mDAEuB;AAAA;;AACtB,cAAMP,SAAS,GAAG,KAAK7V,MAAL,CAAYqD,IAAZ,CAAiB,+FAAjB,EAAyC;AACzDwa,oBAAQ,EAAE,OAD+C;AAEzD3lB,gBAAI,EAAE;AACJ6F,mBAAK,EAAE,eADH;AAEJ+f,qBAAO,EAAE;AAFL;AAFmD,WAAzC,CAAlB;AAQAjI,mBAAS,CAACrS,WAAV,GAAwBtC,SAAxB,CAAkC,UAAA6c,YAAY,EAAI;AAChD;AACA;AACA,gBAAIA,YAAJ,EAAkB;AAChB,qBAAI,CAACnd,UAAL,GAAkB,IAAlB,CADgB,CAGjB;;AACC,qBAAI,CAAC6b,cAAL,CAAoBn6B,SAApB,GAAgC,OAAI,CAACi7B,MAArC;;AACA,kBAAI,OAAI,CAACS,uBAAL,IAAgCt3B,SAApC,EAA+C;AAC7C,uBAAI,CAAC+1B,cAAL,CAAoBmC,SAApB,GAAgC,IAAIx2C,IAAJ,CAAS,OAAI,CAACy2C,WAAL,CAAiB,IAAI,kEAAJ,CAAY,OAAI,CAACb,uBAAL,CAA6B1H,IAAzC,EAA+C,OAAI,CAAC0H,uBAAL,CAA6BzH,KAA5E,EAAmF,OAAI,CAACyH,uBAAL,CAA6BxH,GAAhH,CAAjB,CAAT,EAAiJsI,YAAjJ,EAAhC;AACD;;AACD,kBAAI,OAAI,CAACb,qBAAL,IAA8Bv3B,SAAlC,EAA6C;AAC3C,uBAAI,CAAC+1B,cAAL,CAAoBsC,OAApB,GAA8B,IAAI32C,IAAJ,CAAS,OAAI,CAACy2C,WAAL,CAAiB,IAAI,kEAAJ,CAAY,OAAI,CAACZ,qBAAL,CAA2B3H,IAAvC,EAA6C,OAAI,CAAC2H,qBAAL,CAA2B1H,KAAxE,EAA+E,OAAI,CAAC0H,qBAAL,CAA2BzH,GAA1G,CAAjB,CAAT,EAA2IsI,YAA3I,EAA9B;AACD;;AAED,qBAAI,CAACpqB,aAAL,CAAmB4E,QAAnB,CAA4B,SAA5B,EAAuC,gBAAvC,EAAyD,OAAI,CAACmjB,cAA9D,EAA8E,IAA9E,EAAoFvb,SAApF,CAA8F,UAAChJ,IAAD,EAAe;AAC3G,oBAAIA,IAAI,CAACuL,YAAL,IAAqB,CAAzB,EAA4B;AAC1B,yBAAI,CAAC1D,MAAL,CAAY8C,OAAZ,CAAoB,6CAApB;;AACA,yBAAI,CAAC/C,MAAL,CAAYqC,QAAZ,CAAqB,CAAC,YAAD,CAArB;;AACA,yBAAI,CAACvB,UAAL,GAAkB,KAAlB;AACD,iBAJD,MAKK;AACH,yBAAI,CAACb,MAAL,CAAYmD,KAAZ,CAAkB,yCAAlB;;AACA,yBAAI,CAACtC,UAAL,GAAkB,KAAlB;AACD;AACF,eAVD,EAUG,UAAAsC,KAAK,EAAI;AACV,uBAAI,CAACnD,MAAL,CAAYmD,KAAZ,CAAkB,yCAAlB;;AACA,uBAAI,CAACtC,UAAL,GAAkB,KAAlB;AACD,eAbD;AAeD;AACF,WA/BD;AAiCD;;;;;;;uBAjQU0b,gB,EAAgB,yH,EAAA,sI,EAAA,oI,EAAA,wH,EAAA,gI,EAAA,kJ,EAAA,gI,EAAA,uI,EAAA,8I;AAAA,K;;;YAAhBA,gB;AAAgB,kC;AAAA;AAAA;AAAA,O;AAAA,gB;AAAA,c;AAAA,q2L;AAAA;AAAA;;;ACnB7B;;AAEA;;AAEI;;AAEI;;AACI;;AACI;;AACI;;AACI;;AACyB;AAAA;;AAAA;;AAAA,qCAAiC,IAAA0C,aAAA,EAAjC;AAAgD,WAAhD;;AAErB;;AAEI;;AACI;;AACI;;AACI;;AACI;;AACJ;;AACJ;;AACJ;;AACJ;;AACJ;;AACA;;AACI;;AAAgC;;AACnB;;AACjB;;AACA;;AAMI;;AACI;;AAAuC;;AAAS;;AAChD;;AACI;;AACkC;AAAA,mBAAY,IAAAC,UAAA,QAAZ;AAA8B,WAA9B,EAA+B,eAA/B,EAA+B;AAAA;AAAA,WAA/B,EAA+B,QAA/B,EAA+B;AAAA,6CAG/B,IAAAvF,UAAA,gBAH+B;AAGL,WAH1B;;AADlC;;AAKA;;AAGJ;;AACJ;;AAEA;;AACI;;AAAuC;;AAAK;;AACb;;AAAO;;AAAO;;AAC7C;;AACI;;AAC0B;AAAA,mBAAY,IAAAuF,UAAA,QAAZ;AAA8B,WAA9B,EAA+B,eAA/B,EAA+B;AAAA;AAAA,WAA/B,EAA+B,QAA/B,EAA+B;AAAA,yCAG3B,IAAAvF,UAAA,YAH2B;AAGL,WAH1B;;AAD1B;;AAMA;;AAOJ;;AACJ;;AACA;;AAUA;;AAQA;;AACI;;AAAuC;;AAAS;;AACjB;;AAAO;;AAAO;;AAC7C;;AACI;;AAC4B;AAAA,mBAAY,IAAAuF,UAAA,QAAZ;AAA8B,WAA9B,EAA+B,eAA/B,EAA+B;AAAA;AAAA,WAA/B,EAA+B,QAA/B,EAA+B;AAAA,0CAG5B,IAAAvF,UAAA,aAH4B;AAGL,WAH1B;;AAD5B;;AAMA;;AAUJ;;AACJ;;AACA;;AACI;;AAAuC;;AAAY;;AACpB;;AAAO;;AAAO;;AAC7C;;AACI;;AAEI;AAAY,gBAAAuF,UAAA;AAAkB,mBAAC,IAAAC,WAAA,QAAD;AAAoB,WAAlD,EAAoD,eAApD,EAAoD;AAAA;AAAA,WAApD,EAAoD,QAApD,EAAoD;AAAA,kDAGjB,IAAAxF,UAAA,qBAHiB;AAGc,WAHlE;;AAFJ;;AAOA;;AAUJ;;AACJ;;AACA;;AACI;;AAAuC;;AAAK;;AAC5C;;AACI;;AAC0B;AAAA;AAAA,aAAiC,QAAjC,EAAiC;AAAA,6CACzB,IAAAA,UAAA,gBADyB;AACC,WADlC;;AAD1B;;AAGJ;;AACJ;;AACA;;AACI;;AAAuC;;AAAQ;;AAC/C;;AACI;;AACgC;AAAA;AAAA,aAAoC,QAApC,EAAoC;AAAA,gDAC/B,IAAAA,UAAA,mBAD+B;AACF,WADlC;;AADhC;;AAGJ;;AACJ;;AACA;;AACI;;AAAuC;;AAAO;;AAE9C;;AACI;;AAGJ;;AACJ;;AAEJ;;AACA;;AACI;;AACI;;AACI;;AAEA;;AACI;;AAEoB;;AACpB;;AACyD;;AAAM;;AACnE;;AACJ;;AACJ;;AACJ;;AACJ;;AAEJ;;AACJ;;AAGA;;AACI;;AACI;;AACI;AAAA;;AAAA;;AAAA,sCAAkC,IAAAyF,cAAA,EAAlC;AAAkD,WAAlD;;AAGA;;AACI;;AACI;;AACI;;AACI;;AACI;;AACJ;;AACJ;;AACJ;;AACJ;;AACJ;;AACA;;AACI;;AAAgC;;AACnB;;AACjB;;AACA;;AAMI;;AACI;;AAAiD;;AAAa;;AAAO;;AACzE;;AACA;;AACI;;AACI;;AAAI;;AAAuD;;AAC3D;;AAAI;;AAAgE;;AACpE;;AAAI;;AAEJ;;AACA;;AAAI;;AAEJ;;AACJ;;AACJ;;AAEA;;AAEI;;AAAuC;;AAAa;;AACrB;;AAAO;;AAAO;;AAC7C;;AACI;;AAEI;AAAA;AAAA;;AAFJ;;AAKA;;AACI;;AAAoB;AAAA;AAAA;;AACU;;AACZ;;AACtB;;AAEA;;AAKJ;;AACJ;;AACA;;AACI;;AAAuC;;AAAa;;AACrB;;AAAO;;AAAO;;AAC7C;;AACI;;AAEiC;AAAA;AAAA;;AAFjC;;AAMA;;AACI;;AAAoB;AAAA;AAAA;;AACU;;AACZ;;AACtB;;AACA;;AASJ;;AACJ;;AACA;;AACI;;AAAuC;;AAAiB;;AACzB;;AAAO;;AAAO;;AAC7C;;AACI;;AAII;AAAA;AAAA;;AAJJ;;AAQA;;AACI;;AAAoB;AAAA;AAAA;;AACU;;AACZ;;AACtB;;AACA;;AAWJ;;AACJ;;AAEJ;;AACA;;AACI;;AACI;;AACI;;AAEA;;AACI;;AAC2D;;AAChD;;AAAS;;AACpB;;AACyD;;AAAM;;AACnE;;AACJ;;AACJ;;AACJ;;AACJ;;AAEJ;;AACJ;;AAEA;;AA0GJ;;AAEJ;;AACJ;;AACJ;;;;;;;;;;;;;;;;;;;;;;AAjbQ;;AAwCoD;;AAAA,uGAAiC,SAAjC,EAAiC,oGAAjC;;AAGf;;AAAA;;AAYc;;AAAA,mGAA6B,SAA7B,EAA6B,yJAA7B,EAA6B,UAA7B,EAA6B,+BAA7B;;AAKf;;AAAA;;AASR;;AAAA;;AASsC;;AAAA;;AAc9B;;AAAA,oGAA8B,SAA9B,EAA8B,yJAA9B,EAA8B,SAA9B,EAA8B,gBAA9B,EAA8B,UAA9B,EAA8B,+BAA9B;;AAKA;;AAAA;;AAkBe;;AAAA,4GAAsC,SAAtC,EAAsC,yJAAtC,EAAsC,UAAtC,EAAsC,+BAAtC;;AAKf;;AAAA;;AAesB;;AAAA;;AAQM;;AAAA;;AAQF;;AAAA;;AAaJ;;AAAA;;AAGA;;AAAA;;AAgBtC;;AAAA;;AA4CgD;;AAAA,kHAAyC,SAAzC,EAAyC,iCAAzC,EAAyC,SAAzC,EAAyC,8JAAzC;;AAOF;;AAAA;;AAK9B;;AAAA;;AAUgC;;AAAA,kHAAyC,SAAzC,EAAyC,iCAAzC,EAAyC,SAAzC,EAAyC,mBAAzC,EAAyC,SAAzC,EAAyC,8JAAzC;;AAQF;;AAAA;;AAI9B;;AAAA;;AAeA;;AAAA,sHAA6C,SAA7C,EAA6C,wCAA7C,EAA6C,SAA7C,EAA6C,mBAA7C,EAA6C,SAA7C,EAA6C,8JAA7C;;AAS8B;;AAAA;;AAI9B;;AAAA;;AAmC5B;;AAAA;;;;;;;;;sEDjTH7C,gB,EAAgB;cAL5B,uDAK4B;eALlB;AACT5X,kBAAQ,EAAE,aADD;AAETC,qBAAW,EAAE,0BAFJ;AAGTC,mBAAS,EAAE,CAAC,0BAAD;AAHF,S;AAKkB,Q;;;;;;;;;;;;;;;;;;;;;;gBAY1B;;;;;;;;;;;;;;;;;;;;AE/BH;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;ACawB;;AAAuC;;AAAsB;;;;;;AADjE;;AACI;;AACJ;;;;;;;;AADS;;AAAA;;;;;;AASL;;AAAsC;;AAAqB;;;;;;AAD/D;;AACI;;AACJ;;;;;;;;AADS;;AAAA;;;;;;AAUT;;AAAmC;;AAAiB;;;;;;AACpD;;AAAgC;;AAAmC;;;;;;AAFvE;;AACI;;AACA;;AACJ;;;;;;;;AAFS;;AAAA;;AACA;;AAAA;;;;;;AAUD;;AAAsC;;AAAoB;;;;;;AAC1D;;AAAuC;;AAAsC;;;;;;AAFjF;;AACI;;AACA;;AACJ;;;;;;;;AAFS;;AAAA;;AACA;;AAAA;;;;;;AASL;;AAA6C;;AAA4B;;;;;;AACzE;;AAA8C;;AAAoB;;;;;;AAFtE;;AACI;;AACA;;AACJ;;;;;;;;AAFS;;AAAA;;AACA;;AAAA;;;;;;;;;;;;;;QD3ChBwa,iB;AAKX,iCAAoBvf,eAApB,EAA6DnL,aAA7D,EAA0F;AAAA;;AAAtE,aAAAmL,eAAA,GAAAA,eAAA;AAAyC,aAAAnL,aAAA,GAAAA,aAAA;AAH7D,aAAA2qB,QAAA,GAA0B,IAAI,kEAAJ,EAA1B;AACA,aAAA5e,YAAA,GAAuB,sDAAvB;AAE6F;;;;mCAErF;AACN,eAAK/L,aAAL,CAAmBgN,gBAAnB;AACD;;;mCAEU;AACT,cAAI9G,KAAK,GAAG;AACV1P,qBAAS,EAAE,KAAKm0B,QAAL,CAAcn0B,SADf;AAEVC,oBAAQ,EAAE,KAAKk0B,QAAL,CAAcl0B,QAFd;AAGVtZ,iBAAK,EAAE,KAAKwtC,QAAL,CAAcxtC,KAHX;AAIVuZ,oBAAQ,EAAE,KAAKi0B,QAAL,CAAcj0B;AAJd,WAAZ,CADS,CAST;AACA;AACA;AACA;AAED;;;;;;;uBAzBUg0B,iB,EAAiB,0I,EAAA,sI;AAAA,K;;;YAAjBA,iB;AAAiB,mC;AAAA,e;AAAA,c;AAAA,otC;AAAA;AAAA;;;ACV9B;;AACI;;AAAwB;;AAAQ;;AAChC;;AACI;;AAAkB;AAAA;;AAAA;;AAAA,qCAAiC,IAAAE,QAAA,EAAjC;AAA2C,WAA3C;;AACd;;AAEI;;AACI;;AAAO;;AAAU;;AACjB;;AAAyD;AAAA;AAAA,aAAgC,QAAhC,EAAgC;AAAA,4CAE5D,IAAAD,QAAA,iBAF4D;AAEnC,WAFG;;AAAzD;;AAGA;;AAGJ;;AACA;;AACI;;AAAO;;AAAS;;AAChB;;AAAwD;AAAA;AAAA,aAA+B,QAA/B,EAA+B;AAAA,2CAE3D,IAAAA,QAAA,gBAF2D;AAEnC,WAFI;;AAAxD;;AAGA;;AAGJ;;AACJ;;AACA;;AACI;;AAAO;;AAAK;;AACZ;;AAAqD;AAAA;AAAA,aAA4B,QAA5B,EAA4B;AAAA,wCAExD,IAAAA,QAAA,aAFwD;AAEnC,WAFO;;AAArD;;AAGA;;AAIJ;;AACA;;AACI;;AACI;;AAAO;;AAAQ;;AACf;;AAA4D;AAAA;AAAA,aAA+B,QAA/B,EAA+B;AAAA,2CAE9D,IAAAA,QAAA,gBAF8D;AAEtC,WAFO;;AAA5D;;AAGA;;AAIJ;;AACA;;AACI;;AAAO;;AAAgB;;AACvB;;AAAmE;AAAA;AAAA,aAAsC,QAAtC,EAAsC;AAAA,kDAEtE,IAAAA,QAAA,uBAFsE;AAEvC,WAFC;;AAAnE;;AAGA;;AAIJ;;AACJ;;AAEA;;AACI;;AAAqC;;AAAQ;;AAC7C;;AAA0E;;AAAM;;AACpF;;AACJ;;AACJ;;AACJ;;;;;;;;;;;;;;;;AA7DwF;;AAAA;;AAKX;;AAAA,sGAAgC,SAAhC,EAAgC,oGAAhC;;AAGpD;;AAAA;;AAMmD;;AAAA,qGAA+B,SAA/B,EAA+B,oGAA/B;;AAGnD;;AAAA;;AAO4C;;AAAA,kGAA4B,SAA5B,EAA4B,oGAA5B;;AAGhD;;AAAA;;AAQ2D;;AAAA,qGAA+B,SAA/B,EAA+B,oGAA/B;;AAGvD;;AAAA;;AAO8D;;AAAA,4GAAsC,SAAtC,EAAsC,oGAAtC;;AAG9D;;AAAA;;;;;;;;;sEDzCZD,iB,EAAiB;cAL7B,uDAK6B;eALnB;AACT1a,kBAAQ,EAAE,cADD;AAETC,qBAAW,EAAE,2BAFJ;AAGTC,mBAAS,EAAE,CAAC,2BAAD;AAHF,S;AAKmB,Q;;;;;;;;;;;;;;;;;;;;;;;;AEX9B;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAca2a,oB;AAEX,oCAAoB/H,WAApB,EAAyDgI,QAAzD,EACY9qB,aADZ,EAC0C;AAAA;;AADtB,aAAA8iB,WAAA,GAAAA,WAAA;AAAqC,aAAAgI,QAAA,GAAAA,QAAA;AAC7C,aAAA9qB,aAAA,GAAAA,aAAA;AACZ,aAAA+qB,QAAA,GAAkB,EAAlB;AACA,aAAAC,UAAA,GAA4B3rC,KAAK,EAAjC;AAF6C;;;;mCAGrC;AACN,eAAK2gB,aAAL,CAAmBgN,gBAAnB;AACA,eAAKie,mBAAL;AACD;;;+CACsB;AAErB,cAAIC,KAAK,GAAG,gEAAe,0BAAf,EAA2C,sEAA3C,CAAZ,CAFqB,CAGrB;;;AACAA,eAAK,CAACC,UAAN,CAAiBC,OAAjB,GAA2B,IAA3B,CAJqB,CAKrB;;AACAF,eAAK,CAACG,SAAN,CAAgBC,IAAhB,GAAuB,IAAI,mEAAJ,EAAvB;AAEAJ,eAAK,CAAC1nB,IAAN,GAAa,CAAC;AACZ,wBAAY,mBADA;AAEZ,qBAAS,KAAK+nB,MAAL,CAAYC;AAFT,WAAD,EAIb;AACE,wBAAY,KADd;AAEE,qBAAS,KAAKD,MAAL,CAAYE;AAFvB,WAJa,EAQb;AACE,wBAAY,oBADd;AAEE,qBAAS,KAAKF,MAAL,CAAYG;AAFvB,WARa,EAYb;AACE,wBAAY,oBADd;AAEE,qBAAS,KAAKH,MAAL,CAAYI;AAFvB,WAZa,EAgBb;AACE,wBAAY,iBADd;AAEE,qBAAS,KAAKJ,MAAL,CAAYK;AAFvB,WAhBa,CAAb;AAqBA,cAAIC,MAAM,GAAGX,KAAK,CAACW,MAAN,CAAaznB,IAAb,CAAkB,IAAI,uEAAJ,EAAlB,CAAb;AACAynB,gBAAM,CAACC,MAAP,CAAcC,IAAd,GAAqB,CAArB;AACAF,gBAAM,CAACG,UAAP,CAAkBjtB,KAAlB,GAA0B,OAA1B;AACA8sB,gBAAM,CAACG,UAAP,CAAkB3mB,QAAlB,GAA6B,UAA7B;AACAwmB,gBAAM,CAACI,WAAP,GAAqB,IAArB;AAEAJ,gBAAM,CAACK,eAAP,CAAuBC,WAAvB,GAAqC,EAArC;AACAN,gBAAM,CAACK,eAAP,CAAuBtd,KAAvB,GAA+B,GAA/B;AAEAid,gBAAM,CAACO,MAAP,CAAcC,QAAd,CAAuBC,IAAvB,GAA8B,2BAA9B;AACAT,gBAAM,CAACU,MAAP,CAAcF,QAAd,CAAuBG,WAAvB,GAAqC,0EAArC;AAED;;;8CAEqB;AACpB,cAAItB,KAAK,GAAG,KAAKJ,QAAL,CAAc2B,SAAd,CAAwB,0BAAxB,EAAoD;AAC9D,oBAAQ,QADsD;AAE9D,qBAAS,MAFqD;AAG9D,4BAAgB,CAAC;AACf,0BAAY,cADG;AAEf,6BAAe,KAAKlB,MAAL,CAAYC,gBAFZ;AAGf,2BAAa;AAHE,aAAD,EAKhB;AACE,0BAAY,KADd;AAEE,6BAAe,KAAKD,MAAL,CAAYE,GAF7B;AAGE,2BAAa;AAHf,aALgB,EAUhB;AACE,0BAAY,YADd;AAEE,6BAAe,KAAKF,MAAL,CAAYG,iBAF7B;AAGE,2BAAa;AAHf,aAVgB,EAehB;AACE,0BAAY,cADd;AAEE,6BAAe,KAAKH,MAAL,CAAYI,iBAF7B;AAGE,2BAAa;AAHf,aAfgB,EAoBhB;AACE,0BAAY,OADd;AAEE,6BAAe,KAAKJ,MAAL,CAAYK,cAF7B;AAGE,2BAAa;AAHf,aApBgB,CAH8C;AA4B9D,+BAAmB,aA5B2C;AA6B9D,0BAAc,UA7BgD;AA8B9D,2BAAe,GA9B+C;AA+B9D,iCAAqB,CA/ByC;AAgC9D,yBAAa,CAhCiD;AAiC9D,0BAAc,EAjCgD;AAkC9D,6BAAiB,QAlC6C;AAmC9D,2BAAe,GAnC+C;AAoC9D,0BAAc,WApCgD;AAqC9D,sBAAU,CArCoD;AAsC9D,yBAAa,KAtCiD;AAuC9D,0BAAc,CAvCgD;AAwC9D,gCAAoB,CAxC0C;AAyC9D,0BAAc,KAzCgD;AA0C9D,2BAAe,sBAAsB,KAAKL,MAAL,CAAYmB,KAAlC,GAA0C,sBA1CK;AA2C9D,yBAAa,mBAAmB,KAAKnB,MAAL,CAAYmB,KAA/B,GAAuC,kBA3CU;AA4C9D,0BAAc;AACZ,yBAAW;AADC,aA5CgD;AA+C9D,sBAAU;AACR,yBAAW,IADH;AAER,4BAAc,KAFN;AAGR,0BAAY,aAHJ;AAIR,8BAAgB,IAJR;AAKR,8BAAgB,CACd,UADc,EAEd,aAFc,CALR;AASR,6BAAe;AACb,4BAAY,UADC;AAEb,+BAAe,WAAW,KAAKnB,MAAL,CAAYmB,KAAvB,GAA+B;AAFjC,eATP;AAaR,sBAAQ,CACN;AACE,yBAAS,qDADX;AAEE,wBAAQ,CACN;AACE,4BAAU,KADZ;AAEE,2BAAS;AAFX,iBADM,EAKN;AACE,4BAAU,KADZ;AAEE,2BAAS;AAFX,iBALM,EASN;AACA;AACA;AACA;AACA;AACE,4BAAU,KADZ;AAEE,2BAAS;AAFX,iBAbM,EAiBN;AAAE,4BAAU,MAAZ;AAAoB,2BAAS;AAA7B,iBAjBM;AAFV,eADM;AAbA;AA/CoD,WAApD,CAAZ;AAuFD;;;qCAEY;AACX,eAAK5J,WAAL,CAAiB1B,KAAjB,CAAuB,aAAvB;AACD;;;;;;;uBAjJUyJ,oB,EAAoB,0I,EAAA,4I,EAAA,6I;AAAA,K;;;YAApBA,oB;AAAoB,uC;AAAA;AAAA;AAAA,O;AAAA,e;AAAA,a;AAAA,uR;AAAA;AAAA;ACdjC;;AACI;;AACI;;AAAwB;;AAAmC;;AAC3D;;AAA8C;AAAA,mBAAS,IAAArH,UAAA,EAAT;AAAqB,WAArB;;AAC1C;;AAAM;;AAAO;;AACjB;;AACJ;;AACA;;AACI;;AACJ;;AACA;;AACI;;AAAsB;AAAA,mBAAS,IAAAA,UAAA,EAAT;AAAqB,WAArB;;AAA+C;;AAAK;;AAC9E;;AACJ;;;;AAXgC;;AAAA;;;;;;;;sEDYnBqH,oB,EAAoB;cALhC,uDAKgC;eALtB;AACT7a,kBAAQ,EAAE,kBADD;AAETC,qBAAW,EAAE,+BAFJ;AAGTC,mBAAS,EAAE,CAAC,+BAAD;AAHF,S;AAKsB,Q;;;;;;;;;;gBAC9B;;;;;QAoJUyc,S;;;;;;;;;;;;;;;;;;;AEnKb;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;AAKA,sEAAiB,2EAAjB;;QAOaC,iC;AAEX,mDAAc;AAAA;AAAG;;;;mCAEN,CACT;AACD;;;;;;;uBANUA,iC;AAAiC,K;;;YAAjCA,iC;AAAiC,sD;AAAA,c;AAAA,a;AAAA,wH;AAAA;AAAA;ACZ9C;;;;;;;;sEDYaA,iC,EAAiC;cAL7C,uDAK6C;eALnC;AACT5c,kBAAQ,EAAE,iCADD;AAETC,qBAAW,EAAE,8CAFJ;AAGTC,mBAAS,EAAE,CAAC,8CAAD;AAHF,S;AAKmC,Q;;;;;;;;;;;;;;;;;;;;AEZ9C;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;AC4C0C;;AACE;;AACF;;;;;;AAFgD;;AAC9C;;AAAA;;;;;;AAGJ;;AAGE;;AAAK;;AAAe;;AACtB;;;;;;AAgCE;;AACE;;AACF;;;;;;AAFwC;;AACtC;;AAAA;;;;;;AAYJ;;AAGE;;AAAK;;AAAmB;;AAC1B;;;;;;AAYE;;AAGE;;AACF;;;;;;AAFE;;AACA;;AAAA;;;;;;AA8BJ;;AAGE;;AAAK;;AAAqB;;AAC5B;;;;;;AAcA;;AAGE;;AAAK;;AAAwB;;AAC/B;;;;;;AAsBM;;AAEA;;AAA6B;;AAAqB;;;;;;;;AAF3C;;AAAuB;;AAC5B;;AACK;;AAAA;;AAAsB;;AAAA;;;;;;AAyB7B;;AAEA;;AAA6B;;AAAqB;;;;;;;;AAF3C;;AAAuB;;AAC5B;;AACK;;AAAA;;AAAsB;;AAAA;;;;;;AAyB7B;;AAEA;;AAA6B;;AAAqB;;;;;;;;AAF3C;;AAAuB;;AAC5B;;AACK;;AAAA;;AAAsB;;AAAA;;;;;;AAqC/B;;AAEA;;AAA4B;;AAAe;;;;;;;;AAFpC;;AAAsB;;AAC3B;;AACK;;AAAA;;AAAqB;;AAAA;;;;;;;;AAclC;;AACgB;AAAA;;AAAA;;AAAA;AAAA;;AACd;;AACF;;;;;;;;AACA;;AACgB;AAAA;;AAAA;;AAAA;AAAA;;AACd;;AACF;;;;;;;;;;;;;;;;;;;;;;QDnSzB2c,oB;AAGX,oCAAoBnhB,EAApB,EAAmDyT,QAAnD,EAA+E/T,MAA/E,EAAuG0hB,eAAvG,EAAiJzhB,MAAjJ,EAAgLI,KAAhL,EACUqX,WADV,EACuC;AAAA;;AADnB,aAAApX,EAAA,GAAAA,EAAA;AAA+B,aAAAyT,QAAA,GAAAA,QAAA;AAA4B,aAAA/T,MAAA,GAAAA,MAAA;AAAwB,aAAA0hB,eAAA,GAAAA,eAAA;AAA0C,aAAAzhB,MAAA,GAAAA,MAAA;AAA+B,aAAAI,KAAA,GAAAA,KAAA;AACtK,aAAAqX,WAAA,GAAAA,WAAA;AAGV,aAAAiK,kBAAA,GAAqC,EAArC;AACA,aAAAC,0BAAA,GAAqD,EAArD;AACA,aAAAC,2BAAA,GAAuD,EAAvD;AACA,aAAAC,2BAAA,GAAuD,EAAvD;AACA,aAAAC,oBAAA,GAAoD,EAApD;AACA,aAAAC,YAAA,GAA8B,EAA9B;AACA,aAAAC,QAAA,GAA0B,EAA1B;AACA,aAAAC,YAAA,GAA8B,EAA9B;AACA,aAAAC,oBAAA,GAAuB,EAAvB;AACA,aAAAC,aAAA,GAAwB,EAAxB;AACA,aAAAlK,OAAA,GAAe,EAAf;AAEA,aAAAmK,qBAAA,GAAwB,EAAxB;AACA,aAAAC,aAAA,GAAgB,EAAhB;AACA,aAAAxhB,UAAA,GAAsB,KAAtB;AAIA,aAAAyhB,aAAA,GAAyB,KAAzB;AACA,aAAAh4B,eAAA,GAAyB,EAAzB;AAGA,aAAAi4B,gBAAA,GAAmB,EAAnB;AACA,aAAAC,yBAAA,GAA4B,EAA5B;AACA,aAAAC,iBAAA,GAAoB,EAApB;AACA,aAAAC,wBAAA,GAA2B,EAA3B;AACA,aAAAC,qBAAA,GAAwB,EAAxB;AACA,aAAAC,aAAA,GAAgB,EAAhB;AACA,aAAAC,oBAAA,GAAuB,GAAvB;AACA,aAAAC,gBAAA,GAAmB,GAAnB;AACA,aAAAC,mBAAA,GAAsB,GAAtB;AACA,aAAAC,oBAAA,GAAuC,EAAvC;AAlC0C;;;;mCAuClC;;;AAEN,eAAKC,WAAL,GAAmB,YAAKC,cAAL,MAAmB,IAAnB,IAAmB,aAAnB,GAAmB,MAAnB,GAAmB,GAAED,WAArB,IAAmC,CAAD,KAAC,KAAKC,cAAL,MAAmB,IAAnB,IAAmB,aAAnB,GAAmB,MAAnB,GAAmB,GAAED,WAAxD,GAAsE,KAAzF;AACAzrB,sBAAY,CAACwL,UAAb,CAAwB,YAAxB;AACA,eAAKnC,UAAL,GAAkB,IAAlB;AACA,eAAKsiB,mBAAL,GAA2B3rB,YAAY,CAACC,OAAb,CAAqB,QAArB,CAA3B,CALM,CAMN;;AACA,eAAK2rB,qBAAL;AACA,eAAKC,eAAL;AACA,eAAKC,WAAL;AACA,eAAKC,2BAAL,GAVM,CAWN;;AACA,eAAKtL,OAAL,CAAauL,eAAb,GAA+B,KAAKL,mBAApC;;AACA,cAAI,KAAKlL,OAAL,CAAawL,wBAAb,IAAyC98B,SAA7C,EAAwD;AACtD,iBAAKsxB,OAAL,CAAawL,wBAAb,GAAwC,EAAxC;AACA,iBAAKxL,OAAL,CAAawL,wBAAb,CAAsC1qB,IAAtC,CAA2C,KAAKkf,OAAL,CAAauL,eAAxD;AACD,WAhBK,CAiBN;;;AACA,eAAKE,UAAL,GAAkB,YAAKR,cAAL,MAAmB,IAAnB,IAAmB,aAAnB,GAAmB,MAAnB,GAAmB,GAAEQ,UAArB,IAAkC,CAAD,KAAC,KAAKR,cAAL,MAAmB,IAAnB,IAAmB,aAAnB,GAAmB,MAAnB,GAAmB,GAAEQ,UAAvD,GAAoE,KAAKtjB,KAAL,CAAWujB,QAAX,CAAoBC,WAApB,CAAgC,YAAhC,CAAtF;;AAEA,cAAG,KAAKF,UAAL,KAAoB,MAAvB,EAA+B;AAC7B,iBAAKG,QAAL,GAAgB,KAAKzjB,KAAL,CAAWujB,QAAX,CAAoBC,WAApB,CAAgC,QAAhC,CAAhB;AACA,iBAAKhB,aAAL,CAAmB7pB,IAAnB,CAAwB+qB,MAAM,CAAC,KAAKD,QAAN,CAA9B;AACD;;AACD,cAAG,KAAKH,UAAL,KAAoB,UAAvB,EAAmC;AACjC,iBAAKG,QAAL,GAAgB,KAAKzjB,KAAL,CAAWujB,QAAX,CAAoBC,WAApB,CAAgC,QAAhC,CAAhB;AACA,iBAAKnB,iBAAL,CAAuB1pB,IAAvB,CAA4B+qB,MAAM,CAAC,KAAKD,QAAN,CAAlC;AACA,iBAAKE,wBAAL;AACD;;AACD,cAAG,KAAKL,UAAL,KAAoB,SAAvB,EAAkC;AAChC,iBAAKG,QAAL,GAAgB,YAAKX,cAAL,MAAmB,IAAnB,IAAmB,aAAnB,GAAmB,MAAnB,GAAmB,GAAEc,KAArB,IAA6B,CAAD,KAAC,KAAKd,cAAL,MAAmB,IAAnB,IAAmB,aAAnB,GAAmB,MAAnB,GAAmB,GAAEc,KAAlD,GAA0D,KAAK5jB,KAAL,CAAWujB,QAAX,CAAoBC,WAApB,CAAgC,OAAhC,CAA1E;AACA,iBAAKK,MAAL,GAAc,YAAKf,cAAL,MAAmB,IAAnB,IAAmB,aAAnB,GAAmB,MAAnB,GAAmB,GAAEe,MAArB,IAA8B,CAAD,KAAC,KAAKf,cAAL,MAAmB,IAAnB,IAAmB,aAAnB,GAAmB,MAAnB,GAAmB,GAAEe,MAAnD,GAA4D,KAAK7jB,KAAL,CAAWujB,QAAX,CAAoBC,WAApB,CAAgC,QAAhC,CAA1E;;AAEA,gBAAG,KAAKK,MAAL,IAAe,CAACtwB,KAAK,CAAC,KAAKswB,MAAN,CAArB,IAAsC,KAAKJ,QAA3C,IAAuD,CAAClwB,KAAK,CAAC,KAAKkwB,QAAN,CAAhE,EAAgF;AAC9E,mBAAKpB,iBAAL,CAAuB1pB,IAAvB,CAA4B+qB,MAAM,CAAC,KAAKG,MAAN,CAAlC;AACA,mBAAK1B,gBAAL,CAAsBxpB,IAAtB,CAA2B+qB,MAAM,CAAC,KAAKD,QAAN,CAAjC;AACA,mBAAKE,wBAAL;AACD;AAEF;;AACD,cAAI,KAAKL,UAAL,KAAoB/8B,SAApB,IAAiC,KAAKk9B,QAAL,KAAkBl9B,SAAvD,EAAkE;AAChE,iBAAKu9B,gBAAL;AACD;;AACD,eAAKrjB,UAAL,GAAkB,KAAlB;AACD;;;sDAG6B;AAAA;;AAC5B,eAAKA,UAAL,GAAkB,IAAlB;AACA,eAAK4gB,eAAL,CAAqB0C,gBAArB,GAAwChjB,SAAxC,CAAkD,UAAChJ,IAAD,EAAkB;AAClE,mBAAI,CAACgqB,aAAL,GAAqBhqB,IAArB;AACA,mBAAI,CAAC0I,UAAL,GAAkB,KAAlB;AACD,WAHD;AAID;;;gDAEuB;AAAA;;AACtB,eAAKA,UAAL,GAAkB,IAAlB;AACA,eAAK4gB,eAAL,CAAqB2C,qBAArB,GAA6CjjB,SAA7C,CAAuD,UAAChJ,IAAD,EAAU;AAC/D,mBAAI,CAACupB,kBAAL,GAA0BvpB,IAA1B;AACA,mBAAI,CAAC0I,UAAL,GAAkB,KAAlB;AACD,WAHD;AAID;;;2CAGkB;AAAA;;AACjB,eAAK4gB,eAAL,CAAqB4C,uBAArB,GAA+CljB,SAA/C,CAAyD,UAAChJ,IAAD,EAAuC;AAC9F,mBAAI,CAAC8f,OAAL,CAAaqM,mBAAb,GAAmC,EAAnC;;AACA,mBAAI,CAACrM,OAAL,CAAaqM,mBAAb,CAAiCvrB,IAAjC,CAAsC;AAAEwrB,0BAAY,EAAE,IAAhB;AAAsBC,sBAAQ,EAAE,OAAI,CAACX;AAArC,aAAtC;;AACA,mBAAI,CAAC/B,oBAAL,GAA4B3pB,IAA5B;;AACA,gBAAI+iB,GAAG,GAAG,OAAI,CAAC4G,oBAAL,CAA0B2C,IAA1B,CAA+B,UAACC,GAAD,EAAS;AAAE,qBAAOA,GAAG,CAACC,UAAJ,IAAkB,OAAI,CAACjB,UAA9B;AAA0C,aAApF,CAAV;;AACA,mBAAI,CAACzL,OAAL,CAAaqM,mBAAb,CAAiC,CAAjC,EAAoCC,YAApC,GAAmDrJ,GAAG,CAACjwC,EAAvD;AACD,WAND;AAOD;;;sCAEagtC,O,EAAS2M,K,EAAO;AAC5B,cAAI3M,OAAO,CAACwL,wBAAR,IAAoC98B,SAAxC,EAAmD;AACjD,gBAAIsxB,OAAO,CAACwL,wBAAR,CAAiCtvB,MAAjC,GAA0C,CAA9C,EAAiD;AAC/C8jB,qBAAO,CAACwL,wBAAR,CAAiC,CAAjC,IAAsC,KAAKxL,OAAL,CAAauL,eAAnD;AACD,aAFD,MAGK;AACHvL,qBAAO,CAACwL,wBAAR,GAAmC,EAAnC;AACAxL,qBAAO,CAACwL,wBAAR,CAAiC1qB,IAAjC,CAAsC,KAAKkf,OAAL,CAAauL,eAAnD;AACD;AACF,WARD,MASK;AACHvL,mBAAO,CAACwL,wBAAR,GAAmC,EAAnC;AACAxL,mBAAO,CAACwL,wBAAR,CAAiC1qB,IAAjC,CAAsC,KAAKkf,OAAL,CAAauL,eAAnD;AACD;AACF;;;kCAEStiB,K,EAAsB;AAC9B,cAAIA,KAAK,CAACpI,GAAN,KAAc,GAAd,IAAqBoI,KAAK,CAAC4C,MAAN,CAAa,OAAb,EAAsB+gB,IAAtB,OAAiC,EAA1D,EAA8D;AAC5D3jB,iBAAK,CAACwc,cAAN;AACD;AACF;;;6CAEoBloB,c,EAAsB;AAAA;;AAEzC;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAO,KAAKyiB,OAAL,CAAa,mBAAb,CAAP;AACA,iBAAO,KAAKA,OAAL,CAAa,aAAb,CAAP;AAEA,eAAKwJ,eAAL,CAAqBqD,wBAArB,CAA8CtvB,cAA9C,EAA8D2L,SAA9D,CAAwE,UAAChJ,IAAD,EAAmC;AACzG,mBAAI,CAAC0pB,2BAAL,GAAmC1pB,IAAnC;AAED,WAHD;AAKA,eAAKspB,eAAL,CAAqBsD,uBAArB,CAA6CvvB,cAA7C,EAA6D2L,SAA7D,CAAuE,UAAChJ,IAAD,EAAkC;AACvG,mBAAI,CAACwpB,0BAAL,GAAkCxpB,IAAlC;AACD,WAFD;AAIA,eAAKspB,eAAL,CAAqBuD,wBAArB,CAA8CxvB,cAA9C,EAA8D2L,SAA9D,CAAwE,UAAChJ,IAAD,EAAmC;AACzG,mBAAI,CAACypB,2BAAL,GAAmCzpB,IAAnC;AACD,WAFD;AAGD;;;iCAEQ;AACP,eAAK2b,QAAL,CAAcmR,IAAd;AACD;;;qCAEY;AACX,eAAKxN,WAAL,CAAiB1B,KAAjB,CAAuB,aAAvB;AACD;;;iCAEQkC,O,EAAciN,e,EAAsB;AAAA;;;;AAE3C,eAAKrkB,UAAL,GAAkB,IAAlB;;AACA,cAAI,CAACqkB,eAAe,CAACC,KAArB,EAA4B;AAC1B,iBAAKtkB,UAAL,GAAkB,KAAlB;AACA;AACD,WAN0C,CAO/C;AACI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAEAoX,iBAAO,CAACgK,YAAR,GAAuB,CAAH,KAAGhK,OAAO,CAACgK,YAAR,MAAoB,IAApB,IAAoB,aAApB,GAAoB,MAApB,GAAoB,GAAEmD,OAAF,CAAU,UAAAlK,GAAG,EAAI;AAAD;;AAAA,yBAACA,GAAG,CAACsJ,QAAL,MAAa,IAAb,IAAa,aAAb,GAAa,MAAb,GAAa,GAAE9P,GAAF,CAAM,UAAA5sC,EAAE,EAAI;AAClF,kBAAIozC,GAAG,CAACqJ,YAAJ,IAAoBz8C,EAAxB,EAA4B;AAC1B,uBAAQ;AACNy8C,8BAAY,EAAErJ,GAAG,CAACqJ,YADZ;AAENC,0BAAQ,EAAE18C;AAFJ,iBAAR;AAID;AACF,aAPuE,CAAb;AAOzD,WAPyC,CAA3C;AASAmwC,iBAAO,CAAC+J,QAAR,GAAmB,CAAH,KAAG/J,OAAO,CAAC+J,QAAR,MAAgB,IAAhB,IAAgB,aAAhB,GAAgB,MAAhB,GAAgB,GAAEoD,OAAF,CAAU,UAAAlK,GAAG,EAAI;AAAD;;AAAA,yBAACA,GAAG,CAACsJ,QAAL,MAAa,IAAb,IAAa,aAAb,GAAa,MAAb,GAAa,GAAE9P,GAAF,CAAM,UAAA5sC,EAAE,EAAI;AAC1E,kBAAIozC,GAAG,CAACqJ,YAAJ,IAAoBz8C,EAAxB,EAA4B;AAC1B,uBAAQ;AACNy8C,8BAAY,EAAErJ,GAAG,CAACqJ,YADZ;AAENC,0BAAQ,EAAE18C;AAFJ,iBAAR;AAID;AACF,aAP+D,CAAb;AAOjD,WAPiC,CAAnC;AAQAmwC,iBAAO,CAAC8J,YAAR,GAAuB,CAAH,KAAG9J,OAAO,CAAC8J,YAAR,MAAoB,IAApB,IAAoB,aAApB,GAAoB,MAApB,GAAoB,GAAEqD,OAAF,CAAU,UAAAlK,GAAG,EAAI;AAAD;;AAAA,yBAACA,GAAG,CAACsJ,QAAL,MAAa,IAAb,IAAa,aAAb,GAAa,MAAb,GAAa,GAAE9P,GAAF,CAAM,UAAA5sC,EAAE,EAAI;AAClF,kBAAIozC,GAAG,CAACqJ,YAAJ,IAAoBz8C,EAAxB,EAA4B;AAC1B,uBAAQ;AACNy8C,8BAAY,EAAErJ,GAAG,CAACqJ,YADZ;AAENC,0BAAQ,EAAE18C;AAFJ,iBAAR;AAID;AACF,aAPuE,CAAb;AAOzD,WAPyC,CAA3C,CAlC2C,CA4C3C;;AACA,eAAKmwC,OAAL,CAAawL,wBAAb,GAAwC,KAAKxL,OAAL,CAAawL,wBAAb,CAAsC/O,GAAtC,CAA0C,UAAA5sC,EAAE;AAAA,mBAAK;AAAEmB,iCAAmB,EAAEnB;AAAvB,aAAL;AAAA,WAA5C,CAAxC;AACA,cAAIu9C,yBAAyB,GAAG,KAAKC,+CAAL,CAAqD,KAAK7C,iBAA1D,EAA6E,KAAKI,oBAAlF,CAAhC;AACA,cAAI0C,qBAAqB,GAAG,KAAKD,+CAAL,CAAqD,KAAK1C,aAA1D,EAAyE,KAAKE,gBAA9E,CAA5B;AACA,cAAI0C,wBAAwB,GAAG,KAAKF,+CAAL,CAAqD,KAAK/C,gBAA1D,EAA4E,KAAKQ,mBAAjF,CAA/B,CAhD2C,CAkD3C;;AACA,eAAK9K,OAAL,CAAaqM,mBAAb,GAAmC,EAAnC;;AAEA,cAAIe,yBAAJ,EAA+B;AAC7B,iBAAKpN,OAAL,CAAaqM,mBAAb,GAAmC,KAAKrM,OAAL,CAAaqM,mBAAb,CAAiCmB,MAAjC,CAAwCJ,yBAAxC,CAAnC;AACD;;AACD,cAAIE,qBAAJ,EAA2B;AACzB,iBAAKtN,OAAL,CAAaqM,mBAAb,GAAmC,KAAKrM,OAAL,CAAaqM,mBAAb,CAAiCmB,MAAjC,CAAwCF,qBAAxC,CAAnC;AACD;;AACD,cAAIC,wBAAJ,EAA8B;AAC5B,iBAAKvN,OAAL,CAAaqM,mBAAb,GAAmC,KAAKrM,OAAL,CAAaqM,mBAAb,CAAiCmB,MAAjC,CAAwCD,wBAAxC,CAAnC;AACD;;AAGD,eAAK3kB,UAAL,GAAkB,IAAlB;AAGA,eAAK4gB,eAAL,CAAqBiE,WAArB,CAAiCzN,OAAjC,EAA0C9W,SAA1C,CAAoD,UAACpN,GAAD,EAAS;AAC3D,mBAAI,CAAC8M,UAAL,GAAkB,KAAlB,CAD2D,CAE7D;AACA;AACA;AACA;;AACA,gBAAI9M,GAAG,CAAC2P,YAAJ,IAAoB,CAAxB,EAA2B;AACzB,qBAAI,CAAC1D,MAAL,CAAY8C,OAAZ,CAAoB,8BAApB;AACD,aAFD,MAGK;AACH,qBAAI,CAAC9C,MAAL,CAAYmD,KAAZ,CAAkB,wBAAlB;AACD;;AACD,gBAAI,OAAI,CAAC8f,WAAT,EAAsB,OAAI,CAACxL,WAAL,CAAiB1B,KAAjB;AACtB,gBAAI,CAAC,OAAI,CAACkN,WAAV,EAAuB,OAAI,CAAC0C,MAAL;AAExB,WAfC,EAeC,UAAAxiB,KAAK,EAAI;AACV,mBAAI,CAACnD,MAAL,CAAYmD,KAAZ,CAAkB,yBAAlB;;AACA,gBAAI,OAAI,CAAC8f,WAAT,EAAsB,OAAI,CAACxL,WAAL,CAAiB1B,KAAjB;AACtB,gBAAI,CAAC,OAAI,CAACkN,WAAV,EAAuB,OAAI,CAAC0C,MAAL;AACxB,WAnBC;AAoBH;;;sDAI+B;AAC5B,eAAK1D,YAAL,GAAoB,EAApB,CAD4B,CAG5B;;AACA,eAAK8B,wBAAL;AACD;;;mDAG0B;AAAA;;AAEzB,cAAI/vC,KAAK,CAAC4iB,OAAN,CAAc,KAAK6rB,iBAAnB,KAAyC,KAAKA,iBAAL,CAAuBtuB,MAAvB,GAAgC,CAA7E,EAAgF;AAE9E,gBAAIyxB,OAAO,GAAG,KAAKnE,eAAL,CAAqBoE,uBAArB,CAA6C,KAAK9C,mBAAlD,EAAuE,KAAKN,iBAA5E,CAAd;AAEAmD,mBAAO,CAACzkB,SAAR,CAAkB,UAAChJ,IAAD,EAA0B;AAC1C,kBAAI2tB,oBAAoB,GAAG,OAAI,CAACC,eAAL,CAAqB5tB,IAArB,EAA2B,cAA3B,CAA3B;;AACA,qBAAI,CAAC8pB,YAAL,GAAoB6D,oBAAoB,CAAC,OAAI,CAAC/C,mBAAN,CAAxC;AACA,qBAAI,CAACC,oBAAL,GAA4B,OAAI,CAACf,YAAjC;AACA,qBAAI,CAACO,yBAAL,sBAAqC,OAAI,CAACD,gBAA1C;AACA,qBAAI,CAACA,gBAAL,GAAwB,EAAxB;;AAL0C,0DAMvB,OAAI,CAACN,YANkB;AAAA;;AAAA;AAM1C,uEAAsC;AAAA,sBAA9B+D,OAA8B;;AAAA,8DACR,OAAI,CAACxD,yBADG;AAAA;;AAAA;AACpC,2EAA2D;AAAA,0BAAnDyD,gBAAmD;;AAEzD,0BAAGD,OAAO,CAACxB,QAAR,CAAiB3wB,QAAjB,MAA+BoyB,gBAAlC,EAAoD;AAClD,+BAAI,CAAC1D,gBAAL,CAAsBxpB,IAAtB,CAA2BitB,OAAO,CAACxB,QAAnC,EADkD,CAEnD;;AACA;AAEF;AARmC;AAAA;AAAA;AAAA;AAAA;AASrC,iBAfyC,CAiB1C;;AAjB0C;AAAA;AAAA;AAAA;AAAA;AAkB3C,aAlBD;AAoBA,mBAAOoB,OAAP;AAED,WA1BD,MA0BO;AACL,iBAAKrD,gBAAL,GAAwB,EAAxB;AACD;AACF;;;0CAGiB;AAAA;;AAChB,eAAK1hB,UAAL,GAAkB,IAAlB;AACA,cAAI+kB,OAAO,GAAG,KAAKnE,eAAL,CAAqBoE,uBAArB,CAA6C,KAAKhD,oBAAlD,EAAwE,IAAxE,CAAd;AACA+C,iBAAO,CAACzkB,SAAR,CAAkB,UAAChJ,IAAD,EAA0B;AAC1C,gBAAI2tB,oBAAoB,GAAG,OAAI,CAACC,eAAL,CAAqB5tB,IAArB,EAA2B,cAA3B,CAA3B;;AACA,mBAAI,CAAC4pB,YAAL,GAAoB+D,oBAAoB,CAAC,OAAI,CAACjD,oBAAN,CAAxC;AACA,mBAAI,CAACG,oBAAL,GAA4B,OAAI,CAACjB,YAAjC;AAED,WALD;AAMA,eAAKlhB,UAAL,GAAkB,KAAlB;AACA,iBAAO+kB,OAAP;AAED;;;sCAEa;AAAA;;AACZ,eAAK/kB,UAAL,GAAkB,IAAlB;AACA,cAAI+kB,OAAO,GAAG,KAAKnE,eAAL,CAAqBoE,uBAArB,CAA6C,KAAK/C,gBAAlD,EAAoE,IAApE,CAAd;AAEA8C,iBAAO,CAACzkB,SAAR,CAAkB,UAAChJ,IAAD,EAA0B;AAC1C,gBAAI2tB,oBAAoB,GAAG,OAAI,CAACC,eAAL,CAAqB5tB,IAArB,EAA2B,cAA3B,CAA3B;;AACA,mBAAI,CAAC6pB,QAAL,GAAgB8D,oBAAoB,CAAC,OAAI,CAAChD,gBAAN,CAApC;AACA,mBAAI,CAACE,oBAAL,GAA4B,OAAI,CAAChB,QAAjC;AAED,WALD;AAMA,eAAKnhB,UAAL,GAAkB,KAAlB;AACA,iBAAO+kB,OAAP;AACD;;;wCAGeM,K,EAAcptB,G,EAAW;AACvC,iBAAOotB,KAAK,CAACC,MAAN,CAAa,UAACvyB,MAAD,EAASsoB,YAAT,EAA0B;AAC5C,aAACtoB,MAAM,CAACsoB,YAAY,CAACpjB,GAAD,CAAb,CAAN,GAA4BlF,MAAM,CAACsoB,YAAY,CAACpjB,GAAD,CAAb,CAAN,IAA6B,EAA1D,EAA8DC,IAA9D,CACEmjB,YADF;AAGA,mBAAOtoB,MAAP;AACD,WALM,EAKJ,EALI,CAAP;AAMD;;;wEAG+CwyB,Q,EAAiB1vB,Y,EAAmB;AAElF,cAAI2vB,QAAQ,GAAU,EAAtB;;AAEA,cAAIryC,KAAK,CAAC4iB,OAAN,CAAcwvB,QAAd,KAA2BA,QAAQ,CAACjyB,MAAT,GAAkB,CAAjD,EAAoD;AAElDiyB,oBAAQ,CAACxtB,OAAT,CAAiB,UAAAirB,QAAQ,EAAI;AAC3BwC,sBAAQ,CAACttB,IAAT,CAAc;AAAE,gCAAgBrC,YAAlB;AAAgC,4BAAYmtB;AAA5C,eAAd;AACD,aAFD;AAGA,mBAAOwC,QAAP;AAED,WAPD,MAOO;AACL,mBAAO,IAAP;AACD;AAEF;;;;;;;uBA3WU7E,oB,EAAoB,gI,EAAA,yH,EAAA,uH,EAAA,iJ,EAAA,yH,EAAA,+H,EAAA,0I;AAAA,K;;;YAApBA,oB;AAAoB,uC;AAAA;AAAA;AAAA,O;AAAA,gB;AAAA,c;AAAA,yiH;AAAA;AAAA;;;ACfjC;;AAEA;;AACE;;AAEE;;AAGE;;AACE;;AACE;;AACE;;AACE;;AACE;;AACE;;AACE;;AACE;;AACE;;AAC4B;AAAA;;AAAA;;AAAA,mBAAY,IAAAjC,QAAA,kBAAZ;AAA6C,WAA7C;;AAC1B;;AACE;;AACE;;AACE;;AACE;;AACE;;AACE;;AACE;;AACF;;AACF;;AACF;;AACF;;AAGA;;AACE;;AACE;;AACE;;AAAuC;;AAAc;;AAC1B;;AAAO;;AAAO;;AACzC;;AACE;;AACE;AAAA;AAAA,aAAoC,QAApC,EAAoC;AAAA,mBAC1B,IAAA+G,oBAAA,4BAD0B;AACkB,WADtD;;AAEA;;AAA6C;;AAAO;;AAEpD;;AAGF;;AACA;;AAKF;;AACA;;AAkBF;;AAEA;;AACE;;AAAuC;;AAAM;;AAClB;;AAAO;;AAAO;;AACzC;;AACE;;AACE;AAAA,mBAAU,IAAAC,aAAA,cAAsB,CAAtB,CAAV;AAAkC,WAAlC,EAAmC,eAAnC,EAAmC;AAAA;AAAA,WAAnC;;AAEA;;AACE;;AACF;;AACA;;AAGF;;AAEF;;AACA;;AACA;;AAAuC;;AAAQ;;AACpB;;AAAO;;AAAO;;AACzC;;AACE;;AACE;AAAA;AAAA,aAA6B,SAA7B,EAA6B;AAAA,mBAClB,IAAAC,SAAA,QADkB;AACD,WAD5B;;AADF;;AAGA;;AAMF;;AACA;;AACF;;AAEA;;AACE;;AAAuC;;AAAQ;;AAC/C;;AACE;;AACE;AAAA;AAAA;;AACA;;AAA4C;;AAAM;;AAClD;;AAKF;;AACF;;AAEA;;AAEA;;AAAuC;;AAAoB;;AAC3D;;AACE;;AACE;AAAA;AAAA,aAAiC,SAAjC,EAAiC;AAAA,mBACtB,IAAAA,SAAA,QADsB;AACL,WAD5B;;AAEwC;;AAC5C;;AACF;;AAEA;;AAGA;;AAEE;;AAAuC;;AAAS;;AACrB;;AAAO;;AAAO;;AAEzC;;AACE;;AACE;;AAC4B;AAAA;AAAA;;AAD5B;;AAGF;;AACA;;AAOF;;AACA;;AACF;;AAEA;;AACE;;AAAuC;;AAAY;;AACxB;;AAAO;;AAAO;;AACzC;;AACE;;AACE;AAAA;AAAA,aAA6B,SAA7B,EAA6B;AAAA,mBACT,IAAAA,SAAA,QADS;AACQ,WADrC;;AACgD;;AAClD;;AAOF;;AACF;;AAGA;;AAEE;;AAAuC;;AAAS;;AAEhD;;AAGE;;AACE;;AAGE;AAAA,mBAAU,IAAAC,2BAAA,EAAV;AAAuC,WAAvC,EAAwC,eAAxC,EAAwC;AAAA;AAAA,WAAxC;;AAEA;;AAOF;;AACF;;AACA;;AAEF;;AAEF;;AAEA;;AAEE;;AAAuC;;AAAK;;AAC5C;;AAIE;;AACE;;AAE8C;AAAA;AAAA;;AAE5C;;AAOF;;AACF;;AACA;;AAEF;;AAEF;;AAKA;;AACE;;AAAuC;;AAAQ;;AAC/C;;AAGE;;AACE;;AAE8C;AAAA;AAAA;;AAC5C;;AAMF;;AACF;;AACA;;AAEF;;AACF;;AAmBA;;AACE;;AAAuC;;AAAY;;AACxB;;AAAO;;AAAO;;AACzC;;AAEE;;AAGE;AAAA;AAAA;;AACA;;AAOF;;AACF;;AACF;;AAKA;;AACE;;AAEE;;AAAI;;AAAS;;AACf;;AAIA;;AAIF;;AACF;;AACF;;AACF;;AACF;;AACF;;AACF;;AACF;;AACF;;AACF;;AACF;;AACF;;AACF;;AACF;;AACF;;AACF;;AAEF;;AAEF;;AACF;;;;;;AAvUQ;;AAEH;;AAAA;;AACE;;AAAA;;AAGD;;AAAA;;AAkCoC;;AAAA;;AAIQ;;AAAA;;AAKR;;AAAA;;AA8BoC;;AAAA;;AAE5B;;AAAA;;AAGA;;AAAA;;AAWR;;AAAA;;AAGA;;AAAA;;AAaA;;AAAA;;AAEQ;;AAAA;;AAaR;;AAAA;;AAiB4B;;AAAA;;AAI5B;;AAAA;;AAeA;;AAAA;;AAGA;;AAAA;;AAkBmC;;AAAA,8FAAsB,YAAtB,EAAsB,IAAtB,EAAsB,UAAtB,EAAsB,IAAtB,EAAsB,eAAtB,EAAsB,KAAtB,EAAsB,aAAtB,EAAsB,gBAAtB,EAAsB,SAAtB,EAAsB,qBAAtB;;AA4BJ;;AAAA,0FAAkB,YAAlB,EAAkB,IAAlB,EAAkB,UAAlB,EAAkB,IAAlB,EAAkB,eAAlB,EAAkB,KAAlB,EAAkB,aAAlB,EAAkB,gBAAlB,EAAkB,SAAlB,EAAkB,iBAAlB;;AA4BJ;;AAAA,8FAAuB,YAAvB,EAAuB,IAAvB,EAAuB,UAAvB,EAAuB,IAAvB,EAAuB,eAAvB,EAAuB,KAAvB,EAAuB,aAAvB,EAAuB,kBAAvB,EAAuB,SAAvB,EAAuB,oBAAvB;;AAsCE;;AAAA,+FAAuB,YAAvB,EAAuB,IAAvB,EAAuB,UAAvB,EAAuB,IAAvB,EAAuB,eAAvB,EAAuB,KAAvB,EAAuB,aAAvB,EAAuB,oBAAvB,EAAuB,SAAvB,EAAuB,oCAAvB;;AAsBzB;;AAAA;;AAIA;;AAAA;;;;;;;;;sEDhSjCjF,oB,EAAoB;cAPhC,uDAOgC;eAPtB;AACT7c,kBAAQ,EAAE,kBADD;AAETC,qBAAW,EAAE,+BAFJ;AAGTC,mBAAS,EAAE,CAAC,+BAAD;AAHF,S;AAOsB,Q;;;;;;;;;;;;;;;;;;gBA2B9B;;;;;;;;;;;;;;;;;;;;AE1CH;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;ACiD8B;;AACE;;AACF;;;;;;AAFgD;;AAC9C;;AAAA;;;;;;AAYF;;AACE;;AACF;;;;;;AAFyD;;AACvD;;AAAA;;;;;;AAkBF;;AAAwD;;AAAa;;;;;;AAA7B;;AAAgB;;AAAA;;;;;;;;AAmBtD;;AACoD;AAAA;;AAAA;;AAAA;;AAAA;AAAA,WAAiC,YAAjC,EAAiC;AAAA;;AAAA;;AAAA,uCACvD,IADuD;AACnD,SADkB;;AAElD;;AACF;;;;;;;;;AAJyB,0FAAyB,OAAzB,EAAyB,wBAAzB,EAAyB,OAAzB,EAAyB,uDAAzB;;AAGvB;;AAAA;;;;;;;;AAyBN;;AACA;;AAAuD;AAAA;;AAAA;;AAAA;;AAAA,iBAAS,YAAT;AAA4B,SAA5B;;AAA8B;;AAAE;;;;;;AAYrF;;AACE;;AACF;;;;;;AAFiD;;AAC/C;;AAAA;;;;;;AASF;;AACE;;AACF;;;;;;AAFiD;;AAC/C;;AAAA;;;;;;;;AA4CN;;AACE;AAAA;;AAAA;;AAAA;AAAA,WAAqD,WAArD,EAAqD;AAAA;;AAAA;;AAAA;AAAA,SAArD;;AAEF;;;;;;;AAFwD,8FAAwB,OAAxB,EAAwB,KAAxB;;;;;;AAjB5D;;AAEE;;AACE;;AAEE;;AAAI;;AAAa;;AACjB;;AAAI;;AAAQ;;AACZ;;AAAI;;AAAY;;AAChB;;AAAI;;AAAO;;AACX;;AAAI;;AAAQ;;AACZ;;AAAI;;AAAe;;AACnB;;AAAI;;AAAU;;AACd;;AAAI;;AAAO;;AACb;;AACF;;AACA;;AACE;;AAIF;;AACF;;;;;;AAL0B;;AAAA;;;;;;AAO1B;;AACE;;AAAgC;;AAAgB;;AAClD;;;;;;;;QD/LT6hB,yB;AAuBX,yCAAoBjK,QAApB,EAAkDD,SAAlD,EAA6FiF,eAA7F,EAAuIphB,EAAvI,EAA8J;AAAA;;AAA1I,aAAAoc,QAAA,GAAAA,QAAA;AAA8B,aAAAD,SAAA,GAAAA,SAAA;AAA2C,aAAAiF,eAAA,GAAAA,eAAA;AAA0C,aAAAphB,EAAA,GAAAA,EAAA;AAnBvI,aAAAnkB,UAAA,GAAqB,CAArB;AACA,aAAAyqC,SAAA,GAAoB,KAAKzqC,UAAL,GAAkB,CAAtC;AACA,aAAAC,QAAA,GAAmB,CAAnB;AAWA,aAAAyqC,kBAAA,GAA0B,EAA1B;AACA,aAAAlF,kBAAA,GAAqC,EAArC;AACA,aAAAC,0BAAA,GAAqD,EAArD;AACA,aAAAG,oBAAA,GAAoD,EAApD;AACA,aAAAM,qBAAA,GAA6B,EAA7B;AACA,aAAAD,aAAA,GAAwB,EAAxB;AA+JA,aAAAlF,WAAA,GAA8B,IAA9B;AA9JiK;;;;mCAGzJ;AAEN,eAAK4J,qBAAL;AACA,eAAKC,oBAAL;AACA,eAAKF,kBAAL,CAAwBpxB,cAAxB,GAAyC,IAAzC;AACA,eAAKoxB,kBAAL,CAAwBvxB,gBAAxB,GAA2C,IAA3C;AACA,eAAKuxB,kBAAL,CAAwBG,OAAxB,GAAkC,IAAlC;AACA,eAAKH,kBAAL,CAAwB/H,SAAxB,GAAoC,IAApC;AACA,eAAK+H,kBAAL,CAAwBrC,YAAxB,GAAuC,IAAvC;AACA,eAAKqC,kBAAL,CAAwBpC,QAAxB,GAAmC,IAAnC;AACA,eAAKoC,kBAAL,CAAwBI,UAAxB,GAAqC,CAArC;AACA,eAAKJ,kBAAL,CAAwBK,QAAxB,GAAmC,IAAnC;AACA,eAAKL,kBAAL,CAAwBM,OAAxB,GAAkC,IAAlC;AACA,eAAKC,WAAL,CAAiB,KAAKP,kBAAtB;AACA,eAAKQ,YAAL;AACA,eAAKC,iBAAL;AACD;;;4CAEmB;AAAA;;AAClB,eAAK5F,eAAL,CAAqB0C,gBAArB,GAAwChjB,SAAxC,CAAkD,UAAChJ,IAAD,EAAkB;AAClE,mBAAI,CAACgqB,aAAL,GAAqBhqB,IAArB;AAED,WAHD;AAID;;;gDACuB;AAAA;;AACtB,eAAKspB,eAAL,CAAqB2C,qBAArB,GAA6CjjB,SAA7C,CAAuD,UAAChJ,IAAD,EAAU;AAC/D,mBAAI,CAACupB,kBAAL,GAA0BvpB,IAA1B;AACD,WAFD;AAGD;;;+CAEsB;AAAA;;AACrB,eAAKspB,eAAL,CAAqB4C,uBAArB,GAA+CljB,SAA/C,CAAyD,UAAChJ,IAAD,EAAuC;AAC9F,mBAAI,CAAC2pB,oBAAL,GAA4B3pB,IAA5B;AACD,WAFD;AAGD;;;uCAEc;AAAA;;AACb,eAAKspB,eAAL,CAAqBsD,uBAArB,CAA6C,IAA7C,EAAmD5jB,SAAnD,CAA6D,UAAChJ,IAAD,EAAkC;AAC7F,mBAAI,CAACwpB,0BAAL,GAAkCxpB,IAAlC;AACD,WAFD;AAGD;;;iCAEQ;AACP,cAAImvB,WAAW,GAAG,IAAI,oEAAJ,EAAlB;AACAA,qBAAW,CAAC9+C,UAAZ,GAAyB,IAAzB;AACA,eAAK++C,kBAAL,CAAwBC,OAAxB,CAAgCF,WAAhC;AACA,eAAKjnB,EAAL,CAAQ6C,aAAR;AACD;;;sCAEa0hB,K,EAAY;AACxB,cAAI,gBAAgB,KAAK2C,kBAAL,CAAwB3C,KAAxB,CAApB,EAAoD,CACnD,CADD,MACO;AACL,iBAAK2C,kBAAL,CAAwBE,MAAxB,CAA+B7C,KAA/B,EAAsC,CAAtC;AACD;AACF;;;oCAEWgC,kB,EAAoB;AAAA;;AAC9B,eAAKnF,eAAL,CAAqBiG,mBAArB,CAAyCd,kBAAzC,EAA6DzlB,SAA7D,CAAuE,UAAChJ,IAAD,EAAe;AACpF,mBAAI,CAACwvB,UAAL,GAAkBxvB,IAAI,CAACyvB,IAAvB;AACA,mBAAI,CAACL,kBAAL,GAA0BpvB,IAAI,CAACyvB,IAA/B;AACA,mBAAI,CAACzzB,MAAL,GAAc,OAAI,CAACozB,kBAAL,CAAwBpzB,MAAtC;;AACA,mBAAI,CAACkM,EAAL,CAAQ6C,aAAR;AAED,WAND;AAOD;;;mCAEU;AACT,cAAI,KAAK2kB,UAAT,EAAqB;AACnB,gBAAIC,MAAM,GAAG,KAAKP,kBAAL,CAAwB7S,GAAxB,CAA4B,UAAAwG,GAAG,EAAI;AAC9C,qBAAO,MAAP,OAAO,CAAP,kBAAYA,GAAZ,CAAO,EAAQ;AAAE1yC,0BAAU,EAAE;AAAd,eAAR,CAAP;AACD,aAFY,CAAb;AAGD,WAJD,MAIO;AAEL,gBAAIs/C,MAAM,GAAG,KAAKP,kBAAL,CAAwB7S,GAAxB,CAA4B,UAAAwG,GAAG,EAAI;AAC9C,qBAAO,MAAP,OAAO,CAAP,kBAAYA,GAAZ,CAAO,EAAQ;AAAE1yC,0BAAU,EAAE;AAAd,eAAR,CAAP;AACD,aAFY,CAAb;AAGD;;AACD,eAAK++C,kBAAL,GAA0BO,MAA1B;AACD;;;kCAES5mB,K,EAAO;AAAA;;AACfqB,gBAAM,CAACC,MAAP,CAAc;AACZ3F,eAAG,EAAE,CADO;AAEZE,gBAAI,EAAE,CAFM;AAGZoc,oBAAQ,EAAE;AAHE,WAAd;AAKA,eAAKj9B,UAAL,GAAkBglB,KAAK,CAACylB,SAAN,GAAkB,CAApC;AACA,eAAKxqC,QAAL,GAAgB+kB,KAAK,CAAC/kB,QAAtB;AACA,cAAI4a,OAAO,GAAG;AAAEvB,0BAAc,EAAE,IAAlB;AAAwBH,4BAAgB,EAAE,IAA1C;AAAgD0xB,mBAAO,EAAE,IAAzD;AAA+DlI,qBAAS,EAAE,IAA1E;AAAgF0F,wBAAY,EAAE,IAA9F;AAAoGC,oBAAQ,EAAE,IAA9G;AAAoHwC,sBAAU,EAAE,KAAK9qC,UAArI;AAAiJ+qC,oBAAQ,EAAE,KAAK9qC,QAAhK;AAA0K+qC,mBAAO,EAAE,KAAKN,kBAAL,CAAwBM;AAA3M,WAAd;AACA,eAAKzF,eAAL,CAAqBiG,mBAArB,CAAyC3wB,OAAzC,EAAkDoK,SAAlD,CAA4D,UAACpN,GAAD,EAAc;AACxE,mBAAI,CAACwzB,kBAAL,GAA0BxzB,GAA1B;AACD,WAFD;AAID;;;2CAEkBwwB,Y,EAAmB;AAAA;;AACpC,eAAK9C,eAAL,CAAqBoE,uBAArB,CAA6CtB,YAA7C,EAA0D,EAA1D,EAA8DpjB,SAA9D,CAAwE,UAAChJ,IAAD,EAA0B;AAChG,mBAAI,CAACiqB,qBAAL,GAA6BjqB,IAA7B;AACD,WAFD;AAGD;;;uCAGc;AAAA;;AACb,cAAIpB,OAAO,GAAG;AAAEvB,0BAAc,EAAE,IAAlB;AAAwBH,4BAAgB,EAAE,IAA1C;AAAgD0xB,mBAAO,EAAE,IAAzD;AAA+DlI,qBAAS,EAAE,IAA1E;AAAgF0F,wBAAY,EAAE,IAA9F;AAAoGC,oBAAQ,EAAE,IAA9G;AAAoHwC,sBAAU,EAAE,CAAhI;AAAmIC,oBAAQ,EAAE,IAA7I;AAAmJC,mBAAO,EAAE,KAAKN,kBAAL,CAAwBM;AAApL,WAAd;AACA,eAAKjJ,uBAAL,GAA+B,IAA/B;AACA,eAAKC,qBAAL,GAA6B,IAA7B;AACA,eAAKuD,eAAL,CAAqBiG,mBAArB,CAAyC3wB,OAAzC,EAAkDoK,SAAlD,CAA4D,UAACpN,GAAD,EAAc;AACxE,mBAAI,CAACwzB,kBAAL,GAA0BxzB,GAA1B;AAEA,mBAAI,CAACquB,qBAAL,GAA6B,EAA7B;AAEA,mBAAI,CAACwE,kBAAL,GAA0B;AAAEpxB,4BAAc,EAAE,IAAlB;AAAwBH,8BAAgB,EAAE,IAA1C;AAAgD0xB,qBAAO,EAAE,IAAzD;AAA+DlI,uBAAS,EAAE,IAA1E;AAAgF0F,0BAAY,EAAE,IAA9F;AAAoGC,sBAAQ,EAAE,IAA9G;AAAoHwC,wBAAU,EAAE,CAAhI;AAAmIC,sBAAQ,EAAE,IAA7I;AAAmJC,qBAAO,EAAE;AAA5J,aAA1B;AACD,WAND;AAOD;;;iCAEQN,kB,EAAyB;AAAA;;AAGhC,cAAI,KAAK3I,uBAAL,IAAgCt3B,SAApC,EAA+C;AAC7CigC,8BAAkB,CAAC/H,SAAnB,GAA+B,IAA/B;AACA+H,8BAAkB,CAAC5H,OAAnB,GAA6B,IAA7B;AACD,WAHD,MAGO;AACL4H,8BAAkB,CAAC/H,SAAnB,GAA+B,KAAKC,WAAL,CAAiB,IAAI,kEAAJ,CAAY,KAAKb,uBAAL,CAA6B1H,IAAzC,EAA+C,KAAK0H,uBAAL,CAA6BzH,KAA5E,EAAmF,KAAKyH,uBAAL,CAA6BxH,GAAhH,CAAjB,CAA/B;AACAmQ,8BAAkB,CAAC5H,OAAnB,GAA6B,KAAKF,WAAL,CAAiB,IAAI,kEAAJ,CAAY,KAAKZ,qBAAL,CAA2B3H,IAAvC,EAA6C,KAAK2H,qBAAL,CAA2B1H,KAAxE,EAA+E,KAAK0H,qBAAL,CAA2BzH,GAA1G,CAAjB,CAA7B;AACD;;AAGDmQ,4BAAkB,CAACI,UAAnB,GAAgC,CAAhC;AACAJ,4BAAkB,CAACK,QAAnB,GAA8B,IAA9B;AACA,eAAKxF,eAAL,CAAqBiG,mBAArB,CAAyCd,kBAAzC,EAA6DzlB,SAA7D,CAAuE,UAACpN,GAAD,EAAc;AACnF,mBAAI,CAACwzB,kBAAL,GAA0BxzB,GAA1B;AACD,WAFD;AAGD;;;oCAIWsiB,I,EAAW;AACrB,cAAIE,IAAI,GAAGF,IAAI,CAACE,IAAhB;AACA,cAAIC,KAAK,GAAGH,IAAI,CAACG,KAAjB;AACA,cAAIC,GAAG,GAAGJ,IAAI,CAACI,GAAf;AACA,iBAAOF,IAAI,GAAG,GAAP,GAAaC,KAAb,GAAqB,GAArB,GAA2BC,GAAlC;AACD;;;kCAGSvV,K,EAAsB;AAC9B;AACA,cAAIA,KAAK,CAACpI,GAAN,KAAc,GAAd,IAAqBoI,KAAK,CAAC4C,MAAN,CAAa,OAAb,EAAsB+gB,IAAtB,OAAiC,EAA1D,EAA8D;AAC5D3jB,iBAAK,CAACwc,cAAN,GAD4D,CACpC;AACzB;AACF,S,CASD;;;;sCACcxB,Y,EAA8BoC,K,EAAa;AACvD,cAAMC,MAAM,GAAG,KAAK/B,SAAL,CAAe1a,KAAf,CAAqBwc,KAArB,CAAf;AACA,iBAAOC,MAAM,IAAI,KAAK9B,QAAL,CAAc+B,OAAd,CAAsB,mEAAQjkB,IAAR,CAAagkB,MAAb,CAAtB,CAAV,GAAwD,mEAAQhkB,IAAR,CAAagkB,MAAb,CAAxD,GAA+ErC,YAAtF;AACD;;;wCACe7F,I,EAAe;AAC7B,cAAI,CAAC,KAAK4H,uBAAN,IAAiC,CAAC,KAAKC,qBAA3C,EAAkE;AAChE,iBAAKD,uBAAL,GAA+B5H,IAA/B;AACD,WAFD,MAEO,IAAI,KAAK4H,uBAAL,IAAgC,CAAC,KAAKC,qBAAtC,IAA+D7H,IAA/D,IAAuEA,IAAI,CAAC8H,KAAL,CAAW,KAAKF,uBAAhB,CAA3E,EAAqH;AAC1H,iBAAKC,qBAAL,GAA6B7H,IAA7B;AACD,WAFM,MAEA;AACL,iBAAK6H,qBAAL,GAA6B,IAA7B;AACA,iBAAKD,uBAAL,GAA+B5H,IAA/B;AACD;AACF;;;gCACOA,I,EAAe;AACrB,iBAAOA,IAAI,CAACqI,MAAL,CAAY,KAAKT,uBAAjB,KAA8C,KAAKC,qBAAL,IAA8B7H,IAAI,CAACqI,MAAL,CAAY,KAAKR,qBAAjB,CAA5E,IAAwH,KAAKS,QAAL,CAActI,IAAd,CAAxH,IAA+I,KAAKuI,SAAL,CAAevI,IAAf,CAAtJ;AACD;;;kCACSA,I,EAAe;AACvB,iBAAO,KAAK4H,uBAAL,IAAgC,CAAC,KAAKC,qBAAtC,IAA+D,KAAKjB,WAApE,IAAmF5G,IAAI,CAAC8H,KAAL,CAAW,KAAKF,uBAAhB,CAAnF,IAA+H5H,IAAI,CAACoI,MAAL,CAAY,KAAKxB,WAAjB,CAAtI;AACD;;;iCACQ5G,I,EAAe;AACtB,iBAAO,KAAK6H,qBAAL,IAA8B7H,IAAI,CAAC8H,KAAL,CAAW,KAAKF,uBAAhB,CAA9B,IAA0E5H,IAAI,CAACoI,MAAL,CAAY,KAAKP,qBAAjB,CAAjF;AACD;;;iDAEwB;AACvB,cAAI3hC,oBAAoB,GAAG,KAAK6hC,oBAAL,CAA0B,KAAKH,uBAA/B,CAA3B;AACA,cAAIzhC,kBAAkB,GAAG,KAAK4hC,oBAAL,CAA0B,KAAKF,qBAA/B,CAAzB;;AACA,cAAI1hC,kBAAkB,GAAGD,oBAAzB,EAA+C;AAC7C,iBAAK2hC,qBAAL,GAA6B,KAAKD,uBAAlC;AACD;AACF;;;6CAEoBI,O,EAAc;AACjC,cAAIA,OAAO,IAAI,IAAf,EAAqB;AACnB,mBAAO,IAAIh2C,IAAJ,CAASg2C,OAAO,CAAC9H,IAAjB,EAAuB8H,OAAO,CAAC7H,KAAR,GAAgB,CAAvC,EAA0C6H,OAAO,CAAC5H,GAAlD,CAAP;AACD;AACF;;;+CAGsB,CACtB;;;;;;;uBAjOUiQ,yB,EAAyB,uI,EAAA,kJ,EAAA,iJ,EAAA,gI;AAAA,K;;;YAAzBA,yB;AAAyB,6C;AAAA,gB;AAAA,c;AAAA,43G;AAAA;AAAA;;;ACdtC;;AAEE;;AACE;;AACE;;AAEE;;AACE;;AACE;;AACE;;AACE;;AACE;;AACE;;AACF;;AACF;;AACF;;AACF;;AAIA;;AACE;;AACE;;AACE;;AACE;;AACA;;AAA0D;AAAA,mBAAS,IAAAvqB,MAAA,EAAT;AAAiB,WAAjB;;AAAmB;;AAE7E;;AACF;;AACF;;AACF;;AAEA;;AAAkD;;AAAS;;AAC3D;;AAAyC;AAAA;AAAA,aAAwB,QAAxB,EAAwB;AAAA,mBAAW,IAAA4rB,QAAA,EAAX;AAAqB,WAA7C;;AACzC;;AAAmB;;AAEnB;;AACE;;AACE;;AAEE;;AAEE;;AAAgC;AAAA,mBAAY,IAAAxI,QAAA,wBAAZ;AAAwC,WAAxC;;AAC9B;;AACE;;AACE;;AAAqD;;AAAc;;AACnE;;AACE;AAAA;AAAA;;AACA;;AAAkC;;AAAM;;AACxC;;AAGF;;AACF;;AAGA;;AACE;;AAAuD;;AAAO;;AAE9D;;AACE;AAAA;AAAA;;AACA;;AAAkC;;AAAM;;AACxC;;AAGF;;AACF;;AAGA;;AACE;;AAAgD;;AAAQ;;AACxD;;AAA2C;AAAA;AAAA,aAAwC,SAAxC,EAAwC;AAAA,mBACrC,IAAAiH,SAAA,QADqC;AACpB,WADpB;;AAA3C;;AAEF;;AAGA;;AACE;;AAA4C;;AAAY;;AACxD;;AACE;AAAA;AAAA;;AACA;;AAAiC;;AAAM;;AACvC;;AACF;;AACF;;AASA;;AACE;;AACE;;AAC0B;AAAA,mBAAc,IAAAwB,eAAA,QAAd;AAAqC,WAArC;;AAD1B;;AAKA;;AAOF;;AACF;;AAKA;;AACE;;AAAqD;;AAAK;;AAC1D;;AACE;;AACE;;AAEE;AAAA;;AAAA;;AAAA,iDAAmC,IAAAC,aAAA,wCAAnC;AAA2F,WAA3F,EAA4F,OAA5F,EAA4F;AAAA;;AAAA;;AAAA,mBACnF,YADmF;AAChE,WAD5B;;AAFF;;AAIA;;AAEE;AAAA;;AAAA;;AAAA,+CAAiC,IAAAA,aAAA,sCAAjC;AAAqF,WAArF,EAAsF,OAAtF,EAAsF;AAAA;;AAAA;;AAAA,mBAC7E,YAD6E;AAC1D,WAD5B;;AAFF;;AAIF;;AACF;;AACF;;AACA;;AAQA;;AACE;;AAA0B;;AAAY;;AACtC;;AACE;AAAA;AAAA,aAA6C,eAA7C,EAA6C;AAAA,mBAC5B,IAAAC,kBAAA,qCAD4B;AACuB,WADpE;;AAEA;;AAAkC;;AAAM;;AACxC;;AAGF;;AACF;;AAEA;;AACE;;AAA6C;AAAA;AAAA;;AAE3C;;AAAkC;;AAAM;;AACxC;;AAGF;;AACF;;AAEA;;AACE;;AACA;;AAA2B;AAAA;AAAA;;AACzB;;AAAwC;;AAAU;;AACpD;;AAEF;;AAEA;;AACE;;AACA;;AAAmF;;AACnF;;AACF;;AAEA;;AACE;;AACA;;AAAsB;AAAA,mBAAS,IAAAC,YAAA,EAAT;AAAuB,WAAvB;;AACiC;;AAAM;;AAC/D;;AACF;;AACF;;AAGA;;AAuBA;;AAGF;;AACF;;AACF;;AACF;;AAIA;;AAA+E;AAAA,mBAAQ,IAAAC,SAAA,QAAR;AAAyB,WAAzB;;AAE/E;;AAIF;;AACF;;AACF;;AACF;;AACF;;AACF;;AACF;;;;;;;;AAhMuD;;AAAA;;AAczB;;AAAA;;AACQ;;AAAA;;AACA;;AAAA;;AAWR;;AAAA;;AACQ;;AAAA;;AACA;;AAAA;;AASiC;;AAAA;;AAQzC;;AAAA;;AAEQ;;AAAA;;AAcN;;AAAA,2FAAuB,eAAvB,EAAuB,CAAvB,EAAuB,aAAvB,EAAuB,GAAvB,EAAuB,WAAvB,EAAuB,2BAAvB,EAAuB,SAAvB,EAAuB,WAAvB,EAAuB,SAAvB,EAAuB,WAAvB,EAAuB,gBAAvB,EAAuB,IAAvB;;AAsBE;;AAAA;;AAIA;;AAAA;;AAiBJ;;AAAA;;AAEQ;;AAAA;;AACA;;AAAA;;AAOmC;;AAAA;;AAEnC;;AAAA;;AACA;;AAAA;;AAQiB;;AAAA;;AAqB1B;;AAAA;;AAuBF;;AAAA;;AAUE;;AAAA,yFAAiB,WAAjB,EAAiB,aAAjB,EAAiB,UAAjB,EAAiB,YAAjB,EAAiB,iBAAjB,EAAiB,sEAAjB;;;;;;;;;sEDvMhB1B,yB,EAAyB;cALrC,uDAKqC;eAL3B;AACT/hB,kBAAQ,EAAE,wBADD;AAETC,qBAAW,EAAE,qCAFJ;AAGTC,mBAAS,EAAE,CAAC,qCAAD;AAHF,S;AAK2B,Q;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEdtC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;;;AC8CsC;;AACE;;AACF;;;;;;AAFgD;;AAC9C;;AAAA;;;;;;AAWF;;AAA+E;;AAA6B;;;;;;AAApD;;AAAuB;;AAAA;;;;;;AAc/E;;AAAwD;;AAAa;;;;;;AAA7B;;AAAgB;;AAAA;;;;;;;;AAJ5D;;AACE;;AAA4C;;AAAY;;AACxD;;AAAgD;AAAA;;AAAA;;AAAA;AAAA;;AAC9C;;AAAiC;;AAAM;;AACvC;;AACF;;AACF;;;;;;AAJkD;;AAAA;;AACrC;;AAAA;;AACD;;AAAA;;;;;;AAUR;;AACE;;AACF;;;;;;AAFiD;;AAC/C;;AAAA;;;;;;AAWF;;AAAK;;AAAqB;;;;;;AAArB;;AAAA;;;;;;;;AA6EnB;;AAEE;AAAA;;AAAA;;AAAA;AAAA,WAAqC,cAArC,EAAqC;AAAA;;AAAA;;AAAA,qCAA6B,SAA7B,EAAwCwjB,MAAM,CAACnnB,KAA/C;AAAsC,SAA3E,EAAqC,mBAArC,EAAqC;AAAA;;AAAA;;AAAA;AAAA,SAArC;;AAEF;;;;;;;;AAJ4D,8FAAqB,QAArB,EAAqB,aAArB,EAAqB,SAArB,EAAqB,cAArB,EAAqB,iBAArB,EAAqB,sBAArB,EAAqB,cAArB,EAAqB,IAArB;;;;;;;;AAM5D;;AACwC;AAAA;;AAAA;;AAAA,qCAA4B,SAA5B,EAAuCmnB,MAAM,CAACnnB,KAA9C;AAAqC,SAArC,EAAqD,mBAArD,EAAqD;AAAA;;AAAA;;AAAA;AAAA,SAArD;;AAExC;;;;;;AAH0D,8FAAqB,QAArB,EAAqB,aAArB,EAAqB,SAArB,EAAqB,cAArB;;;;;;;;AAK1D;;AACsB;AAAA;;AAAA;;AAAA,qCAA4B,SAA5B,EAAuCmnB,MAAM,CAACnnB,KAA9C;AAAqC,SAArC,EAAqD,mBAArD,EAAqD;AAAA;;AAAA;;AAAA;AAAA,SAArD;;AAEtB;;;;;;AAHwD,8FAAqB,QAArB,EAAqB,aAArB,EAAqB,SAArB,EAAqB,cAArB;;;;;;AAStD;;AAAuD;;AAAoB;;;;;;AAApB;;AAAA;;;;;;AAGzD;;AAAyD;;AACrC;;;;;;AADqC;;AAAA;;;;;;AAJzD;;AACE;;AACA;;AAA6B;;;;AAAyD;;AACxF;;AACA;;;;;;;AAH8B;;AAAA;;AACC;;AAAA;;AAEJ;;AAAA;;;;;;AAK3B;;AACE;;AAAwB;;AAAY;;AACpC;;AAAoC;AAAA;AAAA;AAAA;;AAClC;;AAAyB;;AAAO;;AAClC;;AACF;;AACA;;AAAI;;AAAsC;;AAC1C;;AACE;;AACE;;AACA;;AAAK;;AAAuB;;AAC9B;;AACA;;AACE;;AACA;;AAAK;;;;AAA6B;;AACpC;;AACF;;AACA;;AACE;;AAAwD;AAAA;AAAA;AAAA;;AACtD;;AACF;;AACF;;;;;;AAfI;;AAAA;;AAIK;;AAAA;;AAIA;;AAAA;;;;ADtKjC,QAAMuf,MAAM,GAA+B;AACzC6H,SAAG,EAAE;AACHC,eAAO,EAAE,SADN;AAEHC,iBAAS,EAAE;AAFR,OADoC;AAKzCC,UAAI,EAAE;AACJF,eAAO,EAAE,SADL;AAEJC,iBAAS,EAAE;AAFP,OALmC;AASzCE,YAAM,EAAE;AACNH,eAAO,EAAE,SADH;AAENC,iBAAS,EAAE;AAFL;AATiC,KAA3C;;QAqBaG,qB;AAiBX,qCAAoB5oB,MAApB,EAA4C0hB,eAA5C,EAAsFhI,YAAtF,EAAqHxZ,MAArH,EAAgJD,MAAhJ,EAA+KK,EAA/K,EAA6MoU,aAA7M,EAAqP;AAAA;;AAAA;;AAAjO,aAAA1U,MAAA,GAAAA,MAAA;AAAwB,aAAA0hB,eAAA,GAAAA,eAAA;AAA0C,aAAAhI,YAAA,GAAAA,YAAA;AAA+B,aAAAxZ,MAAA,GAAAA,MAAA;AAA2B,aAAAD,MAAA,GAAAA,MAAA;AAA+B,aAAAK,EAAA,GAAAA,EAAA;AAA8B,aAAAoU,aAAA,GAAAA,aAAA;AAb7M,aAAAmU,IAAA,GAAqB,8DAAa19C,KAAlC;AACA,aAAA29C,YAAA,GAAe,6DAAf;AAIA,aAAAj4B,mBAAA,GAA4C5c,KAAK,EAAjD;AACA,aAAA4gB,uBAAA,GAA8B,EAA9B;AACC,aAAAk0B,uCAAA,GAAgD,IAAhD;AAED,aAAAC,MAAA,GAAiB,IAAjB;AAWA,aAAArH,kBAAA,GAAqC,EAArC;AACA,aAAAkF,kBAAA,GAA0B,EAA1B;AACA,aAAAjF,0BAAA,GAAqD,EAArD;AACA,aAAAG,oBAAA,GAAoD,EAApD;AACA,aAAA9gB,MAAA,GAA0B,EAA1B;AACA,aAAAohB,qBAAA,GAA6B,EAA7B;AACA,aAAAvhB,UAAA,GAAsB,KAAtB;AACA,aAAAmoB,OAAA,GAAU,IAAI,4CAAJ,EAAV;AACA,aAAAC,eAAA,GAA2B,KAA3B;AACA,aAAA9G,aAAA,GAAwB,EAAxB;AAuGA,aAAA+G,OAAA,GAAiC,CAC/B;AACEC,eAAK,EAAE,yCADT;AAEEC,mBAAS,EAAE,MAFb;AAGEC,iBAAO,EAAE,uBAA+C;AAAA,gBAA5CnoB,KAA4C,QAA5CA,KAA4C;;AACtD,mBAAI,CAACooB,WAAL,CAAiB,QAAjB,EAA2BpoB,KAA3B;AACD;AALH,SAD+B,EAQ/B;AACEioB,eAAK,EAAE,wCADT;AAEEC,mBAAS,EAAE,QAFb;AAGEC,iBAAO,EAAE,wBAA+C;AAAA,gBAA5CnoB,KAA4C,SAA5CA,KAA4C;AACtD,mBAAI,CAACF,MAAL,GAAc,OAAI,CAACA,MAAL,CAAYmU,MAAZ,CAAmB,UAACoU,MAAD;AAAA,qBAAYA,MAAM,KAAKroB,KAAvB;AAAA,aAAnB,CAAd;;AACA,mBAAI,CAACooB,WAAL,CAAiB,SAAjB,EAA4BpoB,KAA5B;AACD;AANH,SAR+B,CAAjC;AAvHwP;;;;mCAmB7O;AAAA;;AACT,eAAKL,UAAL,GAAkB,IAAlB;AACD,cAAI2oB,WAAW,GAAGhyB,YAAY,CAACC,OAAb,CAAqB,YAArB,CAAlB;AACA,eAAKgyB,sBAAL,CAA4BD,WAA5B;AAEC,eAAKE,QAAL,GAAgB,IAAIrhD,IAAJ,EAAhB;AACAmvB,sBAAY,CAACiL,OAAb,CAAqB,UAArB,EAAiC,UAAjC;AACA,eAAKknB,4BAAL;AACA,eAAKC,8BAAL;AACA,eAAKhD,kBAAL,CAAwBpxB,cAAxB,GAAyC,IAAzC;AACA,eAAKoxB,kBAAL,CAAwBvxB,gBAAxB,GAA2C,IAA3C;AACA,eAAKuxB,kBAAL,CAAwBG,OAAxB,GAAkC,IAAlC;AACA,eAAKH,kBAAL,CAAwB/H,SAAxB,GAAoC,wDAAO,8DAAa,KAAK6K,QAAlB,CAAP,EAAoC,YAApC,CAApC;AACA,eAAK9C,kBAAL,CAAwB5H,OAAxB,GAAkC,wDAAO,4DAAW,KAAK0K,QAAhB,CAAP,EAAkC,YAAlC,CAAlC;AACA,eAAK9C,kBAAL,CAAwBrC,YAAxB,GAAuC,IAAvC;AACA,eAAKqC,kBAAL,CAAwBpC,QAAxB,GAAmC,IAAnC;AACA,eAAKoC,kBAAL,CAAwBI,UAAxB,GAAqC,CAArC;AACA,eAAKJ,kBAAL,CAAwBK,QAAxB,GAAmC,IAAnC;AACA,eAAKL,kBAAL,CAAwBM,OAAxB,GAAkC,IAAlC;AACA,eAAKN,kBAAL,CAAwBiD,aAAxB,GAAwCryB,YAAY,CAACC,OAAb,CAAqB,QAArB,CAAxC;AACA,eAAKtkB,IAAL,GAAYqkB,YAAY,CAACC,OAAb,CAAqB,UAArB,CAAZ;AACA,eAAKsxB,MAAL,GAAc,KAAKnC,kBAAL,CAAwBiD,aAAtC;AACA,eAAKzC,YAAL;AACA,eAAKC,iBAAL;AAEA,eAAKyC,SAAL,GAAiB3oB,SAAjB,CAA2B,UAAA6C,CAAC,EAAE;AAC5B,mBAAI,CAACmjB,WAAL,CAAiB,OAAI,CAACP,kBAAtB;AACF,WAFA;AAGD;;;+CAEsB4C,W,EAAe;AACpC,cAAGA,WAAW,IAAI,MAAlB,EAAyB;AACvB,iBAAKZ,IAAL,GAAY,8DAAamB,IAAzB;AACA,WAFF,MAEO,IAAGP,WAAW,IAAI,KAAlB,EAAwB;AAC7B,iBAAKZ,IAAL,GAAY,8DAAaoB,GAAzB;AACA,WAFK,MAED;AACJ,iBAAKpB,IAAL,GAAY,8DAAa19C,KAAzB;AACA;AACH;;;4CAEmB;AAAA;;AAClB,eAAK21B,UAAL,GAAkB,IAAlB;AACA,eAAK4gB,eAAL,CAAqB0C,gBAArB,GAAwChjB,SAAxC,CAAkD,UAAChJ,IAAD,EAAkB;AAClE,mBAAI,CAAC0I,UAAL,GAAkB,KAAlB;AACA,mBAAI,CAACshB,aAAL,GAAqBhqB,IAArB;;AACA,mBAAI,CAACkI,EAAL,CAAQ6C,aAAR;AAED,WALD;AAMD;;;oCAGW0jB,kB,EAAoB;AAC9B,eAAKqD,OAAL,CAAarD,kBAAb;AACD;;;yDAGgC;AAAA;;AAC/B,eAAK/lB,UAAL,GAAkB,IAAlB;AACA,eAAK4gB,eAAL,CACG4C,uBADH,GAEGljB,SAFH,CAEa,UAAChJ,IAAD,EAAuC;AAChD,mBAAI,CAAC0I,UAAL,GAAkB,KAAlB;AACA,mBAAI,CAACihB,oBAAL,GAA4B3pB,IAA5B;AACD,WALH;AAMD;;;kDAEyB;AACxB,eAAK8xB,OAAL,CAAa,EAAb;AACD;;;uDAG8B;AAAA;;AAC7B,eAAKppB,UAAL,GAAkB,IAAlB;AACA,eAAK4gB,eAAL,CACG2C,qBADH,GAEGjjB,SAFH,CAEa,UAAChJ,IAAD,EAA0B;AACnC,mBAAI,CAAC0I,UAAL,GAAkB,KAAlB;AACA,mBAAI,CAAC6gB,kBAAL,GAA0BvpB,IAA1B;;AACA,mBAAI,CAACkI,EAAL,CAAQ6C,aAAR;AACD,WANH;AAOD;;;uCAEc;AAAA;;AACb,eAAKrC,UAAL,GAAkB,IAAlB;AACA,eAAK4gB,eAAL,CAAqBsD,uBAArB,CAA6C,IAA7C,EAAmD5jB,SAAnD,CAA6D,UAAChJ,IAAD,EAAkC;AAC7F,mBAAI,CAACwpB,0BAAL,GAAkCxpB,IAAlC;AACA,mBAAI,CAAC0I,UAAL,GAAkB,KAAlB;;AACA,mBAAI,CAACR,EAAL,CAAQ6C,aAAR;AACD,WAJD;AAKD;;;2CAGkBqhB,Y,EAAmB;AAAA;;AACpC,eAAK9C,eAAL,CAAqBoE,uBAArB,CAA6CtB,YAA7C,EAA0D,EAA1D,EAA8DpjB,SAA9D,CAAwE,UAAChJ,IAAD,EAAiB;AACvF,mBAAI,CAACiqB,qBAAL,GAA6BjqB,IAA7B;AACD,WAFD;AAGD;;;0CAuBoE;AAAA,cAAxDke,IAAwD,SAAxDA,IAAwD;AAAA,cAAlDrV,MAAkD,SAAlDA,MAAkD;;AAEnE,cAAI,6DAAYqV,IAAZ,EAAkB,KAAKqT,QAAvB,CAAJ,EAAsC;AACpC,gBACG,2DAAU,KAAKA,QAAf,EAAyBrT,IAAzB,KAAkC,KAAK4S,eAAL,KAAyB,IAA5D,IACAjoB,MAAM,CAAC7M,MAAP,KAAkB,CAFpB,EAGE;AACA,mBAAK80B,eAAL,GAAuB,KAAvB;AACD,aALD,MAKO;AACL,mBAAKA,eAAL,GAAuB,IAAvB;AACD;;AACD,iBAAKS,QAAL,GAAgBrT,IAAhB;AACD;AACF;;;iDAMgC;AAAA,cAH/BnV,KAG+B,SAH/BA,KAG+B;AAAA,cAF/BgpB,QAE+B,SAF/BA,QAE+B;AAAA,cAD/BC,MAC+B,SAD/BA,MAC+B;AAC/B,eAAKnpB,MAAL,GAAc,KAAKA,MAAL,CAAY0T,GAAZ,CAAgB,UAAC6U,MAAD,EAAY;AACxC,gBAAIA,MAAM,KAAKroB,KAAf,EAAsB;AACpB,qBAAO,MAAP,OAAO,CAAP,kBACKA,KADL,CAAO,EACG;AACRkpB,qBAAK,EAAEF,QADC;AAERG,mBAAG,EAAEF;AAFG,eADH,CAAP;AAKD;;AACD,mBAAOZ,MAAP;AACD,WATa,CAAd;AAUA,eAAKD,WAAL,CAAiB,oBAAjB,EAAuCpoB,KAAvC;AACD;;;oCAEWopB,M,EAAgBppB,K,EAAqB;AAC/C,cAAIA,KAAK,CAAC7K,UAAN,IAAoB,IAApB,IAA4B6K,KAAK,CAAC7K,UAAN,IAAoB1P,SAApD,EAA+D;AAC7D;AACA,iBAAK4jC,aAAL,CAAmBrpB,KAAnB;AACA1J,wBAAY,CAACiL,OAAb,CAAqB,YAArB,EAAkC,KAAKmmB,IAAvC;AACA;AACD;;AACDpxB,sBAAY,CAACiL,OAAb,CAAqB,YAArB,EAAmC,KAAKmmB,IAAxC;AACA,eAAK2B,aAAL,CAAmBrpB,KAAnB;AACD;;;gCAIO0nB,I,EAAoB;AAE1B,eAAKA,IAAL,GAAYA,IAAZ;AACA,eAAK4B,4BAAL;AACD;;;gDAEuB;AACtB,eAAKvB,eAAL,GAAuB,KAAvB;AACA,eAAKuB,4BAAL;AACD;;;iCAEQ5D,kB,EAAyB;AAEhC,eAAKA,kBAAL,CAAwB/H,SAAxB,GAAoC,wDAAO,8DAAa,KAAK6K,QAAlB,CAAP,EAAoC,YAApC,CAApC;AACA,eAAK9C,kBAAL,CAAwB5H,OAAxB,GAAkC,wDAAO,4DAAW,KAAK0K,QAAhB,CAAP,EAAkC,YAAlC,CAAlC;AACA,eAAK9C,kBAAL,CAAwBvxB,gBAAxB,GAA2CuxB,kBAAkB,CAACvxB,gBAA9D;AACA,eAAKuxB,kBAAL,CAAwBI,UAAxB,GAAqC,CAArC;AACA,eAAKJ,kBAAL,CAAwBK,QAAxB,GAAmC,IAAnC;;AAEA,cAAGL,kBAAkB,CAACvxB,gBAAnB,IAAuC,MAA1C,EAAiD;AAC/CuxB,8BAAkB,CAACvxB,gBAAnB,GAAsC,IAAtC;AACD;;AACD,cAAGuxB,kBAAkB,CAACpxB,cAAnB,IAAqC,MAAxC,EAA+C;AAC7CoxB,8BAAkB,CAACpxB,cAAnB,GAAoC,IAApC;AACD;;AACD,cAAGoxB,kBAAkB,CAACrC,YAAnB,IAAmC,MAAtC,EAA6C;AAC3CqC,8BAAkB,CAACrC,YAAnB,GAAkC,IAAlC;AACD;;AACD,cAAGqC,kBAAkB,CAACiD,aAAnB,IAAoC,MAAvC,EAA8C;AAC5CjD,8BAAkB,CAACiD,aAAnB,GAAmC,IAAnC;AACD;;AAID,eAAKI,OAAL,CAAarD,kBAAb;AACD;;;sCAGa;AACZ,cAAI6D,OAAO,GAAG;AACZj1B,0BAAc,EAAE,IADJ;AAEZH,4BAAgB,EAAE,IAFN;AAGZ0xB,mBAAO,EAAE,IAHG;AAIZlI,qBAAS,EAAE,wDAAO,8DAAa,KAAK6K,QAAlB,CAAP,EAAoC,YAApC,CAJC;AAKZnF,wBAAY,EAAE,IALF;AAMZC,oBAAQ,EAAE,IANE;AAOZwC,sBAAU,EAAE,CAPA;AAQZC,oBAAQ,EAAE,IARE;AASZC,mBAAO,EAAE,KATG;AAUZlI,mBAAO,EAAE,wDAAO,4DAAW,KAAK0K,QAAhB,CAAP,EAAkC,YAAlC;AAVG,WAAd,CADY,CAcZ;AACA;;AACA,eAAKO,OAAL,CAAaQ,OAAb;AACA,eAAKrI,qBAAL,GAA6B,EAA7B;AACA,eAAKwE,kBAAL,GAA0B;AAAEpxB,0BAAc,EAAE,IAAlB;AAAwBH,4BAAgB,EAAE,IAA1C;AAAgD0xB,mBAAO,EAAE,IAAzD;AAA+DlI,qBAAS,EAAE,IAA1E;AAAgF0F,wBAAY,EAAE,IAA9F;AAAoGC,oBAAQ,EAAE,IAA9G;AAAoHwC,sBAAU,EAAE,CAAhI;AAAmIC,oBAAQ,EAAE,IAA7I;AAAmJC,mBAAO,EAAE;AAA5J,WAA1B;AACD;;;gCAGON,kB,EAAoB;AAAA;;AAC1B,eAAKnF,eAAL,CACGiG,mBADH,CACuBd,kBADvB,EAEGzlB,SAFH,CAEa,UAAChJ,IAAD,EAAe;AACxB,mBAAI,CAACwvB,UAAL,GAAkBxvB,IAAI,CAACyvB,IAAvB;AACA,mBAAI,CAACL,kBAAL,GAA0BpvB,IAAI,CAACyvB,IAA/B;;AACA,mBAAI,CAAC8C,WAAL;;AACA,mBAAI,CAACC,YAAL,CAAkBxyB,IAAI,CAACyvB,IAAvB;;AACA,mBAAI,CAACvnB,EAAL,CAAQ6C,aAAR;AACD,WARH;AAUD;;;qCAGYqkB,kB,EAAoB;AAE/B,eAAKvmB,MAAL,GAAcumB,kBAAkB,CAAC7S,GAAnB,CAAuB,UAACgQ,GAAD,EAAmB;AACtD,mBAAO;AACLruB,wBAAU,EAAEquB,GAAG,CAACruB,UADX;AAEL2H,mBAAK,EAAE0mB,GAAG,CAACqC,OAFN;AAGLqD,mBAAK,EAAE,IAAI/hD,IAAJ,CAASq8C,GAAG,CAACkG,kBAAb,CAHF;AAILP,iBAAG,EAAE,0DAAS,IAAIhiD,IAAJ,CAASq8C,GAAG,CAACkG,kBAAb,CAAT,EAA2C,CAA3C,CAJA;AAKLC,mBAAK,EAAEnG,GAAG,CAACj8C,YAAJ,IAAoB,SAApB,GAAgCg4C,MAAM,CAAC6H,GAAvC,GAA6C5D,GAAG,CAACj8C,YAAJ,IAAoB,MAApB,GAA6Bg4C,MAAM,CAACgI,IAApC,GAA2ChI,MAAM,CAACiI,MALjG;AAMLoC,uBAAS,EAAE,KANN;AAOLC,uBAAS,EAAE;AACTC,2BAAW,EAAE,IADJ;AAETC,wBAAQ,EAAE;AAFD;AAPN,aAAP;AAaD,WAda,CAAd;AAgBD;;;uDAI8B;AAE7B,cAAIC,UAAU,GAAG,KAAKxB,QAAtB;AACA,cAAIyB,eAAe,GAAG,IAAtB;AACA,cAAIC,aAAa,GAAG,IAApB;;AAEA,kBAAQ,KAAKxC,IAAb;AAEE,iBAAK,OAAL;AACEuC,6BAAe,GAAG,8DAAaD,UAAb,CAAlB;AACAE,2BAAa,GAAG,4DAAWF,UAAX,CAAhB;AACA;;AACF,iBAAK,MAAL;AACEC,6BAAe,GAAG,6DAAYD,UAAZ,CAAlB;AACAE,2BAAa,GAAG,2DAAUF,UAAV,CAAhB;AACA;;AACF,iBAAK,KAAL;AACEC,6BAAe,GAAGD,UAAlB;AACAE,2BAAa,GAAGF,UAAhB;AACA;AAbJ;;AAgBA,eAAKtE,kBAAL,CAAwB/H,SAAxB,GAAoC,wDAAOsM,eAAP,EAAwB,YAAxB,CAApC;AACA,eAAKvE,kBAAL,CAAwB5H,OAAxB,GAAkC,wDAAOoM,aAAP,EAAsB,YAAtB,CAAlC;AACA,eAAKxE,kBAAL,CAAwBI,UAAxB,GAAqC,CAArC;AACA,eAAKJ,kBAAL,CAAwBK,QAAxB,GAAmC,IAAnC;AACA,eAAKgD,OAAL,CAAa,KAAKrD,kBAAlB;AAED;;;kCAGS1lB,K,EAAsB;AAC9B;AACA,cAAIA,KAAK,CAACpI,GAAN,KAAc,GAAd,IAAqBoI,KAAK,CAAC4C,MAAN,CAAa,OAAb,EAAsB+gB,IAAtB,OAAiC,EAA1D,EAA8D;AAC5D3jB,iBAAK,CAACwc,cAAN,GAD4D,CACpC;AACzB;AACF;;;sCAGaxc,K,EAAY;;;AACxB,cAAMqa,QAAQ,GAAG,KAAK9B,YAAL,CAAkBnW,IAAlB,CAAuB,4FAAvB,EAA8C;AAC7DyU,gBAAI,EAAE,IADuD;AACjDyD,oBAAQ,EAAE,QADuC;AAC7BC,oBAAQ,EAAE;AADmB,WAA9C,CAAjB;AAIA,cAAIvzC,QAAQ,GAAG;AACbquB,sBAAU,EAAE2K,KAAK,CAAC7K,UADL;AAEb4sB,uBAAW,EAAE,IAFA;AAGboI,mDAAuC,QAAC,KAAK9D,kBAAL,CAAwBpS,MAAxB,CAA+B,UAAAnR,CAAC;AAAA,qBAAEA,CAAC,CAAC3N,UAAF,IAAc6K,KAAK,CAAC7K,UAAtB;AAAA,aAAhC,EAAkE,CAAlE,CAAD,MAAqE,IAArE,IAAqE,aAArE,GAAqE,MAArE,GAAqE,GAAEg1B,uCAHjG;AAIbvC,mDAAuC,QAAC,KAAKvB,kBAAL,CAAwBpS,MAAxB,CAA+B,UAAAnR,CAAC;AAAA,qBAAEA,CAAC,CAAC3N,UAAF,IAAc6K,KAAK,CAAC7K,UAAtB;AAAA,aAAhC,EAAkE,CAAlE,CAAD,MAAqE,IAArE,IAAqE,aAArE,GAAqE,MAArE,GAAqE,GAAEyyB;AAJjG,WAAf;AAOAvN,kBAAQ,CAAC+P,iBAAT,CAA2BpjD,QAA3B,GAAsCA,QAAtC;AACD;;;oCAEQ;AAAA;;AACP,cAAI09C,OAAO,GAAG,KAAKnR,aAAL,CAAmBM,MAAnB,EAAd;AAEA6Q,iBAAO,CAACzkB,SAAR,CAAkB,UAAChJ,IAAD,EAAe;uBAAA,CAChC;;;AACC,mBAAI,CAACvH,mBAAL,GAA2BuH,IAA3B;AACA,mBAAI,CAAC2wB,uCAAL,GAA+C,CAAH,KAAG,OAAI,CAACl4B,mBAAL,CAAyBukB,MAAzB,CAAgC,UAAAnR,CAAC;AAAA,qBAAIA,CAAC,CAACuR,SAAF,IAAe,OAAI,CAACpiC,IAApB,IAA4B6wB,CAAC,CAACoR,UAAF,IAAgB,yCAAhD;AAAA,aAAjC,EAA4H,CAA5H,OAA8H,IAA9H,IAA8H,aAA9H,GAA8H,MAA9H,GAA8H,GAAEI,SAA/K;AACA,mBAAI,CAAC6V,uCAAL,GAA+C,CAAH,KAAG,OAAI,CAACz6B,mBAAL,CAAyBukB,MAAzB,CAAgC,UAAAnR,CAAC;AAAA,qBAAIA,CAAC,CAACuR,SAAF,IAAe,OAAI,CAACpiC,IAApB,IAA4B6wB,CAAC,CAACoR,UAAF,IAAgB,yCAAhD;AAAA,aAAjC,EAA4H,CAA5H,OAA8H,IAA9H,IAA8H,aAA9H,GAA8H,MAA9H,GAA8H,GAAEM,UAA/K;;AACA,gBAAG,CAAC,OAAI,CAACoT,uCAAT,EAAiD;AAE/C,qBAAI,CAACC,MAAL,GAAc,OAAI,CAACnC,kBAAL,CAAwBiD,aAAtC;AACD;AACF,WATD;AAWA,iBAAOjE,OAAP;AACD;;;sCAIU;AAAA;;AAEP,eAAK2B,kBAAL,CAAwB3uB,OAAxB,CAAgC,UAAAwiB,OAAO,EAAI;AACzC,gBAAMmQ,mBAAmB,GAAGnQ,OAAO,CAACoQ,cAAR,CAAuB13B,KAAvB,CAA6B,GAA7B,CAA5B;AACA23B,mBAAO,CAACC,GAAR,CAAYl0B,YAAY,CAACC,OAAb,CAAqB,QAArB,CAAZ;;AAEA,gBAAI8zB,mBAAmB,CAACpW,MAApB,CAA2B,UAAAnR,CAAC;AAAA,qBAAEA,CAAC,IAAExM,YAAY,CAACC,OAAb,CAAqB,QAArB,CAAL;AAAA,aAA5B,EAAiEtD,MAAjE,GAAwE,CAAxE,IAA4EinB,OAAO,CAACuQ,aAAR,IAAuBn0B,YAAY,CAACC,OAAb,CAAqB,QAArB,CAAvG,EACA;AACE2jB,qBAAO,CAACiQ,uCAAR,GAAgD,IAAhD;AACAjQ,qBAAO,CAAC0N,uCAAR,GAAgD,IAAhD;AACD,aAJD,MAMA;AACE1N,qBAAO,CAACiQ,uCAAR,GAAgD,OAAI,CAACA,uCAArD;AACAjQ,qBAAO,CAAC0N,uCAAR,GAAgD,OAAI,CAACA,uCAArD;AACD;AACF,WAdD;AAeH;;;;;;;uBAnYUH,qB,EAAqB,uH,EAAA,iJ,EAAA,oI,EAAA,mI,EAAA,yH,EAAA,gI,EAAA,mK;AAAA,K;;;YAArBA,qB;AAAqB,wC;AAAA;AAAA;;;;;;;;;;;;;;;ACpElC;;AAEE;;AACE;;AACE;;AACE;;AACE;;AACE;;AACE;;AACE;;AACE;;AAAiC;;AAAa;;AAChD;;AACF;;AACA;;AACE;;AACE;;AACE;;AACE;;AACF;;AACF;;AACF;;AACA;;AACE;;AACE;;AACE;;AACF;;AACF;;AACF;;AACF;;AACF;;AACA;;AACE;;AACE;;AACE;;AACE;;AACE;;AACE;;AACE;;AACE;;AACE;;AAAgC;AAAA,mBAAY,IAAApJ,QAAA,wBAAZ;AAAwC,WAAxC;;AAC9B;;AACE;;AACE;;AAA+C;;AAAc;;AAC7D;;AACE;AAAA;AAAA;;AACD;;AAAkC;;AAAM;;AACvC;;AAGF;;AACF;;AAGA;;AACE;;AAAuD;;AAAgB;;AACvE;;AACE;AAAA;AAAA;;AACA;;AAAkC;;AAAM;;AACxC;;AACF;;AACF;;AAEA;;AACE;;AAAgD;;AAAQ;;AACxD;;AAAsC;AAAA,mBAAW,IAAAiH,SAAA,QAAX;AAA4B,WAA5B,EAA6B,eAA7B,EAA6B;AAAA;AAAA,WAA7B;;AAAtC;;AAEF;;AAEA;;AAQA;;AACE;;AAA0B;;AAAW;;AACrC;;AACE;AAAA;AAAA,aAA6C,eAA7C,EAA6C;AAAA,mBAC5B,IAAA0B,kBAAA,qCAD4B;AACuB,WADpE;;AAEA;;AAAgC;;AAAM;;AACtC;;AAGF;;AACF;;AAEA;;AAGE;;AACsE;AAAA;AAAA;;AACtE;;AAGF;;AAYA;;AAEA;;AACE;;AACA;;AAA2B;AAAA;AAAA;;AACzB;;AAAwC;;AAAU;;AACpD;;AACF;;AACA;;AACE;;AACA;;AAC6E;;AAC7E;;AACF;;AAEA;;AACE;;AACA;;AAAsB;AAAA,mBAAS,IAAA0D,WAAA,EAAT;AAAsB,WAAtB;;AACiC;;AAAM;;AAC/D;;AACF;;AACF;;AACF;;AACF;;AACF;;AACF;;AACA;;AACA;;AACE;;AACE;;AACE;;AAAmE;AAAA;AAAA,aAAuB,gBAAvB,EAAuB;AAAA,mBACtE,IAAAC,qBAAA,EADsE;AAC/C,WADwB;;AAEjE;;AACF;;AACA;;AAA8C;AAAA;AAAA,aAAuB,gBAAvB,EAAuB;AAAA,mBAAoB,IAAArB,4BAAA,EAApB;AAAkD,WAAzE,EAAuB,gBAAvB,EAAuB;AAAA,mBAAsE,IAAAqB,qBAAA,EAAtE;AAA6F,WAApH;;AAC5C;;AACF;;AACA;;AAA+D;AAAA;AAAA,aAAuB,gBAAvB,EAAuB;AAAA,mBAClE,IAAAA,qBAAA,EADkE;AAC3C,WADoB;;AAE7D;;AACF;;AACF;;AACF;;AACA;;AACE;;AAAI;;;;AAAuD;;AAC7D;;AACA;;AACE;;AACE;;AAA6B;AAAA,mBAAS,IAAAC,OAAA,wBAAT;AAAoC,WAApC;;AAC3B;;AACF;;AACA;;AAA6B;AAAA,mBAAS,IAAAA,OAAA,uBAAT;AAAmC,WAAnC;;AAC3B;;AACF;;AACA;;AAA6B;AAAA,mBAAS,IAAAA,OAAA,sBAAT;AAAkC,WAAlC;;AAC3B;;AACF;;AACF;;AACF;;AACF;;AACA;;AAEA;;AACE;;AAMA;;AAKA;;AAKF;;AACA;;AACA;;AASA;;AAwBF;;AACF;;AACF;;AACF;;AACF;;AACF;;AACF;;AACF;;AACF;;AACF;;AACF;;AAGA;;;;AA/LsC;;AAAA;;AACO;;AAAA;;AACC;;AAAA;;AAUR;;AAAA;;AACQ;;AAAA;;AACA;;AAAA;;AAMyE;;AAAA;;AAIhF;;AAAA;;AAWD;;AAAA;;AAEQ;;AAAA;;AACA;;AAAA;;AASqB;;AAAA,uGAA+B,YAA/B,EAA+B,IAA/B,EAA+B,UAA/B,EAA+B,KAA/B,EAA+B,eAA/B,EAA+B,IAA/B,EAA+B,aAA/B,EAA+B,SAA/B,EAA+B,SAA/B,EAA+B,+BAA/B;;AAqBJ;;AAAA;;AA0BkB;;AAAA,qFAAa,UAAb,EAAa,YAAb;;AAIP;;AAAA;;AAGG;;AAAA,qFAAa,UAAb,EAAa,YAAb;;AAO/C;;AAAA;;AAkBH;;AAAA;;AACsB;;AAAA;;AAMD;;AAAA;;AAKD;;AAAA;;AAqDvC;;AAAA;;;;;;;;;;;sEDvKKnD,qB,EAAqB;cANjC,uDAMiC;eANvB;AACThkB,kBAAQ,EAAE,mBADD;AAETonB,yBAAe,EAAE,sEAAwBC,MAFhC;AAGTpnB,qBAAW,EAAE,gCAHJ;AAITC,mBAAS,EAAE,CAAC,gCAAD;AAJF,S;AAMuB,Q;;;;;;;;;;;;;;;;;;gBAE/B,uD;iBAAU,c,EAAgB;AAAE,sBAAQ;AAAV,W;;;;;;;;;;;;;;;;;;;;AEtE7B;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;AC0FgF;;AAEI;;AACJ;;;;;;AAFI;;AACA;;AAAA;;;;;;AAeJ;;AACE;;AAAK;;AAAmB;;AAC1B;;;;;;AAcA;;AACI;;AAGJ;;;;;;AAJyD;;AACrD;;AAAA;;;;;;AAsBJ;;AAII;;AAIJ;;;;;;AANI;;AAEA;;AAAA;;;;;;AA0CJ;;AAGI;;AAGJ;;;;;;AAJI;;AACA;;AAAA;;;;;;AAQR;;AACE;;AAAK;;AAAmB;;AAC1B;;;;;;AAoBI;;AACE;;AAAK;;AAA+B;;AACtC;;;;;;;;AAlDZ;;AAEI;;AAAuC;;AAClC;;AAC0B;;AAAO;;AAAO;;AAC7C;;AACI;;AAGI;AAAA;;AAAA;;AAAA;AAAA;;AAEA;;AACI;;AACJ;;AAEA;;AAQJ;;AAGA;;AAGA;;AACI;;AACI;;AAEJ;;AACJ;;AACJ;;AAEA;;AAEA;;AAAuC;;AACtB;;AACc;;AAAO;;AAAO;;AAC7C;;AACI;;AAEoC;AAAA;;AAAA;;AAAA;AAAA,WAA6B,eAA7B,EAA6B;AAAA;;AAAA;;AAAA;AAAA,SAA7B;;AAEd;;AAClB;;AAIR;;AAEJ;;;;;;;;AA7CY;;AAAA;;AAOI;;AAAA;;AAUH;;AAAA;;AAoBD;;AAAA;;AAEK;;AAAA;;;;;;AAoBT;;AACE;;AAAK;;AAAqB;;AAC5B;;;;;;AAcI;;AACE;;AAAK;;AAAwB;;AAC/B;;;;;;AA0BA;;AAEA;;AAA6B;;AAAqB;;;;;;;;AAF3C;;AAAuB;;AAC5B;;AACK;;AAAA;;AAAsB;;AAAA;;;;;;AA+B7B;;AAEA;;AAA6B;;AAAqB;;;;;;;;AAF3C;;AAAuB;;AAC5B;;AACK;;AAAA;;AAAsB;;AAAA;;;;;;AA4B7B;;AAEA;;AAA6B;;AAAqB;;;;;;;;AAF3C;;AAAuB;;AAC5B;;AACK;;AAAA;;AAAsB;;AAAA;;;;;;AA0BjC;;AAEA;;AAA6B;;AAAe;;;;;;;;AAFrC;;AAAiD;;AACtD;;AACM;;AAAA;;AAAqB;;AAAA;;;;QDhX5FonB,qB;AAEX,qCAAoB5rB,EAApB,EAAmDohB,eAAnD,EAA6FzhB,MAA7F,EAA4HI,KAA5H,EAA2JL,MAA3J,EAAmL+T,QAAnL,EAAuM;AAAA;;AAAnL,aAAAzT,EAAA,GAAAA,EAAA;AAA+B,aAAAohB,eAAA,GAAAA,eAAA;AAA0C,aAAAzhB,MAAA,GAAAA,MAAA;AAA+B,aAAAI,KAAA,GAAAA,KAAA;AAA+B,aAAAL,MAAA,GAAAA,MAAA;AAAwB,aAAA+T,QAAA,GAAAA,QAAA;AAG1K,aAAAjT,UAAA,GAAsB,KAAtB;AAET,aAAAgiB,oBAAA,GAAuB,GAAvB;AACA,aAAAC,gBAAA,GAAmB,GAAnB;AACA,aAAAC,mBAAA,GAAsB,GAAtB;AACA,aAAArB,kBAAA,GAAqC,EAArC;AACA,aAAAC,0BAAA,GAAqD,EAArD;AACA,aAAAC,2BAAA,GAAuD,EAAvD;AACA,aAAAC,2BAAA,GAAuD,EAAvD;AACA,aAAAC,oBAAA,GAAoD,EAApD;AACA,aAAAK,aAAA,GAAgB,EAAhB;AACA,aAAAlK,OAAA,GAAe,EAAf;AACA,aAAAsK,gBAAA,GAAiB,EAAjB;AACA,aAAAC,yBAAA,GAA4B,EAA5B;AACA,aAAAC,iBAAA,GAAkB,EAAlB;AACA,aAAAC,wBAAA,GAA2B,EAA3B;AACA,aAAAC,qBAAA,GAAwB,EAAxB;AACA,aAAAC,aAAA,GAAc,EAAd;AACA,aAAAsJ,sBAAA,GAAyB,EAAzB;AACA,aAAAC,oBAAA,GAA2B,CAA3B;AACA,aAAA/J,qBAAA,GAAwB,EAAxB;AACA,aAAAgK,WAAA,GAAuB,KAAvB;AACA,aAAA/J,aAAA,GAAgB,CAAC,SAAD,EAAY,SAAZ,CAAhB;AACA,aAAAL,QAAA,GAA0B,EAA1B;AACA,aAAAD,YAAA,GAA8B,EAA9B;AACA,aAAAiB,oBAAA,GAAsC,EAAtC;AACA,aAAAf,YAAA,GAA8B,EAA9B;AACA,aAAA33B,eAAA,GAAyB,EAAzB;AACA,aAAAg4B,aAAA,GAAuB,KAAvB;AA/B0M;;;;mCAoC/L;AAAA;;AAET,eAAKzhB,UAAL,GAAkB,IAAlB;AACA,eAAKxK,UAAL,GAAkB,KAAK+J,KAAL,CAAWujB,QAAX,CAAoB0I,MAApB,CAA2B,IAA3B,CAAlB;AACA,gEAAS,CACP,KAAKxF,qBAAL,EADO,EAEP,KAAKC,oBAAL,EAFO,EAGP,KAAKwF,gBAAL,EAHO,CAAT,EAIGrrB,IAJH,CAIQ,2DAAI,UAAAlN,GAAG,EAAI;AAEjB,mBAAI,CAACw4B,eAAL,CAAqB,OAAI,CAACl2B,UAA1B;AACD,WAHO,CAJR,EAOI8K,SAPJ,CAOc,UAAA6C,CAAC,EAAE,CAEhB,CATD;AAUD;;;yCAGgB;AAGf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAK8P,QAAL,CAAcmR,IAAd;AACD;;;qEAE4ChN,O,EAAO;AAClD,eAAKA,OAAL,CAAawL,wBAAb,GAAwCxL,OAAO,CAACwL,wBAAR,CAAiC/O,GAAjC,CAAqC,UAAA3a,IAAI;AAAA,mBAAIA,IAAI,CAAC9wB,mBAAT;AAAA,WAAzC,CAAxC;AACA,eAAK43B,UAAL,GAAkB,KAAlB;AACD;;;0CAEc;AAAA;;AACb,cAAI+kB,OAAO,GAAI,KAAKnE,eAAL,CAAqBoE,uBAArB,CAA6C,KAAKhD,oBAAlD,EAAuE,IAAvE,CAAf;AACA+C,iBAAO,CAACzkB,SAAR,CAAkB,UAAChJ,IAAD,EAA0B;AAC1C,gBAAI2tB,oBAAoB,GAAG,OAAI,CAACC,eAAL,CAAqB5tB,IAArB,EAA0B,cAA1B,CAA3B;;AACA,mBAAI,CAAC4pB,YAAL,GAAoB+D,oBAAoB,CAAC,OAAI,CAACjD,oBAAN,CAAxC;AACA,mBAAI,CAACG,oBAAL,GAA4B,OAAI,CAACjB,YAAjC;AACA,WAJF;AAKC,iBAAO6D,OAAP;AACF;;;sCAEU;AAAA;;AACT,cAAIA,OAAO,GAAI,KAAKnE,eAAL,CAAqBoE,uBAArB,CAA6C,KAAK/C,gBAAlD,EAAmE,IAAnE,CAAf;AACA8C,iBAAO,CAACzkB,SAAR,CAAkB,UAAChJ,IAAD,EAA0B;AAC1C,gBAAI2tB,oBAAoB,GAAG,OAAI,CAACC,eAAL,CAAqB5tB,IAArB,EAA0B,cAA1B,CAA3B;;AACA,mBAAI,CAAC6pB,QAAL,GAAgB8D,oBAAoB,CAAC,OAAI,CAAChD,gBAAN,CAApC;AACA,mBAAI,CAACE,oBAAL,GAA4B,OAAI,CAAChB,QAAjC;AACA,WAJF;AAMC,iBAAO4D,OAAP;AACF;;;mDAEuB;AAAA;;AAEtB,cAAG5xC,KAAK,CAAC4iB,OAAN,CAAc,KAAK6rB,iBAAnB,KAAyC,KAAKA,iBAAL,CAAuBtuB,MAAvB,GAA8B,CAA1E,EAA4E;AAC1E,gBAAIyxB,OAAO,GAAI,KAAKnE,eAAL,CAAqBoE,uBAArB,CAA6C,KAAK9C,mBAAlD,EAAsE,KAAKN,iBAA3E,CAAf;AACAmD,mBAAO,CAACzkB,SAAR,CAAkB,UAAChJ,IAAD,EAA0B;AAC1C,kBAAI2tB,oBAAoB,GAAG,OAAI,CAACC,eAAL,CAAqB5tB,IAArB,EAA0B,cAA1B,CAA3B;;AACA,qBAAI,CAAC8pB,YAAL,GAAoB6D,oBAAoB,CAAC,OAAI,CAAC/C,mBAAN,CAAxC;AACA,qBAAI,CAACC,oBAAL,GAA4B,OAAI,CAACf,YAAjC;AACA,qBAAI,CAACO,yBAAL,sBAAqC,OAAI,CAACD,gBAA1C;AACA,qBAAI,CAACA,gBAAL,GAAwB,EAAxB;;AAL0C,0DAMvB,OAAI,CAACN,YANkB;AAAA;;AAAA;AAM1C,uEAAsC;AAAA,sBAA9B+D,OAA8B;;AAAA,8DACR,OAAI,CAACxD,yBADG;AAAA;;AAAA;AACpC,2EAA2D;AAAA,0BAAnDyD,gBAAmD;;AACzD,0BAAGD,OAAO,CAACxB,QAAR,CAAiB3wB,QAAjB,MAA+BoyB,gBAAlC,EAAoD;AAClD,+BAAI,CAAC1D,gBAAL,CAAsBxpB,IAAtB,CAA2BitB,OAAO,CAACxB,QAAnC;AACD;AACF;AALmC;AAAA;AAAA;AAAA;AAAA;AAMrC;AAZyC;AAAA;AAAA;AAAA;AAAA;AAa1C,aAbF;AAcC,mBAAOoB,OAAP;AACF,WAjBD,MAiBO;AACL,iBAAKrD,gBAAL,GAAwB,EAAxB;AACD;AACF;;;+CAEsB;AAAA;;AACrB,cAAIqD,OAAO,GAAG,KAAKnE,eAAL,CAAqB4C,uBAArB,EAAd;AACAuB,iBAAO,CAACzkB,SAAR,CAAkB,UAAChJ,IAAD,EAAuC;AACvD,mBAAI,CAAC2pB,oBAAL,GAA4B3pB,IAA5B;AACD,WAFD;AAGA,iBAAOytB,OAAP;AACD;;;gDAEuB;AAAA;;AACtB,cAAIA,OAAO,GAAG,KAAKnE,eAAL,CAAqB2C,qBAArB,EAAd;AACAwB,iBAAO,CAACzkB,SAAR,CAAkB,UAAChJ,IAAD,EAAU;AAC1B,mBAAI,CAACupB,kBAAL,GAA0BvpB,IAA1B;AACD,WAFD;AAGA,iBAAOytB,OAAP;AACD;;;2CAEkB;AAAA;;AACjB,cAAIA,OAAO,GAAG,KAAKnE,eAAL,CAAqB0C,gBAArB,EAAd;AACAyB,iBAAO,CAACzkB,SAAR,CAAkB,UAAChJ,IAAD,EAAkB;AAClC,mBAAI,CAACgqB,aAAL,GAAqBhqB,IAArB;AACD,WAFD;AAGA,iBAAOytB,OAAP;AACD;;;wCAEe1K,G,EAAUsR,a,EAAgCC,Q,EAAyB;AACjF,cAAI,CAACvR,GAAG,CAACsR,aAAD,CAAR,EAAyB;AACvB,mBAAO,EAAP;AACD;;AACD,iBAAOtR,GAAG,CAACsR,aAAD,CAAH,CAAmB9X,GAAnB,CAAuB,UAAC3a,IAAD;AAAA,mBAAeA,IAAI,CAAC0yB,QAAD,CAAnB;AAAA,WAAvB,CAAP;AACD;;;wCAIe3kD,E,EAAY;AAAA;;AAC1B,eAAK+4B,UAAL,GAAkB,IAAlB;AACA,eAAK4gB,eAAL,CAAqB8K,eAArB,CAAqCzkD,EAArC,EAAyCq5B,SAAzC,CAAmD,UAAAhJ,IAAI,EAAI;AACzD,mBAAI,CAAC8f,OAAL,GAAe9f,IAAf;;AACA,mBAAI,CAACu0B,4CAAL,CAAkDv0B,IAAlD;;AACA,mBAAI,CAACw0B,kBAAL,CAAwB,OAAI,CAAC1U,OAAL,CAAaziB,cAArC;;AACA,mBAAI,CAACo3B,iBAAL,CAAuB,OAAI,CAAC3U,OAAL,CAAaziB,cAApC;;AACA,mBAAI,CAACq3B,kBAAL,CAAwB,OAAI,CAAC5U,OAAL,CAAaziB,cAArC;;AACA,mBAAI,CAAC6tB,eAAL;;AACA,mBAAI,CAACC,WAAL;;AACA,mBAAI,CAAC4I,sBAAL,GAA8B,OAAI,CAACnG,eAAL,CAAqB,OAAI,CAAC9N,OAAL,CAAaqM,mBAAlC,EAAsD,cAAtD,CAA9B;;AACA,iBAAI,IAAI5tB,YAAR,IAAwB,OAAI,CAACw1B,sBAA7B,EAAoD;AAGlD,kBAAGx1B,YAAY,IAAI,OAAI,CAACmsB,oBAAxB,EAA6C;AAC3C,uBAAI,CAACJ,iBAAL,GAAyB,OAAI,CAACqK,eAAL,CAAqB,OAAI,CAACZ,sBAA1B,EAAiD,OAAI,CAACrJ,oBAAtD,EAA2E,UAA3E,CAAzB;;AAEA,uBAAI,CAACkB,wBAAL;;AACA,uBAAI,CAACxB,gBAAL,GAAwB,OAAI,CAACuK,eAAL,CAAqB,OAAI,CAACZ,sBAA1B,EAAiD,OAAI,CAACnJ,mBAAtD,EAA0E,UAA1E,CAAxB;AACD;;AACD,kBAAGrsB,YAAY,IAAI,OAAI,CAACosB,gBAAxB,EAAyC;AACvC,uBAAI,CAACF,aAAL,GAAqB,OAAI,CAACkK,eAAL,CAAqB,OAAI,CAACZ,sBAA1B,EAAiD,OAAI,CAACpJ,gBAAtD,EAAuE,UAAvE,CAArB;AACD;AACF;;AACD,gBAAI,OAAI,CAAC7K,OAAL,CAAaviB,iBAAb,IAAkC,CAAtC,EAAyC;AACvC,qBAAI,CAAC02B,WAAL,GAAmB,IAAnB;AACD;;AACD,mBAAI,CAACvrB,UAAL,GAAkB,KAAlB;AACD,WA1BD,EA0BG,UAAAsC,KAAK,EAAI;AACV,mBAAI,CAACnD,MAAL,CAAYmD,KAAZ,CAAkB,kCAAlB;;AACA,mBAAI,CAACtC,UAAL,GAAkB,KAAlB;AACD,WA7BD;AA8BD;;;sCAEaoX,O,EAASuL,e,EAAiB;;;AACtC,cAAI,CAACvL,OAAO,CAACwL,wBAAT,IAAqC,OAAAxL,OAAO,CAACwL,wBAAR,MAAgC,IAAhC,IAAgC,aAAhC,GAAgC,MAAhC,GAAgC,GAAEtvB,MAAlC,IAA2C,CAApF,EAAuF;AACrF8jB,mBAAO,CAACwL,wBAAR,GAAmC,EAAnC;AACAxL,mBAAO,CAACwL,wBAAR,CAAiC1qB,IAAjC,CAAsC;AAAE9vB,iCAAmB,EAAEu6C;AAAvB,aAAtC;AACD,WAHD,MAGO;AACLvL,mBAAO,CAACwL,wBAAR,CAAiC,CAAjC,EAAoCx6C,mBAApC,GAA0D,KAAKgvC,OAAL,CAAauL,eAAvE;AACD;AACF;;;2CAEkBhuB,c,EAAqB;AAAA;;AACtC,iBAAO,KAAKisB,eAAL,CAAqBqD,wBAArB,CAA8CtvB,cAA9C,EAA8D2L,SAA9D,CAAwE,UAAChJ,IAAD,EAAmC;AAChH,mBAAI,CAAC0pB,2BAAL,GAAmC1pB,IAAnC;AACD,WAFM,CAAP;AAGD;;;0CAEiB3C,c,EAAwB;AAAA;;AACxC,eAAKisB,eAAL,CAAqBsD,uBAArB,CAA6CvvB,cAA7C,EAA6D2L,SAA7D,CAAuE,UAAChJ,IAAD,EAAkC;AACvG,mBAAI,CAACwpB,0BAAL,GAAkCxpB,IAAlC;;AACA,gBAAI40B,MAAM,GAAG,OAAI,CAACpL,0BAAL,CAAgC8C,IAAhC,CAAqC,UAACC,GAAD,EAAS;AACzD,qBAAOA,GAAG,CAACrvB,gBAAJ,IAAwB,OAAI,CAAC4iB,OAAL,CAAa5iB,gBAA5C;AACD,aAFY,CAAb;;AAIA,gBAAI03B,MAAM,CAACx3B,kBAAP,KAA8B,WAAlC,EAA+C;AAC7C,qBAAI,CAAC62B,WAAL,GAAmB,IAAnB;AACD,aAFD,MAEO;AACL,qBAAI,CAACA,WAAL,GAAmB,KAAnB;AACD;AACF,WAXD;AAYD;;;2CAEkB52B,c,EAAwB;AAAA;;AACzC,eAAKisB,eAAL,CAAqBuD,wBAArB,CAA8CxvB,cAA9C,EAA8D2L,SAA9D,CAAwE,UAAChJ,IAAD,EAAmC;AACzG,mBAAI,CAACypB,2BAAL,GAAmCzpB,IAAnC;AACD,WAFD;AAGD;;;2DAIkC60B,mB,EAA4B;AAC7D,cAAMC,sBAAsB,GAAGD,mBAAmB,CAAC7G,MAApB,CAA2B,UAAC+G,GAAD,EAAMC,IAAN,EAAe;AACvE,gBAAMz2B,YAAY,GAAGy2B,IAAI,CAAC5I,YAA1B;;AACA,gBAAI,CAAC2I,GAAG,CAACx2B,YAAD,CAAR,EAAwB;AACtBw2B,iBAAG,CAACx2B,YAAD,CAAH,GAAoB;AAClB6tB,4BAAY,EAAE7tB,YADI;AAElB02B,8BAAc,EAAED,IAAI,CAACC,cAFH;AAGlBC,gCAAgB,EAAE;AAHA,eAApB;AAKD;;AACDH,eAAG,CAACx2B,YAAD,CAAH,CAAkB22B,gBAAlB,CAAmCt0B,IAAnC,CAAwCo0B,IAAxC;AACA,mBAAOD,GAAP;AACD,WAX8B,EAW5B,EAX4B,CAA/B;AAYA,iBAAO1yB,MAAM,CAAC8yB,MAAP,CAAcL,sBAAd,CAAP;AACD;;;wCAEe/G,K,EAAcptB,G,EAAW;AACvC,iBAAOotB,KAAK,CAACC,MAAN,CAAa,UAACvyB,MAAD,EAASsoB,YAAT,EAA0B;AAC5C,aAACtoB,MAAM,CAACsoB,YAAY,CAACpjB,GAAD,CAAb,CAAN,GAA4BlF,MAAM,CAACsoB,YAAY,CAACpjB,GAAD,CAAb,CAAN,IAA6B,EAA1D,EAA8DC,IAA9D,CACEmjB,YADF;AAGA,mBAAOtoB,MAAP;AACD,WALM,EAKJ,EALI,CAAP;AAOD;;;wEAE+CwyB,Q,EAAgB1vB,Y,EAAkB;AAEhF,cAAI2vB,QAAQ,GAAS,EAArB;;AACA,cAAGryC,KAAK,CAAC4iB,OAAN,CAAcwvB,QAAd,KAA2BA,QAAQ,CAACjyB,MAAT,GAAgB,CAA9C,EAAgD;AAC9CiyB,oBAAQ,CAACxtB,OAAT,CAAiB,UAAAirB,QAAQ,EAAI;AAC3BwC,sBAAQ,CAACttB,IAAT,CAAc;AAAE,gCAAgBrC,YAAlB;AAAgC,4BAAYmtB;AAA5C,eAAd;AACD,aAFD;AAGA,mBAAOwC,QAAP;AACD,WALD,MAKK;AACH,mBAAO,IAAP;AACD;AACF;;;2DAKkC9B,Y,EAAagJ,S,EAA2B;AAAA;;AAE1E,cAAGhJ,YAAY,IAAI,CAAnB,EAAqB,CACnB;AAED;;AAED,cAAIqB,OAAO,GAAI,KAAKnE,eAAL,CAAqBoE,uBAArB,CAA6CtB,YAA7C,EAA0DgJ,SAA1D,CAAf;AACA3H,iBAAO,CAACzkB,SAAR,CAAkB,UAAChJ,IAAD,EAA0B;AAEzC,gBAAI2tB,oBAAoB,GAAG,OAAI,CAACC,eAAL,CAAqB5tB,IAArB,EAA0B,cAA1B,CAA3B;;AAEA,gBAAGosB,YAAY,IAAE,CAAjB,EAAmB;AACjB,qBAAI,CAACxC,YAAL,GAAoB+D,oBAAoB,CAACvB,YAAD,CAAxC;AACA,qBAAI,CAACvB,oBAAL,GAA4B,OAAI,CAACjB,YAAjC;AACD;;AACD,gBAAGwC,YAAY,IAAE,CAAjB,EAAmB;AACjB,qBAAI,CAACvC,QAAL,GAAiB8D,oBAAoB,CAACvB,YAAD,CAArC;AACA,qBAAI,CAACvB,oBAAL,GAA4B,OAAI,CAAChB,QAAjC;AACD;;AACD,gBAAGuC,YAAY,IAAE,CAAjB,EAAmB;AACjB,qBAAI,CAACtC,YAAL,GAAoB6D,oBAAoB,CAACvB,YAAD,CAAxC;AACD;AAEF,WAhBF;AAkBC,iBAAOqB,OAAP;AACD;;;iCAMQ3N,O,EAAciN,e,EAAsB;AAAA;;AAC3C,cAAI,CAACA,eAAe,CAACC,KAArB,EAA4B;AAC1B;AACD;;AACD,cAAI4H,MAAM,GAAG,KAAKpL,0BAAL,CAAgC8C,IAAhC,CAAqC,UAACC,GAAD,EAAS;AACzD,mBAAOA,GAAG,CAACrvB,gBAAJ,IAAwB4iB,OAAO,CAAC5iB,gBAAvC;AACD,WAFY,CAAb;;AAGA,cAAI03B,MAAM,CAACx3B,kBAAP,KAA8B,WAAlC,EAA+C;AAC7C,iBAAK62B,WAAL,GAAmB,IAAnB;AACD,WAFD,MAEO;AACL,iBAAKnU,OAAL,CAAauV,WAAb,GAA2B,IAA3B;AACA,iBAAKvV,OAAL,CAAariB,mBAAb,GAAmC,IAAnC;AACA,iBAAKqiB,OAAL,CAAaviB,iBAAb,GAAiC,IAAjC;AACA,iBAAK02B,WAAL,GAAmB,KAAnB;AACD,WAd0C,CAgB/C;;;AACK,eAAKnU,OAAL,CAAawL,wBAAb,GAAwC,KAAKxL,OAAL,CAAawL,wBAAb,CAAsC/O,GAAtC,CAA0C,UAAA5sC,EAAE;AAAA,mBAAK;AAAEmB,iCAAmB,EAAEnB;AAAvB,aAAL;AAAA,WAA5C,CAAxC;AACA,cAAIu9C,yBAAyB,GAAG,KAAKC,+CAAL,CAAqD,KAAK7C,iBAA1D,EAA4E,KAAKI,oBAAjF,CAAhC;AACA,cAAI0C,qBAAqB,GAAG,KAAKD,+CAAL,CAAqD,KAAK1C,aAA1D,EAAwE,KAAKE,gBAA7E,CAA5B;AACA,cAAI0C,wBAAwB,GAAG,KAAKF,+CAAL,CAAqD,KAAK/C,gBAA1D,EAA2E,KAAKQ,mBAAhF,CAA/B,CApB0C,CAsB1C;;AACA,eAAK9K,OAAL,CAAaqM,mBAAb,GAAmC,EAAnC;;AAEA,cAAGe,yBAAH,EAA6B;AAC5B,iBAAKpN,OAAL,CAAaqM,mBAAb,GAAmC,KAAKrM,OAAL,CAAaqM,mBAAb,CAAiCmB,MAAjC,CAAwCJ,yBAAxC,CAAnC;AACC;;AACD,cAAGE,qBAAH,EAAyB;AACvB,iBAAKtN,OAAL,CAAaqM,mBAAb,GAAmC,KAAKrM,OAAL,CAAaqM,mBAAb,CAAiCmB,MAAjC,CAAwCF,qBAAxC,CAAnC;AACD;;AACD,cAAGC,wBAAH,EAA4B;AAC1B,iBAAKvN,OAAL,CAAaqM,mBAAb,GAAmC,KAAKrM,OAAL,CAAaqM,mBAAb,CAAiCmB,MAAjC,CAAwCD,wBAAxC,CAAnC;AACD;;AAEH,eAAK3kB,UAAL,GAAkB,IAAlB;AAEA,eAAK4gB,eAAL,CAAqBgM,mBAArB,CAAyCxV,OAAzC,EAAkD9W,SAAlD,CAA4D,UAAA/K,QAAQ,EAAI;AACtE,mBAAI,CAAC4J,MAAL,CAAY8C,OAAZ,CAAoB1M,QAAQ,CAACs3B,eAA7B;;AACA,mBAAI,CAACC,cAAL;;AACA,mBAAI,CAAC9sB,UAAL,GAAkB,KAAlB;AACD,WAJD;AAKD;;;qCAEY+sB,Q,EAAe;AAC1B,cAAIb,MAAM,GAAG,KAAKpL,0BAAL,CAAgC8C,IAAhC,CAAqC,UAACC,GAAD,EAAS;AACzD,mBAAOA,GAAG,CAACrvB,gBAAJ,IAAwBu4B,QAA/B;AACD,WAFY,CAAb;;AAGA,cAAIb,MAAM,CAACx3B,kBAAP,KAA8B,WAAlC,EAA+C;AAC7C,iBAAK62B,WAAL,GAAmB,IAAnB;AACD,WAFD,MAEO;AACL,iBAAKA,WAAL,GAAmB,KAAnB;AACD;AACF;;;oCAGWjK,a,EAAoB0L,E,EAAI;AAClC1L,uBAAa,CAACzN,GAAd,CAAkB,UAACgQ,GAAD,EAAS;AACzB,mBAAOA,GAAG,CAACz5C,EAAJ,IAAU4iD,EAAjB;AACD,WAFD;AAGD;;;kCAES3sB,K,EAAsB;AAC9B;AACA,cAAIA,KAAK,CAACpI,GAAN,KAAc,GAAd,IAAqBoI,KAAK,CAAC4C,MAAN,CAAa,OAAb,EAAsB+gB,IAAtB,OAAiC,EAA1D,EAA8D;AAC5D3jB,iBAAK,CAACwc,cAAN,GAD4D,CACpC;AACzB;AACF;;;sDAK0B;AACzB,eAAKuE,YAAL,GAAoB,EAApB,CADyB,CAEzB;;AACA,eAAK8B,wBAAL;AACD;;;;;;;uBAzXUkI,qB,EAAqB,gI,EAAA,iJ,EAAA,yH,EAAA,+H,EAAA,uH,EAAA,yH;AAAA,K;;;YAArBA,qB;AAAqB,wC;AAAA;AAAA;AAAA,O;AAAA,gB;AAAA,c;AAAA,+2H;AAAA;AAAA;;;ACdlC;;AAEA;;AAGQ;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AAE8B;AAAA;;AAAA;;AAAA,mBAAY,IAAA1M,QAAA,kBAAZ;AAA6C,WAA7C;;AAC1B;;AAGI;;AAEI;;AAEI;;AACI;;AACI;;AACI;;AACI;;AACJ;;AACJ;;AACJ;;AACJ;;AAGA;;AACI;;AAEI;;AACI;;AAAuC;;AAC9B;;AACT;;AACI;;AACI;;AACJ;;AAEJ;;AAEA;;AAyBJ;;AAIA;;AACI;;AAAuC;;AAAM;;AAC7C;;AACI;;AAGI;AAAA,mBAAU,IAAAgH,aAAA,0CAAV;AAAwD,WAAxD,EAAyD,eAAzD,EAAyD;AAAA;AAAA,WAAzD;;AAGA;;AACI;;AACJ;;AAEA;;AAIJ;;AACJ;;AACA;;AACA;;AAAuC;;AAAQ;;AACtB;;AAAO;;AAAO;;AACvC;;AAEI;;AAE6B;AAAA,mBAAW,IAAAC,SAAA,QAAX;AAA4B,WAA5B,EAA6B,eAA7B,EAA6B;AAAA;AAAA,WAA7B;;AAGP;;AAClB;;AAGR;;AAEA;;AACJ;;AAEA;;AACI;;AAAuC;;AAAO;;AAC9C;;AACI;;AACI;AAAA;AAAA,aAAsC,QAAtC,EAAsC;AAAA,mBAAY,IAAAsH,YAAA,8BAAZ;AAAkD,WAAxF;;AACA;;AACI;;AACJ;;AACA;;AAKJ;;AAEJ;;AACJ;;AAEA;;AAGI;;AAAuC;;AAAQ;;AAC/C;;AACI;;AAGI;AAAA;AAAA;;AAEA;;AACI;;AACJ;;AACA;;AAUJ;;AAEJ;;AAEA;;AAEA;;AAAuC;;AACvB;;AAChB;;AACI;;AACoD;AAAA,mBAAW,IAAAtH,SAAA,QAAX;AAA4B,WAA5B,EAA6B,eAA7B,EAA6B;AAAA;AAAA,WAA7B;;AAGtC;;AAGlB;;AACJ;;AAIA;;AAuDA;;AACI;;AAAuC;;AAC9B;;AACkB;;AAAO;;AAAO;;AAEzC;;AACI;;AACI;;AAGI;AAAA;AAAA;;AAHJ;;AAKJ;;AACA;;AAGJ;;AACA;;AACJ;;AACA;;AACI;;AACoC;;AAAY;;AACrB;;AAAO;;AAAO;;AACzC;;AACI;;AAGI;AAAA;AAAA,aAA6B,SAA7B,EAA6B;AAAA,mBAAsB,IAAAA,SAAA,QAAtB;AAAuC,WAApE;;AACkB;;AAClB;;AAGR;;AACJ;;AAIA;;AAEE;;AAAuC;;AAAS;;AAChD;;AAEI;;AAIA;;AACE;;AAKE;AAAA,mBAAU,IAAAC,2BAAA,EAAV;AAAuC,WAAvC,EAAwC,eAAxC,EAAwC;AAAA;AAAA,WAAxC;;AAGA;;AAOF;;AACF;;AACA;;AAEJ;;AAEF;;AAEA;;AAEE;;AAAuC;;AAAK;;AAC5C;;AAEI;;AAIA;;AACE;;AAME;AAAA;AAAA;;AAEA;;AAOF;;AACF;;AACA;;AAEJ;;AAEF;;AAGA;;AAEE;;AAAuC;;AAAQ;;AAC/C;;AAGI;;AACE;;AAME;AAAA;AAAA;;AACA;;AAMF;;AACF;;AACA;;AAEJ;;AACF;;AAQA;;AACE;;AAAuC;;AAAY;;AACxB;;AAAO;;AAAO;;AACzC;;AAEE;;AAGE;AAAA;AAAA;;AACA;;AAOF;;AACF;;AACF;;AAMA;;AAEI;;AAGI;;AAAI;;AAAS;;AACjB;;AAGI;AAAA,mBAAS,IAAAkH,cAAA,EAAT;AAAyB,WAAzB;;AACA;;AACJ;;AAEJ;;AACJ;;AACJ;;AACJ;;AACJ;;AACJ;;AACJ;;AACJ;;AACJ;;AACJ;;AACJ;;AACJ;;AACJ;;AACJ;;AACJ;;AACJ;;AACJ;;;;;;AAtaI;;AA2CwE;;AAAA;;AAyCA;;AAAA;;AAMQ;;AAAA;;AAcR;;AAAA;;AAGK;;AAAA;;AAYL;;AAAA;;AAIQ;;AAAA;;AAkBR;;AAAA;;AAMI;;AAAA;;AAqBJ;;AAAA;;AAUR;;AAAA;;AAgEY;;AAAA;;AAGH;;AAAA;;AAcD;;AAAA;;AAEK;;AAAA;;AAmBP;;AAAA,8FAAsB,YAAtB,EAAsB,IAAtB,EAAsB,UAAtB,EAAsB,IAAtB,EAAsB,eAAtB,EAAsB,KAAtB,EAAsB,aAAtB,EAAsB,gBAAtB,EAAsB,SAAtB,EAAsB,qBAAtB;;AAiCA;;AAAA,0FAAkB,YAAlB,EAAkB,IAAlB,EAAkB,UAAlB,EAAkB,IAAlB,EAAkB,eAAlB,EAAkB,KAAlB,EAAkB,aAAlB,EAAkB,gBAAlB,EAAkB,SAAlB,EAAkB,iBAAlB;;AA+BA;;AAAA,8FAAuB,YAAvB,EAAuB,IAAvB,EAAuB,UAAvB,EAAuB,IAAvB,EAAuB,eAAvB,EAAuB,KAAvB,EAAuB,aAAvB,EAAuB,kBAAvB,EAAuB,SAAvB,EAAuB,oBAAvB;;AA8ByB;;AAAA,+FAAuB,YAAvB,EAAuB,IAAvB,EAAuB,UAAvB,EAAuB,IAAvB,EAAuB,eAAvB,EAAuB,KAAvB,EAAuB,aAAvB,EAAuB,oBAAvB,EAAuB,SAAvB,EAAuB,oCAAvB;;;;;;;;;sEDxW1F1B,qB,EAAqB;cALjC,uDAKiC;eALvB;AACTtnB,kBAAQ,EAAE,mBADD;AAETC,qBAAW,EAAE,gCAFJ;AAGTC,mBAAS,EAAE,CAAC,gCAAD;AAHF,S;AAKuB,Q;;;;;;;;;;;;;;;;gBAK/B;;;;;;;;;;;;;;;;;;;;AElBH;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;;;ACcM;;AACE;;AACF;;;;;;AAFgD;;AAC9C;;AAAA;;;;;;AAqBF;;AACE;;AACF;;;;;;;;AAFwH;;AAAhE;;AACtD;;AAAA;;;;;;;;AAaJ;;AAA0I;AAAA;;AAAA;;AAAA;AAAA;;AACxI;;AACF;;;;;;;;AACA;;AAA+F;AAAA;;AAAA;;AAAA;AAAA;;AAC7F;;AACF;;;;;;;;AACA;;AAAwI;AAAA;;AAAA;;AAAA;AAAA;;AACtI;;AACF;;;;;;;;;;;;;;;;;;AA3DJ;;AAEE;;AACE;;AACF;;AAGA;;AACE;;AACF;;AAEA;;AACE;;AACE;AAAA;;AAAA;;AAAA;AAAA,WAAyC,eAAzC,EAAyC;AAAA;;AAAA;;AAAA;AAAA,SAAzC;;AACA;;AAA6C;;AAAgB;;AAC7D;;AAGF;;AACF;;AAEA;;AACE;;AACF;;AAEA;;AACE;;AAAuC;AAAA;;AAAA;;AAAA;AAAA,WAA8B,SAA9B,EAA8B;AAAA;;AAAA;;AAAA;AAAA,SAA9B;;AAAvC;;AAEF;;AAEA;;AACE;;AAAuC;AAAA;;AAAA;;AAAA;AAAA;;AAAvC;;AACF;;AAEA;;AACE;;AACE;AAAA;;AAAA;;AAAA;AAAA;;AACA;;AAGF;;AAEA;;AAA+E;;AAAW;;AAE5F;;AAEA;;AACE;;AACF;;AAEA;;AACE;;AAGA;;AAGA;;AAGF;;AACF;;;;;;AA1DI;;AAAA;;AAIE;;AAAA;;AACF;;AAAA;;AAGE;;AAAA;;AAE0C;;AAAA;;AAElC;;AAAA;;AAOV;;AAAA;;AAIuC;;AAAA,qGAA8B,UAA9B,EAA8B,6CAA9B;;AAKA;;AAAA,gHAAyC,UAAzC,EAAyC,6CAAzC;;AAI/B;;AAAA,wQAAwE,SAAxE,EAAwE,gCAAxE,EAAwE,UAAxE,EAAwE,6CAAxE;;AAEE;;AAAA;;AAKJ;;AAAA;;AAKN;;AAAA;;AAIgB;;AAAA;;AAGA;;AAAA;;AAGD;;AAAA;;;;;;;;AAuCf;;AAAyI;AAAA;;AAAA;;AAAA;AAAA;;AAAyB;;AAAoE;;;;;;;;AACtO;;AAA+F;AAAA;;AAAA;;AAAA;AAAA;;AAC7F;;AACF;;;;;;AAjCJ;;AAEE;;AACE;;AACF;;AAEA;;AACE;;AACF;;AAEA;;AACE;;AACF;;AAEA;;AACE;;AACF;;AAEA;;AACE;;;;AACF;;AAEA;;AACE;;AACF;;AACA;;AACE;;AACF;;AAEA;;AACE;;AACA;;AAGF;;AACF;;;;;;AAhCI;;AAAA;;AAIA;;AAAA;;AAIA;;AAAA;;AAIA;;AAAA;;AAIA;;AAAA;;AAIA;;AAAA;;AAGA;;AAAA;;AAIe;;AAAA;;AACC;;AAAA;;;;QDhFPkpB,wB;AAcX,wCACU1tB,EADV,EAEUohB,eAFV,EAGSxhB,MAHT,EAIUD,MAJV,EAKUyZ,YALV,EAMUhF,aANV,EAMgD;AAAA;;AALtC,aAAApU,EAAA,GAAAA,EAAA;AACA,aAAAohB,eAAA,GAAAA,eAAA;AACD,aAAAxhB,MAAA,GAAAA,MAAA;AACC,aAAAD,MAAA,GAAAA,MAAA;AACA,aAAAyZ,YAAA,GAAAA,YAAA;AACA,aAAAhF,aAAA,GAAAA,aAAA,CAAsC,CAhBhD;;AACU,aAAAuZ,8BAAA,GAAiC,IAAI,0DAAJ,EAAjC;AAEA,aAAAC,SAAA,GAAY,IAAI,0DAAJ,EAAZ;AAqBV,aAAAptB,UAAA,GAAsB,KAAtB;AACA,aAAA8gB,0BAAA,GAAqD,EAArD;AACA,aAAAD,kBAAA,GAAqC,EAArC;AATK;;;;mCAaG;AAAA;;AAEN,eAAK7gB,UAAL,GAAkB,IAAlB;AACA,eAAK1tB,IAAL,GAAYqkB,YAAY,CAACC,OAAb,CAAqB,UAArB,CAAZ;AAGE,eAAKy2B,gBAAL,GAAwB,MAAH,OAAG,CAAH,kBAAQ,KAAKA,gBAAb,CAAG,EAA+B,KAAK93B,QAApC,CAAxB;AACA,eAAKqrB,eAAL,CAAqB2C,qBAArB,GAA6CjjB,SAA7C,CAAuD,UAAChJ,IAAD,EAAU;AAC/D,mBAAI,CAACupB,kBAAL,GAA0BvpB,IAA1B;AACD,WAFD;;AAIA,cAAI,KAAK+1B,gBAAL,CAAsB1lD,UAAtB,IAAoC,IAAxC,EAA8C;AAC5C,iBAAKi5C,eAAL,CAAqBsD,uBAArB,CAA6C,KAAKmJ,gBAAL,CAAsB14B,cAAnE,EAAmF2L,SAAnF,CAA6F,UAAChJ,IAAD,EAAkC;AAC7H,qBAAI,CAACwpB,0BAAL,GAAkCxpB,IAAlC;AACD,aAFD;AAGD;;AAEH,eAAK0I,UAAL,GAAkB,KAAlB;AACD;;;6CAOoBzK,Q,EAAe;AAAA;;AAClC,eAAKqrB,eAAL,CAAqBsD,uBAArB,CAA6C3uB,QAAQ,CAACZ,cAAtD,EAAsE2L,SAAtE,CAAgF,UAAChJ,IAAD,EAAkC;AAChH,mBAAI,CAACwpB,0BAAL,GAAkCxpB,IAAlC;;AACA,gBAAI,CAAC/B,QAAQ,CAACC,UAAd,EAA0B;AACxB,kBAAI83B,eAAe,GAAG,OAAI,CAACxM,0BAAL,CAAgC8C,IAAhC,CAAqC,UAACC,GAAD,EAAS;AAClE,uBAAOA,GAAG,CAACnvB,kBAAJ,IAA0B,aAAjC;AACD,eAFqB,CAAtB;;AAGA,qBAAI,CAAC64B,4BAAL,GAAoCD,eAAe,CAAC94B,gBAApD;AACD;AACF,WARD;AAUD;;;6BAGIe,Q,EAAoBwuB,K,EAAK;AAAA;;;;AAG5B,cAAI,KAAKxuB,QAAL,CAAc2wB,OAAd,KAAqB,MAAI,KAAK3wB,QAAL,CAAcw0B,kBAAlB,MAAoC,IAApC,IAAoC,aAApC,GAAoC,MAApC,GAAoC,GAAE/2B,QAAF,EAAzD,CAAJ,EAA2E;AACzEuC,oBAAQ,CAAC,iBAAD,CAAR,GAA8BA,QAAQ,CAAC,eAAD,CAAtC;AACA,iBAAKqrB,eAAL,CAAqBgM,mBAArB,CAAyCr3B,QAAzC,EAAmD+K,SAAnD,CAA6D,UAAAhJ,IAAI,EAAI;AACnE;AAEA/B,sBAAQ,CAAC5tB,UAAT,GAAsB,KAAtB;;AACA,qBAAI,CAACw3B,MAAL,CAAY8C,OAAZ,CAAoB3K,IAAI,CAACu1B,eAAzB;;AACA,qBAAI,CAACM,8BAAL,CAAoCz1B,IAApC,CAAyC;AAAEnC,wBAAQ,EAAEA,QAAZ;AAAsBwuB,qBAAK,EAAEA;AAA7B,eAAzC;AACD,aAND;AAOD,WATD,MAUK;AACH,gBAAIyJ,MAAM,GAAGpqB,QAAQ,CAACqqB,gBAAT,CAA0B,aAA1B,CAAb;AACAD,kBAAM,CAACz1B,OAAP,CAAe,UAAA0lB,KAAK,EAAI;AACtBA,mBAAK,CAACtF,SAAN,CAAgBC,GAAhB,CAAoB,OAApB;AACD,aAFD;AAGD;;AACD,eAAKmV,4BAAL,GAAoC,IAApC;AACD;;;+BAEMh4B,Q,EAAoBwuB,K,EAAK;AAC9B,eAAKxuB,QAAL,CAAc2wB,OAAd,GAAwB,KAAKwH,WAA7B;AACA,eAAKn4B,QAAL,CAAcw0B,kBAAd,GAAmC,KAAK4D,kBAAxC;AACA,eAAKp4B,QAAL,CAAcf,gBAAd,GAAiC,KAAKo5B,oBAAtC;AACAr4B,kBAAQ,CAAC5tB,UAAT,GAAsB,KAAtB;AACA,eAAKylD,SAAL,CAAe11B,IAAf,CAAoBqsB,KAApB;AACD;;;6BAIIxuB,Q,EAAkB;AAAA;;AACrB,eAAKqrB,eAAL,CAAqBsD,uBAArB,CAA6C3uB,QAAQ,CAACZ,cAAtD,EAAsE2L,SAAtE,CACE,UAAChJ,IAAD,EAAkC;AAChC,mBAAI,CAACwpB,0BAAL,GAAkCxpB,IAAlC;AACA,mBAAI,CAACo2B,WAAL,GAAmB,OAAI,CAACn4B,QAAL,CAAc2wB,OAAjC;AACA,mBAAI,CAACyH,kBAAL,GAA0B,OAAI,CAACp4B,QAAL,CAAcw0B,kBAAxC;AACA,mBAAI,CAAC6D,oBAAL,GAA4B,OAAI,CAACr4B,QAAL,CAAcf,gBAA1C;AACAe,oBAAQ,CAAC5tB,UAAT,GAAsB,IAAtB;AACD,WAPH;AASD;;;gCAGM4tB,Q,EAAoB;AACzB,eAAKqrB,eAAL,CAAqBiN,cAArB,CAAoCt4B,QAApC,EAA8C+K,SAA9C,CAAwD,UAAA/K,QAAQ,EAAI,CACnE,CADD;AAED;;;kCAGS8K,K,EAAsB;AAC9B,cAAIA,KAAK,CAACpI,GAAN,KAAc,GAAd,IAAqBoI,KAAK,CAAC4C,MAAN,CAAa,OAAb,EAAsB+gB,IAAtB,OAAiC,EAA1D,EAA8D;AAC5D3jB,iBAAK,CAACwc,cAAN;AACD;AACF;;;sCAEannB,U,EAAoB;AAChC,cAAMglB,QAAQ,GAAG,KAAK9B,YAAL,CAAkBnW,IAAlB,CAAuB,4FAAvB,EAA8C;AAC7DyU,gBAAI,EAAE,IADuD;AACjDyD,oBAAQ,EAAE,QADuC;AAC7BC,oBAAQ,EAAE;AADmB,WAA9C,CAAjB;AAGA,cAAIvzC,QAAQ,GAAG;AACbquB,sBAAU,EAAEA,UADC;AAEb0sB,uBAAW,EAAE,IAFA;AAGboI,mDAAuC,EAAC,KAAKj1B,QAAL,CAAci1B,uCAHzC;AAIbvC,mDAAuC,EAAC,KAAK1yB,QAAL,CAAc0yB;AAJzC,WAAf;AAOAvN,kBAAQ,CAAC+P,iBAAT,CAA2BpjD,QAA3B,GAAsCA,QAAtC;AACD;;;oCAEQ;AAAA;;AACP,cAAI09C,OAAO,GAAG,KAAKnR,aAAL,CAAmBM,MAAnB,EAAd;AAEA6Q,iBAAO,CAACzkB,SAAR,CAAkB,UAAChJ,IAAD,EAAe;;;AAC/B,mBAAI,CAACvH,mBAAL,GAA2BuH,IAA3B;AACA,mBAAI,CAAC2wB,uCAAL,GAA+C,CAAH,KAAG,OAAI,CAACl4B,mBAAL,CAAyBukB,MAAzB,CAAgC,UAAAnR,CAAC;AAAA,qBAAIA,CAAC,CAACuR,SAAF,IAAe,OAAI,CAACpiC,IAApB,IAA4B6wB,CAAC,CAACoR,UAAF,IAAgB,yCAAhD;AAAA,aAAjC,EAA4H,CAA5H,OAA8H,IAA9H,IAA8H,aAA9H,GAA8H,MAA9H,GAA8H,GAAEI,SAA/K;AACA,mBAAI,CAAC6V,uCAAL,GAA+C,CAAH,KAAG,OAAI,CAACz6B,mBAAL,CAAyBukB,MAAzB,CAAgC,UAAAnR,CAAC;AAAA,qBAAIA,CAAC,CAACuR,SAAF,IAAe,OAAI,CAACpiC,IAApB,IAA4B6wB,CAAC,CAACoR,UAAF,IAAgB,yCAAhD;AAAA,aAAjC,EAA4H,CAA5H,OAA8H,IAA9H,IAA8H,aAA9H,GAA8H,MAA9H,GAA8H,GAAEM,UAA/K;AAED,WALD;AAMA,iBAAOkQ,OAAP;AACD;;;sCAEU;AAEP,cAAM2F,mBAAmB,GAAG,KAAK2C,gBAAL,CAAsB1C,cAAtB,CAAqC13B,KAArC,CAA2C,GAA3C,CAA5B;;AAEA,cAAIy3B,mBAAmB,CAACpW,MAApB,CAA2B,UAAAnR,CAAC;AAAA,mBAAEA,CAAC,IAAExM,YAAY,CAACC,OAAb,CAAqB,QAArB,CAAL;AAAA,WAA5B,EAAiEtD,MAAjE,GAAwE,CAAxE,IAA4E,KAAK+5B,gBAAL,CAAsBvC,aAAtB,IAAqCn0B,YAAY,CAACC,OAAb,CAAqB,QAArB,CAArH,EACA;AACE,iBAAKy2B,gBAAL,CAAsB7C,uCAAtB,GAA8D,IAA9D;AACA,iBAAK6C,gBAAL,CAAsBpF,uCAAtB,GAA8D,IAA9D;AACD,WAJD,MAMA;AACE,iBAAKoF,gBAAL,CAAsB7C,uCAAtB,GAA8D,KAAKA,uCAAnE;AACA,iBAAK6C,gBAAL,CAAsBpF,uCAAtB,GAA8D,KAAKA,uCAAnE;AACD;AACJ;;;;;;;uBA1KUiF,wB,EAAwB,gI,EAAA,0I,EAAA,mI,EAAA,yH,EAAA,oI,EAAA,kK;AAAA,K;;;YAAxBA,wB;AAAwB,gD;AAAA;AAAA;AAAA;AAAA,O;AAAA;AAAA;AAAA;AAAA,O;AAAA,gB;AAAA,c;AAAA,a;AAAA,6sC;AAAA;AAAA;ACjBrC;;AAkEA;;AAsCA;;;;AAxGc;;AAkEA;;AAAA;;AAsCN;;AAAA;;;;;;;;;;sEDvFKA,wB,EAAwB;cALpC,uDAKoC;eAL1B;AACTppB,kBAAQ,EAAE,qBADD;AAETC,qBAAW,EAAE,oCAFJ;AAGTC,mBAAS,EAAE,CAAC,oCAAD;AAHF,S;AAK0B,Q;;;;;;;;;;;;;;;;gBAGlC;;;gBAEA;;;gBACA;;;gBACA;;;;;;;;;;;;;;;;;;;;AExBH;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;ACYgB;;AACE;;AACF;;;;;;AAFgD;;AAC9C;;AAAA;;;;;;AAWF;;AACE;;AACF;;;;;;AAFyD;;AACvD;;AAAA;;;;;;AAeF;;AAAwD;;AAAa;;;;;;AAA7B;;AAAgB;;AAAA;;;;;;;;AAJ5D;;AACE;;AAA4C;;AAAY;;AACxD;;AAAqE;AAAA;;AAAA;;AAAA;AAAA;;AACnE;;AAAgC;;AAAM;;AACtC;;AACF;;AACF;;;;;;AAJuE;;AAAA;;AAC3D;;AAAA;;AACA;;AAAA;;;;;;;;AAYN;;AACoD;AAAA;;AAAA;;AAAA;;AAAA;AAAA,WAAiC,YAAjC,EAAiC;AAAA;;AAAA;;AAAA,uCACvD,IADuD;AACnD,SADkB;;AAElD;;AACF;;;;;;;;;AAJyB,0FAAyB,OAAzB,EAAyB,wBAAzB,EAAyB,OAAzB,EAAyB,uDAAzB;;AAGvB;;AAAA;;;;;;;;AAwBN;;AACA;;AAAuD;AAAA;;AAAA;;AAAA;;AAAA,iBAAS,YAAT;AAA4B,SAA5B;;AAA8B;;AAAE;;;;;;AAgCrF;;AACE;;AACF;;;;;;AAFiD;;AAC/C;;AAAA;;;;;;AASF;;AAAK;;AAAqB;;;;;;AAArB;;AAAA;;;;;;;;AA6CT;;AAAsB;AAAA;;AAAA;;AAAA;AAAA,WAAqD,gCAArD,EAAqD;AAAA;;AAAA;;AAAA;AAAA,SAArD,EAAqD,WAArD,EAAqD;AAAA;;AAAA;;AAAA;AAAA,SAArD;;AACmH;;;;;;;AAAzE,8FAAwB,OAAxB,EAAwB,KAAxB;;;;;;AAfpE;;AACE;;AACE;;AACE;;AAAuB;;AAAQ;;AAC/B;;AAAuB;;AAAa;;AACpC;;AAAwB;;AAAY;;AACpC;;AAAuB;;AAAO;;AAC9B;;AAAuB;;AAAQ;;AAC/B;;AAAuB;;AAAe;;AACtC;;AAAsB;;AAAO;;AAC7B;;AAAwB;;AAAO;;AACjC;;AACF;;AACA;;AACE;;AAEF;;AACF;;;;;;AAFM;;AAAA;;;;;;AAIN;;AACE;;AAAgC;;AAAgB;;AAClD;;;;;;;;QD5JK8pB,qB;AAwBX,qCAAoBtuB,EAApB,EAAmDoc,QAAnD,EAAiFD,SAAjF,EAA4HiF,eAA5H,EAAqKhN,aAArK,EAA6M;AAAA;;AAAzL,aAAApU,EAAA,GAAAA,EAAA;AAA+B,aAAAoc,QAAA,GAAAA,QAAA;AAA8B,aAAAD,SAAA,GAAAA,SAAA;AAA2C,aAAAiF,eAAA,GAAAA,eAAA;AAAyC,aAAAhN,aAAA,GAAAA,aAAA;AAtBrK,aAAAv4B,UAAA,GAAqB,CAArB;AACA,aAAAyqC,SAAA,GAAoB,KAAKzqC,UAAL,GAAkB,CAAtC;AACA,aAAAC,QAAA,GAAmB,CAAnB;AAIA,aAAAulC,kBAAA,GAAqC,EAArC;AACA,aAAAC,0BAAA,GAAqD,EAArD;AACA,aAAAG,oBAAA,GAAoD,EAApD;AACA,aAAA8E,kBAAA,GAA0B,EAA1B;AACA,aAAAxE,qBAAA,GAA6B,EAA7B;AACA,aAAAD,aAAA,GAAwB,EAAxB;AAEA,aAAAthB,UAAA,GAAsB,KAAtB;AAEA,aAAAjQ,mBAAA,GAA4C5c,KAAK,EAAjD;AACA,aAAA4gB,uBAAA,GAA8B,EAA9B;AACC,aAAAk0B,uCAAA,GAAgD,IAAhD;AAED,aAAAC,MAAA,GAAiB,IAAjB;AAwPA,aAAA9L,WAAA,GAA8B,IAA9B;AAGA,aAAA7G,QAAA,GAAW,IAAI,wDAAJ,CAAa,OAAb,CAAX;AAxPgN;;;;mCAExM;AAAA;;AAEN,eAAKwQ,kBAAL,CAAwBpxB,cAAxB,GAAyC,IAAzC;AACA,eAAKoxB,kBAAL,CAAwBvxB,gBAAxB,GAA2C,IAA3C;AACA,eAAKuxB,kBAAL,CAAwBG,OAAxB,GAAkC,IAAlC;AACA,eAAKH,kBAAL,CAAwB/H,SAAxB,GAAoC,IAApC;AACA,eAAK+H,kBAAL,CAAwBrC,YAAxB,GAAuC,IAAvC;AACA,eAAKqC,kBAAL,CAAwBpC,QAAxB,GAAmC,IAAnC;AACA,eAAKoC,kBAAL,CAAwBI,UAAxB,GAAqC,CAArC;AACA,eAAKJ,kBAAL,CAAwBK,QAAxB,GAAmC,CAAnC;AACA,eAAKL,kBAAL,CAAwBM,OAAxB,GAAkC,IAAlC;AACA,eAAKN,kBAAL,CAAwBiD,aAAxB,GAAwCryB,YAAY,CAACC,OAAb,CAAqB,QAArB,CAAxC;AACA,eAAKtkB,IAAL,GAAYqkB,YAAY,CAACC,OAAb,CAAqB,UAArB,CAAZ;AACA,eAAKsxB,MAAL,GAAc,KAAKnC,kBAAL,CAAwBiD,aAAtC;AAEA,eAAKhD,qBAAL;AACA,eAAKC,oBAAL;AACA,eAAKM,YAAL;AACA,eAAKC,iBAAL;AACA,eAAKyC,SAAL,GAAiB3oB,SAAjB,CAA2B,UAAA6C,CAAC,EAAE;AAC3B,mBAAI,CAACmjB,WAAL,CAAiB,OAAI,CAACP,kBAAtB;AACF,WAFD;AAID;;;iCAGQ;AAEP,cAAIU,WAAW,GAAa,IAAI,6DAAJ,EAA5B;AACAA,qBAAW,CAAC+D,uCAAZ,GAAoD,IAApD;AACA/D,qBAAW,CAAC9+C,UAAZ,GAAyB,IAAzB;AACA,eAAK++C,kBAAL,CAAwBC,OAAxB,CAAgCF,WAAhC;AACA,eAAKjnB,EAAL,CAAQ6C,aAAR;AACD;;;mCAGU;AACT,cAAI,KAAK2kB,UAAT,EAAqB;AACnB,gBAAIC,MAAM,GAAG,KAAKP,kBAAL,CAAwB7S,GAAxB,CAA4B,UAAAwG,GAAG,EAAI;AAC9C,qBAAO,MAAP,OAAO,CAAP,kBAAYA,GAAZ,CAAO,EAAQ;AAAE1yC,0BAAU,EAAE;AAAd,eAAR,CAAP;AACD,aAFY,CAAb;AAGD,WAJD,MAIO;AAEL,gBAAIs/C,MAAM,GAAG,KAAKP,kBAAL,CAAwB7S,GAAxB,CAA4B,UAAAwG,GAAG,EAAI;AAC9C,qBAAO,MAAP,OAAO,CAAP,kBAAYA,GAAZ,CAAO,EAAQ;AAAE1yC,0BAAU,EAAE;AAAd,eAAR,CAAP;AACD,aAFY,CAAb;AAGD;;AAED,eAAK++C,kBAAL,GAA0BO,MAA1B;AACA,eAAK4C,WAAL;AACD;;;4CAKmB;AAAA;;AAClB,eAAKjJ,eAAL,CAAqB0C,gBAArB,GAAwChjB,SAAxC,CAAkD,UAAChJ,IAAD,EAAkB;AAElE,mBAAI,CAACgqB,aAAL,GAAqBhqB,IAArB;AAED,WAJD;AAKD;;;uCAEc;AAAA;;AACb,eAAKspB,eAAL,CAAqBsD,uBAArB,CAA6C,IAA7C,EAAmD5jB,SAAnD,CAA6D,UAAChJ,IAAD,EAAkC;AAC7F,mBAAI,CAACwpB,0BAAL,GAAkCxpB,IAAlC;AACD,WAFD;AAGD;;;+CAEsB;AAAA;;AACrB,eAAK0I,UAAL,GAAkB,IAAlB;AACA,eAAK4gB,eAAL,CAAqB4C,uBAArB,GAA+CljB,SAA/C,CAAyD,UAAChJ,IAAD,EAAuC;AAC9F,mBAAI,CAAC2pB,oBAAL,GAA4B3pB,IAA5B;AACA,mBAAI,CAAC0I,UAAL,GAAkB,KAAlB;AACD,WAHD;AAID;;;gDAEuB;AAAA;;AACtB,eAAK4gB,eAAL,CAAqB2C,qBAArB,GAA6CjjB,SAA7C,CAAuD,UAAChJ,IAAD,EAAU;AAC/D,mBAAI,CAACupB,kBAAL,GAA0BvpB,IAA1B;AACD,WAFD;AAGD;;;iDAEwB+I,K,EAAoC;AAAA;;AAE3D;AACH,cAAInK,OAAO,GAAG;AAAC,8BAAiB,IAAlB;AAAuB,gCAAmB,IAA1C;AAA+C,uBAAU,IAAzD;AAA8D,yBAAY,IAA1E;AAA+E,4BAAe,IAA9F;AAAmG,wBAAW,IAA9G;AAAmH,0BAAa,CAAhI;AAAkI,wBAAW,CAA7I;AAA+I,uBAAU;AAAzJ,WAAd;AACG,eAAK0qB,eAAL,CAAqBiG,mBAArB,CAAyC3wB,OAAzC,EAAkDoK,SAAlD,CAA4D,UAAChJ,IAAD,EAAe;AAC1E,gBAAMy2B,wBAAwB,GAAGz2B,IAAI,CAACyvB,IAAtC;;AAEA,gBAAG1mB,KAAK,CAAC9K,QAAN,CAAeC,UAAlB,EAA6B;AAC5B,kBAAMw4B,CAAC,GAAGD,wBAAwB,CAACzZ,MAAzB,CAAiC,UAACuP,GAAD,EAAS;AAClD,uBAAQA,GAAG,CAACruB,UAAJ,IAAkB6K,KAAK,CAAC9K,QAAN,CAAeC,UAAzC;AACD,eAFS,CAAV;AAGAw4B,eAAC,CAAC,CAAD,CAAD,CAAK,YAAL,IAAqB,KAArB;AAEA,qBAAI,CAACtH,kBAAL,CAAwBrmB,KAAK,CAAC0jB,KAA9B,IAAuCiK,CAAC,CAAC,CAAD,CAAxC;AAED,aARA,MAQI;AAEH,qBAAI,CAACtH,kBAAL,CAAwBrmB,KAAK,CAAC0jB,KAA9B,IAAuCgK,wBAAwB,CAAC,CAAD,CAA/D;AACD;;AACD,mBAAI,CAAClE,WAAL;AACC,WAhBD;AAiBD;;;oCAEW9D,kB,EAAoB;AAAA;;AAC9B,eAAKnF,eAAL,CAAqBiG,mBAArB,CAAyCd,kBAAzC,EAA6DzlB,SAA7D,CAAuE,UAAChJ,IAAD,EAAe;AACpF,mBAAI,CAACwvB,UAAL,GAAkBxvB,IAAI,CAACyvB,IAAvB;AACA,mBAAI,CAACL,kBAAL,GAA0BpvB,IAAI,CAACyvB,IAA/B;;AACA,mBAAI,CAAC8C,WAAL;;AACA,mBAAI,CAACv2B,MAAL,GAAcgE,IAAI,CAAC22B,KAAnB;AACD,WALD;AAMD;;;kCAIS5tB,K,EAAO;AAAA;;AAEfqB,gBAAM,CAACC,MAAP,CAAc;AACZ3F,eAAG,EAAE,CADO;AAEZE,gBAAI,EAAE,CAFM;AAGZoc,oBAAQ,EAAE;AAHE,WAAd;;AAKA,cAAG,CAAC,KAAK2P,uCAAT,EAAiD;AAC/C,iBAAKlC,kBAAL,CAAwBiD,aAAxB,GAAwCryB,YAAY,CAACC,OAAb,CAAqB,QAArB,CAAxC;AACD;;AACD,eAAKvb,UAAL,GAAkBglB,KAAK,CAACylB,SAAN,GAAkB,CAApC;AACA,eAAKxqC,QAAL,GAAgB+kB,KAAK,CAAC/kB,QAAtB;AACA,cAAI4a,OAAO,GAAG;AAAEvB,0BAAc,EAAE,KAAKoxB,kBAAL,CAAwBpxB,cAA1C;AAA0DH,4BAAgB,EAAG,KAAKuxB,kBAAL,CAAwBvxB,gBAArG;AACZ0xB,mBAAO,EAAE,KAAKH,kBAAL,CAAwBG,OADrB;AAC8BlI,qBAAS,EAAE,KAAK+H,kBAAL,CAAwB/H,SADjE;AAEZ0F,wBAAY,EAAE,KAAKqC,kBAAL,CAAwBrC,YAF1B;AAEwCC,oBAAQ,EAAG,KAAKoC,kBAAL,CAAwBpC,QAF3E;AAGZwC,sBAAU,EAAE,KAAK9qC,UAHL;AAGiB+qC,oBAAQ,EAAE,KAAK9qC,QAHhC;AAG0C+qC,mBAAO,EAAE,KAAKN,kBAAL,CAAwBM,OAH3E;AAIZ2C,yBAAa,EAAE,KAAKjD,kBAAL,CAAwBiD;AAJ3B,WAAd;AAOA,eAAKpI,eAAL,CAAqBiG,mBAArB,CAAyC3wB,OAAzC,EAAkDoK,SAAlD,CAA4D,UAACpN,GAAD,EAAc;AACxE,mBAAI,CAACwzB,kBAAL,GAA0BxzB,GAAG,CAAC6zB,IAA9B;;AACA,mBAAI,CAAC8C,WAAL;;AACA,mBAAI,CAAC3C,QAAL;AACD,WAJD;AAMD;;;2CAEkBxD,Y,EAAmB;AAAA;;AACpC,eAAK1jB,UAAL,GAAkB,IAAlB;AACA,eAAK4gB,eAAL,CAAqBoE,uBAArB,CAA6CtB,YAA7C,EAA0D,EAA1D,EAA8DpjB,SAA9D,CAAwE,UAAChJ,IAAD,EAA0B;AAChG,mBAAI,CAACyuB,kBAAL,CAAwBpC,QAAxB,GAAmC,IAAnC;AACA,mBAAI,CAACpC,qBAAL,GAA6BjqB,IAA7B;AACA,mBAAI,CAAC0I,UAAL,GAAkB,KAAlB;AACD,WAJD;AAKD;;;sCAEa+jB,K,EAAY;AACxB,cAAI,gBAAgB,KAAK2C,kBAAL,CAAwB3C,KAAxB,CAApB,EAAoD,CACnD,CADD,MACO;AACL,iBAAK2C,kBAAL,CAAwBE,MAAxB,CAA+B7C,KAA/B,EAAsC,CAAtC;AACD;AACF;;;uCAEc;AAAA;;AAEb,cAAG,CAAC,KAAKkE,uCAAT,EAAiD;AAC/C,iBAAKC,MAAL,GAAcvxB,YAAY,CAACC,OAAb,CAAqB,QAArB,CAAd;AACD;;AACD,cAAIV,OAAO,GAAG;AAAEvB,0BAAc,EAAE,IAAlB;AAAwBH,4BAAgB,EAAE,IAA1C;AAAgD0xB,mBAAO,EAAE,IAAzD;AAA+DlI,qBAAS,EAAE,IAA1E;AAAgF0F,wBAAY,EAAE,IAA9F;AAAoGC,oBAAQ,EAAE,IAA9G;AAAoHwC,sBAAU,EAAE,CAAhI;AAAmIC,oBAAQ,EAAE,CAA7I;AACZC,mBAAO,EAAE,KADG;AACI2C,yBAAa,EAAE,KAAKd;AADxB,WAAd;AAEA,eAAK9K,uBAAL,GAA+B,IAA/B;AACA,eAAKC,qBAAL,GAA6B,IAA7B;AACA,eAAKuD,eAAL,CAAqBiG,mBAArB,CAAyC3wB,OAAzC,EAAkDoK,SAAlD,CAA4D,UAACpN,GAAD,EAAc;AACxE,mBAAI,CAACwzB,kBAAL,GAA0BxzB,GAAG,CAAC6zB,IAA9B;;AACA,mBAAI,CAAC8C,WAAL;;AACA,mBAAI,CAACtI,qBAAL,GAA6B,EAA7B;AACA,mBAAI,CAACjuB,MAAL,GAAcJ,GAAG,CAAC+6B,KAAlB;AACA,mBAAI,CAAClI,kBAAL,GAA0B;AAAEpxB,4BAAc,EAAE,IAAlB;AAAwBH,8BAAgB,EAAE,IAA1C;AAAgD0xB,qBAAO,EAAE,IAAzD;AAA+DlI,uBAAS,EAAE,IAA1E;AAAgF0F,0BAAY,EAAE,IAA9F;AAAoGC,sBAAQ,EAAE,IAA9G;AAAoHwC,wBAAU,EAAE,CAAhI;AAAmIC,sBAAQ,EAAE,CAA7I;AAAgJC,qBAAO,EAAE,KAAzJ;AAAgK2C,2BAAa,EAAC,OAAI,CAACd;AAAnL,aAA1B;AACA,mBAAI,CAAClB,UAAL,GAAkB,KAAlB;AACA,mBAAI,CAAC1rC,QAAL,GAAgB,CAAhB;AACD,WARD;AASD;;;iCAEQyqC,kB,EAAyB;AAAA;;AAGhC,cAAG,CAAC,KAAKkC,uCAAT,EAAiD;AAC/C,iBAAKlC,kBAAL,CAAwBiD,aAAxB,GAAwCryB,YAAY,CAACC,OAAb,CAAqB,QAArB,CAAxC;AACD;;AAGD,cAAI,KAAKwmB,uBAAL,IAAgCt3B,SAApC,EAAgD;AAC9CigC,8BAAkB,CAAC/H,SAAnB,GAA+B,IAA/B;AACA+H,8BAAkB,CAAC5H,OAAnB,GAA6B,IAA7B;AACD,WAHD,MAGO;AACL4H,8BAAkB,CAAC/H,SAAnB,GAA+B,KAAKC,WAAL,CAAiB,IAAI,kEAAJ,CAAY,KAAKb,uBAAL,CAA6B1H,IAAzC,EAA+C,KAAK0H,uBAAL,CAA6BzH,KAA5E,EAAmF,KAAKyH,uBAAL,CAA6BxH,GAAhH,CAAjB,CAA/B;AACAmQ,8BAAkB,CAAC5H,OAAnB,GAA6B,KAAKF,WAAL,CAAiB,IAAI,kEAAJ,CAAY,KAAKZ,qBAAL,CAA2B3H,IAAvC,EAA6C,KAAK2H,qBAAL,CAA2B1H,KAAxE,EAA+E,KAAK0H,qBAAL,CAA2BzH,GAA1G,CAAjB,CAA7B;AACD;;AAED,cAAGmQ,kBAAkB,CAACvxB,gBAAnB,IAAuC,MAA1C,EAAiD;AAC/CuxB,8BAAkB,CAACvxB,gBAAnB,GAAsC,IAAtC;AACD;;AAED,cAAGuxB,kBAAkB,CAACpxB,cAAnB,IAAqC,MAAxC,EAA+C;AAC7CoxB,8BAAkB,CAACpxB,cAAnB,GAAoC,IAApC;AACD;;AAED,cAAGoxB,kBAAkB,CAACrC,YAAnB,IAAmC,MAAtC,EAA6C;AAC3CqC,8BAAkB,CAACrC,YAAnB,GAAkC,IAAlC;AACD;;AACD,cAAGqC,kBAAkB,CAACiD,aAAnB,IAAoC,MAAvC,EAA8C;AAC5CjD,8BAAkB,CAACiD,aAAnB,GAAmC,IAAnC;AACD;;AACDjD,4BAAkB,CAACI,UAAnB,GAAgC,CAAhC;AACAJ,4BAAkB,CAACK,QAAnB,GAA8B,CAA9B;AACA,eAAKxF,eAAL,CAAqBiG,mBAArB,CAAyCd,kBAAzC,EAA6DzlB,SAA7D,CAAuE,UAACpN,GAAD,EAAc;AACnF,mBAAI,CAACwzB,kBAAL,GAA0BxzB,GAAG,CAAC6zB,IAA9B;;AACA,mBAAI,CAAC8C,WAAL;;AACA,mBAAI,CAACv2B,MAAL,GAAcJ,GAAG,CAAC+6B,KAAlB;AACA,mBAAI,CAAC3yC,QAAL,GAAgB,CAAhB;AACA,mBAAI,CAAC0rC,UAAL,GAAkB,KAAlB;AAED,WAPD;AASD;;;oCAEWxR,I,EAAW;AACrB,cAAIE,IAAI,GAAGF,IAAI,CAACE,IAAhB;AACA,cAAIC,KAAK,GAAGH,IAAI,CAACG,KAAjB;AACA,cAAIC,GAAG,GAAGJ,IAAI,CAACI,GAAf;AACA,iBAAOF,IAAI,GAAG,GAAP,GAAaC,KAAb,GAAqB,GAArB,GAA2BC,GAAlC;AACD;;;kCAKSvV,K,EAAsB;AAC9B;AACA,cAAIA,KAAK,CAACpI,GAAN,KAAc,GAAd,IAAqBoI,KAAK,CAAC4C,MAAN,CAAa,OAAb,EAAsB+gB,IAAtB,OAAiC,EAA1D,EAA8D;AAC5D3jB,iBAAK,CAACwc,cAAN,GAD4D,CACpC;AACzB;AACF;;;sCASaxB,Y,EAA8BoC,K,EAAa;AACvD,cAAMC,MAAM,GAAG,KAAK/B,SAAL,CAAe1a,KAAf,CAAqBwc,KAArB,CAAf;AACA,iBAAOC,MAAM,IAAI,KAAK9B,QAAL,CAAc+B,OAAd,CAAsB,mEAAQjkB,IAAR,CAAagkB,MAAb,CAAtB,CAAV,GAAwD,mEAAQhkB,IAAR,CAAagkB,MAAb,CAAxD,GAA+ErC,YAAtF;AACD;;;wCACe7F,I,EAAe;AAC7B,cAAI,CAAC,KAAK4H,uBAAN,IAAiC,CAAC,KAAKC,qBAA3C,EAAkE;AAChE,iBAAKD,uBAAL,GAA+B5H,IAA/B;AACD,WAFD,MAEO,IAAI,KAAK4H,uBAAL,IAAgC,CAAC,KAAKC,qBAAtC,IAA+D7H,IAA/D,IAAuEA,IAAI,CAAC8H,KAAL,CAAW,KAAKF,uBAAhB,CAA3E,EAAqH;AAC1H,iBAAKC,qBAAL,GAA6B7H,IAA7B;AACD,WAFM,MAEA;AACL,iBAAK6H,qBAAL,GAA6B,IAA7B;AACA,iBAAKD,uBAAL,GAA+B5H,IAA/B;AACD;AACF;;;gCACOA,I,EAAe;AACrB,iBAAOA,IAAI,CAACqI,MAAL,CAAY,KAAKT,uBAAjB,KAA8C,KAAKC,qBAAL,IAA8B7H,IAAI,CAACqI,MAAL,CAAY,KAAKR,qBAAjB,CAA5E,IAAwH,KAAKS,QAAL,CAActI,IAAd,CAAxH,IAA+I,KAAKuI,SAAL,CAAevI,IAAf,CAAtJ;AACD;;;kCACSA,I,EAAe;AACvB,iBAAO,KAAK4H,uBAAL,IAAgC,CAAC,KAAKC,qBAAtC,IAA+D,KAAKjB,WAApE,IAAmF5G,IAAI,CAAC8H,KAAL,CAAW,KAAKF,uBAAhB,CAAnF,IAA+H5H,IAAI,CAACoI,MAAL,CAAY,KAAKxB,WAAjB,CAAtI;AACD;;;iCACQ5G,I,EAAe;AACtB,iBAAO,KAAK6H,qBAAL,IAA8B7H,IAAI,CAAC8H,KAAL,CAAW,KAAKF,uBAAhB,CAA9B,IAA0E5H,IAAI,CAACoI,MAAL,CAAY,KAAKP,qBAAjB,CAAjF;AACD;;;oCAEQ;AAAA;;AACP,cAAI0H,OAAO,GAAG,KAAKnR,aAAL,CAAmBM,MAAnB,EAAd;AAEA6Q,iBAAO,CAACzkB,SAAR,CAAkB,UAAChJ,IAAD,EAAe;uBAAA,CAChC;;;AACC,mBAAI,CAACvH,mBAAL,GAA2BuH,IAA3B;AACA,mBAAI,CAAC2wB,uCAAL,GAA+C,CAAH,KAAG,OAAI,CAACl4B,mBAAL,CAAyBukB,MAAzB,CAAgC,UAAAnR,CAAC;AAAA,qBAAIA,CAAC,CAACuR,SAAF,IAAe,OAAI,CAACpiC,IAApB,IAA4B6wB,CAAC,CAACoR,UAAF,IAAgB,yCAAhD;AAAA,aAAjC,EAA4H,CAA5H,OAA8H,IAA9H,IAA8H,aAA9H,GAA8H,MAA9H,GAA8H,GAAEI,SAA/K;AACA,mBAAI,CAAC6V,uCAAL,GAA+C,CAAH,KAAG,OAAI,CAACz6B,mBAAL,CAAyBukB,MAAzB,CAAgC,UAAAnR,CAAC;AAAA,qBAAIA,CAAC,CAACuR,SAAF,IAAe,OAAI,CAACpiC,IAApB,IAA4B6wB,CAAC,CAACoR,UAAF,IAAgB,yCAAhD;AAAA,aAAjC,EAA4H,CAA5H,OAA8H,IAA9H,IAA8H,aAA9H,GAA8H,MAA9H,GAA8H,GAAEM,UAA/K;;AAEA,gBAAG,CAAC,OAAI,CAACoT,uCAAT,EAAiD;AAE/C,qBAAI,CAACC,MAAL,GAAc,OAAI,CAACnC,kBAAL,CAAwBiD,aAAtC;AACD;AACF,WAVD;AAYA,iBAAOjE,OAAP;AACD;;;iDAEwB;AACvB,cAAIrpC,oBAAoB,GAAG,KAAK6hC,oBAAL,CAA0B,KAAKH,uBAA/B,CAA3B;AACA,cAAIzhC,kBAAkB,GAAG,KAAK4hC,oBAAL,CAA0B,KAAKF,qBAA/B,CAAzB;;AACA,cAAI1hC,kBAAkB,GAAGD,oBAAzB,EAA+C;AAC7C,iBAAK2hC,qBAAL,GAA6B,KAAKD,uBAAlC;AACD;AACF;;;6CAEoBI,O,EAAc;AACjC,cAAIA,OAAO,IAAI,IAAf,EAAqB;AACnB,mBAAO,IAAIh2C,IAAJ,CAASg2C,OAAO,CAAC9H,IAAjB,EAAuB8H,OAAO,CAAC7H,KAAR,GAAgB,CAAvC,EAA0C6H,OAAO,CAAC5H,GAAlD,CAAP;AACD;AACF;;;+CAGsB,CACtB;;;sCAGU;AAAA;;AAEP,eAAK8Q,kBAAL,CAAwB3uB,OAAxB,CAAgC,UAAAwiB,OAAO,EAAI;AACzC,gBAAMmQ,mBAAmB,GAAGnQ,OAAO,CAACoQ,cAAR,CAAuB13B,KAAvB,CAA6B,GAA7B,CAA5B;AACA23B,mBAAO,CAACC,GAAR,CAAYl0B,YAAY,CAACC,OAAb,CAAqB,QAArB,CAAZ;;AAEA,gBAAI8zB,mBAAmB,CAACpW,MAApB,CAA2B,UAAAnR,CAAC;AAAA,qBAAEA,CAAC,IAAExM,YAAY,CAACC,OAAb,CAAqB,QAArB,CAAL;AAAA,aAA5B,EAAiEtD,MAAjE,GAAwE,CAAxE,IAA4EinB,OAAO,CAACuQ,aAAR,IAAuBn0B,YAAY,CAACC,OAAb,CAAqB,QAArB,CAAvG,EACA;AACE2jB,qBAAO,CAACiQ,uCAAR,GAAgD,IAAhD;AACAjQ,qBAAO,CAAC0N,uCAAR,GAAgD,IAAhD;AACD,aAJD,MAMA;AACE1N,qBAAO,CAACiQ,uCAAR,GAAgD,OAAI,CAACA,uCAArD;AACAjQ,qBAAO,CAAC0N,uCAAR,GAAgD,OAAI,CAACA,uCAArD;AACD;AACF,WAdD;AAeH;;;;;;;uBA/VU6F,qB,EAAqB,gI,EAAA,uI,EAAA,kJ,EAAA,0I,EAAA,kK;AAAA,K;;;YAArBA,qB;AAAqB,wC;AAAA;AAAA;AAAA,O;AAAA,e;AAAA,c;AAAA,+wG;AAAA;AAAA;;;AClBlC;;AACE;;AACE;;AACE;;AAEE;;AAAgC;AAAA,mBAAY,IAAApP,QAAA,wBAAZ;AAAwC,WAAxC;;AAC9B;;AACE;;AACE;;AAAqD;;AAAc;;AACnE;;AACE;AAAA;AAAA;;AACA;;AAAgC;;AAAM;;AACtC;;AAGF;;AACF;;AAGA;;AACE;;AAAuD;;AAAO;;AAC9D;;AACE;AAAA;AAAA;;AACA;;AAAgC;;AAAM;;AACtC;;AAGF;;AACF;;AAEA;;AACE;;AAAgD;;AAAQ;;AACxD;;AAAoD;AAAA,mBAAW,IAAAiH,SAAA,QAAX;AAA4B,WAA5B,EAA6B,eAA7B,EAA6B;AAAA;AAAA,WAA7B;;AAApD;;AAEF;;AAEA;;AAQA;;AACE;;AACE;;AAC0B;AAAA,mBAAc,IAAAwB,eAAA,QAAd;AAAqC,WAArC;;AAD1B;;AAKA;;AAOF;;AACF;;AAGA;;AACE;;AAAqD;;AAAS;;AAC9D;;AACE;;AACE;;AAEE;AAAA;;AAAA;;AAAA,iDAAmC,IAAAC,aAAA,wCAAnC;AAA2F,WAA3F,EAA4F,OAA5F,EAA4F;AAAA;;AAAA;;AAAA,mBACnF,YADmF;AAChE,WAD5B;;AAFF;;AAIA;;AAEE;AAAA;;AAAA;;AAAA,+CAAiC,IAAAA,aAAA,sCAAjC;AAAqF,WAArF,EAAsF,OAAtF,EAAsF;AAAA;;AAAA;;AAAA,mBAC7E,YAD6E;AAC1D,WAD5B;;AAFF;;AAIF;;AACF;;AACF;;AAEA;;AAQA;;AACE;;AACA;;AAA2B;AAAA;AAAA;;AACzB;;AAAwC;;AAAU;;AACpD;;AACF;;AAEA;;AACE;;AACA;;AAAmF;;AAAO;;AAC5F;;AAEA;;AACE;;AACA;;AAAsB;AAAA,mBAAS,IAAAE,YAAA,EAAT;AAAuB,WAAvB;;AAA8E;;AACpG;;AACF;;AAEF;;AACA;;AAEE;;AACE;;AAA0B;;AAAW;;AACrC;;AAAiD;AAAA;AAAA,aAA6C,eAA7C,EAA6C;AAAA,mBAC3E,IAAAD,kBAAA,qCAD2E;AACxB,WADrB;;AAE/C;;AAAgC;;AAAM;;AACtC;;AAGF;;AACF;;AAEA;;AACE;;AAC0E;AAAA;AAAA;;AAC1E;;AAGA;;AACF;;AAEF;;AACF;;AACA;;AAgBG;;AAAkD;;AAAS;;AACxD;;AAAyC;AAAA;AAAA,aAAwB,QAAxB,EAAwB;AAAA,mBAAW,IAAAH,QAAA,EAAX;AAAqB,WAA7C;;AACzC;;AAAmB;;AAClB;;AAA0D;AAAA,mBAAS,IAAA5rB,MAAA,EAAT;AAAiB,WAAjB;;AAAmB;;AAE9E;;AAGN;;AAmBA;;AAGF;;AAEF;;AACF;;AACF;;AAGA;;AAA+E;AAAA,mBAAQ,IAAAisB,SAAA,QAAR;AAAyB,WAAzB;;AAE/E;;;;;;;;AA9KgB;;AAAA;;AACQ;;AAAA;;AACA;;AAAA;;AAUR;;AAAA;;AACQ;;AAAA;;AACA;;AAAA;;AASR;;AAAA;;AAGE;;AAAA;;AAWA;;AAAA,2FAAuB,eAAvB,EAAuB,CAAvB,EAAuB,aAAvB,EAAuB,GAAvB,EAAuB,WAAvB,EAAuB,2BAAvB,EAAuB,SAAvB,EAAuB,WAAvB,EAAuB,SAAvB,EAAuB,WAAvB,EAAuB,gBAAvB,EAAuB,IAAvB;;AAoBE;;AAAA;;AAIA;;AAAA;;AAiBqB;;AAAA;;AAqBsB;;AAAA;;AAEvC;;AAAA;;AACA;;AAAA;;AAOqB;;AAAA,uGAA+B,YAA/B,EAA+B,IAA/B,EAA+B,UAA/B,EAA+B,KAA/B,EAA+B,eAA/B,EAA+B,IAA/B,EAA+B,aAA/B,EAA+B,SAA/B,EAA+B,SAA/B,EAA+B,+BAA/B;;AA2BU;;AAAA;;AAOxC;;AAAA;;AAmBF;;AAAA;;AAUE;;AAAA,yFAAiB,WAAjB,EAAiB,aAAjB,EAAiB,UAAjB,EAAiB,YAAjB,EAAiB,iBAAjB,EAAiB,sEAAjB;;;;;;;;;sEDpKFuG,qB,EAAqB;cALjC,uDAKiC;eALvB;AACThqB,kBAAQ,EAAE,mBADD;AAETC,qBAAW,EAAE,gCAFJ;AAGTC,mBAAS,EAAE,CAAC,gCAAD;AAHF,S;AAKuB,Q;;;;;;;;;;;;;;gBAc/B;;;;;;;;;;;;;;;;;;;;AEhCH;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;ACyJoC;;AACE;;AACF;;;;;;AADE;;AAAA;;;;;;AASF;;AAEE;;AAAK;;AAAG;;AAAmC;;AAAK;;AAAG;;AAAC;;AAClD;;AAEF;;AACF;;;;;;AAJU;;AAAA;;AACN;;AAAA;;;;;;;;AAYN;;AAEE;AAAA;;AAAA;;AAAA;AAAA;;AACA;;AACF;;;;;;;;AAEA;;AAAkF;AAAA;;AAAA;;AAAA;AAAA;;AAChF;;AACF;;;;;;;;AACA;;AAAiF;AAAA;;AAAA;;AAAA;AAAA;;AAC/E;;AACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QDhLrBkqB,qB;AAIX,qCACUjb,QADV,EAEU/T,MAFV,EAGU0hB,eAHV,EAIUrhB,KAJV,EAKUJ,MALV,EAMUyX,WANV,EAMuC;AAAA;;AAL7B,aAAA3D,QAAA,GAAAA,QAAA;AACA,aAAA/T,MAAA,GAAAA,MAAA;AACA,aAAA0hB,eAAA,GAAAA,eAAA;AACA,aAAArhB,KAAA,GAAAA,KAAA;AACA,aAAAJ,MAAA,GAAAA,MAAA;AACA,aAAAyX,WAAA,GAAAA,WAAA,CAA6B,CAEvC;;AACA,aAAAQ,OAAA,GAAe,EAAf;AAIS,aAAApX,UAAA,GAAsB,KAAtB;AACA,aAAAmuB,oBAAA,GAAuB,IAAvB;AARiC;;;;mCAW/B;;;AACT,eAAK/L,WAAL,GAAmB,YAAK/6C,QAAL,MAAa,IAAb,IAAa,aAAb,GAAa,MAAb,GAAa,GAAE+6C,WAAf,IAA6B,CAAD,KAAC,KAAK/6C,QAAL,MAAa,IAAb,IAAa,aAAb,GAAa,MAAb,GAAa,GAAE+6C,WAA5C,GAA0D,KAA7E;AACA,eAAKoI,uCAAL,GAA+C,CAAH,KAAG,KAAKnjD,QAAL,MAAa,IAAb,IAAa,aAAb,GAAa,MAAb,GAAa,GAAEmjD,uCAA9D;AACA,eAAKvC,uCAAL,GAA+C,CAAH,KAAG,KAAK5gD,QAAL,MAAa,IAAb,IAAa,aAAb,GAAa,MAAb,GAAa,GAAE4gD,uCAA9D;AACA,eAAKjoB,UAAL,GAAiB,IAAjB;AACA,eAAKxK,UAAL,GAAkB,YAAKnuB,QAAL,MAAa,IAAb,IAAa,aAAb,GAAa,MAAb,GAAa,GAAEquB,UAAf,IAA4B,CAAD,KAAC,KAAKruB,QAAL,MAAa,IAAb,IAAa,aAAb,GAAa,MAAb,GAAa,GAAEquB,UAA3C,GAAwD,KAAK6J,KAAL,CAAWujB,QAAX,CAAoB0I,MAApB,CAA2B,IAA3B,CAA1E;AACA,eAAKE,eAAL,CAAqB,KAAKl2B,UAA1B;AACA,eAAKwK,UAAL,GAAiB,KAAjB;AACD;;;wCAEe/4B,E,EAAY;AAAA;;AAC1B,eAAK+4B,UAAL,GAAkB,IAAlB;AACA,eAAK4gB,eAAL,CAAqB8K,eAArB,CAAqCzkD,EAArC,EAAyCq5B,SAAzC,CAAmD,UAAAhJ,IAAI,EAAI;AACzD,mBAAI,CAAC8f,OAAL,GAAe9f,IAAf;AACA,mBAAI,CAAC0I,UAAL,GAAkB,KAAlB;AACD,WAHD,EAGG,UAAAsC,KAAK,EAAI;AACV,mBAAI,CAACnD,MAAL,CAAYmD,KAAZ,CAAkB,kCAAlB;;AACA,mBAAI,CAACtC,UAAL,GAAkB,KAAlB;AACD,WAND;AAOD;;;iCAEQxK,U,EAAY;AACnB,eAAK0J,MAAL,CAAYqC,QAAZ,CAAqB,CAAC,gBAAD,EAAmB/L,UAAnB,CAArB;AACA,eAAKohB,WAAL,CAAiB1B,KAAjB;AACD;;;iCAEQ;AACP,eAAKjC,QAAL,CAAcmR,IAAd;AACD;;;qCAEY;AACX,eAAKxN,WAAL,CAAiB1B,KAAjB,CAAuB,aAAvB;AACD;;;sCAGU;AAEP,cAAMwV,mBAAmB,GAAG,KAAKtT,OAAL,CAAauT,cAAb,CAA4B13B,KAA5B,CAAkC,GAAlC,CAA5B;AACA23B,iBAAO,CAACC,GAAR,CAAYl0B,YAAY,CAACC,OAAb,CAAqB,QAArB,CAAZ;;AAEA,cAAI8zB,mBAAmB,CAACpW,MAApB,CAA2B,UAAAnR,CAAC;AAAA,mBAAEA,CAAC,IAAExM,YAAY,CAACC,OAAb,CAAqB,QAArB,CAAL;AAAA,WAA5B,EAAiEtD,MAAjE,GAAwE,CAAxE,IAA4E,KAAK8jB,OAAL,CAAa0T,aAAb,IAA4Bn0B,YAAY,CAACC,OAAb,CAAqB,QAArB,CAA5G,EACA;AACE,iBAAKwgB,OAAL,CAAaoT,uCAAb,GAAqD,IAArD;AACA,iBAAKpT,OAAL,CAAa6Q,uCAAb,GAAqD,IAArD;AACD,WAJD,MAMA;AACE,iBAAK7Q,OAAL,CAAaoT,uCAAb,GAAqD,KAAKA,uCAA1D;AACA,iBAAKpT,OAAL,CAAa6Q,uCAAb,GAAqD,KAAKA,uCAA1D;AACD;AACJ;;;;;;;uBAvEUiG,qB,EAAqB,yH,EAAA,uH,EAAA,iJ,EAAA,+H,EAAA,yH,EAAA,0I;AAAA,K;;;YAArBA,qB;AAAqB,wC;AAAA;AAAA;AAAA;AAAA;AAAA,O;AAAA,gB;AAAA,c;AAAA,ssD;AAAA;AAAA;ACblC;;AAEA;;AACA;;AAGA;;AAEE;;AACE;;AACE;;AACE;;AACE;;AACE;;AACE;;AACE;;AACE;;AACE;;AAEE;;AACE;;AACE;;AACE;;AACE;;AACE;;AACE;;AACE;;AACF;;AACF;;AACF;;AACF;;AAEA;;AACE;;AACE;;AACE;;AAAuC;;AAChC;;AACP;;AACE;;AACF;;AAUF;;AAGA;;AACE;;AAAuC;;AAAM;;AAC7C;;AACE;;AACF;;AACA;;AACA;;AAAuC;;AAAQ;;AAC/C;;AACE;;AACF;;AACA;;AACF;;AAEA;;AACE;;AAAuC;;AAAO;;AAC9C;;AACE;;AACA;;AACE;;AAAK;;AAAkB;;AACzB;;AACF;;AACA;;AACA;;AAAuC;;AAChC;;AACP;;AACE;;AACE;;;;AACF;;AACF;;AACF;;AAGA;;AACE;;AAAuC;;AAC1B;;AACb;;AACE;;AACE;;;;AACF;;AACF;;AACA;;AACA;;AAAuC;;AACvB;;AAChB;;AACE;;AACE;;;;AACF;;AACF;;AACF;;AAEA;;AACE;;AAAuC;;AAAQ;;AAC/C;;AACE;;AACA;;AACE;;AAAK;;AAAmB;;AAC1B;;AACF;;AACA;;AACA;;AAAuC;;AACzB;;AACd;;AACE;;AACF;;AACF;;AAGA;;AAEE;;AAAuC;;AAAQ;;AAC/C;;AACE;;AACA;;AACE;;AAAK;;AAAoB;;AAC3B;;AACF;;AACA;;AACA;;AAAuC;;AACzB;;AACd;;AACE;;AACF;;AACF;;AAMA;;AACE;;AACE;;AAAY;;AACd;;AACE;;AACF;;AACF;;AAEA;;AAGE;;AAAuC;;AAAY;;AACnD;;AACE;;AAGF;;AAEA;;AAEA;;AAAuC;;AAAW;;AAElD;;AACE;;AAOF;;AAIF;;AACA;;AACA;;AAEE;;AAKA;;AACA;;AAGA;;AAGF;;AACF;;AACF;;AACF;;AACF;;AACF;;AACF;;AACF;;AACF;;AACF;;AACF;;AACF;;AACF;;AACF;;AACF;;AACF;;AACF;;AAEA;;AACA;;;;AAjNQ;;AAEH;;AAAA;;AACA;;AAAA;;AAGA;;AAAA;;AAM4B;;AAAA;;AA0BG;;AAAA;;AAiBA;;AAAA;;AAKA;;AAAA;;AAQA;;AAAA;;AAUE;;AAAA;;AAWA;;AAAA;;AAQA;;AAAA;;AAQF;;AAAA;;AASA;;AAAA;;AAMF;;AAAA;;AAGE;;AAAA;;AASA;;AAAA;;AAYA;;AAAA;;AASK;;AAAA;;AAWH;;AAAA;;AAYD;;AAAA;;AAEmB;;AAAA;;AAMd;;AAAA;;AAGA;;AAAA;;;;;;;;;;sED9K7BA,qB,EAAqB;cALjC,uDAKiC;eALvB;AACTpqB,kBAAQ,EAAE,mBADD;AAETC,qBAAW,EAAE,gCAFJ;AAGTC,mBAAS,EAAE,CAAC,gCAAD;AAHF,S;AAKuB,Q;;;;;;;;;;;;;;;;gBAgB/B;;;gBACA;;;gBACA;;;;;;;;;;;;;;;;;;;;AE9BH;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;;;ACkHgD;;AAA0C;;AAAQ;;;;;;AAAR;;AAAA;;;;;;;;;;;;AAK1C;;AACI;;AACI;;AACJ;;AACJ;;;;;;;;;AAHQ;;AAAA;;AACA;;AAAA;;;;;;AAHZ;;AACI;;AAKJ;;;;;;AALkB;;AAAA;;;;;;AAuCd;;AAAsC;;AAAW;;;;;;;;;;AACjD;;AACI;;AAE8B;;AAAyB;;AAC3D;;;;;;AAFQ;;AAAA;;AAC0B;;AAAA;;;;;;AAMlC;;AAAsC;;AAAY;;;;;;AAClD;;AAAuC;;;;AACvC;;;;;;AADuC;;AAAA;;;;;;AAMvC;;AAAsC;;AAAa;;;;;;AACnD;;AAAuC;;AAA2B;;;;;;AAA3B;;AAAA;;;;;;AAevC;;AAAsC;;AACtC;;;;;;AACA;;AAAuC;;AACvC;;;;;;AADuC;;AAAA;;;;;;AAYvC;;AAAsC;;AAAgB;;;;;;AACtD;;AACI;;AAAqC;;;;;;AAArC;;AAAA;;;;;;AAKJ;;AAAsC;;AACtC;;;;;;AACA;;AAAuC;;AACvC;;;;;;AADuC;;AAAA;;;;;;AAMvC;;AAAsC;;AAAe;;;;;;AACrD;;AAAuC;;AAA4B;;;;;;AAA5B;;AAAA;;;;;;AAKvC;;AAAsC;;AAAgB;;;;;;AACtD;;AAAuC;;AACvC;;;;;;AADuC;;AAAA;;;;;;AAMvC;;AAAsC;;AAA4B;;;;;;AAClE;;AACI;;AAA0C;;;;;;AAA1C;;AAAA;;;;;;AAMJ;;AAAsC;;AAAsC;;;;;;AAAtC;;AAAA;;;;;;AACtC;;AACI;;AACJ;;;;;;AADI;;AAAA;;;;;;AAMJ;;AAAsC;;AAAe;;;;;;AACrD;;AAAuC;;AACvC;;;;;;AADuC;;AAAA;;;;;;AAwBvC;;AAAsC;;AAAc;;;;;;AACpD;;AAAuC;;AAA4B;;;;;;AAA5B;;AAAA;;;;;;AAG3C;;;;;;AACA;;;;;;;;;;;;;;;;;;;QDxQ/BoqB,kC;AAEX,kDAAoB7uB,KAApB,EAAmD8uB,OAAnD,EAAmFC,uBAAnF,EAA6InvB,MAA7I,EAA4K8T,QAA5K,EACUxT,gBADV,EAC4C;AAAA;;AADxB,aAAAF,KAAA,GAAAA,KAAA;AAA+B,aAAA8uB,OAAA,GAAAA,OAAA;AAAgC,aAAAC,uBAAA,GAAAA,uBAAA;AAA0D,aAAAnvB,MAAA,GAAAA,MAAA;AAA+B,aAAA8T,QAAA,GAAAA,QAAA;AAClK,aAAAxT,gBAAA,GAAAA,gBAAA;AAGV,aAAAl0B,aAAA,GAA+B,IAAI,yEAAJ,EAA/B;AAEA,aAAAgjD,qBAAA,GAAgC,EAAhC;AAOA,aAAAC,gBAAA,GAA6B,CAAC,WAAD,EAAc,aAAd,EAA6B,aAA7B,EAA4C,iBAA5C,EAA+D,iBAA/D,EAAkF,oBAAlF,EAAwG,gBAAxG,EAA0H,iBAA1H,EAA6I,4BAA7I,EAA2K,gBAA3K,EAA6L,gBAA7L,EAA+M,eAA/M,CAA7B;AAZkD;;;;mCAkB1C;AACN,cAAMjuB,SAAS,GAAG,KAAKd,gBAAL,CAAsBe,SAAtB,EAAlB;AACA,eAAKiuB,wBAAL,GAAgCluB,SAAS,CAACkuB,wBAA1C;AACA,eAAKC,UAAL,GAAkB,KAAKnvB,KAAL,CAAWujB,QAAX,CAAoBC,WAApB,CAAgC,QAAhC,CAAlB;AACA,eAAK4L,0BAAL;AACA,eAAKC,oCAAL;AACA,eAAKC,uBAAL;AACD;;;qDAE4B;AAAA;;AAC3B,eAAK7uB,UAAL,GAAkB,IAAlB;AAEA,cAAIrK,WAAW,GAAG,EAAlB;AACAA,qBAAW,GAAG,QAAQ,KAAK+4B,UAA3B;AAEA,eAAKL,OAAL,CAAar6B,OAAb,CAAqB,UAArB,EAAiC,SAAjC,EAA4C2B,WAA5C,EAAyD2K,SAAzD,CAAmE,UAAChJ,IAAD,EAAe;AAChF,mBAAI,CAAC/rB,aAAL,GAAqB+rB,IAArB;AACA,mBAAI,CAAC0I,UAAL,GAAkB,KAAlB;AACD,WAHD,EAGG,UAAAsC,KAAK,EAAI;AACV,mBAAI,CAACnD,MAAL,CAAYmD,KAAZ,CAAkB,sBAAlB;;AACA,mBAAI,CAACtC,UAAL,GAAkB,KAAlB;AACD,WAND;AAOD;;;+DAEsC;AAAA;;AACrC,cAAIiY,IAAI,GAAG;AACT6W,wBAAY,EAAE,sCADL;AAET9L,oBAAQ,EAAE,KAAK0L;AAFN,WAAX;AAKA,eAAKJ,uBAAL,CAA6BS,aAA7B,CAA2C9W,IAA3C,EAAiD3X,SAAjD,CAA2D,UAAChJ,IAAD,EAAe;AACxE,mBAAI,CAAC03B,iBAAL,GAAyB,IAAI,0EAAJ,CAAuB13B,IAAvB,CAAzB;AACA,mBAAI,CAAC03B,iBAAL,CAAuBC,SAAvB,GAAmC,OAAI,CAACA,SAAxC;AACD,WAHD;AAID;;;kDAEyB;AAAA;;AACxB,cAAIhX,IAAI,GAAG;AACT6W,wBAAY,EAAE,iCADL;AAETj5B,wBAAY,EAAE,CAFL;AAGTmtB,oBAAQ,EAAE,KAAK0L;AAHN,WAAX;AAMA,eAAKJ,uBAAL,CAA6BS,aAA7B,CAA2C9W,IAA3C,EAAiD3X,SAAjD,CAA2D,UAAChJ,IAAD,EAAe;AACxE,mBAAI,CAAC43B,YAAL,GAAoB53B,IAApB;;AACA,gBAAG,OAAI,CAAC43B,YAAL,CAAkB57B,MAArB,EAA6B;AAC3B,qBAAI,CAAC67B,gBAAL,GAAwBx1B,MAAM,CAAC7yB,IAAP,CAAY,OAAI,CAACooD,YAAL,CAAkB,CAAlB,CAAZ,CAAxB;AACD,aAJuE,CAKzE;AACA;;AAEA,WARD;AASD;;;yCAGgB;AACf,eAAKjc,QAAL,CAAcmR,IAAd;AACD;;;;;;;uBA9EUgK,kC,EAAkC,+H,EAAA,6I,EAAA,kK,EAAA,yH,EAAA,yH,EAAA,oJ;AAAA,K;;;YAAlCA,kC;AAAkC,sD;AAAA;AAAA;;;;;;;;;;;;;;;AChB/C;;AAEI;;AACI;;AACI;;AACI;;AACI;;AAGI;;AACI;;AACI;;AACI;;AAAiC;;AAA2B;;AAChE;;AACJ;;AACA;;AAYJ;;AAIA;;AAGI;;AACI;;AACI;;AACI;;AACI;;AACI;;AACJ;;AACJ;;AACJ;;AACJ;;AACA;;AAEI;;AACI;;AAAuC;;AAAG;;AAAc;;AAAI;;AAC5D;;AACI;;AACJ;;AACA;;AACA;;AAAuC;;AAAG;;AAAa;;AAAI;;AAC3D;;AACI;;AACJ;;AACJ;;AAEA;;AACI;;AAAuC;;AAAG;;AAAqB;;AAAI;;AACnE;;AACI;;AACJ;;AACA;;AACA;;AAAuC;;AAAG;;AAAgB;;AAAI;;AAC9D;;AACI;;AACJ;;AACJ;;AAEA;;AACI;;AAAuC;;AAAG;;AAAK;;AAAI;;AACnD;;AACI;;AACJ;;AACA;;AACA;;AAAuC;;AAAG;;AAAM;;AAAI;;AACpD;;AACI;;AACJ;;AACJ;;AAEA;;AACI;;AAAuC;;AAAG;;AAAS;;AAAI;;AACvD;;AACI;;AACJ;;AACA;;AACA;;AAAuC;;AAAG;;AAAa;;AAAI;;AAC3D;;AACI;;AACJ;;AACJ;;AAGJ;;AACJ;;AAIA;;AACI;;AACI;;AACI;;AACI;;AACI;;AACJ;;AACJ;;AACJ;;AACJ;;AACA;;AACI;;AAEI;;AACI;;AACI;;AACJ;;AACJ;;AACA;;AACI;;AAOJ;;AACJ;;AACJ;;AACJ;;AAIA;;AACI;;AACI;;AACI;;AACI;;AACI;;AACJ;;AACJ;;AACJ;;AACA;;AACI;;AACI;;AACI;;AAC6B;;AAAW;;AAC5C;;AACJ;;AACJ;;AACJ;;AACA;;AAEI;;AACI;;AAII;;AACI;;AACA;;AAKJ;;AAGA;;AACI;;AACA;;AAEJ;;AAGA;;AACI;;AACA;;AACJ;;AAaA;;AACI;;AAEA;;AAEJ;;AASA;;AACI;;AACA;;AAEJ;;AAGA;;AACI;;AAEA;;AAEJ;;AAGA;;AACI;;AACA;;AACJ;;AAGA;;AACI;;AACA;;AAEJ;;AAGA;;AACI;;AACA;;AAEJ;;AAGA;;AAEI;;AACA;;AAGJ;;AAGA;;AACI;;AACA;;AAEJ;;AAqBA;;AACI;;AACA;;AACJ;;AAEA;;AACA;;AAEJ;;AAEA;;AACJ;;AAEJ;;AACJ;;AAKA;;AACI;;AACI;;AACI;;AACI;;AACI;;AACJ;;AACJ;;AACJ;;AACA;;AACI;;AACI;;AAAuD;;AAK/C;;AAAa;;AACrB;;AACJ;;AACJ;;AACJ;;AACA;;AACI;;AACI;;AAEJ;;AACJ;;AACJ;;AAIA;;AACI;;AACI;;AACI;;AACI;;AACI;;AACJ;;AACJ;;AACJ;;AACJ;;AACA;;AACI;;AAEJ;;AACJ;;AAKA;;AAC8B;AAAA,mBAAS,IAAAtB,cAAA,EAAT;AAAyB,WAAzB;;AAC1B;;AACJ;;AAEJ;;AAEJ;;AACJ;;AACJ;;AACJ;;AACJ;;AACJ;;;;AAlT4C;;AAAA;;AAKA;;AAAA;;AAOA;;AAAA;;AAKA;;AAAA;;AAOA;;AAAA;;AAKA;;AAAA;;AAOA;;AAAA;;AAKA;;AAAA;;AAyBQ;;AAAA;;AAIJ;;AAAA;;AAmCS;;AAAA;;AA6HM;;AAAA;;AACP;;AAAA;;AAIU;;AAAA;;AAuBd;;AAAA,yJAAgC,aAAhC,EAAgC,sFAAhC;;AASiB;;AAAA,gGAAwB,cAAxB,EAAwB,CAAxB;;AAoB7B;;AAAA,iGAAyB,aAAzB,EAAyB,qBAAzB;;;;;;;;;;sEDhU3BsB,kC,EAAkC;cAL9C,uDAK8C;eALpC;AACTtqB,kBAAQ,EAAE,iCADD;AAETC,qBAAW,EAAE,8CAFJ;AAGTC,mBAAS,EAAE,CAAC,8CAAD;AAHF,S;AAKoC,Q;;;;;;;;;;;;;;;;gBAmB5C,uD;iBAAU,W;;;;;;;;;;;;;;;;;;;;AElCb;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;QAUaorB,2B;AAEX,2CAAoBd,uBAApB,EAA8Erb,QAA9E,EAAkG;AAAA;;AAA9E,aAAAqb,uBAAA,GAAAA,uBAAA;AAA0D,aAAArb,QAAA,GAAAA,QAAA;AAE9E,aAAAub,gBAAA,GAA6B,CAAC,aAAD,EAAgB,cAAhB,EAAgC,YAAhC,CAA7B;AAFqG;;;;mCAO1F,CACT;AACD;;;0CAEiB;AAAA;;AAChB,cAAIl3B,IAAI,GAAG;AACTw3B,wBAAY,EAAE;AADL,WAAX;AAGA,eAAKR,uBAAL,CAA6BS,aAA7B,CAA2Cz3B,IAA3C,EAAiDgJ,SAAjD,CAA2D,UAAChJ,IAAD,EAAe;AACxE,mBAAI,CAAC+3B,UAAL,GAAkB,IAAI,0EAAJ,CAAuB/3B,IAAvB,CAAlB;AACA,mBAAI,CAAC+3B,UAAL,CAAgBJ,SAAhB,GAA4B,OAAI,CAACA,SAAjC;AACD,WAHD;AAID;;;;;;;uBArBUG,2B,EAA2B,kK,EAAA,yH;AAAA,K;;;YAA3BA,2B;AAA2B,8C;AAAA;AAAA;;;;;;;;;;;;;;ACXxC;;;;;;;;;sEDWaA,2B,EAA2B;cALvC,uDAKuC;eAL7B;AACTtrB,kBAAQ,EAAE,yBADD;AAETC,qBAAW,EAAE,sCAFJ;AAGTC,mBAAS,EAAE,CAAC,sCAAD;AAHF,S;AAK6B,Q;;;;;;;;gBAOrC,uD;iBAAU,W;;;;;;;;;;;;;;;;;;;;AElBb;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAaasrB,8B;AACX,8CAAoBC,gBAApB,EAA+D;AAAA;;AAA3C,aAAAA,gBAAA,GAAAA,gBAAA;AAOpB,aAAAC,YAAA,GAAoB,EAApB;AACA,aAAAC,UAAA,GAAkB,EAAlB;AARkE;;;;0CAUnD;AACb,cAAI7F,OAAO,GAAG;AACZkF,wBAAY,EAAE;AADF,WAAd;AAOA,eAAK1F,OAAL,CAAaQ,OAAb;AACD;;;oCAEQ;AAEL,cAAG,KAAKpU,IAAL,CAAU9b,IAAV,KAAmB,KAAK81B,YAAxB,IAAwC,KAAKha,IAAL,CAAUka,EAAV,KAAiB,KAAKD,UAAjE,EAA6E;AAE3E,gBAAI7F,OAAO,GAAG;AACZkF,0BAAY,EAAE,yBADF;AAEZ9Q,uBAAS,EAAE,KAAKxI,IAAL,CAAU9b,IAFT;AAGZykB,qBAAO,EAAE,KAAK3I,IAAL,CAAUka;AAHP,aAAd;AAMA,iBAAKF,YAAL,GAAoB,KAAKha,IAAL,CAAU9b,IAA9B;AACA,iBAAK+1B,UAAL,GAAkB,KAAKja,IAAL,CAAUka,EAA5B;AACA,iBAAKtG,OAAL,CAAaQ,OAAb;AACD;AACJ;;;gCAEOA,O,EAAS;AAAA;;AACf,eAAK+F,YAAL,GAAoB,KAAKJ,gBAAL,CAAsBR,aAAtB,CAAoCnF,OAApC,EAA6CtpB,SAA7C,CAClB,UAAAhJ,IAAI;AAAA,mBAAI,OAAI,CAACs4B,SAAL,CAAet4B,IAAf,CAAJ;AAAA,WADc,EAElB,UAAAu4B,GAAG;AAAA,mBAAIjF,OAAO,CAACC,GAAR,CAAYgF,GAAZ,CAAJ;AAAA,WAFe,CAApB;AAID;;;kCAESv4B,I,EAAW;AAAA;;AAEnB,4EAAiB,2EAAjB;;AAEA,cAAI0nB,KAAK,GAAG,gEAAe,6BAAf,EAA8C,kEAA9C,CAAZ,CAJmB,CAMnB;;;AACAA,eAAK,CAAC1nB,IAAN,GAAa,KAAKi4B,gBAAL,CAAsBO,kBAAtB,CACX,WADW,EAEX,eAFW,EAGX,oBAHW,EAIXx4B,IAJW,CAAb,CAPmB,CAcnB;;AACA,cAAIy4B,YAAY,GAAG/Q,KAAK,CAACgR,KAAN,CAAY93B,IAAZ,CAAiB,IAAI,uEAAJ,EAAjB,CAAnB;AACA63B,sBAAY,CAACjQ,UAAb,CAAwB3mB,QAAxB,GAAmC,WAAnC;AACA42B,sBAAY,CAAC5yB,KAAb,CAAmBijB,IAAnB,GAA0B,OAA1B;AACA2P,sBAAY,CAAC5yB,KAAb,CAAmB8yB,QAAnB,GAA8B,MAA9B;AACAF,sBAAY,CAAC5yB,KAAb,CAAmB+yB,UAAnB,GAAgC,MAAhC;AACAH,sBAAY,CAAC5yB,KAAb,CAAmBgzB,MAAnB,CAA0B,EAA1B,EAA8B,EAA9B,EAAkC,EAAlC,EAAsC,EAAtC;AACAJ,sBAAY,CAACK,QAAb,CAAsBC,iBAAtB,GAA0C,GAA1C;AACAN,sBAAY,CAACK,QAAb,CAAsBE,eAAtB,GAAwC,GAAxC,CAtBmB,CAwBnB;;AACA,cAAIC,SAAS,GAAGvR,KAAK,CAACwR,KAAN,CAAYt4B,IAAZ,CAAiB,IAAI,oEAAJ,EAAjB,CAAhB;AACAq4B,mBAAS,CAACpzB,KAAV,CAAgBijB,IAAhB,GAAuB,OAAvB;AACAmQ,mBAAS,CAACpzB,KAAV,CAAgB8yB,QAAhB,GAA2B,MAA3B;AACAM,mBAAS,CAACpzB,KAAV,CAAgB+yB,UAAhB,GAA6B,MAA7B;AAGA,cAAI12B,WAAW,GAAG,KAAK+1B,gBAAL,CAAsBt2B,gBAAtB,CAAuC,oBAAvC,EAA6D3B,IAA7D,CAAlB;AAEAkC,qBAAW,CAACzB,OAAZ,CAAoB,UAAC04B,UAAD,EAAa1M,KAAb,EAAuB;AACzC,gBAAI2M,WAAW,GAAG,OAAI,CAACnB,gBAAL,CAAsB92B,YAAtB,CAAmCsrB,KAAnC,CAAlB;AACA4M,wBAAY,CAACF,UAAD,EAAaC,WAAb,CAAZ;AACD,WAHD,EAjCmB,CAsCnB;;AACA,mBAASC,YAAT,CAAsBC,KAAtB,EAAkC5G,KAAlC,EAA8C;AAC5C,gBAAIrK,MAAM,GAAGX,KAAK,CAACW,MAAN,CAAaznB,IAAb,CAAkB,IAAI,uEAAJ,EAAlB,CAAb;AACAynB,kBAAM,CAAC/rB,IAAP,GAAcg9B,KAAd;AACAjR,kBAAM,CAACkR,OAAP,CAAe1Q,QAAf,CAAwBG,WAAxB,GAAsC,wDAAtC;AACAX,kBAAM,CAACkR,OAAP,CAAe1Q,QAAf,CAAwBzd,KAAxB,GAAgC,iEAAgB,EAAhB,CAAhC;AAEAid,kBAAM,CAACkR,OAAP,CAAe1Q,QAAf,CAAwBzkB,IAAxB,GAA+BsuB,KAA/B;AACArK,kBAAM,CAACkR,OAAP,CAAe1Q,QAAf,CAAwB2Q,MAAxB,GAAiC,+DAAc9G,KAAd,CAAjC;AAEArK,kBAAM,CAACG,UAAP,CAAkBiR,MAAlB,GAA2BH,KAA3B;AACAjR,kBAAM,CAACG,UAAP,CAAkBkR,SAAlB,GAA8B,WAA9B;AACD,WAlDkB,CAoDnB;AACA;AACA;;;AAEAhS,eAAK,CAACiS,MAAN,GAAe,IAAI,iEAAJ,EAAf;AAEAjS,eAAK,CAACkS,UAAN,GAAmB,IAAI,kEAAJ,EAAnB,CA1DmB,CA4DnB;AACA;AACA;;AAEA,eAAKlS,KAAL,GAAaA,KAAb;AACD;;;sCAEU;AACT,cAAI,KAAK2Q,YAAT,EAAuB,KAAKA,YAAL,CAAkBwB,WAAlB;AACvB,cAAI,KAAKnS,KAAT,EAAgB,KAAKA,KAAL,CAAWoS,OAAX;AACjB;;;;;;;uBAnHU9B,8B,EAA8B,kK;AAAA,K;;;YAA9BA,8B;AAA8B,mD;AAAA;AAAA;AAAA,O;AAAA,c;AAAA,a;AAAA,kW;AAAA;AAAA;ACb3C;;AACI;;AACI;;AACI;;AACI;;AACI;;AACJ;;AACJ;;AACJ;;AACJ;;AACA;;AACI;;AAGI;;AACJ;;AACJ;;AACJ;;;;;;;;sEDJaA,8B,EAA8B;cAL1C,uDAK0C;eALhC;AACTxrB,kBAAQ,EAAE,8BADD;AAETC,qBAAW,EAAE,2CAFJ;AAGTC,mBAAS,EAAE,CAAC,2CAAD;AAHF,S;AAKgC,Q;;;;;;gBAMxC;;;;;;;;;;;;;;;;;;;;AEnBH;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAOaqtB,0B;AAUX,4CAAc;AAAA;;AAHd,aAAA7b,IAAA,GAAY,EAAZ;AACA,aAAA8b,OAAA,GAAmB,KAAnB;AAEiB;;;;mCAET;AACN,eAAKtxB,UAAL,GAAkB,IAAlB;AACD;;;0CACc;AACb,eAAKA,UAAL,GAAkB,KAAlB;AACD;;;uCAEc;AACb,cAAI,KAAKuxB,QAAL,IAAiB,KAAKC,MAA1B,EAAkC;AAChC,gBAAI,IAAIhqD,IAAJ,CAAS,KAAK+pD,QAAd,KAA2B,IAAI/pD,IAAJ,CAAS,KAAKgqD,MAAd,CAA/B,EAAsD;AACpD,mBAAKhc,IAAL,CAAU9b,IAAV,GAAiB,KAAK63B,QAAtB;AACA,mBAAK/b,IAAL,CAAUka,EAAV,GAAe,KAAK8B,MAApB;AACA,mBAAKF,OAAL,GAAe,IAAf;AACD;AACF;AACF;;;wCAEe;AACd,cAAG,KAAKA,OAAL,IAAiB,KAAKC,QAAL,IAAiB,KAAKC,MAA1C,EAAmD;AACjD,iBAAKD,QAAL,GAAgB,EAAhB;AACA,iBAAKC,MAAL,GAAc,EAAd;AACA,iBAAKhc,IAAL,CAAU9b,IAAV,GAAiB,KAAK63B,QAAtB;AACA,iBAAK/b,IAAL,CAAUka,EAAV,GAAe,KAAK8B,MAApB;AACD,WALD,MAMK;AACH,iBAAKD,QAAL,GAAgB,EAAhB;AACA,iBAAKC,MAAL,GAAc,EAAd;AACD;AACF;;;;;;;uBAxCUH,0B;AAA0B,K;;;YAA1BA,0B;AAA0B,6C;AAAA,e;AAAA,a;AAAA,0rC;AAAA;AAAA;ACPvC;;AAEA;;AAEI;;AAEI;;AAEI;;AAEI;;AACI;;AACI;;AACI;;AAEI;;AACI;;AACI;;AAAI;;AAAU;;AAClB;;AACA;;AACI;;AAC8B;AAAA;AAAA;;AAD9B;;AAEJ;;AACJ;;AAEA;;AACI;;AACI;;AAAI;;AAAQ;;AAChB;;AACA;;AACI;;AAC8B;AAAA;AAAA;;AAD9B;;AAEJ;;AACJ;;AAEA;;AACI;;AAGI;AAAA,mBAAS,IAAAI,YAAA,EAAT;AAAuB,WAAvB;;AACA;;AACJ;;AACA;;AAGI;AAAA,mBAAS,IAAAC,aAAA,EAAT;AAAwB,WAAxB;;AACA;;AACJ;;AACJ;;AAEJ;;AACJ;;AACJ;;AACJ;;AAIA;;AAEI;;AACI;;AACJ;;AAEA;;AACI;;AACJ;;AAEA;;AACI;;AACJ;;AAMJ;;AACJ;;AACJ;;AACJ;;AACJ;;;;AA/EQ;;AAqB8D;;AAAA;;AAUA;;AAAA;;AA6BV;;AAAA;;AAID;;AAAA;;AAIL;;AAAA;;;;;;;;;sED7DzCL,0B,EAA0B;cALtC,uDAKsC;eAL5B;AACTvtB,kBAAQ,EAAE,wBADD;AAETC,qBAAW,EAAE,qCAFJ;AAGTC,mBAAS,EAAE,CAAC,qCAAD;AAHF,S;AAK4B,Q;;;;;;;;;;;;;;;;;;;;AEPvC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAYa2tB,mC;AAEX,mDAAoBpC,gBAApB,EAA+D;AAAA;;AAA3C,aAAAA,gBAAA,GAAAA,gBAAA;AAA8C;;;;0CAUnD;AACb,cAAI3F,OAAO,GAAG;AACZkF,wBAAY,EAAE;AADF,WAAd;AAGA,eAAK1F,OAAL,CAAaQ,OAAb;AACD;;;oCAEQ;AACP,cAAG,KAAKpU,IAAL,CAAU9b,IAAV,KAAmB,KAAK81B,YAAxB,IAAwC,KAAKha,IAAL,CAAUka,EAAV,KAAiB,KAAKD,UAAjE,EAA6E;AAE3E,gBAAI7F,OAAO,GAAG;AACZkF,0BAAY,EAAE,wBADF;AAEZ9Q,uBAAS,EAAE,KAAKxI,IAAL,CAAU9b,IAFT;AAGZykB,qBAAO,EAAE,KAAK3I,IAAL,CAAUka;AAHP,aAAd;AAMA,iBAAKF,YAAL,GAAoB,KAAKha,IAAL,CAAU9b,IAA9B;AACA,iBAAK+1B,UAAL,GAAkB,KAAKja,IAAL,CAAUka,EAA5B;AACA,iBAAKtG,OAAL,CAAaQ,OAAb;AACD;AACF;;;gCAEOA,O,EAAS;AAAA;;AACf,eAAK2F,gBAAL,CAAsBR,aAAtB,CAAoCnF,OAApC,EAA6CtpB,SAA7C,CACE,UAAAhJ,IAAI;AAAA,mBAAI,OAAI,CAACs4B,SAAL,CAAet4B,IAAf,CAAJ;AAAA,WADN,EAEE,UAAAu4B,GAAG;AAAA,mBAAIjF,OAAO,CAACC,GAAR,CAAYgF,GAAZ,CAAJ;AAAA,WAFL;AAID;;;kCAESv4B,I,EAAW;AAAA;;AAEnB,4EAAiB,2EAAjB;;AAEA,cAAI0nB,KAAK,GAAG,gEAAe,4BAAf,EAA6C,kEAA7C,CAAZ,CAJmB,CAMnB;;;AACAA,eAAK,CAAC1nB,IAAN,GAAa,KAAKi4B,gBAAL,CAAsBO,kBAAtB,CACX,oBADW,EAEX,eAFW,EAGX,kBAHW,EAIXx4B,IAJW,CAAb,CAPmB,CAcnB;;AACA,cAAIy4B,YAAY,GAAG/Q,KAAK,CAACgR,KAAN,CAAY93B,IAAZ,CAAiB,IAAI,uEAAJ,EAAjB,CAAnB;AACA63B,sBAAY,CAACjQ,UAAb,CAAwB3mB,QAAxB,GAAmC,oBAAnC;AACA42B,sBAAY,CAAC5yB,KAAb,CAAmBijB,IAAnB,GAA0B,QAA1B;AACA2P,sBAAY,CAAC5yB,KAAb,CAAmB8yB,QAAnB,GAA8B,MAA9B;AACAF,sBAAY,CAAC5yB,KAAb,CAAmB+yB,UAAnB,GAAgC,MAAhC;AACAH,sBAAY,CAAC5yB,KAAb,CAAmBgzB,MAAnB,CAA0B,EAA1B,EAA8B,EAA9B,EAAkC,EAAlC,EAAsC,EAAtC;AACAJ,sBAAY,CAACK,QAAb,CAAsBC,iBAAtB,GAA0C,GAA1C;AACAN,sBAAY,CAACK,QAAb,CAAsBE,eAAtB,GAAwC,GAAxC,CAtBmB,CAwBnB;;AACA,cAAIC,SAAS,GAAGvR,KAAK,CAACwR,KAAN,CAAYt4B,IAAZ,CAAiB,IAAI,oEAAJ,EAAjB,CAAhB;AACAq4B,mBAAS,CAACpzB,KAAV,CAAgBijB,IAAhB,GAAuB,OAAvB;AACAmQ,mBAAS,CAACpzB,KAAV,CAAgB8yB,QAAhB,GAA2B,MAA3B;AACAM,mBAAS,CAACpzB,KAAV,CAAgB+yB,UAAhB,GAA6B,MAA7B;AAGA,cAAI12B,WAAW,GAAG,KAAK+1B,gBAAL,CAAsBt2B,gBAAtB,CAAuC,kBAAvC,EAA2D3B,IAA3D,CAAlB;AAEAkC,qBAAW,CAACzB,OAAZ,CAAoB,UAAC04B,UAAD,EAAa1M,KAAb,EAAuB;AACzC,gBAAI2M,WAAW,GAAG,OAAI,CAACnB,gBAAL,CAAsB92B,YAAtB,CAAmCsrB,KAAnC,CAAlB;AACA4M,wBAAY,CAACF,UAAD,EAAaC,WAAb,CAAZ;AACD,WAHD,EAjCmB,CAsCnB;;AACA,mBAASC,YAAT,CAAsBC,KAAtB,EAAkC5G,KAAlC,EAA8C;AAC5C,gBAAIrK,MAAM,GAAGX,KAAK,CAACW,MAAN,CAAaznB,IAAb,CAAkB,IAAI,uEAAJ,EAAlB,CAAb;AACAynB,kBAAM,CAAC/rB,IAAP,GAAcg9B,KAAd;AACAjR,kBAAM,CAACkR,OAAP,CAAe1Q,QAAf,CAAwBG,WAAxB,GAAsC,wDAAtC;AACAX,kBAAM,CAACkR,OAAP,CAAe1Q,QAAf,CAAwBzd,KAAxB,GAAgC,iEAAgB,EAAhB,CAAhC;AAEAid,kBAAM,CAACkR,OAAP,CAAe1Q,QAAf,CAAwBzkB,IAAxB,GAA+BsuB,KAA/B;AACArK,kBAAM,CAACkR,OAAP,CAAe1Q,QAAf,CAAwB2Q,MAAxB,GAAiC,+DAAc9G,KAAd,CAAjC;AAEArK,kBAAM,CAACG,UAAP,CAAkBiR,MAAlB,GAA2BH,KAA3B;AACAjR,kBAAM,CAACG,UAAP,CAAkBkR,SAAlB,GAA8B,oBAA9B;AACD;;AAEDhS,eAAK,CAACiS,MAAN,GAAe,IAAI,iEAAJ,EAAf;AAEA,eAAKjS,KAAL,GAAaA,KAAb;AACD;;;sCAEU;AACT,cAAG,KAAK2Q,YAAR,EAAsB,KAAKA,YAAL,CAAkBwB,WAAlB;AACtB,cAAG,KAAKnS,KAAR,EAAe,KAAKA,KAAL,CAAWoS,OAAX;AAChB;;;;;;;uBArGUO,mC,EAAmC,kK;AAAA,K;;;YAAnCA,mC;AAAmC,yD;AAAA;AAAA;AAAA,O;AAAA,c;AAAA,a;AAAA,iW;AAAA;AAAA;ACZhD;;AACI;;AACI;;AACI;;AACI;;AACI;;AACJ;;AACJ;;AACJ;;AACJ;;AACA;;AACI;;AAII;;AACJ;;AACJ;;AACJ;;;;;;;;sEDNaA,mC,EAAmC;cAL/C,uDAK+C;eALrC;AACT7tB,kBAAQ,EAAE,oCADD;AAETC,qBAAW,EAAE,iDAFJ;AAGTC,mBAAS,EAAE,CAAC,iDAAD;AAHF,S;AAKqC,Q;;;;;;gBAO7C;;;;;;;;;;;;;;;;;;;;AEnBH;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAca4tB,kC;AAEX,kDAAoBrC,gBAApB,EAA+D;AAAA;;AAA3C,aAAAA,gBAAA,GAAAA,gBAAA;AAA8C;;;;0CAUnD;AACb,cAAI3F,OAAO,GAAG;AACZkF,wBAAY,EAAE;AADF,WAAd;AAGA,eAAK1F,OAAL,CAAaQ,OAAb;AACD;;;oCAEQ;AACP,cAAG,KAAKpU,IAAL,CAAU9b,IAAV,KAAmB,KAAK81B,YAAxB,IAAwC,KAAKha,IAAL,CAAUka,EAAV,KAAiB,KAAKD,UAAjE,EAA6E;AAE3E,gBAAI7F,OAAO,GAAG;AACZkF,0BAAY,EAAE,wBADF;AAEZ9Q,uBAAS,EAAE,KAAKxI,IAAL,CAAU9b,IAFT;AAGZykB,qBAAO,EAAE,KAAK3I,IAAL,CAAUka;AAHP,aAAd;AAMA,iBAAKF,YAAL,GAAoB,KAAKha,IAAL,CAAU9b,IAA9B;AACA,iBAAK+1B,UAAL,GAAkB,KAAKja,IAAL,CAAUka,EAA5B;AACA,iBAAKtG,OAAL,CAAaQ,OAAb;AACD;AACF;;;gCAEOA,O,EAAS;AAAA;;AACf,eAAK+F,YAAL,GAAoB,KAAKJ,gBAAL,CAAsBR,aAAtB,CAAoCnF,OAApC,EAA6CtpB,SAA7C,CAClB,UAAAhJ,IAAI;AAAA,mBAAI,OAAI,CAACs4B,SAAL,CAAet4B,IAAf,CAAJ;AAAA,WADc,EAElB,UAAAu4B,GAAG;AAAA,mBAAIjF,OAAO,CAACC,GAAR,CAAYgF,GAAZ,CAAJ;AAAA,WAFe,CAApB;AAID;;;kCAESv4B,I,EAAM;AAAA;;AAEd,4EAAiB,2EAAjB;;AAEA,cAAI0nB,KAAK,GAAG,gEAAe,2BAAf,EAA4C,kEAA5C,CAAZ,CAJc,CAMd;;;AACAA,eAAK,CAAC1nB,IAAN,GAAa,KAAKi4B,gBAAL,CAAsBO,kBAAtB,CACX,WADW,EAEX,eAFW,EAGX,kBAHW,EAIXx4B,IAJW,CAAb,CAPc,CAcd;;AACA,cAAIy4B,YAAY,GAAG/Q,KAAK,CAACgR,KAAN,CAAY93B,IAAZ,CAAiB,IAAI,uEAAJ,EAAjB,CAAnB;AACA63B,sBAAY,CAACjQ,UAAb,CAAwB3mB,QAAxB,GAAmC,WAAnC;AACA42B,sBAAY,CAAC5yB,KAAb,CAAmBijB,IAAnB,GAA0B,OAA1B;AACA2P,sBAAY,CAAC5yB,KAAb,CAAmB8yB,QAAnB,GAA8B,MAA9B;AACAF,sBAAY,CAAC5yB,KAAb,CAAmB+yB,UAAnB,GAAgC,MAAhC;AACAH,sBAAY,CAAC5yB,KAAb,CAAmBgzB,MAAnB,CAA0B,EAA1B,EAA8B,EAA9B,EAAkC,EAAlC,EAAsC,EAAtC;AACAJ,sBAAY,CAACK,QAAb,CAAsBC,iBAAtB,GAA0C,GAA1C;AACAN,sBAAY,CAACK,QAAb,CAAsBE,eAAtB,GAAwC,GAAxC,CAtBc,CAwBd;;AACA,cAAIC,SAAS,GAAGvR,KAAK,CAACwR,KAAN,CAAYt4B,IAAZ,CAAiB,IAAI,oEAAJ,EAAjB,CAAhB;AACAq4B,mBAAS,CAACpzB,KAAV,CAAgBijB,IAAhB,GAAuB,OAAvB;AACAmQ,mBAAS,CAACpzB,KAAV,CAAgB8yB,QAAhB,GAA2B,MAA3B;AACAM,mBAAS,CAACpzB,KAAV,CAAgB+yB,UAAhB,GAA6B,MAA7B;AAGA,cAAI12B,WAAW,GAAG,KAAK+1B,gBAAL,CAAsBt2B,gBAAtB,CAAuC,kBAAvC,EAA2D3B,IAA3D,CAAlB;AAEAkC,qBAAW,CAACzB,OAAZ,CAAoB,UAAC04B,UAAD,EAAa1M,KAAb,EAAuB;AACzC,gBAAI2M,WAAW,GAAG,OAAI,CAACnB,gBAAL,CAAsB92B,YAAtB,CAAmCsrB,KAAnC,CAAlB;AACA4M,wBAAY,CAACF,UAAD,EAAaC,WAAb,CAAZ;AACD,WAHD,EAjCc,CAsCd;;AACA,mBAASC,YAAT,CAAsBC,KAAtB,EAAkC5G,KAAlC,EAA8C;AAC5C,gBAAIrK,MAAM,GAAGX,KAAK,CAACW,MAAN,CAAaznB,IAAb,CAAkB,IAAI,uEAAJ,EAAlB,CAAb;AACAynB,kBAAM,CAAC/rB,IAAP,GAAcg9B,KAAd;AACAjR,kBAAM,CAACkR,OAAP,CAAe1Q,QAAf,CAAwBG,WAAxB,GAAsC,wDAAtC;AACAX,kBAAM,CAACkR,OAAP,CAAe1Q,QAAf,CAAwBzd,KAAxB,GAAgC,iEAAgB,EAAhB,CAAhC;AAEAid,kBAAM,CAACkR,OAAP,CAAe1Q,QAAf,CAAwBzkB,IAAxB,GAA+BsuB,KAA/B;AACArK,kBAAM,CAACkR,OAAP,CAAe1Q,QAAf,CAAwB2Q,MAAxB,GAAiC,+DAAc9G,KAAd,CAAjC;AAEArK,kBAAM,CAACG,UAAP,CAAkBiR,MAAlB,GAA2BH,KAA3B;AACAjR,kBAAM,CAACG,UAAP,CAAkBkR,SAAlB,GAA8B,WAA9B;AACD;;AAGDhS,eAAK,CAACiS,MAAN,GAAe,IAAI,iEAAJ,EAAf;AAEAjS,eAAK,CAACkS,UAAN,GAAmB,IAAI,kEAAJ,EAAnB,CAvDc,CAyDd;AACA;AACA;;AAEA,eAAKlS,KAAL,GAAaA,KAAb;AACD;;;sCAEU;AACT,cAAG,KAAK2Q,YAAR,EAAsB,KAAKA,YAAL,CAAkBwB,WAAlB;AACtB,cAAG,KAAKnS,KAAR,EAAe,KAAKA,KAAL,CAAWoS,OAAX;AAChB;;;;;;;uBA5GUQ,kC,EAAkC,kK;AAAA,K;;;YAAlCA,kC;AAAkC,wD;AAAA;AAAA;AAAA,O;AAAA,c;AAAA,a;AAAA,gW;AAAA;AAAA;ACd/C;;AACI;;AACI;;AACI;;AACI;;AACI;;AACJ;;AACJ;;AACJ;;AACJ;;AACA;;AACI;;AAGI;;AACJ;;AACJ;;AACJ;;;;;;;;sEDHaA,kC,EAAkC;cAL9C,uDAK8C;eALpC;AACT9tB,kBAAQ,EAAE,mCADD;AAETC,qBAAW,EAAE,gDAFJ;AAGTC,mBAAS,EAAE,CAAC,gDAAD;AAHF,S;AAKoC,Q;;;;;;gBAO5C;;;;;;;;;;;;;;;;;;;;AErBH;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAea6tB,mC;AAEX,mDAAoBtC,gBAApB,EAA+D;AAAA;;AAA3C,aAAAA,gBAAA,GAAAA,gBAAA;AAA8C;;;;0CAUnD;AACb,cAAI3F,OAAO,GAAG;AACZkF,wBAAY,EAAE;AADF,WAAd;AAGA,eAAK1F,OAAL,CAAaQ,OAAb;AACD;;;oCAEQ;AACP,cAAG,KAAKpU,IAAL,CAAU9b,IAAV,KAAmB,KAAK81B,YAAxB,IAAwC,KAAKha,IAAL,CAAUka,EAAV,KAAiB,KAAKD,UAAjE,EAA6E;AAE3E,gBAAI7F,OAAO,GAAG;AACZkF,0BAAY,EAAE,wBADF;AAEZ9Q,uBAAS,EAAE,KAAKxI,IAAL,CAAU9b,IAFT;AAGZykB,qBAAO,EAAE,KAAK3I,IAAL,CAAUka;AAHP,aAAd;AAMA,iBAAKF,YAAL,GAAoB,KAAKha,IAAL,CAAU9b,IAA9B;AACA,iBAAK+1B,UAAL,GAAkB,KAAKja,IAAL,CAAUka,EAA5B;AACA,iBAAKtG,OAAL,CAAaQ,OAAb;AACD;AACF;;;gCAEOA,O,EAAS;AAAA;;AACf,eAAK2F,gBAAL,CAAsBR,aAAtB,CAAoCnF,OAApC,EAA6CtpB,SAA7C,CACE,UAAAhJ,IAAI;AAAA,mBAAI,OAAI,CAACs4B,SAAL,CAAet4B,IAAf,CAAJ;AAAA,WADN,EAEE,UAAAu4B,GAAG;AAAA,mBAAIjF,OAAO,CAACC,GAAR,CAAYgF,GAAZ,CAAJ;AAAA,WAFL;AAID;;;kCAESv4B,I,EAAW;AAAA;;AACnB,4EAAiB,2EAAjB;;AAEA,cAAI0nB,KAAK,GAAG,gEAAe,4BAAf,EAA6C,kEAA7C,CAAZ,CAHmB,CAKnB;;;AACAA,eAAK,CAAC1nB,IAAN,GAAa,KAAKi4B,gBAAL,CAAsBO,kBAAtB,CACX,kBADW,EAEX,eAFW,EAGX,oBAHW,EAIXx4B,IAJW,CAAb;AAOA,cAAIy4B,YAAY,GAAG/Q,KAAK,CAACgR,KAAN,CAAY93B,IAAZ,CAAiB,IAAI,uEAAJ,EAAjB,CAAnB;AACA63B,sBAAY,CAACjQ,UAAb,CAAwB3mB,QAAxB,GAAmC,kBAAnC;AAEA42B,sBAAY,CAAC5yB,KAAb,CAAmBijB,IAAnB,GAA0B,MAA1B;AACA2P,sBAAY,CAAC5yB,KAAb,CAAmB8yB,QAAnB,GAA8B,MAA9B;AACAF,sBAAY,CAAC5yB,KAAb,CAAmB+yB,UAAnB,GAAgC,MAAhC;AACAH,sBAAY,CAAC5yB,KAAb,CAAmBgzB,MAAnB,CAA0B,EAA1B,EAA8B,EAA9B,EAAkC,EAAlC,EAAsC,EAAtC;AACAJ,sBAAY,CAACK,QAAb,CAAsBC,iBAAtB,GAA0C,GAA1C;AACAN,sBAAY,CAACK,QAAb,CAAsBE,eAAtB,GAAwC,GAAxC;AAEA,cAAIC,SAAS,GAAGvR,KAAK,CAACwR,KAAN,CAAYt4B,IAAZ,CAAiB,IAAI,oEAAJ,EAAjB,CAAhB;AACAq4B,mBAAS,CAACpzB,KAAV,CAAgBijB,IAAhB,GAAuB,OAAvB;AACAmQ,mBAAS,CAACpzB,KAAV,CAAgB8yB,QAAhB,GAA2B,MAA3B;AACAM,mBAAS,CAACpzB,KAAV,CAAgB+yB,UAAhB,GAA6B,MAA7B;AAGA,cAAI12B,WAAW,GAAG,KAAK+1B,gBAAL,CAAsBt2B,gBAAtB,CAAuC,oBAAvC,EAA6D3B,IAA7D,CAAlB;AAEAkC,qBAAW,CAACzB,OAAZ,CAAoB,UAAC04B,UAAD,EAAa1M,KAAb,EAAuB;AACzC,gBAAI2M,WAAW,GAAG,OAAI,CAACnB,gBAAL,CAAsB92B,YAAtB,CAAmCsrB,KAAnC,CAAlB;AACA4M,wBAAY,CAACF,UAAD,EAAaC,WAAb,CAAZ;AACD,WAHD,EA/BmB,CAoCnB;;AACA,mBAASC,YAAT,CAAsBC,KAAtB,EAAkC5G,KAAlC,EAA8C;AAC5C,gBAAIrK,MAAM,GAAGX,KAAK,CAACW,MAAN,CAAaznB,IAAb,CAAkB,IAAI,uEAAJ,EAAlB,CAAb;AACAynB,kBAAM,CAAC/rB,IAAP,GAAcg9B,KAAd;AACAjR,kBAAM,CAACkR,OAAP,CAAe1Q,QAAf,CAAwBG,WAAxB,GAAsC,wDAAtC;AACAX,kBAAM,CAACkR,OAAP,CAAe1Q,QAAf,CAAwBzd,KAAxB,GAAgC,iEAAgB,EAAhB,CAAhC;AAEAid,kBAAM,CAACkR,OAAP,CAAe1Q,QAAf,CAAwBzkB,IAAxB,GAA+BsuB,KAA/B;AACArK,kBAAM,CAACkR,OAAP,CAAe1Q,QAAf,CAAwB2Q,MAAxB,GAAiC,+DAAc9G,KAAd,CAAjC;AAEArK,kBAAM,CAACG,UAAP,CAAkBiR,MAAlB,GAA2BH,KAA3B;AACAjR,kBAAM,CAACG,UAAP,CAAkBkR,SAAlB,GAA8B,kBAA9B;AACD;;AAGDhS,eAAK,CAACiS,MAAN,GAAe,IAAI,iEAAJ,EAAf;AAEA,eAAKjS,KAAL,GAAaA,KAAb;AACD;;;sCAEU;AACT,cAAG,KAAK2Q,YAAR,EAAsB,KAAKA,YAAL,CAAkBwB,WAAlB;AACtB,cAAG,KAAKnS,KAAR,EAAe,KAAKA,KAAL,CAAWoS,OAAX;AAChB;;;;;;;uBApGUS,mC,EAAmC,kK;AAAA,K;;;YAAnCA,mC;AAAmC,yD;AAAA;AAAA;AAAA,O;AAAA,c;AAAA,a;AAAA,iW;AAAA;AAAA;ACfhD;;AACI;;AACI;;AACI;;AACI;;AACI;;AACJ;;AACJ;;AACJ;;AACJ;;AACA;;AACI;;AAGI;;AACJ;;AACJ;;AACJ;;;;;;;;sEDFaA,mC,EAAmC;cAL/C,uDAK+C;eALrC;AACT/tB,kBAAQ,EAAE,oCADD;AAETC,qBAAW,EAAE,iDAFJ;AAGTC,mBAAS,EAAE,CAAC,iDAAD;AAHF,S;AAKqC,Q;;;;;;gBAO7C;;;;;;;;;;;;;;;;;;;;AEtBH;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAWa8tB,mB;AAEX,mCAAmB1yB,MAAnB,EAA8C2yB,OAA9C,EAAwE;AAAA;;AAArD,aAAA3yB,MAAA,GAAAA,MAAA;AAA2B,aAAA2yB,OAAA,GAAAA,OAAA;AAE9C,aAAAC,UAAA,GAAsB,IAAtB;AAEA,aAAA7xB,MAAA,GAAS,EAAT;AAJ2E;;;;mCAMnE;AACNxJ,sBAAY,CAACwL,UAAb,CAAwB,YAAxB;AACAxL,sBAAY,CAACiL,OAAb,CAAqB,UAArB,EAAiC,UAAjC;AACD;;;;;;;uBAXUkwB,mB,EAAmB,mI,EAAA,iJ;AAAA,K;;;YAAnBA,mB;AAAmB,sC;AAAA,e;AAAA,a;AAAA,wuB;AAAA;AAAA;ACXhC;;AAGE;;AACE;;AACE;;AACE;;AACE;;AACE;;AACE;;AACE;;AACE;;AAAiC;;AAAa;;AAChD;;AACF;;AACA;;AAEE;;AAIA;;AACE;;AACE;;AAAsF;;AACtF;;AACF;;AACF;;AAEA;;AACE;;AACE;;AACA;;AACA;;AACF;;AACF;;AACF;;AACF;;AACA;;AACE;;AACE;;AACE;;AAEE;;AAEF;;AACF;;AACF;;AACF;;AACF;;AACF;;AACF;;AACF;;AACF;;AACF;;;;;;;;;sEDzCaA,mB,EAAmB;cAL/B,uDAK+B;eALrB;AACThuB,kBAAQ,EAAE,iBADD;AAETC,qBAAW,EAAE,8BAFJ;AAGTC,mBAAS,EAAE,CAAC,8BAAD;AAHF,S;AAKqB,Q;;;;;;;;;;;;;;;;;;;;;;;;AEXhC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;AC6CoD;;AAEI;;AACJ;;;;;;AAFI;;AACA;;AAAA;;;;;;AAeJ;;AAEI;;AACJ;;;;;;AAFI;;AACA;;AAAA;;;;;;;;AAyBI;;AAGI;AAAA;;AAAA;;AAAA;;AAAA;AAAA,WAAiC,YAAjC,EAAiC;AAAA;;AAAA;;AAAA,uCACL,IADK;AACD,SADhC;;AAEA;;AACJ;;;;;;;;;AANyB,0FAAyB,OAAzB,EAAyB,wBAAzB,EAAyB,OAAzB,EAAyB,uDAAzB;;AAKrB;;AAAA;;;;;;;;AAoBJ;;AACI;AAAA;;AAAA;;AAAA;;AAAA,iBAAS,YAAT;AAA4B,SAA5B;;AAEA;;AACI;;AACJ;;AAEJ;;;;;;;;AACA;;AACI;AAAA;;AAAA;;AAAA,gCAAqB,IAArB;AAAyB,8BAAW,IAAX;AAAe;AAAA,SAAxC;;AAEA;;AACI;;AACJ;;AACJ;;;;;;;;AAMR;;AAEA;;AACI;AAAA;;AAAA;;AAAA;;AAAA,iBAAS,YAAT;AAA4B,SAA5B;;AAA8B;;AAAE;;;;;;AAmBpC;;AACI;;AACJ;;;;;;AAFiD;;AAC7C;;AAAA;;;;;;AASJ;;AAEI;;AACJ;;;;;;AAFI;;AACA;;AAAA;;;;;;AAiBA;;AACI;;AACJ;;;;;;AAFwC;;AACpC;;AAAA;;;;;;;;AAVhB;;AACI;;AAAuC;;AAAY;;AACnD;;AACI;;AACI;AAAA;;AAAA;;AAAA;AAAA;;AACA;;AACI;;AACJ;;AAEA;;AAIJ;;AAEJ;;AACJ;;;;;;AAZY;;AAAA;;AACQ;;AAAA;;AAIA;;AAAA;;;;;;;;;;;;;;;;AA6EgB;;AAEiE;;AAG3D;;;;;;AAJF,sJAA6C,aAA7C,EAA6C,2GAA7C;;AAC6D;;AAAA;;;;;;AALzE;;AAEI;;AACI;;AAMJ;;AACJ;;;;;;AAPW;;AAAA;;;;;;AAYH;;AAEwD;;AAElD;;;;;;AAHF,sJAA6C,aAA7C,EAA6C,kGAA7C;;AACoD;;AAAA;;;;;;AAL5D;;AAGI;;AAKJ;;;;;;;;;;AALO;;AAAA;;;;;;AAHP;;;;;;AACI;;;;;;AAdZ;;AACI;;AAWA;;AAWJ;;;;;;;;AArBQ;;AAAA,wHAAkE,UAAlE,EAAkE,IAAlE;;;;;;AA0BI;;AAEwE;;AAGlE;;;;;;AAJF,sJAA6C,aAA7C,EAA6C,kHAA7C;;AACoE;;AAAA;;;;;;AALhF;;AAEI;;AACI;;AAMJ;;AACJ;;;;;;AAPW;;AAAA;;;;;;AAYH;;AAEwD;;AAElD;;;;;;AAHF,sJAA6C,aAA7C,EAA6C,kGAA7C;;AACoD;;AAAA;;;;;;AAL5D;;AAGI;;AAKJ;;;;;;;;;;AALO;;AAAA;;;;;;AAHP;;;;;;AACI;;;;;;AAdZ;;AACI;;AAWA;;AAWJ;;;;;;;;AArBQ;;AAAA,+HAAyE,UAAzE,EAAyE,IAAzE;;;;;;AAuBZ;;AACI;;AAEJ;;;;;;AACA;;AACI;;AAEJ;;;;;;AACA;;AACI;;AAGJ;;;;;;AACA;;AACI;;AAEJ;;;;;;AACA;;AAEI;;AAEJ;;;;;;;;;;AASgB;;AACmE;;AAE7D;;;;;;AAFF;;AAA+D;;AAAA;;;;;;AAJ3E;;AAEI;;AACI;;AAIJ;;AACJ;;;;;;AALW;;AAAA;;;;;;AAUH;;AACyD;;AAEnD;;;;;;AAFF;;AAAqD;;AAAA;;;;;;AAJ7D;;AAGI;;AAIJ;;;;;;;;;;AAJO;;AAAA;;;;;;AAHP;;;;;;AACI;;;;;;AAZZ;;AACI;;AASA;;AAUJ;;;;;;;;AAlBQ;;AAAA,oHAA0D,UAA1D,EAA0D,IAA1D;;;;;;;;AAhFhB;;AAEI;;AACI;;AAwBA;;AAwBJ;;AACA;;AAIA;;AAIA;;AAKA;;AAIA;;AAKA;;AACI;;AAAqB;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAA6C;;AAAoB;;AACtF;;AACJ;;AACI;;AAqBJ;;AAEJ;;;;;;AAlGY;;AAAA;;AAwBA;;AAAA;;AAyBJ;;AAAA;;AAIA;;AAAA;;AAIA;;AAAA;;AAKA;;AAAA;;AAKA;;AAAA;;AAKkE;;AAAA;;AAG9D;;AAAA;;;;;;AAvFpB;;AACI;;AAEI;;AACI;;AAAK;;AAAS;;AACd;;AAAK;;AAAI;;AACT;;AAAK;;AAAQ;;AACb;;AAAK;;AAAK;;AACd;;AACA;;AAsGJ;;AACJ;;;;;;;;AAtGY;;AAAA;;;;;;AA0HgB;;AAE6D;;AAGvD;;;;;;AAJN,sJAA6C,aAA7C,EAA6C,2GAA7C;;AAC6D;;AAAA;;;;;;AALrE;;AAEI;;AACI;;AAMJ;;AACJ;;;;;;AAPW;;AAAA;;;;;;;;;;AAYH;;AACkE;;AAE5D;;;;;;AAFF;;AAA8D;;AAAA;;;;;;AAJtE;;AAGI;;AAIJ;;;;;;;;;;AAJO;;AAAA;;;;;;AAHP;;;;;;AACI;;;;;;AAdZ;;AACI;;AAWA;;AAUJ;;;;;;;;AApBQ;;AAAA,wHAAkE,UAAlE,EAAkE,KAAlE;;;;;;AAyBI;;AAEoE;;AAG9D;;;;;;AAJN,sJAA6C,aAA7C,EAA6C,kHAA7C;;AACoE;;AAAA;;;;;;AAL5E;;AAEI;;AACI;;AAMJ;;AACJ;;;;;;AAPW;;AAAA;;;;;;AAYH;;AAEwD;;AAElD;;;;;;AAHN,sJAA6C,aAA7C,EAA6C,mGAA7C;;AACwD;;AAAA;;;;;;AAL5D;;AAGI;;AAKJ;;;;;;;;;;AALO;;AAAA;;;;;;AAHP;;;;;;AACI;;;;;;AAdZ;;AACI;;AAWA;;AAWJ;;;;;;;;AArBQ;;AAAA,+HAAyE,UAAzE,EAAyE,KAAzE;;;;;;AAuBZ;;AACI;;AAEJ;;;;;;AACA;;AACI;;AAEJ;;;;;;AACA;;AACI;;AAGJ;;;;;;AACA;;AACI;;AAEJ;;;;;;AACA;;AAEI;;AACJ;;;;;;AAOgB;;AACmE;;AAE7D;;;;;;AAFF;;AAA+D;;AAAA;;;;;;AAJ3E;;AAEI;;AACI;;AAIJ;;AACJ;;;;;;AALW;;AAAA;;;;;;AAUH;;AACyD;;AAEnD;;;;;;AAFF;;AAAqD;;AAAA;;;;;;AAJ7D;;AAGI;;AAIJ;;;;;;;;;;AAJO;;AAAA;;;;;;AAHP;;;;;;AACI;;;;;;AAZZ;;AACI;;AASA;;AAUJ;;;;;;;;AAlBQ;;AAAA,oHAA0D,UAA1D,EAA0D,KAA1D;;;;;;;;AA5EhB;;AAEI;;AACI;;AAuBA;;AAwBJ;;AACA;;AAIA;;AAIA;;AAKA;;AAIA;;AAIA;;AAAK;;AAAqB;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAA6C;;AAAoB;;AAAI;;AAC/F;;AACI;;AAqBJ;;AAEJ;;;;;;AA9FY;;AAAA;;AAuBA;;AAAA;;AAyBJ;;AAAA;;AAIA;;AAAA;;AAIA;;AAAA;;AAKA;;AAAA;;AAKA;;AAAA;;AAGmE;;AAAA;;AAE/D;;AAAA;;;;;;AAyBhB;;AACI;;AAAgC;;AAAgB;;AAClD;;;;;;AA9GN;;AACI;;AAEI;;AACI;;AAAK;;AAAS;;AACd;;AAAK;;AAAI;;AACT;;AAAK;;AAAQ;;AACb;;AAAK;;AAAK;;AACd;;AACA;;AAkGJ;;AACA;;AAGJ;;;;;;;;AArGY;;AAAA;;AAkGH;;AAAA;;;;;;AA5OjB;;AACI;;AACI;;AACI;;AAAI;;AAA6B;;AACrC;;AACA;;AACI;;AAAI;;AAAqC;;AAC7C;;AAEJ;;AAEA;;AACI;;AAiHJ;;AAEA;;AACI;;AAgHJ;;AACJ;;;;;;;;AA9OgB;;AAAA;;AAGA;;AAAA;;AAMS;;AAAA;;AAoHA;;AAAA;;;;;;;;;;;;;;;;;;;;;;QD1VxDiuB,gC;AAgCX,gDAAoB9yB,MAApB,EAAmD+yB,aAAnD,EAAmGtR,eAAnG,EACSjF,SADT,EACoDnc,EADpD,EACmFoc,QADnF,EACkHhI,aADlH,EACkKgF,YADlK,EAC0L;AAAA;;AADtK,aAAAzZ,MAAA,GAAAA,MAAA;AAA+B,aAAA+yB,aAAA,GAAAA,aAAA;AAAgD,aAAAtR,eAAA,GAAAA,eAAA;AAC1F,aAAAjF,SAAA,GAAAA,SAAA;AAA2C,aAAAnc,EAAA,GAAAA,EAAA;AAA+B,aAAAoc,QAAA,GAAAA,QAAA;AAA+B,aAAAhI,aAAA,GAAAA,aAAA;AAAgD,aAAAgF,YAAA,GAAAA,YAAA;AA9BlK,aAAAhZ,IAAA,GAAgB,KAAhB;AAEA,aAAAgW,GAAA,GAAc,EAAd;AACA,aAAAuc,QAAA,GAAmB,EAAnB;AAGA,aAAAtR,kBAAA,GAAqC,EAArC;AACA,aAAAC,0BAAA,GAAqD,EAArD;AACA,aAAAG,oBAAA,GAAoD,EAApD;AACA,aAAA8E,kBAAA,GAA0B,EAA1B;AACA,aAAAxE,qBAAA,GAA6B,EAA7B;AAIA,aAAAnF,WAAA,GAA8B,IAA9B;AAGA,aAAA7G,QAAA,GAAW,IAAI,wDAAJ,CAAa,OAAb,CAAX;AACA,aAAA+L,aAAA,GAAwB,EAAxB;AACA,aAAA4G,MAAA,GAAiB,IAAjB;AAEA,aAAAn4B,mBAAA,GAA+C5c,KAAK,EAApD;AACA,aAAA4gB,uBAAA,GAAiC,EAAjC;AACC,aAAAk0B,uCAAA,GAAmD,IAAnD;AAaD,aAAAjoB,UAAA,GAAsB,KAAtB;AALE,YAAMqc,OAAO,GAAG,IAAI70C,IAAJ,EAAhB;AACA,aAAK80C,OAAL,GAAe;AAAE5G,cAAI,EAAE2G,OAAO,CAAC1E,WAAR,EAAR;AAA+BhC,eAAK,EAAE0G,OAAO,CAACE,QAAR,EAAtC;AAA0D3G,aAAG,EAAEyG,OAAO,CAACG,OAAR;AAA/D,SAAf;AACA,aAAKC,OAAL,GAAe;AAAE/G,cAAI,EAAE2G,OAAO,CAAC1E,WAAR,KAAwB,CAAhC;AAAmChC,eAAK,EAAE0G,OAAO,CAACE,QAAR,KAAqB,CAA/D;AAAkE3G,aAAG,EAAEyG,OAAO,CAACG,OAAR;AAAvE,SAAf;AACD;;;;mCAGO;AAAA;;AAEN,eAAKuJ,kBAAL,CAAwBpxB,cAAxB,GAAyC,IAAzC;AACA,eAAKoxB,kBAAL,CAAwBvxB,gBAAxB,GAA2C,IAA3C;AACA,eAAKuxB,kBAAL,CAAwBrC,YAAxB,GAAuC,KAAKgL,UAAL,GAAkB,CAAlB,GAAsB,IAA7D;AACA,eAAK3I,kBAAL,CAAwBpC,QAAxB,GAAmC,KAAK+K,UAAL,GAAkB,KAAKA,UAAvB,GAAoC,IAAvE;AACA,eAAK3I,kBAAL,CAAwBpD,eAAxB,GAA0ChsB,YAAY,CAACC,OAAb,CAAqB,QAArB,CAA1C;AACA,eAAKtkB,IAAL,GAAYqkB,YAAY,CAACC,OAAb,CAAqB,UAArB,CAAZ;AACA,eAAKsxB,MAAL,GAAc,KAAKnC,kBAAL,CAAwBpD,eAAtC;AACA,eAAKoD,kBAAL,CAAwBM,OAAxB,GAAkC,IAAlC;AACA,cAAM+L,KAAK,GAAG,KAAKxW,QAAL,CAAcyW,QAAd,EAAd;AACA,cAAMC,WAAW,GAAGF,KAAK,CAAC1c,IAA1B;AACA,cAAM6c,YAAY,GAAGH,KAAK,CAACzc,KAA3B;AACA,eAAK6c,WAAL,GAAmB,IAAI,kEAAJ,CAAYF,WAAZ,EAAyBC,YAAzB,EAAuC,CAAvC,CAAnB;AACA,cAAME,OAAO,GAAG,KAAKC,iBAAL,CAAuBJ,WAAvB,EAAoCC,YAApC,CAAhB;AACA,eAAKI,SAAL,GAAiB,IAAI,kEAAJ,CAAYL,WAAZ,EAAyBC,YAAzB,EAAuCE,OAAvC,CAAjB;AAEA,eAAKzM,qBAAL;AACA,eAAK4M,uBAAL;AACA,eAAK3M,oBAAL;AAEA,eAAKrF,eAAL,CAAqB0C,gBAArB,GAAwChjB,SAAxC,CAAkD,UAAChJ,IAAD,EAAkB;AAClE,mBAAI,CAACgqB,aAAL,GAAqBhqB,IAArB;AACD,WAFD;AAIA,eAAK2xB,SAAL,GAAiB3oB,SAAjB,CAA2B,UAAA6C,CAAC,EAAE;AAE5B,gBAAIymB,OAAO,GAAG,EAAd;;AACA,gBAAG,OAAI,CAACiJ,WAAL,IAAoB,qBAAvB,EAA6C;AAC3CjJ,qBAAO,GAAG;AACRkF,4BAAY,EAAE,0BADN;AAER9Q,yBAAS,EAAE,IAFH;AAGRG,uBAAO,EAAE,IAHD;AAIRkI,uBAAO,EAAE,KAJD;AAKR3C,4BAAY,EAAE,OAAI,CAACqC,kBAAL,CAAwBrC,YAL9B;AAMRC,wBAAQ,EAAE,OAAI,CAACoC,kBAAL,CAAwBpC,QAN1B;AAORqF,6BAAa,EAAE,OAAI,CAACd;AAPZ,eAAV;AASD,aAVD,MAWI;AACF0B,qBAAO,GAAG;AACRkF,4BAAY,EAAE,0BADN;AAER9Q,yBAAS,EAAE,OAAI,CAACC,WAAL,CAAiB,OAAI,CAACuU,WAAtB,CAFH;AAGRrU,uBAAO,EAAE,OAAI,CAACF,WAAL,CAAiB,OAAI,CAAC0U,SAAtB,CAHD;AAIRtM,uBAAO,EAAE,OAAI,CAACN,kBAAL,CAAwBM,OAJzB;AAKR3C,4BAAY,EAAE,OAAI,CAACqC,kBAAL,CAAwBrC,YAL9B;AAMRC,wBAAQ,EAAE,OAAI,CAACoC,kBAAL,CAAwBpC,QAN1B;AAORqF,6BAAa,EAAE,OAAI,CAACd;AAPZ,eAAV;AASD;;AACD,mBAAI,CAACkB,OAAL,CAAaQ,OAAb;AAED,WA3BD;AA4BD;;;0CAEiBlU,I,EAAcC,K,EAAa;AAC3C;AACA,cAAMmd,SAAS,GAAGnd,KAAK,KAAK,EAAV,GAAe,CAAf,GAAmBA,KAAK,GAAG,CAA7C;AACA,cAAMod,QAAQ,GAAGpd,KAAK,KAAK,EAAV,GAAeD,IAAI,GAAG,CAAtB,GAA0BA,IAA3C;AACA,cAAMsd,aAAa,GAAG,IAAIxrD,IAAJ,CAASurD,QAAT,EAAmBD,SAAS,GAAG,CAA/B,EAAkC,CAAlC,CAAtB,CAJ2C,CAM3C;;AACA,cAAMG,cAAc,GAAG,IAAIzrD,IAAJ,CAASwrD,aAAa,CAACE,OAAd,KAA0B,QAAnC,EAA6C1W,OAA7C,EAAvB;AACA,iBAAOyW,cAAP;AACD;;;gCAGOrJ,O,EAAS;AAAA;;AACf,eAAK5pB,UAAL,GAAkB,IAAlB;AACA,eAAK2vB,YAAL,GAAoB,KAAKuC,aAAL,CAAmBnD,aAAnB,CAAiCnF,OAAjC,EAA0CtpB,SAA1C,CAAoD,UAAChJ,IAAD,EAAe;AACrF,mBAAI,CAAC67B,QAAL,CAAc77B,IAAd;;AACA,mBAAI,CAAC0I,UAAL,GAAkB,KAAlB;AACD,WAHmB,EAGjB,UAAAsC,KAAK,EAAI;AACV,mBAAI,CAACnD,MAAL,CAAYmD,KAAZ,CAAkB,0BAAlB;;AACA,mBAAI,CAACtC,UAAL,GAAkB,KAAlB;AACD,WANmB,CAApB;AAOD;;;oCAEWwV,I,EAAW;AACrB,cAAIE,IAAI,GAAGF,IAAI,CAACE,IAAhB;AACA,cAAIC,KAAK,GAAGH,IAAI,CAACG,KAAjB;AACA,cAAIC,GAAG,GAAGJ,IAAI,CAACI,GAAf;AACA,iBAAOF,IAAI,GAAG,GAAP,GAAaC,KAAb,GAAqB,GAArB,GAA2BC,GAAlC;AACD;;;iCAEQmQ,kB,EAAyB;AAAA;;;;AAGhC,cAAIpsB,MAAM,CAAC7yB,IAAP,CAAYi/C,kBAAZ,EAAgCzyB,MAAhC,IAA0C,CAA1C,IAAgD,KAAKk/B,WAAL,IAAoB,IAApB,IAA4B,KAAKG,SAAL,IAAkB,IAAlG,EAAyG;AACvG,iBAAKxzB,MAAL,CAAYmD,KAAZ,CAAkB,uBAAlB;AACA;AACD;;AACD,cAAI,KAAKkwB,WAAL,IAAoB,IAApB,IAA4B,KAAKG,SAAL,IAAkB,IAAlD,EAAwD;AACtD,iBAAKxzB,MAAL,CAAYmD,KAAZ,CAAkB,2BAAlB;AACA;AACD;;AAED,eAAKtC,UAAL,GAAkB,IAAlB;AACA,cAAIozB,OAAJ;AACA,cAAIT,SAAJ;;AACA,cAAI,KAAKH,WAAL,IAAoB,IAAxB,EAA8B;AAC5BY,mBAAO,GAAG,KAAKnV,WAAL,CAAiB,IAAI,kEAAJ,CAAY,KAAKuU,WAAL,CAAiB9c,IAA7B,EAAmC,KAAK8c,WAAL,CAAiB7c,KAApD,EAA2D,KAAK6c,WAAL,CAAiB5c,GAA5E,CAAjB,CAAV;AACD;;AAED,cAAI,KAAK+c,SAAL,IAAkB,IAAtB,EAA4B;AAC1BA,qBAAS,GAAG,KAAK1U,WAAL,CAAiB,IAAI,kEAAJ,CAAY,KAAK0U,SAAL,CAAejd,IAA3B,EAAiC,KAAKid,SAAL,CAAehd,KAAhD,EAAuD,KAAKgd,SAAL,CAAe/c,GAAtE,CAAjB,CAAZ;AACD;;AACD,cAAIgU,OAAO,GAAG;AACZkF,wBAAY,EAAE,0BADF;AAEZ9Q,qBAAS,EAAEoV,OAAO,SAAP,IAAAA,OAAO,WAAP,GAAAA,OAAA,GAAW,IAFV;AAGZjV,mBAAO,EAAEwU,SAAS,SAAT,IAAAA,SAAS,WAAT,GAAAA,SAAA,GAAa,IAHV;AAIZh+B,0BAAc,EAAE,CAAF,KAAEoxB,kBAAkB,CAACpxB,cAAnB,MAAiC,IAAjC,IAAiC,aAAjC,GAAiC,EAAjC,GAAqC,IAJzC;AAKZH,4BAAgB,EAAE,CAAF,KAAEuxB,kBAAkB,CAACvxB,gBAAnB,MAAmC,IAAnC,IAAmC,aAAnC,GAAmC,EAAnC,GAAuC,IAL7C;AAMZ6+B,mBAAO,EAAE,CAAF,KAAEtN,kBAAkB,CAACsN,OAAnB,MAA0B,IAA1B,IAA0B,aAA1B,GAA0B,EAA1B,GAA8B,IAN3B;AAOZrK,yBAAa,EAAE,CAAF,KAAEjD,kBAAkB,CAACpD,eAAnB,MAAkC,IAAlC,IAAkC,aAAlC,GAAkC,EAAlC,GAAsC,IAPzC;AAQZe,wBAAY,EAAE,CAAF,KAAEqC,kBAAkB,CAACrC,YAAnB,MAA+B,IAA/B,IAA+B,aAA/B,GAA+B,EAA/B,GAAmC,IARrC;AASZC,oBAAQ,EAAE,CAAF,KAAEoC,kBAAkB,CAACpC,QAAnB,MAA2B,IAA3B,IAA2B,aAA3B,GAA2B,EAA3B,GAA+B,IAT7B;AAUZ0C,mBAAO,EAAE,KAAKN,kBAAL,CAAwBM;AAVrB,WAAd;AAYA,eAAK6L,aAAL,CAAmBnD,aAAnB,CAAiCnF,OAAjC,EAA0CtpB,SAA1C,CAAoD,UAACpN,GAAD,EAAc;AAChE,mBAAI,CAACigC,QAAL,CAAcjgC,GAAd;;AACA,mBAAI,CAAC8M,UAAL,GAAkB,KAAlB;AACD,WAHD,EAGG,UAAAsC,KAAK,EAAI;AACV,mBAAI,CAACnD,MAAL,CAAYmD,KAAZ,CAAkB,0BAAlB;;AACA,mBAAI,CAACtC,UAAL,GAAkB,KAAlB;AACD,WAND;AAOD;;;iCAEQ1I,I,EAAW;AAClB,eAAKwvB,UAAL,GAAkB,KAAKoL,aAAL,CAAmBoB,oBAAnB,CAAwCh8B,IAAxC,CAAlB;AACD;;;+BACMi8B,U,EAAY;AACjB,cAAMC,UAAU,GAAG,IAAIhsD,IAAJ,CAAS+rD,UAAT,CAAnB;AACA,cAAME,IAAI,GAAG,CAAC,QAAD,EAAW,QAAX,EAAqB,SAArB,EAAgC,WAAhC,EAA6C,UAA7C,EAAyD,QAAzD,EAAmE,UAAnE,CAAb;AACA,eAAK7d,GAAL,GAAW6d,IAAI,CAACD,UAAU,CAACE,MAAX,EAAD,CAAf;AACA,iBAAO,KAAK9d,GAAZ;AACD;;;uCACc2d,U,EAAY;AACzB,cAAMC,UAAU,GAAG,IAAIhsD,IAAJ,CAAS+rD,UAAT,CAAnB;AACA,cAAME,IAAI,GAAG,CAAC,QAAD,EAAW,QAAX,EAAqB,SAArB,EAAgC,WAAhC,EAA6C,UAA7C,EAAyD,QAAzD,EAAmE,UAAnE,CAAb;AACA,cAAME,MAAM,GAAG,CAAC,KAAD,EAAQ,KAAR,EAAe,KAAf,EAAsB,KAAtB,EAA6B,KAA7B,EAAoC,KAApC,EAA2C,KAA3C,EAAkD,KAAlD,EAAyD,KAAzD,EAAgE,KAAhE,EAAuE,KAAvE,EAA8E,KAA9E,CAAf;AACA,eAAK/d,GAAL,GAAW6d,IAAI,CAACD,UAAU,CAACE,MAAX,EAAD,CAAf;AACA,eAAKvB,QAAL,GAAgBqB,UAAU,CAAChX,OAAX,GAAqBxpB,QAArB,KAAkC,GAAlC,GAAwC2gC,MAAM,CAACH,UAAU,CAACjX,QAAX,GAAsBvpB,QAAtB,EAAD,CAA9C,GAAmF,GAAnF,GAAyFwgC,UAAU,CAAC7b,WAAX,GAAyB3kB,QAAzB,EAAzG;AACA,iBAAO,KAAKm/B,QAAZ;AACD;;;6CACoBx9B,c,EAAsB;AAAA;;AACzC,eAAKisB,eAAL,CAAqBsD,uBAArB,CAA6CvvB,cAA7C,EAA6D2L,SAA7D,CAAuE,UAAChJ,IAAD,EAAkC;AACvG,mBAAI,CAACwpB,0BAAL,GAAkCxpB,IAAlC;AACD,WAFD;AAGD;;;2CAEkBosB,Y,EAAmB;AAAA;;AAEpC,eAAK9C,eAAL,CAAqBoE,uBAArB,CAA6CtB,YAA7C,EAA2D,EAA3D,EAA+DpjB,SAA/D,CAAyE,UAAChJ,IAAD,EAA0B;AACjG,mBAAI,CAACiqB,qBAAL,GAA6BjqB,IAA7B;AACD,WAFD;AAGD;;;+CACsB;AAAA;;AACrB,eAAKspB,eAAL,CAAqB4C,uBAArB,GAA+CljB,SAA/C,CAAyD,UAAChJ,IAAD,EAAuC;AAC9F,mBAAI,CAAC2pB,oBAAL,GAA4B3pB,IAA5B;AACD,WAFD;AAGD;;;kDACyB;AAAA;;AACxB,eAAKspB,eAAL,CAAqBsD,uBAArB,CAA6C,IAA7C,EAAmD5jB,SAAnD,CAA6D,UAAChJ,IAAD,EAAkC;AAC7F,mBAAI,CAACwpB,0BAAL,GAAkCxpB,IAAlC;AACD,WAFD;AAGD;;;gDACuB;AAAA;;AACtB,eAAKspB,eAAL,CAAqB2C,qBAArB,GAA6CjjB,SAA7C,CAAuD,UAAChJ,IAAD,EAAU;AAC/D,mBAAI,CAACupB,kBAAL,GAA0BvpB,IAA1B;AACD,WAFD;AAGD;;;uCAEc;AAAA;;AACb,eAAKwvB,UAAL,GAAkB,KAAKA,UAAL,CAAgBxS,MAAhB,CAAuB,UAAA/e,QAAQ;AAAA,mBAC/C,CAAC,QAAI,CAACq+B,oBAAL,GAA4Br+B,QAAQ,CAACf,gBAAT,KAA8B,QAAI,CAACo/B,oBAA/D,GAAsF,IAAvF,MACC,QAAI,CAACC,kBAAL,GAA0Bt+B,QAAQ,CAACZ,cAAT,KAA4B,QAAI,CAACk/B,kBAA3D,GAAgF,IADjF,CAD+C;AAAA,WAA/B,CAAlB;AAID;;;uCACc;AAAA;;AACb,cAAMzB,KAAK,GAAG,KAAKxW,QAAL,CAAcyW,QAAd,EAAd;AACA,cAAMC,WAAW,GAAGF,KAAK,CAAC1c,IAA1B;AACA,cAAM6c,YAAY,GAAGH,KAAK,CAACzc,KAA3B;AACJ;AACI,cAAM8c,OAAO,GAAG,KAAKC,iBAAL,CAAuBJ,WAAvB,EAAoCC,YAApC,CAAhB;AACA,eAAKC,WAAL,GAAmB,IAAI,kEAAJ,CAAYF,WAAZ,EAAyBC,YAAzB,EAAuC,CAAvC,CAAnB;AACA,eAAKI,SAAL,GAAiB,IAAI,kEAAJ,CAAYL,WAAZ,EAAyBC,YAAzB,EAAuCE,OAAvC,CAAjB;;AACA,cAAI,CAAC,KAAKxK,uCAAV,EAAmD;AACjD,iBAAKC,MAAL,GAAc,KAAKnC,kBAAL,CAAwBpD,eAAtC;AACD;;AACD,cAAIzsB,OAAO,GAAG;AACZ44B,wBAAY,EAAE,0BADF;AAC8Bn6B,0BAAc,EAAE,IAD9C;AACoDH,4BAAgB,EAAE,IADtE;AAC4E0xB,mBAAO,EAAE,IADrF;AAC2FlI,qBAAS,EAAE,KAAKC,WAAL,CAAiB,KAAKuU,WAAtB,CADtG;AAEZrU,mBAAO,EAAE,KAAKF,WAAL,CAAiB,KAAK0U,SAAtB,CAFG;AAE+BjP,wBAAY,EAAE,IAF7C;AAEmDC,oBAAQ,EAAE,IAF7D;AAEmEqF,yBAAa,EAAE,KAAKd,MAFvF;AAE+F7B,mBAAO,EAAE;AAFxG,WAAd;AAIA,eAAK6L,aAAL,CAAmBnD,aAAnB,CAAiC74B,OAAjC,EAA0CoK,SAA1C,CAAoD,UAACpN,GAAD,EAAc;AAChE,oBAAI,CAAC4zB,UAAL,GAAkB5zB,GAAlB;;AACA,oBAAI,CAACigC,QAAL,CAAcjgC,GAAd;;AACA,oBAAI,CAAC6yB,kBAAL,GAA0B,EAA1B;AACA,oBAAI,CAACjF,0BAAL,GAAkC,EAAlC;AACA,oBAAI,CAACS,qBAAL,GAA6B,EAA7B;AACA,oBAAI,CAACiR,WAAL,GAAmB,IAAI,kEAAJ,CAAYF,WAAZ,EAAyBC,YAAzB,EAAuC,CAAvC,CAAnB;AACA,oBAAI,CAACI,SAAL,GAAiB,IAAI,kEAAJ,CAAYL,WAAZ,EAAyBC,YAAzB,EAAuCE,OAAvC,CAAjB;AACA,oBAAI,CAAC1M,kBAAL,CAAwBpxB,cAAxB,GAAyC,IAAzC;AACA,oBAAI,CAACoxB,kBAAL,CAAwBvxB,gBAAxB,GAA2C,IAA3C;AACA,oBAAI,CAACuxB,kBAAL,CAAwBrC,YAAxB,GAAuC,IAAvC;AACA,oBAAI,CAACqC,kBAAL,CAAwBpC,QAAxB,GAAmC,IAAnC;AACA,oBAAI,CAACoC,kBAAL,CAAwBpD,eAAxB,GAA0C,QAAI,CAACuF,MAA/C;AACD,WAbD;AAcD,S,CAGD;;;;wCACgB1S,I,EAAe;AAC7B,cAAI,CAAC,KAAKgd,WAAN,IAAqB,CAAC,KAAKG,SAA/B,EAA0C;AACxC,iBAAKH,WAAL,GAAmBhd,IAAnB;AACD,WAFD,MAEO,IAAI,KAAKgd,WAAL,IAAoB,CAAC,KAAKG,SAA1B,IAAuCnd,IAAvC,IAA+CA,IAAI,CAAC8H,KAAL,CAAW,KAAKkV,WAAhB,CAAnD,EAAiF;AACtF,iBAAKG,SAAL,GAAiBnd,IAAjB;AACD,WAFM,MAEA;AACL,iBAAKmd,SAAL,GAAiB,IAAjB;AACA,iBAAKH,WAAL,GAAmBhd,IAAnB;AACD;AACF;;;iDACwB;AACvB,cAAI95B,oBAAoB,GAAG,KAAK6hC,oBAAL,CAA0B,KAAKiV,WAA/B,CAA3B;AACA,cAAI72C,kBAAkB,GAAG,KAAK4hC,oBAAL,CAA0B,KAAKoV,SAA/B,CAAzB;;AACA,cAAIh3C,kBAAkB,GAAGD,oBAAzB,EAA+C;AAC7C,iBAAKi3C,SAAL,GAAiB,KAAKH,WAAtB;AACA,iBAAKhzB,EAAL,CAAQ6C,aAAR;AAED;AACF;;;6CACoBmb,O,EAAc;AAEjC,cAAIA,OAAO,IAAI,IAAf,EAAqB,CACnB;AACD;AACF;;;sCAEanC,Y,EAA8BoC,K,EAAa;AACvD,cAAMC,MAAM,GAAG,KAAK/B,SAAL,CAAe1a,KAAf,CAAqBwc,KAArB,CAAf;AACA,iBAAOC,MAAM,IAAI,KAAK9B,QAAL,CAAc+B,OAAd,CAAsB,mEAAQjkB,IAAR,CAAagkB,MAAb,CAAtB,CAAV,GAAwD,mEAAQhkB,IAAR,CAAagkB,MAAb,CAAxD,GAA+ErC,YAAtF;AACD;;;kCAES7F,I,EAAe;AAEvB,iBAAO,KAAKgd,WAAL,IAAoB,CAAC,KAAKG,SAA1B,IAAuC,KAAKvW,WAA5C,IAA2D5G,IAAI,CAAC8H,KAAL,CAAW,KAAKkV,WAAhB,CAA3D,IAA2Fhd,IAAI,CAACoI,MAAL,CAAY,KAAKxB,WAAjB,CAAlG;AACD;;;iCAEQ5G,I,EAAe;AAEtB,iBAAO,KAAKmd,SAAL,IAAkBnd,IAAI,CAAC8H,KAAL,CAAW,KAAKkV,WAAhB,CAAlB,IAAkDhd,IAAI,CAACoI,MAAL,CAAY,KAAK+U,SAAjB,CAAzD;AACD;;;gCAEOnd,I,EAAe;AAErB,iBAAOA,IAAI,CAACqI,MAAL,CAAY,KAAK2U,WAAjB,KAAkC,KAAKG,SAAL,IAAkBnd,IAAI,CAACqI,MAAL,CAAY,KAAK8U,SAAjB,CAApD,IAAoF,KAAK7U,QAAL,CAActI,IAAd,CAApF,IAA2G,KAAKuI,SAAL,CAAevI,IAAf,CAAlH;AACD;;;oCAEQ;AAAA;;AACP,cAAIuP,OAAO,GAAG,KAAKnR,aAAL,CAAmBM,MAAnB,EAAd;AAEA6Q,iBAAO,CAACzkB,SAAR,CAAkB,UAAChJ,IAAD,EAAe;;;AAC/B,oBAAI,CAACvH,mBAAL,GAA2BuH,IAA3B;AACA,oBAAI,CAAC2wB,uCAAL,GAA+C,CAAH,KAAG,QAAI,CAACl4B,mBAAL,CAAyBukB,MAAzB,CAAgC,UAAAnR,CAAC;AAAA,qBAAIA,CAAC,CAACuR,SAAF,IAAe,QAAI,CAACpiC,IAApB,IAA4B6wB,CAAC,CAACoR,UAAF,IAAgB,yCAAhD;AAAA,aAAjC,EAA4H,CAA5H,OAA8H,IAA9H,IAA8H,aAA9H,GAA8H,MAA9H,GAA8H,GAAEI,SAA/K;;AACA,gBAAI,CAAC,QAAI,CAACsT,uCAAV,EAAmD;AACjD,sBAAI,CAACC,MAAL,GAAc,QAAI,CAACnC,kBAAL,CAAwBpD,eAAtC;AACD;AACF,WAND;AAQA,iBAAOoC,OAAP;AACD;;;sCAEarvB,U,EAAY;AACxB,cAAMglB,QAAQ,GAAG,KAAK9B,YAAL,CAAkBnW,IAAlB,CAAuB,qGAAvB,EAA8C;AAC7DyU,gBAAI,EAAE,IADuD;AACjDyD,oBAAQ,EAAE,QADuC;AAC7BC,oBAAQ,EAAE;AADmB,WAA9C,CAAjB;AAIA,cAAIvzC,QAAQ,GAAG;AACbquB,sBAAU,EAAEA,UADC;AAEb0sB,uBAAW,EAAE;AAFA,WAAf;AAKA1H,kBAAQ,CAAC+P,iBAAT,CAA2BpjD,QAA3B,GAAsCA,QAAtC;AACD;;;;;;;uBAnUU4qD,gC,EAAgC,yH,EAAA,kK,EAAA,iJ,EAAA,kJ,EAAA,gI,EAAA,uI,EAAA,kK,EAAA,oI;AAAA,K;;;YAAhCA,gC;AAAgC,qD;AAAA;AAAA;AAAA;AAAA;AAAA,O;AAAA,gB;AAAA,c;AAAA,6xH;AAAA;AAAA;;;AChB7C;;AACA;;AAGI;;AACI;;AAEI;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AACJ;;AACJ;;AACJ;;AACJ;;AACA;;AACI;;AACI;;AACI;;AACI;;AACI;;AAAoC;;AAAO;;AAC3C;;AAC4C;;AAAW;;AAC3D;;AACA;;AAEJ;;AACA;;AAAgC;AAAA,mBAAY,IAAAvT,QAAA,wBAAZ;AAAwC,WAAxC;;AAG5B;;AACI;;AACI;;AAAqD;;AAC5C;;AACT;;AACI;AAAA;AAAA,aAA+C,QAA/C,EAA+C;AAAA,mBACrC,IAAA+G,oBAAA,uCADqC;AACkB,WADjE;;AAGA;;AACI;;AACJ;;AACA;;AAIJ;;AACJ;;AAGA;;AACI;;AAAuD;;AAC5C;;AACX;;AAEI;AAAA;AAAA;;AACA;;AACI;;AACJ;;AACA;;AAIJ;;AAEJ;;AAGA;;AACI;;AAAgD;;AAAQ;;AACxD;;AACI;AAAA;AAAA;;AADJ;;AAGJ;;AAEA;;AAEI;;AACI;;AACI;;AAEI;AAAA,mBAAc,IAAA0B,eAAA,QAAd;AAAqC,WAArC;;AAFJ;;AAMA;;AASJ;;AACJ;;AACA;;AACI;;AAAmB;;AACN;;AAA6B;;AAAO;;AAAO;;AACxD;;AACI;;AACI;;AAGI;AAAA;;AAAA;;AAAA,qCAAuB,IAAAC,aAAA,4BAAvB;AAAmE,WAAnE,EAAoE,OAApE,EAAoE;AAAA;;AAAA;;AAAA,mBAC3D,YAD2D;AACxC,WAD5B;;AAHJ;;AAKA;;AAGI;AAAA;;AAAA;;AAAA,mCAAqB,IAAAA,aAAA,0BAArB;AAA6D,WAA7D,EAA8D,OAA9D,EAA8D;AAAA;;AAAA;;AAAA,mBACrD,YADqD;AAClC,WAD5B;;AAHJ;;AAKA;;AAQA;;AAOJ;;AACJ;;AACJ;;AAEA;;AAOJ;;AAOA;;AACI;;AAA0B;;AAAW;;AACrC;;AACI;AAAA;AAAA,aAA6C,QAA7C,EAA6C;AAAA,mBACnC,IAAAC,kBAAA,qCADmC;AACgB,WAD7D;;AAGA;;AACI;;AACJ;;AACA;;AAGJ;;AACJ;;AAEA;;AACI;;AACI;AAAA;AAAA;;AACA;;AAAkC;;AAAM;;AACxC;;AAIJ;;AACJ;;AAGJ;;AACA;;AACI;;AAkBA;;AACI;;AACA;;AAA2B;AAAA;AAAA;;AAEvB;;AAAwC;;AAAU;;AACtD;;AACJ;;AAEA;;AACI;;AACoF;;AACpF;;AACA;;AAEI;AAAA,mBAAS,IAAAC,YAAA,EAAT;AAAuB,WAAvB;;AAAyB;;AAC7B;;AACJ;;AACJ;;AACJ;;AACJ;;AACJ;;AAIA;;AACI;;AAEI;;AACI;;AACI;;AACI;;AACI;;AAA4B;;AAAG;;AACnC;;AACA;;AACI;;AAAuB;;AAAO;;AAClC;;AACA;;AACI;;AAAuB;;AAAM;;AACjC;;AACJ;;AACA;;;;AAkPJ;;AAEJ;;AACJ;;AACJ;;AACJ;;AACJ;;AACJ;;AACJ;;AACJ;;AACJ;;AAEJ;;;;;;;;AAxeQ;;AAEJ;;AAAA;;AAGS;;AAAA;;AAKwC;;AAAA;;AA6BD;;AAAA;;AAGQ;;AAAA;;AAGA;;AAAA;;AAaR;;AAAA;;AACQ;;AAAA;;AAGA;;AAAA;;AAYR;;AAAA;;AASoC;;AAAA,2FAAuB,eAAvB,EAAuB,CAAvB,EAAuB,aAAvB,EAAuB,GAAvB,EAAuB,WAAvB,EAAuB,eAAvB,EAAuB,SAAvB,EAAuB,WAAvB,EAAuB,gBAAvB,EAAuB,IAAvB;;AAuBxB;;AAAA;;AAKA;;AAAA;;AAKA;;AAAA;;AAQA;;AAAA;;AAuBH;;AAAA;;AAGT;;AAAA;;AAGQ;;AAAA;;AAGA;;AAAA;;AAM2B;;AAAA;;AAEnC;;AAAA;;AACQ;;AAAA;;AACA;;AAAA;;AAUX;;AAAA;;AAoB0B;;AAAA;;AAsCd;;AAAA;;;;;;;;;;sED1NhD2K,gC,EAAgC;cAL5C,uDAK4C;eALlC;AACTnuB,kBAAQ,EAAE,gCADD;AAETC,qBAAW,EAAE,6CAFJ;AAGTC,mBAAS,EAAE,CAAC,6CAAD;AAHF,S;AAKkC,Q;;;;;;;;;;;;;;;;;;;;gBA6B1C;;;gBACA;;;gBAQA;;;;;;;;;;;;;;;;;;;;AEtDH;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAWa8vB,yB;AAMX,yCAAoB30B,MAApB,EAAmDrL,aAAnD,EAAiF;AAAA;;AAA7D,aAAAqL,MAAA,GAAAA,MAAA;AAA+B,aAAArL,aAAA,GAAAA,aAAA;AAHnD,aAAAkM,UAAA,GAAsB,KAAtB;AAEA,aAAA+zB,WAAA,GAAsB,QAAtB;AACoF;;;;mCAEzE;AACV;AACC,eAAKC,gBAAL;AAED;;;sCAEU;AACT,eAAKA,gBAAL;AACD;;;yCAEgB;AACf,eAAKA,gBAAL;AACD;;;2CAEkB;AAAA;;AACjB,eAAKh0B,UAAL,GAAkB,IAAlB;AACA,cAAIrK,WAAW,GAAG,EAAlB;AACAA,qBAAW,IAAI,iBAAiB,KAAKo+B,WAArC;AACAp+B,qBAAW,IAAI,WAAW,KAAK1K,IAA/B;AAEA,eAAK6I,aAAL,CAAmBE,OAAnB,CAA2B,WAA3B,EAAwC,uBAAxC,EAAiE2B,WAAjE,EAA8E2K,SAA9E,CAAwF,UAAChJ,IAAD,EAAe;AACrG,gBAAIvE,MAAM,GAAGuE,IAAb;;AAEA,gBAAI0nB,KAAK,GAAG,gEAAe,kBAAf,EAAmC,kEAAnC,CAAZ;;AACAA,iBAAK,CAACkS,UAAN,GAAmB,IAAI,kEAAJ,EAAnB;AACAlS,iBAAK,CAACiV,UAAN,GAAmB,IAAI,kEAAJ,EAAnB,CALqG,CAMrG;;AACAjV,iBAAK,CAACkS,UAAN,CAAiBgD,UAAjB,GAA8B,KAA9B;AACAlV,iBAAK,CAACiV,UAAN,CAAiBC,UAAjB,GAA8B,KAA9B,CARqG,CASrG;;AACAlV,iBAAK,CAACG,SAAN,CAAgBC,IAAhB,GAAuB,IAAI,mEAAJ,EAAvB;AAEA,gBAAIjiB,KAAK,GAAG6hB,KAAK,CAACmV,MAAN,CAAaC,MAAb,EAAZ;AACAj3B,iBAAK,CAACijB,IAAN,GAAa,oBAAb;AACAjjB,iBAAK,CAAC8yB,QAAN,GAAiB,EAAjB;AACA9yB,iBAAK,CAAC+yB,UAAN,GAAmB,MAAnB;AACA/yB,iBAAK,CAACk3B,YAAN,GAAqB,EAArB;AAEArV,iBAAK,CAAC1nB,IAAN,GAAavE,MAAb;AAEA;;AACA,gBAAIg9B,YAAY,GAAG/Q,KAAK,CAACgR,KAAN,CAAY93B,IAAZ,CAAiB,IAAI,uEAAJ,EAAjB,CAAnB;AACA63B,wBAAY,CAACjQ,UAAb,CAAwB3mB,QAAxB,GAAmC,UAAnC;AACA42B,wBAAY,CAACK,QAAb,CAAsBkE,eAAtB,GAAwC,EAAxC;AAEA;;AACA,gBAAI/D,SAAS,GAAGvR,KAAK,CAACwR,KAAN,CAAYt4B,IAAZ,CAAiB,IAAI,oEAAJ,EAAjB,CAAhB;AAEAq4B,qBAAS,CAACgE,GAAV,GAAgB,CAAhB;AACAhE,qBAAS,CAACiE,QAAV,GAAqB,GAArB;AAEAjE,qBAAS,CAACpzB,KAAV,CAAgB+yB,UAAhB,GAA6B,MAA7B;AACAK,qBAAS,CAACpzB,KAAV,CAAgB8yB,QAAhB,GAA2B,MAA3B;AAEA,gBAAIwE,UAAU,GAAGzV,KAAK,CAACW,MAAN,CAAaznB,IAAb,CAAkB,IAAI,qEAAJ,EAAlB,CAAjB;AACAu8B,sBAAU,CAAC7gC,IAAX,GAAkB,4BAAlB;AACA6gC,sBAAU,CAAC3U,UAAX,CAAsBiR,MAAtB,GAA+B,OAA/B;AACA0D,sBAAU,CAAC3U,UAAX,CAAsBkR,SAAtB,GAAkC,UAAlC;AACAyD,sBAAU,CAACC,OAAX,CAAmBC,iBAAnB,GAAuC,KAAvC;AACAF,sBAAU,CAACC,OAAX,CAAmBE,UAAnB,CAA8Bl5B,IAA9B,GAAqC,+DAAc,SAAd,CAArC,CAvCqG,CAwCrG;;AAEA,gBAAIm5B,MAAM,GAAGJ,UAAU,CAACK,OAAX,CAAmB58B,IAAnB,CAAwB,IAAI,iEAAJ,EAAxB,CAAb;AACA28B,kBAAM,CAACn5B,IAAP,GAAc,+DAAc,SAAd,CAAd,CA3CqG,CA2C7D;;AACxCm5B,kBAAM,CAACvU,WAAP,GAAqB,yGAArB;AAEA,gBAAIyU,MAAM,GAAGF,MAAM,CAACG,WAAP,CAAmB,+DAAnB,CAAb;AACAD,kBAAM,CAACE,MAAP,GAAgB,CAAhB;AACAF,kBAAM,CAACr5B,IAAP,GAAc,+DAAc,MAAd,CAAd;AACAq5B,kBAAM,CAACG,WAAP,GAAqB,CAArB;AAEA,gBAAIC,WAAW,GAAGV,UAAU,CAACK,OAAX,CAAmB58B,IAAnB,CAAwB,IAAI,sEAAJ,EAAxB,CAAlB;AACAi9B,uBAAW,CAAC7M,KAAZ,CAAkBlI,IAAlB,GAAyB,UAAzB;AACA+U,uBAAW,CAAC7M,KAAZ,CAAkB8M,cAAlB,GAAmC,QAAnC;AAEA,oBAAI,CAACp1B,UAAL,GAAkB,KAAlB;AACD,WAxDD,EAwDG,UAAAsC,KAAK,EAAI;AACV,oBAAI,CAACnD,MAAL,CAAYmD,KAAZ,CAAkB,gCAAlB;;AACA,oBAAI,CAACtC,UAAL,GAAkB,KAAlB;AAED,WA5DD;AA6DD;;;+CAEsB;AACrB,eAAKA,UAAL,GAAkB,IAAlB,CADqB,CAErB;;AACA,cAAIgf,KAAK,GAAG,gEAAe,kBAAf,EAAmC,kEAAnC,CAAZ,CAHqB,CAKrB;;;AACAA,eAAK,CAACG,SAAN,CAAgBC,IAAhB,GAAuB,IAAI,mEAAJ,EAAvB;AAEA,cAAIjiB,KAAK,GAAG6hB,KAAK,CAACmV,MAAN,CAAaC,MAAb,EAAZ;AACAj3B,eAAK,CAACijB,IAAN,GAAa,oBAAb;AACAjjB,eAAK,CAAC8yB,QAAN,GAAiB,EAAjB;AACA9yB,eAAK,CAAC+yB,UAAN,GAAmB,MAAnB;AACA/yB,eAAK,CAACk3B,YAAN,GAAqB,EAArB;AAEArV,eAAK,CAAC1nB,IAAN,GAAa,CAAC;AACZ,wBAAY,KADA;AAEZ,qBAAS;AAFG,WAAD,EAIb;AACE,wBAAY,KADd;AAEE,qBAAS;AAFX,WAJa,EAQb;AACE,wBAAY,KADd;AAEE,qBAAS;AAFX,WARa,EAYb;AACE,wBAAY,KADd;AAEE,qBAAS;AAFX,WAZa,EAgBb;AACE,wBAAY,KADd;AAEE,qBAAS;AAFX,WAhBa,EAoBb;AACE,wBAAY,KADd;AAEE,qBAAS;AAFX,WApBa,EAwBb;AACE,wBAAY,KADd;AAEE,qBAAS;AAFX,WAxBa,EA4Bb;AACE,wBAAY,KADd;AAEE,qBAAS;AAFX,WA5Ba,EAgCb;AACE,wBAAY,KADd;AAEE,qBAAS;AAFX,WAhCa,EAoCb;AACE,wBAAY,KADd;AAEE,qBAAS;AAFX,WApCa,EAwCb;AACE,wBAAY,KADd;AAEE,qBAAS;AAFX,WAxCa,EA4Cb;AACE,wBAAY,KADd;AAEE,qBAAS;AAFX,WA5Ca,CAAb;AAiDA;;AACA,cAAIy4B,YAAY,GAAG/Q,KAAK,CAACgR,KAAN,CAAY93B,IAAZ,CAAiB,IAAI,uEAAJ,EAAjB,CAAnB;AACA63B,sBAAY,CAACjQ,UAAb,CAAwB3mB,QAAxB,GAAmC,UAAnC;AACA42B,sBAAY,CAACK,QAAb,CAAsBkE,eAAtB,GAAwC,EAAxC;AAEA;;AACA,cAAI/D,SAAS,GAAGvR,KAAK,CAACwR,KAAN,CAAYt4B,IAAZ,CAAiB,IAAI,oEAAJ,EAAjB,CAAhB;AAEAq4B,mBAAS,CAACpzB,KAAV,CAAgB+yB,UAAhB,GAA6B,MAA7B;AACAK,mBAAS,CAACpzB,KAAV,CAAgB8yB,QAAhB,GAA2B,MAA3B;AAEA,cAAIwE,UAAU,GAAGzV,KAAK,CAACW,MAAN,CAAaznB,IAAb,CAAkB,IAAI,qEAAJ,EAAlB,CAAjB;AACAu8B,oBAAU,CAAC7gC,IAAX,GAAkB,4BAAlB;AACA6gC,oBAAU,CAAC3U,UAAX,CAAsBiR,MAAtB,GAA+B,OAA/B;AACA0D,oBAAU,CAAC3U,UAAX,CAAsBkR,SAAtB,GAAkC,UAAlC;AACAyD,oBAAU,CAACC,OAAX,CAAmBC,iBAAnB,GAAuC,KAAvC;AACAF,oBAAU,CAACC,OAAX,CAAmBE,UAAnB,CAA8Bl5B,IAA9B,GAAqC,+DAAc,SAAd,CAArC,CA/EqB,CAgFrB;;AAEA,cAAIm5B,MAAM,GAAGJ,UAAU,CAACK,OAAX,CAAmB58B,IAAnB,CAAwB,IAAI,iEAAJ,EAAxB,CAAb;AACA28B,gBAAM,CAACn5B,IAAP,GAAc,+DAAc,SAAd,CAAd,CAnFqB,CAmFmB;;AACxCm5B,gBAAM,CAACvU,WAAP,GAAqB,yGAArB;AAEA,cAAIyU,MAAM,GAAGF,MAAM,CAACG,WAAP,CAAmB,+DAAnB,CAAb;AACAD,gBAAM,CAACE,MAAP,GAAgB,CAAhB;AACAF,gBAAM,CAACr5B,IAAP,GAAc,+DAAc,MAAd,CAAd;AACAq5B,gBAAM,CAACG,WAAP,GAAqB,CAArB;AAEA,cAAIC,WAAW,GAAGV,UAAU,CAACK,OAAX,CAAmB58B,IAAnB,CAAwB,IAAI,sEAAJ,EAAxB,CAAlB;AACAi9B,qBAAW,CAAC7M,KAAZ,CAAkBlI,IAAlB,GAAyB,UAAzB;AACA+U,qBAAW,CAAC7M,KAAZ,CAAkB8M,cAAlB,GAAmC,QAAnC;AAEA,eAAKp1B,UAAL,GAAkB,KAAlB;AAED;;;;;;;uBA5LU8zB,yB,EAAyB,yH,EAAA,6I;AAAA,K;;;YAAzBA,yB;AAAyB,6C;AAAA;AAAA;AAAA;AAAA,O;AAAA,oF;AAAA,c;AAAA,a;AAAA,6V;AAAA;AAAA;ACVtC;;AACI;;AACI;;AACI;;AACI;;AACI;;AACJ;;AACJ;;AACJ;;AACA;;AAOJ;;AACA;;AACI;;AACJ;;AACJ;;;;;;;;sEDVaA,yB,EAAyB;cALrC,uDAKqC;eAL3B;AACThwB,kBAAQ,EAAE,wBADD;AAETC,qBAAW,EAAE,qCAFJ;AAGTC,mBAAS,EAAE,CAAC,qCAAD;AAHF,S;AAK2B,Q;;;;;;;;gBAEnC;;;gBAEA;;;;;;;;;;;;;;;;;;;;AEfH;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAWaqxB,sB;AAYX,sCAAoBl2B,MAApB,EAAmDrL,aAAnD,EAAiF;AAAA;;AAA7D,aAAAqL,MAAA,GAAAA,MAAA;AAA+B,aAAArL,aAAA,GAAAA,aAAA;AATnD,aAAAkM,UAAA,GAAsB,KAAtB;AACA,aAAA+zB,WAAA,GAAsB,QAAtB;AACA,aAAAuB,YAAA,GAAuB,IAAvB;AAOoF;;;;mCAEzE;AAET,eAAKC,aAAL;AAED;;;sCAEU;AACT,cAAI,KAAKC,aAAT,EAAwB,KAAKD,aAAL;AACzB;;;yCAEgB;AACf,eAAKA,aAAL;AACD;;;wCAEe;AAAA;;AACd,eAAKv1B,UAAL,GAAkB,IAAlB;AACA,cAAIrK,WAAW,GAAG,EAAlB;AACAA,qBAAW,IAAI,iBAAiB,KAAKo+B,WAArC;AACAp+B,qBAAW,IAAI,WAAW,KAAK1K,IAA/B;AACA0K,qBAAW,IAAI,eAAe,KAAK0pB,MAAnC;AACA1pB,qBAAW,IAAI,eAAe,KAAK8/B,QAAnC;AAEA,eAAK3hC,aAAL,CAAmBE,OAAnB,CAA2B,WAA3B,EAAwC,uBAAxC,EAAiE2B,WAAjE,EAA8E2K,SAA9E,CAAwF,UAAChJ,IAAD,EAAe;AACrG;AACD;AACC,gBAAI0nB,KAAK,GAAG,gEAAe,eAAf,EAAgC,kEAAhC,CAAZ;;AACAA,iBAAK,CAACkS,UAAN,GAAmB,IAAI,kEAAJ,EAAnB;AACAlS,iBAAK,CAACiV,UAAN,GAAmB,IAAI,kEAAJ,EAAnB,CALqG,CAMrG;AACA;;AACAjV,iBAAK,CAACkS,UAAN,CAAiBgD,UAAjB,GAA8B,KAA9B;AACAlV,iBAAK,CAACiV,UAAN,CAAiBC,UAAjB,GAA8B,KAA9B,CATqG,CAUrG;;AACAlV,iBAAK,CAACG,SAAN,CAAgBC,IAAhB,GAAuB,IAAI,mEAAJ,EAAvB;AACA,gBAAIsW,OAAO,GAAG1W,KAAK,CAACG,SAAN,CAAgBwW,gBAAhB,CAAiC,KAAjC,CAAd;AACAD,mBAAO,CAACE,MAAR,GAAiB,KAAjB;AACA5W,iBAAK,CAACG,SAAN,CAAgB0W,gBAAhB,CAAiC,KAAjC,EAAwCH,OAAxC;AACA1W,iBAAK,CAACG,SAAN,CAAgB2W,UAAhB,GAA6B,mBAA7B;AACA;;AACA9W,iBAAK,CAACG,SAAN,CAAgBC,IAAhB,CAAqB2W,KAArB,GAA6B,CAC3B;AACE,uBAAS,KADX;AAEE,sBAAQ,CACN;AACE,yBAAS,OADX;AAEE,wBAAQ,CACN;AAAE,0BAAQ,KAAV;AAAiB,2BAAS;AAA1B,iBADM,EAEN;AAAE,0BAAQ,KAAV;AAAiB,2BAAS;AAA1B,iBAFM,EAGN;AACA;AAAE,0BAAQ,KAAV;AAAiB,2BAAS;AAA1B,iBAJM;AAFV,eADM,EASH;AACD,yBAAS,MADR;AAED,wBAAQ,CACN;AAAE,0BAAQ,MAAV;AAAkB,2BAAS;AAA3B,iBADM;AAFP,eATG,EAcH;AACD,yBAAS,OADR;AACiB,wBAAQ;AADzB,eAdG;AAFV,aAD2B,CAA7B;AAwBA,gBAAIC,aAAa,GAAG,EAApB;;AACA,gBAAI,QAAI,CAACjC,WAAL,IAAoB,QAAxB,EAAkC;AAChC;AACA;AACA;AACA,kBAAI,QAAI,CAACkC,YAAL,IAAqB,KAAzB,EAAgCD,aAAa,GAAG,OAAhB;AAChC,kBAAI,QAAI,CAACC,YAAL,IAAqB,MAAzB,EAAiCD,aAAa,GAAG,QAAhB,CALD,CAMhC;;AACA,kBAAI,QAAI,CAACC,YAAL,IAAqB,KAAzB,EAAgCD,aAAa,GAAG,OAAhB;AAChC,kBAAI,QAAI,CAACC,YAAL,IAAqB,KAAzB,EAAgCD,aAAa,GAAG,OAAhB;AAChC,kBAAI,QAAI,CAACC,YAAL,IAAqB,KAAzB,EAAgCD,aAAa,GAAG,OAAhB;AAChC,kBAAI,QAAI,CAACC,YAAL,IAAqB,KAAzB,EAAgCD,aAAa,GAAG,OAAhB;AAChC,kBAAI,QAAI,CAACC,YAAL,IAAqB,KAAzB,EAAgCD,aAAa,GAAG,OAAhB;AAChC,kBAAI,QAAI,CAACC,YAAL,IAAqB,KAAzB,EAAgCD,aAAa,GAAG,OAAhB;AACjC,aAbD,MAcK;AACHA,2BAAa,GAAG,QAAhB;AACD;;AAEDhX,iBAAK,CAACG,SAAN,CAAgBW,UAAhB,GAA6B;AAC3B,0BAAY,OADe;AAE3B,yBAAW,oBAAoBkW,aAFJ;AAG3B,yBAAW,QAAQA,aAHQ;AAI3B,wBAAU,QAAQA,aAJS;AAK3B,wBAAU,QAAQA,aALS;AAM3B,wBAAU,QAAQA;AANS,aAA7B;AASA;;AAEA,gBAAI74B,KAAK,GAAG6hB,KAAK,CAACmV,MAAN,CAAaC,MAAb,EAAZ;AACAj3B,iBAAK,CAACijB,IAAN,GAAa,wBAAb;AACAjjB,iBAAK,CAAC8yB,QAAN,GAAiB,EAAjB;AACA9yB,iBAAK,CAAC+yB,UAAN,GAAmB,MAAnB;AACA/yB,iBAAK,CAACk3B,YAAN,GAAqB,EAArB;AAEArV,iBAAK,CAAC1nB,IAAN,GAAaA,IAAb;AAEA;;AACA,gBAAIy4B,YAAY,GAAG/Q,KAAK,CAACgR,KAAN,CAAY93B,IAAZ,CAAiB,IAAI,uEAAJ,EAAjB,CAAnB;AACA63B,wBAAY,CAACjQ,UAAb,CAAwB3mB,QAAxB,GAAmC,UAAnC;AACA42B,wBAAY,CAACK,QAAb,CAAsBkE,eAAtB,GAAwC,EAAxC;AAGA;;AACA,gBAAI/D,SAAS,GAAGvR,KAAK,CAACwR,KAAN,CAAYt4B,IAAZ,CAAiB,IAAI,oEAAJ,EAAjB,CAAhB;AACAq4B,qBAAS,CAACH,QAAV,CAAmBlQ,MAAnB,CAA0BC,QAA1B,CAAmC+V,OAAnC,CAA2C9d,GAA3C,CAA+C,MAA/C,EAAuD,UAAUgI,IAAV,EAAgBnd,MAAhB,EAAwB;AAC7E,kBAAIkzB,GAAG,GAAG/V,IAAI,IAAI,MAAR,GAAiB,GAAjB,GAAuBA,IAAjC;AACA,qBAAO+V,GAAP;AACD,aAHD;AAIA;;AACAnX,iBAAK,CAAC7e,MAAN,CAAai2B,EAAb,CAAgB,qBAAhB,EAAuC,UAASC,EAAT,EAAa;AAClDtG,0BAAY,CAACxG,KAAb,GAAqB,CAArB;AACAwG,0BAAY,CAACvG,GAAb,GAAmB,GAAnB;AACA+G,uBAAS,CAAChH,KAAV,GAAkB,CAAlB;AACAgH,uBAAS,CAAC/G,GAAV,GAAgB,CAAhB;AACC,aALH;AAME;;AACF,gBAAI,QAAI,CAACuK,WAAL,IAAoB,OAAxB,EAAiC;AAC/BxD,uBAAS,CAACpzB,KAAV,CAAgBijB,IAAhB,GAAuB,KAAvB;AACApB,mBAAK,CAACsX,eAAN,CAAsBC,YAAtB,GAAqC,GAArC;AACAhG,uBAAS,CAACH,QAAV,CAAmBlQ,MAAnB,CAA0BC,QAA1B,CAAmC+V,OAAnC,CAA2C9d,GAA3C,CAA+C,MAA/C,EAAuD,UAAUgI,IAAV,EAAgBnd,MAAhB,EAAwB;AAC7E,oBAAIkzB,GAAG,GAAGK,UAAU,CAACpW,IAAD,CAAV,GAAmB,CAAnB,IAAwB,CAAxB,GAA4B,EAA5B,GAAiCrK,QAAQ,CAACqK,IAAD,CAAR,CAAeptB,QAAf,EAA3C;AACA,uBAAOmjC,GAAP;AACD,eAHD;AAID,aAPD,MAQK;AACH;AACA;AACA;AACA,kBAAI,QAAI,CAACF,YAAL,IAAqB,KAAzB,EAAgC1F,SAAS,CAACpzB,KAAV,CAAgBijB,IAAhB,GAAuB,KAAvB;AAChC,kBAAI,QAAI,CAAC6V,YAAL,IAAqB,MAAzB,EAAiC1F,SAAS,CAACpzB,KAAV,CAAgBijB,IAAhB,GAAuB,MAAvB,CAL9B,CAMH;;AACA,kBAAI,QAAI,CAAC6V,YAAL,IAAqB,KAAzB,EAAgC1F,SAAS,CAACpzB,KAAV,CAAgBijB,IAAhB,GAAuB,KAAvB;AAChC,kBAAI,QAAI,CAAC6V,YAAL,IAAqB,KAAzB,EAAgC1F,SAAS,CAACpzB,KAAV,CAAgBijB,IAAhB,GAAuB,KAAvB;AAChC,kBAAI,QAAI,CAAC6V,YAAL,IAAqB,KAAzB,EAAgC1F,SAAS,CAACpzB,KAAV,CAAgBijB,IAAhB,GAAuB,KAAvB;AAChC,kBAAI,QAAI,CAAC6V,YAAL,IAAqB,KAAzB,EAAgC1F,SAAS,CAACpzB,KAAV,CAAgBijB,IAAhB,GAAuB,KAAvB;AAChC,kBAAI,QAAI,CAAC6V,YAAL,IAAqB,KAAzB,EAAgC1F,SAAS,CAACpzB,KAAV,CAAgBijB,IAAhB,GAAuB,KAAvB;AAChC,kBAAI,QAAI,CAAC6V,YAAL,IAAqB,KAAzB,EAAgC1F,SAAS,CAACpzB,KAAV,CAAgBijB,IAAhB,GAAuB,KAAvB,CAZ7B,CAaJ;AACA;;AACDmQ,qBAAS,CAACpzB,KAAV,CAAgB+yB,UAAhB,GAA6B,MAA7B;AACAK,qBAAS,CAACpzB,KAAV,CAAgB8yB,QAAhB,GAA2B,MAA3B;AACAM,qBAAS,CAACgE,GAAV,GAAgB,CAAhB;AACAhE,qBAAS,CAACpwB,MAAV,CAAiBi2B,EAAjB,CAAoB,OAApB,EAA6B,UAAUC,EAAV,EAAc;AACzCA,gBAAE,CAACpzB,MAAH,CAAUsxB,GAAV,GAAgB8B,EAAE,CAACpzB,MAAH,CAAUsxB,GAA1B;AACA8B,gBAAE,CAACpzB,MAAH,CAAUwzB,GAAV,GAAgBJ,EAAE,CAACpzB,MAAH,CAAUwzB,GAA1B;AACA,kBAAIJ,EAAE,CAACpzB,MAAH,CAAUwzB,GAAV,GAAgB,GAApB,EAAyBlG,SAAS,CAACiE,QAAV,GAAqB,EAArB;AACzB,kBAAI6B,EAAE,CAACpzB,MAAH,CAAUwzB,GAAV,GAAgB,GAAhB,IAAuBJ,EAAE,CAACpzB,MAAH,CAAUwzB,GAAV,GAAgB,CAA3C,EAA8ClG,SAAS,CAACiE,QAAV,GAAqB,CAArB;AAC9C,kBAAI6B,EAAE,CAACpzB,MAAH,CAAUwzB,GAAV,GAAgB,CAApB,EAAuBlG,SAAS,CAACiE,QAAV,GAAqB,GAArB;AACvB,kBAAG6B,EAAE,CAACpzB,MAAH,CAAUwzB,GAAV,IAAiB3wC,SAApB,EAA+ByqC,SAAS,CAACiE,QAAV,GAAqB,GAArB;AAEhC,aARD;;AAUA,gBAAI,QAAI,CAACc,YAAL,IAAqB,IAAzB,EAA+B;AAC7Bn4B,mBAAK,CAACijB,IAAN,GAAa,wBAAb;AACA,kBAAIqU,UAAU,GAAGzV,KAAK,CAACW,MAAN,CAAaznB,IAAb,CAAkB,IAAI,qEAAJ,EAAlB,CAAjB;AACAu8B,wBAAU,CAAC7gC,IAAX,GAAkB,iBAAlB;AACA6gC,wBAAU,CAAC3U,UAAX,CAAsBiR,MAAtB,GAA+B,SAA/B;AACA0D,wBAAU,CAAC3U,UAAX,CAAsBkR,SAAtB,GAAkC,UAAlC;AACAyD,wBAAU,CAACC,OAAX,CAAmBC,iBAAnB,GAAuC,KAAvC;AACAF,wBAAU,CAACC,OAAX,CAAmBE,UAAnB,CAA8Bl5B,IAA9B,GAAqC,+DAAc,SAAd,CAArC,CAP6B,CAQ7B;;AAEA,kBAAIm5B,MAAM,GAAGJ,UAAU,CAACK,OAAX,CAAmB58B,IAAnB,CAAwB,IAAI,iEAAJ,EAAxB,CAAb;AACA28B,oBAAM,CAACn5B,IAAP,GAAc,+DAAc,SAAd,CAAd,CAX6B,CAWW;;AACxCm5B,oBAAM,CAACvU,WAAP,GAAqB,yGAArB;AACA,kBAAIyU,MAAM,GAAGF,MAAM,CAACG,WAAP,CAAmB,+DAAnB,CAAb;AACAD,oBAAM,CAACE,MAAP,GAAgB,CAAhB;AACAF,oBAAM,CAACr5B,IAAP,GAAc,+DAAc,MAAd,CAAd;AACAq5B,oBAAM,CAACG,WAAP,GAAqB,CAArB;AAEA,kBAAIC,WAAW,GAAGV,UAAU,CAACK,OAAX,CAAmB58B,IAAnB,CAAwB,IAAI,sEAAJ,EAAxB,CAAlB;AACAi9B,yBAAW,CAAC7M,KAAZ,CAAkBlI,IAAlB,GAAyB,WAAzB;AACA+U,yBAAW,CAAC7M,KAAZ,CAAkB8M,cAAlB,GAAmC,QAAnC;AACD;AAOD;;AACA;;;AACA,gBAAI,QAAI,CAACE,YAAL,IAAqB,KAAzB,EAAgC;AAC9Bn4B,mBAAK,CAACijB,IAAN,GAAa,YAAb;AACA,kBAAIsW,WAAW,GAAG1X,KAAK,CAACW,MAAN,CAAaznB,IAAb,CAAkB,IAAI,qEAAJ,EAAlB,CAAlB;AACAw+B,yBAAW,CAAC9iC,IAAZ,GAAmB,KAAnB;AACA8iC,yBAAW,CAAC5W,UAAZ,CAAuBiR,MAAvB,GAAgC,SAAhC;AACA2F,yBAAW,CAAC5W,UAAZ,CAAuBkR,SAAvB,GAAmC,UAAnC;AACA0F,yBAAW,CAAChC,OAAZ,CAAoBC,iBAApB,GAAwC,KAAxC;AACA+B,yBAAW,CAAChC,OAAZ,CAAoBE,UAApB,CAA+Bl5B,IAA/B,GAAsC,+DAAc,SAAd,CAAtC,CAP8B,CAQ9B;;AAEA,kBAAIi7B,OAAO,GAAGD,WAAW,CAAC5B,OAAZ,CAAoB58B,IAApB,CAAyB,IAAI,iEAAJ,EAAzB,CAAd;AACAy+B,qBAAO,CAACj7B,IAAR,GAAe,+DAAc,SAAd,CAAf,CAX8B,CAWW;;AACzCi7B,qBAAO,CAACrW,WAAR,GAAsB,yGAAtB;AACA,kBAAIsW,OAAO,GAAGD,OAAO,CAAC3B,WAAR,CAAoB,+DAApB,CAAd;AACA4B,qBAAO,CAAC3B,MAAR,GAAiB,CAAjB;AACA2B,qBAAO,CAACl7B,IAAR,GAAe,+DAAc,MAAd,CAAf;AACAk7B,qBAAO,CAAC1B,WAAR,GAAsB,CAAtB;AAEA,kBAAI2B,YAAY,GAAGH,WAAW,CAAC5B,OAAZ,CAAoB58B,IAApB,CAAyB,IAAI,sEAAJ,EAAzB,CAAnB;AACA2+B,0BAAY,CAACvO,KAAb,CAAmBlI,IAAnB,GAA0B,WAA1B;AACAyW,0BAAY,CAACvO,KAAb,CAAmB8M,cAAnB,GAAoC,QAApC;AACD;;AACD,gBAAI,QAAI,CAACE,YAAL,IAAqB,KAAzB,EAAgC;AAC9Bn4B,mBAAK,CAACijB,IAAN,GAAa,YAAb;AACA,kBAAI0W,WAAW,GAAG9X,KAAK,CAACW,MAAN,CAAaznB,IAAb,CAAkB,IAAI,qEAAJ,EAAlB,CAAlB;AACA4+B,yBAAW,CAACljC,IAAZ,GAAmB,KAAnB;AACAkjC,yBAAW,CAAChX,UAAZ,CAAuBiR,MAAvB,GAAgC,SAAhC;AACA+F,yBAAW,CAAChX,UAAZ,CAAuBkR,SAAvB,GAAmC,UAAnC;AACA8F,yBAAW,CAACpC,OAAZ,CAAoBC,iBAApB,GAAwC,KAAxC;AACAmC,yBAAW,CAACpC,OAAZ,CAAoBE,UAApB,CAA+Bl5B,IAA/B,GAAsC,+DAAc,SAAd,CAAtC,CAP8B,CAQ9B;;AAEA,kBAAIq7B,OAAO,GAAGD,WAAW,CAAChC,OAAZ,CAAoB58B,IAApB,CAAyB,IAAI,iEAAJ,EAAzB,CAAd;AACA6+B,qBAAO,CAACr7B,IAAR,GAAe,+DAAc,SAAd,CAAf,CAX8B,CAWW;;AACzCq7B,qBAAO,CAACzW,WAAR,GAAsB,yGAAtB;AACA,kBAAI0W,OAAO,GAAGD,OAAO,CAAC/B,WAAR,CAAoB,+DAApB,CAAd;AACAgC,qBAAO,CAAC/B,MAAR,GAAiB,CAAjB;AACA+B,qBAAO,CAACt7B,IAAR,GAAe,+DAAc,MAAd,CAAf;AACAs7B,qBAAO,CAAC9B,WAAR,GAAsB,CAAtB;AAEA,kBAAI+B,YAAY,GAAGH,WAAW,CAAChC,OAAZ,CAAoB58B,IAApB,CAAyB,IAAI,sEAAJ,EAAzB,CAAnB;AACA++B,0BAAY,CAAC3O,KAAb,CAAmBlI,IAAnB,GAA0B,WAA1B;AACA6W,0BAAY,CAAC3O,KAAb,CAAmB8M,cAAnB,GAAoC,QAApC;AACD;;AACD,gBAAI,QAAI,CAACE,YAAL,IAAqB,KAAzB,EAAgC;AAC9Bn4B,mBAAK,CAACijB,IAAN,GAAa,YAAb;AACA,kBAAI8W,WAAW,GAAGlY,KAAK,CAACW,MAAN,CAAaznB,IAAb,CAAkB,IAAI,qEAAJ,EAAlB,CAAlB;AACAg/B,yBAAW,CAACtjC,IAAZ,GAAmB,KAAnB;AACAsjC,yBAAW,CAACpX,UAAZ,CAAuBiR,MAAvB,GAAgC,SAAhC;AACAmG,yBAAW,CAACpX,UAAZ,CAAuBkR,SAAvB,GAAmC,UAAnC;AACAkG,yBAAW,CAACxC,OAAZ,CAAoBC,iBAApB,GAAwC,KAAxC;AACAuC,yBAAW,CAACxC,OAAZ,CAAoBE,UAApB,CAA+Bl5B,IAA/B,GAAsC,+DAAc,SAAd,CAAtC,CAP8B,CAQ9B;;AAEA,kBAAIy7B,OAAO,GAAGD,WAAW,CAACpC,OAAZ,CAAoB58B,IAApB,CAAyB,IAAI,iEAAJ,EAAzB,CAAd;AACAi/B,qBAAO,CAACz7B,IAAR,GAAe,+DAAc,SAAd,CAAf,CAX8B,CAWW;;AACzCy7B,qBAAO,CAAC7W,WAAR,GAAsB,yGAAtB;AACA,kBAAI8W,OAAO,GAAGD,OAAO,CAACnC,WAAR,CAAoB,+DAApB,CAAd;AACAoC,qBAAO,CAACnC,MAAR,GAAiB,CAAjB;AACAmC,qBAAO,CAAC17B,IAAR,GAAe,+DAAc,MAAd,CAAf;AACA07B,qBAAO,CAAClC,WAAR,GAAsB,CAAtB;AAEA,kBAAImC,YAAY,GAAGH,WAAW,CAACpC,OAAZ,CAAoB58B,IAApB,CAAyB,IAAI,sEAAJ,EAAzB,CAAnB;AACAm/B,0BAAY,CAAC/O,KAAb,CAAmBlI,IAAnB,GAA0B,WAA1B;AACAiX,0BAAY,CAAC/O,KAAb,CAAmB8M,cAAnB,GAAoC,QAApC;AACD;AAKD;;AACA;;;AAEA,gBAAIkC,WAAW,GAAGtY,KAAK,CAACW,MAAN,CAAaznB,IAAb,CAAkB,IAAI,qEAAJ,EAAlB,CAAlB;AACAo/B,uBAAW,CAAC1jC,IAAZ,GAAmB,KAAnB;AACA0jC,uBAAW,CAACxX,UAAZ,CAAuBiR,MAAvB,GAAgC,SAAhC;AACAuG,uBAAW,CAACxX,UAAZ,CAAuBkR,SAAvB,GAAmC,UAAnC;AACAsG,uBAAW,CAAC5C,OAAZ,CAAoBC,iBAApB,GAAwC,KAAxC;AACA2C,uBAAW,CAAC5C,OAAZ,CAAoBE,UAApB,CAA+Bl5B,IAA/B,GAAsC,+DAAc,SAAd,CAAtC;AACA47B,uBAAW,CAACxG,MAAZ,GAAqB,+DAAc,SAAd,CAArB,CApPqG,CAoPtD;;AAE/C,gBAAIyG,OAAO,GAAGD,WAAW,CAACxC,OAAZ,CAAoB58B,IAApB,CAAyB,IAAI,iEAAJ,EAAzB,CAAd;AACAq/B,mBAAO,CAAC77B,IAAR,GAAe,+DAAc,SAAd,CAAf,CAvPqG,CAuP5D;;AACzC67B,mBAAO,CAACjX,WAAR,GAAsB,yGAAtB;AACA,gBAAIkX,OAAO,GAAGD,OAAO,CAACvC,WAAR,CAAoB,+DAApB,CAAd;AACAwC,mBAAO,CAACvC,MAAR,GAAiB,CAAjB;AACAuC,mBAAO,CAAC97B,IAAR,GAAe,+DAAc,MAAd,CAAf;AACA87B,mBAAO,CAACtC,WAAR,GAAsB,CAAtB;AAEA,gBAAIuC,YAAY,GAAGH,WAAW,CAACxC,OAAZ,CAAoB58B,IAApB,CAAyB,IAAI,sEAAJ,EAAzB,CAAnB;AACAu/B,wBAAY,CAACnP,KAAb,CAAmBlI,IAAnB,GAA0B,WAA1B;AACAqX,wBAAY,CAACnP,KAAb,CAAmB8M,cAAnB,GAAoC,QAApC;AAEApW,iBAAK,CAACiS,MAAN,GAAe,IAAI,iEAAJ,EAAf;AAEA,oBAAI,CAACjxB,UAAL,GAAkB,KAAlB;AAED,WAtQD,EAsQG,UAAAsC,KAAK,EAAI;AACV,oBAAI,CAACtC,UAAL,GAAkB,KAAlB;AAED,WAzQD;AA2QD;;;;;;;uBA/SUq1B,sB,EAAsB,yH,EAAA,6I;AAAA,K;;;YAAtBA,sB;AAAsB,yC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;AAAA,oF;AAAA,e;AAAA,a;AAAA,wjB;AAAA;AAAA;ACVnC;;AACI;;AACI;;AACI;;AACI;;AACK;;AACL;;AACJ;;AACJ;;AASA;;AACI;;AAA0E;AAAA;AAAA,aAA0B,QAA1B,EAA0B;AAAA,mBACtF,IAAAqC,cAAA,EADsF;AACtE,WAD4C;;AAEtE;;AAA0B;;AAAM;;AAChC;;AAAmB;;AAAe;;AAClC;;AAAoB;;AAAG;;AACvB;;AAAoB;;AAAG;;AACvB;;AAAoB;;AAAG;;AAC3B;;AACJ;;AACJ;;AACA;;AACI;;AACJ;;AACJ;;;;AAbsF;;AAAA;;;;;;;;;sEDRzErC,sB,EAAsB;cALlC,uDAKkC;eALxB;AACTvxB,kBAAQ,EAAE,oBADD;AAETC,qBAAW,EAAE,iCAFJ;AAGTC,mBAAS,EAAE,CAAC,iCAAD;AAHF,S;AAKwB,Q;;;;;;;;gBAEhC;;;gBAKA;;;gBACA;;;gBACA;;;gBACA;;;gBACA;;;;;;;;;;;;;;;;;;;;AEtBH;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAYa2zB,0B;AAYX,0CAAoBx4B,MAApB,EAAmDrL,aAAnD,EAAiF;AAAA;;AAA7D,aAAAqL,MAAA,GAAAA,MAAA;AAA+B,aAAArL,aAAA,GAAAA,aAAA;AATnD,aAAAkM,UAAA,GAAsB,KAAtB;AAOA,aAAA+zB,WAAA,GAAsB,QAAtB;AACA,aAAAuB,YAAA,GAAuB,IAAvB;AACoF;;;;mCAEzE;AAET,eAAKsC,iBAAL;AAED;;;sCAEU;AACT,cAAI,KAAKpC,aAAT,EAAwB,KAAKoC,iBAAL;AACzB;;;yCAEgB;AACf,eAAKA,iBAAL;AACD;;;4CAEmB;AAAA;;AAElB,eAAK53B,UAAL,GAAkB,IAAlB;AACA,cAAIrK,WAAW,GAAG,EAAlB;AACAA,qBAAW,IAAI,iBAAiB,KAAKo+B,WAArC;AACAp+B,qBAAW,IAAI,WAAW,KAAK1K,IAA/B;AACA0K,qBAAW,IAAI,eAAe,KAAK0pB,MAAnC;AACA1pB,qBAAW,IAAI,eAAe,KAAK8/B,QAAnC;AAEA,eAAK3hC,aAAL,CAAmBE,OAAnB,CAA2B,WAA3B,EAAwC,mBAAxC,EAA6D2B,WAA7D,EAA0E2K,SAA1E,CAAoF,UAAChJ,IAAD,EAAe;AACnG;AACE,gBAAI0nB,KAAK,GAAG,gEAAe,mBAAf,EAAoC,kEAApC,CAAZ,CAFiG,CAGjG;;;AACAA,iBAAK,CAACkS,UAAN,GAAmB,IAAI,kEAAJ,EAAnB;AACAlS,iBAAK,CAACiV,UAAN,GAAmB,IAAI,kEAAJ,EAAnB,CALiG,CAMlG;AACC;;AACAjV,iBAAK,CAACkS,UAAN,CAAiBgD,UAAjB,GAA8B,KAA9B;AACAlV,iBAAK,CAACiV,UAAN,CAAiBC,UAAjB,GAA8B,KAA9B;AACAlV,iBAAK,CAACG,SAAN,CAAgBC,IAAhB,GAAuB,IAAI,mEAAJ,EAAvB;AACA,gBAAIsW,OAAO,GAAG1W,KAAK,CAACG,SAAN,CAAgBwW,gBAAhB,CAAiC,KAAjC,CAAd;AACAD,mBAAO,CAACE,MAAR,GAAiB,KAAjB;AACA5W,iBAAK,CAACG,SAAN,CAAgB0W,gBAAhB,CAAiC,KAAjC,EAAwCH,OAAxC;AACA1W,iBAAK,CAACG,SAAN,CAAgB2W,UAAhB,GAA6B,aAA7B;AACA;;AACA9W,iBAAK,CAACG,SAAN,CAAgBC,IAAhB,CAAqB2W,KAArB,GAA6B,CAC3B;AACE,uBAAS,KADX;AAEE,sBAAQ,CACN;AACE,yBAAS,OADX;AAEE,wBAAQ,CACN;AAAE,0BAAQ,KAAV;AAAiB,2BAAS;AAA1B,iBADM,EAEN;AAAE,0BAAQ,KAAV;AAAiB,2BAAS;AAA1B,iBAFM,EAGN;AACA;AAAE,0BAAQ,KAAV;AAAiB,2BAAS;AAA1B,iBAJM;AAFV,eADM,EASH;AACD,yBAAS,MADR;AAED,wBAAQ,CACN;AAAE,0BAAQ,MAAV;AAAkB,2BAAS;AAA3B,iBADM;AAFP,eATG,EAcH;AACD,yBAAS,OADR;AACiB,wBAAQ;AADzB,eAdG;AAFV,aAD2B,CAA7B;AAuBA,gBAAIC,aAAa,GAAG,EAApB;;AACA,gBAAI,QAAI,CAACjC,WAAL,IAAoB,QAAxB,EAAkC;AAChC;AACA;AACA;AACA,kBAAI,QAAI,CAACkC,YAAL,IAAqB,KAAzB,EAAgCD,aAAa,GAAG,OAAhB;AAChC,kBAAI,QAAI,CAACC,YAAL,IAAqB,MAAzB,EAAiCD,aAAa,GAAG,QAAhB,CALD,CAMhC;;AACA,kBAAI,QAAI,CAACC,YAAL,IAAqB,KAAzB,EAAgCD,aAAa,GAAG,OAAhB;AAChC,kBAAI,QAAI,CAACC,YAAL,IAAqB,KAAzB,EAAgCD,aAAa,GAAG,OAAhB;AAChC,kBAAI,QAAI,CAACC,YAAL,IAAqB,KAAzB,EAAgCD,aAAa,GAAG,OAAhB;AAChC,kBAAI,QAAI,CAACC,YAAL,IAAqB,KAAzB,EAAgCD,aAAa,GAAG,OAAhB;AAChC,kBAAI,QAAI,CAACC,YAAL,IAAqB,KAAzB,EAAgCD,aAAa,GAAG,OAAhB;AAChC,kBAAI,QAAI,CAACC,YAAL,IAAqB,KAAzB,EAAgCD,aAAa,GAAG,OAAhB;AACjC,aAbD,MAcK;AACHA,2BAAa,GAAG,QAAhB;AACD;;AACDhX,iBAAK,CAACG,SAAN,CAAgBW,UAAhB,GAA6B;AAC3B,0BAAY,OADe;AAE3B,yBAAW,iBAAiBkW,aAFD;AAG3B,yBAAW,QAAQA,aAHQ;AAI3B,yBAAW,QAAQA,aAJQ;AAK3B,yBAAW,QAAQA,aALQ;AAM3B,yBAAW,QAAQA;AANQ,aAA7B;AAQA;;AAEA,gBAAI74B,KAAK,GAAG6hB,KAAK,CAACmV,MAAN,CAAaC,MAAb,EAAZ;AACAj3B,iBAAK,CAACijB,IAAN,GAAa,iBAAb;AACAjjB,iBAAK,CAAC8yB,QAAN,GAAiB,EAAjB;AACA9yB,iBAAK,CAAC+yB,UAAN,GAAmB,MAAnB;AACA/yB,iBAAK,CAACk3B,YAAN,GAAqB,EAArB;AAEArV,iBAAK,CAAC1nB,IAAN,GAAaA,IAAb;AAEA;;AACA,gBAAIy4B,YAAY,GAAG/Q,KAAK,CAACgR,KAAN,CAAY93B,IAAZ,CAAiB,IAAI,uEAAJ,EAAjB,CAAnB;AACA63B,wBAAY,CAACjQ,UAAb,CAAwB3mB,QAAxB,GAAmC,UAAnC;AACA42B,wBAAY,CAACK,QAAb,CAAsBkE,eAAtB,GAAwC,EAAxC;AAIA;;AACA,gBAAI/D,SAAS,GAAGvR,KAAK,CAACwR,KAAN,CAAYt4B,IAAZ,CAAiB,IAAI,oEAAJ,EAAjB,CAAhB;AAA6Dq4B,qBAAS,CAACH,QAAV,CAAmBlQ,MAAnB,CAA0BC,QAA1B,CAAmC+V,OAAnC,CAA2C9d,GAA3C,CAA+C,MAA/C,EAAuD,UAAUgI,IAAV,EAAgBnd,MAAhB,EAAwB;AAC1I,kBAAIkzB,GAAG,GAAG/V,IAAI,IAAI,MAAR,GAAiB,GAAjB,GAAuBA,IAAjC;AACA,qBAAO+V,GAAP;AACD,aAH4D;AAI3D;;AACAnX,iBAAK,CAAC7e,MAAN,CAAai2B,EAAb,CAAgB,qBAAhB,EAAuC,UAASC,EAAT,EAAa;AAClDtG,0BAAY,CAACxG,KAAb,GAAqB,CAArB;AACAwG,0BAAY,CAACvG,GAAb,GAAmB,GAAnB;AACA+G,uBAAS,CAAChH,KAAV,GAAkB,CAAlB;AACAgH,uBAAS,CAAC/G,GAAV,GAAgB,CAAhB;AACC,aALH;AAME;;AACJ,gBAAI,QAAI,CAACuK,WAAL,IAAoB,OAAxB,EAAiC;AAC/BxD,uBAAS,CAACpzB,KAAV,CAAgBijB,IAAhB,GAAuB,KAAvB;AACApB,mBAAK,CAACsX,eAAN,CAAsBC,YAAtB,GAAqC,GAArC;AACAhG,uBAAS,CAACH,QAAV,CAAmBlQ,MAAnB,CAA0BC,QAA1B,CAAmC+V,OAAnC,CAA2C9d,GAA3C,CAA+C,MAA/C,EAAuD,UAAUgI,IAAV,EAAgBnd,MAAhB,EAAwB;AAC7E,oBAAIkzB,GAAG,GAAGK,UAAU,CAACpW,IAAD,CAAV,GAAmB,CAAnB,IAAwB,CAAxB,GAA4B,EAA5B,GAAiCrK,QAAQ,CAACqK,IAAD,CAAR,CAAeptB,QAAf,EAA3C;AACA,uBAAOmjC,GAAP;AACD,eAHD;AAID,aAPD,MAQK;AACH;AACA;AACA;AACA,kBAAI,QAAI,CAACF,YAAL,IAAqB,KAAzB,EAAgC1F,SAAS,CAACpzB,KAAV,CAAgBijB,IAAhB,GAAuB,KAAvB;AAChC,kBAAI,QAAI,CAAC6V,YAAL,IAAqB,MAAzB,EAAiC1F,SAAS,CAACpzB,KAAV,CAAgBijB,IAAhB,GAAuB,MAAvB,CAL9B,CAMH;;AACA,kBAAI,QAAI,CAAC6V,YAAL,IAAqB,KAAzB,EAAgC1F,SAAS,CAACpzB,KAAV,CAAgBijB,IAAhB,GAAuB,KAAvB;AAChC,kBAAI,QAAI,CAAC6V,YAAL,IAAqB,KAAzB,EAAgC1F,SAAS,CAACpzB,KAAV,CAAgBijB,IAAhB,GAAuB,KAAvB;AAChC,kBAAI,QAAI,CAAC6V,YAAL,IAAqB,KAAzB,EAAgC1F,SAAS,CAACpzB,KAAV,CAAgBijB,IAAhB,GAAuB,KAAvB;AAChC,kBAAI,QAAI,CAAC6V,YAAL,IAAqB,KAAzB,EAAgC1F,SAAS,CAACpzB,KAAV,CAAgBijB,IAAhB,GAAuB,KAAvB;AAChC,kBAAI,QAAI,CAAC6V,YAAL,IAAqB,KAAzB,EAAgC1F,SAAS,CAACpzB,KAAV,CAAgBijB,IAAhB,GAAuB,KAAvB;AAChC,kBAAI,QAAI,CAAC6V,YAAL,IAAqB,KAAzB,EAAgC1F,SAAS,CAACpzB,KAAV,CAAgBijB,IAAhB,GAAuB,KAAvB,CAZ7B,CAaJ;AACA;;AACDmQ,qBAAS,CAACpzB,KAAV,CAAgB+yB,UAAhB,GAA6B,MAA7B;AACAK,qBAAS,CAACpzB,KAAV,CAAgB8yB,QAAhB,GAA2B,MAA3B;AACAM,qBAAS,CAACgE,GAAV,GAAgB,CAAhB;AACAhE,qBAAS,CAACiE,QAAV,GAAqB,GAArB;AACAjE,qBAAS,CAACpwB,MAAV,CAAiBi2B,EAAjB,CAAoB,OAApB,EAA6B,UAAUC,EAAV,EAAc;AACzCA,gBAAE,CAACpzB,MAAH,CAAUsxB,GAAV,GAAgB8B,EAAE,CAACpzB,MAAH,CAAUsxB,GAA1B;AACA8B,gBAAE,CAACpzB,MAAH,CAAUwzB,GAAV,GAAgBJ,EAAE,CAACpzB,MAAH,CAAUwzB,GAA1B;AACA,kBAAIJ,EAAE,CAACpzB,MAAH,CAAUwzB,GAAV,GAAgB,GAApB,EAAyBlG,SAAS,CAACiE,QAAV,GAAqB,EAArB;AACzB,kBAAI6B,EAAE,CAACpzB,MAAH,CAAUwzB,GAAV,GAAgB,GAAhB,IAAuBJ,EAAE,CAACpzB,MAAH,CAAUwzB,GAAV,GAAgB,CAA3C,EAA8ClG,SAAS,CAACiE,QAAV,GAAqB,CAArB;AAC9C,kBAAI6B,EAAE,CAACpzB,MAAH,CAAUwzB,GAAV,GAAgB,CAApB,EAAuBlG,SAAS,CAACiE,QAAV,GAAqB,GAArB;AACvB,kBAAI6B,EAAE,CAACpzB,MAAH,CAAUwzB,GAAV,IAAiB3wC,SAArB,EAAgCyqC,SAAS,CAACiE,QAAV,GAAqB,GAArB;AACjC,aAPD;;AAUA,gBAAI,QAAI,CAACc,YAAL,IAAqB,IAAzB,EAA+B;AAC7Bn4B,mBAAK,CAACijB,IAAN,GAAa,sBAAb;AACA,kBAAIqU,UAAU,GAAGzV,KAAK,CAACW,MAAN,CAAaznB,IAAb,CAAkB,IAAI,qEAAJ,EAAlB,CAAjB;AACAu8B,wBAAU,CAAC7gC,IAAX,GAAkB,eAAlB;AACA6gC,wBAAU,CAAC3U,UAAX,CAAsBiR,MAAtB,GAA+B,SAA/B;AACA0D,wBAAU,CAAC3U,UAAX,CAAsBkR,SAAtB,GAAkC,UAAlC;AACAyD,wBAAU,CAACC,OAAX,CAAmBC,iBAAnB,GAAuC,KAAvC;AACAF,wBAAU,CAACC,OAAX,CAAmBE,UAAnB,CAA8Bl5B,IAA9B,GAAqC,+DAAc,SAAd,CAArC,CAP6B,CAQ7B;;AAEA,kBAAIm5B,MAAM,GAAGJ,UAAU,CAACK,OAAX,CAAmB58B,IAAnB,CAAwB,IAAI,iEAAJ,EAAxB,CAAb;AACA28B,oBAAM,CAACn5B,IAAP,GAAc,+DAAc,SAAd,CAAd,CAX6B,CAWW;;AACxCm5B,oBAAM,CAACvU,WAAP,GAAqB,yGAArB;AACA,kBAAIyU,MAAM,GAAGF,MAAM,CAACG,WAAP,CAAmB,+DAAnB,CAAb;AACAD,oBAAM,CAACE,MAAP,GAAgB,CAAhB;AACAF,oBAAM,CAACr5B,IAAP,GAAc,+DAAc,MAAd,CAAd;AACAq5B,oBAAM,CAACG,WAAP,GAAqB,CAArB;AAEA,kBAAIC,WAAW,GAAGV,UAAU,CAACK,OAAX,CAAmB58B,IAAnB,CAAwB,IAAI,sEAAJ,EAAxB,CAAlB;AACAi9B,yBAAW,CAAC7M,KAAZ,CAAkBlI,IAAlB,GAAyB,WAAzB;AACA+U,yBAAW,CAAC7M,KAAZ,CAAkB8M,cAAlB,GAAmC,QAAnC;AACD;AAQD;;AACA;;;AAEA,gBAAI,QAAI,CAACE,YAAL,IAAqB,KAAzB,EAAgC;AAC9Bn4B,mBAAK,CAACijB,IAAN,GAAa,YAAb;AACA,kBAAIsW,WAAW,GAAG1X,KAAK,CAACW,MAAN,CAAaznB,IAAb,CAAkB,IAAI,qEAAJ,EAAlB,CAAlB;AACAw+B,yBAAW,CAAC9iC,IAAZ,GAAmB,KAAnB;AACA8iC,yBAAW,CAAC5W,UAAZ,CAAuBiR,MAAvB,GAAgC,SAAhC;AACA2F,yBAAW,CAAC5W,UAAZ,CAAuBkR,SAAvB,GAAmC,UAAnC;AACA0F,yBAAW,CAAChC,OAAZ,CAAoBC,iBAApB,GAAwC,KAAxC;AACA+B,yBAAW,CAAChC,OAAZ,CAAoBE,UAApB,CAA+Bl5B,IAA/B,GAAsC,+DAAc,SAAd,CAAtC,CAP8B,CAQ9B;;AAEA,kBAAIi7B,OAAO,GAAGD,WAAW,CAAC5B,OAAZ,CAAoB58B,IAApB,CAAyB,IAAI,iEAAJ,EAAzB,CAAd;AACAy+B,qBAAO,CAACj7B,IAAR,GAAe,+DAAc,SAAd,CAAf,CAX8B,CAWW;;AACzCi7B,qBAAO,CAACrW,WAAR,GAAsB,yGAAtB;AACA,kBAAIsW,OAAO,GAAGD,OAAO,CAAC3B,WAAR,CAAoB,+DAApB,CAAd;AACA4B,qBAAO,CAAC3B,MAAR,GAAiB,CAAjB;AACA2B,qBAAO,CAACl7B,IAAR,GAAe,+DAAc,MAAd,CAAf;AACAk7B,qBAAO,CAAC1B,WAAR,GAAsB,CAAtB;AAEA,kBAAI2B,YAAY,GAAGH,WAAW,CAAC5B,OAAZ,CAAoB58B,IAApB,CAAyB,IAAI,sEAAJ,EAAzB,CAAnB;AACA2+B,0BAAY,CAACvO,KAAb,CAAmBlI,IAAnB,GAA0B,WAA1B;AACAyW,0BAAY,CAACvO,KAAb,CAAmB8M,cAAnB,GAAoC,QAApC;AACD;;AACD,gBAAI,QAAI,CAACE,YAAL,IAAqB,KAAzB,EAAgC;AAC9Bn4B,mBAAK,CAACijB,IAAN,GAAa,YAAb;AACA,kBAAI0W,WAAW,GAAG9X,KAAK,CAACW,MAAN,CAAaznB,IAAb,CAAkB,IAAI,qEAAJ,EAAlB,CAAlB;AACA4+B,yBAAW,CAACljC,IAAZ,GAAmB,KAAnB;AACAkjC,yBAAW,CAAChX,UAAZ,CAAuBiR,MAAvB,GAAgC,SAAhC;AACA+F,yBAAW,CAAChX,UAAZ,CAAuBkR,SAAvB,GAAmC,UAAnC;AACA8F,yBAAW,CAACpC,OAAZ,CAAoBC,iBAApB,GAAwC,KAAxC;AACAmC,yBAAW,CAACpC,OAAZ,CAAoBE,UAApB,CAA+Bl5B,IAA/B,GAAsC,+DAAc,SAAd,CAAtC,CAP8B,CAQ9B;;AAEA,kBAAIq7B,OAAO,GAAGD,WAAW,CAAChC,OAAZ,CAAoB58B,IAApB,CAAyB,IAAI,iEAAJ,EAAzB,CAAd;AACA6+B,qBAAO,CAACr7B,IAAR,GAAe,+DAAc,SAAd,CAAf,CAX8B,CAWW;;AACzCq7B,qBAAO,CAACzW,WAAR,GAAsB,yGAAtB;AACA,kBAAI0W,OAAO,GAAGD,OAAO,CAAC/B,WAAR,CAAoB,+DAApB,CAAd;AACAgC,qBAAO,CAAC/B,MAAR,GAAiB,CAAjB;AACA+B,qBAAO,CAACt7B,IAAR,GAAe,+DAAc,MAAd,CAAf;AACAs7B,qBAAO,CAAC9B,WAAR,GAAsB,CAAtB;AAEA,kBAAI+B,YAAY,GAAGH,WAAW,CAAChC,OAAZ,CAAoB58B,IAApB,CAAyB,IAAI,sEAAJ,EAAzB,CAAnB;AACA++B,0BAAY,CAAC3O,KAAb,CAAmBlI,IAAnB,GAA0B,WAA1B;AACA6W,0BAAY,CAAC3O,KAAb,CAAmB8M,cAAnB,GAAoC,QAApC;AACD;;AACD,gBAAI,QAAI,CAACE,YAAL,IAAqB,KAAzB,EAAgC;AAC9Bn4B,mBAAK,CAACijB,IAAN,GAAa,YAAb;AACA,kBAAI8W,WAAW,GAAGlY,KAAK,CAACW,MAAN,CAAaznB,IAAb,CAAkB,IAAI,qEAAJ,EAAlB,CAAlB;AACAg/B,yBAAW,CAACtjC,IAAZ,GAAmB,KAAnB;AACAsjC,yBAAW,CAACpX,UAAZ,CAAuBiR,MAAvB,GAAgC,SAAhC;AACAmG,yBAAW,CAACpX,UAAZ,CAAuBkR,SAAvB,GAAmC,UAAnC;AACAkG,yBAAW,CAACxC,OAAZ,CAAoBC,iBAApB,GAAwC,KAAxC;AACAuC,yBAAW,CAACxC,OAAZ,CAAoBE,UAApB,CAA+Bl5B,IAA/B,GAAsC,+DAAc,SAAd,CAAtC,CAP8B,CAQ9B;;AAEA,kBAAIy7B,OAAO,GAAGD,WAAW,CAACpC,OAAZ,CAAoB58B,IAApB,CAAyB,IAAI,iEAAJ,EAAzB,CAAd;AACAi/B,qBAAO,CAACz7B,IAAR,GAAe,+DAAc,SAAd,CAAf,CAX8B,CAWW;;AACzCy7B,qBAAO,CAAC7W,WAAR,GAAsB,yGAAtB;AACA,kBAAI8W,OAAO,GAAGD,OAAO,CAACnC,WAAR,CAAoB,+DAApB,CAAd;AACAoC,qBAAO,CAACnC,MAAR,GAAiB,CAAjB;AACAmC,qBAAO,CAAC17B,IAAR,GAAe,+DAAc,MAAd,CAAf;AACA07B,qBAAO,CAAClC,WAAR,GAAsB,CAAtB;AAEA,kBAAImC,YAAY,GAAGH,WAAW,CAACpC,OAAZ,CAAoB58B,IAApB,CAAyB,IAAI,sEAAJ,EAAzB,CAAnB;AACAm/B,0BAAY,CAAC/O,KAAb,CAAmBlI,IAAnB,GAA0B,WAA1B;AACAiX,0BAAY,CAAC/O,KAAb,CAAmB8M,cAAnB,GAAoC,QAApC;AACD;AAKD;;AACA;;;AACA,gBAAIkC,WAAW,GAAGtY,KAAK,CAACW,MAAN,CAAaznB,IAAb,CAAkB,IAAI,qEAAJ,EAAlB,CAAlB;AACAo/B,uBAAW,CAAC1jC,IAAZ,GAAmB,KAAnB;AACA0jC,uBAAW,CAACxX,UAAZ,CAAuBiR,MAAvB,GAAgC,SAAhC;AACAuG,uBAAW,CAACxX,UAAZ,CAAuBkR,SAAvB,GAAmC,UAAnC;AACAsG,uBAAW,CAAC5C,OAAZ,CAAoBC,iBAApB,GAAwC,KAAxC;AACA2C,uBAAW,CAAC5C,OAAZ,CAAoBE,UAApB,CAA+Bl5B,IAA/B,GAAsC,+DAAc,SAAd,CAAtC;AACA47B,uBAAW,CAACxG,MAAZ,GAAqB,+DAAc,SAAd,CAArB,CAlPiG,CAkPlD;;AAE/C,gBAAIyG,OAAO,GAAGD,WAAW,CAACxC,OAAZ,CAAoB58B,IAApB,CAAyB,IAAI,iEAAJ,EAAzB,CAAd;AACAq/B,mBAAO,CAAC77B,IAAR,GAAe,+DAAc,SAAd,CAAf,CArPiG,CAqPxD;;AACzC67B,mBAAO,CAACjX,WAAR,GAAsB,yGAAtB;AACA,gBAAIkX,OAAO,GAAGD,OAAO,CAACvC,WAAR,CAAoB,+DAApB,CAAd;AACAwC,mBAAO,CAACvC,MAAR,GAAiB,CAAjB;AACAuC,mBAAO,CAAC97B,IAAR,GAAe,+DAAc,MAAd,CAAf;AACA87B,mBAAO,CAACtC,WAAR,GAAsB,CAAtB;AAEA,gBAAIuC,YAAY,GAAGH,WAAW,CAACxC,OAAZ,CAAoB58B,IAApB,CAAyB,IAAI,sEAAJ,EAAzB,CAAnB;AACAu/B,wBAAY,CAACnP,KAAb,CAAmBlI,IAAnB,GAA0B,WAA1B;AACAqX,wBAAY,CAACnP,KAAb,CAAmB8M,cAAnB,GAAoC,QAApC;AAGApW,iBAAK,CAACiS,MAAN,GAAe,IAAI,iEAAJ,EAAf;AAEA,oBAAI,CAACjxB,UAAL,GAAkB,KAAlB;AACD,WApQD,EAoQG,UAAAsC,KAAK,EAAI;AACV,oBAAI,CAACtC,UAAL,GAAkB,KAAlB;AAED,WAvQD;AAwQD;;;;;;;uBA7SU23B,0B,EAA0B,yH,EAAA,6I;AAAA,K;;;YAA1BA,0B;AAA0B,8C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;AAAA,oF;AAAA,e;AAAA,a;AAAA,4jB;AAAA;AAAA;ACXvC;;AACI;;AACI;;AACI;;AACI;;AACK;;AACL;;AACJ;;AACJ;;AASA;;AACI;;AAA0E;AAAA;AAAA,aAA0B,QAA1B,EAA0B;AAAA,mBACtF,IAAAD,cAAA,EADsF;AACtE,WAD4C;;AAEtE;;AAA0B;;AAAM;;AAChC;;AAAmB;;AAAa;;AAChC;;AAAoB;;AAAG;;AACvB;;AAAoB;;AAAG;;AACvB;;AAAoB;;AAAG;;AAC3B;;AACJ;;AACJ;;AACA;;AACI;;AACJ;;AACJ;;;;AAbsF;;AAAA;;;;;;;;;sEDPzEC,0B,EAA0B;cALtC,uDAKsC;eAL5B;AACT7zB,kBAAQ,EAAE,yBADD;AAETC,qBAAW,EAAE,sCAFJ;AAGTC,mBAAS,EAAE,CAAC,sCAAD;AAHF,S;AAK4B,Q;;;;;;;;gBAEpC;;;gBAEA;;;gBAEA;;;gBACA;;;gBACA;;;gBACA;;;;;;;;;;;;;;;;;;;;AErBH;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;;;ACiBoC;;AACI;;AACJ;;;;;;AAFsC;;AAClC;;AAAA;;;;;;AAcJ;;AACI;;AAAa;;;;;;AADsC;;AACnD;;AAAA;;;;;;AAYJ;;AACI;;AAAa;;;;;;AADwC;;AACrD;;AAAA;;;;;;;;AAuDA;;AACI;;AAA6C;;AACrC;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAqC;;AAAG;;AAAe;;AAAI;;AAAI;;AACvE;;AAAwB;;AAAyB;;AACjD;;AAAwB;;AAAY;;AACpC;;AAAwB;;AAA0B;;AAClD;;AAAwB;;AAA0B;;AAClD;;AAAwB;;AAAuB;;AACnD;;;;;;AANoD;;AAAA;;AACxB;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;;;QDxFvD6zB,kB;AAgCX,kCAAoB14B,MAApB,EAAmDyZ,YAAnD,EAAmF9kB,aAAnF,EAEUgkC,kBAFV,EAE4Dv4B,KAF5D,EAE2FD,YAF3F,EAGUG,gBAHV,EAG8C;AAAA;;AAH1B,aAAAN,MAAA,GAAAA,MAAA;AAA+B,aAAAyZ,YAAA,GAAAA,YAAA;AAAgC,aAAA9kB,aAAA,GAAAA,aAAA;AAEzE,aAAAgkC,kBAAA,GAAAA,kBAAA;AAAkD,aAAAv4B,KAAA,GAAAA,KAAA;AAA+B,aAAAD,YAAA,GAAAA,YAAA;AACjF,aAAAG,gBAAA,GAAAA,gBAAA;AAhCV,aAAAxU,IAAA,GAAe,IAAIzjB,IAAJ,GAAWmwC,WAAX,EAAf;AAGA,aAAA3X,UAAA,GAAsB,KAAtB;AACA,aAAA+3B,QAAA,GAAkB,EAAlB;AACA,aAAArgB,QAAA,GAAmB,IAAIlwC,IAAJ,GAAWmwC,WAAX,EAAnB;AAIA,aAAAoc,WAAA,GAAsB,QAAtB;AACA,aAAAiE,WAAA,GAAsB,CAAtB;AACA,aAAAC,eAAA,GAA2B,EAA3B;AACA,aAAAC,SAAA,GAAoB,CAApB;AAEA,aAAArf,QAAA,GAAW,2DAAX;AACA,aAAAsf,cAAA,GAAyB,CAAzB;AACA,aAAAC,MAAA,GAAiB,CAAjB;AACA,aAAAC,YAAA,GAAuB,CAAvB;AACA,aAAAC,cAAA,GAAyB,CAAzB;AACA,aAAAC,QAAA,GAAmB,CAAnB;AACA,aAAAC,YAAA,GAAsB,EAAtB;AAIA,aAAAC,YAAA,GAAuB,MAAvB;AAEA,aAAAjD,aAAA,GAAyB,KAAzB;AAMiD;;;;mCAEzC;AACN,cAAMj1B,SAAS,GAAG,KAAKd,gBAAL,CAAsBe,SAAtB,EAAlB;AACA,cAAMk4B,YAAY,GAAG,KAAKn5B,KAAL,CAAWujB,QAAX,CAAoBxrB,IAApB,CAAyB,OAAzB,CAArB;AACAX,sBAAY,CAACiL,OAAb,CAAqB,UAArB,EAAiC,oBAAjC;AACA,eAAKtC,YAAL,CAAkBmB,QAAlB,WAA8Bi4B,YAA9B,gBAAgDn4B,SAAS,CAACG,SAA1D,GAJM,CAKP;;AACC,eAAKV,UAAL,GAAkB,IAAlB;AACA,eAAK24B,QAAL,GAAgB,IAAhB;AACAj3B,gBAAM,CAACC,MAAP,CAAc,CAAd,EAAiB,CAAjB;AACA,eAAKpQ,IAAL,GAAYoF,YAAY,CAACC,OAAb,CAAqB,UAArB,CAAZ;;AACA,cAAG,KAAKrF,IAAL,IAAW,GAAd,EAAkB;AAChB,iBAAKqnC,aAAL;AACD,WAFD,MAEK;AACH,iBAAKC,kBAAL;AACD,WAdK,CAgBN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAEA,eAAK/kC,aAAL,CAAmBgN,gBAAnB,GAjCM,CAkCN;;AACA,cAAIlH,CAAC,GAAG,CAAR;;AACA,eAAK,IAAIk/B,CAAC,GAAG,IAAb,EAAmBA,CAAC,IAAI,KAAKphB,QAA7B,EAAuCohB,CAAC,EAAxC,EAA4C;AACxC,gBAAIC,KAAK,GAAED,CAAX;AACA,iBAAKf,QAAL,CAAc7/B,IAAd,CAAmB6gC,KAAnB;AACAn/B,aAAC;AACJ;;AACD,eAAKo/B,eAAL;AACA,eAAKC,mBAAL;AACD;;;sCAEU;AACT,eAAKA,mBAAL;AACD;;;yCAEgB;AAAA;;;;AACf,cAAI,KAAKlF,WAAL,IAAoB,QAAxB,EAAkC;AAChC;AACA;AACA;AACA,iBAAKkE,eAAL,GAAuB,CAAH,KAAG,KAAKO,YAAL,CAAkBlkB,MAAlB,CAAyB,UAAAnR,CAAC;AAAA,qBAAIA,CAAC,CAAC/4B,EAAF,IAAQ,QAAI,CAAC4tD,WAAjB;AAAA,aAA1B,EAAwD,CAAxD,OAA0D,IAA1D,IAA0D,aAA1D,GAA0D,MAA1D,GAA0D,GAAEkB,YAAnF;AACA,gBAAI,KAAKjB,eAAL,IAAwB,KAA5B,EAAoC,KAAKQ,YAAL,GAAoB,KAApB;AACpC,gBAAI,KAAKR,eAAL,IAAwB,MAA5B,EAAoC,KAAKQ,YAAL,GAAoB,MAApB,CANJ,CAOhC;;AACA,gBAAI,KAAKR,eAAL,IAAwB,KAA5B,EAAmC,KAAKQ,YAAL,GAAoB,KAApB;AACnC,gBAAI,KAAKR,eAAL,IAAwB,KAA5B,EAAmC,KAAKQ,YAAL,GAAoB,KAApB;AACnC,gBAAI,KAAKR,eAAL,IAAwB,KAA5B,EAAmC,KAAKQ,YAAL,GAAoB,KAApB;AACnC,gBAAI,KAAKR,eAAL,IAAwB,KAA5B,EAAmC,KAAKQ,YAAL,GAAoB,KAApB;AACnC,gBAAI,KAAKR,eAAL,IAAwB,KAA5B,EAAmC,KAAKQ,YAAL,GAAoB,KAApB;AACnC,gBAAI,KAAKR,eAAL,IAAwB,KAA5B,EAAmC,KAAKQ,YAAL,GAAoB,KAApB;AAEpC,WAfD,MAgBK;AACH,iBAAKA,YAAL,GAAoB,MAApB;AACD;;AAED,eAAKQ,mBAAL;AAED;;;8CAEqB;AAAA;;AACpB,eAAKj5B,UAAL,GAAkB,IAAlB;AACA,cAAIrK,WAAW,GAAG,EAAlB;AACAA,qBAAW,IAAI,iBAAiB,KAAKo+B,WAArC;AACAp+B,qBAAW,IAAI,WAAW,KAAK1K,IAA/B;AACA0K,qBAAW,IAAI,eAAe,KAAKuiC,SAAnC;AACAviC,qBAAW,IAAI,eAAe,KAAKqiC,WAAnC;AAEA,eAAKlkC,aAAL,CAAmBE,OAAnB,CAA2B,WAA3B,EAAwC,cAAxC,EAAwD2B,WAAxD,EAAqE2K,SAArE,CAA+E,UAAChJ,IAAD,EAAe;AAC5F,oBAAI,CAAC6hC,gBAAL,GAAwB7hC,IAAxB;AACA,oBAAI,CAAC0I,UAAL,GAAkB,KAAlB;AACD,WAHD,EAGG,UAAAsC,KAAK,EAAI;AACV,oBAAI,CAACtC,UAAL,GAAkB,KAAlB;AAED,WAND;AAQD,S,CAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;wCACgB;AAAA;;AACd,eAAKlM,aAAL,CAAmBE,OAAnB,CAA2B,QAA3B,EAAqC,QAArC,EAA+C,IAA/C,EAAqDsM,SAArD,CAA+D,UAAChJ,IAAD,EAAe;AAC5E,oBAAI,CAAC8hC,UAAL,GAAkB9hC,IAAlB;AACA,oBAAI,CAACqhC,QAAL,GAAgB,KAAhB;AACD,WAHD,EAIE,UAAAr2B,KAAK,EAAI;AACP,oBAAI,CAACnD,MAAL,CAAYmD,KAAZ,CAAkB,6BAAlB;;AACA,oBAAI,CAACtC,UAAL,GAAkB,KAAlB;AACD,WAPH;AAQD;;;0CACiB;AAAA;;AAChB,eAAKlM,aAAL,CAAmBE,OAAnB,CAA2B,UAA3B,EAAuC,QAAvC,EAAiD,IAAjD,EAAuDsM,SAAvD,CAAiE,UAAChJ,IAAD,EAAe;;;AAC9E,oBAAI,CAACkhC,YAAL,GAAoBlhC,IAApB;AACA,oBAAI,CAAC0gC,WAAL,GAAmB,CAAH,KAAG,QAAI,CAACQ,YAAL,CAAkBlkB,MAAlB,CAAyB,UAAAnR,CAAC;AAAA,qBAAIA,CAAC,CAACh1B,IAAF,IAAU,UAAd;AAAA,aAA1B,EAAoD,CAApD,OAAsD,IAAtD,IAAsD,aAAtD,GAAsD,MAAtD,GAAsD,GAAE/D,EAA3E;AACA,oBAAI,CAAC6tD,eAAL,GAAuB,CAAH,KAAG,QAAI,CAACO,YAAL,CAAkBlkB,MAAlB,CAAyB,UAAAnR,CAAC;AAAA,qBAAIA,CAAC,CAACh1B,IAAF,IAAU,UAAd;AAAA,aAA1B,EAAoD,CAApD,OAAsD,IAAtD,IAAsD,aAAtD,GAAsD,MAAtD,GAAsD,GAAE+qD,YAA/E;AACA,oBAAI,CAACP,QAAL,GAAgB,KAAhB;AACD,WALD,EAME,UAAAr2B,KAAK,EAAI;AACP,oBAAI,CAACnD,MAAL,CAAYmD,KAAZ,CAAkB,+BAAlB;;AACA,oBAAI,CAACtC,UAAL,GAAkB,KAAlB;AACD,WATH;AAUD;;;mCAEUK,K,EAAY;AACrB,cAAI,KAAKs4B,QAAT,EAAmB,KAAKnD,aAAL,GAAqB,KAArB,CAAnB,KACK,KAAKA,aAAL,GAAqB,IAArB;AACL,eAAKyD,mBAAL;AACD;;;uCACc;AACb,cAAI,KAAKN,QAAT,EAAmB,KAAKnD,aAAL,GAAqB,KAArB,CAAnB,KACK,KAAKA,aAAL,GAAqB,IAArB;AACL,eAAKyD,mBAAL;AACD;;;yCACgB;AAAA;;;;AACf,cAAI,KAAKlF,WAAL,IAAoB,QAAxB,EAAkC;AAChC;AACA;AACA;AACA,iBAAKkE,eAAL,GAAuB,CAAH,KAAG,KAAKO,YAAL,CAAkBlkB,MAAlB,CAAyB,UAAAnR,CAAC;AAAA,qBAAIA,CAAC,CAAC/4B,EAAF,IAAQ,QAAI,CAAC4tD,WAAjB;AAAA,aAA1B,EAAwD,CAAxD,OAA0D,IAA1D,IAA0D,aAA1D,GAA0D,MAA1D,GAA0D,GAAEkB,YAAnF;AACA,gBAAI,KAAKjB,eAAL,IAAwB,KAA5B,EAAoC,KAAKQ,YAAL,GAAoB,KAApB;AACpC,gBAAI,KAAKR,eAAL,IAAwB,MAA5B,EAAoC,KAAKQ,YAAL,GAAoB,MAApB,CANJ,CAOhC;;AACA,gBAAI,KAAKR,eAAL,IAAwB,KAA5B,EAAmC,KAAKQ,YAAL,GAAoB,KAApB;AACnC,gBAAI,KAAKR,eAAL,IAAwB,KAA5B,EAAmC,KAAKQ,YAAL,GAAoB,KAApB;AACnC,gBAAI,KAAKR,eAAL,IAAwB,KAA5B,EAAmC,KAAKQ,YAAL,GAAoB,KAApB;AACnC,gBAAI,KAAKR,eAAL,IAAwB,KAA5B,EAAmC,KAAKQ,YAAL,GAAoB,KAApB;AACnC,gBAAI,KAAKR,eAAL,IAAwB,KAA5B,EAAmC,KAAKQ,YAAL,GAAoB,KAApB;AACnC,gBAAI,KAAKR,eAAL,IAAwB,KAA5B,EAAmC,KAAKQ,YAAL,GAAoB,KAApB;AACpC,WAdD,MAeK;AACH,iBAAKA,YAAL,GAAoB,MAApB;AACD;;AACD,eAAKjD,aAAL,GAAqB,IAArB;AACA,eAAKyD,mBAAL;AACD;;;6CAEoBI,S,EAAW;AAAA;;AAC9B,cAAI,KAAKtF,WAAL,IAAoB,QAAxB,EAAkC;AAChC;AACA;AACA;AACA,gBAAI,KAAKkE,eAAL,IAAwB,KAA5B,EAAoCoB,SAAS,CAAC7Y,KAAV,GAAkB,KAAlB;AACpC,gBAAI,KAAKyX,eAAL,IAAwB,MAA5B,EAAoCoB,SAAS,CAAC7Y,KAAV,GAAkB,MAAlB,CALJ,CAMhC;;AACA,gBAAI,KAAKyX,eAAL,IAAwB,KAA5B,EAAmCoB,SAAS,CAAC7Y,KAAV,GAAkB,KAAlB;AACnC,gBAAI,KAAKyX,eAAL,IAAwB,KAA5B,EAAmCoB,SAAS,CAAC7Y,KAAV,GAAkB,KAAlB;AACnC,gBAAI,KAAKyX,eAAL,IAAwB,KAA5B,EAAmCoB,SAAS,CAAC7Y,KAAV,GAAkB,KAAlB;AACnC,gBAAI,KAAKyX,eAAL,IAAwB,KAA5B,EAAmCoB,SAAS,CAAC7Y,KAAV,GAAkB,KAAlB;AACnC,gBAAI,KAAKyX,eAAL,IAAwB,KAA5B,EAAmCoB,SAAS,CAAC7Y,KAAV,GAAkB,KAAlB;AACnC,gBAAI,KAAKyX,eAAL,IAAwB,KAA5B,EAAmCoB,SAAS,CAAC7Y,KAAV,GAAkB,KAAlB;AACpC,WAbD,MAcK;AACH6Y,qBAAS,CAAC7Y,KAAV,GAAkB,KAAlB;AACD;;AACD,cAAM9F,QAAQ,GAAG,KAAK9B,YAAL,CAAkBnW,IAAlB,CAAuB,yFAAvB,EAA6C;AAC5DyU,gBAAI,EAAE,IADsD;AAChDyD,oBAAQ,EAAE,QADsC;AAC5BC,oBAAQ,EAAE;AADkB,WAA7C,CAAjB;AAGAF,kBAAQ,CAAC+P,iBAAT,CAA2BpL,MAA3B,GAAoCga,SAApC;AACA3e,kBAAQ,CAAC3nB,MAAT,CAAgBrsB,IAAhB,CAAqB,UAACqsB,MAAD,EAAY;AAC/B,oBAAI,CAAC8nB,WAAL,yBAAkC9nB,MAAlC;;AACA,gBAAI,QAAI,CAAC8nB,WAAL,KAAqB,yBAAzB,EAAoD,CAClD;AACA;AACA;AACA;AACD;AACF,WARD;AASD;;;kCAEQ;AACP,eAAK7a,UAAL,GAAkB,IAAlB;AACA,cAAMwrB,MAAM,GAAG;AACb8N,sBAAU,EAAE,KADC;AAEbC,wBAAY,EAAE,KAFD;AAGbC,uBAAW,EAAE,KAHA;AAIbC,sBAAU,EAAE,KAJC;AAKbC,yBAAa,EAAE,KALF;AAMbC,4BAAgB,EAAE,KANL;AAObC,sBAAU,EAAE,IAPC;AAQbC,wBAAY,EAAE,KARD;AASbC,0BAAc,EAAE,KATH;AAUbl/B,oBAAQ,EAAE;AAVG,WAAf;AAaA,eAAKm/B,cAAL,GAAsB,EAAtB;AACA,eAAKC,qBAAL,GAA6B,EAA7B;AACA,cAAM1iC,IAAI,GAAG,8DAAW0a,eAAxB;AACA,eAAK8lB,kBAAL,CAAwBmC,qBAAxB,CAA8C3iC,IAA9C,EAAoD,8DAAWya,aAA/D,EAA8E,WAA9E;AACA,eAAK/R,UAAL,GAAkB,KAAlB;AACD;;;sCAEak6B,I,EAAMnW,K,EAAO;AACzB,cAAMvnB,GAAG,GAAG,EAAZ;AACA,cAAI29B,UAAU,GAAG,8DAAWpoB,aAA5B;AACAooB,oBAAU,CAACC,KAAX,CAAiB,UAAUvnC,KAAV,EAAiBwnC,MAAjB,EAAyBC,IAAzB,EAA+B;AAC9C,gBAAMC,GAAG,GAAG,EAAZ;AACA,iBAAKP,qBAAL,CAA2B9hC,IAA3B,CAAgCrF,KAAK,CAAC+9B,KAAtC;AACAp0B,eAAG,CAAC3J,KAAK,CAAC+9B,KAAP,CAAH,GAAmBsJ,IAAI,CAAC5iC,IAAL,CAAUzE,KAAK,CAAC+9B,KAAhB,CAAnB;AACA,gBAAI3pD,EAAE,GAAGizD,IAAI,CAAC5iC,IAAL,CAAU,IAAV,CAAT;AACAijC,eAAG,CAAC,OAAD,CAAH,GAAeL,IAAI,CAAC5iC,IAAL,CAAUzE,KAAK,CAAC+9B,KAAhB,CAAf;AACA2J,eAAG,CAAC,OAAD,CAAH,GAAe,KAAKC,sBAAL,CAA4B3nC,KAAK,CAAC+9B,KAAlC,EAAyCsJ,IAAI,CAAC5iC,IAAL,CAAUzE,KAAK,CAAC+9B,KAAhB,CAAzC,EAAiE3pD,EAAjE,CAAf;AACAu1B,eAAG,CAAC3J,KAAK,CAAC+9B,KAAP,CAAH,GAAmB2J,GAAnB;AACA,mBAAO,IAAP;AACD,WATgB,CASfE,IATe,CASV,IATU,CAAjB;AAUA,eAAKV,cAAL,CAAoB7hC,IAApB,CAAyBsE,GAAzB;AACD;;;6CAEoB;AAAA;;AACnB,eAAK1I,aAAL,CAAmB0mB,kBAAnB,CAAsC,SAAtC,EAAiD,oBAAjD,EAAuEla,SAAvE,CAAiF,UAAChJ,IAAD,EAAe;AAC9F,oBAAI,CAAC8hC,UAAL,GAAkB9hC,IAAI,CAACojC,UAAvB,CAD8F,CAE9F;AACD,WAHD,EAGG,UAAAp4B,KAAK,EAAI;AACV,oBAAI,CAACnD,MAAL,CAAYmD,KAAZ,CAAkB,sBAAlB;AAED,WAND;AAOD;;;;;;;uBAnRUu1B,kB,EAAkB,yH,EAAA,oI,EAAA,6I,EAAA,2J,EAAA,+H,EAAA,gI,EAAA,qJ;AAAA,K;;;YAAlBA,kB;AAAkB,oC;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;ACnB/B;;AAEI;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AAAI;;AAAK;;AAA6B;;AAAO;;AAAO;;AACxD;;AACA;;AACI;;AAC2B;AAAA;AAAA,aAAkB,QAAlB,EAAkB;AAAA,mBAAW,IAAA8C,UAAA,QAAX;AAA6B,WAA/C;;AACvB;;AACI;;AAAM;;AACV;;AAGJ;;AAAS;;AACb;;AACJ;;AACA;;AACI;;AACI;;AAAI;;AAAO;;AAA6B;;AAAO;;AAAO;;AAC1D;;AACA;;AACI;;AACI;AAAA,mBAAU,IAAAC,YAAA,EAAV;AAAwB,WAAxB,EAAyB,eAAzB,EAAyB;AAAA;AAAA,WAAzB;;AAEA;;AAA2B;;AAAW;;AACtC;;AAEJ;;AAAS;;AACb;;AACJ;;AACA;;AACI;;AACI;;AAAI;;AAAS;;AAA6B;;AAAO;;AAAO;;AAC5D;;AACA;;AACI;;AAAmD;AAAA,mBAAU,IAAAC,cAAA,EAAV;AAA0B,WAA1B,EAA2B,eAA3B,EAA2B;AAAA;AAAA,WAA3B;;AAE/C;;AAA0C;;AAAM;;AAChD;;AAEJ;;AACJ;;AACJ;;AACJ;;AACJ;;AACJ;;AACJ;;AAIA;;AACI;;AACI;;AACI;;AAEJ;;AACA;;AACI;;AAEJ;;AAEJ;;AACA;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AACJ;;AACJ;;AACJ;;AACA;;AACI;;AACI;AAAA;AAAA,aAAyB,QAAzB,EAAyB;AAAA,mBAAW,IAAAnD,cAAA,EAAX;AAA2B,WAApD;;AACA;;AAA0B;;AAAM;;AAChC;;AAAsB;;AAAI;;AAC1B;;AAAuB;;AAAM;;AACjC;;AACJ;;AACJ;;AACA;;AACI;;AACI;;AACI;;AACI;;AAAwB;;AAAM;;AAC9B;;AAAwB;;AAAY;;AACpC;;AAAwB;;AAAG;;AAC3B;;AAAwB;;AAAU;;AAClC;;AAAyB;;AAAY;;AACrC;;AAAyB;;AAAK;;AAClC;;AACA;;AACI;;AAmBJ;;AACJ;;AACJ;;AACJ;;AACJ;;AACJ;;AACJ;;AAIA;;AACI;;AACI;;AAEJ;;AACA;;AACI;;AAEJ;;AACJ;;AAEA;;AACI;;AACI;;AAEJ;;AACA;;AACI;;AAEJ;;AACJ;;AACA;;AACI;;AACI;;AAEJ;;AACA;;AACI;;AAEJ;;AACJ;;AACA;;AACI;;AACI;;AAEJ;;AAIJ;;AAEA;;AACI;;AACI;;AACJ;;AACA;;AACI;;AACJ;;AACJ;;AAEJ;;AACJ;;AACJ;;;;AAxK2D;;AAAA;;AAGf;;AAAA;;AAWJ;;AAAA,iGAAyB,SAAzB,EAAyB,aAAzB;;AAII;;AAAA;;AAWR;;AAAA;;AAEQ;;AAAA;;AAeG;;AAAA,qFAAa,QAAb,EAAa,aAAb,EAAa,UAAb,EAAa,eAAb,EAAa,eAAb,EAAa,iBAAb,EAAa,cAAb,EAAa,mBAAb;;AAIH;;AAAA,qFAAa,QAAb,EAAa,aAAb,EAAa,UAAb,EAAa,eAAb,EAAa,eAAb,EAAa,iBAAb,EAAa,cAAb,EAAa,mBAAb;;AAYJ;;AAAA;;AAMJ;;AAAA;;AAmBQ;;AAAA;;AA+BC;;AAAA,qFAAa,QAAb,EAAa,aAAb,EAAa,UAAb,EAAa,eAAb,EAAa,eAAb,EAAa,iBAAb,EAAa,cAAb,EAAa,mBAAb;;AAIL;;AAAA,qFAAa,QAAb,EAAa,aAAb,EAAa,UAAb,EAAa,eAAb,EAAa,eAAb,EAAa,iBAAb,EAAa,cAAb,EAAa,mBAAb;;AAOO;;AAAA,qFAAa,QAAb,EAAa,aAAb,EAAa,UAAb,EAAa,eAAb,EAAa,eAAb,EAAa,iBAAb,EAAa,cAAb,EAAa,mBAAb;;AAIM;;AAAA,qFAAa,QAAb,EAAa,aAAb,EAAa,UAAb,EAAa,eAAb,EAAa,eAAb,EAAa,iBAAb,EAAa,cAAb,EAAa,mBAAb;;AAMC;;AAAA,qFAAa,QAAb,EAAa,aAAb,EAAa,UAAb,EAAa,eAAb,EAAa,eAAb,EAAa,iBAAb,EAAa,cAAb,EAAa,mBAAb;;AAIE;;AAAA,qFAAa,QAAb,EAAa,aAAb,EAAa,UAAb,EAAa,eAAb,EAAa,eAAb,EAAa,iBAAb,EAAa,cAAb,EAAa,mBAAb;;AAMV;;AAAA,qFAAa,QAAb,EAAa,aAAb,EAAa,UAAb,EAAa,eAAb,EAAa,eAAb,EAAa,iBAAb,EAAa,cAAb,EAAa,mBAAb;;AAUC;;AAAA,uGAAmC,cAAnC,EAAmC,0BAAnC;;AAGA;;AAAA,qGAAiC,cAAjC,EAAiC,2BAAjC;;;;;;;;;sED5JlCG,kB,EAAkB;cAL9B,uDAK8B;eALpB;AACT/zB,kBAAQ,EAAE,eADD;AAETC,qBAAW,EAAE,4BAFJ;AAGTC,mBAAS,EAAE,CAAC,4BAAD;AAHF,S;AAKoB,Q;;;;;;;;;;;;;;;;;;gBAE5B;;;gBAGA;;;gBA0BA,uD;iBAAU,c;;;;;;;;;;;;;;;;;;;;AEnDb;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAaa82B,4B;AAmBX;AACA;AAEA,4CAAoB37B,MAApB,EAAmDrL,aAAnD,EAAyF8qB,QAAzF,EACWhG,YADX,EACyCmiB,KADzC,EACgE;AAAA;;AAD5C,aAAA57B,MAAA,GAAAA,MAAA;AAA+B,aAAArL,aAAA,GAAAA,aAAA;AAAsC,aAAA8qB,QAAA,GAAAA,QAAA;AAC9E,aAAAhG,YAAA,GAAAA,YAAA;AAA8B,aAAAmiB,KAAA,GAAAA,KAAA;AApBzC,aAAA/6B,UAAA,GAAsB,KAAtB;AACA,aAAA+zB,WAAA,GAAsB,QAAtB;AAYA,aAAAjV,UAAA,GAA4B3rC,KAAK,EAAjC;AAEA,aAAA6nD,SAAA,GAAoB,EAApB;AAQG;;;;mCAEQ;AACT;AACA;AACA;AACA;AACA;AACA;AACF;AACE,eAAKC,mBAAL;AACD;;;sCAEU;AACV;AACC;AACA;AACA;AAEA,cAAI,KAAKzF,aAAT,EAAwB;AACtB,iBAAKyF,mBAAL;AACD;AACF;;;yCAEgB;AACf,eAAKA,mBAAL;AACD;;;8CAEqB;AAAA;;AACpB,eAAKj7B,UAAL,GAAkB,IAAlB;AACA,cAAIrK,WAAW,GAAG,EAAlB;AACAA,qBAAW,IAAI,iBAAiB,KAAKo+B,WAArC;AACAp+B,qBAAW,IAAI,WAAW,KAAK1K,IAA/B;AACA0K,qBAAW,IAAI,eAAe,KAAK0pB,MAAnC;AACA1pB,qBAAW,IAAI,eAAe,KAAK8/B,QAAnC,CANoB,CAOrB;;AACC,eAAK3hC,aAAL,CAAmBE,OAAnB,CAA2B,WAA3B,EAAwC,qBAAxC,EAA+D2B,WAA/D,EAA4E2K,SAA5E,CAAsF,UAAChJ,IAAD,EAAe;AACnG,oBAAI,CAACwnB,UAAL,GAAkB,EAAlB,CADmG,CAGnG;AACA;AACA;;AACA,gBAAI,QAAI,CAACmX,YAAL,IAAqB,KAAzB,EAAgC,QAAI,CAACiF,GAAL,GAAW,KAAX;AAChC,gBAAI,QAAI,CAACjF,YAAL,IAAqB,MAAzB,EAAiC,QAAI,CAACiF,GAAL,GAAW,MAAX,CAPkE,CAQnG;;AACA,gBAAI,QAAI,CAACjF,YAAL,IAAqB,KAAzB,EAAgC,QAAI,CAACiF,GAAL,GAAW,KAAX;AAChC,gBAAI,QAAI,CAACjF,YAAL,IAAqB,KAAzB,EAAgC,QAAI,CAACiF,GAAL,GAAW,KAAX;AAChC,gBAAI,QAAI,CAACjF,YAAL,IAAqB,KAAzB,EAAgC,QAAI,CAACiF,GAAL,GAAW,KAAX;AAChC,gBAAI,QAAI,CAACjF,YAAL,IAAqB,KAAzB,EAAgC,QAAI,CAACiF,GAAL,GAAW,KAAX;AAChC,gBAAI,QAAI,CAACjF,YAAL,IAAqB,KAAzB,EAAgC,QAAI,CAACiF,GAAL,GAAW,KAAX;AAChC,gBAAI,QAAI,CAACjF,YAAL,IAAqB,KAAzB,EAAgC,QAAI,CAACiF,GAAL,GAAW,KAAX;;AAChC,gBAAI,QAAI,CAACnH,WAAL,IAAoB,QAAxB,EAAkC;AAChC,sBAAI,CAACiH,SAAL,GAAiB,MAAM,QAAI,CAACE,GAAX,GAAiB,GAAlC;AACD,aAFD,MAGK;AAAE,sBAAI,CAACF,SAAL,GAAiB,QAAjB;AAA2B;;AAClC1jC,gBAAI,CAACS,OAAL,CAAa,UAAAwiB,OAAO,EAAI;AACtB;AACA,kBAAIF,GAAG,GAAG,IAAI8gB,WAAJ,EAAV;AACA9gB,iBAAG,CAACjwC,EAAJ,GAASmwC,OAAO,CAACnwC,EAAjB;AACAiwC,iBAAG,CAAClhB,QAAJ,GAAeohB,OAAO,CAACphB,QAAvB;AACAkhB,iBAAG,CAAC+gB,WAAJ,GAAkB7gB,OAAO,CAAC1nB,KAA1B;AACAwnB,iBAAG,CAACghB,SAAJ,GAAgB,EAAhB;;AACA,sBAAI,CAACvc,UAAL,CAAgB5mB,IAAhB,CAAqBmiB,GAArB;AACD,aARD;;AAUA,gBAAI2E,KAAK,GAAG,QAAI,CAACJ,QAAL,CAAc2B,SAAd,CAAwB,qBAAxB,EAA+C;AACzD,iCAAmB,aADsC;AAEzD,sBAAQ,QAFiD;AAGzD,uBAAS,MAHgD;AAIzD,8BAAgB,QAAI,CAACzB,UAJoC;AAKzD,4BAAc,UAL2C;AAMzD,6BAAe,GAN0C;AAOzD,mCAAqB,CAPoC;AAQzD,2BAAa,QAAI,CAACiV,WAAL,IAAoB,QAApB,GAA+B,CAA/B,GAAmC,CARS;AASzD,4BAAc,EAT2C;AAUzD,4BAAc,MAV2C;AAWzD,0BAAY,EAX6C;AAYzD,+BAAiB,QAZwC;AAazD,6BAAe,GAb0C;AAczD,4BAAc,WAd2C;AAezD,uBAAS,cAfgD;AAgBzD,wBAAU,CAhB+C;AAiBzD,2BAAa,KAjB4C;AAkBzD,4BAAc,CAlB2C;AAmBzD,kCAAoB,CAnBqC;AAoBzD,4BAAc,KApB2C;AAqBzD,6BAAe,QAAI,CAACA,WAAL,IAAoB,QAApB,GAA+B,sBAAsB,QAAI,CAACmH,GAA3B,GAAiC,sBAAhE,GAAyF,2CArB/C;AAsBzD,2BAAa,QAAI,CAACnH,WAAL,IAAoB,QAApB,GAA+B,mBAAmB,QAAI,CAACmH,GAAxB,GAA8B,kBAA7D,GAAkF,mCAtBtC;AAuBzD,4BAAc;AACZ,2BAAW;AADC,eAvB2C;AA0BzD,wBAAU;AACR,2BAAW,IADH;AAER,8BAAc,KAFN;AAGR,4BAAY,aAHJ;AAIR,gCAAgB,IAJR;AAKR,gCAAgB,CACd,UADc,EAEd,aAFc,CALR;AASR,+BAAe;AACb,8BAAY,UADC;AAEb,iCAAe,UAAU,QAAI,CAACF;AAFjB,iBATP;AAaR,wBAAQ,CACN;AACE,2BAAS,qDADX;AAEE,0BAAQ,CACN;AACE,8BAAU,KADZ;AAEE,6BAAS;AAFX,mBADM,EAKN;AACE,8BAAU,KADZ;AAEE,6BAAS;AAFX,mBALM,EASN;AACA;AACA;AACA;AACA;AACE,8BAAU,KADZ;AAEE,6BAAS;AAFX,mBAbM,EAiBN;AAAE,8BAAU,MAAZ;AAAoB,6BAAS;AAA7B,mBAjBM;AAFV,iBADM;AAbA;AA1B+C,aAA/C,CAAZ,CA7BmG,CAiGnG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACD,WA5GD;AA8GD;;;;;;;uBA5KUF,4B,EAA4B,yH,EAAA,6I,EAAA,4I,EAAA,oI,EAAA,0I;AAAA,K;;;YAA5BA,4B;AAA4B,gD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;AAAA,oF;AAAA,e;AAAA,a;AAAA,wjB;AAAA;AAAA;ACZzC;;AACI;;AACI;;AACI;;AACI;;AACI;;AACJ;;AACJ;;AACJ;;AACA;;AACI;;AAA0E;AAAA;AAAA,aAAyB,QAAzB,EAAyB;AAAA,mBACrF,IAAApD,cAAA,EADqF;AACrE,WAD4C;;AAEtE;;AAA0B;;AAAM;;AAChC;;AAAsB;;AAAI;;AAC1B;;AAAuB;;AAAM;;AACjC;;AACJ;;AAEJ;;AACA;;AACI;;AAII;;AAWJ;;AAGJ;;AACJ;;;;AA7BsF;;AAAA;;;;;;;;;sEDEzEoD,4B,EAA4B;cALxC,uDAKwC;eAL9B;AACTh3B,kBAAQ,EAAE,2BADD;AAETC,qBAAW,EAAE,wCAFJ;AAGTC,mBAAS,EAAE,CAAC,wCAAD;AAHF,S;AAK8B,Q;;;;;;;;;;;;;;gBAEtC;;;gBAIA;;;gBACA;;;gBACA;;;gBACA;;;gBACA;;;;;QAkLUm3B,W;;;;;;;;;;;;;;;;;;;AEzMb;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAWaG,kC;AAWX,kDAAoBn8B,MAApB,EAAmDrL,aAAnD,EAAiF;AAAA;;AAA7D,aAAAqL,MAAA,GAAAA,MAAA;AAA+B,aAAArL,aAAA,GAAAA,aAAA;AARnD,aAAAkM,UAAA,GAAsB,KAAtB;AACA,aAAA+zB,WAAA,GAAsB,OAAtB;AAOoF;;;;mCAEzE;AACX;AACE,eAAKwH,oBAAL;AAED;;;sCACU;AACT,cAAI,KAAK/F,aAAT,EAAwB,KAAK+F,oBAAL;AACzB;;;yCAEgB;AACf,eAAKA,oBAAL;AACD;;;+CAEsB;AAAA;;AACrB,eAAKv7B,UAAL,GAAkB,IAAlB;AACA,cAAIrK,WAAW,GAAG,EAAlB;AACAA,qBAAW,IAAI,iBAAiB,KAAKo+B,WAArC;AACAp+B,qBAAW,IAAI,WAAW,KAAK1K,IAA/B;AACA0K,qBAAW,IAAI,eAAe,KAAK0pB,MAAnC;AACA1pB,qBAAW,IAAI,eAAe,KAAK8/B,QAAnC;AAEA,eAAK3hC,aAAL,CAAmBE,OAAnB,CAA2B,WAA3B,EAAwC,2BAAxC,EAAqE2B,WAArE,EAAkF2K,SAAlF,CAA4F,UAAChJ,IAAD,EAAe;AACzG;AACA,gBAAI0nB,KAAK,GAAG,gEAAe,2BAAf,EAA4C,kEAA5C,CAAZ,CAFyG,CAGzG;;;AACAA,iBAAK,CAACkS,UAAN,GAAmB,IAAI,kEAAJ,EAAnB;AACAlS,iBAAK,CAACiV,UAAN,GAAmB,IAAI,kEAAJ,EAAnB,CALyG,CAMzG;;AACAjV,iBAAK,CAACkS,UAAN,CAAiBgD,UAAjB,GAA8B,KAA9B;AACAlV,iBAAK,CAACiV,UAAN,CAAiBC,UAAjB,GAA8B,KAA9B;AACAlV,iBAAK,CAACG,SAAN,CAAgBC,IAAhB,GAAuB,IAAI,mEAAJ,EAAvB;AACA,gBAAIsW,OAAO,GAAG1W,KAAK,CAACG,SAAN,CAAgBwW,gBAAhB,CAAiC,KAAjC,CAAd;AACAD,mBAAO,CAACE,MAAR,GAAiB,KAAjB;AACA5W,iBAAK,CAACG,SAAN,CAAgB0W,gBAAhB,CAAiC,KAAjC,EAAwCH,OAAxC;AACA1W,iBAAK,CAACG,SAAN,CAAgB2W,UAAhB,GAA6B,uBAA7B;AACA;;AACA9W,iBAAK,CAACG,SAAN,CAAgBC,IAAhB,CAAqB2W,KAArB,GAA6B,CAC3B;AACE,uBAAS,KADX;AAEE,sBAAQ,CACN;AACE,yBAAS,OADX;AAEE,wBAAQ,CACN;AAAE,0BAAQ,KAAV;AAAiB,2BAAS;AAA1B,iBADM,EAEN;AAAE,0BAAQ,KAAV;AAAiB,2BAAS;AAA1B,iBAFM,EAGN;AACA;AAAE,0BAAQ,KAAV;AAAiB,2BAAS;AAA1B,iBAJM;AAFV,eADM,EASH;AACD,yBAAS,MADR;AAED,wBAAQ,CACN;AAAE,0BAAQ,MAAV;AAAkB,2BAAS;AAA3B,iBADM;AAFP,eATG,EAcH;AACD,yBAAS,OADR;AACiB,wBAAQ;AADzB,eAdG;AAFV,aAD2B,CAA7B;AAuBA,gBAAIC,aAAa,GAAG,EAApB;;AACA,gBAAI,QAAI,CAACjC,WAAL,IAAoB,QAAxB,EAAkC;AAClC,kBAAI,QAAI,CAAC0B,QAAL,IAAiB,CAArB,EAAwBO,aAAa,GAAG,OAAhB;AACxB,kBAAI,QAAI,CAACP,QAAL,IAAiB,CAArB,EAAwBO,aAAa,GAAG,QAAhB;AACxB,kBAAI,QAAI,CAACP,QAAL,IAAiB,CAArB,EAAwBO,aAAa,GAAG,OAAhB,CAHU,CAIlC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACD,aAbC,MAcG;AACHA,2BAAa,GAAG,QAAhB;AACD;;AAGChX,iBAAK,CAACG,SAAN,CAAgBW,UAAhB,GAA6B;AAC3B,0BAAY,OADe;AAE3B,2BAAa,mBAAmBkW,aAFL;AAG3B,4BAAc,mBAAmBA,aAHN;AAI3B,2BAAa,yBAAyBA,aAJX;AAK3B,4BAAc,yBAAyBA;AALZ,aAA7B;AAQA;;AACA,gBAAI74B,KAAK,GAAG6hB,KAAK,CAACmV,MAAN,CAAaC,MAAb,EAAZ;AACAj3B,iBAAK,CAACijB,IAAN,GAAa,kBAAb;AACAjjB,iBAAK,CAAC8yB,QAAN,GAAiB,EAAjB;AACA9yB,iBAAK,CAAC+yB,UAAN,GAAmB,MAAnB;AACA/yB,iBAAK,CAACk3B,YAAN,GAAqB,EAArB;AAEArV,iBAAK,CAAC1nB,IAAN,GAAaA,IAAb;AAEA;;AACA,gBAAIy4B,YAAY,GAAG/Q,KAAK,CAACgR,KAAN,CAAY93B,IAAZ,CAAiB,IAAI,uEAAJ,EAAjB,CAAnB;AACA63B,wBAAY,CAACjQ,UAAb,CAAwB3mB,QAAxB,GAAmC,UAAnC;AACA42B,wBAAY,CAACK,QAAb,CAAsBkE,eAAtB,GAAwC,EAAxC;AAEA;;AACA,gBAAI/D,SAAS,GAAGvR,KAAK,CAACwR,KAAN,CAAYt4B,IAAZ,CAAiB,IAAI,oEAAJ,EAAjB,CAAhB;AACAq4B,qBAAS,CAACH,QAAV,CAAmBlQ,MAAnB,CAA0BC,QAA1B,CAAmC+V,OAAnC,CAA2C9d,GAA3C,CAA+C,MAA/C,EAAuD,UAAUgI,IAAV,EAAgBnd,MAAhB,EAAwB;AAC7E,kBAAIkzB,GAAG,GAAG/V,IAAI,IAAI,OAAR,GAAkB,GAAlB,GAAwBA,IAAlC;AACA,qBAAO+V,GAAP;AACD,aAHD;AAIA;;AACA;;AACAnX,iBAAK,CAAC7e,MAAN,CAAai2B,EAAb,CAAgB,qBAAhB,EAAuC,UAASC,EAAT,EAAa;AAClDtG,0BAAY,CAACxG,KAAb,GAAqB,CAArB;AACAwG,0BAAY,CAACvG,GAAb,GAAmB,GAAnB;AACA+G,uBAAS,CAAChH,KAAV,GAAkB,CAAlB;AACAgH,uBAAS,CAAC/G,GAAV,GAAgB,CAAhB;AACC,aALH;AAME;;AACF,gBAAI,QAAI,CAACuK,WAAL,IAAoB,OAAxB,EAAiC;AAC/BxD,uBAAS,CAACpzB,KAAV,CAAgBijB,IAAhB,GAAuB,KAAvB;AACApB,mBAAK,CAACsX,eAAN,CAAsBC,YAAtB,GAAqC,GAArC;AACAhG,uBAAS,CAACH,QAAV,CAAmBlQ,MAAnB,CAA0BC,QAA1B,CAAmC+V,OAAnC,CAA2C9d,GAA3C,CAA+C,MAA/C,EAAuD,UAAUgI,IAAV,EAAgBnd,MAAhB,EAAwB;AAC7E,oBAAIkzB,GAAG,GAAGK,UAAU,CAACpW,IAAD,CAAV,GAAmB,CAAnB,IAAwB,CAAxB,GAA4B,EAA5B,GAAiCrK,QAAQ,CAACqK,IAAD,CAAR,CAAeptB,QAAf,EAA3C;AACA,uBAAOmjC,GAAP;AACD,eAHD;AAID;;AAED5F,qBAAS,CAACpzB,KAAV,CAAgB+yB,UAAhB,GAA6B,MAA7B;AACAK,qBAAS,CAACpzB,KAAV,CAAgB8yB,QAAhB,GAA2B,MAA3B;AACAM,qBAAS,CAACgE,GAAV,GAAgB,CAAhB;AACAhE,qBAAS,CAACpwB,MAAV,CAAiBi2B,EAAjB,CAAoB,OAApB,EAA6B,UAAUC,EAAV,EAAc;AACzCA,gBAAE,CAACpzB,MAAH,CAAUsxB,GAAV,GAAgB8B,EAAE,CAACpzB,MAAH,CAAUsxB,GAA1B;AACA8B,gBAAE,CAACpzB,MAAH,CAAUwzB,GAAV,GAAgBJ,EAAE,CAACpzB,MAAH,CAAUwzB,GAA1B;AACA,kBAAIJ,EAAE,CAACpzB,MAAH,CAAUwzB,GAAV,GAAgB,GAApB,EAAyBlG,SAAS,CAACiE,QAAV,GAAqB,EAArB;AACzB,kBAAI6B,EAAE,CAACpzB,MAAH,CAAUwzB,GAAV,GAAgB,GAAhB,IAAuBJ,EAAE,CAACpzB,MAAH,CAAUwzB,GAAV,GAAgB,CAA3C,EAA8ClG,SAAS,CAACiE,QAAV,GAAqB,CAArB;AAC9C,kBAAI6B,EAAE,CAACpzB,MAAH,CAAUwzB,GAAV,GAAgB,CAApB,EAAuBlG,SAAS,CAACiE,QAAV,GAAqB,GAArB;AACxB,aAND;AASAjE,qBAAS,CAACiL,eAAV,GAA4B,IAA5B;AACA;;AAEAxc,iBAAK,CAACsX,eAAN,CAAsBC,YAAtB,GAAqC,GAArC;AACAhG,qBAAS,CAACH,QAAV,CAAmBlQ,MAAnB,CAA0BC,QAA1B,CAAmC+V,OAAnC,CAA2C9d,GAA3C,CAA+C,MAA/C,EAAuD,UAAUgI,IAAV,EAAgBnd,MAAhB,EAAwB;AAC7E,kBAAIkzB,GAAG,GAAGK,UAAU,CAACpW,IAAD,CAAV,GAAmB,CAAnB,IAAwB,CAAxB,GAA4B,EAA5B,GAAiCrK,QAAQ,CAACqK,IAAD,CAAR,CAAeptB,QAAf,EAA3C;AACA,qBAAOmjC,GAAP;AACD,aAHD;AAIA5F,qBAAS,CAACpzB,KAAV,CAAgB+yB,UAAhB,GAA6B,MAA7B;AACAK,qBAAS,CAACpzB,KAAV,CAAgB8yB,QAAhB,GAA2B,MAA3B;AACAM,qBAAS,CAACgE,GAAV,GAAgB,CAAhB;AACAhE,qBAAS,CAACiE,QAAV,GAAqB,GAArB,CA/HyG,CAkIzG;;AACA,gBAAIC,UAAU,GAAGzV,KAAK,CAACW,MAAN,CAAaznB,IAAb,CAAkB,IAAI,qEAAJ,EAAlB,CAAjB;AACAu8B,sBAAU,CAAC7gC,IAAX,GAAkB,KAAlB;AACA6gC,sBAAU,CAAC3U,UAAX,CAAsBiR,MAAtB,GAA+B,YAA/B;AACA0D,sBAAU,CAAC3U,UAAX,CAAsBkR,SAAtB,GAAkC,UAAlC;AACAyD,sBAAU,CAACC,OAAX,CAAmBC,iBAAnB,GAAuC,KAAvC;AACAF,sBAAU,CAACC,OAAX,CAAmBE,UAAnB,CAA8Bl5B,IAA9B,GAAqC,+DAAc,SAAd,CAArC;AACA+4B,sBAAU,CAAC3D,MAAX,GAAoB,+DAAc,SAAd,CAApB,CAzIyG,CAyIzD;;AAEhD,gBAAI+D,MAAM,GAAGJ,UAAU,CAACK,OAAX,CAAmB58B,IAAnB,CAAwB,IAAI,iEAAJ,EAAxB,CAAb;AACA28B,kBAAM,CAACn5B,IAAP,GAAc,+DAAc,SAAd,CAAd,CA5IyG,CA4IjE;;AACxCm5B,kBAAM,CAACvU,WAAP,GAAqB,yGAArB;AACA,gBAAIyU,MAAM,GAAGF,MAAM,CAACG,WAAP,CAAmB,+DAAnB,CAAb;AACAD,kBAAM,CAACE,MAAP,GAAgB,CAAhB;AACAF,kBAAM,CAACr5B,IAAP,GAAc,+DAAc,MAAd,CAAd;AACAq5B,kBAAM,CAACG,WAAP,GAAqB,CAArB;AAEA,gBAAIC,WAAW,GAAGV,UAAU,CAACK,OAAX,CAAmB58B,IAAnB,CAAwB,IAAI,sEAAJ,EAAxB,CAAlB;AACAi9B,uBAAW,CAAC7M,KAAZ,CAAkBlI,IAAlB,GAAyB,WAAzB;AACA+U,uBAAW,CAAC7M,KAAZ,CAAkB8M,cAAlB,GAAmC,QAAnC,CArJyG,CAsJzG;AAEA;;AACA,gBAAIkC,WAAW,GAAGtY,KAAK,CAACW,MAAN,CAAaznB,IAAb,CAAkB,IAAI,qEAAJ,EAAlB,CAAlB;AACAo/B,uBAAW,CAAC1jC,IAAZ,GAAmB,WAAnB;AACA0jC,uBAAW,CAACxX,UAAZ,CAAuBiR,MAAvB,GAAgC,YAAhC;AACAuG,uBAAW,CAACxX,UAAZ,CAAuBkR,SAAvB,GAAmC,UAAnC;AACAsG,uBAAW,CAAC5C,OAAZ,CAAoBC,iBAApB,GAAwC,KAAxC;AACA2C,uBAAW,CAAC5C,OAAZ,CAAoBE,UAApB,CAA+Bl5B,IAA/B,GAAsC,+DAAc,SAAd,CAAtC,CA9JyG,CA+JzG;;AAEA,gBAAI67B,OAAO,GAAGD,WAAW,CAACxC,OAAZ,CAAoB58B,IAApB,CAAyB,IAAI,iEAAJ,EAAzB,CAAd;AACAq/B,mBAAO,CAAC77B,IAAR,GAAe,+DAAc,SAAd,CAAf,CAlKyG,CAkKhE;;AACzC67B,mBAAO,CAACjX,WAAR,GAAsB,yGAAtB;AACA,gBAAIkX,OAAO,GAAGD,OAAO,CAACvC,WAAR,CAAoB,+DAApB,CAAd;AACAwC,mBAAO,CAACvC,MAAR,GAAiB,CAAjB;AACAuC,mBAAO,CAAC97B,IAAR,GAAe,+DAAc,MAAd,CAAf;AACA87B,mBAAO,CAACtC,WAAR,GAAsB,CAAtB;AAEA,gBAAIuC,YAAY,GAAGH,WAAW,CAACxC,OAAZ,CAAoB58B,IAApB,CAAyB,IAAI,sEAAJ,EAAzB,CAAnB;AACAu/B,wBAAY,CAACnP,KAAb,CAAmBlI,IAAnB,GAA0B,WAA1B;AACAqX,wBAAY,CAACnP,KAAb,CAAmB8M,cAAnB,GAAoC,QAApC,CA3KyG,CA4KzG;AAEA;;AACA;;AACA,gBAAIqG,YAAY,GAAGzc,KAAK,CAACW,MAAN,CAAaznB,IAAb,CAAkB,IAAI,uEAAJ,EAAlB,CAAnB;AACAujC,wBAAY,CAAC7nC,IAAb,GAAoB,KAApB;AACA6nC,wBAAY,CAAC3b,UAAb,CAAwBiR,MAAxB,GAAiC,WAAjC;AACA0K,wBAAY,CAAC3b,UAAb,CAAwBkR,SAAxB,GAAoC,UAApC;AAEAyK,wBAAY,CAAC5K,OAAb,CAAqB1Q,QAArB,CAA8BG,WAA9B,GAA4C,yGAA5C;AACAmb,wBAAY,CAAC5K,OAAb,CAAqB1Q,QAArB,CAA8Bub,cAA9B,CAA6CC,WAA7C,GAA2D,aAA3D;AACAF,wBAAY,CAAC5K,OAAb,CAAqB1Q,QAArB,CAA8Bub,cAA9B,CAA6C5K,MAA7C,GAAsD,QAAtD;AACA2K,wBAAY,CAAC5K,OAAb,CAAqB1Q,QAArB,CAA8Bub,cAA9B,CAA6CxG,WAA7C,GAA2D,aAA3D;AACAuG,wBAAY,CAAC5K,OAAb,CAAqB1Q,QAArB,CAA8Bub,cAA9B,CAA6CE,eAA7C,GAA+D,YAA/D;AACAH,wBAAY,CAAC/G,OAAb,CAAqBpM,KAArB,CAA2BuT,SAA3B,GAAuC,QAAvC;AACAJ,wBAAY,CAAC/G,OAAb,CAAqBC,iBAArB,GAAyC,KAAzC;AACA8G,wBAAY,CAAC//B,IAAb,GAAoB,+DAAc,SAAd,CAApB;AACA+/B,wBAAY,CAAC/G,OAAb,CAAqBE,UAArB,CAAgCl5B,IAAhC,GAAuC,+DAAc,SAAd,CAAvC;AACA,gBAAIogC,QAAQ,GAAGL,YAAY,CAAC3G,OAAb,CAAqB58B,IAArB,CAA0B,IAAI,sEAAJ,EAA1B,CAAf;AACA4jC,oBAAQ,CAACxT,KAAT,CAAelI,IAAf,GAAsB,UAAtB;AACA0b,oBAAQ,CAACxT,KAAT,CAAeyT,QAAf,GAA0B,CAA1B;AACAD,oBAAQ,CAACxT,KAAT,CAAe2H,QAAf,GAA0B,CAA1B;AACA6L,oBAAQ,CAACxT,KAAT,CAAe0T,OAAf,CAAuB,CAAvB,EAA0B,CAA1B,EAA6B,EAA7B,EAAiC,CAAjC;AACAF,oBAAQ,CAACxT,KAAT,CAAe2T,QAAf,GAA0B,KAA1B;AACAH,oBAAQ,CAACxT,KAAT,CAAe4T,aAAf,GAA+B,KAA/B,CApMyG,CAqMzG;AAEA;;AACA;;AACA,gBAAIC,aAAa,GAAGnd,KAAK,CAACW,MAAN,CAAaznB,IAAb,CAAkB,IAAI,uEAAJ,EAAlB,CAApB;AACAikC,yBAAa,CAACvoC,IAAd,GAAqB,WAArB;AACAuoC,yBAAa,CAACrc,UAAd,CAAyBiR,MAAzB,GAAkC,WAAlC;AACAoL,yBAAa,CAACrc,UAAd,CAAyBkR,SAAzB,GAAqC,UAArC;AAEAmL,yBAAa,CAACtL,OAAd,CAAsB1Q,QAAtB,CAA+BG,WAA/B,GAA6C,yGAA7C;AACA6b,yBAAa,CAACtL,OAAd,CAAsB1Q,QAAtB,CAA+Bub,cAA/B,CAA8CC,WAA9C,GAA4D,aAA5D;AACAQ,yBAAa,CAACtL,OAAd,CAAsB1Q,QAAtB,CAA+Bub,cAA/B,CAA8C5K,MAA9C,GAAuD,QAAvD;AACAqL,yBAAa,CAACtL,OAAd,CAAsB1Q,QAAtB,CAA+Bub,cAA/B,CAA8CxG,WAA9C,GAA4D,aAA5D;AACAiH,yBAAa,CAACtL,OAAd,CAAsB1Q,QAAtB,CAA+Bub,cAA/B,CAA8CE,eAA9C,GAAgE,YAAhE;AACAO,yBAAa,CAACzH,OAAd,CAAsBpM,KAAtB,CAA4BuT,SAA5B,GAAwC,QAAxC;AACAM,yBAAa,CAACzH,OAAd,CAAsBC,iBAAtB,GAA0C,KAA1C;AACAwH,yBAAa,CAACzgC,IAAd,GAAqB,+DAAc,SAAd,CAArB;AACAygC,yBAAa,CAACzH,OAAd,CAAsBE,UAAtB,CAAiCl5B,IAAjC,GAAwC,+DAAc,SAAd,CAAxC;AACA,gBAAI0gC,SAAS,GAAGD,aAAa,CAACrH,OAAd,CAAsB58B,IAAtB,CAA2B,IAAI,sEAAJ,EAA3B,CAAhB;AACAkkC,qBAAS,CAAC9T,KAAV,CAAgBlI,IAAhB,GAAuB,UAAvB;AACAgc,qBAAS,CAAC9T,KAAV,CAAgByT,QAAhB,GAA2B,CAA3B;AACAK,qBAAS,CAAC9T,KAAV,CAAgB2H,QAAhB,GAA2B,CAA3B;AACAmM,qBAAS,CAAC9T,KAAV,CAAgB0T,OAAhB,CAAwB,CAAxB,EAA2B,CAA3B,EAA8B,EAA9B,EAAkC,CAAlC;AACAI,qBAAS,CAAC9T,KAAV,CAAgB2T,QAAhB,GAA2B,KAA3B;AACAG,qBAAS,CAAC9T,KAAV,CAAgB4T,aAAhB,GAAgC,KAAhC,CA7NyG,CA8NzG;;AAGAld,iBAAK,CAACiS,MAAN,GAAe,IAAI,iEAAJ,EAAf;AAEA,oBAAI,CAACjxB,UAAL,GAAkB,KAAlB;AACD,WApOD,EAoOG,UAAAsC,KAAK,EAAI;AACV,oBAAI,CAACtC,UAAL,GAAkB,KAAlB;AAED,WAvOD;AAyOD;;;;;;;uBA3QUs7B,kC,EAAkC,yH,EAAA,6I;AAAA,K;;;YAAlCA,kC;AAAkC,sD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;AAAA,oF;AAAA,c;AAAA,a;AAAA,wU;AAAA;AAAA;ACV/C;;AACI;;AACI;;AACI;;AACI;;AACI;;AACJ;;AACJ;;AACJ;;AAQJ;;AACA;;AACI;;AACJ;;AACJ;;;;;;;;sEDVaA,kC,EAAkC;cAL9C,uDAK8C;eALpC;AACTx3B,kBAAQ,EAAE,iCADD;AAETC,qBAAW,EAAE,8CAFJ;AAGTC,mBAAS,EAAE,CAAC,8CAAD;AAHF,S;AAKoC,Q;;;;;;;;gBAE5C;;;gBAIA;;;gBACA;;;gBACA;;;gBACA;;;gBACA;;;;;;;;;;;;;;;;;;;;AErBH;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAYaq4B,4B;AAWX,4CAAoBl9B,MAApB,EAAmDrL,aAAnD,EAAiF;AAAA;;AAA7D,aAAAqL,MAAA,GAAAA,MAAA;AAA+B,aAAArL,aAAA,GAAAA,aAAA;AARnD,aAAAkM,UAAA,GAAsB,KAAtB;AACA,aAAA+zB,WAAA,GAAsB,OAAtB;AAOoF;;;;mCAEzE;AACX;AACE,eAAKuI,cAAL;AAED;;;sCACU;AACT,cAAI,KAAK9G,aAAT,EAAwB,KAAK8G,cAAL;AACzB;;;yCAEgB;AACf,eAAKA,cAAL;AACD;;;yCAEgB;AAAA;;AACf,eAAKt8B,UAAL,GAAkB,IAAlB;AACA,cAAIrK,WAAW,GAAG,EAAlB;AACAA,qBAAW,IAAI,iBAAiB,KAAKo+B,WAArC;AACAp+B,qBAAW,IAAI,WAAW,KAAK1K,IAA/B;AACA0K,qBAAW,IAAI,eAAe,KAAK0pB,MAAnC;AACA1pB,qBAAW,IAAI,eAAe,KAAK8/B,QAAnC;AAEA,eAAK3hC,aAAL,CAAmBE,OAAnB,CAA2B,WAA3B,EAAwC,qBAAxC,EAA+D2B,WAA/D,EAA4E2K,SAA5E,CAAsF,UAAChJ,IAAD,EAAe;AACnG;AACA,gBAAI0nB,KAAK,GAAG,gEAAe,qBAAf,EAAsC,kEAAtC,CAAZ,CAFmG,CAInG;;;AACAA,iBAAK,CAACkS,UAAN,GAAmB,IAAI,kEAAJ,EAAnB;AACAlS,iBAAK,CAACiV,UAAN,GAAmB,IAAI,kEAAJ,EAAnB,CANmG,CAOnG;;AACAjV,iBAAK,CAACkS,UAAN,CAAiBgD,UAAjB,GAA8B,KAA9B;AACAlV,iBAAK,CAACiV,UAAN,CAAiBC,UAAjB,GAA8B,KAA9B;AACAlV,iBAAK,CAACG,SAAN,CAAgBC,IAAhB,GAAuB,IAAI,mEAAJ,EAAvB;AACA,gBAAIsW,OAAO,GAAG1W,KAAK,CAACG,SAAN,CAAgBwW,gBAAhB,CAAiC,KAAjC,CAAd;AACAD,mBAAO,CAACE,MAAR,GAAiB,KAAjB;AACA5W,iBAAK,CAACG,SAAN,CAAgB0W,gBAAhB,CAAiC,KAAjC,EAAwCH,OAAxC;AACA1W,iBAAK,CAACG,SAAN,CAAgB2W,UAAhB,GAA6B,yBAA7B;AACA;;AACA9W,iBAAK,CAACG,SAAN,CAAgBC,IAAhB,CAAqB2W,KAArB,GAA6B,CAC3B;AACE,uBAAS,KADX;AAEE,sBAAQ,CACN;AACE,yBAAS,OADX;AAEE,wBAAQ,CACN;AAAE,0BAAQ,KAAV;AAAiB,2BAAS;AAA1B,iBADM,EAEN;AAAE,0BAAQ,KAAV;AAAiB,2BAAS;AAA1B,iBAFM,EAGN;AACA;AAAE,0BAAQ,KAAV;AAAiB,2BAAS;AAA1B,iBAJM;AAFV,eADM,EASH;AACD,yBAAS,MADR;AAED,wBAAQ,CACN;AAAE,0BAAQ,MAAV;AAAkB,2BAAS;AAA3B,iBADM;AAFP,eATG,EAcH;AACD,yBAAS,OADR;AACiB,wBAAQ;AADzB,eAdG;AAFV,aAD2B,CAA7B;AAuBA,gBAAIC,aAAa,GAAG,EAApB;;AACA,gBAAI,QAAI,CAACjC,WAAL,IAAoB,QAAxB,EAAkC;AAClC,kBAAI,QAAI,CAAC0B,QAAL,IAAiB,CAArB,EAAwBO,aAAa,GAAG,OAAhB;AACxB,kBAAI,QAAI,CAACP,QAAL,IAAiB,CAArB,EAAwBO,aAAa,GAAG,QAAhB;AACxB,kBAAI,QAAI,CAACP,QAAL,IAAiB,CAArB,EAAwBO,aAAa,GAAG,OAAhB,CAHU,CAIlC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACC,aAbD,MAcK;AACHA,2BAAa,GAAG,QAAhB;AACD;;AAEDhX,iBAAK,CAACG,SAAN,CAAgBW,UAAhB,GAA6B;AAC3B,0BAAY,OADe;AAE3B,2BAAa,4BAA4BkW,aAFd;AAG3B,4BAAc,6BAA6BA,aAHhB;AAI3B,2BAAa,mBAAmBA,aAJL;AAK3B,4BAAc,oBAAoBA;AALP,aAA7B;AAQA;;AACA,gBAAI74B,KAAK,GAAG6hB,KAAK,CAACmV,MAAN,CAAaC,MAAb,EAAZ;AACAj3B,iBAAK,CAACijB,IAAN,GAAa,qBAAb;AACAjjB,iBAAK,CAAC8yB,QAAN,GAAiB,EAAjB;AACA9yB,iBAAK,CAAC+yB,UAAN,GAAmB,MAAnB;AACA/yB,iBAAK,CAACk3B,YAAN,GAAqB,EAArB;AAEArV,iBAAK,CAAC1nB,IAAN,GAAaA,IAAb;AAEA;;AACA,gBAAIy4B,YAAY,GAAG/Q,KAAK,CAACgR,KAAN,CAAY93B,IAAZ,CAAiB,IAAI,uEAAJ,EAAjB,CAAnB;AACA63B,wBAAY,CAACjQ,UAAb,CAAwB3mB,QAAxB,GAAmC,UAAnC;AACA42B,wBAAY,CAACK,QAAb,CAAsBkE,eAAtB,GAAwC,EAAxC;AAGA;;AACA,gBAAI/D,SAAS,GAAGvR,KAAK,CAACwR,KAAN,CAAYt4B,IAAZ,CAAiB,IAAI,oEAAJ,EAAjB,CAAhB;AACAq4B,qBAAS,CAACH,QAAV,CAAmBlQ,MAAnB,CAA0BC,QAA1B,CAAmC+V,OAAnC,CAA2C9d,GAA3C,CAA+C,MAA/C,EAAuD,UAAUgI,IAAV,EAAgBnd,MAAhB,EAAwB;AAC7E,kBAAIkzB,GAAG,GAAG/V,IAAI,IAAI,MAAR,GAAiB,GAAjB,GAAuBA,IAAjC;AACA,qBAAO+V,GAAP;AACD,aAHD;AAKA;;AACA;;AACAnX,iBAAK,CAAC7e,MAAN,CAAai2B,EAAb,CAAgB,qBAAhB,EAAuC,UAASC,EAAT,EAAa;AAClDtG,0BAAY,CAACxG,KAAb,GAAqB,CAArB;AACAwG,0BAAY,CAACvG,GAAb,GAAmB,GAAnB;AACA+G,uBAAS,CAAChH,KAAV,GAAkB,CAAlB;AACAgH,uBAAS,CAAC/G,GAAV,GAAgB,CAAhB;AACC,aALH;AAME;;AACF,gBAAI,QAAI,CAACuK,WAAL,IAAoB,OAAxB,EAAiC;AAC/BxD,uBAAS,CAACpzB,KAAV,CAAgBijB,IAAhB,GAAuB,KAAvB;AACApB,mBAAK,CAACsX,eAAN,CAAsBC,YAAtB,GAAqC,GAArC;AACAhG,uBAAS,CAACH,QAAV,CAAmBlQ,MAAnB,CAA0BC,QAA1B,CAAmC+V,OAAnC,CAA2C9d,GAA3C,CAA+C,MAA/C,EAAuD,UAAUgI,IAAV,EAAgBnd,MAAhB,EAAwB;AAC7E,oBAAIkzB,GAAG,GAAGK,UAAU,CAACpW,IAAD,CAAV,GAAmB,CAAnB,IAAwB,CAAxB,GAA4B,EAA5B,GAAiCrK,QAAQ,CAACqK,IAAD,CAAR,CAAeptB,QAAf,EAA3C;AACA,uBAAOmjC,GAAP;AACD,eAHD;AAID;;AAED5F,qBAAS,CAACpzB,KAAV,CAAgB+yB,UAAhB,GAA6B,MAA7B;AACAK,qBAAS,CAACpzB,KAAV,CAAgB8yB,QAAhB,GAA2B,MAA3B;AACAM,qBAAS,CAACgE,GAAV,GAAgB,CAAhB;AACAhE,qBAAS,CAACpwB,MAAV,CAAiBi2B,EAAjB,CAAoB,OAApB,EAA6B,UAAUC,EAAV,EAAc;AACzCA,gBAAE,CAACpzB,MAAH,CAAUsxB,GAAV,GAAgB8B,EAAE,CAACpzB,MAAH,CAAUsxB,GAA1B;AACA8B,gBAAE,CAACpzB,MAAH,CAAUwzB,GAAV,GAAgBJ,EAAE,CAACpzB,MAAH,CAAUwzB,GAA1B;AACA,kBAAIJ,EAAE,CAACpzB,MAAH,CAAUwzB,GAAV,GAAgB,GAApB,EAAyBlG,SAAS,CAACiE,QAAV,GAAqB,EAArB;AACzB,kBAAI6B,EAAE,CAACpzB,MAAH,CAAUwzB,GAAV,GAAgB,GAAhB,IAAuBJ,EAAE,CAACpzB,MAAH,CAAUwzB,GAAV,GAAgB,CAA3C,EAA8ClG,SAAS,CAACiE,QAAV,GAAqB,CAArB;AAC9C,kBAAI6B,EAAE,CAACpzB,MAAH,CAAUwzB,GAAV,GAAgB,CAApB,EAAuBlG,SAAS,CAACiE,QAAV,GAAqB,GAArB;AACxB,aAND;AAQAjE,qBAAS,CAACiL,eAAV,GAA4B,IAA5B;AACA;;AAEAxc,iBAAK,CAACsX,eAAN,CAAsBC,YAAtB,GAAqC,GAArC;AACAhG,qBAAS,CAACH,QAAV,CAAmBlQ,MAAnB,CAA0BC,QAA1B,CAAmC+V,OAAnC,CAA2C9d,GAA3C,CAA+C,MAA/C,EAAuD,UAAUgI,IAAV,EAAgBnd,MAAhB,EAAwB;AAC7E,kBAAIkzB,GAAG,GAAGK,UAAU,CAACpW,IAAD,CAAV,GAAmB,CAAnB,IAAwB,CAAxB,GAA4B,EAA5B,GAAiCrK,QAAQ,CAACqK,IAAD,CAAR,CAAeptB,QAAf,EAA3C;AACA,qBAAOmjC,GAAP;AACD,aAHD;AAIA5F,qBAAS,CAACpzB,KAAV,CAAgB+yB,UAAhB,GAA6B,MAA7B;AACAK,qBAAS,CAACpzB,KAAV,CAAgB8yB,QAAhB,GAA2B,MAA3B;AACAM,qBAAS,CAACgE,GAAV,GAAgB,CAAhB;AACAhE,qBAAS,CAACiE,QAAV,GAAqB,GAArB,CAhImG,CAmInG;;AACA,gBAAIC,UAAU,GAAGzV,KAAK,CAACW,MAAN,CAAaznB,IAAb,CAAkB,IAAI,qEAAJ,EAAlB,CAAjB;AACAu8B,sBAAU,CAAC7gC,IAAX,GAAkB,cAAlB;AACA6gC,sBAAU,CAAC3U,UAAX,CAAsBiR,MAAtB,GAA+B,YAA/B;AACA0D,sBAAU,CAAC3U,UAAX,CAAsBkR,SAAtB,GAAkC,UAAlC;AACAyD,sBAAU,CAACC,OAAX,CAAmBC,iBAAnB,GAAuC,KAAvC;AACAF,sBAAU,CAACC,OAAX,CAAmBE,UAAnB,CAA8Bl5B,IAA9B,GAAqC,+DAAc,SAAd,CAArC;AACA+4B,sBAAU,CAAC3D,MAAX,GAAoB,+DAAc,SAAd,CAApB,CA1ImG,CA0InD;;AAEhD,gBAAI+D,MAAM,GAAGJ,UAAU,CAACK,OAAX,CAAmB58B,IAAnB,CAAwB,IAAI,iEAAJ,EAAxB,CAAb;AACA28B,kBAAM,CAACn5B,IAAP,GAAc,+DAAc,SAAd,CAAd,CA7ImG,CA6I3D;;AACxCm5B,kBAAM,CAACvU,WAAP,GAAqB,yGAArB;AACA,gBAAIyU,MAAM,GAAGF,MAAM,CAACG,WAAP,CAAmB,+DAAnB,CAAb;AACAD,kBAAM,CAACE,MAAP,GAAgB,CAAhB;AACAF,kBAAM,CAACr5B,IAAP,GAAc,+DAAc,MAAd,CAAd;AACAq5B,kBAAM,CAACG,WAAP,GAAqB,CAArB;AAEA,gBAAIC,WAAW,GAAGV,UAAU,CAACK,OAAX,CAAmB58B,IAAnB,CAAwB,IAAI,sEAAJ,EAAxB,CAAlB;AACAi9B,uBAAW,CAAC7M,KAAZ,CAAkBlI,IAAlB,GAAyB,WAAzB;AACA+U,uBAAW,CAAC7M,KAAZ,CAAkB8M,cAAlB,GAAmC,QAAnC,CAtJmG,CAuJnG;AAEA;;AACA,gBAAIkC,WAAW,GAAGtY,KAAK,CAACW,MAAN,CAAaznB,IAAb,CAAkB,IAAI,qEAAJ,EAAlB,CAAlB;AACAo/B,uBAAW,CAAC1jC,IAAZ,GAAmB,KAAnB;AACA0jC,uBAAW,CAACxX,UAAZ,CAAuBiR,MAAvB,GAAgC,YAAhC;AACAuG,uBAAW,CAACxX,UAAZ,CAAuBkR,SAAvB,GAAmC,UAAnC;AACAsG,uBAAW,CAAC5C,OAAZ,CAAoBC,iBAApB,GAAwC,KAAxC;AACA2C,uBAAW,CAAC5C,OAAZ,CAAoBE,UAApB,CAA+Bl5B,IAA/B,GAAsC,+DAAc,SAAd,CAAtC,CA/JmG,CAgKnG;;AAEA,gBAAI67B,OAAO,GAAGD,WAAW,CAACxC,OAAZ,CAAoB58B,IAApB,CAAyB,IAAI,iEAAJ,EAAzB,CAAd;AACAq/B,mBAAO,CAAC77B,IAAR,GAAe,+DAAc,SAAd,CAAf,CAnKmG,CAmK1D;;AACzC67B,mBAAO,CAACjX,WAAR,GAAsB,yGAAtB;AACA,gBAAIkX,OAAO,GAAGD,OAAO,CAACvC,WAAR,CAAoB,+DAApB,CAAd;AACAwC,mBAAO,CAACvC,MAAR,GAAiB,CAAjB;AACAuC,mBAAO,CAAC97B,IAAR,GAAe,+DAAc,MAAd,CAAf;AACA87B,mBAAO,CAACtC,WAAR,GAAsB,CAAtB;AAEA,gBAAIuC,YAAY,GAAGH,WAAW,CAACxC,OAAZ,CAAoB58B,IAApB,CAAyB,IAAI,sEAAJ,EAAzB,CAAnB;AACAu/B,wBAAY,CAACnP,KAAb,CAAmBlI,IAAnB,GAA0B,WAA1B;AACAqX,wBAAY,CAACnP,KAAb,CAAmB8M,cAAnB,GAAoC,QAApC,CA5KmG,CA6KnG;AAEA;;AACA;;AACA,gBAAIqG,YAAY,GAAGzc,KAAK,CAACW,MAAN,CAAaznB,IAAb,CAAkB,IAAI,uEAAJ,EAAlB,CAAnB;AACAujC,wBAAY,CAAC7nC,IAAb,GAAoB,cAApB;AACA6nC,wBAAY,CAAC3b,UAAb,CAAwBiR,MAAxB,GAAiC,WAAjC;AACA0K,wBAAY,CAAC3b,UAAb,CAAwBkR,SAAxB,GAAoC,UAApC;AAEAyK,wBAAY,CAAC5K,OAAb,CAAqB1Q,QAArB,CAA8BG,WAA9B,GAA4C,yGAA5C;AACAmb,wBAAY,CAAC5K,OAAb,CAAqB1Q,QAArB,CAA8Bub,cAA9B,CAA6CC,WAA7C,GAA2D,aAA3D;AACAF,wBAAY,CAAC5K,OAAb,CAAqB1Q,QAArB,CAA8Bub,cAA9B,CAA6C5K,MAA7C,GAAsD,QAAtD;AACA2K,wBAAY,CAAC5K,OAAb,CAAqB1Q,QAArB,CAA8Bub,cAA9B,CAA6CxG,WAA7C,GAA2D,aAA3D;AACAuG,wBAAY,CAAC5K,OAAb,CAAqB1Q,QAArB,CAA8Bub,cAA9B,CAA6CE,eAA7C,GAA+D,YAA/D;AACAH,wBAAY,CAAC/G,OAAb,CAAqBpM,KAArB,CAA2BuT,SAA3B,GAAuC,QAAvC;AACAJ,wBAAY,CAAC/G,OAAb,CAAqBC,iBAArB,GAAyC,KAAzC;AACA8G,wBAAY,CAAC//B,IAAb,GAAoB,+DAAc,SAAd,CAApB;AACA+/B,wBAAY,CAAC/G,OAAb,CAAqBE,UAArB,CAAgCl5B,IAAhC,GAAuC,+DAAc,SAAd,CAAvC;AACA,gBAAIogC,QAAQ,GAAGL,YAAY,CAAC3G,OAAb,CAAqB58B,IAArB,CAA0B,IAAI,sEAAJ,EAA1B,CAAf;AACA4jC,oBAAQ,CAACxT,KAAT,CAAelI,IAAf,GAAsB,UAAtB;AACA0b,oBAAQ,CAACxT,KAAT,CAAeyT,QAAf,GAA0B,CAA1B;AACAD,oBAAQ,CAACxT,KAAT,CAAe2H,QAAf,GAA0B,CAA1B;AACA6L,oBAAQ,CAACxT,KAAT,CAAe0T,OAAf,CAAuB,CAAvB,EAA0B,CAA1B,EAA6B,EAA7B,EAAiC,CAAjC;AACAF,oBAAQ,CAACxT,KAAT,CAAe2T,QAAf,GAA0B,KAA1B;AACAH,oBAAQ,CAACxT,KAAT,CAAe4T,aAAf,GAA+B,KAA/B,CArMmG,CAsMnG;AAEA;;AACA;;AACA,gBAAIC,aAAa,GAAGnd,KAAK,CAACW,MAAN,CAAaznB,IAAb,CAAkB,IAAI,uEAAJ,EAAlB,CAApB;AACAikC,yBAAa,CAACvoC,IAAd,GAAqB,KAArB;AACAuoC,yBAAa,CAACrc,UAAd,CAAyBiR,MAAzB,GAAkC,WAAlC;AACAoL,yBAAa,CAACrc,UAAd,CAAyBkR,SAAzB,GAAqC,UAArC;AAEAmL,yBAAa,CAACtL,OAAd,CAAsB1Q,QAAtB,CAA+BG,WAA/B,GAA6C,yGAA7C;AACA6b,yBAAa,CAACtL,OAAd,CAAsB1Q,QAAtB,CAA+Bub,cAA/B,CAA8CC,WAA9C,GAA4D,aAA5D;AACAQ,yBAAa,CAACtL,OAAd,CAAsB1Q,QAAtB,CAA+Bub,cAA/B,CAA8C5K,MAA9C,GAAuD,QAAvD;AACAqL,yBAAa,CAACtL,OAAd,CAAsB1Q,QAAtB,CAA+Bub,cAA/B,CAA8CxG,WAA9C,GAA4D,aAA5D;AACAiH,yBAAa,CAACtL,OAAd,CAAsB1Q,QAAtB,CAA+Bub,cAA/B,CAA8CE,eAA9C,GAAgE,YAAhE;AACAO,yBAAa,CAACzH,OAAd,CAAsBpM,KAAtB,CAA4BuT,SAA5B,GAAwC,QAAxC;AACAM,yBAAa,CAACzH,OAAd,CAAsBC,iBAAtB,GAA0C,KAA1C;AACAwH,yBAAa,CAACzgC,IAAd,GAAqB,+DAAc,SAAd,CAArB;AACAygC,yBAAa,CAACzH,OAAd,CAAsBE,UAAtB,CAAiCl5B,IAAjC,GAAwC,+DAAc,SAAd,CAAxC;AACA,gBAAI0gC,SAAS,GAAGD,aAAa,CAACrH,OAAd,CAAsB58B,IAAtB,CAA2B,IAAI,sEAAJ,EAA3B,CAAhB;AACAkkC,qBAAS,CAAC9T,KAAV,CAAgBlI,IAAhB,GAAuB,UAAvB;AACAgc,qBAAS,CAAC9T,KAAV,CAAgByT,QAAhB,GAA2B,CAA3B;AACAK,qBAAS,CAAC9T,KAAV,CAAgB2H,QAAhB,GAA2B,CAA3B;AACAmM,qBAAS,CAAC9T,KAAV,CAAgB0T,OAAhB,CAAwB,CAAxB,EAA2B,CAA3B,EAA8B,EAA9B,EAAkC,CAAlC;AACAI,qBAAS,CAAC9T,KAAV,CAAgB2T,QAAhB,GAA2B,KAA3B;AACAG,qBAAS,CAAC9T,KAAV,CAAgB4T,aAAhB,GAAgC,KAAhC,CA9NmG,CA+NnG;;AAEAld,iBAAK,CAACiS,MAAN,GAAe,IAAI,iEAAJ,EAAf;AAEA,oBAAI,CAACjxB,UAAL,GAAkB,KAAlB;AACD,WApOD,EAoOG,UAAAsC,KAAK,EAAI;AACV,oBAAI,CAACtC,UAAL,GAAkB,KAAlB;AAED,WAvOD;AAyOD;;;;;;;uBA3QUq8B,4B,EAA4B,yH,EAAA,6I;AAAA,K;;;YAA5BA,4B;AAA4B,gD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;AAAA,oF;AAAA,c;AAAA,a;AAAA,kU;AAAA;AAAA;ACXzC;;AACI;;AACI;;AACI;;AACI;;AACI;;AACJ;;AACJ;;AACJ;;AACJ;;AACA;;AACI;;AACJ;;AACJ;;;;;;;;sEDFaA,4B,EAA4B;cALxC,uDAKwC;eAL9B;AACTv4B,kBAAQ,EAAE,2BADD;AAETC,qBAAW,EAAE,wCAFJ;AAGTC,mBAAS,EAAE,CAAC,wCAAD;AAHF,S;AAK8B,Q;;;;;;;;gBAEtC;;;gBAIA;;;gBACA;;;gBACA;;;gBACA;;;gBACA;;;;;;;;;;;;;;;;;;;;AEtBH;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAYau4B,yB;AAWX;AACA;AACA,yCAAoBp9B,MAApB,EAAmDrL,aAAnD,EACW8kB,YADX,EACyCmiB,KADzC,EACgE;AAAA;;AAD5C,aAAA57B,MAAA,GAAAA,MAAA;AAA+B,aAAArL,aAAA,GAAAA,aAAA;AACxC,aAAA8kB,YAAA,GAAAA,YAAA;AAA8B,aAAAmiB,KAAA,GAAAA,KAAA;AAXzC,aAAA/6B,UAAA,GAAsB,KAAtB;AACA,aAAA+zB,WAAA,GAAsB,QAAtB;AAUmE;;;;mCAE3D;AACN;AACA;AACA;AACA;AACA;AACA;AACD;AACC,eAAKyI,gBAAL;AAED;;;sCACU;AACT,cAAI,KAAKhH,aAAT,EAAwB,KAAKgH,gBAAL;AACzB;;;yCAEgB;AACf,eAAKA,gBAAL;AACD,S,CAED;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;A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,OAAO,CAAE34D,KAAT,IAAiB,KAAK+hD,aAAL,CAAmBx8C,YAAnB,CAAgC0+B,KAAhC,EAAuCn8B,cAA/G;AACD,aAFD,MAEO;AACL,mBAAKi6C,aAAL,CAAmBx8C,YAAnB,CAAgC0+B,KAAhC,EAAuC79B,aAAvC,GAAuDuyD,OAAO,SAAP,IAAAA,OAAO,WAAP,GAAO,MAAP,GAAAA,OAAO,CAAE34D,KAAhE;AACD;;AACD,iBAAK+hD,aAAL,CAAmBx8C,YAAnB,CAAgC0+B,KAAhC,EAAuCszB,yBAAvC,GAAmEoB,OAAO,SAAP,IAAAA,OAAO,WAAP,GAAO,MAAP,GAAAA,OAAO,CAAEt4D,gBAA5E;AAEA;AAED;;AACD,eAAK61D,8BAAL,CAAoCjyB,KAApC,EAA2C,CAA3C;AACA,eAAK/jB,UAAL,GAAgB,KAAhB;AACD,S,CACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAC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AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;sCAEc+jB,K,EAAO;AACnB,cAAIxJ,OAAO,GAAG,KAAKsnB,aAAL,CAAmBx8C,YAAnB,CAAgC0+B,KAAhC,CAAd;AACA,cAAI40B,QAAQ,GAAGp+B,OAAO,CAACx0B,aAAR,CAAsBiN,QAAtB,EAAf;;AACA,cAAI,KAAKrb,yBAAL,IAAkC4iC,OAAO,CAAC28B,yBAA1C,KAAwE38B,OAAO,CAACx0B,aAAR,IAAyBD,SAAzB,IAAsCy0B,OAAO,CAACx0B,aAAR,IAAyB,IAA/D,IAAwEw0B,OAAO,CAACx0B,aAAR,IAAyB,CAAzB,IAA8Bw0B,OAAO,CAAC9yB,cAAR,IAA0B,CAAhI,IAAuI8yB,OAAO,CAACx0B,aAAR,IAAyB,CAAzB,IAA8Bw0B,OAAO,CAAC9yB,cAAR,IAA0B,CAAvQ,CAAJ,EAAgR;AAC9Q8yB,mBAAO,CAAC5xB,mBAAR,GAA8B,IAA9B;AACA,iBAAK2qD,oBAAL,GAA4B,KAA5B;AACD,WAHD,MAGO,IAAI,KAAK37D,yBAAL,IAAkC4iC,OA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","file":"main-es5.js","sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./$$_lazy_route_resource lazy recursive\";","\nexport enum EnquiryStatus {\n EnquiryAdded=1,\n RFQSaveAsDraft=2,\n RFQSubmittedbySalesEngg=3,\n RFQAcceptedbyL1=4,\n RFQReworkbyL1=5,\n RFQSubmittedbyL1=6,\n RFQsentbyL1toL2=7,\n RFQSubmittedbyL2=8,\n RFQsentbyL2toL3=9,\n RFQSubmittedbyL3=10,\n QuotationSaveAsDraftbyL1=11,\n QuotationSaveAsDraftbyL2=12,\n QuotationSaveAsDraftbyL3=13,\n QuotationPriceOnRequestbyL1=14,\n QuotationPriceOnRequestbyL2=15,\n QuotationPriceOnRequestbyL3=16,\n QuotationGeneratedbyL1=17,\n QuotationGeneratedbyL2=18,\n QuotationGeneratedbyL3=19,\n QuotationsentbyL3toL2=20,\n QuotationsentbyL2toL1=21,\n QuotationSenttoCustomerService=22,\n RFQSubmittedbyCustomerService=23,\n QuotationSaveAsDraftbyCustomerService=24,\n QuotationPriceOnRequestbyCustomerService=25,\n QuotationGeneratedbyCustomerService=26,\n QuotationSentforMngtApproval_SalesDirector=27,\n QuotationRejectedbyMngmt_SalesDirector=28,\n QuotationApprovedbyMngmt_SalesDirector=29,\n QuotationOnHoldbyMngmt_SalesDirector=30,\n QuotationSentforMngmtApproval_CEO=31,\n QuotationRejectedbyMngmt_CEO=32,\n QuotationApprovedbyMngmt_CEO=33,\n QuotationOnHoldbyMngmt_CEO=34,\n SendBOMandProposal=35,\n QuotationRevision=36,\n EnquiryLost=37,\n EnquiryOrderConfirmedbySalesEngg=38,\n OrdersentforMngmtApproval_SalesDirector=39,\n OrderApprovedbyMngmt_SalesDirector=40,\n OrderRejectedbyMngmt_SalesDirector=41,\n OrdersentforMngmtApproval_CEO=42,\n OrderApprovedbyMngmt_CEO=43,\n OrderRejectedbyMngmt_CEO=44,\n OrderConfirmedbyCustomerServiceSendSO=45,\n OANoGenerated=46,\n SupplyChainConfirmedDeliveryDate=47,\n MaterialReadyForDispatch=48,\n AccountsConfirmInvoiceNo=49,\n CloseOpportunity=50,\n EnquiryTechnicalDiscardbyL1 = 51,\n EnquiryTechnicalDiscardbyL2 = 52,\n EnquiryTechnicalDiscardbyL3 = 53,\n QuotationSendtoCustomerServicebyL1=54,\n QuotationSendtoCustomerServicebyL2=55,\n QuotationSendtoCustomerServicebyL3=56,\n DeleteEnquiry=57,\n CloseLead=58,\n QuotationSentForPriceDiscountApprovalToLevel1=67,\n QuotationSentForPriceDiscountApprovalToLevel2=68,\n QuotationSentForPriceDiscountApprovalToLevel3=69,\n PriceDiscountApprovedByL1=59,\n PriceDiscountApprovedByL2=60,\n PriceDiscountApprovedByL3=61,\n PriceDiscountRejectedByL1=62,\n PriceDiscountRejectedByL2=63,\n PriceDiscountRejectedByL3=64\n}\n\n\n\nexport enum EnquiryStatusCode {\n EnquiryAdded='EnquiryAdded',\n RFQSaveAsDraft='RFQSaveAsDraft',\n RFQSubmittedbySalesEngg='RFQSubmittedbySalesEngg',\n RFQAcceptedbyL1='RFQAcceptedbyL1',\n RFQSubmittedbyL1='RFQSubmittedbyL1',\n RFQsentbyL1toL2='RFQsentbyL1toL2',\n RFQSubmittedbyL2='RFQSubmittedbyL2',\n RFQsentbyL2toL3='RFQsentbyL2toL3',\n RFQSubmittedbyL3='RFQSubmittedbyL3',\n QuotationSaveAsDraftbyL1='QuotationSaveAsDraftbyL1',\n QuotationSaveAsDraftbyL2='QuotationSaveAsDraftbyL2',\n QuotationSaveAsDraftbyL3='QuotationSaveAsDraftbyL3',\n QuotationPriceOnRequestbyL1='QuotationPriceOnRequestbyL1',\n QuotationPriceOnRequestbyL2='QuotationPriceOnRequestbyL2',\n QuotationPriceOnRequestbyL3='QuotationPriceOnRequestbyL3',\n QuotationGeneratedbyL1='QuotationGeneratedbyL1',\n QuotationGeneratedbyL2='QuotationGeneratedbyL2',\n QuotationGeneratedbyL3='QuotationGeneratedbyL3',\n QuotationsentbyL3toL2='QuotationsentbyL3toL2',\n QuotationsentbyL2toL1='QuotationsentbyL2toL1',\n QuotationSenttoCustomerService='QuotationSenttoCustomerService',\n RFQSubmittedbyCustomerService='RFQSubmittedbyCustomerService',\n QuotationSaveAsDraftbyCustomerService='QuotationSaveAsDraftbyCustomerService',\n QuotationPriceOnRequestbyCustomerService='QuotationPriceOnRequestbyCustomerService',\n QuotationGeneratedbyCustomerService='QuotationGeneratedbyCustomerService',\n QuotationSentforMngtApproval_SalesDirector='QuotationSentforMngtApproval_SalesDirector',\n QuotationRejectedbyMngmt_SalesDirector='QuotationRejectedbyMngmt_SalesDirector',\n QuotationApprovedbyMngmt_SalesDirector='QuotationApprovedbyMngmt_SalesDirector',\n QuotationOnHoldbyMngmt_SalesDirector='QuotationOnHoldbyMngmt_SalesDirector',\n QuotationSentforMngmtApproval_CEO='QuotationSentforMngmtApproval_CEO',\n QuotationRejectedbyMngmt_CEO='QuotationRejectedbyMngmt_CEO',\n QuotationApprovedbyMngmt_CEO='QuotationApprovedbyMngmt_CEO',\n QuotationOnHoldbyMngmt_CEO='QuotationOnHoldbyMngmt_CEO',\n SendBOMandProposal='SendBOMandProposal',\n QuotationRevision='QuotationRevision',\n EnquiryLost='EnquiryLost',\n EnquiryOrderConfirmedbySalesEngg='EnquiryOrderConfirmedbySalesEngg',\n OrdersentforMngmtApproval_SalesDirector='OrdersentforMngmtApproval_SalesDirector',\n OrderApprovedbyMngmt_SalesDirector='OrderApprovedbyMngmt_SalesDirector',\n OrderRejectedbyMngmt_SalesDirector='OrderRejectedbyMngmt_SalesDirector',\n OrdersentforMngmtApproval_CEO='OrdersentforMngmtApproval_CEO',\n OrderApprovedbyMngmt_CEO='OrderApprovedbyMngmt_CEO',\n OrderRejectedbyMngmt_CEO='OrderRejectedbyMngmt_CEO',\n OrderConfirmedbyCustomerServiceSendSO='OrderConfirmedbyCustomerServiceSendSO',\n OANoGenerated='OANoGenerated',\n SupplyChainConfirmedDeliveryDate='SupplyChainConfirmedDeliveryDate',\n MaterialReadyForDispatch='MaterialReadyForDispatch',\n AccountsConfirmInvoiceNo='AccountsConfirmInvoiceNo',\n CloseOpportunity='CloseOpportunity',\n EnquiryTechnicalDiscardbyL1 ='EnquiryTechnicalDiscardbyL1',\n EnquiryTechnicalDiscardbyL2 ='EnquiryTechnicalDiscardbyL2',\n EnquiryTechnicalDiscardbyL3 ='EnquiryTechnicalDiscardbyL3',\n QuotationSendtoCustomerServicebyL1='QuotationSendtoCustomerServicebyL1',\n QuotationSendtoCustomerServicebyL2='QuotationSendtoCustomerServicebyL2',\n QuotationSendtoCustomerServicebyL3='QuotationSendtoCustomerServicebyL3',\n DeleteEnquiry='DeleteEnquiry',\n CloseLead='CloseLead',\n QuotationSentForPriceDiscountApprovalToLevel1='QuotationSentForPriceDiscountApprovalToLevel1',\n QuotationSentForPriceDiscountApprovalToLevel2='QuotationSentForPriceDiscountApprovalToLevel2',\n QuotationSentForPriceDiscountApprovalToLevel3='QuotationSentForPriceDiscountApprovalToLevel3',\n PriceDiscountApprovedByL1='PriceDiscountApprovedByL1',\n PriceDiscountApprovedByL2='PriceDiscountApprovedByL2',\n PriceDiscountApprovedByL3='PriceDiscountApprovedByL3',\n PriceDiscountRejectedByL1='PriceDiscountRejectedByL1',\n PriceDiscountRejectedByL2='PriceDiscountRejectedByL2',\n PriceDiscountRejectedByL3='PriceDiscountRejectedByL3',\n MaterialReadyForDistpatch='MaterialReadyForDistpatch',\n EnquiryClosePendingAtSalesDirector='EnquiryClosePendingAtSalesDirector',\n EnquiryClosePendingAtCS='EnquiryClosePendingAtCS',\n PriceOnRequestSubmitted='PriceOnRequestSubmitted'\n}\n","import { string } from '@amcharts/amcharts4/core';\n\nexport class ActivityModel {\n ActivityId: number;\n EnquiryId: number;\n Activity: string = '';\n Comments: string = '';\n ActivityDate: Date = new Date();\n Attachment: any[] = [];\n IsRowDeleted: boolean;\n}\n\nexport class Activities {\n ActivityId: number;\n EnquiryId: number;\n Activity: string = '';\n Comments: string = '';\n ActivityDate: Date = new Date();\n Attachment: any[] = [];\n IsRowDeleted: boolean;\n}\n\nexport class Activity {\n ActivityId: number;\n Subject: string;\n ActivityOwner: string;\n ActivityOwnerRoleId: number;\n Priority?: string;\n Address?: string;\n ActivityTypeId: number;\n ActivitySubType?: string;\n ActivityPurposeId: number;\n PurposeDesc?: string;\n ActivityOutcomeId: number;\n OutcomeDesc?: string;\n ActivityStatusId: number;\n Comment?: string;\n PlannedStartDatetime?: Date;\n PlannedDueDatetime?: Date;\n ActualStartDatetime?: Date;\n ActualCompletionDatetime?: Date;\n ActivityStatusDesc: string;\n InEditMode: boolean = false;\n ActivityStatus: string;\n ActivityType: string;\n DueDays:number;\n Customer:string;\n Participants:string;\n canEditCustomerEngagementReportOfOthers:boolean;\n canViewCustomerEngagementReportOfOthers:boolean;\n ParticipantsID:string;\n}\n\nexport class ActivityType {\n ActivityTypeId: number;\n ActivityTypeCode: string;\n private _ActivityType: string;\n\n\n public get ActivityType() {\n return this._ActivityType;\n }\n\n\n ActivityTypeDesc : string\n\n // public get ActivityTypeDesc() {\n // return this.ActivityType;\n // }\n IsActive?: boolean;\n}\n\nexport class ActivityStatus {\n ActivityStatusId: number;\n ActivityStatusCode: string;\n ActivityStatusDesc: string;\n IsActive?: boolean;\n}\n\nexport class ActivityStatusByType {\n StatusCode: string;\n ActivityStatusId: number;\n ActivityStatusDesc: string;\n ActivityStatusCode: string;\n ActivityTypeId: number;\n IsActive?: boolean;\n}\n\nexport class ActivityPurpose {\n ActivityPurposeId: number;\n ActivityPurposeCode: string;\n ActivityPurposeDesc: string;\n IsActive?: boolean;\n}\n\nexport class ActivityPurposeByType {\n ActivityTypeId: number;\n ActivityPurposeId: number;\n ActivityPurposeCode: string;\n ActivityPurposeDesc: string;\n IsActive?: boolean;\n CreatedOn?: Date;\n CreatedBy?: string;\n}\n\nexport class ActivityOutcome {\n ActivityOutcomeId: number;\n ActivityOutcomeCode: string;\n ActivityOutcomeDesc: string;\n IsActive?: boolean;\n CreatedOn?: Date;\n CreatedBy?: string;\n ModifiedOn?: Date;\n ModifiedBy?: string;\n}\n\n\nexport class ActivityOutcomeByType {\n Id: number;\n ActivityTypeId: number;\n ActivityOutcomeId: number;\n ActivityOutcomeCode: string;\n ActivityOutcomeDesc: string;\n IsActive?: boolean;\n}\n\nexport class ActivityParticipant {\n Id: number;\n Activityd: number;\n ActivityParticipant: string;\n ActivityParticipantRoleId: number;\n IsActivityOwner: boolean;\n CreatedOn?: Date;\n CreatedBy?: string;\n ModifiedOn?: Date;\n ModifiedBy?: string;\n}\n\nexport class ActivityParticipants {\n participants: ActivityParticipant[];\n}\n\nexport class ActivityLinkageEntityType {\n Id: number;\n EntityType: string;\n IsActive?: boolean;\n CreatedOn?: Date;\n}\n\nexport class ActivityLinkage {\n ActivityLinkageId?: number;\n ActiviyId?: number;\n EntityTypeId: number;\n EntityId: number;\n CreatedOn?: Date;\n}\n\nexport class EntityRecord {\n EntityId: number;\n EntityTitle: string;\n EntityTypeId: number;\n}\n\nexport class EntityRecords {\n EntityRecord: EntityRecord[];\n}\n\nexport class ActivityLinkages {\n ActivityLinkages: ActivityLinkage[];\n}\n\nexport class User {\n Id: string;\n FirstName: string;\n}\n","export class AddCustomerOpportunityModel {\n\n Id: number;\n CustomerName: string = \"\";\n CustomerAddress:string = \"\";\n KeyPersonName: string = \"\";\n IndustrySegment: string = \"\";\n CustomerType: string = \"\";\n Region: string = \"\";\n OpportunityDate: string = \"\";\n Description:string=\"\";\n}","export class AlertsModel {\n Pk_Id: number;\n Fk_Status: number;\n EnquiryStatus: string = \"\";\n First_Rem: number;\n Second_Rem: number;\n Third_Rem: number;\n First_Rem_ToWhom: number;\n Second_Rem_ToWhom: number;\n Third_Rem_ToWhom: number;\n CC_Rem_toWhom: number;\n ModifiedOn: any;\n Status: boolean;\n Escalation:number;\n\n First_Rem_ToWhomList:string[]=[];\n Second_Rem_ToWhomList:string[]=[];\n Third_Rem_ToWhomList:string[]=[]; \n CC_Rem_toWhomList:string[]=[];\n Escalation_ToWhomList:string[]=[];\n}","import { StringMapWithRename } from '@angular/compiler/src/compiler_facade_interface';\n\nexport class BusinessPlanModel {\n Id: number;\n UserName: string = \"\";\n EmployeeId: string = \"\";\n RoleName: string = \"\";\n RoleId: number = null;\n TargetYear: string = \"\";\n TargetFor: string = \"\";\n RegionName: string = \"\";\n PlanList:PlanModel[] = [\n {Id:0, Month: 1, MonthName: 'January', Units: 0, Amount: 0, FC1Amount:0,FC2Amount:0,FC3Amount:0,FC1Validation:false,FC2Validation:false,FC3Validation:false, UnitsValidation: false, AmountValidation: false },\n {Id:0, Month: 2, MonthName: 'February', Units: 0, Amount: 0, FC1Amount:0,FC2Amount:0,FC3Amount:0,FC1Validation:false,FC2Validation:false,FC3Validation:false, UnitsValidation: false, AmountValidation: false },\n {Id:0, Month: 3, MonthName: 'March', Units: 0, Amount: 0, FC1Amount:0,FC2Amount:0,FC3Amount:0,FC1Validation:false,FC2Validation:false,FC3Validation:false, UnitsValidation: false, AmountValidation: false },\n {Id:0, Month: 4, MonthName: 'April', Units: 0, Amount: 0 , FC1Amount:0,FC2Amount:0,FC3Amount:0,FC1Validation:false,FC2Validation:false,FC3Validation:false, UnitsValidation: false, AmountValidation: false },\n {Id:0, Month: 5, MonthName: 'May', Units: 0, Amount: 0 , FC1Amount:0,FC2Amount:0,FC3Amount:0,FC1Validation:false,FC2Validation:false,FC3Validation:false, UnitsValidation: false, AmountValidation: false },\n {Id:0, Month: 6, MonthName: 'June', Units: 0, Amount: 0 , FC1Amount:0,FC2Amount:0,FC3Amount:0,FC1Validation:false,FC2Validation:false,FC3Validation:false, UnitsValidation: false, AmountValidation: false },\n {Id:0, Month: 7, MonthName: 'July', Units: 0, Amount: 0 , FC1Amount:0,FC2Amount:0,FC3Amount:0,FC1Validation:false,FC2Validation:false,FC3Validation:false, UnitsValidation: false, AmountValidation: false },\n {Id:0, Month: 8, MonthName: 'August', Units: 0, Amount: 0 , FC1Amount:0,FC2Amount:0,FC3Amount:0,FC1Validation:false,FC2Validation:false,FC3Validation:false, UnitsValidation: false, AmountValidation: false },\n {Id:0, Month: 9, MonthName: 'September', Units: 0, Amount: 0 , FC1Amount:0,FC2Amount:0,FC3Amount:0,FC1Validation:false,FC2Validation:false,FC3Validation:false, UnitsValidation: false, AmountValidation: false },\n {Id:0, Month: 10, MonthName: 'October', Units: 0, Amount: 0 , FC1Amount:0,FC2Amount:0,FC3Amount:0,FC1Validation:false,FC2Validation:false,FC3Validation:false, UnitsValidation: false, AmountValidation: false },\n {Id:0, Month: 11, MonthName: 'November', Units: 0, Amount: 0 , FC1Amount:0,FC2Amount:0,FC3Amount:0,FC1Validation:false,FC2Validation:false,FC3Validation:false, UnitsValidation: false, AmountValidation: false },\n {Id:0, Month: 12, MonthName: 'December', Units: 0, Amount: 0 , FC1Amount:0,FC2Amount:0,FC3Amount:0,FC1Validation:false,FC2Validation:false,FC3Validation:false, UnitsValidation: false, AmountValidation: false }\n];\n\n}\nexport class PlanModel{\n Id: number = 0;\n Month:number = null; //Month Number\n MonthName: string = \"null\";\n Units: number = 0;\n Amount: number = 0;\n FC1Amount: number = 0;\n FC2Amount: number = 0;\n FC3Amount: number = 0;\n FC1Validation: boolean = false;\n FC2Validation: boolean = false;\n FC3Validation: boolean = false;\n UnitsValidation: boolean = false;\n AmountValidation: boolean = false;\n}\n","export class ChangePasswordModel {\n Id: number;\n oldPassword: string = \"\";\n newPassword: string = \"\";\n confirmNewPassword: string = \"\";\n}","import { NumberValueAccessor } from '@angular/forms'\n\n/****\n This Model class use to update status, Activate = 0,Deactivate = 1, Delete = 2 \n *****/\nexport class UpdateStatus \n{\n RegisterId: number;\n RoleType : number;\n Status: number;\n}","export class CustomerModel {\n \n BasicCustomerInformationModel: BasicCustomerInformationModel = new BasicCustomerInformationModel();\n KeyManagementPersonDetails: ContactPersonDetailsModel = new ContactPersonDetailsModel();\n FirstContactTechnicalPersonDetails: ContactPersonDetailsModel = new ContactPersonDetailsModel();\n FirstContactCommercialPersonDetails: ContactPersonDetailsModel = new ContactPersonDetailsModel();\n FinancialDetails: FinancialDetailsModel = new FinancialDetailsModel();\n WINWSEAContactDetails: WINWSEAContactDetailsModel = new WINWSEAContactDetailsModel();\n CustomerProfile: CustomerProfileModel = new CustomerProfileModel();\n CompanyTurnover: CompanyTurnoverModel = new CompanyTurnoverModel();\n PlantInformationWithGSTNo: PlantInformationWithGSTNoModel [] = [];\n TopManagement: TopManagementModel [] = [];\n WeissBusiness: WeissBusinessModel = new WeissBusinessModel();\n OpportunitiesforWeiss: OpportunitiesforWeissModel = new OpportunitiesforWeissModel();\n \n}\n\nexport class BasicCustomerInformationModel {\n Id: number;\n CompanyName: string = \"\";\n AddressHeadquaters: string = \"\";\n AddressPlant: string = \"\";\n AddressEngineeringDesign: string = \"\";\n City: string = \"\";\n State: string = \"\";\n PINCode: string = \"\";\n CountryName: string = \"\";\n Country: number = null;\n MailAddress: string = \"\";\n WebSite: string = \"\";\n GlobalParent: string = \"\";\n HeadquarterInfo: string = \"\";\n OrganogramFileName: string = \"\";\n OrganogramFilePath: string = \"\";\n CustomerCode:string;\n CurrentVisibleCompetitorsNamewithUSP: string = \"\";\n KYC2FileName: string = \"\";\n KYC2FilePath: string = \"\";\n KYC3FileName: string = \"\";\n KYC3FilePath: string = \"\";\n //for costomer group name & code\n CustomergroupId: number = null;\n CustomergroupName: string = \"\";\n CustomergroupCode: string = \"\";\n leadId:number=0;\n}\n\nexport class ContactPersonDetailsModel {\n Id: number;\n Name: string = \"\";\n ContactNo: string = \"\";\n MailAddress: string = \"\";\n DirectlineNo: string = \"\";\n DigitalSkypeID: string = \"\";\n DigitalOtherID: string = \"\";\n\n}\n\nexport class FinancialDetailsModel {\n Id: number;\n AuthorisedShareCapital: string = \"\";\n BankersDetails: string = \"\";\n UltimateShareholder: string = \"\";\n PercentageShare: number;\n}\n\nexport class WINWSEAContactDetailsModel {\n Id: number;\n WINAccountManager: string = \"\";\n Region: number = null;\n RegionName: string = \"\";\n WINTechnicalContact: string = \"\";\n WINGlobalContact: string = \"\";\n\n}\n\nexport class CustomerProfileModel {\n Id: number;\n Name: string = \"\";\n CompanyInformation: string = \"\";\n BrandsProducts: string = \"\";\n CorporatePresentationFileName: string = \"\";\n CorporatePresentationFilePath: string = \"\";\n IndustrySegment: number = null;\n IndustrySegmentName: string = \"\";\n SubSegment: number = null;\n SubSegmentName: string = \"\";\n CustomerClassification: number = null;\n CustomerClassificationName: string = \"\";\n Typeofcustomer: number = null;\n TypeofcustomerName: string = \"\";\n CustomerCategory: number = null;\n CustomerCategoryName: string = \"\";\n\n}\n\nexport class CompanyTurnoverModel {\n Id: number;\n GroupTurnover: string = \"\";\n GroupTurnoverYear: any = \"\";\n IndiaunitTurnover: string = \"\";\n IndiaunitTurnoverYear: any = \"\";\n DomesticTurnover: string = \"\";\n DomesticTurnoverYear: any = \"\";\n ExportTurnover: string = \"\";\n ExportTurnoverYear: any = \"\";\n ProjectedTurnover: string = \"\";\n ProjectedTurnoverYear: any = \"\";\n Noofemployees: number;\n GlobalParentsJVPartners: string = \"\";\n TechCollaboration: string = \"\";\n CustomersCustomer: string = \"\";\n CustomersKeyCompetitors: string = \"\";\n FocusSegment: string = \"\";\n CompanyStrategy: string = \"\";\n SalesofficeBranchoffice: string = \"\";\n ValueChainInformation: string = \"\";\n\n}\n\nexport class PlantInformationWithGSTNoModel {\n Id: number;\n CompanyName: string = \"\";\n Region: number = null;\n RegionName: string = \"\";\n Address: string = \"\";\n GSTNo: string = \"\";\n KeyAccountNo: string = \"\";\n ContactNo: string = \"\";\n Email: string = \"\";\n\n}\n\nexport class TopManagementModel {\n Id: number;\n Name: string = \"\";\n Designation: string = \"\";\n ContactNo: string = \"\";\n Email: string = \"\";\n \n}\n\nexport class WeissBusinessModel {\n Id: number;\n BusinesswithWINWSEA: string = \"\";\n BusinesswithWNA: string = \"\";\n BusinesswithChina: string = \"\";\n BusinesswithEMEA: string = \"\";\n\n}\n\nexport class OpportunitiesforWeissModel {\n Id: number;\n Indexer: string = \"\";\n HeavyDutyIndexer: string = \"\";\n LinearTransferSystem: string = \"\";\n PickandPlaceSystem: string = \"\";\n LinearSystem: string = \"\";\n Directdrives: string = \"\";\n DeltaRobot: string = \"\";\n Valueaddedsolution: string = \"\";\n AccessoriesSpareParts: string = \"\";\n Comments: string = \"\";\n\n}\n\nexport class AttachmentModel {\n \n KYC2Attachment: any;\n KYC3Attachment: any;\n OrganogramAttachment: any;\n CorporatePresentationAttachment: any;\n\n}\n\nexport class ProductImportExportModel{\n ProductIMPEXP:any;\n}\n\n\n\n","export class EmployeeGuestModel {\n Id: number;\n RegisterId: number;\n Employee_Id: number;\n Username: string = \"\";\n Name: string = '';\n EmpCode: string = '';\n Role: number = null;\n Email: string = '';\n ContactNumber: string = '';\n Region: number[] = [];\n Country: number = null;\n CountryName: string = '';\n RoleType: number;\n Password: string;\n ConfirmPassword: string;\n Status: boolean;\n GuestId: string = '';\n Address: string = '';\n RoleName: string = \"\";\n RegionName: string = \"\";\n ReportingManager:string=\"\";\n ReportingManagerEmail=\"\";\n \n ListRegion:string[];\n Fk_User_Id : string = '';\n AlternateEmployee : string = '';\n StartDate : any;\n EndDate : any;\n RegionForGuest : any;\n}\n\nexport class EmployeeRegion {\n FK_RegionId:number=null;\n}","import { NgbDate } from '@ng-bootstrap/ng-bootstrap';\nimport { SingleFieldModel } from './SingleFieldModel';\nimport { string, array } from '@amcharts/amcharts4/core';\n\nexport class EnquiryDetailsModel {\n EnquiryDetails: EnquiryModel = new EnquiryModel();\n RFQObject: ProductDetails[] = Array();\n CustomerDetails: CustomerDetails = new CustomerDetails();\n EnqCustomerDetails: CustomerDrpdnDetails = new CustomerDrpdnDetails();\n Comments: Comments[] = Array();\n RemoveFiles: string[] = Array();\n TermsAndConditions: TermsAndCondition[] = Array();\n CustomerServiceComments_Quotation: CommentObj[] = Array();\n CustomerServiceComments_Order: CommentObj[] = Array();\n SalesDirectorComments_Quotation: CommentObj[] = Array();\n SalesDirectorComments_Order: CommentObj[] = Array();\n ActivityDetails: ActivityModel[] = Array();\n POValues: ProductModelPOValues[] = Array();\n CustomerSpecialDiscountdtls: SalesPriceDiscountforCutomerSpecialDiscount[] = Array();\n SalesPriceDiscountdtls: SalesPricediscountList[] = Array();\n DiscountFrom: number = 0;\n DiscountTo: number = 0;\n CustomTermsAndConditions: CustomTermsAndCondition[] = Array();\n CompetitorDetailObj: CompetitorDetails[] = Array();\n Fk_OppCloseReason: number;\n DynamicTCDetailObj: DynamicTermsAndCondition[] = Array();\n CustomerServiceDetails: CustomerServiceDetailModel = new CustomerServiceDetailModel();\n}\n\n\n\nexport class SalesPriceDiscountforCutomerSpecialDiscount {\n ProductDiscount: number = 0;\n Fk_ProductModel: number = 0;\n\n}\n\nexport class SalesPricediscountList {\n DiscountFrom: number = 0;\n DiscountTo: number = 0;\n}\n\nexport class ProductModelPOValues {\n ProductId: Number;\n ProductModelName: string;\n QUotationValue: string;\n // ProductModelPOValue: string;\n ProductModelPOValue: any;\n QuotationQuantity: string;\n QuotationDiscount: any = 0;\n Variant1_Discount: any = 0;\n Variant2_Discount: any = 0;\n Variant3_Discount: any = 0;\n Variant4_Discount: any = 0;\n POQuantity: any;\n POUnitPrice: any;\n PODiscount: any = 0;\n QUotationValueValidation: boolean;\n QuantityValidation: boolean = false;\n QuantityRangeValidation: boolean = false;\n PoUnitPriceValidation: boolean = false;\n PoQuantityValidation: boolean = false;\n Variant1Label: any;\n Variant2Label: any;\n Variant3Label: any;\n Variant4Label: any;\n Options: OptionsModel[] = new Array();\n ScheduledShipmentDate: any;\n Special_pkg_Discount : any = 0;\n}\n\nexport class EnquiryModel {\n UserId: number;\n EnquiryId: number;\n InitiatorName: string = \"\";\n RoleName: string = \"\";\n MngOrderApprovalComments: string = \"\";\n OrdAcknowledgeNumber: string = \"\";\n Comments: string = \"\";\n RFQNumber: string = \"\";\n RFQComments: string = \"\";\n KindAttention: string = \"\";\n KindAttEmailId: string = \"\";\n KindAttContactNo: string = \"\";\n YourReference: string = \"\";\n FinalAmount: any;\n Initiator_Id: any;\n EnquiryStatusDescription: any;\n\n //\n //\n //\n\n InvoiceAttachment: any[] = [];\n Invoice_filename: any;\n Invoice_filepath: any;\n InvoiceNumber: any;\n\n SupplyChainType: string = \"\";\n TentativeDeliveryDate: any;\n RequestedDeliveryDate: any;\n\n POValue: string = \"\";\n POAttchments: any[] = [];\n EnquiryConfirmStatus: string = \"\";\n EnquiryConfirmReason: any = null;\n POOtherAttachments: any[] = [];\n PO_filename: any;\n PO_filepath: any;\n\n EnquiryDescription: string = \"\";\n Status: number;\n EnquiryStatusDisplay: string = \"\";\n EnquiryNumber: string = \"\";\n EnquiryDate: any;\n FkCustomersCustomer_Id:number=null;\n QuotationPdf_filename: any;\n\n EnquiryDateISO: string = \"\";\n TentativeDeliveryDateISO: string = \"\";\n RequestedDeliveryDateISO: string = \"\";\n RFQTermsAndCondition: string = \"\";\n PreviousRFQTermsAndCondition: string;\n EstimatedProductValue: number = null;\n EnquirySourceId: number;\n IsQuotationPriceOnRequest: boolean = false;\n PendingAtRoleId: string;\n QuotationRevisionNo: number = null;\n QuotationNumber: string = \"\";\n\n TechnicalDiscardId: number;\n TechnicalDiscardBy: number;\n segment: number;\n subSegment: number;\n application: number;\n EndCustomer: string = \"\";\n Fk_OppCloseReason: any;\n IsActive: boolean = true;\n EnquiryDeletedBy: number;\n ApplicationDescription: string = \"\";\n IsFetchFromKYC: boolean = false;\n OA_filename: any;\n IsCompetitorRequired: boolean = false;\n\n PackageAndForward: number;\n TransferCharge: number;\n OtherTax: number;\n\n POSubmittedOn: any;\n PurchaseOrderNo: string = \"\";\n BillToAddress: string = \"\";\n ShipToAddress: string = \"\";\n IsIncludedAllSOCharges: boolean = false;\n POValueWithAllSOCharges: string = \"\";\n\n ReasonCategory : any;\n EnquiryConfirmReasonName : string = \"\";\n ReasonCategoryName : string = \"\";\n OrderAckDate : any;\n SalesOrderSpecialPkgDiscount : any =0;\n \n}\n\nexport class removefiles {\n ProductId: number;\n filetype: string;\n}\nexport class CommentObj {\n CommentDate: any;\n Comments: any;\n CommentsBy: any;\n DisplayStatus: any;\n EnquiryId: any;\n Id: any;\n Role: any;\n RoleName: any;\n Status: any;\n UserId: any;\n}\n\nexport class TermsAndCondition {\n Enquiry_TnCId: any;\n TnCId: any;\n TnCName: any;\n TnCValue: any;\n}\n\nexport class DynamicTermsAndCondition {\n Enquiry_TndCId: any;\n TndCId: any;\n TndCName: string = \"\";\n TndCValue: string = \"\";\n IsRowDeleted: boolean;\n TndCNameValidation: boolean = false;\n TndCValueValidation: boolean = false;\n}\n\nexport class CustomerDetails {\n CustomerId: number = 0;\n CustomerCode: string = \"\";\n IndustrySegmentId: number;\n CustomerTypeId: number;\n CustomerCategoryId: number;\n CustomerClassificationId: number;\n RegionId: number;\n CustomerName: string = \"\";\n Region: string = \"\";\n\n}\n\nexport class ProductDetails {\n ProductId: number;\n ProductLine: number;\n ProductModel: number;\n Quantity: number;\n MDSOption: number;\n MDSAttachment: any[] = [];\n ITCAttachment: any[] = [];\n CustomerAttachment: any[] = [];\n WeissAttachment: any[] = [];\n isMDSAttachment: boolean;\n isITCAttachment: boolean;\n isCustomerAttachment: boolean;\n isWeissAttachment: boolean;\n SalesPrice: number;\n EstimatedProductValue: number;\n SalesDiscount: string;\n IsRowDeleted: boolean;\n ProductModelList: any[] = [];\n isProductLineChangeClick: boolean = false;\n MDS_filename: string;\n MDS_filepath: string;\n ITC_filename: string;\n ITC_filepath: string;\n Customer_filename: string;\n Customer_filepath: string;\n Weiss_filename: string;\n Weiss_filepath: string;\n\n deleted_MDS_filename: string;\n deleted_MDS_filepath: string;\n deleted_ITC_filename: string;\n deleted_ITC_filepath: string;\n deleted_Customer_filename: string;\n deleted_Customer_filepath: string;\n deleted_Weiss_filename: string;\n deleted_Weiss_filepath: string;\n\n ProductLineValidation: boolean = false;\n ProductModelValidation: boolean = false;\n QuantityValidation: boolean = false;\n MDSOptionValidation: boolean = false;\n SalesPriceValidation: boolean = false;\n SalesDiscountValidation: boolean = false;\n DiscountFromrange: number;\n Discounttorange: number;\n\n}\n\nexport class CustomerDrpdnDetails {\n CustomerId: number;\n CustomerCode: string = \"\";\n IndustrySegment: string = \"\";\n CustomerType: string = \"\";\n CustomerCategory: string = \"\";\n CustomerClassification: string = \"\";\n Country: string = \"\";\n Region: string = \"\";\n EnquirySource: string = \"\";\n CustomerName: string = \"\";\n RegionId: number;\n Name: string = \"\";\n MailAddress: string = \"\";\n ContactNo: string = \"\";\n}\n\n\nexport class Comments {\n DisplayStatus: string;\n CommentsBy: string;\n RoleName: string;\n Comments: string;\n CommentDate: Date;\n showAttachments: boolean = false;\n}\n\n\nexport class ProductDrpdnDetails {\n ProductLine: SingleFieldModel[] = [];\n ProductModel: SingleFieldModel[] = [];\n MDSOptions: SingleFieldModel[] = [];\n SalesPrice: SingleFieldModel[] = [];\n EstimatedProductValue: SingleFieldModel[] = [];\n}\n\n\nexport class EnquiryGridModel {\n EnquiryId: number;\n EnquiryNumber: string = \"\";\n EnquiryDate: any;\n RegionName: string = \"\";\n CustomerName: string = \"\";\n CustomerCode: string = \"\";\n EnquiryDescription: string = \"\";\n EnquiryStatus: string = \"\";\n EnquiryConfirmStatus: string = \"\";\n EmployeeGuestName: string = \"\";\n EnquirySource: string = \"\";\n CustomerClass: string = \"\";\n CustomerClassification: string = \"\";\n IndustrySegment: string = \"\";\n QuotationNumber: string = \"\";\n}\n\n\nexport class EnquiryConfimrationDetails {\n POValue: any = \"\";\n EnquiryStatus: any;\n StandardReason: any = \"\";\n\n}\nexport class ActivityModel {\n Pk_Id: number;\n EnquiryId: number;\n Activity: string = \"\";\n ActivityDate: any;\n ActivityDateISO: string = \"\";\n Attachment: any[] = [];\n isActivityAttachment: boolean;\n IsRowDeleted: boolean;\n fileName: any;\n filePath: any;\n Updates: any;\n ActionPlan: any;\n WOWUpdates: any;\n ActivityValidation: boolean = false;\n ActivityDateValidation: boolean = false;\n uniqueid: string = \"\";\n ISNewActivityAdded: boolean = false;\n AddedByUserName: string = \"\";\n AddedBy: string = \"\";\n}\n\nexport class EnquiryPaginationGrid {\n pageNumber: number = 0;\n pageSize: number = 0;\n SearchText: string = \"\";\n direction: string = \"\";\n ColumnName: string = \"\";\n\n\n EnquiryDateFromFiter: string = null;\n EnquiryDateToFiter: string = null;\n EstimatedEnquiryValueFilter: string[] = [];\n SegmentFilter: string[] = [];\n MicroSegmentFilter: string[] = [];\n CusomterNameFilter: string[] = [];\n CusomterClassFilter: string[] = [];\n ProdcutFilter: string[] = [];\n QuotationValueToFilter: number = null;\n QuotationValueFromFilter: number = null;\n DiscountFromFilter: number = null;\n DiscounToFilter: number = null;\n QuotationStatusFilter: string[] = [];\n RegionFilter: string[] = [];\n InitiatorNameFilter: string[] = [];\n\n\n}\n\n\nexport class EnquiryGridFilterList {\n EstimatedEnquiryValue: EnquiryGridDropDown[] = [];\n Segment: EnquiryGridDropDown[] = [];\n MicroSegment: EnquiryGridDropDown[] = [];\n OrignaleMicroSegment: EnquiryGridDropDown[] = [];\n CusomterName: EnquiryGridDropDown[] = [];\n CusomterClass: EnquiryGridDropDown[] = [];\n ProductModels: EnquiryGridDropDown[] = [];\n Region: EnquiryGridDropDown[] = [];\n QuotationStatus: string[] = [\"Lost\", \"Open\", \"Won\"];\n InitiatorName: EnquiryGridDropDown[] = [];\n}\nexport class EnquiryGridDropDown {\n Fk_Name: string = \"\";\n Id: number = 0;\n Name: string = \"\";\n}\n\nexport class EnquiryExportToExcelModel {\n\n // EnquiryNumber:string = \"\";\n // EnquiryDate: any;\n // CustomerName:string = \"\"; \n // CustomerCode :string = \"\";\n // EstimatedEnquiryvalue :string = \"\";\n // Segment:string = \"\";\n // Micro_Segment :string = \"\";\n // Region :string = \"\";\n // CustomerClassification :string = \"\";\n // QuotationNumber :string = \"\";\n // Products :string = \"\";\n // Quotation_Amount :string = \"\";\n // Discount :string = \"\";\n // Quotation_Status :string = \"\";\n // Updates :string = \"\";\n // Action_Plan :string = \"\";\n // CRM_updates :string = \"\";\n EnquiryNumber: string = \"\";\n EnquiryDate: any;\n InitiatorName: string = \"\";\n CustomerName: string = \"\";\n CustomerCode: string = \"\";\n IndustrySegment: string = \"\";\n SubSegment: string = \"\";\n CustomerType: string = \"\";\n CustomerCategory: string = \"\";\n CustomerClassification: string = \"\";\n Country: string = \"\";\n Region: string = \"\";\n EnquirySource: string = \"\";\n EnquiryDescription: string = \"\";\n RFQNumber: string = \"\";\n RequestedDeliveryDate: any;\n KindAttentionPerName: string = \"\";\n YourRefPerName: string = \"\";\n RefDate: any;\n RFQRevisionNo: number = 0;\n EstimatedProductvalue: string = \"\";\n RFQTermsAndCondition: string = \"\";\n KindAttContactNo: string = \"\";\n KindAttEmailId: string = \"\";\n QuotationNumber: string = \"\";\n QuotationRevisionNo: number = 0;\n QuotationAmount: number = 0;\n QuotationDiscount: number = 0;\n QuotationFinalAmount: number = 0;\n QuotationSubmittedDate: any;\n POValue: number = 0;\n Quotation_Status: string = \"\";\n POSubmittedOn: any;\n OrdAcknowledgeNumber: string = \"\";\n SupplyChain_Type_Domestic_Export: string = \"\";\n TentativeDateOfDelivery: any;\n InvoiceNo: string = \"\";\n InvoiceSubmittedOn: any;\n EnquiryLostDate: any;\n WinLostReason: string = \"\";\n EnquiryStatus: string = \"\";\n\n ActivityType: string = \"\";\n Activity_Subject: string = \"\";\n ActivityStatus: string = \"\";\n ActivityPurpose: string = \"\";\n ActivityPurposeDesc: string = \"\";\n Activity_Outcome: string = \"\";\n Activity_OutcomeDesc: string = \"\";\n\n ProductLine: string = \"\";\n ProductFamily: string = \"\";\n ProductSeries: string = \"\";\n ProductModel: string = \"\";\n ProductModelPrice: number = 0;\n ProductVariant_1: string = \"\";\n ProductVariant_1Price: number = 0;\n ProductVariant_2: string = \"\";\n ProductVariant_2Price: number = 0;\n ProductVariant_3: string = \"\";\n ProductVariant_3Price: number = 0;\n ProductVariant_4: string = \"\";\n ProductVariant_4Price: number = 0;\n Quantity: number = 0;\n TotalAmount: number = 0;\n Discount: number = 0;\n FinalAmount: number = 0;\n POAmount: number = 0;\n}\n\nexport class CustomTermsAndCondition {\n Enquiry_TnCId: any;\n StandardTC: number = null;\n StandardTCName: string = '';\n CustTCId: number = null;\n CustValue: string = '';\n CustomTCValidation: boolean = false;\n CustomValues: any[] = [];\n}\n\nexport class CompetitorDetails {\n EnquiryId: number = 0;\n CompetitorName: any = \"\";\n ModelName: string = \"\";\n Price: number = null;\n IsRowDeleted: boolean;\n CompetitorNameValidation: boolean = false;\n ModelNameValidation: boolean = false;\n PriceValidation: boolean = false;\n}\n\nexport class OptionsModel {\n ProductOptionId: any; //Quotation table primary key\n OptionId: any; // Options table primary key\n Name: any;\n Price: any;\n IsPriceOnRequest: boolean = false;\n optionValid: boolean = false;\n Option_Discount: any = 0;\n Option_FinalDiscount: any = 0;\n}\n\nexport class CustomerServiceDetailModel {\n CustomerServiceName: string = \"\";\n CustomerServiceEmail: string = \"\";\n CustomerServiceContactNo: string = \"\";\n}\n\n// export class ManagementApprovalDetails {\n// ManagementApprovalId: number;\n// MngApprovalAttachments: any[] = [];\n// MngApprovalCommnents: string = \"\";\n// }\n// export class QuoteGenetationDetails {\n// QuoteGenerationId: number;\n// QuoteGenComments: string = \"\";\n// QuoteGenAttachments: any[] = [];\n// BOMAttachment: any[] = []; //Bill of materials\n// }\n// export class EnquiryDetails {\n// EnquiryId: number;\n// EnquiryDescription: string = \"\";\n// Status: string = \"\";\n// EnquiryNumber: string = \"\";\n// EnquiryDate: Date;\n// }\n// export class SupplyChainDetails {\n// SupplyChainId: number;\n// SupplyChainType: number;\n// TentativeDeliveryDate: Date = new Date();\n// }\n\n","export class HeaderMenuModel{\n \n menuaccessinfo:Menuelement[]=Array();\n ElementKey:string;\n ElementValue:boolean;\n }\n\n export class Menuelement{\n ElementKey:string;\n ElementValue:boolean;\n }","\n\nexport class LeadModel {\n // LeadDetails: LeadModel = new LeadModel();\n Id: number;\n Lead_Id:number;\n CustomerName: string = \"\";\n CustomerAddress:string = \"\";\n KeyPersonName: string = \"\";\n IndustrySegment: string = \"\";\n CustomerType: string = \"\";\n Region: string = \"\";\n LeadDate:any;\n Description:string=\"\";\n Fk_LeadCloseReason: any;\n Status: number;\n IsActive:boolean = false;\n IsConvertToProspect:boolean=false;\n closeReason:any;\n FK_EnquirySourceId: string=\"\";\n FK_Enquiry_Id: string=\"\";\n FK_Customer_Id: string=\"\";\n Comments: any;\n CustomerCode: string=\"\";\n EnquiryNumber:string=\"\";\n }\n ","export class LoginPageImage {\n Id: number;\n ImageName: string = \"\";\n Comment: string = \"\";\n Active: boolean = false;\n}","\nexport class OutofOfficeActivityModel {\n Pk_Id : number;\n OutofOffice:boolean=false; \n StartDate : any;\n EndDate : any;\n //StartDateISO: string = \"\";\n //EndDateISO: string = \"\";\n AlternateUserId : string = \"\";\n AlternateUserName : string = \"\";\n Fk_UserId : string = \"\";\n // Role : any;\n}","export class ProductMatrixModel {\n productid: number = 0;\n productname: string = \"\";\n stationlist: productstation[] = [];\n\n}\n\nexport class productstation {\n stationid: number = 0;\n stationname: string = \"\";\n price: number;\n speedsteplist: productspeedstep[] = [];\n IsStationPOR: boolean = false;\n isStationValid: boolean = true; // Price On Request flag\n\n}\nexport class productspeedstep {\n stepid: number = 0;\n stepname: string = \"\";\n price: number;\n IsSpeedStepPOR: boolean = false; // Price On Request flag\n isSpeedstepValid: boolean = true;\n\n}","export class ProductLine {\n Id: number;\n Name: string = \"\";\n Status: boolean;\n}\n\nexport class ProductFamily {\n Id: number;\n ProductLine: number = null;\n ProductLineName: string = \"\";\n ProductFamilyName: string = \"\";\n Status: boolean;\n}\n\nexport class ProductSeries {\n Id:number;\n ProductLine: number = null;\n ProductLineName: string = \"\";\n ProductFamily: number = null;\n ProductFamilyName: string = \"\";\n SeriesName: string = \"\";\n Label_Variant1: string = '';\n Label_Variant2: string = '';\n Label_Variant3: string = '';\n Label_Variant4: string = '';\n IsLevel2DepOnLevel1: boolean = false;\n IsLevel3DepOnLevel2: boolean = false;\n IsLevel4DepOnLevel3: boolean = false;\n Status: boolean;\n CatlogName: string = '';\n}\n\nexport class ProductModel {\n Id: number;\n ProductSeries: number = null;\n SeriesName: string = \"\";\n ModelName: string = \"\";\n Price: string = \"\";\n ArticleNumber: string = \"\";\n Status: boolean;\n}\n\nexport class VariantLevel1 {\n Id: number;\n ProductSeries: number = null;\n SeriesName: string = \"\";\n ProductModel: number = null;\n ModelName: string = \"\";\n ArticleNumber: string = \"\";\n Level1: Level1Model[] = [];\n Level1arr: any[] = [];\n Price: number = 0;\n Status: boolean;\n otherType: string = '';\n IsPriceOnRequest: boolean = false;\n PrevIsPriceOnRequest: boolean = false;\n PrevPrice: number = 0;\n IsUnits: boolean = false;\n\n}\n\n//Model used for Level1 , Level2 get data with specific id \n//i.e Station-id with Station name\nexport class Level1Model {\n \n Id: number;\n Level1: string;\n}\n\nexport class VariantLevel2 {\n \n Id: number;\n ProductSeries: number = null;\n SeriesName: string = \"\";\n ProductModel: number = null;\n ModelName: string = \"\";\n Level1Id: number = null;\n Level1: string = \"\";\n Level1Price: number = 0;\n Level2: Level1Model[] = [];\n Level2Price: number = 0;\n Status: boolean;\n IsLevel2DepOnLevel1:boolean = false;\n Label_Variant1: string = '';\n Label_Variant2: string = '';\n otherType: string = '';\n Level1IsPriceOnRequest: boolean =false;\n IsPriceOnRequest: boolean = false;\n IsUnits: boolean = false;\n PrevIsPriceOnRequest: boolean = false;\n PrevPrice: number = 0;\n}\n\nexport class VariantLevel3 {\n Id: number;\n ProductSeries: number = null;\n SeriesName: string = \"\";\n ProductModel: number = null;\n ModelName: string = \"\";\n Level1Id:number = null;\n Level1Name:string = \"\";\n Level2Id:number = null;\n Level2:string = \"\";\n Level2Price:number = 0;\n Level3:Level1Model[] = [];\n Level3Price: number = 0;\n Level2IsPriceOnRequest: boolean =false;\n IsLevel3DepOnLevel2:boolean = false;\n IsLevel2DepOnLevel1:boolean = false;\n Label_Variant1: string = \"\";\n Label_Variant2: string = \"\";\n Label_Variant3: string = \"\";\n Status: boolean;\n IsPriceOnRequest: boolean = false;\n IsUnits: boolean = false;\n PrevIsPriceOnRequest: boolean = false;\n PrevPrice: number = 0;\n \n}\n\nexport class VariantLevel4 {\n Id: number;\n ProductSeries: number = null;\n SeriesName: string = \"\";\n ProductModel: number = null;\n ModelName: string = \"\";\n Level1Id:number = null;\n Level2Id:number = null;\n Level3Id:number = null;\n Level3:string = \"\";\n Level3Price:number = 0;\n Level4:Level1Model[] = [];\n Level4Price: number = 0;\n Level3IsPriceOnRequest: boolean =false;\n IsLevel2DepOnLevel1:boolean = false;\n IsLevel3DepOnLevel2:boolean = false;\n IsLevel4DepOnLevel3:boolean = false;\n Label_Variant1: string = \"\";\n Label_Variant2: string = \"\";\n Label_Variant3: string = \"\";\n Label_Variant4: string = \"\";\n Status: boolean;\n IsPriceOnRequest: boolean = false;\n IsUnits: boolean = false;\n PrevIsPriceOnRequest: boolean = false;\n PrevPrice: number = 0;\n \n}\n\nexport class Options {\n Id: number;\n ProductSeries: number = null;\n SeriesName: string = \"\";\n // ProductModel: number = null;\n ProductModelArr: number[] = [];\n ProductModelNameArr: string[] = [];\n ModelName: string = \"\";\n ArticleNumber: string = \"\";\n Option: string = \"\";\n Price: number;\n IsPriceOnRequest: boolean = false;\n}\n\n\n\nexport class Station {\n Id:number;\n Station:string = '';\n}\n\n","import { NgbDate } from '@ng-bootstrap/ng-bootstrap';\nimport { SingleFieldModel } from './SingleFieldModel';\nimport { string } from '@amcharts/amcharts4/core';\n\nexport class QuotationDetailsModel {\n QuotationInfo: QuotationInfo = new QuotationInfo();\n QuotationObj: ProductDetailsModel[] = Array();\n allseriesmodel:any[];\n}\n\nexport class QuotationInfo {\n EnquiryId: any;\n QuotationNumber: any;\n QuotationDate:any;\n EnquiryStatus: any;\n KindAttention:any;\n KindAttEmailId:string = \"\";\n KindAttContactNo:string = \"\";\n PerUnitAmount :any = 0;\n TotalAmount :any = 0;\n Discount :any = 0;\n FinalAmount :any = 0;\n YourReference:any;\n ReferenceDate:any;\n ReferenceDateISO:any;\n IsPriceOnRequest:boolean = false;\n InitiatorName :string =\"\";\n InitiatorContactNo :string =\"\";\n FinalDiscountres:any=0;\n QuotationComments:string = \"\";\n DiscountforOneOrAll: string = \"\";\n SalesContactPerson:string=\"\";\n ContactNumber:string=\"\";\n SalesContactPersonName:string=\"\";\n}\n\nexport class ProductDetailsModel {\n \n ProductId: any;\n ProductFamily: any;\n ProductSeries: any = undefined;\n ProductModel: any = undefined;\n ProductModelPrice: any = 0;\n Variant1Label: any;\n Variant1: any;\n Variant1Price: any = 0;\n Variant2Label: any;\n Variant2: any;\n Variant2Price: any = 0;\n Variant3Label: any;\n Variant3: any;\n Variant3Price: any = 0;\n Variant4Label: any;\n Variant4: any;\n Variant4Price: any = 0;\n Options: OptionsModel[] = new Array();\n OptionSelected:any[]=[];\n OptionsPrice:any = 0;\n\n\n //for varient and option discount fields\n Varient1_Discount:any =0;\n Varient2_Discount:any =0;\n Varient3_Discount:any =0;\n Varient4_Discount:any =0;\n Model_Discount:any=0;\n Varient1_FinalPrice:any=0;\n Varient2_FinalPrice:any=0;\n Varient3_FinalPrice:any=0;\n Varient4_FinalPrice:any=0;\n Model_FinalPrice:any=0;\n \n Option_Discount:any=0;\n Option_FinalDiscount:any=0;\n\n TotalAmountBySpecialDiscount:any=0;\n\n Special_pkg_Discount:any=0;\n\n //for check box functionality\n\n showVariantOptionPrice:boolean=false;\n showVariantOptionDiscount:boolean=false;\n showSpecialPrice:boolean=false;\n\n Quantity :any = 1;\n PerUnitAmount :any=0;\n TotalforRfqdiscount:any=0;\n TotalforIndividualdiscount:any=0;\n TotalAfterDiscount:any=0;\n TotalAmount: any = 0;\n Discount: any = 0;\n \n FinalAmount: any = 0;\n RevisionNo: any;\n SubmittedDate: Date;\n showTechnicalSpecifications:boolean = false;\n TechnicalSpecifications:TechnicalSpecifications[] = new Array();\n separatedTechSpecs:any[]=[];\n\n IsPriceOnRequest_Variant1:boolean; \n IsPriceOnRequest_Variant2:boolean;\n IsPriceOnRequest_Variant3:boolean;\n IsPriceOnRequest_Variant4:boolean;\n IsUnits_Variant1:boolean; \n IsUnits_Variant2:boolean;\n IsUnits_Variant3:boolean;\n IsUnits_Variant4:boolean;\n Units_Variant1:any = 1; \n Units_Variant2:any = 1;\n Units_Variant3:any = 1;\n Units_Variant4:any = 1;\n\n IsLevel2DepOnLevel1: boolean;\n IsLevel3DepOnLevel2: boolean;\n IsLevel4DepOnLevel3: boolean;\n\n colspan1:any;\n colspan2:any;\n colspan3:any;\n colspan4:any;\n\n //validationVariables\n ProductFamilyValidation:boolean = false;\n ProductSeriesValidation:boolean = false;\n ProductModelValidation:boolean = false;\n ProductModelPriceValidation:boolean = false;\n Variant1Validation:boolean = false;\n Variant1PriceValidation:boolean = false;\n Variant2Validation:boolean = false;\n Variant2PriceValidation:boolean = false;\n Variant3Validation:boolean = false;\n Variant3PriceValidation:boolean = false;\n Variant4Validation:boolean = false;\n Variant4PriceValidation:boolean = false;\n OptionsValidation:boolean = false;\n OptionsPriceValidation:boolean = false;\n QuantityValidation:boolean = false;\n QuantityRangeValidation:boolean = false;\n DiscountValidation:boolean = false;\n \n var1_POR_Validation:boolean = false;\n var2_POR_Validation:boolean = false;\n var3_POR_Validation:boolean = false;\n var4_POR_Validation:boolean = false;\n\n var1_Unit_Validation:boolean = false;\n var2_Unit_Validation:boolean = false;\n var3_Unit_Validation:boolean = false;\n var4_Unit_Validation:boolean = false;\n\n productmodeldata:any;\n selectedProductSeries:any[]=[];\n selectedProductModel:any[]=[];\n selectedVariant1:any[]=[];\n selectedVariant2:any[]=[];\n selectedVariant3:any[]=[];\n selectedVariant4:any[]=[];\n selectedOptions:any[]=[];\n\n IsPriceOnRequest_Option:boolean;\n Options_POR_Validation:boolean = false;\n ShowOptionPriceOnRequestGrid:boolean = false;\n\n\n ///Array for checkbox\n checkboxactive: any[] = [1,2,3];\n}\n\nexport class TechnicalSpecifications {\n Id:Number;\n ProductId:Number;\n value:string;\n uniqueid:string;\n}\n\nexport class OptionsModel {\n ProductOptionId :any; //Quotation table primary key\n OptionId :any; // Options table primary key\n Name:any;\n Price:any;\n IsPriceOnRequest: boolean = false;\n optionValid: boolean = false;\n Option_Discount:any=0;\n Option_FinalDiscount:any=0;\n}\n\nexport class QuotationCustomerDetails{\n CustomerId:any;\n CustomerName:string = \"\";\n City:string=\"\";\n State:string=\"\";\n KindAttention:string=\"\";\n YourReference:any;\n ReferenceDate:any;\n}\n\nexport class ProductDrpdnDetails {\n ProductFamily: any[] = [];\n ProductSeries: any[] = [];\n ProductModel: any[] = [];\n Variant1: any[] = [];\n Variant2: any[] = [];\n Variant3: any[] = [];\n Variant4: any[] = [];\n Options: any[] = [];\n IsLevel2DepOnLevel1: boolean;\n IsLevel3DepOnLevel2: boolean;\n IsLevel4DepOnLevel3: boolean;\n\n}\n\n\nexport class QuotationProductLineViewModel {\n public ProductLine: any;\n ProductModels: QuotationProductViewModel[] = Array();\n}\nexport class QuotationProductViewModel {\n public Id: any;\n public Name: any;\n public Price: any;\n Variant1: VariantViewModel[] = Array();\n Variant2: VariantViewModel[] = Array();\n Variant3: VariantViewModel[] = Array();\n Variant4: VariantViewModel[] = Array();\n}\nexport class VariantViewModel {\n public Id: any;\n public Name: any;\n public Price: any;\n public LabelName: any;\n public IsPriceOnRequest: any;\n public IsUnits: any;\n}\n","export class RegisterModel {\n Id: number;\n Name: string = \"\";\n Username:string = \"\";\n FirstName: string = \"\";\n LastName: string = \"\";\n Email: string = \"\";\n Password: string = \"\";\n ConfirmPassword: string = \"\";\n}","export class ReportFilterViewModel {\n EnqType:string=\"\";\n ReportValueType:string=\"\";\n Year:any;\n Region:any = 0;\n ProductLine:any = 0;\n ProductSeries:any = 0;\n Productmodal:any = 0;\n CustomerClass:any = 0;\n CustomerType:any = 0;\n Segment:any = 0;\n reporttype:any;\n curency:number;\n CustomerId:number = 0;\n CustomerName: string = \"\";\n currencyLable:string = \"\";\n currencycode : string = \"\";\n}","\nexport class SalesOrderBusinesPlan {\n UserName:string = \"\";\n TargetFor: string = \"\";\n Year:string = \"\";\n Month:number;\n Units:number;\n Amount:number;\n Fk_UserId_Target:string;\n}","export class SingleFieldModel {\n \n\n customerSpecialDiscountInfo:CustomerSpecialDiscountDetails[]= Array();\n tranisitionrulesobj:tranisitionruledetails[]=Array();\n \n\n Id: number;\n Name: string = \"\";\n Value: string = \"\";\n \n RoleType: number;\n Status: boolean;\n \n RoleArr: any[] = [];\n\n //for Sales Price \n DiscountFrom:number=0;\n DiscountTo:number=0;\n App_Level1:number=0;\n App_Level2:number=0;\n App_Level3:number=0;\n \n ///Subsegment\n SegmentId:number = null;\n SegmentName:string = '';\n SubSegmentName:string = '';\n SubSegmentId:number = null;\n\n ///TermsConditionsCustomized\n StandardTCId:number = null;\n StandardTCName:string = '';\n CustomTCValue:string = '';\n CustomTCId:number = null;\n\n ///Application\n Application: string = \"\";\n\n ///CustomerSpecialDiscount\n ModelName:string = \"\";\n CompanyName:string=\"\";\n Fk_Customer:number=0;\n Fk_ProductModel:number=0;\n ProductDiscount:number=0;\n UnapprovedProductDiscount:number=0;\n \n IsRowDeleted: boolean;\n //singleFieldComponent: SingleFieldModel[]=[];\n ProductModelRequired:boolean=false;\n productDiscountrequired:boolean=false;\n\n IsCompetitorRequired : boolean;\n action_id:number;\n Comment : string= \"\";\n ReasonCategoryId : number;\n \n}\n\nexport class CustomerSpecialDiscountDetails\n{\n Id: number;\n Name: string = \"\";\n Value: string = \"\";\n Status: boolean;\n \n ModelName:string = \"\";\n CompanyName:string=\"\";\n Fk_Customer:number=0;\n Fk_ProductModel:number=0;\n ProductDiscount:number=0;\n UnapprovedProductDiscount:number=0;\n IsRowDeleted: boolean; \n ProductModelRequired:boolean=false;\n productDiscountrequired:boolean=false;\n action_id:number;\n Comment : string=\"\";\n\n}\n\nexport class SingleFieldComponent {\n Heading: string = \"\";\n RoutingParam: string = \"\";\n ConfirmationText: string = \"\";\n SuccessText: string = \"\";\n SuccessText2: string = \"\";\n ButtonText: string = \"\";\n ActionName: string = \"\";\n ControllerName: string = \"\"; \n isDoubleField: boolean = false;\n isExtraFields:boolean=false;\n isthirdfielddropdown:boolean = false;\n isvariablediscountfield:boolean = false;\n isSalespriceDiscountFields:boolean=false;\n issecondfielddropdown:boolean = false;\n firstFiledLabel: string = \"\";\n secondFiledLabel: string = \"\";\n thirdFiledLabel:string =\"\";\n firstFieldValidationMsg: string = \"\";\n SecondFieldValidationMsg: string = \"\";\n ThirdFieldValidationMsg: string = \"\";\n isDropdownrequird: boolean = false;\n Pattern:any;\n FirstFieldMaxLen:number = 0;\n SecondFieldMaxLen:number = 0;\n ThirdFieldMaxLen:number = 0;\n TableHeader1: string = \"\";\n TableHeader2: string = \"\";\n TableHeader3: string = \"\";\n FirstFiledPattern :string = \"\";\n FirstFiledPatternValidationMessage :string = \"\";\n\n /////////////////////////////\n isTripleField: boolean = false;\n thirdFieldLabel: string = \"\";\n thirdFieldValidationMsg: string = \"\";\n //ThirdFieldMaxLen:number = 0;\n \n SecondFieldPattern :string = \"\";\n SecondFieldPatternValidationMessage :string = \"\";\n ThirdFieldPattern :string = \"\";\n ThirdFieldPatternValidationMessage :string = \"\";\n Companyname:string=\"\";\n isCompanynamerequired:boolean=false;\n ismultiplerecords:boolean=false;\n\n \n}\n\nexport class tranisitionruledetails\n{\n transition_rule_id:number;\n workflow_id:number;\n current_state_id:number;\n action_id:number;\n next_state_id:number;\n action_by_role_id:any;\n condition_code:string;\n pending_at_role_id:any;\n actionname:string;\n Comment : string=\"\";\n}","export class SiteActivityLogModel {\n Pk_LogId: number;\n User_Id: string = '';\n User_Name: string = '';\n Name: string = '';\n Http_Method: string = \"\";\n Browser_Info: string = '';\n EmpCode: string = '';\n Ip_Address: string = '';\n Route: string = '';\n Payload: string = '';\n CreatedOn: any;\n}\n\nexport class SiteActivityLogGridFilterList {\n InitiatorName: SiteActivityGridDropDown[] = [];\n}\nexport class SiteActivityGridDropDown {\n User_Name: string = \"\";\n Id: string = \"\";\n Name: string = \"\";\n}\n\nexport class SiteActivityPaginationGrid {\n pageNumber: number = 0;\n pageSize: number = 0;\n //SearchText: string = \"\";\n direction: string = \"\";\n ColumnName: string = \"\";\n\n EnquiryDateFromFiter: string = null;\n EnquiryDateToFiter: string = null;\n InitiatorNameFilter: string[] = [];\n\n}","export class StockInventoryModel {\n Id:number;\n StockDate:any;\n StockDateISO: string = '';\n StockFileName:string = '';\n StockFilePath:string = '';\n\n}","import { string } from \"@amcharts/amcharts4/core\";\nimport { UserRoles } from \"../UserRoles\";\n\nexport class WorkFlowScreenAccessModel {\n\n accesspermissionobj:AccessPermissionModel[]=Array();\n elementTypeObj:ElementTypeList[]=Array();\n\n Id: number = 0;\n RoleId: string = \"\";\n RoleName: string = \"\";\n isEnquiryForm: boolean = false;\n isRFQ: boolean = false;\n isQuoteGeneration: boolean = false;\n isManagementApproval: boolean = false;\n isCEOApproval: boolean = false;\n isEnquiryConfirmation: boolean = false;\n isSOGeneration: boolean = false;\n isOrderAcknowledgement: boolean = false;\n isSupplyChain: boolean = false;\n isAccounts: boolean = false;\n\n\n\n //////////\n isEnquiryForm_Default: boolean = false;\n isRFQ_Default: boolean = false;\n isQuoteGeneration_Default: boolean = false;\n isManagementApproval_Default: boolean = false;\n isCEOApproval_Default: boolean = false;\n isEnquiryConfirmation_Default: boolean = false;\n isSOGeneration_Default: boolean = false;\n isOrderAcknowledgement_Default: boolean = false;\n isSupplyChain_Default: boolean = false;\n isAccounts_Default: boolean = false;\n}\n\n\nexport class DefaultViewModel {\n\n\nWorkflowDefaultViewAccessArray:any[]= [\n //Admin\n {\n role: UserRoles.Admin, isEnquiryForm_Default: true, isRFQ_Default: true,\n isQuoteGeneration_Default: true, isManagementApproval_Default: true, isCEOApproval_Default: true,\n isEnquiryConfirmation_Default: true, isSOGeneration_Default: true, isOrderAcknowledgement_Default: true,\n isSupplyChain_Default: true, isAccounts_Default: true\n },\n\n // SalesEngineer \n {\n role: UserRoles.SalesEngineer, isEnquiryForm_Default: true, isRFQ_Default: true,\n isQuoteGeneration_Default: false, isManagementApproval_Default: true, isCEOApproval_Default: true,\n isEnquiryConfirmation_Default: true, isSOGeneration_Default: true, isOrderAcknowledgement_Default: true,\n isSupplyChain_Default: true, isAccounts_Default: true\n },\n // RegionalSalesManager\n {\n role: UserRoles.RegionalSalesManager, isEnquiryForm_Default: true, isRFQ_Default: true,\n isQuoteGeneration_Default: false, isManagementApproval_Default: true, isCEOApproval_Default: true,\n isEnquiryConfirmation_Default: true, isSOGeneration_Default: true, isOrderAcknowledgement_Default: true,\n isSupplyChain_Default: true, isAccounts_Default: true\n },\n // AreaSalesManager \n {\n role: UserRoles.AreaSalesManager, isEnquiryForm_Default: true, isRFQ_Default: true,\n isQuoteGeneration_Default: false, isManagementApproval_Default: true, isCEOApproval_Default: true,\n isEnquiryConfirmation_Default: true, isSOGeneration_Default: true, isOrderAcknowledgement_Default: true,\n isSupplyChain_Default: true, isAccounts_Default: true\n },\n // Marketing \n {\n role: UserRoles.Marketing, isEnquiryForm_Default: true, isRFQ_Default: true,\n isQuoteGeneration_Default: false, isManagementApproval_Default: false, isCEOApproval_Default: false,\n isEnquiryConfirmation_Default: false, isSOGeneration_Default: false, isOrderAcknowledgement_Default: false,\n isSupplyChain_Default: false, isAccounts_Default: false\n },\n // L1 \n {\n role: UserRoles.L1, isEnquiryForm_Default: true, isRFQ_Default: true,\n isQuoteGeneration_Default: true, isManagementApproval_Default: true, isCEOApproval_Default: true,\n isEnquiryConfirmation_Default: true, isSOGeneration_Default: false, isOrderAcknowledgement_Default: true,\n isSupplyChain_Default: true, isAccounts_Default: true\n },\n // L2 \n {\n role: UserRoles.L2, isEnquiryForm_Default: true, isRFQ_Default: true,\n isQuoteGeneration_Default: false, isManagementApproval_Default: true, isCEOApproval_Default: true,\n isEnquiryConfirmation_Default: true, isSOGeneration_Default: false, isOrderAcknowledgement_Default: true,\n isSupplyChain_Default: true, isAccounts_Default: true\n },\n // L3\n {\n role: UserRoles.L3, isEnquiryForm_Default: true, isRFQ_Default: true,\n isQuoteGeneration_Default: false, isManagementApproval_Default: true, isCEOApproval_Default: true,\n isEnquiryConfirmation_Default: true, isSOGeneration_Default: false, isOrderAcknowledgement_Default: true,\n isSupplyChain_Default: true, isAccounts_Default: true\n },\n // BusinessDevelopment\n {\n role: UserRoles.BusinessDevelopment, isEnquiryForm_Default: true, isRFQ_Default: true,\n isQuoteGeneration_Default: false, isManagementApproval_Default: true, isCEOApproval_Default: true,\n isEnquiryConfirmation_Default: true, isSOGeneration_Default: true, isOrderAcknowledgement_Default: true,\n isSupplyChain_Default: true, isAccounts_Default: true\n },\n // SalesDirector\n {\n role: UserRoles.SalesDirector, isEnquiryForm_Default: true, isRFQ_Default: true,\n isQuoteGeneration_Default: false, isManagementApproval_Default: true, isCEOApproval_Default: true,\n isEnquiryConfirmation_Default: true, isSOGeneration_Default: true, isOrderAcknowledgement_Default: true,\n isSupplyChain_Default: true, isAccounts_Default: true\n },\n // CEO\n {\n role: UserRoles.CEO, isEnquiryForm_Default: true, isRFQ_Default: true,\n isQuoteGeneration_Default: false, isManagementApproval_Default: true, isCEOApproval_Default: true,\n isEnquiryConfirmation_Default: true, isSOGeneration_Default: true, isOrderAcknowledgement_Default: true,\n isSupplyChain_Default: true, isAccounts_Default: true\n },\n // FinanceAccounts\n {\n role: UserRoles.FinanceAccounts, isEnquiryForm_Default: true, isRFQ_Default: true,\n isQuoteGeneration_Default: false, isManagementApproval_Default: true, isCEOApproval_Default: true,\n isEnquiryConfirmation_Default: true, isSOGeneration_Default: true, isOrderAcknowledgement_Default: true,\n isSupplyChain_Default: true, isAccounts_Default: true\n },\n // SupplyChain\n {\n role: UserRoles.SupplyChain, isEnquiryForm_Default: true, isRFQ_Default: true,\n isQuoteGeneration_Default: false, isManagementApproval_Default: true, isCEOApproval_Default: true,\n isEnquiryConfirmation_Default: false, isSOGeneration_Default: false, isOrderAcknowledgement_Default: true,\n isSupplyChain_Default: true, isAccounts_Default: true\n },\n // CustomerService \n {\n role: UserRoles.CustomerService, isEnquiryForm_Default: true, isRFQ_Default: true,\n isQuoteGeneration_Default: true, isManagementApproval_Default: true, isCEOApproval_Default: true,\n isEnquiryConfirmation_Default: true, isSOGeneration_Default: true, isOrderAcknowledgement_Default: true,\n isSupplyChain_Default: true, isAccounts_Default: true\n },\n // ProductManager \n {\n role: UserRoles.ProductManager, isEnquiryForm_Default: true, isRFQ_Default: true,\n isQuoteGeneration_Default: false, isManagementApproval_Default: true, isCEOApproval_Default: true,\n isEnquiryConfirmation_Default: true, isSOGeneration_Default: false, isOrderAcknowledgement_Default: true,\n isSupplyChain_Default: true, isAccounts_Default: true\n },\n // ChannelPartner \n {\n role: UserRoles.ChannelPartner, isEnquiryForm_Default: true, isRFQ_Default: true,\n isQuoteGeneration_Default: false, isManagementApproval_Default: false, isCEOApproval_Default: false,\n isEnquiryConfirmation_Default: true, isSOGeneration_Default: false, isOrderAcknowledgement_Default: false,\n isSupplyChain_Default: false, isAccounts_Default: false\n },\n // Distributor\n {\n role: UserRoles.Distributor, isEnquiryForm_Default: true, isRFQ_Default: true,\n isQuoteGeneration_Default: false, isManagementApproval_Default: false, isCEOApproval_Default: false,\n isEnquiryConfirmation_Default: true, isSOGeneration_Default: false, isOrderAcknowledgement_Default: false,\n isSupplyChain_Default: false, isAccounts_Default: false\n },\n // Agent \n {\n role: UserRoles.Agent, isEnquiryForm_Default: true, isRFQ_Default: true,\n isQuoteGeneration_Default: false, isManagementApproval_Default: false, isCEOApproval_Default: false,\n isEnquiryConfirmation_Default: true, isSOGeneration_Default: false, isOrderAcknowledgement_Default: false,\n isSupplyChain_Default: false, isAccounts_Default: false\n },\n]\n\n}\n\nexport class AccessPermissionModel\n{\n Id? :number;\n Fk_RoleId? :string;\n RoleName?:string;\n Fk_ElementId? :number;\n IsVisible? :boolean;\n IsEditable? :boolean; \n ElementName?:string; \n ElementKey?:any; \n ElementType?:any; \n CanCreate?:boolean;\n CanList?:boolean; \n}\n\nexport class ElementTypeList\n{\n ElementType?:string;\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({name: 'indianCurrency'})\nexport class IndianCurrency implements PipeTransform {\n transform(value: any): any {\n\n if (! isNaN(value)) {\n // var currencySymbol = '₹';\n //var output = Number(input).toLocaleString('en-IN'); <-- This method is not working fine in all browsers! \n var result = value?.toString().split('.');\n var res = this.transformtValue(result);\n \n result=res?.toString().split('.');\n var lastThree = result[0].substring(result[0].length - 3);\n var otherNumbers = result[0].substring(0, result[0].length - 3);\n if (otherNumbers != '')\n lastThree = ',' + lastThree;\n var output = otherNumbers.replace(/\\B(?=(\\d{2})+(?!\\d))/g, \",\") + lastThree;\n\n if (result.length > 1) {\n output += \".\" + result[1];\n \n } \n else{\n output += \".00\";\n } \n\n return output;\n }\n }\n transformtValue(value){\n return Math.abs(value)\n }\n}","import { map } from '@amcharts/amcharts4/.internal/core/utils/Iterator';\nimport { Injectable } from '@angular/core';\nimport { Observable, of } from 'rxjs';\nimport { Menuelement } from '../Model/HeaderMenuModel';\nimport { AccessPermissionModel } from '../Model/WorkFlowScreenAccessModel';\nimport { CommonService } from './common.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AccessPermissionService {\n accesspermissionobj:AccessPermissionModel[]=Array();\n AccesspermissionForRole:any[]=[];\n menuaccessinfo:Menuelement[]=Array();\n constructor(private commonService: CommonService) { }\n\n GetAll(): Observable\n {\n return this.commonService.GetData('AccessPermission','GetPermissionsForCurrentUser', null);\n }\n\n GetWorkFlowAccessScreen()\n {\n \n } \n\n}\n","\n\nimport { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable, of } from 'rxjs';\nimport { Activity, ActivityLinkageEntityType, ActivityOutcome, ActivityParticipants, ActivityPurpose, ActivityStatusByType, ActivityType, EntityRecord, User } from '../Model/ActivityModel';\nimport { CommonService } from './common.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ActivityService {\n private readonly apiUrl = 'https://my-api.com/activities';\n\n\n // private mockActivities: Activity[] = [\n // {\n // ActivityId: 1,\n // Subject: 'Meeting with client',\n // ActivityOwner: 'John Doe',\n // ActivityOwnerRoleId: 1,\n // Priority: 'High',\n // Address: '123 Main St.',\n // ActivityTypeId: 1,\n // ActivitySubType: 'Sales Meeting',\n // ActivityPurposeId: 1,\n // PurposeDesc: 'Discuss new product line',\n // ActivityOutcomeId: 1,\n // OutcomeDesc: 'Agreed to move forward with purchase',\n // ActivityStatusId: 1,\n // Comment: 'Follow up next week',\n // PlannedStartDatetime: new Date(),\n // PlannedDueDatetime: new Date(),\n // ActualStartDatetime: new Date(),\n // ActualCompletionDatetime: new Date(),\n // CreatedOn: new Date(),\n // CreatedBy: 'Jane Smith',\n // ModifiedOn: new Date(),\n // ModifiedBy: 'Jane Smith',\n // InEditMode: false,\n\n // },\n // {\n // ActivityId: 2,\n // Subject: 'Phone call with prospect',\n // ActivityOwner: 'John Doe',\n // ActivityOwnerRoleId: 1,\n // Priority: 'Low',\n // ActivityTypeId: 2,\n // ActivityPurposeId: 2,\n // ActivityOutcomeId: 2,\n // ActivityStatusId: 2,\n // PlannedStartDatetime: new Date(),\n // PlannedDueDatetime: new Date(),\n // CreatedOn: new Date(),\n // CreatedBy: 'Jane Smith',\n // ModifiedOn: new Date(),\n // ModifiedBy: 'Jane Smith',\n // InEditMode: false\n // },\n // // {\n // // ActivityId: 2,\n // // Subject: 'Phone call with prospect',\n // // ActivityOwner: 'John Doe',\n // // ActivityOwnerRoleId: 1,\n // // Priority: 'Medium',\n // // ActivityTypeId: 2,\n // // ActivityPurposeId: 2,\n // // ActivityOutcomeId: 2,\n // // ActivityStatusId: 2,\n // // PlannedStartDatetime: new Date(),\n // // PlannedDueDatetime: new Date(),\n // // CreatedOn: new Date(),\n // // CreatedBy: 'Jane Smith',\n // // ModifiedOn: new Date(),\n // // ModifiedBy: 'Jane Smith',\n // // InEditMode:false\n // // }, {\n // // ActivityId: 2,\n // // Subject: 'Phone call with prospect',\n // // ActivityOwner: 'John Doe',\n // // ActivityOwnerRoleId: 1,\n // // Priority: 'Low',\n // // ActivityTypeId: 2,\n // // ActivityPurposeId: 2,\n // // ActivityOutcomeId: 2,\n // // ActivityStatusId: 2,\n // // PlannedStartDatetime: new Date(),\n // // PlannedDueDatetime: new Date(),\n // // CreatedOn: new Date(),\n // // CreatedBy: 'Jane Smith',\n // // ModifiedOn: new Date(),\n // // ModifiedBy: 'Jane Smith',\n // // InEditMode:false\n // // }, {\n // // ActivityId: 3,\n // // Subject: 'Phone call with prospect',\n // // ActivityOwner: 'John Doe',\n // // ActivityOwnerRoleId: 1,\n // // Priority: 'Low',\n // // ActivityTypeId: 2,\n // // ActivityPurposeId: 2,\n // // ActivityOutcomeId: 2,\n // // ActivityStatusId: 2,\n // // PlannedStartDatetime: new Date(),\n // // PlannedDueDatetime: new Date(),\n // // CreatedOn: new Date(),\n // // CreatedBy: 'Jane Smith',\n // // ModifiedOn: new Date(),\n // // ModifiedBy: 'Jane Smith',\n // // InEditMode:false\n // // }, {\n // // ActivityId: 3,\n // // Subject: 'Phone call with prospect',\n // // ActivityOwner: 'John Doe',\n // // ActivityOwnerRoleId: 1,\n // // Priority: 'High',\n // // ActivityTypeId: 2,\n // // ActivityPurposeId: 2,\n // // ActivityOutcomeId: 2,\n // // ActivityStatusId: 2,\n // // PlannedStartDatetime: new Date(),\n // // PlannedDueDatetime: new Date(),\n // // CreatedOn: new Date(),\n // // CreatedBy: 'Jane Smith',\n // // ModifiedOn: new Date(),\n // // ModifiedBy: 'Jane Smith',\n // // InEditMode:false\n // // }\n // ];\n\n constructor(private http: HttpClient, private commonService: CommonService) { }\n\n\n getAllActivities(): Observable {\n return this.commonService.GetData(\"Activity\", \"Getall\", null);\n }\n\n\n // getActivity(activityId: number): Observable {\n // return of({ ...this.mockActivities[0] });\n // }\n\n\n addOrUpdateActivity(activity: Activity): Observable {\n if (activity.ActivityId) {\n return this.commonService.PostDataForCustomerEnagement(\"Activity\", \"Update\", activity, null);\n } else {\n\n if (isNaN(activity.ActivityId) || activity.ActivityId < 1) {\n return this.commonService.PostDataForCustomerEnagement(\"Activity\", \"Add\", activity, null);\n }\n return of(activity);\n\n }\n //console.log(activity)\n\n // const index = this.mockActivities.findIndex((a) => a.ActivityId === activity.ActivityId);\n // if (index !== -1) {\n // // return this.commonService.PostData(\"Activity\", \"Update\", activity,null,null);\n // // return this.updateActivity(activity);\n // } else {\n // return this.addActivity(activity);\n // }\n\n // return this.commonService.PostData(\"Activity\", \"Update\", activity,null);\n\n }\n\n\n editActivity(activity: Activity): Observable {\n return of(activity);\n }\n\n\n deleteActivity(activity: Activity): Observable {\n return of(activity);\n }\n\n\n\n\n addActivity(activity) {\n if (isNaN(activity.ActivityId) || activity.ActivityId < 1) {\n return this.commonService.PostDataForCustomerEnagement(\"Activity\", \"Add\", activity, null);\n }\n return of(activity);\n }\n\n\n // updateActivity(activity: Activity) {\n\n // const index = this.mockActivities.findIndex((a) => a.ActivityId === activity.ActivityId);\n\n // if (activity.ActivityId > 0) {\n // this.mockActivities[index] = activity;\n // }\n // return of(activity);\n // }\n\n\n\n // ----Dropdowns ActivityType, Status, Outcome, Purpose-----\n\n\n private mockActivityTypeMaster: ActivityType[] = [\n ]\n\n private mockActivityStatusByTypeMaster: ActivityStatusByType[] = [\n {\n StatusCode: 'Pending',\n ActivityStatusId: 1,\n ActivityStatusDesc: 'Pending',\n ActivityStatusCode: 'Pending',\n ActivityTypeId: 1,\n IsActive: true,\n }, {\n StatusCode: 'Inprocess',\n ActivityStatusId: 2,\n ActivityStatusDesc: 'Inprocess',\n ActivityStatusCode: 'Inprocess',\n ActivityTypeId: 2,\n IsActive: false,\n }, {\n StatusCode: 'Done',\n ActivityStatusId: 3,\n ActivityStatusDesc: 'Done',\n ActivityStatusCode: 'Done',\n ActivityTypeId: 3,\n IsActive: false,\n },\n\n\n ]\n\n private mockActivityOutcomeMaster: ActivityOutcome[] = [\n\n {\n ActivityOutcomeId: 1,\n ActivityOutcomeCode: \"AAA\",\n ActivityOutcomeDesc: \"Final\",\n IsActive: false,\n CreatedOn: new Date(),\n CreatedBy: \"assdf\",\n ModifiedOn: new Date(),\n ModifiedBy: 'fefe'\n }, {\n ActivityOutcomeId: 2,\n ActivityOutcomeCode: \"BBB\",\n ActivityOutcomeDesc: \"Final\",\n IsActive: false,\n CreatedOn: new Date(),\n CreatedBy: \"assdf\",\n ModifiedOn: new Date(),\n ModifiedBy: 'fefe'\n }, {\n ActivityOutcomeId: 3,\n ActivityOutcomeCode: \"CCC\",\n ActivityOutcomeDesc: \"Final\",\n IsActive: false,\n CreatedOn: new Date(),\n CreatedBy: \"assdf\",\n ModifiedOn: new Date(),\n ModifiedBy: 'fefe'\n }\n ]\n\n\n private mockActivityPurposeMaster: ActivityPurpose[] = [\n {\n ActivityPurposeId: 1,\n ActivityPurposeCode: 'wee',\n ActivityPurposeDesc: 'add',\n IsActive: true,\n },\n {\n ActivityPurposeId: 2,\n ActivityPurposeCode: 'wee',\n ActivityPurposeDesc: 'vrrtrt',\n IsActive: true,\n },\n {\n ActivityPurposeId: 3,\n ActivityPurposeCode: 'wee',\n ActivityPurposeDesc: 'vgtfd',\n IsActive: true,\n }\n ]\n\n\n\n getActivityById(activityId): Observable {\n let queryString = \"id=\" + activityId;\n\n return this.commonService.GetData(\"Activity\", \"Getbyid\", queryString);\n }\n\n\n\n getActivityTypeMaster(): Observable {\n return this.commonService.GetData(\"ActivityType\", \"GetAll\", null);\n }\n\n getActivityStatusMaster(activityTypeId) {\n let queryString;\n if (activityTypeId == null) {\n queryString = null;\n }\n else {\n queryString = \"activityTypeId=\" + activityTypeId;\n }\n return this.commonService.GetData(\"ActivityStatus\", queryString == null ? \"GetAll\" : \"GetAllByType\", queryString);\n // return of([...this.mockActivityStatusByTypeMaster]);\n }\n\n\n getActivityOutcomeMaster(activityTypeId) {\n let queryString = \"activityTypeId=\" + activityTypeId;\n return this.commonService.GetData(\"ActivityOutcome\", \"GetAllByType\", queryString);\n //return of ([...this.mockActivityOutcomeMaster])\n }\n\n\n getActivityPurposeMaster(activityTypeId) {\n let queryString = \"activityTypeId=\" + activityTypeId;\n return this.commonService.GetData(\"ActivityPurpose\", \"GetAllByType\", queryString);\n // return of ([...this.mockActivityPurposeMaster]);\n }\n\n getallEntityTypesMaster() {\n // return of ([...this.allEntityTypesMaster])\n return this.commonService.GetData(\"ActivityLinkEntityType\", \"GetAll\", null);\n\n }\n\n getrelatedEntityRecords(entityTypeId,entityIds) {\n\n if(!entityIds || !Array.isArray(entityIds)){\n entityIds=[];//initialize with blank in case its null or not an array\n }\n\n let queryString = \"EntityTypeId=\" + entityTypeId + \"&EntityIds=\"+encodeURIComponent(entityIds.join(\",\"));\n\n // console.log(queryString);\n\n return this.commonService.GetData(\"Activity\", \"EntityData\", queryString);\n }\n\n\n getallUserMaster() {\n return this.commonService.GetData(\"Account\", \"GetAllUsers\", null);\n }\n getActivityByFilter(reqBody: any) {\n return this.commonService.PostDataForCustomerEnagement(\"Activity\", \"GetDataPagination\", reqBody, null);\n }\n\n}\n\n\n","import { Injectable } from '@angular/core';\nimport { AppConfig } from 'src/assets/constants';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AppConfigService {\n\n constructor() { }\n\n private config = AppConfig;\n\n getConfig() {\n return this.config;\n }\n}\n","import { EventEmitter, Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { environment } from 'src/environments/environment';\nimport { AppGlobals } from '../app.global';\nimport { BehaviorSubject, Observable, of, Subscription } from 'rxjs';\nimport { Action } from 'rxjs/internal/scheduler/Action';\nimport { query } from '@angular/animations';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CommonService {\n RefreshHeader = new EventEmitter(); \n subsVar: Subscription; \n private previousUrl: BehaviorSubject = new BehaviorSubject(null);\n public previousUrl$: Observable = this.previousUrl.asObservable();\n \n constructor(private http: HttpClient) { }\n\n \n GetData(ControllerName: string, ActionName: string, queryString: any) { \n let userToken = localStorage.getItem(\"userToken\");\n\n var reqHeader = new HttpHeaders().set(\"Authorization\", \"Bearer \" + userToken);\n if (queryString != null) {\n return this.http.get(AppGlobals.baseAppUrl + \"api/\" + ControllerName + \"/\" + ActionName + '?' + queryString, { headers: reqHeader })\n }\n else {\n return this.http.get(AppGlobals.baseAppUrl + \"api/\" + ControllerName + \"/\" + ActionName, { headers: reqHeader });\n }\n }\n\n getpdf(ControllerName: string, ActionName: string, model: any): Observable {\n const httpOptions = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\n //headers = headers.set('Accept', 'application/pdf');\n return this.http.post(AppGlobals.baseAppUrl + \"/api/\" + ControllerName + \"/\" + ActionName,\n model, httpOptions);\n }\n\n getPrintPreview(ControllerName: string, ActionName: string, queryString: any): Observable {\n let userToken = localStorage.getItem(\"userToken\");\n\n var reqHeader = new HttpHeaders().set(\"Authorization\", \"Bearer \" + userToken);\n if (queryString != null) {\n return this.http.get(AppGlobals.baseAppUrl + ControllerName + \"/\" + ActionName + '?' + queryString, { headers: reqHeader ,responseType:\"text\"})\n }else{\n return of(\"\");\n }\n \n }\n\n\n PostData(ControllerName: string, ActionName: string, data: any, queryString: any,pk_cutomer_id:number=0) {\n let userToken = localStorage.getItem(\"userToken\");\n var reqHeader = new HttpHeaders().set(\"Authorization\", \"Bearer \" + userToken);\n \n var url = AppGlobals.baseAppUrl + \"api/\" + ControllerName + \"/\" + ActionName + (queryString != null ? \"?\" + queryString : \"\")\n if (data != null) {\n return this.http.post(url, data, { headers: reqHeader });\n }\n else {\n return this.http.post(url, \"\", { headers: reqHeader });\n }\n }\n GetUserProfileData(ControllerName: string, ActionName: string) {\n let userToken = localStorage.getItem(\"userToken\");\n var reqHeader = new HttpHeaders().append(\"Authorization\", \"Bearer \" + userToken);\n return this.http.get(AppGlobals.baseAppUrl + \"api/\" + ControllerName + \"/\" + ActionName, { headers: reqHeader });\n }\n\n RefreshHeaderFun() { \n this.RefreshHeader.emit(); \n }\n\n gereatePDF(ControllerName: string, ActionName: string, filename: any) {\n let userToken = localStorage.getItem(\"userToken\");\n var reqHeader = new HttpHeaders().set(\"Authorization\", \"Bearer \" + userToken);\n return this.http.get(AppGlobals.baseAppUrl + \"api/\" + ControllerName + \"/\" + ActionName+\"?filename=\"+filename, { headers: reqHeader,responseType: 'blob' }); \n }\n\n getImageName(ControllerName: string, ActionName: String) {\n\n return this.http.get(AppGlobals.baseAppUrl + \"api/\" + ControllerName + \"/\" + ActionName); \n }\n\n\n setPreviousUrl(previousUrl: string) {\n this.previousUrl.next(previousUrl);\n }\n\n PostDataForCustomerEnagement(ControllerName: string, ActionName: string, data: any, queryString: any,cutomerid:number=0) {\n let userToken = localStorage.getItem(\"userToken\");\n var reqHeader = new HttpHeaders().set(\"Authorization\", \"Bearer \" + userToken);\n if (data != null && queryString == null) {\n if(cutomerid!=0)\n {\n queryString=\"pk_cutomer_id=\"+cutomerid;\n return this.http.post(AppGlobals.baseAppUrl + \"api/\" + ControllerName + \"/\" + ActionName + '?' + queryString, data, { headers: reqHeader });\n }\n return this.http.post(AppGlobals.baseAppUrl + \"api/\" + ControllerName + \"/\" + ActionName, data, { headers: reqHeader }); \n \n }\n else {\n return this.http.post(AppGlobals.baseAppUrl + \"api/\" + ControllerName + \"/\" + ActionName + '?' + queryString, \"\", { headers: reqHeader });\n }\n\n }\n\n PostStatus(ControllerName: string, ActionName: string, queryString: any,Customerid:number=0) {\n let userToken = localStorage.getItem(\"userToken\");\n var reqHeader = new HttpHeaders().set(\"Authorization\", \"Bearer \" + userToken);\n var url = AppGlobals.baseAppUrl + \"api/\" + ControllerName + \"/\" + ActionName + (queryString != null ? \"?\" + queryString : \"\")+(Customerid != null ? \"&Customerid=\" + Customerid : \"\");\n return this.http.post(url, \"\", { headers: reqHeader });\n }\n\n convertArrayToObject(data: []): Observable {\n const result = {};\n data.forEach(accesspermission => {\n const key = `${accesspermission['RoleName']}`;\n if (!result[key]) {\n result[key] = {};\n }\n if (!result[key][accesspermission['ElementName']]) {\n if(!result[key][accesspermission['ElementType']])\n {\n result[key][accesspermission['ElementType']] = [];\n }\n }\n \n result[key][accesspermission['ElementType']].push(accesspermission);\n });\n return of(result);\n\n }\n\n \n GetAllAccesspermission(): Observable {\n return this.GetData('AccessPermission', 'GetPermissionsForCurrentUser', null);\n //return null;\n }\n\n GetPdfInCurrency(ControllerName: string, ActionName: string, queryString: any): Observable { \n \n return this.http.get(AppGlobals.baseAppUrl + \"api/\" + ControllerName + \"/\" + ActionName + '?' + queryString, { responseType: 'blob' })\n \n }\n \n\n}","import { Injectable } from \"@angular/core\";\nimport { of } from \"rxjs\";\nimport { CommonService } from \"./common.service\";\n@Injectable({\n providedIn: 'root'\n})\nexport class EngagementReportServiceService {\n constructor(private commonService: CommonService) {}\n\n dataSet = [\n {\n Id: 1,\n currentWorkflowId:4,\n previousWorkflowId:3, \n Status:1 \n },\n {\n Id: 2,\n currentWorkflowId:7,\n previousWorkflowId:4, \n Status:3\n },\n {\n Id: 3,\n currentWorkflowId:9,\n previousWorkflowId:7, \n Status:35\n },\n {\n Id: 4,\n currentWorkflowId:10,\n previousWorkflowId:9, \n Status:38\n },\n ]\n // {\n // type: \"Call\",\n // \"Not Started\": 10,\n // \"In progress\": 16,\n // Completed: 24,\n // },\n // {\n // type: \"Visit\",\n // \"Not Started\": 12,\n // \"In progress\": 9,\n // Completed: 15,\n // },\n // ];\n\n // dataSet2 = [\n // {\n // month: \"January\",\n // meeting: 20,\n // call: 60,\n // visit: 15,\n // },\n // {\n // month: \"February\",\n // meeting: 20,\n // call: 60,\n // visit: 15,\n // },\n // {\n // month: \"March\",\n // meeting: 20,\n // call: 60,\n // visit: 15,\n // },\n // {\n // month: \"April\",\n // meeting: 20,\n // call: 60,\n // visit: 15,\n // },\n // {\n // month: \"May\",\n // meeting: 20,\n // call: 60,\n // visit: 15,\n // },\n // {\n // month: \"June\",\n // meeting: 20,\n // call: 60,\n // visit: 15,\n // },\n // {\n // month: \"July\",\n // meeting: 20,\n // call: 60,\n // visit: 15,\n // },\n // {\n // month: \"August\",\n // meeting: 20,\n // call: 60,\n // visit: 15,\n // },\n // {\n // month: \"September\",\n // meeting: 20,\n // call: 60,\n // visit: 15,\n // },\n // {\n // month: \"October\",\n // meeting: 20,\n // call: 60,\n // visit: 15,\n // },\n // {\n // month: \"November\",\n // meeting: 20,\n // call: 60,\n // visit: 15,\n // },\n // {\n // month: \"December\",\n // meeting: 20,\n // call: 60,\n // visit: 15,\n // },\n // ];\n\n // getReportByTypeStatus() {\n // return of(this.dataSet1);\n // }\n // getReportByTypeMonth() {\n // return of(this.dataSet2);\n // }\n\n getSendbackRules() {\n // return this.commonService.PostData(\"Activity\", \"GetChartData\", data, null)\n return this.dataSet;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { CommonService } from './common.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class EngagementReportService {\n constructor(private commonService: CommonService) { }\n\n seriesColors: string[] = [\n \"#FF0000\",\n \"#097969\",\n \"#800080\",\n \"#0080FE\",\n \"#8B4513\",\n \"#808080\",\n \"#6F00FF\",\n \"#FFFF00\",\n \"#32CD32\",\n \"#C1E1C1\",\n \"#00308F\"\n ]\n\n getReportData(data: any) {\n return this.commonService.PostData(\"Activity\", \"GetChartData\", data, null)\n }\n\n\n transformChartData(xCategory, yCategory, seriesCategory, chartData) {\n let transformedChartData = {};\n\n let allSeriesNames = this.getAllSeriesName(seriesCategory, chartData);\n\n // console.log('allSeriesNames');\n // console.log(allSeriesNames);\n\n for (let item of chartData) {\n\n let category = item[xCategory];\n let seriesCat = item[seriesCategory];\n\n if (!transformedChartData[category]) {\n transformedChartData[category] = {};\n transformedChartData[category][xCategory] = item[xCategory];\n\n for (let seriesName of allSeriesNames) {\n transformedChartData[category][seriesName] = 0;\n }\n }\n\n if (!transformedChartData[category][seriesCat]) {\n transformedChartData[category][seriesCat] = 0;\n }\n\n transformedChartData[category][seriesCat] += item[yCategory];\n }\n\n // console.log('transformed chart data in key values');\n // console.log(transformedChartData);\n\n let arrayformat = this.convertToArray(transformedChartData);\n\n return arrayformat;\n\n }\n\n getAllSeriesName(seriesCategory, chartData) {\n let seriesNames = new Array();\n\n for (let item of chartData) {\n // console.log(item);\n let seriesCat = item[seriesCategory];\n if (seriesNames.indexOf(seriesCat) < 0) {\n seriesNames.push(seriesCat);\n }\n }\n\n return seriesNames;\n }\n\n convertToArray(data: any) {\n let result = Array.from(\n Object.keys(data),\n (k) => data[k]\n );\n // console.log(data);\n\n return result;\n }\n\n\n convertArrayToObject(data: []): any {\n const result = {};\n\n data.forEach(activity => {\n const key = `${activity['ActivityYear']}-${activity['ActivityMonth']}-${activity['ActivityDay']}`;\n\n if (!result[key]) {\n result[key] = {};\n }\n\n if (!result[key][activity['PlanType']]) {\n result[key][activity['PlanType']] = [];\n }\n result[key][activity['PlanType']].push(activity);\n });\n\n return result;\n }\n\n}","\nimport { Injectable } from '@angular/core';\n\nimport * as Excel from 'exceljs/dist/exceljs'\nimport * as fs from 'file-saver';\nimport * as XLSX from 'xlsx';\nconst EXCEL_TYPE = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8';\n\nconst EXCEL_EXTENSION = '.xlsx';\n@Injectable({\n providedIn: 'root'\n})\n\n\nexport class ExportToExcelService {\n constructor() {\n }\n \n\n generateExcelwithdata(data1: any, quotationheader: any, excelFileName: string) {\n\n let workbook = new Excel.Workbook();\n\n workbook = this.getQuotationWorksheet(data1, quotationheader, workbook);\n // workbook = this.getBomworkSheet(sheet2, workbook);\n\n workbook.xlsx.writeBuffer().then((data) => {\n let blob = new Blob([data], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });\n this.saveAsExcelFile(data, excelFileName);\n })\n\n\n }\n\n saveAsExcelFile(buffer: any, fileName: string): void {\n const data: Blob = new Blob([buffer], { type: EXCEL_TYPE });\n //var currentdate = this.datePipe.transform(new Date(), \"dd-MM-yyyy\");\n fs.saveAs(data, fileName + EXCEL_EXTENSION);\n }\n\n getQuotationWorksheet(data1: any, quotationheader: any, workbook: Excel.WorkBook) {\n \n let Quotationworksheet = workbook.addWorksheet('Region wise - Product Data',{\n pageSetup:{\n paperSize: 9,\n orientation:'landscape',\n fitToPage: true, \n fitToHeight: 5, \n fitToWidth: 7}\n });\n \n // const imageId1 = workbook.addImage({\n // filename: 'https://assemblysolutionsinc.com/wp-content/uploads/2017/05/weiss-logo.png',\n // extension: 'png',\n // });\n // Quotationworksheet.addBackgroundImage(imageId1);\n \n let QuotaionheaderRow = Quotationworksheet.addRow(quotationheader);\n QuotaionheaderRow.eachCell((cell, number) => {\n cell.fill = {\n type: 'pattern',\n pattern: 'solid',\n fgColor: { argb: 'FFFFFF00' },\n bgColor: { argb: 'FF0000FF' }\n }\n let value = cell.value;\n cell.value = value;\n cell.border = { top: { style: 'thin' }, left: { style: 'thin' }, bottom: { style: 'thin' }, right: { style: 'thin' } }\n\n })\n for (let key of Object.keys(data1)) {\n let tmparray = [];\n let tmpobj = data1[key];\n\n for (let key of Object.keys(tmpobj)) {\n let tmpobj1 = tmpobj[key];\n\n tmparray.push(tmpobj1)\n }\n let row = Quotationworksheet.addRow(tmparray);\n row.eachCell((cell, number) => {\n // let color = cell.value.color;\n let value = cell.value;\n // cell.fill = {\n // type: 'pattern',\n // pattern: 'solid',\n // fgColor: { argb: color }\n // }\n cell.value = value;\n cell.border = { top: { style: 'thin' }, left: { style: 'thin' }, bottom: { style: 'thin' }, right: { style: 'thin' } }\n\n })\n }\n\n return workbook;\n }\n getBomworkSheet(sheet2: any[], workbook: Excel.WorkBook) {\n\n let Bomworksheet = workbook.addWorksheet('BOM');\n let Bomheader = ['FiguerNumber', 'ItemCode', 'PartName', 'Qty', 'Weight', 'Area', 'RatePerKG', 'UnitMC', 'TotalMC', 'Machining_Cost', 'IncoTerm_value']\n let BomheaderRow = Bomworksheet.addRow(Bomheader);\n\n BomheaderRow.eachCell((cell, number) => {\n cell.fill = {\n type: 'pattern',\n pattern: 'solid',\n fgColor: { argb: 'FFFFFF00' },\n bgColor: { argb: 'FF0000FF' }\n }\n cell.border = { top: { style: 'thin' }, left: { style: 'thin' }, bottom: { style: 'thin' }, right: { style: 'thin' } }\n\n })\n for (let key of Object.keys(sheet2)) {\n let tmparray = [];\n let tmpobj = sheet2[key];\n\n for (let key of Object.keys(tmpobj)) {\n let tmpobj1 = tmpobj[key];\n tmparray.push(tmpobj1)\n }\n Bomworksheet.addRow(tmparray);\n }\n return workbook;\n\n }\n}\n\n","import { Injectable, Input } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpErrorResponse } from '@angular/common/http';\nimport { AppGlobals } from 'src/app/app.global';\nimport { RegisterModel } from '../Model/RegisterModel';\nimport { throwError, Observable } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { LoaderComponent } from '../loader/loader.component';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class RegisterService {\n\n constructor(private http: HttpClient) { }\n\n login(data: RegisterModel): any {\n var logindata = \"username=\" + data.Email + \"&password=\" + data.Password + \"&grant_type=password\";\n var reqHeader = new HttpHeaders({ 'Content-Type': 'application/x-www-urlencoded', 'No-Auth': 'True' });\n return this.http.post(AppGlobals.baseAppUrl + 'Token', logindata, { headers: reqHeader });\n }\n\n forgotPassword(Username) {\n const reqHeader = new HttpHeaders({ 'Content-Type': 'application/json', 'No-Auth': 'True' });\n return this.http.post(AppGlobals.baseAppUrl + 'api/Account/ForgotPassword', {\"Username\":Username} ,{ headers: reqHeader });\n }\n\n getImageName(ControllerName: string, ActionName: String) {\n const reqHeader = new HttpHeaders({ 'Content-Type': 'application/json', 'No-Auth': 'True' });\n return this.http.get(AppGlobals.baseAppUrl+\"api/\"+ControllerName+\"/\"+ActionName,{ headers: reqHeader });\n\n }\n \n\n}\n","export enum UserRoles {\n //Employee\n Admin = \"1\",\n SalesEngineer = \"2\",\n RegionalSalesManager = \"16\",\n AreaSalesManager = \"17\",\n Marketing = \"18\",\n L1 = \"3\",\n L2 = \"4\",\n L3 = \"5\",\n BusinessDevelopment = \"6\",\n SalesDirector = \"7\",\n CEO = \"8\",\n FinanceAccounts = \"9\",\n SupplyChain = \"10\",\n CustomerService = \"14\",\n ProductManager = \"15\",\n ExecutiveBusinessAssistant = \"19\",\n ManagerSolutionsFactoryAndLocalization = \"20\",\n //Guest\n ChannelPartner = \"11\",\n Distributor = \"12\",\n Agent = \"13\",\n\n}\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { RegisterComponent } from './register/register.component';\nimport { AppComponent } from './app.component';\nimport { DashboardComponent } from './sub-component/dashboard/dashboard.component';\nimport { ProfileComponent } from './profile/profile.component';\nimport { EnquiryComponent } from './sub-component/enquiry/enquiry/enquiry.component';\nimport { AddEnquiryComponent } from './sub-component/enquiry/add-enquiry/add-enquiry.component';\nimport { EditViewEnquiryComponent } from './sub-component/enquiry/edit-view-enquiry/edit-view-enquiry.component';\nimport { AddCustomerComponent } from './sub-component/masters/customer/add-customer/add-customer.component';\nimport { EditViewCustomerComponent } from './sub-component/masters/customer/edit-view-customer/edit-view-customer.component';\nimport { CustomerDetailsComponent } from './sub-component/masters/customer/customer-details/customer-details.component';\nimport { ConfigurationDetailsComponent } from './sub-component/masters/configuration/configuration-details/configuration-details.component';\nimport { AddConfigurationComponent } from './sub-component/masters/configuration/add-configuration/add-configuration.component';\nimport { EditViewConfigurationComponent } from './sub-component/masters/configuration/edit-view-configuration/edit-view-configuration.component';\nimport { AddProductLineComponent } from './sub-component/masters/product/product-line/add-product-line/add-product-line.component';\nimport { ProductLineDetailsComponent } from './sub-component/masters/product/product-line/product-line-details/product-line-details.component';\nimport { AddProductFamilyComponent } from './sub-component/masters/product/product-family/add-product-family/add-product-family.component';\nimport { ProductFamilyDetailsComponent } from './sub-component/masters/product/product-family/product-family-details/product-family-details.component';\nimport { ProductSeriesDetailsComponent } from './sub-component/masters/product/product-series/product-series-details/product-series-details.component';\nimport { AddProductSeriesComponent } from './sub-component/masters/product/product-series/add-product-series/add-product-series.component';\nimport { ProductModelDetailsComponent } from './sub-component/masters/product/product-model/product-model-details/product-model-details.component';\nimport { AddProductModelComponent } from './sub-component/masters/product/product-model/add-product-model/add-product-model.component';\nimport { OptionsDetailsComponent } from './sub-component/masters/product/options/options-details/options-details.component';\nimport { AddOptionsComponent } from './sub-component/masters/product/options/add-options/add-options.component';\nimport { EditViewProductFamilyComponent } from './sub-component/masters/product/product-family/edit-view-product-family/edit-view-product-family.component';\nimport { EditViewOptionsComponent } from './sub-component/masters/product/options/edit-view-options/edit-view-options.component';\nimport { EditViewProductSeriesComponent } from './sub-component/masters/product/product-series/edit-view-product-series/edit-view-product-series.component';\nimport { EditViewProductModelComponent } from './sub-component/masters/product/product-model/edit-view-product-model/edit-view-product-model.component';\nimport { EditViewProductLineComponent } from './sub-component/masters/product/product-line/edit-view-product-line/edit-view-product-line.component';\nimport { AddVariantLevel1Component } from './sub-component/masters/product/variant-level-1/add-variant-level1/add-variant-level1.component';\nimport { EditViewVariantLevel1Component } from './sub-component/masters/product/variant-level-1/edit-view-variant-level1/edit-view-variant-level1.component';\nimport { VariantLevel1DetailsComponent } from './sub-component/masters/product/variant-level-1/variant-level1-details/variant-level1-details.component';\nimport { AddVariantLevel2Component } from './sub-component/masters/product/variant-level-2/add-variant-level2/add-variant-level2.component';\nimport { EditViewVariantLevel2Component } from './sub-component/masters/product/variant-level-2/edit-view-variant-level2/edit-view-variant-level2.component';\nimport { VariantLevel2DetailsComponent } from './sub-component/masters/product/variant-level-2/variant-level2-details/variant-level2-details.component';\nimport { AddVariantLevel3Component } from './sub-component/masters/product/variant-level-3/add-variant-level3/add-variant-level3.component';\nimport { EditViewVariantLevel3Component } from './sub-component/masters/product/variant-level-3/edit-view-variant-level3/edit-view-variant-level3.component';\nimport { VariantLevel3DetailsComponent } from './sub-component/masters/product/variant-level-3/variant-level3-details/variant-level3-details.component';\nimport { AddVariantLevel4Component } from './sub-component/masters/product/variant-level-4/add-variant-level4/add-variant-level4.component';\nimport { EditViewVariantLevel4Component } from './sub-component/masters/product/variant-level-4/edit-view-variant-level4/edit-view-variant-level4.component';\nimport { VariantLevel4DetailsComponent } from './sub-component/masters/product/variant-level-4/variant-level4-details/variant-level4-details.component';\nimport { PendingEnquiryComponent } from './sub-component/enquiry/pending-enquiry/pending-enquiry.component';\nimport { ProductMatrixComponent } from './sub-component/masters/product-matrix/product-matrix.component';\nimport { BusinessPlanForSalesAndOrderComponent } from './sub-component/masters/BusinessPlan/business-plan-for-sales-and-order/business-plan-for-sales-and-order.component';\nimport { BusinessPlanDetailsComponent } from './sub-component/masters/BusinessPlan/business-plan-details/business-plan-details.component';\nimport { RoleGuard } from './auth/role.guard';\nimport { AppGlobals } from './app.global';\nimport { EditBusinessPlanComponent } from './sub-component/masters/BusinessPlan/edit-business-plan/edit-business-plan.component';\nimport { RegionwiseReportComponent } from './sub-component/reports/regionwise-report/regionwise-report.component';\nimport { ProductwiseReportComponent } from './sub-component/reports/productwise-report/productwise-report.component';\nimport { CustomerwiseReportComponent } from './sub-component/reports/customerwise-report/customerwise-report.component';\nimport { SegmentwiseReportComponent } from './sub-component/reports/segmentwise-report/segmentwise-report.component';\nimport { StockInventoryDetailsComponent } from './sub-component/masters/StockInventory/stock-inventory-details/stock-inventory-details.component';\nimport { AddStockInventoryComponent } from './sub-component/masters/StockInventory/add-stock-inventory/add-stock-inventory.component';\nimport { ViewStockInventoryComponent } from './sub-component/masters/StockInventory/view-stock-inventory/view-stock-inventory.component';\nimport { EditViewWorkFlowScreenAccessComponent } from './sub-component/masters/WorkFlowScreenAccess/edit-view-work-flow-screen-access/edit-view-work-flow-screen-access.component';\nimport { PowerBIReportsComponent } from './sub-component/reports/power-bireports/power-bireports.component';\nimport { AlertsDetailsComponent } from './sub-component/masters/Alerts/alerts-details/alerts-details.component';\nimport { EditViewAlertsComponent } from './sub-component/masters/Alerts/edit-view-alerts/edit-view-alerts.component';\nimport { AddCustomerOpportunityComponent } from './sub-component/enquiry/add-customer-opportunity/add-customer-opportunity.component';\nimport { AddLoginPageDynamicImageComponent } from './sub-component/masters/login-page-dynamic-image/add-login-page-dynamic-image/add-login-page-dynamic-image.component';\nimport { DetailsLoginPageDynamicImageComponent } from './sub-component/masters/login-page-dynamic-image/details-login-page-dynamic-image/details-login-page-dynamic-image/details-login-page-dynamic-image.component';\nimport { SiteActivityComponent } from './sub-component/reports/site-activity/site-activity/site-activity.component';\nimport { LeadDetailsComponent } from './sub-component/masters/Lead/lead-details/lead-details/lead-details.component';\nimport { AddLeadComponent } from './sub-component/masters/Lead/add-lead/add-lead/add-lead.component';\nimport { EditViewLeadComponent } from './sub-component/masters/Lead/edit-view-lead/edit-view-lead/edit-view-lead.component';\nimport { EditViewLoginPageDynamicImageComponent } from './sub-component/masters/login-page-dynamic-image/edit-view-login-page-dynamic-image/edit-view-login-page-dynamic-image/edit-view-login-page-dynamic-image.component';\nimport { PriceconfiguratorComponent } from './sub-component/masters/priceconfigurator/priceconfigurator.component';\nimport { MyActivityComponent } from './sub-component/customer-engagement/my-activity/my-activity.component';\nimport { AddActivityComponent } from './sub-component/customer-engagement/activity/add-activity/add-activity.component';\nimport { ViewActivityComponent } from './sub-component/customer-engagement/activity/view-activity/view-activity.component';\nimport { BulkEditActivityComponent } from './sub-component/customer-engagement/activity/bulk-edit-activity/bulk-edit-activity.component';\nimport { EditActivityComponent } from './sub-component/customer-engagement/activity/edit-activity/edit-activity.component';\nimport { EngagementReportsComponent } from './sub-component/customer-engagement/engagement-reports/engagement-reports.component';\nimport { GuestDetailsComponent } from './sub-component/masters/guest/guest-details/guest-details.component';\nimport { AddEmployeeComponent } from './sub-component/masters/employee/add-employee/add-employee.component';\nimport { EditViewEmployeeComponent } from './sub-component/masters/employee/edit-view-employee/edit-view-employee.component';\nimport { EmployeeDetailsComponent } from './sub-component/masters/employee/employee-details/employee-details.component';\nimport { AddGuestComponent } from './sub-component/masters/guest/add-guest/add-guest.component';\nimport { EditViewGuestComponent } from './sub-component/masters/guest/edit-view-guest/edit-view-guest.component';\nimport { AddContractFrameAgreementComponent } from './sub-component/masters/configuration/ContractFrameAgreement/add-contract-frame-agreement/add-contract-frame-agreement.component';\nimport { EditViewContractFrameAgreementComponent } from './sub-component/masters/configuration/ContractFrameAgreement/edit-view-contract-frame-agreement/edit-view-contract-frame-agreement.component';\nimport { CustomerFrameAgreementDetailsComponent } from './sub-component/masters/configuration/ContractFrameAgreement/customer-frame-agreement-details/customer-frame-agreement-details.component';\nimport { CalenderViewComponent } from './sub-component/customer-engagement/activity/calender-view/calender-view.component';\nimport { PlannedVsActualActivityComponent } from './sub-component/customer-engagement/planned-vs-actual-activity/planned-vs-actual-activity.component';\nimport { CustomerEngagementDetailsComponent } from './sub-component/customer-engagement/customer-engagement-details/customer-engagement-details.component';\nimport { CustomerEngagementComponent } from './sub-component/customer-engagement/customer-engagement/customer-engagement.component';\n\n\n\nconst routes: Routes = [\n {\n path: \"Login\",\n component: AppComponent,\n data: { title: 'Login' }\n // canActivate: [RoleGuard],\n // data: {\n // permissions: {\n // only: AppGlobals.AllRolesArray,\n // redirectTo: '/Login'\n // }\n // }\n },\n {\n path: \"Register\", component: RegisterComponent,\n canActivate: [RoleGuard],\n data: {\n permissions: {\n only: AppGlobals.AllRolesArray,\n redirectTo: '/Login'\n },\n Element: 'CanAccessRegister',\n Access: 'IsVisible',\n redirectTo: '/Login',\n title: 'Register'\n }\n },\n {\n path: \"Profile\", component: ProfileComponent,\n canActivate: [RoleGuard],\n data: {\n permissions: {\n only: AppGlobals.AllRolesArray,\n redirectTo: '/Login'\n },\n Element: 'CanAccessProfile',\n Access: 'IsVisible',\n redirectTo: '/Login',\n title: 'Profile'\n }\n },\n {\n path: \"Dashboard\", component: DashboardComponent,\n //canActivate: [RoleGuard],\n canActivateChild: [RoleGuard],\n data: {\n permissions: {\n only: AppGlobals.AllRolesArray,\n except: ['GUEST'],\n redirectTo: '/Login'\n },\n Element: 'CanAccessDashboard',\n Access: 'CanList',\n redirectTo: '/Login',\n title: 'Dashboard'\n }\n },\n {\n path: \"Enquiry\", component: EnquiryComponent,\n canActivate: [RoleGuard],\n data: {\n permissions: {\n only: AppGlobals.AllRolesArray,\n redirectTo: '/Login'\n },\n Element: 'isAllEnquiry',\n Access: 'CanList',\n redirectTo: '/Login',\n title: 'Enquiry'\n }\n },\n {\n path: \"PendingEnquiry\", component: PendingEnquiryComponent,\n canActivate: [RoleGuard],\n data: {\n permissions: {\n only: AppGlobals.AllRolesArray,\n redirectTo: '/Login'\n },\n Element: 'isAllEnquiry',\n Access: 'CanList',\n redirectTo: '/Login',\n title: 'PendingEnquiry'\n }\n },\n //To merge the add and edit component\n {\n path: \"AddEnquiry\", component: AddEnquiryComponent,\n canActivate: [RoleGuard],\n data: {\n permissions: {\n only: AppGlobals.AllRolesArray,\n redirectTo: '/Login'\n },\n Element: 'isAllEnquiry',\n Access: 'CanCreate',\n redirectTo: '/Login',\n title: 'AddEnquiry'\n }\n },\n //To merge the add and edit component\n {\n path: \"AddEnquiryLimitedField\", component: AddCustomerOpportunityComponent,\n canActivate: [RoleGuard],\n data: {\n Element: 'isAllEnquiry',\n Access: 'CanCreate',\n redirectTo: '/Login',\n title: 'AddEnquiryLimitedField'\n }\n },\n //{ path: \"AddEnquiry\", component: EditViewEnquiryComponent },\n {\n path: \"EditViewEnquiry\", component: EditViewEnquiryComponent,\n canActivate: [RoleGuard],\n data: {\n permissions: {\n only: AppGlobals.AllRolesArray,\n redirectTo: '/Login'\n },\n Element: 'isAllEnquiry',\n Access: 'IsVisible',\n redirectTo: '/Login',\n title: 'Edit Enquiry'\n\n }\n },\n {\n path: \"EditViewEnquiry/:id\", component: EditViewEnquiryComponent,\n canActivate: [RoleGuard],\n data: {\n Element: 'isAllEnquiry',\n Access: 'IsVisible',\n redirectTo: '/Login',\n title: 'EditViewEnquiry'\n }\n },\n //Master\n {\n path: \"Guest\", component: GuestDetailsComponent,\n canActivate: [RoleGuard],\n data: {\n permissions: {\n only: AppGlobals.GuestVisibleArray,\n redirectTo: '/Login'\n },\n Element: 'isGuest',\n Access: 'CanList',\n redirectTo: '/Login',\n title: 'Guest'\n }\n },\n {\n path: \"AddGuest\", component: AddGuestComponent,\n canActivate: [RoleGuard],\n data: {\n permissions: {\n only: AppGlobals.GuestEditArray,\n redirectTo: '/Login'\n },\n Element: 'isGuest',\n Access: 'CanCreate',\n redirectTo: '/Login',\n title: 'AddGuest'\n }\n },\n {\n path: \"EditViewGuest/:id\", component: EditViewGuestComponent,\n canActivate: [RoleGuard],\n data: {\n permissions: {\n only: AppGlobals.GuestVisibleArray,\n redirectTo: '/Login'\n },\n Element: 'isGuest',\n Access: 'IsVisible',\n redirectTo: '/Login',\n title: 'EditViewGuest'\n }\n },\n {\n path: \"Employee\", component: EmployeeDetailsComponent,\n canActivate: [RoleGuard],\n data: {\n permissions: {\n only: AppGlobals.EmployeeVisibleArray,\n redirectTo: '/Login'\n },\n Element: 'isEmployee',\n Access: 'CanList',\n redirectTo: '/Login',\n title: 'AddEmployee'\n }\n },\n {\n path: \"AddEmployee\", component: AddEmployeeComponent,\n canActivate: [RoleGuard],\n data: {\n permissions: {\n only: AppGlobals.EmployeeEditArray,\n redirectTo: '/Login'\n },\n Element: 'isEmployee',\n Access: 'CanCreate',\n redirectTo: '/Login',\n title: 'AddEmployee'\n }\n },\n {\n path: \"EditViewEmployee/:id\", component: EditViewEmployeeComponent,\n canActivate: [RoleGuard],\n data: {\n permissions: {\n only: AppGlobals.EmployeeVisibleArray,\n redirectTo: '/Login'\n },\n Element: 'isEmployee',\n Access: 'IsVisible',\n redirectTo: '/Login',\n title: 'EditViewEmployee'\n }\n },\n\n\n /****************************************************************** */\n\n\n {\n path: \"AddCustomer/:type/:id\", component: AddCustomerComponent,\n canActivate: [RoleGuard],\n data: {\n permissions: {\n only: AppGlobals.CustomerEditArray,\n redirectTo: '/Login'\n },\n Element: 'isCustomer',\n Access: 'CanCreate',\n redirectTo: '/Login',\n title: 'AddCustomer'\n }\n },\n {\n path: \"EditViewCustomer/:id\", component: EditViewCustomerComponent,\n canActivate: [RoleGuard],\n data: {\n permissions: {\n only: AppGlobals.CustomerVisibleArray,\n redirectTo: '/Login'\n },\n Element: 'isCustomer',\n Access: 'IsVisible',\n redirectTo: '/Login',\n title: 'EditViewCustomer'\n }\n },\n {\n path: \"Customer\", component: CustomerDetailsComponent,\n canActivate: [RoleGuard],\n data: {\n permissions: {\n only: AppGlobals.CustomerVisibleArray,\n redirectTo: '/Login'\n },\n Element: 'isCustomer',\n Access: 'CanList',\n redirectTo: '/Login',\n title: 'Customer'\n }\n },\n {\n path: \"ConfigureMasters/:heading\", component: ConfigurationDetailsComponent,\n canActivate: [RoleGuard],\n data: {\n permissions: {\n only: AppGlobals.COnfigureVisibleArray,\n redirectTo: '/Login'\n },\n Element: 'isConfigureMasters',\n Access: 'CanList',\n redirectTo: '/Login',\n title: 'ConfigureMasters'\n }\n },\n {\n path: \"ConfigureMasters\", component: ConfigurationDetailsComponent,\n canActivate: [RoleGuard],\n data: {\n permissions: {\n only: AppGlobals.COnfigureVisibleArray,\n redirectTo: '/Login'\n },\n Element: 'isConfigureMasters',\n Access: 'CanList',\n redirectTo: '/Login',\n title: 'ConfigureMasters'\n }\n },\n {\n path: \"AddConfiguration/:heading\", component: AddConfigurationComponent,\n canActivate: [RoleGuard],\n data: {\n permissions: {\n only: AppGlobals.COnfigureEditArray,\n redirectTo: '/Login'\n },\n Element: 'isConfigureMasters',\n Access: 'CanCreate',\n redirectTo: '/Login',\n title: 'AddConfiguration'\n }\n },\n //for single case only\n {\n path: \"AddConfiguration/:heading/:id\", component: AddConfigurationComponent,\n canActivate: [RoleGuard],\n data: {\n Element: 'isConfigureMasters',\n Access: 'CanCreate',\n redirectTo: '/Login',\n title: 'AddConfiguration'\n }\n },\n {\n path: \"EditViewConfiguration/:id/:heading\", component: EditViewConfigurationComponent,\n canActivate: [RoleGuard],\n data: {\n permissions: {\n only: AppGlobals.COnfigureVisibleArray,\n redirectTo: '/Login'\n },\n Element: 'isConfigureMasters',\n Access: 'IsVisible',\n redirectTo: '/Login',\n title: 'EditViewConfiguration'\n }\n },\n\n {\n path: \"AddLoginImage\", component: AddLoginPageDynamicImageComponent,\n canActivate: [RoleGuard],\n data: {\n Element: 'isLoginPageImage',\n Access: 'CanCreate',\n redirectTo: '/Login',\n title: 'AddLoginImage'\n }\n },\n {\n path: \"LoginPageImage\", component: DetailsLoginPageDynamicImageComponent,\n canActivate: [RoleGuard],\n data: {\n Element: 'isLoginPageImage',\n Access: 'CanList',\n redirectTo: '/Login',\n title: 'LoginPageImage'\n }\n },\n\n {\n path: \"ViewLoginPageImage/:id\", component: EditViewLoginPageDynamicImageComponent,\n canActivate: [RoleGuard],\n data: {\n Element: 'isLoginPageImage',\n Access: 'IsVisible',\n redirectTo: '/Login',\n title: 'ViewLoginPageImage'\n }\n },\n {\n path: \"Lead\", component: LeadDetailsComponent,\n canActivate: [RoleGuard],\n data: {\n Element: 'isLead',\n Access: 'CanList',\n redirectTo: '/Login',\n title: 'Lead'\n }\n },\n\n {\n path: \"AddLead\", component: AddLeadComponent,\n canActivate: [RoleGuard],\n data: {\n Element: 'isLead',\n Access: 'CanCreate',\n redirectTo: '/Login',\n title: 'AddLead'\n }\n },\n {\n path: \"EditViewLead/:id\", component: EditViewLeadComponent,\n canActivate: [RoleGuard],\n data: {\n Element: 'isLead',\n Access: 'IsVisible',\n redirectTo: '/Login',\n title: 'EditViewLead'\n }\n },\n\n //ProductLine Master\n {\n path: \"AddProductLine\", component: AddProductLineComponent,\n canActivate: [RoleGuard],\n data: {\n permissions: {\n only: AppGlobals.ProductMasterEditArray,\n redirectTo: '/Login'\n },\n Element: 'isProductLine',\n Access: 'CanCreate',\n redirectTo: '/Login',\n title: 'AddProductLine'\n }\n },\n {\n path: \"EditViewProductLine/:id\", component: EditViewProductLineComponent,\n canActivate: [RoleGuard],\n data: {\n permissions: {\n only: AppGlobals.ProductMasterVisibleArray,\n redirectTo: '/Login'\n },\n Element: 'isProductLine',\n Access: 'IsVisible',\n redirectTo: '/Login',\n title: 'EditViewProductLine'\n }\n },\n {\n path: \"ProductLine\", component: ProductLineDetailsComponent,\n canActivate: [RoleGuard],\n data: {\n permissions: {\n only: AppGlobals.ProductMasterVisibleArray,\n redirectTo: '/Login'\n },\n Element: 'isProductLine',\n Access: 'CanList',\n redirectTo: '/Login',\n title: 'ProductLine'\n }\n },\n {\n path: \"AddProductFamily\", component: AddProductFamilyComponent,\n canActivate: [RoleGuard],\n data: {\n permissions: {\n only: AppGlobals.ProductMasterEditArray,\n redirectTo: '/Login'\n },\n Element: 'isProductLine',\n Access: 'CanCreate',\n redirectTo: '/Login',\n title: 'AddProductFamily'\n }\n },\n {\n path: \"EditViewProductFamily/:id\", component: EditViewProductFamilyComponent,\n canActivate: [RoleGuard],\n data: {\n permissions: {\n only: AppGlobals.ProductMasterVisibleArray,\n redirectTo: '/Login'\n },\n Element: 'isProductLine',\n Access: 'IsVisible',\n redirectTo: '/Login',\n title: 'EditViewProductFamily'\n }\n },\n {\n path: \"ProductFamily\", component: ProductFamilyDetailsComponent,\n canActivate: [RoleGuard],\n data: {\n permissions: {\n only: AppGlobals.ProductMasterVisibleArray,\n redirectTo: '/Login'\n },\n Element: 'isProductLine',\n Access: 'CanList',\n redirectTo: '/Login',\n title: 'ProductFamily'\n }\n },\n {\n path: \"AddProductSeries\", component: AddProductSeriesComponent,\n canActivate: [RoleGuard],\n data: {\n permissions: {\n only: AppGlobals.ProductMasterEditArray,\n redirectTo: '/Login'\n },\n Element: 'isProductLine',\n Access: 'CanCreate',\n redirectTo: '/Login',\n title: 'AddProductSeries'\n }\n },\n {\n path: \"EditViewProductSeries/:id\", component: EditViewProductSeriesComponent,\n canActivate: [RoleGuard],\n data: {\n permissions: {\n only: AppGlobals.ProductMasterVisibleArray,\n redirectTo: '/Login'\n },\n Element: 'isProductLine',\n Access: 'IsVisible',\n redirectTo: '/Login',\n title: 'EditViewProductSeries'\n }\n },\n {\n path: \"ProductSeries\", component: ProductSeriesDetailsComponent,\n canActivate: [RoleGuard],\n data: {\n permissions: {\n only: AppGlobals.ProductMasterVisibleArray,\n redirectTo: '/Login'\n },\n Element: 'isProductLine',\n Access: 'CanList',\n redirectTo: '/Login',\n title: 'ProductSeries'\n }\n },\n {\n path: \"AddProductModel/:id\", component: AddProductModelComponent,\n canActivate: [RoleGuard],\n data: {\n permissions: {\n only: AppGlobals.ProductMasterEditArray,\n redirectTo: '/Login'\n },\n Element: 'isProductLine',\n Access: 'CanCreate',\n redirectTo: '/Login',\n title: 'AddProductModel'\n }\n },\n {\n path: \"EditViewProductModel/:id\", component: EditViewProductModelComponent,\n canActivate: [RoleGuard],\n data: {\n permissions: {\n only: AppGlobals.ProductMasterVisibleArray,\n redirectTo: '/Login'\n },\n Element: 'isProductLine',\n Access: 'IsVisible',\n redirectTo: '/Login',\n title: 'EditViewProductModel'\n }\n },\n {\n path: \"ProductModel/:id\", component: ProductModelDetailsComponent,\n canActivate: [RoleGuard],\n data: {\n permissions: {\n only: AppGlobals.ProductMasterVisibleArray,\n redirectTo: '/Login'\n },\n Element: 'isProductLine',\n Access: 'CanList',\n redirectTo: '/Login',\n title: 'ProductModel'\n }\n },\n {\n path: \"AddVariantLevel1/:id\", component: AddVariantLevel1Component,\n canActivate: [RoleGuard],\n data: {\n permissions: {\n only: AppGlobals.ProductMasterEditArray,\n redirectTo: '/Login'\n },\n Element: 'isProductLine',\n Access: 'CanCreate',\n redirectTo: '/Login',\n title: 'AddVariantLevel1'\n }\n },\n {\n path: \"EditViewVariantLevel1/:label/:ProductModel/:Price/:Status/:IsPriceOnRequest\", component: EditViewVariantLevel1Component,\n canActivate: [RoleGuard],\n data: {\n permissions: {\n only: AppGlobals.ProductMasterVisibleArray,\n redirectTo: '/Login'\n },\n Element: 'isProductLine',\n Access: 'IsVisible',\n redirectTo: '/Login',\n title: 'EditViewVariantLevel1'\n }\n },\n {\n path: \"EditViewVariantLevel1/:label/:id\", component: EditViewVariantLevel1Component,\n canActivate: [RoleGuard],\n data: {\n permissions: {\n only: AppGlobals.ProductMasterVisibleArray,\n redirectTo: '/Login'\n },\n Element: 'isProductLine',\n Access: 'IsVisible',\n redirectTo: '/Login',\n title: 'EditViewVariantLevel1'\n }\n },\n {\n path: \"VariantLevel1/:id/:Label\", component: VariantLevel1DetailsComponent,\n canActivate: [RoleGuard],\n data: {\n permissions: {\n only: AppGlobals.ProductMasterVisibleArray,\n redirectTo: '/Login'\n },\n Element: 'isProductLine',\n Access: 'IsVisible',\n redirectTo: '/Login',\n title: 'VariantLevel1'\n }\n },\n {\n path: \"AddVariantLevel2/:Seriesid\", component: AddVariantLevel2Component,\n canActivate: [RoleGuard],\n data: {\n permissions: {\n only: AppGlobals.ProductMasterEditArray,\n redirectTo: '/Login'\n },\n Element: 'isProductLine',\n Access: 'CanCreate',\n redirectTo: '/Login',\n title: 'AddVariantLevel2'\n }\n },\n {\n path: \"EditViewVariantLevel2/:Level/:Model/:Price/:Status/:IsPriceOnRequest\", component: EditViewVariantLevel2Component,\n canActivate: [RoleGuard],\n data: {\n permissions: {\n only: AppGlobals.ProductMasterVisibleArray,\n redirectTo: '/Login'\n },\n Element: 'isProductLine',\n Access: 'IsVisible',\n redirectTo: '/Login',\n title: 'EditViewVariantLevel2'\n }\n },\n {\n path: \"EditViewVariantLevel2/:Id\", component: EditViewVariantLevel2Component,\n canActivate: [RoleGuard],\n data: {\n permissions: {\n only: AppGlobals.ProductMasterVisibleArray,\n redirectTo: '/Login'\n },\n Element: 'isProductLine',\n Access: 'IsVisible',\n redirectTo: '/Login',\n title: 'EditViewVariantLevel'\n }\n },\n {\n path: \"VariantLevel2/:Seriesid/:Variant1/:Variant2\", component: VariantLevel2DetailsComponent,\n canActivate: [RoleGuard],\n data: {\n permissions: {\n only: AppGlobals.ProductMasterVisibleArray,\n redirectTo: '/Login'\n },\n Element: 'isProductLine',\n Access: 'IsVisible',\n redirectTo: '/Login',\n title: 'VariantLevel2Details'\n }\n },\n {\n path: \"AddVariantLevel3/:Seriesid\", component: AddVariantLevel3Component,\n canActivate: [RoleGuard],\n data: {\n permissions: {\n only: AppGlobals.ProductMasterEditArray,\n redirectTo: '/Login'\n },\n Element: 'isProductLine',\n Access: 'CanCreate',\n redirectTo: '/Login',\n title: 'AddVariantLevel3'\n }\n },\n {\n path: \"EditViewVariantLevel3/:Model/:Price/:Status/:IsPriceOnRequest\", component: EditViewVariantLevel3Component,\n canActivate: [RoleGuard],\n data: {\n permissions: {\n only: AppGlobals.ProductMasterVisibleArray,\n redirectTo: '/Login'\n },\n Element: 'isProductLine',\n Access: 'IsVisible',\n redirectTo: '/Login',\n title: 'EditViewVariantLevel3'\n }\n },\n {\n path: \"EditViewVariantLevel3/:id\", component: EditViewVariantLevel3Component,\n canActivate: [RoleGuard],\n data: {\n permissions: {\n only: AppGlobals.ProductMasterVisibleArray,\n redirectTo: '/Login'\n },\n Element: 'isProductLine',\n Access: 'IsVisible',\n redirectTo: '/Login',\n title: 'EditViewVariantLevel3'\n }\n },\n {\n path: \"VariantLevel3/:Seriesid/:Variant2/:Variant3\", component: VariantLevel3DetailsComponent,\n canActivate: [RoleGuard],\n data: {\n permissions: {\n only: AppGlobals.ProductMasterVisibleArray,\n redirectTo: '/Login'\n },\n Element: 'isProductLine',\n Access: 'IsVisible',\n redirectTo: '/Login',\n title: 'VariantLevel3Details'\n }\n },\n {\n path: \"AddVariantLevel4/:Seriesid\", component: AddVariantLevel4Component,\n canActivate: [RoleGuard],\n data: {\n permissions: {\n only: AppGlobals.ProductMasterEditArray,\n redirectTo: '/Login'\n },\n Element: 'isProductLine',\n Access: 'CanCreate',\n redirectTo: '/Login',\n title: 'AddVariantLevel4'\n }\n },\n {\n path: \"EditViewVariantLevel4/:Model/:Price/:Status/:IsPriceOnRequest\", component: EditViewVariantLevel4Component,\n canActivate: [RoleGuard],\n data: {\n permissions: {\n only: AppGlobals.ProductMasterVisibleArray,\n redirectTo: '/Login'\n },\n Element: 'isProductLine',\n Access: 'IsVisible',\n redirectTo: '/Login',\n title: 'EditViewVariantLevel4'\n }\n },\n {\n path: \"EditViewVariantLevel4/:id\", component: EditViewVariantLevel4Component,\n canActivate: [RoleGuard],\n data: {\n permissions: {\n only: AppGlobals.ProductMasterVisibleArray,\n redirectTo: '/Login'\n },\n Element: 'isProductLine',\n Access: 'IsVisible',\n redirectTo: '/Login',\n title: 'EditViewVariantLevel4'\n }\n },\n {\n path: \"VariantLevel4/:Seriesid/:Variant3/:Variant4\", component: VariantLevel4DetailsComponent,\n canActivate: [RoleGuard],\n data: {\n permissions: {\n only: AppGlobals.ProductMasterVisibleArray,\n redirectTo: '/Login'\n },\n Element: 'isProductLine',\n Access: 'IsVisible',\n redirectTo: '/Login',\n title: 'VariantLevel4Details'\n }\n },\n {\n path: \"AddOptions/:Seriesid\", component: AddOptionsComponent,\n canActivate: [RoleGuard],\n data: {\n permissions: {\n only: AppGlobals.ProductMasterEditArray,\n redirectTo: '/Login'\n },\n Element: 'isProductLine',\n Access: 'CanCreate',\n redirectTo: '/Login',\n title: 'AddOptions'\n }\n },\n {\n path: \"EditViewOptions/:id\", component: EditViewOptionsComponent,\n canActivate: [RoleGuard],\n data: {\n permissions: {\n only: AppGlobals.ProductMasterVisibleArray,\n redirectTo: '/Login'\n },\n Element: 'isProductLine',\n Access: 'IsVisible',\n redirectTo: '/Login',\n title: 'EditViewOptions'\n }\n },\n {\n path: \"Options/:Seriesid\", component: OptionsDetailsComponent,\n canActivate: [RoleGuard],\n data: {\n permissions: {\n only: AppGlobals.ProductMasterVisibleArray,\n redirectTo: '/Login'\n },\n Element: 'isProductLine',\n Access: 'CanList',\n redirectTo: '/Login',\n title: 'OptionsDetails'\n }\n },\n {\n path: \"ProductMatrix\", component: ProductMatrixComponent,\n canActivate: [RoleGuard],\n data: {\n permissions: {\n only: AppGlobals.ProductMasterVisibleArray,\n redirectTo: '/Login'\n },\n Element: 'isProductLine',\n Access: 'CanList',\n redirectTo: '/Login',\n title: 'ProductMatrix'\n }\n },\n {\n path: \"AddBusinessPlan\", component: BusinessPlanForSalesAndOrderComponent,\n canActivate: [RoleGuard],\n data: {\n permissions: {\n only: AppGlobals.BusinessPlanVisibleArray,\n redirectTo: '/Login'\n },\n Element: 'isBusinessPlanforSalesandOrder',\n Access: 'CanCreate',\n redirectTo: '/Login',\n title: 'BusinessPlan'\n }\n },\n {\n path: \"EditBusinessPlan\", component: EditBusinessPlanComponent,\n canActivate: [RoleGuard],\n data: {\n permissions: {\n only: AppGlobals.BusinessPlanVisibleArray,\n redirectTo: '/Login'\n },\n Element: 'isBusinessPlanforSalesandOrder',\n Access: 'IsVisible',\n redirectTo: '/Login',\n title: 'EditBusinessPlan'\n }\n },\n {\n path: \"BusinessPlanDetails\", component: BusinessPlanDetailsComponent,\n canActivate: [RoleGuard],\n data: {\n permissions: {\n only: AppGlobals.BusinessPlanVisibleArray,\n redirectTo: '/Login'\n },\n Element: 'isBusinessPlanforSalesandOrder',\n Access: 'CanList',\n redirectTo: '/Login',\n title: ' BusinessPlanDetails'\n }\n },\n\n {\n path: \"StockInventory\", component: StockInventoryDetailsComponent,\n canActivate: [RoleGuard],\n data: {\n permissions: {\n only: AppGlobals.StockInventoryVisibleArray,\n redirectTo: '/Login'\n },\n Element: 'isStockInventory',\n Access: 'CanList',\n redirectTo: '/Login',\n title: 'StockInventoryDetails'\n }\n\n },\n {\n path: \"ViewStockInventory/:id\", component: ViewStockInventoryComponent,\n canActivate: [RoleGuard],\n data: {\n permissions: {\n only: AppGlobals.StockInventoryVisibleArray,\n redirectTo: '/Login'\n },\n Element: 'isStockInventory',\n Access: 'IsVisible',\n redirectTo: '/Login',\n title: 'ViewStockInventory'\n }\n\n },\n {\n path: \"AddStockInventory\", component: AddStockInventoryComponent,\n canActivate: [RoleGuard],\n data: {\n permissions: {\n only: AppGlobals.StockInventoryVisibleArray,\n redirectTo: '/Login'\n },\n Element: 'isStockInventory',\n Access: 'CanCreate',\n redirectTo: '/Login',\n title: 'AddStockInventory'\n }\n\n },\n {\n path: \"WorkFlowScreenAccess\", component: EditViewWorkFlowScreenAccessComponent,\n canActivate: [RoleGuard],\n data: {\n permissions: {\n only: AppGlobals.WorkFlowScreenAccessVisibleArray,\n redirectTo: '/Login'\n },\n Element: 'isWorkflowScreenAccess',\n Access: 'IsVisible',\n redirectTo: '/Login',\n title: 'EditViewWorkFlowScreenAccess'\n }\n },\n {\n path: \"Reminders-config\", component: AlertsDetailsComponent,\n canActivate: [RoleGuard],\n data: {\n Element: 'isAlertsManagement',\n Access: 'CanList',\n redirectTo: '/Login',\n title: 'AlertsDetails'\n }\n },\n {\n path: \"Reminders-config/:id\", component: EditViewAlertsComponent,\n canActivate: [RoleGuard],\n data: {\n Element: 'isAlertsManagement',\n Access: 'IsVisible',\n redirectTo: '/Login',\n title: 'EditViewAlerts'\n }\n },\n // event instanceof NavigationEnd),\n // ).subscribe(() => {\n // const rt = this.getChild(this.activatedRoute);\n // rt.data.subscribe(data => {\n // this.titleService.setTitle(\"ECOTECH\")\n // });\n // });\n\n this.router.events.pipe(\n filter(event => event instanceof NavigationEnd),\n ).subscribe(() => {\n const appConfig = this.appConfigService.getConfig();\n this.titleService.setTitle(appConfig.titleName);\n });\n\n }\n\n ngOnInit() {\n\n this.router.events.pipe(\n filter((event) => event instanceof NavigationEnd)\n ).subscribe((event: NavigationEnd) => {\n this.previousUrl = this.currentUrl;\n this.currentUrl = event.url;\n\n // Set the title dynamically based on titleName from AppConfig\n const appConfig = this.appConfigService.getConfig();\n this.titleService.setTitle(appConfig.titleName);\n this.logoImageUrlPresentAboveLogin = appConfig.logoImageUrlPresentAboveLogin;\n this.backroundImagePath = appConfig.backroundImagePath;\n\n this.commonService.setPreviousUrl(this.previousUrl);\n this.redirectTo(this.currentUrl);\n\n });\n\n }\n\n redirectTo(currentUrl){\n // this.BackroundImagePath =\"assets/images/login-bg.jpg\";\n // this.BackroundImagePath =\"assets/images/eco_bg.png\";\n this.BackroundImagePath = this.backroundImagePath;\n\n this.commonService.RefreshHeaderFun();\n //this.showLoader = true;\n this.isHeaderShowed = false;\n let loginDetails = JSON.parse(localStorage.getItem(\"loginDetails\"));\n let userToken = localStorage.getItem(\"userToken\");\n this.getLoginImageDetails();\n \n let navigateTo = \"\";\n let currentPath = currentUrl;//this.route.url.value[0].path;\n\n // just the fragment of the current route. i.e. CurrentRoute\n if( currentPath == \"\" || currentPath == null || currentPath.toLowerCase() ==\"/login\"){\n navigateTo = '/Dashboard';\n }else{\n navigateTo = currentPath;\n \n }\n\n //ensure navigateTo is decodeded first before we use router to navigate\n navigateTo = decodeURI(navigateTo);\n\n if (loginDetails != null && userToken != null) {\n this.isHeaderShowed = true;\n this.router.navigate([navigateTo]);\n this.commonService.RefreshHeaderFun();\n }else{\n this.isHeaderShowed = false;\n this.router.navigate(['/Login']);\n }\n\n }\n\n getChild(activatedRoute: ActivatedRoute) {\n if (activatedRoute.firstChild) {\n return this.getChild(activatedRoute.firstChild);\n } else {\n return activatedRoute;\n }\n }\n\n /* localStorage.removeItem('userToken');\n localStorage.clear();\n this.location.replaceState('Login');\n this.showLoader = false;\n window.location.reload();\n */\n\n onActivate(event) {\n window.scroll(0, 0);\n }\n\n onSubmit() {\n this.showLoader = true;\n this.registerService.login(this.login).subscribe(data => {\n let result = data;\n localStorage.setItem(\"loginDetails\", JSON.stringify(result));\n localStorage.setItem(\"userToken\", result.access_token);\n localStorage.setItem(\"UserRole\", data.role);\n localStorage.setItem(\"UserID\", data.userId);\n localStorage.setItem(\"WorkFlowRoleWiseScreenAccess\", data.WorkFlowRoleWiseScreenAccess);\n \n this.toastr.success('Login successfully!');\n this.showLoader = false;\n\n let loginDetails = JSON.parse(localStorage.getItem(\"loginDetails\"));\n let userToken = localStorage.getItem(\"userToken\");\n if (loginDetails != null && userToken != null) {\n\n let ActivatedURL = localStorage.getItem(\"ActivatedURL\");\n localStorage.removeItem(\"ActivatedURL\");\n if (ActivatedURL != null && ActivatedURL != \"\" && ActivatedURL != undefined) {\n let EnquiryId = ActivatedURL.split(\"/\").pop();\n this.router.navigate(['/EditViewEnquiry', EnquiryId]);\n }\n else { \n this.router.navigate(['/Dashboard']); \n this.cd.detectChanges(); \n }\n this.isHeaderShowed = true;\n }\n else {\n this.isHeaderShowed = false;\n this.router.navigate(['/Login']);\n }\n\n }, error => {\n this.toastr.error(error.error.error_description);\n this.showLoader = false;\n });\n\n }\n\n\n openDialog() {\n // Opening the dialog component\n const dialogWithForm = this.dialog.open(ForgotPasswordComponent, {\n width: '450px',\n height: '200px'\n });\n\n // When user close the dialog\n dialogWithForm.afterClosed().subscribe(result => {\n if (result) {\n this.forgotPassword.Username = result.Username;\n this.showLoader = true;\n this.registerService.forgotPassword(this.forgotPassword.Username).subscribe((data: any) => {\n var res = data;\n if (res.ResponseCode == 1) {\n this.toastr.success('Password reset successfully! Please check your mail account!');\n }\n if (res.ResponseCode == 0) {\n this.toastr.warning('Please enter valid Username!');\n }\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Please enter valid Username!\");\n this.showLoader = false;\n });\n\n }\n });\n }\n\n @HostListener('document:click', ['$event'])\n documentClick(event: any) {\n var screenWidth = window.innerWidth;\n if (screenWidth < 1024)\n if (event.target.className == \"m-menu__link-text mngMaster\" || event.target.className == \"m-menu__hor-arrow la la-angle-down mngMasterArrow\") {\n let x = document.getElementById(\"manageMasterDiv\");\n if (x.style.display === \"none\" || x.style.display === \"\") {\n x.style.display = \"block\";\n document.getElementById(\"enquiryDiv\").style.display = \"none\";\n document.getElementById(\"reportDiv\").style.display = \"none\";\n document.getElementById(\"activityDiv\").style.display = \"none\";\n document.getElementById(\"ProductLineMainDiv\").style.display = \"none\";\n\n } else {\n x.style.display = \"none\";\n }\n }\n else if (event.target.className == \"m-menu__link-text ProductLineMain\" || event.target.className == \"m-menu__hor-arrow la la-angle-down ProductLineArrow\") {\n let x = document.getElementById(\"ProductLineMainDiv\");\n if (x.style.display === \"none\" || x.style.display === \"\") {\n x.style.display = \"block\";\n document.getElementById(\"enquiryDiv\").style.display = \"none\";\n document.getElementById(\"reportDiv\").style.display = \"none\";\n document.getElementById(\"manageMasterDiv\").style.display = \"none\";\n } else {\n x.style.display = \"none\";\n }\n }\n else if (event.target.className == \"m-menu__link-text enqDrDn\" || event.target.className == \"m-menu__hor-arrow la la-angle-down enqDrDnArrow\") {\n let x = document.getElementById(\"enquiryDiv\");\n if (x.style.display === \"none\" || x.style.display === \"\") {\n x.style.display = \"block\";\n document.getElementById(\"manageMasterDiv\").style.display = \"none\";\n document.getElementById(\"reportDiv\").style.display = \"none\";\n document.getElementById(\"ProductLineMainDiv\").style.display = \"none\";\n } else {\n x.style.display = \"none\";\n }\n }\n\n else if (event.target.className == \"m-menu__link-text activityqDrDn\" || event.target.className == \"m-menu__hor-arrow la la-angle-down activityDrDnArrow\") {\n \n let x = document.getElementById(\"activityDiv\");\n if (x.style.display === \"none\" || x.style.display === \"\") {\n x.style.display = \"block\";\n document.getElementById(\"manageMasterDiv\").style.display = \"none\";\n document.getElementById(\"reportDiv\").style.display = \"none\";\n document.getElementById(\"ProductLineMainDiv\").style.display = \"none\";\n document.getElementById(\"enquiryDiv\").style.display = \"none\";\n } else {\n x.style.display = \"none\";\n }\n }\n else if (event.target.className == \"m-menu__link-text reportDrDn\" || event.target.className == \"m-menu__hor-arrow la la-angle-down reportDrDnArrow\") {\n let x = document.getElementById(\"reportDiv\");\n if (x.style.display === \"none\" || x.style.display === \"\") {\n x.style.display = \"block\";\n document.getElementById(\"enquiryDiv\").style.display = \"none\";\n document.getElementById(\"manageMasterDiv\").style.display = \"none\";\n document.getElementById(\"ProductLineMainDiv\").style.display = \"none\";\n } else {\n x.style.display = \"none\";\n }\n\n }\n else if (event.target.className == \"flaticon-more\" || event.target.className == \"m-topbar__username\" || event.target.className == \"m-dropdown__dropoff\") {\n let x = document.getElementById(\"m_header_topbar\");\n if (event.target.className == \"m-topbar__username\" || event.target.className == \"m-dropdown__dropoff\") {\n x.style.display = \"table\";\n }\n\n }\n else if (event.target.className == \"m-menu__link-text reportDrDn toggle\" || event.target.className == \"m-menu__link-text enqDrDn toggle\") {\n let x = document.getElementById(\"m_header_menu\");\n {\n x.style.display = \"none\";\n if (event.target.className == \"m-menu__link-text reportDrDn toggle\") {\n document.getElementById(\"reportDiv\").style.display = \"none\";\n\n }\n else if (event.target.className == \"m-menu__link-text enqDrDn toggle\") {\n document.getElementById(\"enquiryDiv\").style.display = \"none\";\n\n }\n\n }\n }\n else if (event.target.className == \"form-control ng-untouched ng-pristine ng-valid\" || event.target.className == \"m-content\" ||\n event.target.className == \"col-sm-6\" || event.target.className == \"toggle\" || event.target.className == \"m-menu__link-text mngMaster toggle\"\n || event.target.className == \"m-brand__icon m-brand__toggler m--visible-tablet-and-mobile-inline-block\") {\n let x = document.getElementById(\"m_header_menu\");\n if (event.target.className == \"toggle\" || event.target.className == \"m-brand__icon m-brand__toggler m--visible-tablet-and-mobile-inline-block\") {\n x.style.display === \"block\"\n document.getElementById(\"ProductLineDiv\").style.display = \"none\";\n document.getElementById(\"seriesDiv\").style.display = \"none\";\n // document.getElementById(\"modelDiv\").style.display = \"none\";\n document.getElementById(\"ProductLineMainDiv\").style.display = \"none\";\n }\n else {\n if (x.style.display === \"block\") {\n x.style.display = \"none\";\n document.getElementById(\"ProductLineDiv\").style.display = \"none\";\n document.getElementById(\"seriesDiv\").style.display = \"none\";\n document.getElementById(\"manageMasterDiv\").style.display = \"none\";\n document.getElementById(\"ProductLineMainDiv\").style.display = \"none\";\n }\n }\n }\n else if (event.target.className == \"m-menu__link-text PL\" || event.target.className == \"m-menu__link-text PS\" ||\n event.target.className == \"m-menu__link-text mngMaster SN\" || event.target.className == \"m-menu__link m-menu__toggle SN\") {\n if (event.target.className == \"m-menu__link-text PL\") {\n let x = document.getElementById(\"ProductLineDiv\");\n if (x.style.display === \"none\" || x.style.display === \"\") {\n document.getElementById(\"ProductLineDiv\").style.display = \"block\";\n }\n else {\n document.getElementById(\"ProductLineDiv\").style.display = \"none\";\n }\n }\n else if (event.target.className == \"m-menu__link-text PS\") {\n let x = document.getElementById(\"seriesDiv\");\n x.style.display === \"block\"\n if (x.style.display === \"none\" || x.style.display === \"\") {\n document.getElementById(\"seriesDiv\").style.display = \"block\";\n }\n else {\n document.getElementById(\"seriesDiv\").style.display = \"none\";\n }\n }\n else if (event.target.className == \"m-menu__link-text mngMaster SN\") {\n // let x = document.getElementById(\"modelDiv\");\n // if(x.style.display === \"block\")\n // {\n // document.getElementById(\"modelDiv\").style.display = \"none\";\n // }\n // if (x.style.display === \"none\" || x.style.display === \"\") {\n // document.getElementById(\"modelDiv\").style.display = \"block\";\n // }\n\n }\n\n }\n\n else {\n let x = document.getElementById(\"manageMasterDiv\");\n if (x != null && x.style.display === \"block\") {\n x.style.display = \"none\";\n }\n let y = document.getElementById(\"enquiryDiv\");\n if (y != null && y.style.display === \"block\") {\n y.style.display = \"none\";\n }\n let z = document.getElementById(\"reportDiv\");\n if (z != null && z.style.display === \"block\") {\n z.style.display = \"none\";\n }\n let p = document.getElementById(\"m_header_topbar\");\n if (p != null && p.style.display === \"table\") {\n p.style.display = \"none\";\n }\n\n let q = document.getElementById(\"m_header_menu\");\n if (q != null && q.style.display === \"block\") {\n q.style.display = \"none\";\n }\n let r = document.getElementById(\"ProductLineDiv\");\n if (r != null && r.style.display === \"block\") {\n r.style.display = \"none\";\n }\n let s = document.getElementById(\"seriesDiv\");\n if (s != null && s.style.display === \"block\") {\n s.style.display = \"none\";\n }\n // let t = document.getElementById(\"modelDiv\");\n // if (t != null && t.style.display === \"block\") {\n // t.style.display = \"none\";\n // }\n\n }\n\n else {\n if (event.target.className == \"m-menu__link-text mngMaster\" || event.target.className == \"m-menu__hor-arrow la la-angle-down mngMasterArrow\") {\n let x = document.getElementById(\"manageMasterDiv\");\n if (x.style.display === \"none\" || x.style.display === \"\") {\n x.style.display = \"block\";\n document.getElementById(\"enquiryDiv\").style.display = \"none\";\n document.getElementById(\"reportDiv\").style.display = \"none\";\n document.getElementById(\"activityDiv\").style.display = \"none\";\n document.getElementById(\"ProductLineMainDiv\").style.display = \"none\";\n } else {\n x.style.display = \"none\";\n }\n\n\n }\n else if (event.target.className == \"m-menu__link-text ProductLineMain\" || event.target.className == \"m-menu__hor-arrow la la-angle-down ProductLineArrow\") {\n let x = document.getElementById(\"ProductLineMainDiv\");\n if (x.style.display === \"none\" || x.style.display === \"\") {\n x.style.display = \"block\";\n document.getElementById(\"enquiryDiv\").style.display = \"none\";\n document.getElementById(\"reportDiv\").style.display = \"none\";\n document.getElementById(\"activityDiv\").style.display = \"none\";\n document.getElementById(\"manageMasterDiv\").style.display = \"none\";\n } else {\n x.style.display = \"none\";\n }\n }\n\n else if (event.target.className == \"m-menu__link-text enqDrDn\" || event.target.className == \"m-menu__hor-arrow la la-angle-down enqDrDnArrow\") {\n let x = document.getElementById(\"enquiryDiv\");\n if (x.style.display === \"none\" || x.style.display === \"\") {\n x.style.display = \"block\";\n document.getElementById(\"manageMasterDiv\").style.display = \"none\";\n document.getElementById(\"reportDiv\").style.display = \"none\";\n document.getElementById(\"ProductLineMainDiv\").style.display = \"none\";\n document.getElementById(\"activityDiv\").style.display = \"none\";\n } else {\n x.style.display = \"none\";\n }\n }\n else if (event.target.className == \"m-menu__link-text activityqDrDn\" || event.target.className == \"m-menu__hor-arrow la la-angle-down activityDrDnArrow\") {\n\n let x = document.getElementById(\"activityDiv\");\n \n if (x.style.display === \"none\" || x.style.display === \"\") {\n \n x.style.display = \"block\";\n document.getElementById(\"manageMasterDiv\").style.display = \"none\";\n document.getElementById(\"manageMasterDiv\").style.display = \"none\";\n \n \n document.getElementById(\"reportDiv\").style.display = \"none\";\n document.getElementById(\"ProductLineMainDiv\").style.display = \"none\";\n document.getElementById(\"enquiryDiv\").style.display = \"none\";\n \n } else {\n \n x.style.display = \"none\";\n \n }\n }\n else if (event.target.className == \"m-menu__link-text reportDrDn\" || event.target.className == \"m-menu__hor-arrow la la-angle-down reportDrDnArrow\") {\n let x = document.getElementById(\"reportDiv\");\n if (x.style.display === \"none\" || x.style.display === \"\") {\n x.style.display = \"block\";\n document.getElementById(\"enquiryDiv\").style.display = \"none\";\n document.getElementById(\"manageMasterDiv\").style.display = \"none\";\n document.getElementById(\"ProductLineMainDiv\").style.display = \"none\";\n document.getElementById(\"activityDiv\").style.display = \"none\";\n } else {\n x.style.display = \"none\";\n }\n }\n else {\n let x = document.getElementById(\"manageMasterDiv\");\n if (x != null && x.style.display === \"block\") {\n x.style.display = \"none\";\n }\n let y = document.getElementById(\"enquiryDiv\");\n if (y != null && y.style.display === \"block\") {\n y.style.display = \"none\";\n }\n let z = document.getElementById(\"reportDiv\");\n if (z != null && z.style.display === \"block\") {\n z.style.display = \"none\";\n }\n let p = document.getElementById(\"ProductLineMainDiv\");\n if (p != null && p.style.display === \"block\") {\n p.style.display = \"none\";\n }\n let q = document.getElementById(\"activityDiv\");\n if (q != null && q.style.display === \"block\") {\n q.style.display = \"none\";\n }\n }\n }\n }\n getLoginImageDetails() \n { \n this.showLoader=true; \n this.registerService.getImageName('LoginPageImage', 'GetActiveImage').subscribe((data: any) => \n { \n if(data!=null)\n {\n this.BackroundImagePath = AppGlobals.baseAppUrl + \"uploads/LoginPageImage/\" + encodeURIComponent(data.ImageName); \n }\n else{\n //this.BackroundImagePath =\"assets/images/login-bg.jpg\";\n // this.BackroundImagePath =\"assets/images/eco_bg.png\";\n this.BackroundImagePath = this.backroundImagePath;\n } \n this.showLoader=false; \n }, error => \n { \n // this.toastr.error(\"Failed to load data!\"); \n // this.BackroundImagePath =\"assets/images/login-bg.jpg\";\n // this.BackroundImagePath =\"assets/images/eco_bg.png\";\n this.BackroundImagePath = this.backroundImagePath;\n this.showLoader = false; \n }); }\n} \n","\n\n\n\n\n\n
\n\n
\n
\n\n
\n
\n
\n \n
\n\n
\n
\n
\n\n\n\n \n \n \n","import { UserRoles } from './UserRoles';\nimport { EnquiryStatus } from './EnquiryStatus';\n\nexport const AppGlobals = {\n\n //SEA URLs\n // baseAppUrl: 'http://sea-crm.weiss-world.com/api/',\n // baseFileDownloadUrl: 'http://sea-crm.weiss-world.com/api/Uploads/',\n // QuotationFileDownloadUrl: 'http://sea-crm.weiss-world.com/api/Uploads/pdf/',\n // ZipDownloadUrl: 'http://sea-crm.weiss-world.com/api/Uploads/Zip/',\n // catlogDownloadPath: 'http://sea-crm.weiss-world.com/api/Uploads/Catlog/',\n // OADownloadPath:'http://sea-crm.weiss-world.com/api/Uploads/OAFiles/',\n // loginImagePath:'http://sea-crm.weiss-world.com/api/Uploads/LoginPageImage/',\n \n // \n\n // baseAppUrl: 'http://localhost:64591/',\n // baseFileDownloadUrl: 'http://localhost:64591/Uploads/',\n // QuotationFileDownloadUrl: 'http://localhost:64591/Uploads/pdf/',\n // ZipDownloadUrl: 'http://localhost:64591/Uploads/Zip/',\n // catlogDownloadPath: 'http://localhost:64591/Uploads/Catalog/',\n // OADownloadPath:'http://localhost:64591/Uploads/OAFiles/',\n // loginImagePath:\"http://localhost:64591/Uploads/LoginPageImage/\",\n\n\n //Dev URLs\n\n // baseAppUrl: 'http://devweiss.ecotechservices.com/api/',\n // baseFileDownloadUrl: 'http://devweiss.ecotechservices.com/api/Uploads/',\n // QuotationFileDownloadUrl: 'http://devweiss.ecotechservices.com/api/Uploads/pdf/',\n // ZipDownloadUrl: 'http://devweiss.ecotechservices.com/api/Uploads/Zip/',\n // catlogDownloadPath: 'http://devweiss.ecotechservices.com/api/Uploads/Catlog/',\n // OADownloadPath:'http://devweiss.ecotechservices.com/api/Uploads/OAFiles/',\n // loginImagePath:\"http://devweiss.ecotechservices.com/api/Uploads/LoginPageImage/\",\n\n \n //Demo Ecotech CRM URLs\n\n // baseAppUrl: 'http://democrm.ecotechservices.com/api/',\n // baseFileDownloadUrl: 'http://democrm.ecotechservices.com/api/Uploads/',\n // QuotationFileDownloadUrl: 'http://democrm.ecotechservices.com/api/Uploads/pdf/',\n // ZipDownloadUrl: 'http://democrm.ecotechservices.com/api/Uploads/Zip/',\n // catlogDownloadPath: 'http://democrm.ecotechservices.com/api/Uploads/Catlog/',\n // OADownloadPath:'http://democrm.ecotechservices.com/api/Uploads/OAFiles/',\n // loginImagePath:\"http://democrm.ecotechservices.com/api/Uploads/LoginPageImage/\",\n\n baseAppUrl: '/api/',\n baseFileDownloadUrl: '/api/Uploads/',\n QuotationFileDownloadUrl: '/api/Uploads/pdf/',\n ZipDownloadUrl: '/api/Uploads/Zip/',\n catlogDownloadPath: '/api/Uploads/Catalog/',\n OADownloadPath:'/api/Uploads/OAFiles/',\n loginImagePath:\"/api/Uploads/LoginPageImage/\",\n \n //\n\n // baseAppUrl: 'https://uatcrm.ecotechinfra.com/api/',\n // baseFileDownloadUrl: 'https://uatcrm.ecotechinfra.com/api/Uploads/',\n // QuotationFileDownloadUrl: 'https://uatcrm.ecotechinfra.com/api/Uploads/pdf/',\n // ZipDownloadUrl: 'https://uatcrm.ecotechinfra.com/api/Uploads/Zip/',\n // catlogDownloadPath: 'https://uatcrm.ecotechinfra.com/api/Uploads/Catalog/',\n // OADownloadPath:'https://uatcrm.ecotechinfra.com/api/Uploads/OAFiles/',\n // loginImagePath:\"https://uatcrm.ecotechinfra.com/api/Uploads/LoginPageImage/\",\n\n //\n \n // baseAppUrl: 'https://crm.weiss-india.com/api/',\n // baseFileDownloadUrl: 'https://crm.weiss-india.com/api/Uploads/',\n // QuotationFileDownloadUrl: 'https://crm.weiss-india.com/api/Uploads/pdf/',\n // ZipDownloadUrl: 'https://crm.weiss-india.com/api/Uploads/Zip/',\n // catlogDownloadPath: 'https://crm.weiss-india.com/api//Uploads/Catlog/',\n // OADownloadPath:'https://crm.weiss-india.com/api/Uploads/OAFiles/',\n // loginImagePath:\"https://crm.weiss-india.com/api/Uploads/LoginPageImage/\",\n \n title: 'Global Title',\n supportedFileFormatForImage: '[Image Format: .jpeg, .bmp, .jpg, .png] [Max 5 MB]',\n supportedFileFormatsForOtherAttachments: '[File Format: .bmp, .jpeg, .jpg, .png, .xls, .xlsx, .pdf, .xml, .txt, .doc, .docx, .zip, .csv] [Max 5 MB]',\n supportedFileFormatsForOtherMultipleAttachments: '[File Format: .bmp, .jpeg, .jpg, .png, .xls, .xlsx, .pdf, .xml, .txt, .doc, .docx, .zip, .csv] [Max 5 MB]',\n YearsConstant: [\"2018\", \"2019\", \"2020\", \"2021\", \"2022\", \"2023\", \"2024\", \"2025\", \"2026\", \"2027\", \"2028\", \"2029\", \"2030\",\n \"2031\", \"2032\", \"2033\", \"2034\", \"2035\", \"2036\", \"2037\", \"2038\", \"2039\", \"2040\",\n \"2041\", \"2042\", \"2043\", \"2044\", \"2045\", \"2046\", \"2047\", \"2048\", \"2049\", \"2050\"],\n AllRolesArray: [\n UserRoles.SalesEngineer\n , UserRoles.RegionalSalesManager\n , UserRoles.AreaSalesManager\n , UserRoles.L1\n , UserRoles.L2\n , UserRoles.L3\n , UserRoles.CustomerService\n , UserRoles.SalesDirector\n , UserRoles.CEO\n , UserRoles.ExecutiveBusinessAssistant\n , UserRoles.SupplyChain\n , UserRoles.FinanceAccounts\n , UserRoles.BusinessDevelopment\n , UserRoles.Marketing\n , UserRoles.ChannelPartner\n , UserRoles.Distributor\n , UserRoles.Agent\n , UserRoles.Admin\n , UserRoles.ProductManager\n , UserRoles.ManagerSolutionsFactoryAndLocalization\n ],\n\n //\n //\n\n //<\n ProductMastersEditableAccessArray: [\n { role: UserRoles.Admin, isEditable: true, isVisible: true },\n { role: UserRoles.SalesEngineer, isEditable: false, isVisible: true },\n { role: UserRoles.RegionalSalesManager, isEditable: false, isVisible: true },\n { role: UserRoles.AreaSalesManager, isEditable: false, isVisible: true },\n { role: UserRoles.L1, isEditable: false, isVisible: true },\n { role: UserRoles.L2, isEditable: false, isVisible: true },\n { role: UserRoles.L3, isEditable: false, isVisible: true },\n { role: UserRoles.BusinessDevelopment, isEditable: false, isVisible: true },\n { role: UserRoles.SalesDirector, isEditable: false, isVisible: true },\n { role: UserRoles.CEO, isEditable: true, isVisible: true },\n { role: UserRoles.ExecutiveBusinessAssistant, isEditable: false, isVisible: true },\n { role: UserRoles.FinanceAccounts, isEditable: false, isVisible: true },\n { role: UserRoles.SupplyChain, isEditable: false, isVisible: true },\n { role: UserRoles.ChannelPartner, isEditable: false, isVisible: false },\n { role: UserRoles.Distributor, isEditable: false, isVisible: false },\n { role: UserRoles.Marketing, isEditable: false, isVisible: false },\n { role: UserRoles.Agent, isEditable: false, isVisible: false },\n { role: UserRoles.CustomerService, isEditable: false, isVisible: true },\n { role: UserRoles.ProductManager, isEditable: true, isVisible: true },\n { role: UserRoles.ManagerSolutionsFactoryAndLocalization, isEditable: true, isVisible: true }\n ],\n CustomerMastersEditableAccessArray: [\n { role: UserRoles.Admin, isEditable: true, isVisible: true },\n { role: UserRoles.SalesEngineer, isEditable: true, isVisible: true },\n { role: UserRoles.RegionalSalesManager, isEditable: true, isVisible: true },\n { role: UserRoles.AreaSalesManager, isEditable: true, isVisible: true },\n { role: UserRoles.L1, isEditable: true, isVisible: true },\n { role: UserRoles.L2, isEditable: true, isVisible: true },\n { role: UserRoles.L3, isEditable: true, isVisible: true },\n { role: UserRoles.BusinessDevelopment, isEditable: true, isVisible: true },\n { role: UserRoles.Marketing, isEditable: true, isVisible: true },\n { role: UserRoles.SalesDirector, isEditable: true, isVisible: true },\n { role: UserRoles.CEO, isEditable: true, isVisible: true },\n { role: UserRoles.ExecutiveBusinessAssistant, isEditable: true, isVisible: true },\n { role: UserRoles.FinanceAccounts, isEditable: true, isVisible: true },\n { role: UserRoles.SupplyChain, isEditable: true, isVisible: true },\n { role: UserRoles.ChannelPartner, isEditable: true, isVisible: true },\n { role: UserRoles.Distributor, isEditable: true, isVisible: true },\n { role: UserRoles.Agent, isEditable: true, isVisible: true },\n { role: UserRoles.CustomerService, isEditable: true, isVisible: true },\n { role: UserRoles.ProductManager, isEditable: true, isVisible: true },\n { role: UserRoles.ManagerSolutionsFactoryAndLocalization, isEditable: true, isVisible: true }\n ],\n EmployeeMastersEditableAccessArray: [\n { role: UserRoles.Admin, isEditable: true, isVisible: true },\n { role: UserRoles.SalesEngineer, isEditable: false, isVisible: true },\n { role: UserRoles.RegionalSalesManager, isEditable: false, isVisible: true },\n { role: UserRoles.AreaSalesManager, isEditable: false, isVisible: true },\n { role: UserRoles.L1, isEditable: false, isVisible: true },\n { role: UserRoles.L2, isEditable: false, isVisible: true },\n { role: UserRoles.L3, isEditable: false, isVisible: true },\n { role: UserRoles.BusinessDevelopment, isEditable: false, isVisible: true },\n { role: UserRoles.Marketing, isEditable: false, isVisible: true },\n { role: UserRoles.SalesDirector, isEditable: false, isVisible: true },\n { role: UserRoles.CEO, isEditable: false, isVisible: true },\n { role: UserRoles.ExecutiveBusinessAssistant, isEditable: false, isVisible: true },\n { role: UserRoles.FinanceAccounts, isEditable: false, isVisible: true },\n { role: UserRoles.SupplyChain, isEditable: false, isVisible: true },\n { role: UserRoles.ChannelPartner, isEditable: false, isVisible: false },\n { role: UserRoles.Distributor, isEditable: false, isVisible: false },\n { role: UserRoles.Agent, isEditable: false, isVisible: false },\n { role: UserRoles.CustomerService, isEditable: false, isVisible: true },\n { role: UserRoles.ProductManager, isEditable: false, isVisible: true },\n { role: UserRoles.ManagerSolutionsFactoryAndLocalization, isEditable: true, isVisible: true }\n ],\n GuestMastersEditableAccessArray: [\n { role: UserRoles.Admin, isEditable: true, isVisible: true },\n { role: UserRoles.SalesEngineer, isEditable: false, isVisible: false },\n { role: UserRoles.RegionalSalesManager, isEditable: false, isVisible: false },\n { role: UserRoles.AreaSalesManager, isEditable: false, isVisible: false },\n { role: UserRoles.L1, isEditable: false, isVisible: false },\n { role: UserRoles.L2, isEditable: false, isVisible: false },\n { role: UserRoles.L3, isEditable: false, isVisible: false },\n { role: UserRoles.BusinessDevelopment, isEditable: false, isVisible: false },\n { role: UserRoles.Marketing, isEditable: false, isVisible: false },\n { role: UserRoles.SalesDirector, isEditable: false, isVisible: false },\n { role: UserRoles.CEO, isEditable: false, isVisible: false },\n { role: UserRoles.ExecutiveBusinessAssistant, isEditable: false, isVisible: false },\n { role: UserRoles.FinanceAccounts, isEditable: false, isVisible: false },\n { role: UserRoles.SupplyChain, isEditable: false, isVisible: false },\n { role: UserRoles.ChannelPartner, isEditable: false, isVisible: false },\n { role: UserRoles.Distributor, isEditable: false, isVisible: false },\n { role: UserRoles.Agent, isEditable: false, isVisible: false },\n { role: UserRoles.CustomerService, isEditable: false, isVisible: false },\n { role: UserRoles.ProductManager, isEditable: false, isVisible: false },\n { role: UserRoles.ManagerSolutionsFactoryAndLocalization, isEditable: true, isVisible: true }\n ],\n ConfigureMastersEditableAccessArray: [\n { role: UserRoles.Admin, isEditable: true, isVisible: true },\n { role: UserRoles.SalesEngineer, isEditable: false, isVisible: false },\n { role: UserRoles.RegionalSalesManager, isEditable: false, isVisible: false },\n { role: UserRoles.AreaSalesManager, isEditable: false, isVisible: false },\n { role: UserRoles.L1, isEditable: false, isVisible: false },\n { role: UserRoles.L2, isEditable: false, isVisible: false },\n { role: UserRoles.L3, isEditable: false, isVisible: false },\n { role: UserRoles.BusinessDevelopment, isEditable: false, isVisible: false },\n { role: UserRoles.Marketing, isEditable: false, isVisible: false },\n { role: UserRoles.SalesDirector, isEditable: false, isVisible: false },\n { role: UserRoles.CEO, isEditable: false, isVisible: false },\n { role: UserRoles.ExecutiveBusinessAssistant, isEditable: false, isVisible: false },\n { role: UserRoles.FinanceAccounts, isEditable: false, isVisible: false },\n { role: UserRoles.SupplyChain, isEditable: false, isVisible: false },\n { role: UserRoles.ChannelPartner, isEditable: false, isVisible: false },\n { role: UserRoles.Distributor, isEditable: false, isVisible: false },\n { role: UserRoles.Agent, isEditable: false, isVisible: false },\n { role: UserRoles.CustomerService, isEditable: false, isVisible: false },\n { role: UserRoles.ProductManager, isEditable: false, isVisible: false },\n { role: UserRoles.ManagerSolutionsFactoryAndLocalization, isEditable: true, isVisible: true }\n ],\n\n CustomerFrameAgreementWorkFlowEditableAccessArray: [\n { role: UserRoles.Admin, isEditable: true, isVisible: true },\n { role: UserRoles.SalesEngineer, isEditable: false, isVisible: false },\n { role: UserRoles.RegionalSalesManager, isEditable: false, isVisible: false },\n { role: UserRoles.AreaSalesManager, isEditable: false, isVisible: false },\n { role: UserRoles.L1, isEditable: false, isVisible: false },\n { role: UserRoles.L2, isEditable: false, isVisible: false },\n { role: UserRoles.L3, isEditable: false, isVisible: false },\n { role: UserRoles.BusinessDevelopment, isEditable: false, isVisible: false },\n { role: UserRoles.Marketing, isEditable: false, isVisible: false },\n { role: UserRoles.SalesDirector,isEditable: true, isVisible: true },\n { role: UserRoles.CEO, isEditable: true, isVisible: true },\n { role: UserRoles.ExecutiveBusinessAssistant, isEditable: false, isVisible: false },\n { role: UserRoles.FinanceAccounts, isEditable: false, isVisible: false },\n { role: UserRoles.SupplyChain, isEditable: false, isVisible: false },\n { role: UserRoles.ChannelPartner, isEditable: false, isVisible: false },\n { role: UserRoles.Distributor, isEditable: false, isVisible: false },\n { role: UserRoles.Agent, isEditable: false, isVisible: false },\n { role: UserRoles.CustomerService, isEditable: false, isVisible: false },\n { role: UserRoles.ProductManager, isEditable: false, isVisible: false },\n { role: UserRoles.ManagerSolutionsFactoryAndLocalization, isEditable: true, isVisible: true }\n ],\n BusinessPlanEditableAccessArray: [\n { role: UserRoles.Admin, isEditable: true, isVisible: true },\n { role: UserRoles.SalesEngineer, isEditable: false, isVisible: false },\n { role: UserRoles.RegionalSalesManager, isEditable: false, isVisible: false },\n { role: UserRoles.AreaSalesManager, isEditable: false, isVisible: false },\n { role: UserRoles.L1, isEditable: false, isVisible: false },\n { role: UserRoles.L2, isEditable: false, isVisible: false },\n { role: UserRoles.L3, isEditable: false, isVisible: false },\n { role: UserRoles.BusinessDevelopment, isEditable: false, isVisible: false },\n { role: UserRoles.Marketing, isEditable: false, isVisible: false },\n { role: UserRoles.SalesDirector, isEditable: true, isVisible: true },\n { role: UserRoles.CEO, isEditable: true, isVisible: true },\n { role: UserRoles.ExecutiveBusinessAssistant, isEditable: false, isVisible: false },\n { role: UserRoles.FinanceAccounts, isEditable: false, isVisible: false },\n { role: UserRoles.SupplyChain, isEditable: false, isVisible: false },\n { role: UserRoles.ChannelPartner, isEditable: false, isVisible: false },\n { role: UserRoles.Distributor, isEditable: false, isVisible: false },\n { role: UserRoles.Agent, isEditable: false, isVisible: false },\n { role: UserRoles.CustomerService, isEditable: false, isVisible: false },\n { role: UserRoles.ProductManager, isEditable: false, isVisible: false },\n { role: UserRoles.ManagerSolutionsFactoryAndLocalization, isEditable: true, isVisible: true }\n ],\n StockInventoryEditableAccessArray: [\n { role: UserRoles.Admin, isEditable: false, isVisible: true },\n { role: UserRoles.SalesEngineer, isEditable: false, isVisible: true },\n { role: UserRoles.RegionalSalesManager, isEditable: false, isVisible: true },\n { role: UserRoles.AreaSalesManager, isEditable: false, isVisible: true },\n { role: UserRoles.L1, isEditable: false, isVisible: true },\n { role: UserRoles.L2, isEditable: false, isVisible: true },\n { role: UserRoles.L3, isEditable: false, isVisible: true },\n { role: UserRoles.BusinessDevelopment, isEditable: false, isVisible: true },\n { role: UserRoles.Marketing, isEditable: false, isVisible: true },\n { role: UserRoles.SalesDirector, isEditable: false, isVisible: true },\n { role: UserRoles.CEO, isEditable: false, isVisible: true },\n { role: UserRoles.ExecutiveBusinessAssistant, isEditable: false, isVisible: true },\n { role: UserRoles.FinanceAccounts, isEditable: false, isVisible: true },\n { role: UserRoles.SupplyChain, isEditable: true, isVisible: true },\n { role: UserRoles.ChannelPartner, isEditable: false, isVisible: true },\n { role: UserRoles.Distributor, isEditable: false, isVisible: true },\n { role: UserRoles.Agent, isEditable: false, isVisible: true },\n { role: UserRoles.CustomerService, isEditable: false, isVisible: true },\n { role: UserRoles.ProductManager, isEditable: false, isVisible: true },\n { role: UserRoles.ManagerSolutionsFactoryAndLocalization, isEditable: true, isVisible: true }\n ],\n WorkFlowScreenAccessEditableAccessArray: [\n { role: UserRoles.Admin, isEditable: true, isVisible: true },\n { role: UserRoles.SalesEngineer, isEditable: false, isVisible: false },\n { role: UserRoles.RegionalSalesManager, isEditable: false, isVisible: false },\n { role: UserRoles.AreaSalesManager, isEditable: false, isVisible: false },\n { role: UserRoles.L1, isEditable: false, isVisible: false },\n { role: UserRoles.L2, isEditable: false, isVisible: false },\n { role: UserRoles.L3, isEditable: false, isVisible: false },\n { role: UserRoles.BusinessDevelopment, isEditable: false, isVisible: false },\n { role: UserRoles.Marketing, isEditable: false, isVisible: false },\n { role: UserRoles.SalesDirector, isEditable: false, isVisible: false },\n { role: UserRoles.CEO, isEditable: false, isVisible: false },\n { role: UserRoles.ExecutiveBusinessAssistant, isEditable: false, isVisible: false },\n { role: UserRoles.FinanceAccounts, isEditable: false, isVisible: false },\n { role: UserRoles.SupplyChain, isEditable: false, isVisible: false },\n { role: UserRoles.ChannelPartner, isEditable: false, isVisible: false },\n { role: UserRoles.Distributor, isEditable: false, isVisible: false },\n { role: UserRoles.Agent, isEditable: false, isVisible: false },\n { role: UserRoles.CustomerService, isEditable: false, isVisible: false },\n { role: UserRoles.ProductManager, isEditable: false, isVisible: false },\n { role: UserRoles.ManagerSolutionsFactoryAndLocalization, isEditable: true, isVisible: true }\n ],\n AlertsAccessEditableAccessArray: [\n { role: UserRoles.Admin, isEditable: true, isVisible: true },\n { role: UserRoles.SalesEngineer, isEditable: false, isVisible: false },\n { role: UserRoles.RegionalSalesManager, isEditable: false, isVisible: false },\n { role: UserRoles.AreaSalesManager, isEditable: false, isVisible: false },\n { role: UserRoles.L1, isEditable: false, isVisible: false },\n { role: UserRoles.L2, isEditable: false, isVisible: false },\n { role: UserRoles.L3, isEditable: false, isVisible: false },\n { role: UserRoles.BusinessDevelopment, isEditable: false, isVisible: false },\n { role: UserRoles.Marketing, isEditable: false, isVisible: false },\n { role: UserRoles.SalesDirector, isEditable: false, isVisible: false },\n { role: UserRoles.CEO, isEditable: false, isVisible: false },\n { role: UserRoles.ExecutiveBusinessAssistant, isEditable: false, isVisible: false },\n { role: UserRoles.FinanceAccounts, isEditable: false, isVisible: false },\n { role: UserRoles.SupplyChain, isEditable: false, isVisible: false },\n { role: UserRoles.ChannelPartner, isEditable: false, isVisible: false },\n { role: UserRoles.Distributor, isEditable: false, isVisible: false },\n { role: UserRoles.Agent, isEditable: false, isVisible: false },\n { role: UserRoles.CustomerService, isEditable: false, isVisible: false },\n { role: UserRoles.ProductManager, isEditable: false, isVisible: false },\n { role: UserRoles.ManagerSolutionsFactoryAndLocalization, isEditable: true, isVisible: true }\n ],\n\n PriceConfiguratorEditableAccessArray: [\n { role: UserRoles.Admin, isEditable: false, isVisible: true },\n { role: UserRoles.SalesEngineer, isEditable: false, isVisible: false },\n { role: UserRoles.RegionalSalesManager, isEditable: false, isVisible: false },\n { role: UserRoles.AreaSalesManager, isEditable: false, isVisible: false },\n { role: UserRoles.L1, isEditable: false, isVisible: false },\n { role: UserRoles.L2, isEditable: false, isVisible: false },\n { role: UserRoles.L3, isEditable: false, isVisible: false },\n { role: UserRoles.BusinessDevelopment, isEditable: false, isVisible: false },\n { role: UserRoles.Marketing, isEditable: false, isVisible: false },\n { role: UserRoles.SalesDirector, isEditable: false, isVisible: false },\n { role: UserRoles.CEO, isEditable: false, isVisible: false },\n { role: UserRoles.ExecutiveBusinessAssistant, isEditable: false, isVisible: false },\n { role: UserRoles.FinanceAccounts, isEditable: false, isVisible: false },\n { role: UserRoles.SupplyChain, isEditable: true, isVisible: false },\n { role: UserRoles.ChannelPartner, isEditable: false, isVisible: false },\n { role: UserRoles.Distributor, isEditable: false, isVisible: false },\n { role: UserRoles.Agent, isEditable: false, isVisible: false },\n { role: UserRoles.CustomerService, isEditable: false, isVisible: false },\n { role: UserRoles.ProductManager, isEditable: false, isVisible: false },\n { role: UserRoles.ManagerSolutionsFactoryAndLocalization, isEditable: false, isVisible: true }\n ],\n \n LeadMasterEditableAccessArray: [\n { role: UserRoles.Admin, isEditable: true, isVisible: true },\n { role: UserRoles.SalesEngineer, isEditable: true, isVisible: true },\n { role: UserRoles.RegionalSalesManager, isEditable: true, isVisible: true },\n { role: UserRoles.AreaSalesManager, isEditable: true, isVisible: true },\n { role: UserRoles.L1, isEditable: true, isVisible: true },\n { role: UserRoles.L2, isEditable: true, isVisible: true },\n { role: UserRoles.L3, isEditable: true, isVisible: true },\n { role: UserRoles.BusinessDevelopment, isEditable: true, isVisible: true },\n { role: UserRoles.Marketing, isEditable: true, isVisible: true },\n { role: UserRoles.SalesDirector, isEditable: true, isVisible: true },\n { role: UserRoles.CEO, isEditable: true, isVisible: true },\n { role: UserRoles.ExecutiveBusinessAssistant, isEditable: true, isVisible: true },\n { role: UserRoles.FinanceAccounts, isEditable: true, isVisible: true },\n { role: UserRoles.SupplyChain, isEditable: true, isVisible: true },\n { role: UserRoles.ChannelPartner, isEditable: true, isVisible: true },\n { role: UserRoles.Distributor, isEditable: true, isVisible: true },\n { role: UserRoles.Agent, isEditable: true, isVisible: true },\n { role: UserRoles.CustomerService, isEditable: true, isVisible: true },\n { role: UserRoles.ProductManager, isEditable: true, isVisible: true },\n { role: UserRoles.ManagerSolutionsFactoryAndLocalization, isEditable: true, isVisible: true }\n ],\n\n SiteActivityEditableAccessArray: [\n { role: UserRoles.Admin, isEditable: true, isVisible: true },\n { role: UserRoles.SalesEngineer, isEditable: false, isVisible: false },\n { role: UserRoles.RegionalSalesManager, isEditable: false, isVisible: false },\n { role: UserRoles.AreaSalesManager, isEditable: false, isVisible: false },\n { role: UserRoles.L1, isEditable: false, isVisible: false },\n { role: UserRoles.L2, isEditable: false, isVisible: false },\n { role: UserRoles.L3, isEditable: false, isVisible: false },\n { role: UserRoles.BusinessDevelopment, isEditable: false, isVisible: false },\n { role: UserRoles.Marketing, isEditable: false, isVisible: false },\n { role: UserRoles.SalesDirector, isEditable: false, isVisible: false },\n { role: UserRoles.CEO, isEditable: false, isVisible: false },\n { role: UserRoles.ExecutiveBusinessAssistant, isEditable: false, isVisible: false },\n { role: UserRoles.FinanceAccounts, isEditable: false, isVisible: false },\n { role: UserRoles.SupplyChain, isEditable: false, isVisible: false },\n { role: UserRoles.ChannelPartner, isEditable: false, isVisible: false },\n { role: UserRoles.Distributor, isEditable: false, isVisible: false },\n { role: UserRoles.Agent, isEditable: false, isVisible: false },\n { role: UserRoles.CustomerService, isEditable: false, isVisible: false },\n { role: UserRoles.ProductManager, isEditable: false, isVisible: false },\n { role: UserRoles.ManagerSolutionsFactoryAndLocalization, isEditable: true, isVisible: true }\n ],\n \n QuoteGenearation_Enquiry_TechnicalDiscardArray: [\n { role: UserRoles.Admin, isEditable: true,isVisible: true },\n { role: UserRoles.SalesEngineer,isEditable: false, isVisible: false },\n { role: UserRoles.RegionalSalesManager, isEditable: false, isVisible: false },\n { role: UserRoles.AreaSalesManager, isEditable: false, isVisible: false },\n { role: UserRoles.L1, isEditable: true, isVisible: true },\n { role: UserRoles.L2, isEditable: true, isVisible: true },\n { role: UserRoles.L3, isEditable: true, isVisible: true },\n { role: UserRoles.BusinessDevelopment, isEditable: false, isVisible: false },\n { role: UserRoles.Marketing, isEditable: false, isVisible: false },\n { role: UserRoles.SalesDirector, isEditable: false, isVisible: false },\n { role: UserRoles.CEO, isEditable: false, isVisible: false },\n { role: UserRoles.ExecutiveBusinessAssistant, isEditable: false, isVisible: false },\n { role: UserRoles.FinanceAccounts, isEditable: false, isVisible: false },\n { role: UserRoles.SupplyChain, isEditable: false, isVisible: false },\n { role: UserRoles.ChannelPartner, isEditable: false, isVisible: false },\n { role: UserRoles.Distributor, isEditable: false, isVisible: false },\n { role: UserRoles.Agent, isEditable: false, isVisible: false },\n { role: UserRoles.CustomerService, isEditable: false, isVisible: false },\n { role: UserRoles.ProductManager, isEditable: false, isVisible: false },\n { role: UserRoles.ManagerSolutionsFactoryAndLocalization, isEditable: true, isVisible: true }\n ],\n\n ProductPriceEditableAccessArray: [\n { role: UserRoles.Admin, isEditable: true, isVisible: true },\n { role: UserRoles.SalesEngineer, isEditable: false, isVisible: false },\n { role: UserRoles.RegionalSalesManager, isEditable: false, isVisible: false },\n { role: UserRoles.AreaSalesManager, isEditable: false, isVisible: false },\n { role: UserRoles.L1, isEditable: false, isVisible: false },\n { role: UserRoles.L2, isEditable: false, isVisible: false },\n { role: UserRoles.L3, isEditable: false, isVisible: false },\n { role: UserRoles.BusinessDevelopment, isEditable: false, isVisible: false },\n { role: UserRoles.SalesDirector, isEditable: false, isVisible: false },\n { role: UserRoles.CEO, isEditable: false, isVisible: false },\n { role: UserRoles.ExecutiveBusinessAssistant, isEditable: false, isVisible: false },\n { role: UserRoles.FinanceAccounts, isEditable: true, isVisible: true },\n { role: UserRoles.SupplyChain, isEditable: false, isVisible: false },\n { role: UserRoles.ChannelPartner, isEditable: false, isVisible: false },\n { role: UserRoles.Distributor, isEditable: false, isVisible: false },\n { role: UserRoles.Marketing, isEditable: false, isVisible: false },\n { role: UserRoles.Agent, isEditable: false, isVisible: false },\n { role: UserRoles.CustomerService, isEditable: false, isVisible: false },\n { role: UserRoles.ProductManager, isEditable: true, isVisible: true },\n { role: UserRoles.ManagerSolutionsFactoryAndLocalization, isEditable: true, isVisible: true }\n ],\n //>\n\n ////#region Variable for Screens to Visible\n EnquiryForm_SubmitBySalesEngg: false,\n RFQ_SaveasDraftBySalesEngg: false,\n RFQ_SubmitBySalesEngg: false,\n QuoteGenearationAcceptByL1: false,\n QuoteGenearation_RemorkByL1: false,\n QuoteGenearation_EditRFQ: false,\n QuoteGenearation_GenerateQuote: false,\n QuoteGenearation_ForwardtoL2ByL1: false,\n QuoteGenearation_ForwardtoL3ByL2: false,\n QuoteGenearation_SaveasDraftByL1: false,\n QuoteGenearation_SaveasDraftByL2: false,\n QuoteGenearation_SaveasDraftByL3: false,\n QuoteGenearation_GenerateQuoteByL1: false,\n QuoteGenearation_GenerateQuoteByL2: false,\n QuoteGenearation_GenerateQuoteByL3: false,\n QuoteGenearation_SendtoL2ByL3: false,\n QuoteGenearation_SendtoL1ByL2: false,\n QuoteGenearation_SendtoCustomerServiceByL1: false,\n QuoteGenearation_SendforApprovalByCustomerService: false,\n ManagementApproval_RejectBySalesDirector: false,\n ManagementApproval_ApproveBySalesDirector: false,\n ManagementApproval_HoldBySalesDirector: false,\n ManagementApproval_SendQuotationforApprovalBySalesDirector: false,\n ManagementApproval_SendOrderforApprovalBySalesDirector: false,\n ManagementApproval_RejectByCEO: false,\n ManagementApproval_ApproveByCEO: false,\n ManagementApproval_HoldByCEO: false,\n QuoteGenearation_SendBOMProposalByL1: false,\n EnquiryConfirmation_QuoteRevision: false,\n EnquiryConfirmation_ConfimrOrderBySalesEngg: false,\n EnquiryConfirmation_SbmitBySalesEngg: false,\n ManagementApproval_SendOrderforApprovalByCustomerService: false,\n ManagementApproval_ReworkBySalesDirector: false,\n ManagementApproval_Order_ApproveBySalesDirector: false,\n ManagementApproval_Order_RejectBySalesDirector: false,\n ManagementApproval_SendforApprovalBySalesDirector: false,\n ManagementApproval_ReworkByCEO: false,\n ManagementApproval_Order_ApproveByCEO: false,\n ManagementApproval_Order_RejectByCEO: false,\n SO_SendtoSupplyChainByCustomerService: false,\n OrderAcknowledmentNo: false,\n MaterialReadyForDispatch: false,\n SupplyChain_SubmitBySupplyChain: false,\n Accounts_ConfimrOrderByAccounts: false,\n QuoteGenearation_Enquiry_TechnicalDiscard: false,\n QuoteGenearation_Enquiry_TechnicalDiscardbyL1: false,\n QuoteGenearation_Enquiry_TechnicalDiscardbyL2: false,\n QuoteGenearation_Enquiry_TechnicalDiscardbyL3: false,\n //#endregion\n ////#region Variables for Buttons to be Enable/Disable\n disable_EnquiryForm_SubmitBySalesEngg: false,\n disable_RFQ_SaveasDraftBySalesEngg: false,\n disable_RFQ_SubmitBySalesEngg: false,\n disable_QuoteGenearationAcceptByL1: false,\n disable_QuoteGenearation_RemorkByL1: false,\n disable_QuoteGenearation_EditRFQ: false,\n disable_QuoteGenearation_GenerateQuote: false,\n disable_QuoteGenearation_ForwardtoL2ByL1: false,\n disable_QuoteGenearation_ForwardtoL3ByL2: false,\n disable_QuoteGenearation_SaveasDraftByL1: false,\n disable_QuoteGenearation_SaveasDraftByL2: false,\n disable_QuoteGenearation_SaveasDraftByL3: false,\n disable_QuoteGenearation_GenerateQuoteByL1: false,\n disable_QuoteGenearation_GenerateQuoteByL2: false,\n disable_QuoteGenearation_GenerateQuoteByL3: false,\n disable_QuoteGenearation_SendtoL2ByL3: false,\n disable_QuoteGenearation_SendtoL1ByL2: false,\n disable_QuoteGenearation_SendtoCustomerServiceByL1: false,\n disable_QuoteGenearation_SendforApprovalByCustomerService: false,\n disable_ManagementApproval_RejectBySalesDirector: false,\n disable_ManagementApproval_ApproveBySalesDirector: false,\n disable_ManagementApproval_HoldBySalesDirector: false,\n disable_ManagementApproval_SendQuotationforApprovalBySalesDirector: false,\n disable_ManagementApproval_SendOrderforApprovalBySalesDirector: false,\n disable_ManagementApproval_RejectByCEO: false,\n disable_ManagementApproval_ApproveByCEO: false,\n disable_ManagementApproval_HoldByCEO: false,\n disable_QuoteGenearation_SendBOMProposalByL1: false,\n disable_EnquiryConfirmation_ConfimrOrderBySalesEngg: false,\n disable_EnquiryConfirmation_QuoteRevision: false,\n disable_EnquiryConfirmation_SbmitBySalesEngg: false,\n disable_ManagementApproval_SendOrderforApprovalByCustomerService: false,\n disable_ManagementApproval_ReworkBySalesDirector: false,\n disable_ManagementApproval_Order_ApproveBySalesDirector: false,\n disable_ManagementApproval_Order_RejectBySalesDirector: false,\n disable_ManagementApproval_SendforApprovalBySalesDirector: false,\n disable_ManagementApproval_ReworkByCEO: false,\n disable_ManagementApproval_Order_ApproveByCEO: false,\n disable_ManagementApproval_Order_RejectByCEO: false,\n disable_SO_SendtoSupplyChainByCustomerService: false,\n disable_OrderAcknowledmentNo: false,\n disable_SupplyChain_SubmitBySupplyChain: false,\n disable_Accounts_ConfimrOrderByAccounts: false,\n disable_QuoteGenearation_Enquiry_TechnicalDiscard: false,\n disable_QuoteGenearation_Enquiry_TechnicalDiscardbyL1: false,\n disable_QuoteGenearation_Enquiry_TechnicalDiscardbyL2: false,\n disable_QuoteGenearation_Enquiry_TechnicalDiscardbyL3: false,\n\n //#endregion\n\n isEnquiryFormEditable: false,\n isRFQEditable: false,\n isQuoteGenerationEditable: false,\n isManagementApprovalEditable: false,\n isCEOApprovalEditable: false,\n isOrderAcknowledgementEditable: false,\n isEnquiryConfirmationEditable: false,\n isSOEditable: false,\n isSupplychainEditable: false,\n isAccountsEditable: false,\n isOAGenerateEditable: false,\n\n\n appRoles: ['Admin', 'Supply Chain', 'Channel Partner', 'Distributor', 'Agent', 'Sales Engineer', 'Customer Service',\n 'L1', 'L2', 'L3', 'Business Development', 'Sales Director', 'CEO', 'Finance/Accounts',\n ],\n\n screensVisibleAccordingtoEnquiryStatus: [\n //Admin\n {\n role: UserRoles.Admin, \n screensForStatus: [\n\n /****************************************Add Edit Access to Admin for all screens************************************************* */\n //Sales Engg and Guest\n {\n status: EnquiryStatus.EnquiryAdded,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.RFQSaveAsDraft,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n\n {\n status: EnquiryStatus.QuotationRevision,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.RFQReworkbyL1,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.QuotationRejectedbyMngmt_SalesDirector,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.QuotationRejectedbyMngmt_CEO,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.SendBOMandProposal,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Enquiry Confirmation'],\n disableScreen: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n buttons: ['EnquiryConfirmation_ConfimrOrderBySalesEngg', 'EnquiryConfirmation_QuoteRevision'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg', 'EnquiryConfirmation_ConfimrOrderBySalesEngg', 'EnquiryConfirmation_QuoteRevision'],\n selectedIndex: 3\n },\n\n {\n status: EnquiryStatus.OrderRejectedbyMngmt_SalesDirector,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Enquiry Confirmation'],\n disableScreen: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n buttons: ['EnquiryConfirmation_ConfimrOrderBySalesEngg', 'EnquiryConfirmation_QuoteRevision'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg', 'EnquiryConfirmation_ConfimrOrderBySalesEngg', 'EnquiryConfirmation_QuoteRevision'],\n selectedIndex: 3\n },\n {\n status: EnquiryStatus.OrderRejectedbyMngmt_CEO,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Enquiry Confirmation'],\n disableScreen: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n buttons: ['EnquiryConfirmation_ConfimrOrderBySalesEngg', 'EnquiryConfirmation_QuoteRevision'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg', 'EnquiryConfirmation_ConfimrOrderBySalesEngg', 'EnquiryConfirmation_QuoteRevision'],\n selectedIndex: 3\n },\n \n //--------- changes ------\n {\n status: EnquiryStatus.EnquiryTechnicalDiscardbyL1,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.EnquiryTechnicalDiscardbyL2,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.EnquiryTechnicalDiscardbyL3,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n // ----------------------------------\n ///L1\n\n {\n status: EnquiryStatus.RFQSubmittedbySalesEngg,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['QuoteGenearationAcceptByL1', 'QuoteGenearation_RemorkByL1', 'QuoteGenearation_ForwardtoL2ByL1', 'QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote', 'QuoteGenearation_Enquiry_TechnicalDiscard'],\n visibleButtons: ['QuoteGenearationAcceptByL1', 'QuoteGenearation_RemorkByL1', 'QuoteGenearation_ForwardtoL2ByL1',\n 'QuoteGenearation_SendtoCustomerServiceByL1', 'QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote', 'QuoteGenearation_Enquiry_TechnicalDiscard'],\n selectedIndex: 2\n },\n {\n status: EnquiryStatus.RFQSubmittedbyL1,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['QuoteGenearation_RemorkByL1', 'QuoteGenearation_ForwardtoL2ByL1', 'QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote', 'QuoteGenearation_Enquiry_TechnicalDiscard'],\n visibleButtons: ['QuoteGenearationAcceptByL1', 'QuoteGenearation_RemorkByL1', 'QuoteGenearation_ForwardtoL2ByL1',\n 'QuoteGenearation_SendtoCustomerServiceByL1', 'QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote', 'QuoteGenearation_Enquiry_TechnicalDiscard'],\n selectedIndex: 2\n },\n {\n status: EnquiryStatus.RFQAcceptedbyL1,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['QuoteGenearation_RemorkByL1', 'QuoteGenearation_ForwardtoL2ByL1', 'QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote', 'QuoteGenearation_Enquiry_TechnicalDiscard'],\n visibleButtons: ['QuoteGenearationAcceptByL1', 'QuoteGenearation_RemorkByL1', 'QuoteGenearation_ForwardtoL2ByL1',\n 'QuoteGenearation_SendtoCustomerServiceByL1', 'QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote', 'QuoteGenearation_Enquiry_TechnicalDiscard'],\n selectedIndex: 2\n },\n {\n status: EnquiryStatus.QuotationSaveAsDraftbyL1,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote'],\n visibleButtons: ['QuoteGenearationAcceptByL1', 'QuoteGenearation_RemorkByL1', 'QuoteGenearation_ForwardtoL2ByL1',\n 'QuoteGenearation_SendtoCustomerServiceByL1', 'QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote', 'QuoteGenearation_Enquiry_TechnicalDiscard'],\n selectedIndex: 2\n },\n {\n status: EnquiryStatus.QuotationPriceOnRequestbyL1,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote'],\n visibleButtons: ['QuoteGenearationAcceptByL1', 'QuoteGenearation_RemorkByL1', 'QuoteGenearation_ForwardtoL2ByL1',\n 'QuoteGenearation_SendtoCustomerServiceByL1', 'QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote'],\n selectedIndex: 2\n },\n {\n status: EnquiryStatus.QuotationGeneratedbyL1,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['QuoteGenearation_SendtoCustomerServiceByL1', 'QuoteGenearation_EditRFQ'],\n visibleButtons: ['QuoteGenearationAcceptByL1', 'QuoteGenearation_RemorkByL1', 'QuoteGenearation_ForwardtoL2ByL1',\n 'QuoteGenearation_SendtoCustomerServiceByL1', 'QuoteGenearation_EditRFQ',],\n selectedIndex: 2\n },\n {\n status: EnquiryStatus. QuotationSendtoCustomerServicebyL1,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form'],\n buttons: [ 'QuoteGenearation_EditRFQ','QuoteGenearation_GenerateQuote'],\n visibleButtons: ['QuoteGenearationAcceptByL1', 'QuoteGenearation_RemorkByL1', 'QuoteGenearation_ForwardtoL2ByL1',\n 'QuoteGenearation_SendtoCustomerServiceByL1', 'QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote',\n ],\n selectedIndex: 2\n \n },\n {\n status: EnquiryStatus. QuotationSendtoCustomerServicebyL2,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form'],\n buttons: [ 'QuoteGenearation_EditRFQ','QuoteGenearation_GenerateQuote'],\n visibleButtons: ['QuoteGenearationAcceptByL2', 'QuoteGenearation_RemorkByL2', 'QuoteGenearation_ForwardtoL2ByL1',\n 'QuoteGenearation_SendtoCustomerServiceByL2', 'QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote',\n ],\n selectedIndex: 2\n },\n \n {\n status: EnquiryStatus. QuotationSendtoCustomerServicebyL3,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form'],\n buttons: [ 'QuoteGenearation_EditRFQ','QuoteGenearation_GenerateQuote'],\n visibleButtons: ['QuoteGenearationAcceptByL3', 'QuoteGenearation_RemorkByL3', 'QuoteGenearation_ForwardtoL2ByL1',\n 'QuoteGenearation_SendtoCustomerServiceByL3', 'QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote',\n ],\n selectedIndex: 2\n },\n {\n status: EnquiryStatus.QuotationsentbyL2toL1,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['QuoteGenearation_SendtoCustomerServiceByL1'],\n visibleButtons: ['QuoteGenearationAcceptByL1', 'QuoteGenearation_RemorkByL1', 'QuoteGenearation_ForwardtoL2ByL1',\n 'QuoteGenearation_SendtoCustomerServiceByL1'],\n selectedIndex: 2\n },\n {\n status: EnquiryStatus.RFQsentbyL1toL2,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['QuoteGenearation_ForwardtoL3ByL2', 'QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote', 'QuoteGenearation_Enquiry_TechnicalDiscard'],\n visibleButtons: ['QuoteGenearation_SendtoL1ByL2', 'QuoteGenearation_ForwardtoL3ByL2', 'QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote', 'QuoteGenearation_Enquiry_TechnicalDiscard'],\n selectedIndex: 2\n },\n // --------- changes ----------\n {\n status: EnquiryStatus.EnquiryTechnicalDiscardbyL1,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.EnquiryTechnicalDiscardbyL2,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form','RFQ'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.EnquiryTechnicalDiscardbyL3,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n // ----------------------------------\n \n //L2\n {\n status: EnquiryStatus.RFQSubmittedbyL2,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote', 'QuoteGenearation_ForwardtoL3ByL2', 'QuoteGenearation_Enquiry_TechnicalDiscard'],\n visibleButtons: ['QuoteGenearation_SendtoL1ByL2', 'QuoteGenearation_ForwardtoL3ByL2', 'QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote', 'QuoteGenearation_Enquiry_TechnicalDiscard'],\n selectedIndex: 2\n },\n {\n status: EnquiryStatus.QuotationSaveAsDraftbyL2,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote', 'QuoteGenearation_Enquiry_TechnicalDiscard'],\n visibleButtons: ['QuoteGenearation_SendtoL1ByL2', 'QuoteGenearation_ForwardtoL3ByL2', 'QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote', 'QuoteGenearation_Enquiry_TechnicalDiscard'],\n selectedIndex: 2\n },\n {\n status: EnquiryStatus.QuotationPriceOnRequestbyL2,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote'],\n visibleButtons: ['QuoteGenearation_SendtoL1ByL2', 'QuoteGenearation_ForwardtoL3ByL2', 'QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote'],\n selectedIndex: 2\n },\n {\n status: EnquiryStatus.QuotationGeneratedbyL2,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['QuoteGenearation_SendtoL1ByL2', 'QuoteGenearation_EditRFQ'],\n visibleButtons: ['QuoteGenearation_SendtoL1ByL2', 'QuoteGenearation_ForwardtoL3ByL2', 'QuoteGenearation_EditRFQ'],\n selectedIndex: 2\n },\n {\n status: EnquiryStatus.QuotationsentbyL3toL2,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['QuoteGenearation_SendtoL1ByL2'],\n visibleButtons: ['QuoteGenearation_SendtoL1ByL2', 'QuoteGenearation_ForwardtoL3ByL2'],\n selectedIndex: 2\n },\n {\n status: EnquiryStatus.RFQsentbyL2toL3,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: [, 'QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote', 'QuoteGenearation_Enquiry_TechnicalDiscard'],\n visibleButtons: ['QuoteGenearation_SendtoL2ByL3', 'QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote', 'QuoteGenearation_Enquiry_TechnicalDiscard'],\n selectedIndex: 2\n },\n \n // ----------- changes --------\n {\n status: EnquiryStatus.EnquiryTechnicalDiscardbyL1,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.EnquiryTechnicalDiscardbyL2,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.EnquiryTechnicalDiscardbyL3,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n // ----------------------------------\n \n ///L3\n {\n status: EnquiryStatus.RFQSubmittedbyL3,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote', 'QuoteGenearation_Enquiry_TechnicalDiscard'],\n visibleButtons: ['QuoteGenearation_SendtoL2ByL3', 'QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote', 'QuoteGenearation_Enquiry_TechnicalDiscard'],\n selectedIndex: 2\n },\n {\n status: EnquiryStatus.QuotationSaveAsDraftbyL3,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote', 'QuoteGenearation_Enquiry_TechnicalDiscard'],\n visibleButtons: ['QuoteGenearation_SendtoL2ByL3', 'QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote', 'QuoteGenearation_Enquiry_TechnicalDiscard'],\n selectedIndex: 2\n },\n {\n status: EnquiryStatus.QuotationPriceOnRequestbyL3,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote', 'QuoteGenearation_Enquiry_TechnicalDiscard'],\n visibleButtons: ['QuoteGenearation_SendtoL2ByL3', 'QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote', 'QuoteGenearation_Enquiry_TechnicalDiscard'],\n selectedIndex: 2\n },\n {\n status: EnquiryStatus.QuotationGeneratedbyL3,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['QuoteGenearation_SendtoL2ByL3', 'QuoteGenearation_EditRFQ'],\n visibleButtons: ['QuoteGenearation_SendtoL2ByL3', 'QuoteGenearation_EditRFQ'],\n selectedIndex: 2\n },\n \n // ------------------------ changes ------------\n {\n status: EnquiryStatus.EnquiryTechnicalDiscardbyL1,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.EnquiryTechnicalDiscardbyL2,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form','RFQ'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.EnquiryTechnicalDiscardbyL3,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n // ----------------------------------\n \n ///CustomerService\n {\n status: EnquiryStatus.RFQSubmittedbyCustomerService,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote'],\n visibleButtons: ['QuoteGenearation_SendforApprovalByCustomerService', 'QuoteGenearation_SendBOMProposalByL1',\n 'ManagementApproval_SendOrderforApprovalByCustomerService', 'QuoteGenearation_SendBOMProposalByL1', 'QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote',\n 'SO_SendtoSupplyChainByCustomerService'],\n selectedIndex: 2\n },\n {\n status: EnquiryStatus.QuotationSaveAsDraftbyCustomerService,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote'],\n visibleButtons: ['QuoteGenearation_SendforApprovalByCustomerService', 'QuoteGenearation_SendBOMProposalByL1',\n 'ManagementApproval_SendOrderforApprovalByCustomerService', 'QuoteGenearation_SendBOMProposalByL1', 'QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote',\n 'SO_SendtoSupplyChainByCustomerService'],\n selectedIndex: 2\n },\n {\n status: EnquiryStatus.QuotationPriceOnRequestbyCustomerService,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote'],\n visibleButtons: ['QuoteGenearation_SendforApprovalByCustomerService', 'QuoteGenearation_SendBOMProposalByL1',\n 'ManagementApproval_SendOrderforApprovalByCustomerService', 'QuoteGenearation_SendBOMProposalByL1', 'QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote',\n 'SO_SendtoSupplyChainByCustomerService'],\n selectedIndex: 2\n },\n {\n status: EnquiryStatus.QuotationGeneratedbyCustomerService,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['QuoteGenearation_SendforApprovalByCustomerService', 'QuoteGenearation_SendBOMProposalByL1', 'QuoteGenearation_EditRFQ'],\n visibleButtons: ['QuoteGenearation_SendforApprovalByCustomerService', 'QuoteGenearation_SendBOMProposalByL1',\n 'ManagementApproval_SendOrderforApprovalByCustomerService', 'QuoteGenearation_SendBOMProposalByL1', 'QuoteGenearation_EditRFQ',\n 'SO_SendtoSupplyChainByCustomerService'],\n selectedIndex: 2\n },\n // UPdate for workflow new screens\n {\n status: EnquiryStatus.QuotationSentForPriceDiscountApprovalToLevel1,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['QuoteGenearation_SendforApprovalByCustomerService', 'QuoteGenearation_SendBOMProposalByL1', 'QuoteGenearation_EditRFQ'],\n visibleButtons: ['QuoteGenearation_SendforApprovalByCustomerService', 'QuoteGenearation_SendBOMProposalByL1',\n 'ManagementApproval_SendOrderforApprovalByCustomerService', 'QuoteGenearation_SendBOMProposalByL1', 'QuoteGenearation_EditRFQ',\n 'SO_SendtoSupplyChainByCustomerService'],\n selectedIndex: 2\n },\n {\n status: EnquiryStatus.PriceDiscountApprovedByL1,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['QuoteGenearation_SendforApprovalByCustomerService', 'QuoteGenearation_SendBOMProposalByL1', 'QuoteGenearation_EditRFQ'],\n visibleButtons: ['QuoteGenearation_SendforApprovalByCustomerService', 'QuoteGenearation_SendBOMProposalByL1',\n 'ManagementApproval_SendOrderforApprovalByCustomerService', 'QuoteGenearation_SendBOMProposalByL1', 'QuoteGenearation_EditRFQ',\n 'SO_SendtoSupplyChainByCustomerService'],\n selectedIndex: 2\n },\n {\n status: EnquiryStatus.PriceDiscountApprovedByL2,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['QuoteGenearation_SendforApprovalByCustomerService', 'QuoteGenearation_SendBOMProposalByL1', 'QuoteGenearation_EditRFQ'],\n visibleButtons: ['QuoteGenearation_SendforApprovalByCustomerService', 'QuoteGenearation_SendBOMProposalByL1',\n 'ManagementApproval_SendOrderforApprovalByCustomerService', 'QuoteGenearation_SendBOMProposalByL1', 'QuoteGenearation_EditRFQ',\n 'SO_SendtoSupplyChainByCustomerService'],\n selectedIndex: 2\n },\n {\n status: EnquiryStatus.PriceDiscountApprovedByL3,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['QuoteGenearation_SendforApprovalByCustomerService', 'QuoteGenearation_SendBOMProposalByL1', 'QuoteGenearation_EditRFQ'],\n visibleButtons: ['QuoteGenearation_SendforApprovalByCustomerService', 'QuoteGenearation_SendBOMProposalByL1',\n 'ManagementApproval_SendOrderforApprovalByCustomerService', 'QuoteGenearation_SendBOMProposalByL1', 'QuoteGenearation_EditRFQ',\n 'SO_SendtoSupplyChainByCustomerService'],\n selectedIndex: 2\n },\n {\n status: EnquiryStatus.QuotationSentForPriceDiscountApprovalToLevel3,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['QuoteGenearation_SendforApprovalByCustomerService', 'QuoteGenearation_SendBOMProposalByL1', 'QuoteGenearation_EditRFQ'],\n visibleButtons: ['QuoteGenearation_SendforApprovalByCustomerService', 'QuoteGenearation_SendBOMProposalByL1',\n 'ManagementApproval_SendOrderforApprovalByCustomerService', 'QuoteGenearation_SendBOMProposalByL1', 'QuoteGenearation_EditRFQ',\n 'SO_SendtoSupplyChainByCustomerService'],\n selectedIndex: 2\n },\n {\n status: EnquiryStatus.QuotationSentForPriceDiscountApprovalToLevel2,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['QuoteGenearation_SendforApprovalByCustomerService', 'QuoteGenearation_SendBOMProposalByL1', 'QuoteGenearation_EditRFQ'],\n visibleButtons: ['QuoteGenearation_SendforApprovalByCustomerService', 'QuoteGenearation_SendBOMProposalByL1',\n 'ManagementApproval_SendOrderforApprovalByCustomerService', 'QuoteGenearation_SendBOMProposalByL1', 'QuoteGenearation_EditRFQ',\n 'SO_SendtoSupplyChainByCustomerService'],\n selectedIndex: 2\n },\n {\n status: EnquiryStatus.PriceDiscountRejectedByL1,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['QuoteGenearation_SendforApprovalByCustomerService', 'QuoteGenearation_SendBOMProposalByL1', 'QuoteGenearation_EditRFQ'],\n visibleButtons: ['QuoteGenearation_SendforApprovalByCustomerService', 'QuoteGenearation_SendBOMProposalByL1',\n 'ManagementApproval_SendOrderforApprovalByCustomerService', 'QuoteGenearation_SendBOMProposalByL1', 'QuoteGenearation_EditRFQ',\n 'SO_SendtoSupplyChainByCustomerService'],\n selectedIndex: 2\n },\n {\n status: EnquiryStatus.PriceDiscountRejectedByL2,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['QuoteGenearation_SendforApprovalByCustomerService', 'QuoteGenearation_SendBOMProposalByL1', 'QuoteGenearation_EditRFQ'],\n visibleButtons: ['QuoteGenearation_SendforApprovalByCustomerService', 'QuoteGenearation_SendBOMProposalByL1',\n 'ManagementApproval_SendOrderforApprovalByCustomerService', 'QuoteGenearation_SendBOMProposalByL1', 'QuoteGenearation_EditRFQ',\n 'SO_SendtoSupplyChainByCustomerService'],\n selectedIndex: 2\n }, \n {\n status: EnquiryStatus.PriceDiscountRejectedByL3,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['QuoteGenearation_SendforApprovalByCustomerService', 'QuoteGenearation_SendBOMProposalByL1', 'QuoteGenearation_EditRFQ'],\n visibleButtons: ['QuoteGenearation_SendforApprovalByCustomerService', 'QuoteGenearation_SendBOMProposalByL1',\n 'ManagementApproval_SendOrderforApprovalByCustomerService', 'QuoteGenearation_SendBOMProposalByL1', 'QuoteGenearation_EditRFQ',\n 'SO_SendtoSupplyChainByCustomerService'],\n selectedIndex: 2\n },\n// ============================================TILL HERE ========================\n {\n status: EnquiryStatus. QuotationSendtoCustomerServicebyL1,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form'],\n buttons: [ 'QuoteGenearation_EditRFQ','QuoteGenearation_GenerateQuote'],\n visibleButtons: ['QuoteGenearationAcceptByL1', 'QuoteGenearation_RemorkByL1', 'QuoteGenearation_ForwardtoL2ByL1',\n 'QuoteGenearation_SendtoCustomerServiceByL1', 'QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote',\n ],\n selectedIndex: 2\n \n },\n {\n status: EnquiryStatus. QuotationSendtoCustomerServicebyL2,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form'],\n buttons: [ 'QuoteGenearation_EditRFQ','QuoteGenearation_GenerateQuote'],\n visibleButtons: ['QuoteGenearationAcceptByL2', 'QuoteGenearation_RemorkByL2', 'QuoteGenearation_ForwardtoL2ByL1',\n 'QuoteGenearation_SendtoCustomerServiceByL2', 'QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote',\n ],\n selectedIndex: 2\n },\n \n {\n status: EnquiryStatus. QuotationSendtoCustomerServicebyL3,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form'],\n buttons: [ 'QuoteGenearation_EditRFQ','QuoteGenearation_GenerateQuote'],\n visibleButtons: ['QuoteGenearationAcceptByL3', 'QuoteGenearation_RemorkByL3', 'QuoteGenearation_ForwardtoL2ByL1',\n 'QuoteGenearation_SendtoCustomerServiceByL3', 'QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote',\n ],\n selectedIndex: 2\n },\n {\n status: EnquiryStatus.QuotationSenttoCustomerService,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['QuoteGenearation_SendforApprovalByCustomerService', 'QuoteGenearation_SendBOMProposalByL1', 'QuoteGenearation_EditRFQ'],\n visibleButtons: ['QuoteGenearation_SendforApprovalByCustomerService', 'QuoteGenearation_SendBOMProposalByL1',\n 'ManagementApproval_SendOrderforApprovalByCustomerService', 'QuoteGenearation_SendBOMProposalByL1', 'QuoteGenearation_EditRFQ',\n 'SO_SendtoSupplyChainByCustomerService'],\n selectedIndex: 2\n },\n {\n status: EnquiryStatus.QuotationApprovedbyMngmt_SalesDirector,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['QuoteGenearation_SendBOMProposalByL1'],\n visibleButtons: ['QuoteGenearation_SendBOMProposalByL1'],\n selectedIndex: 2\n },\n {\n status: EnquiryStatus.QuotationApprovedbyMngmt_CEO,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['QuoteGenearation_SendBOMProposalByL1'],\n visibleButtons: ['QuoteGenearation_SendBOMProposalByL1'],\n selectedIndex: 2\n },\n {\n status: EnquiryStatus.EnquiryOrderConfirmedbySalesEngg,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Enquiry Confirmation', 'Sales Order'],\n disableScreen: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Enquiry Confirmation'],\n buttons: ['ManagementApproval_SendOrderforApprovalByCustomerService', 'SO_SendtoSupplyChainByCustomerService'],\n visibleButtons: ['QuoteGenearation_SendforApprovalByCustomerService',\n 'ManagementApproval_SendOrderforApprovalByCustomerService',\n 'SO_SendtoSupplyChainByCustomerService'],\n selectedIndex: 4\n },\n {\n status: EnquiryStatus.OrderApprovedbyMngmt_SalesDirector,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Sales Order'],\n disableScreen: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n buttons: ['SO_SendtoSupplyChainByCustomerService'],\n visibleButtons: ['QuoteGenearation_SendforApprovalByCustomerService',\n 'ManagementApproval_SendOrderforApprovalByCustomerService',\n 'SO_SendtoSupplyChainByCustomerService'],\n selectedIndex: 3\n },\n {\n status: EnquiryStatus.OrderApprovedbyMngmt_CEO,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Sales Order'],\n disableScreen: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n buttons: ['SO_SendtoSupplyChainByCustomerService'],\n visibleButtons: ['QuoteGenearation_SendforApprovalByCustomerService',\n 'ManagementApproval_SendOrderforApprovalByCustomerService',\n 'SO_SendtoSupplyChainByCustomerService'],\n selectedIndex: 3\n },\n {\n status: EnquiryStatus.EnquiryTechnicalDiscardbyL1,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.EnquiryTechnicalDiscardbyL2,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.EnquiryTechnicalDiscardbyL3,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n // ----------------------------------\n /////Sales SalesDirector\n {\n status: EnquiryStatus.QuotationSentforMngtApproval_SalesDirector,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Management Approval'],\n disableScreen: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n buttons: ['ManagementApproval_RejectBySalesDirector', 'ManagementApproval_ApproveBySalesDirector', 'ManagementApproval_HoldBySalesDirector', 'ManagementApproval_SendQuotationforApprovalBySalesDirector'],\n visibleButtons: ['ManagementApproval_RejectBySalesDirector', 'ManagementApproval_ApproveBySalesDirector', 'ManagementApproval_HoldBySalesDirector', 'ManagementApproval_SendQuotationforApprovalBySalesDirector'],\n selectedIndex: 3\n },\n {\n status: EnquiryStatus.QuotationOnHoldbyMngmt_SalesDirector,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Management Approval'],\n disableScreen: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n buttons: ['ManagementApproval_RejectBySalesDirector', 'ManagementApproval_ApproveBySalesDirector', 'ManagementApproval_SendQuotationforApprovalBySalesDirector'],\n visibleButtons: ['ManagementApproval_RejectBySalesDirector', 'ManagementApproval_ApproveBySalesDirector', 'ManagementApproval_HoldBySalesDirector', 'ManagementApproval_SendQuotationforApprovalBySalesDirector'],\n selectedIndex: 3\n },\n {\n status: EnquiryStatus.OrdersentforMngmtApproval_SalesDirector,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Enquiry Confirmation', 'Sales Order', 'Management Approval'],\n disableScreen: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Enquiry Confirmation', 'Sales Order'],\n buttons: ['ManagementApproval_Order_ApproveBySalesDirector', 'ManagementApproval_Order_RejectBySalesDirector', 'ManagementApproval_SendforApprovalBySalesDirector', 'ManagementApproval_SendOrderforApprovalBySalesDirector'],\n visibleButtons: ['ManagementApproval_Order_ApproveBySalesDirector', 'ManagementApproval_Order_RejectBySalesDirector', 'ManagementApproval_SendforApprovalBySalesDirector', 'ManagementApproval_SendOrderforApprovalBySalesDirector'],\n selectedIndex: 5\n },\n {\n status: EnquiryStatus.QuotationRejectedbyMngmt_SalesDirector,\n screens: ['Enquiry Form', 'RFQ', 'Management Approval'],\n disableScreen: ['Enquiry Form', 'RFQ', 'Management Approval'],\n buttons: [],\n visibleButtons: [],\n selectedIndex: 2\n },\n {\n status: EnquiryStatus.QuotationApprovedbyMngmt_SalesDirector,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Management Approval'],\n disableScreen: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Management Approval'],\n buttons: [],\n visibleButtons: [],\n selectedIndex: 3\n },\n\n {\n status: EnquiryStatus.OrderRejectedbyMngmt_SalesDirector,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Management Approval'],\n disableScreen: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Management Approval'],\n buttons: [],\n visibleButtons: [],\n selectedIndex: 3\n },\n {\n status: EnquiryStatus.OrdersentforMngmtApproval_CEO,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Enquiry Confirmation', 'Sales Order', 'Management Approval'],\n disableScreen: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Enquiry Confirmation', 'Sales Order', 'Management Approval'],\n buttons: [],\n visibleButtons: [],\n selectedIndex: 5\n },\n ////CEO\n {\n status: EnquiryStatus.QuotationSentforMngmtApproval_CEO,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Management Approval', 'CEO Approval'],\n disableScreen: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Management Approval'],\n buttons: ['ManagementApproval_RejectByCEO', 'ManagementApproval_ApproveByCEO', 'ManagementApproval_HoldByCEO'],\n visibleButtons: ['ManagementApproval_RejectByCEO', 'ManagementApproval_ApproveByCEO', 'ManagementApproval_HoldByCEO'],\n selectedIndex: 4\n },\n {\n status: EnquiryStatus.QuotationOnHoldbyMngmt_CEO,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Management Approval', 'CEO Approval'],\n disableScreen: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Management Approval'],\n buttons: ['ManagementApproval_RejectByCEO', 'ManagementApproval_ApproveByCEO'],\n visibleButtons: ['ManagementApproval_RejectByCEO', 'ManagementApproval_ApproveByCEO', 'ManagementApproval_HoldByCEO'],\n selectedIndex: 4\n },\n // {\n // status: EnquiryStatus.OrdersentforMngmtApproval_CEO,\n // screens: ['Enquiry Form', 'RFQ', 'Quote Generation','Enquiry Confirmation','Sales Order','Management Approval' , 'CEO Approval'],\n // disableScreen: ['Enquiry Form', 'RFQ', 'Quote Generation','Enquiry Confirmation','Sales Order','Management Approval'],\n // buttons: ['ManagementApproval_Order_ApproveByCEO', 'ManagementApproval_Order_RejectByCEO'],\n // visibleButtons: ['ManagementApproval_Order_ApproveByCEO', 'ManagementApproval_Order_RejectByCEO'],\n // selectedIndex: 6\n // }\n\n\n\n ////FINANCE ACCOUNTS\n {\n status: EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Enquiry Confirmation', 'Sales Order', 'OAGenerate'],\n disableScreen: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Enquiry Confirmation', 'Sales Order'],\n buttons: ['OrderAcknowledmentNo'],\n visibleButtons: ['OrderAcknowledmentNo'],\n selectedIndex: 5\n },\n\n {\n status: EnquiryStatus.MaterialReadyForDispatch,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Enquiry Confirmation', 'Sales Order', 'OAGenerate', 'Supply Chain', 'Accounts'],\n disableScreen: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Enquiry Confirmation', 'Sales Order', 'OAGenerate', 'Supply Chain'],\n buttons: ['Accounts_ConfimrOrderByAccounts'],\n visibleButtons: ['Accounts_ConfimrOrderByAccounts'],\n selectedIndex: 7\n },\n\n\n //SUPPLY CHAIN\n\n // {\n // status: EnquiryStatus.OANoGenerated,\n // screens: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Enquiry Confirmation','Sales Order', 'OAGenerate','Supply Chain'],\n // disableScreen: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Enquiry Confirmation','Sales Order', 'OAGenerate'],\n // buttons: ['SupplyChain_SubmitBySupplyChain'],\n // visibleButtons: ['SupplyChain_SubmitBySupplyChain'],\n // selectedIndex: 6\n // },\n {\n status: EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Enquiry Confirmation', 'Sales Order', 'OAGenerate', 'Supply Chain'],\n disableScreen: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Enquiry Confirmation', 'Sales Order', 'OAGenerate'],\n buttons: ['MaterialReadyForDispatch'],\n visibleButtons: ['MaterialReadyForDispatch'],\n selectedIndex: 6\n },\n\n /***************************************************************************************** */\n ]\n },\n //SALES ENGINEER\n {\n role: UserRoles.SalesEngineer,\n screensForStatus: [\n {\n status: EnquiryStatus.EnquiryAdded,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.RFQSaveAsDraft,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n\n {\n status: EnquiryStatus.QuotationRevision,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.RFQReworkbyL1,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.QuotationRejectedbyMngmt_SalesDirector,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.QuotationRejectedbyMngmt_CEO,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.SendBOMandProposal,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Enquiry Confirmation'],\n disableScreen: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n buttons: ['EnquiryConfirmation_ConfimrOrderBySalesEngg', 'EnquiryConfirmation_QuoteRevision'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg', 'EnquiryConfirmation_ConfimrOrderBySalesEngg', 'EnquiryConfirmation_QuoteRevision'],\n selectedIndex: 3\n },\n\n {\n status: EnquiryStatus.EnquiryLost,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Enquiry Confirmation'],\n disableScreen: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Enquiry Confirmation'],\n buttons: [],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 3\n },\n {\n status: EnquiryStatus.OrderRejectedbyMngmt_SalesDirector,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Enquiry Confirmation'],\n disableScreen: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n buttons: ['EnquiryConfirmation_ConfimrOrderBySalesEngg', 'EnquiryConfirmation_QuoteRevision'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg', 'EnquiryConfirmation_ConfimrOrderBySalesEngg', 'EnquiryConfirmation_QuoteRevision'],\n selectedIndex: 3\n },\n {\n status: EnquiryStatus.OrderRejectedbyMngmt_CEO,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Enquiry Confirmation'],\n disableScreen: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n buttons: ['EnquiryConfirmation_ConfimrOrderBySalesEngg', 'EnquiryConfirmation_QuoteRevision'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg', 'EnquiryConfirmation_ConfimrOrderBySalesEngg', 'EnquiryConfirmation_QuoteRevision'],\n selectedIndex: 3\n },\n\n //---------- changes ----------\n {\n status: EnquiryStatus.EnquiryTechnicalDiscardbyL1,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.EnquiryTechnicalDiscardbyL2,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.EnquiryTechnicalDiscardbyL3,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n //------- completed ----------------\n ]\n },\n\n //REGIONAL SALES MANAGER\n {\n role: UserRoles.RegionalSalesManager,\n screensForStatus: [\n {\n status: EnquiryStatus.EnquiryAdded,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.RFQSaveAsDraft,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.QuotationRevision,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.RFQReworkbyL1,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.QuotationRejectedbyMngmt_SalesDirector,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.QuotationRejectedbyMngmt_CEO,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.SendBOMandProposal,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Enquiry Confirmation'],\n disableScreen: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n buttons: ['EnquiryConfirmation_ConfimrOrderBySalesEngg', 'EnquiryConfirmation_QuoteRevision'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg', 'EnquiryConfirmation_ConfimrOrderBySalesEngg', 'EnquiryConfirmation_QuoteRevision'],\n selectedIndex: 3\n },\n {\n status: EnquiryStatus.EnquiryLost,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Enquiry Confirmation'],\n disableScreen: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Enquiry Confirmation'],\n buttons: [],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 3\n },\n {\n status: EnquiryStatus.OrderRejectedbyMngmt_SalesDirector,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Enquiry Confirmation'],\n disableScreen: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n buttons: ['EnquiryConfirmation_ConfimrOrderBySalesEngg', 'EnquiryConfirmation_QuoteRevision'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg', 'EnquiryConfirmation_ConfimrOrderBySalesEngg', 'EnquiryConfirmation_QuoteRevision'],\n selectedIndex: 3\n },\n {\n status: EnquiryStatus.OrderRejectedbyMngmt_CEO,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Enquiry Confirmation'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['EnquiryConfirmation_ConfimrOrderBySalesEngg', 'EnquiryConfirmation_QuoteRevision'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg', 'EnquiryConfirmation_ConfimrOrderBySalesEngg', 'EnquiryConfirmation_QuoteRevision'],\n selectedIndex: 3\n },\n //---------- changes ----------\n {\n status: EnquiryStatus.EnquiryTechnicalDiscardbyL1,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.EnquiryTechnicalDiscardbyL2,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.EnquiryTechnicalDiscardbyL3,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n //------- completed ----------------\n\n ]\n },\n //AREA SALES MANAGER\n {\n role: UserRoles.AreaSalesManager,\n screensForStatus: [\n {\n status: EnquiryStatus.EnquiryAdded,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.RFQSaveAsDraft,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.QuotationRevision,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.RFQReworkbyL1,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.QuotationRejectedbyMngmt_SalesDirector,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.QuotationRejectedbyMngmt_CEO,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.SendBOMandProposal,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Enquiry Confirmation'],\n disableScreen: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n buttons: ['EnquiryConfirmation_ConfimrOrderBySalesEngg', 'EnquiryConfirmation_QuoteRevision'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg', 'EnquiryConfirmation_ConfimrOrderBySalesEngg', 'EnquiryConfirmation_QuoteRevision'],\n selectedIndex: 3\n },\n {\n status: EnquiryStatus.EnquiryLost,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Enquiry Confirmation'],\n disableScreen: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Enquiry Confirmation'],\n buttons: [],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 3\n },\n {\n status: EnquiryStatus.OrderRejectedbyMngmt_SalesDirector,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Enquiry Confirmation'],\n disableScreen: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n buttons: ['EnquiryConfirmation_ConfimrOrderBySalesEngg', 'EnquiryConfirmation_QuoteRevision'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg', 'EnquiryConfirmation_ConfimrOrderBySalesEngg', 'EnquiryConfirmation_QuoteRevision'],\n selectedIndex: 3\n },\n {\n status: EnquiryStatus.OrderRejectedbyMngmt_CEO,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Enquiry Confirmation'],\n disableScreen: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n buttons: ['EnquiryConfirmation_ConfimrOrderBySalesEngg', 'EnquiryConfirmation_QuoteRevision'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg', 'EnquiryConfirmation_ConfimrOrderBySalesEngg', 'EnquiryConfirmation_QuoteRevision'],\n selectedIndex: 3\n },\n\n //---------- changes ----------\n {\n status: EnquiryStatus.EnquiryTechnicalDiscardbyL1,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.EnquiryTechnicalDiscardbyL2,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.EnquiryTechnicalDiscardbyL3,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n //------- completed ----------------\n ]\n },\n // Executive Business Assistant\n {\n role: UserRoles.ExecutiveBusinessAssistant,\n screensForStatus: [\n {\n status: EnquiryStatus.EnquiryAdded,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.RFQSaveAsDraft,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n\n {\n status: EnquiryStatus.QuotationRevision,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.RFQReworkbyL1,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.QuotationRejectedbyMngmt_SalesDirector,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.QuotationRejectedbyMngmt_CEO,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.SendBOMandProposal,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Enquiry Confirmation'],\n disableScreen: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n buttons: ['EnquiryConfirmation_ConfimrOrderBySalesEngg', 'EnquiryConfirmation_QuoteRevision'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg', 'EnquiryConfirmation_ConfimrOrderBySalesEngg', 'EnquiryConfirmation_QuoteRevision'],\n selectedIndex: 3\n },\n\n {\n status: EnquiryStatus.EnquiryLost,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Enquiry Confirmation'],\n disableScreen: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Enquiry Confirmation'],\n buttons: [],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 3\n },\n {\n status: EnquiryStatus.OrderRejectedbyMngmt_SalesDirector,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Enquiry Confirmation'],\n disableScreen: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n buttons: ['EnquiryConfirmation_ConfimrOrderBySalesEngg', 'EnquiryConfirmation_QuoteRevision'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg', 'EnquiryConfirmation_ConfimrOrderBySalesEngg', 'EnquiryConfirmation_QuoteRevision'],\n selectedIndex: 3\n },\n {\n status: EnquiryStatus.OrderRejectedbyMngmt_CEO,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Enquiry Confirmation'],\n disableScreen: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n buttons: ['EnquiryConfirmation_ConfimrOrderBySalesEngg', 'EnquiryConfirmation_QuoteRevision'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg', 'EnquiryConfirmation_ConfimrOrderBySalesEngg', 'EnquiryConfirmation_QuoteRevision'],\n selectedIndex: 3\n },\n\n //---------- changes ----------\n {\n status: EnquiryStatus.EnquiryTechnicalDiscardbyL1,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.EnquiryTechnicalDiscardbyL2,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.EnquiryTechnicalDiscardbyL3,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n //------- completed ----------------\n ]\n },\n\n //CHANNEL PARTNER\n {\n role: UserRoles.ChannelPartner,\n screensForStatus: [\n {\n status: EnquiryStatus.EnquiryAdded,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.RFQSaveAsDraft,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.QuotationRevision,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.RFQReworkbyL1,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.QuotationRejectedbyMngmt_SalesDirector,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.QuotationRejectedbyMngmt_CEO,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.SendBOMandProposal,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Enquiry Confirmation'],\n disableScreen: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n buttons: ['EnquiryConfirmation_ConfimrOrderBySalesEngg', 'EnquiryConfirmation_QuoteRevision'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg', 'EnquiryConfirmation_ConfimrOrderBySalesEngg', 'EnquiryConfirmation_QuoteRevision'],\n selectedIndex: 3\n },\n {\n status: EnquiryStatus.EnquiryLost,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Enquiry Confirmation'],\n disableScreen: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Enquiry Confirmation'],\n buttons: [],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 3\n },\n {\n status: EnquiryStatus.OrderRejectedbyMngmt_SalesDirector,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Enquiry Confirmation'],\n disableScreen: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n buttons: ['EnquiryConfirmation_ConfimrOrderBySalesEngg', 'EnquiryConfirmation_QuoteRevision'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg', 'EnquiryConfirmation_ConfimrOrderBySalesEngg', 'EnquiryConfirmation_QuoteRevision'],\n selectedIndex: 3\n },\n {\n status: EnquiryStatus.OrderRejectedbyMngmt_CEO,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Enquiry Confirmation'],\n disableScreen: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n buttons: ['EnquiryConfirmation_ConfimrOrderBySalesEngg', 'EnquiryConfirmation_QuoteRevision'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg', 'EnquiryConfirmation_ConfimrOrderBySalesEngg', 'EnquiryConfirmation_QuoteRevision'],\n selectedIndex: 3\n },\n //---------- changes ----------\n {\n status: EnquiryStatus.EnquiryTechnicalDiscardbyL1,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.EnquiryTechnicalDiscardbyL2,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.EnquiryTechnicalDiscardbyL3,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n //------- completed ----------------\n ]\n },\n //DISTRIBUTOR\n {\n role: UserRoles.Distributor,\n screensForStatus: [\n {\n status: EnquiryStatus.EnquiryAdded,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.RFQSaveAsDraft,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.QuotationRevision,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.RFQReworkbyL1,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.QuotationRejectedbyMngmt_SalesDirector,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.QuotationRejectedbyMngmt_CEO,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.SendBOMandProposal,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Enquiry Confirmation'],\n disableScreen: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n buttons: ['EnquiryConfirmation_ConfimrOrderBySalesEngg', 'EnquiryConfirmation_QuoteRevision'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg', 'EnquiryConfirmation_ConfimrOrderBySalesEngg', 'EnquiryConfirmation_QuoteRevision'],\n selectedIndex: 3\n },\n {\n status: EnquiryStatus.EnquiryLost,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Enquiry Confirmation'],\n disableScreen: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Enquiry Confirmation'],\n buttons: [],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 3\n },\n {\n status: EnquiryStatus.OrderRejectedbyMngmt_SalesDirector,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Enquiry Confirmation'],\n disableScreen: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n buttons: ['EnquiryConfirmation_ConfimrOrderBySalesEngg', 'EnquiryConfirmation_QuoteRevision'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg', 'EnquiryConfirmation_ConfimrOrderBySalesEngg', 'EnquiryConfirmation_QuoteRevision'],\n selectedIndex: 3\n },\n {\n status: EnquiryStatus.OrderRejectedbyMngmt_CEO,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Enquiry Confirmation'],\n disableScreen: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n buttons: ['EnquiryConfirmation_ConfimrOrderBySalesEngg', 'EnquiryConfirmation_QuoteRevision'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg', 'EnquiryConfirmation_ConfimrOrderBySalesEngg', 'EnquiryConfirmation_QuoteRevision'],\n selectedIndex: 3\n },\n //---------- changes ----------\n {\n status: EnquiryStatus.EnquiryTechnicalDiscardbyL1,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.EnquiryTechnicalDiscardbyL2,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.EnquiryTechnicalDiscardbyL3,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n //------- completed ----------------\n ]\n },\n //AGENT\n {\n role: UserRoles.Agent,\n screensForStatus: [\n {\n status: EnquiryStatus.EnquiryAdded,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.RFQSaveAsDraft,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.QuotationRevision,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.RFQReworkbyL1,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.QuotationRejectedbyMngmt_SalesDirector,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.QuotationRejectedbyMngmt_CEO,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.SendBOMandProposal,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Enquiry Confirmation'],\n disableScreen: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n buttons: ['EnquiryConfirmation_ConfimrOrderBySalesEngg', 'EnquiryConfirmation_QuoteRevision'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg', 'EnquiryConfirmation_ConfimrOrderBySalesEngg', 'EnquiryConfirmation_QuoteRevision'],\n selectedIndex: 3\n },\n {\n status: EnquiryStatus.EnquiryLost,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Enquiry Confirmation'],\n disableScreen: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Enquiry Confirmation'],\n buttons: [],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 3\n },\n {\n status: EnquiryStatus.OrderRejectedbyMngmt_SalesDirector,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Enquiry Confirmation'],\n disableScreen: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n buttons: ['EnquiryConfirmation_ConfimrOrderBySalesEngg', 'EnquiryConfirmation_QuoteRevision'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg', 'EnquiryConfirmation_ConfimrOrderBySalesEngg', 'EnquiryConfirmation_QuoteRevision'],\n selectedIndex: 3\n },\n {\n status: EnquiryStatus.OrderRejectedbyMngmt_CEO,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Enquiry Confirmation'],\n disableScreen: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n buttons: ['EnquiryConfirmation_ConfimrOrderBySalesEngg', 'EnquiryConfirmation_QuoteRevision'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg', 'EnquiryConfirmation_ConfimrOrderBySalesEngg', 'EnquiryConfirmation_QuoteRevision'],\n selectedIndex: 3\n },\n //---------- changes ----------\n {\n status: EnquiryStatus.EnquiryTechnicalDiscardbyL1,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.EnquiryTechnicalDiscardbyL2,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.EnquiryTechnicalDiscardbyL3,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n //------- completed ----------------\n ]\n },\n //L1\n {\n role: UserRoles.L1,\n screensForStatus: [\n //////////////////////////Changes//////////////////////////////////////////////////////////\n {\n status: EnquiryStatus.QuotationRevision,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.SendBOMandProposal,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Enquiry Confirmation'],\n disableScreen: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n buttons: ['EnquiryConfirmation_ConfimrOrderBySalesEngg', 'EnquiryConfirmation_QuoteRevision'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg', 'EnquiryConfirmation_ConfimrOrderBySalesEngg', 'EnquiryConfirmation_QuoteRevision'],\n selectedIndex: 3\n },\n //----------------- changes --------\n {\n status: EnquiryStatus.EnquiryTechnicalDiscardbyL1,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.EnquiryTechnicalDiscardbyL2,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.EnquiryTechnicalDiscardbyL3,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n // ----------------------------------\n /////////////////////////////////////////////////////////////////////////////////////////////\n {\n status: EnquiryStatus.RFQSubmittedbySalesEngg,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['QuoteGenearationAcceptByL1', 'QuoteGenearation_RemorkByL1', 'QuoteGenearation_ForwardtoL2ByL1', 'QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote', 'QuoteGenearation_Enquiry_TechnicalDiscard'],\n visibleButtons: ['QuoteGenearationAcceptByL1', 'QuoteGenearation_RemorkByL1', 'QuoteGenearation_ForwardtoL2ByL1',\n 'QuoteGenearation_SendtoCustomerServiceByL1', 'QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote', 'QuoteGenearation_Enquiry_TechnicalDiscard'],\n selectedIndex: 2\n },\n {\n status: EnquiryStatus.RFQSubmittedbyL1,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['QuoteGenearation_RemorkByL1', 'QuoteGenearation_ForwardtoL2ByL1', 'QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote', 'QuoteGenearation_Enquiry_TechnicalDiscard'],\n visibleButtons: ['QuoteGenearationAcceptByL1', 'QuoteGenearation_RemorkByL1', 'QuoteGenearation_ForwardtoL2ByL1',\n 'QuoteGenearation_SendtoCustomerServiceByL1', 'QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote', 'QuoteGenearation_Enquiry_TechnicalDiscard'],\n selectedIndex: 2\n },\n {\n status: EnquiryStatus.RFQAcceptedbyL1,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['QuoteGenearation_RemorkByL1', 'QuoteGenearation_ForwardtoL2ByL1', 'QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote'],\n visibleButtons: ['QuoteGenearationAcceptByL1', 'QuoteGenearation_RemorkByL1', 'QuoteGenearation_ForwardtoL2ByL1',\n 'QuoteGenearation_SendtoCustomerServiceByL1', 'QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote'],\n selectedIndex: 2\n },\n {\n status: EnquiryStatus.QuotationSaveAsDraftbyL1,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote'],\n visibleButtons: ['QuoteGenearationAcceptByL1', 'QuoteGenearation_RemorkByL1', 'QuoteGenearation_ForwardtoL2ByL1',\n 'QuoteGenearation_SendtoCustomerServiceByL1', 'QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote'],\n selectedIndex: 2\n },\n {\n status: EnquiryStatus.QuotationPriceOnRequestbyL1,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote'],\n visibleButtons: ['QuoteGenearationAcceptByL1', 'QuoteGenearation_RemorkByL1', 'QuoteGenearation_ForwardtoL2ByL1',\n 'QuoteGenearation_SendtoCustomerServiceByL1', 'QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote'],\n selectedIndex: 2\n },\n {\n status: EnquiryStatus.QuotationGeneratedbyL1,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['QuoteGenearation_SendtoCustomerServiceByL1', 'QuoteGenearation_EditRFQ'],\n visibleButtons: ['QuoteGenearationAcceptByL1', 'QuoteGenearation_RemorkByL1', 'QuoteGenearation_ForwardtoL2ByL1',\n 'QuoteGenearation_SendtoCustomerServiceByL1', 'QuoteGenearation_EditRFQ',],\n selectedIndex: 2\n },\n {\n status: EnquiryStatus. QuotationSendtoCustomerServicebyL1,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form'],\n buttons: [ 'QuoteGenearation_EditRFQ','QuoteGenearation_GenerateQuote'],\n visibleButtons: ['QuoteGenearationAcceptByL1', 'QuoteGenearation_RemorkByL1', 'QuoteGenearation_ForwardtoL2ByL1',\n 'QuoteGenearation_SendtoCustomerServiceByL1', 'QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote',\n ],\n selectedIndex: 2\n \n },\n {\n status: EnquiryStatus. QuotationSendtoCustomerServicebyL2,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form'],\n buttons: [ 'QuoteGenearation_EditRFQ','QuoteGenearation_GenerateQuote'],\n visibleButtons: ['QuoteGenearationAcceptByL2', 'QuoteGenearation_RemorkByL2', 'QuoteGenearation_ForwardtoL2ByL1',\n 'QuoteGenearation_SendtoCustomerServiceByL2', 'QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote',\n ],\n selectedIndex: 2\n },\n \n {\n status: EnquiryStatus. QuotationSendtoCustomerServicebyL3,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form'],\n buttons: [ 'QuoteGenearation_EditRFQ','QuoteGenearation_GenerateQuote'],\n visibleButtons: ['QuoteGenearationAcceptByL3', 'QuoteGenearation_RemorkByL3', 'QuoteGenearation_ForwardtoL2ByL1',\n 'QuoteGenearation_SendtoCustomerServiceByL3', 'QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote',\n ],\n selectedIndex: 2\n },\n \n {\n status: EnquiryStatus.QuotationsentbyL2toL1,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['QuoteGenearation_SendtoCustomerServiceByL1'],\n visibleButtons: ['QuoteGenearationAcceptByL1', 'QuoteGenearation_RemorkByL1', 'QuoteGenearation_ForwardtoL2ByL1',\n 'QuoteGenearation_SendtoCustomerServiceByL1'],\n selectedIndex: 2\n },\n\n\n ]\n },\n //L2\n {\n role: UserRoles.L2,\n screensForStatus: [\n\n {\n status: EnquiryStatus.QuotationRevision,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.SendBOMandProposal,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Enquiry Confirmation'],\n disableScreen: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n buttons: ['EnquiryConfirmation_ConfimrOrderBySalesEngg', 'EnquiryConfirmation_QuoteRevision'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg', 'EnquiryConfirmation_ConfimrOrderBySalesEngg', 'EnquiryConfirmation_QuoteRevision'],\n selectedIndex: 3\n },\n // --------------- changes ---------------------\n {\n status: EnquiryStatus.EnquiryTechnicalDiscardbyL1,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.EnquiryTechnicalDiscardbyL2,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.EnquiryTechnicalDiscardbyL3,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n // ----------------------------------\n ///////////////////////////////////////////////////////////////////////////////////////////////////\n {\n status: EnquiryStatus.RFQsentbyL1toL2,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['QuoteGenearation_ForwardtoL3ByL2', 'QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote', 'QuoteGenearation_Enquiry_TechnicalDiscard'],\n visibleButtons: ['QuoteGenearation_SendtoL1ByL2', 'QuoteGenearation_ForwardtoL3ByL2', 'QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote', 'QuoteGenearation_Enquiry_TechnicalDiscard'],\n selectedIndex: 2\n },\n {\n status: EnquiryStatus.RFQSubmittedbyL2,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote', 'QuoteGenearation_ForwardtoL3ByL2', 'QuoteGenearation_Enquiry_TechnicalDiscard'],\n visibleButtons: ['QuoteGenearation_SendtoL1ByL2', 'QuoteGenearation_ForwardtoL3ByL2', 'QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote', 'QuoteGenearation_Enquiry_TechnicalDiscard'],\n selectedIndex: 2\n },\n {\n status: EnquiryStatus.QuotationSaveAsDraftbyL2,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote'],\n visibleButtons: ['QuoteGenearation_SendtoL1ByL2', 'QuoteGenearation_ForwardtoL3ByL2', 'QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote'],\n selectedIndex: 2\n },\n {\n status: EnquiryStatus.QuotationPriceOnRequestbyL2,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote'],\n visibleButtons: ['QuoteGenearation_SendtoL1ByL2', 'QuoteGenearation_ForwardtoL3ByL2', 'QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote'],\n selectedIndex: 2\n },\n {\n status: EnquiryStatus.QuotationGeneratedbyL2,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['QuoteGenearation_SendtoL1ByL2', 'QuoteGenearation_EditRFQ'],\n visibleButtons: ['QuoteGenearation_SendtoL1ByL2', 'QuoteGenearation_ForwardtoL3ByL2', 'QuoteGenearation_EditRFQ'],\n selectedIndex: 2\n },\n {\n status: EnquiryStatus.QuotationsentbyL3toL2,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['QuoteGenearation_SendtoL1ByL2'],\n visibleButtons: ['QuoteGenearation_SendtoL1ByL2', 'QuoteGenearation_ForwardtoL3ByL2'],\n selectedIndex: 2\n }\n ]\n },\n //L3\n {\n role: UserRoles.L3,\n screensForStatus: [\n //////////////////////////Changes//////////////////////////////////////////////////////////\n {\n status: EnquiryStatus.QuotationRevision,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.SendBOMandProposal,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Enquiry Confirmation'],\n disableScreen: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n buttons: ['EnquiryConfirmation_ConfimrOrderBySalesEngg', 'EnquiryConfirmation_QuoteRevision'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg', 'EnquiryConfirmation_ConfimrOrderBySalesEngg', 'EnquiryConfirmation_QuoteRevision'],\n selectedIndex: 3\n },\n // -------------------- changes ---------\n {\n status: EnquiryStatus.EnquiryTechnicalDiscardbyL1,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.EnquiryTechnicalDiscardbyL2,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.EnquiryTechnicalDiscardbyL3,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n // ----------------------------------\n\n /////////////////////////////////////////////////////////////////////////////////////////////\n {\n status: EnquiryStatus.RFQsentbyL2toL3,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: [, 'QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote', 'QuoteGenearation_Enquiry_TechnicalDiscard'],\n visibleButtons: ['QuoteGenearation_SendtoL2ByL3', 'QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote', 'QuoteGenearation_Enquiry_TechnicalDiscard'],\n selectedIndex: 2\n },\n {\n status: EnquiryStatus.RFQSubmittedbyL3,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote', 'QuoteGenearation_Enquiry_TechnicalDiscard'],\n visibleButtons: ['QuoteGenearation_SendtoL2ByL3', 'QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote', 'QuoteGenearation_Enquiry_TechnicalDiscard'],\n selectedIndex: 2\n },\n {\n status: EnquiryStatus.QuotationSaveAsDraftbyL3,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote'],\n visibleButtons: ['QuoteGenearation_SendtoL2ByL3', 'QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote'],\n selectedIndex: 2\n },\n {\n status: EnquiryStatus.QuotationPriceOnRequestbyL3,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote'],\n visibleButtons: ['QuoteGenearation_SendtoL2ByL3', 'QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote'],\n selectedIndex: 2\n },\n {\n status: EnquiryStatus.QuotationGeneratedbyL3,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['QuoteGenearation_SendtoL2ByL3', 'QuoteGenearation_EditRFQ'],\n visibleButtons: ['QuoteGenearation_SendtoL2ByL3', 'QuoteGenearation_EditRFQ'],\n selectedIndex: 2\n }\n ]\n },\n //CUSTOMER SERVICE\n {\n role: UserRoles.CustomerService,\n screensForStatus: [\n //////////////////////////Changes//////////////////////////////////////////////////////////\n {\n status: EnquiryStatus.QuotationRevision,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.SendBOMandProposal,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Enquiry Confirmation'],\n disableScreen: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n buttons: ['EnquiryConfirmation_ConfimrOrderBySalesEngg', 'EnquiryConfirmation_QuoteRevision'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg', 'EnquiryConfirmation_ConfimrOrderBySalesEngg', 'EnquiryConfirmation_QuoteRevision'],\n selectedIndex: 3\n },\n {\n status: EnquiryStatus.EnquiryTechnicalDiscardbyL1,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.EnquiryTechnicalDiscardbyL2,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.EnquiryTechnicalDiscardbyL3,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n // ----------------------------------\n /////////////////////////////////////////////////////////////////////////////////////////////\n {\n status: EnquiryStatus.RFQSubmittedbyCustomerService,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote'],\n visibleButtons: ['QuoteGenearation_SendforApprovalByCustomerService', 'QuoteGenearation_SendBOMProposalByL1',\n 'ManagementApproval_SendOrderforApprovalByCustomerService', 'QuoteGenearation_SendBOMProposalByL1', 'QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote',\n 'SO_SendtoSupplyChainByCustomerService'],\n selectedIndex: 2\n },\n {\n status: EnquiryStatus.QuotationSaveAsDraftbyCustomerService,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote'],\n visibleButtons: ['QuoteGenearation_SendforApprovalByCustomerService', 'QuoteGenearation_SendBOMProposalByL1',\n 'ManagementApproval_SendOrderforApprovalByCustomerService', 'QuoteGenearation_SendBOMProposalByL1', 'QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote',\n 'SO_SendtoSupplyChainByCustomerService'],\n selectedIndex: 2\n },\n {\n status: EnquiryStatus.QuotationPriceOnRequestbyCustomerService,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote'],\n visibleButtons: ['QuoteGenearation_SendforApprovalByCustomerService', 'QuoteGenearation_SendBOMProposalByL1',\n 'ManagementApproval_SendOrderforApprovalByCustomerService', 'QuoteGenearation_SendBOMProposalByL1', 'QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote',\n 'SO_SendtoSupplyChainByCustomerService'],\n selectedIndex: 2\n },\n {\n status: EnquiryStatus.QuotationGeneratedbyCustomerService,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['QuoteGenearation_SendforApprovalByCustomerService', 'QuoteGenearation_SendBOMProposalByL1', 'QuoteGenearation_EditRFQ'],\n visibleButtons: ['QuoteGenearation_SendforApprovalByCustomerService', 'QuoteGenearation_SendBOMProposalByL1',\n 'ManagementApproval_SendOrderforApprovalByCustomerService', 'QuoteGenearation_SendBOMProposalByL1', 'QuoteGenearation_EditRFQ',\n 'SO_SendtoSupplyChainByCustomerService'],\n selectedIndex: 2\n },\n {\n status: EnquiryStatus.QuotationSenttoCustomerService,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['QuoteGenearation_SendforApprovalByCustomerService', 'QuoteGenearation_SendBOMProposalByL1', 'QuoteGenearation_EditRFQ'],\n visibleButtons: ['QuoteGenearation_SendforApprovalByCustomerService', 'QuoteGenearation_SendBOMProposalByL1',\n 'ManagementApproval_SendOrderforApprovalByCustomerService', 'QuoteGenearation_SendBOMProposalByL1', 'QuoteGenearation_EditRFQ',\n 'SO_SendtoSupplyChainByCustomerService'],\n selectedIndex: 2\n },\n {\n status: EnquiryStatus. QuotationSendtoCustomerServicebyL1,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form'],\n buttons: [ 'QuoteGenearation_EditRFQ','QuoteGenearation_GenerateQuote'],\n visibleButtons: ['QuoteGenearationAcceptByL1', 'QuoteGenearation_RemorkByL1', 'QuoteGenearation_ForwardtoL2ByL1',\n 'QuoteGenearation_SendtoCustomerServiceByL1', 'QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote',\n ],\n selectedIndex: 2\n \n },\n {\n status: EnquiryStatus. QuotationSendtoCustomerServicebyL2,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form'],\n buttons: [ 'QuoteGenearation_EditRFQ','QuoteGenearation_GenerateQuote'],\n visibleButtons: ['QuoteGenearationAcceptByL2', 'QuoteGenearation_RemorkByL2', 'QuoteGenearation_ForwardtoL2ByL1',\n 'QuoteGenearation_SendtoCustomerServiceByL2', 'QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote',\n ],\n selectedIndex: 2\n },\n \n {\n status: EnquiryStatus. QuotationSendtoCustomerServicebyL3,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form'],\n buttons: [ 'QuoteGenearation_EditRFQ','QuoteGenearation_GenerateQuote'],\n visibleButtons: ['QuoteGenearationAcceptByL3', 'QuoteGenearation_RemorkByL3', 'QuoteGenearation_ForwardtoL2ByL1',\n 'QuoteGenearation_SendtoCustomerServiceByL3', 'QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote',\n ],\n selectedIndex: 2\n },\n {\n status: EnquiryStatus.QuotationApprovedbyMngmt_SalesDirector,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['QuoteGenearation_SendBOMProposalByL1'],\n visibleButtons: ['QuoteGenearation_SendBOMProposalByL1'],\n selectedIndex: 2\n },\n {\n status: EnquiryStatus.QuotationApprovedbyMngmt_CEO,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['QuoteGenearation_SendBOMProposalByL1'],\n visibleButtons: ['QuoteGenearation_SendBOMProposalByL1'],\n selectedIndex: 2\n },\n {\n status: EnquiryStatus.EnquiryOrderConfirmedbySalesEngg,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Enquiry Confirmation', 'Sales Order'],\n disableScreen: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Enquiry Confirmation'],\n buttons: ['ManagementApproval_SendOrderforApprovalByCustomerService', 'SO_SendtoSupplyChainByCustomerService'],\n visibleButtons: ['QuoteGenearation_SendforApprovalByCustomerService',\n 'ManagementApproval_SendOrderforApprovalByCustomerService',\n 'SO_SendtoSupplyChainByCustomerService'],\n selectedIndex: 4\n },\n {\n status: EnquiryStatus.OrderApprovedbyMngmt_SalesDirector,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Sales Order'],\n disableScreen: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n buttons: ['SO_SendtoSupplyChainByCustomerService'],\n visibleButtons: ['QuoteGenearation_SendforApprovalByCustomerService',\n 'ManagementApproval_SendOrderforApprovalByCustomerService',\n 'SO_SendtoSupplyChainByCustomerService'],\n selectedIndex: 3\n },\n {\n status: EnquiryStatus.OrderApprovedbyMngmt_CEO,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Sales Order'],\n disableScreen: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n buttons: ['SO_SendtoSupplyChainByCustomerService'],\n visibleButtons: ['QuoteGenearation_SendforApprovalByCustomerService',\n 'ManagementApproval_SendOrderforApprovalByCustomerService',\n 'SO_SendtoSupplyChainByCustomerService'],\n selectedIndex: 3\n },\n {\n status: EnquiryStatus.QuotationSentForPriceDiscountApprovalToLevel1,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['QuoteGenearation_SendforApprovalByCustomerService', 'QuoteGenearation_SendBOMProposalByL1', 'QuoteGenearation_EditRFQ'],\n visibleButtons: ['QuoteGenearation_SendforApprovalByCustomerService', 'QuoteGenearation_SendBOMProposalByL1',\n 'ManagementApproval_SendOrderforApprovalByCustomerService', 'QuoteGenearation_SendBOMProposalByL1', 'QuoteGenearation_EditRFQ',\n 'SO_SendtoSupplyChainByCustomerService'],\n selectedIndex: 2\n },\n {\n status: EnquiryStatus.PriceDiscountApprovedByL1,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['QuoteGenearation_SendforApprovalByCustomerService', 'QuoteGenearation_SendBOMProposalByL1', 'QuoteGenearation_EditRFQ'],\n visibleButtons: ['QuoteGenearation_SendforApprovalByCustomerService', 'QuoteGenearation_SendBOMProposalByL1',\n 'ManagementApproval_SendOrderforApprovalByCustomerService', 'QuoteGenearation_SendBOMProposalByL1', 'QuoteGenearation_EditRFQ',\n 'SO_SendtoSupplyChainByCustomerService'],\n selectedIndex: 2\n },\n {\n status: EnquiryStatus.PriceDiscountApprovedByL2,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['QuoteGenearation_SendforApprovalByCustomerService', 'QuoteGenearation_SendBOMProposalByL1', 'QuoteGenearation_EditRFQ'],\n visibleButtons: ['QuoteGenearation_SendforApprovalByCustomerService', 'QuoteGenearation_SendBOMProposalByL1',\n 'ManagementApproval_SendOrderforApprovalByCustomerService', 'QuoteGenearation_SendBOMProposalByL1', 'QuoteGenearation_EditRFQ',\n 'SO_SendtoSupplyChainByCustomerService'],\n selectedIndex: 2\n },\n {\n status: EnquiryStatus.PriceDiscountApprovedByL3,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['QuoteGenearation_SendforApprovalByCustomerService', 'QuoteGenearation_SendBOMProposalByL1', 'QuoteGenearation_EditRFQ'],\n visibleButtons: ['QuoteGenearation_SendforApprovalByCustomerService', 'QuoteGenearation_SendBOMProposalByL1',\n 'ManagementApproval_SendOrderforApprovalByCustomerService', 'QuoteGenearation_SendBOMProposalByL1', 'QuoteGenearation_EditRFQ',\n 'SO_SendtoSupplyChainByCustomerService'],\n selectedIndex: 2\n },\n {\n status: EnquiryStatus.QuotationSentForPriceDiscountApprovalToLevel3,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['QuoteGenearation_SendforApprovalByCustomerService', 'QuoteGenearation_SendBOMProposalByL1', 'QuoteGenearation_EditRFQ'],\n visibleButtons: ['QuoteGenearation_SendforApprovalByCustomerService', 'QuoteGenearation_SendBOMProposalByL1',\n 'ManagementApproval_SendOrderforApprovalByCustomerService', 'QuoteGenearation_SendBOMProposalByL1', 'QuoteGenearation_EditRFQ',\n 'SO_SendtoSupplyChainByCustomerService'],\n selectedIndex: 2\n },\n {\n status: EnquiryStatus.QuotationSentForPriceDiscountApprovalToLevel2,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['QuoteGenearation_SendforApprovalByCustomerService', 'QuoteGenearation_SendBOMProposalByL1', 'QuoteGenearation_EditRFQ'],\n visibleButtons: ['QuoteGenearation_SendforApprovalByCustomerService', 'QuoteGenearation_SendBOMProposalByL1',\n 'ManagementApproval_SendOrderforApprovalByCustomerService', 'QuoteGenearation_SendBOMProposalByL1', 'QuoteGenearation_EditRFQ',\n 'SO_SendtoSupplyChainByCustomerService'],\n selectedIndex: 2\n },\n {\n status: EnquiryStatus.PriceDiscountRejectedByL1,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['QuoteGenearation_SendforApprovalByCustomerService', 'QuoteGenearation_SendBOMProposalByL1', 'QuoteGenearation_EditRFQ'],\n visibleButtons: ['QuoteGenearation_SendforApprovalByCustomerService', 'QuoteGenearation_SendBOMProposalByL1',\n 'ManagementApproval_SendOrderforApprovalByCustomerService', 'QuoteGenearation_SendBOMProposalByL1', 'QuoteGenearation_EditRFQ',\n 'SO_SendtoSupplyChainByCustomerService'],\n selectedIndex: 2\n },\n {\n status: EnquiryStatus.PriceDiscountRejectedByL2,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['QuoteGenearation_SendforApprovalByCustomerService', 'QuoteGenearation_SendBOMProposalByL1', 'QuoteGenearation_EditRFQ'],\n visibleButtons: ['QuoteGenearation_SendforApprovalByCustomerService', 'QuoteGenearation_SendBOMProposalByL1',\n 'ManagementApproval_SendOrderforApprovalByCustomerService', 'QuoteGenearation_SendBOMProposalByL1', 'QuoteGenearation_EditRFQ',\n 'SO_SendtoSupplyChainByCustomerService'],\n selectedIndex: 2\n }, \n {\n status: EnquiryStatus.PriceDiscountRejectedByL3,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['QuoteGenearation_SendforApprovalByCustomerService', 'QuoteGenearation_SendBOMProposalByL1', 'QuoteGenearation_EditRFQ'],\n visibleButtons: ['QuoteGenearation_SendforApprovalByCustomerService', 'QuoteGenearation_SendBOMProposalByL1',\n 'ManagementApproval_SendOrderforApprovalByCustomerService', 'QuoteGenearation_SendBOMProposalByL1', 'QuoteGenearation_EditRFQ',\n 'SO_SendtoSupplyChainByCustomerService'],\n selectedIndex: 2\n },\n ]\n },\n //SALES DIRECTOR\n {\n role: UserRoles.SalesDirector,\n screensForStatus: [\n \n {\n status: EnquiryStatus.QuotationRevision,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.SendBOMandProposal,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Enquiry Confirmation'],\n disableScreen: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n buttons: ['EnquiryConfirmation_ConfimrOrderBySalesEngg', 'EnquiryConfirmation_QuoteRevision'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg', 'EnquiryConfirmation_ConfimrOrderBySalesEngg', 'EnquiryConfirmation_QuoteRevision'],\n selectedIndex: 3\n },\n \n {\n status: EnquiryStatus.QuotationSentforMngtApproval_SalesDirector,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Management Approval'],\n disableScreen: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n buttons: ['ManagementApproval_RejectBySalesDirector', 'ManagementApproval_ApproveBySalesDirector', 'ManagementApproval_HoldBySalesDirector', 'ManagementApproval_SendQuotationforApprovalBySalesDirector'],\n visibleButtons: ['ManagementApproval_RejectBySalesDirector', 'ManagementApproval_ApproveBySalesDirector', 'ManagementApproval_HoldBySalesDirector', 'ManagementApproval_SendQuotationforApprovalBySalesDirector'],\n selectedIndex: 3\n },\n {\n status: EnquiryStatus.QuotationOnHoldbyMngmt_SalesDirector,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Management Approval'],\n disableScreen: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n buttons: ['ManagementApproval_RejectBySalesDirector', 'ManagementApproval_ApproveBySalesDirector', 'ManagementApproval_SendQuotationforApprovalBySalesDirector'],\n visibleButtons: ['ManagementApproval_RejectBySalesDirector', 'ManagementApproval_ApproveBySalesDirector', 'ManagementApproval_HoldBySalesDirector', 'ManagementApproval_SendQuotationforApprovalBySalesDirector'],\n selectedIndex: 3\n },\n {\n status: EnquiryStatus.OrdersentforMngmtApproval_SalesDirector,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Enquiry Confirmation', 'Sales Order', 'Management Approval'],\n disableScreen: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Enquiry Confirmation', 'Sales Order'],\n buttons: ['ManagementApproval_Order_ApproveBySalesDirector', 'ManagementApproval_Order_RejectBySalesDirector', 'ManagementApproval_SendforApprovalBySalesDirector', 'ManagementApproval_SendOrderforApprovalBySalesDirector'],\n visibleButtons: ['ManagementApproval_Order_ApproveBySalesDirector', 'ManagementApproval_Order_RejectBySalesDirector', 'ManagementApproval_SendforApprovalBySalesDirector', 'ManagementApproval_SendOrderforApprovalBySalesDirector'],\n selectedIndex: 5\n },\n {\n status: EnquiryStatus.QuotationRejectedbyMngmt_SalesDirector,\n screens: ['Enquiry Form', 'RFQ', 'Management Approval'],\n disableScreen: ['Enquiry Form', 'RFQ', 'Management Approval'],\n buttons: [],\n visibleButtons: [],\n selectedIndex: 2\n },\n {\n status: EnquiryStatus.QuotationApprovedbyMngmt_SalesDirector,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Management Approval'],\n disableScreen: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Management Approval'],\n buttons: [],\n visibleButtons: [],\n selectedIndex: 3\n },\n\n {\n status: EnquiryStatus.OrderRejectedbyMngmt_SalesDirector,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Management Approval'],\n disableScreen: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Management Approval'],\n buttons: [],\n visibleButtons: [],\n selectedIndex: 3\n },\n {\n status: EnquiryStatus.OrdersentforMngmtApproval_CEO,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Enquiry Confirmation', 'Sales Order', 'Management Approval'],\n disableScreen: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Enquiry Confirmation', 'Sales Order', 'Management Approval'],\n buttons: [],\n visibleButtons: [],\n selectedIndex: 5\n }\n\n ]\n },\n //CEO\n {\n role: UserRoles.CEO,\n screensForStatus: [\n //////////////////////////Changes//////////////////////////////////////////////////////////\n {\n status: EnquiryStatus.QuotationRevision,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.SendBOMandProposal,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Enquiry Confirmation'],\n disableScreen: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n buttons: ['EnquiryConfirmation_ConfimrOrderBySalesEngg', 'EnquiryConfirmation_QuoteRevision'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg', 'EnquiryConfirmation_ConfimrOrderBySalesEngg', 'EnquiryConfirmation_QuoteRevision'],\n selectedIndex: 3\n },\n /////////////////////////////////////////////////////////////////////////////////////////////\n {\n status: EnquiryStatus.QuotationSentforMngmtApproval_CEO,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Management Approval', 'CEO Approval'],\n disableScreen: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Management Approval'],\n buttons: ['ManagementApproval_RejectByCEO', 'ManagementApproval_ApproveByCEO', 'ManagementApproval_HoldByCEO'],\n visibleButtons: ['ManagementApproval_RejectByCEO', 'ManagementApproval_ApproveByCEO', 'ManagementApproval_HoldByCEO'],\n selectedIndex: 4\n },\n {\n status: EnquiryStatus.QuotationOnHoldbyMngmt_CEO,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Management Approval', 'CEO Approval'],\n disableScreen: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Management Approval'],\n buttons: ['ManagementApproval_RejectByCEO', 'ManagementApproval_ApproveByCEO'],\n visibleButtons: ['ManagementApproval_RejectByCEO', 'ManagementApproval_ApproveByCEO', 'ManagementApproval_HoldByCEO'],\n selectedIndex: 4\n },\n {\n status: EnquiryStatus.OrdersentforMngmtApproval_CEO,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Enquiry Confirmation', 'Sales Order', 'Management Approval', 'CEO Approval'],\n disableScreen: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Enquiry Confirmation', 'Sales Order', 'Management Approval'],\n buttons: ['ManagementApproval_Order_ApproveByCEO', 'ManagementApproval_Order_RejectByCEO'],\n visibleButtons: ['ManagementApproval_Order_ApproveByCEO', 'ManagementApproval_Order_RejectByCEO'],\n selectedIndex: 6\n }\n ]\n },\n //SUPPLY CHAIN\n {\n role: UserRoles.SupplyChain,\n screensForStatus: [\n //////////////////////////Changes//////////////////////////////////////////////////////////\n {\n status: EnquiryStatus.QuotationRevision,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.SendBOMandProposal,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Enquiry Confirmation'],\n disableScreen: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n buttons: ['EnquiryConfirmation_ConfimrOrderBySalesEngg', 'EnquiryConfirmation_QuoteRevision'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg', 'EnquiryConfirmation_ConfimrOrderBySalesEngg', 'EnquiryConfirmation_QuoteRevision'],\n selectedIndex: 3\n },\n /////////////////////////////////////////////////////////////////////////////////////////////\n {\n status: EnquiryStatus.OANoGenerated,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Enquiry Confirmation', 'Sales Order', 'OAGenerate', 'Supply Chain'],\n disableScreen: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Enquiry Confirmation', 'Sales Order', 'OAGenerate'],\n buttons: ['SupplyChain_SubmitBySupplyChain'],\n visibleButtons: ['SupplyChain_SubmitBySupplyChain'],\n selectedIndex: 6\n },\n {\n status: EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Enquiry Confirmation', 'Sales Order', 'OAGenerate', 'Supply Chain'],\n disableScreen: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Enquiry Confirmation', 'Sales Order', 'OAGenerate'],\n buttons: ['MaterialReadyForDispatch'],\n visibleButtons: ['MaterialReadyForDispatch'],\n selectedIndex: 6\n },\n\n ]\n },\n //FINANCE ACCOUNTS\n {\n role: UserRoles.FinanceAccounts,\n screensForStatus: [\n //////////////////////////Changes//////////////////////////////////////////////////////////\n {\n status: EnquiryStatus.QuotationRevision,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.SendBOMandProposal,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Enquiry Confirmation'],\n disableScreen: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n buttons: ['EnquiryConfirmation_ConfimrOrderBySalesEngg', 'EnquiryConfirmation_QuoteRevision'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg', 'EnquiryConfirmation_ConfimrOrderBySalesEngg', 'EnquiryConfirmation_QuoteRevision'],\n selectedIndex: 3\n },\n /////////////////////////////////////////////////////////////////////////////////////////////\n {\n status: EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Enquiry Confirmation', 'Sales Order', 'OAGenerate'],\n disableScreen: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Enquiry Confirmation', 'Sales Order'],\n buttons: ['OrderAcknowledmentNo'],\n visibleButtons: ['OrderAcknowledmentNo'],\n selectedIndex: 5\n },\n\n {\n status: EnquiryStatus.MaterialReadyForDispatch,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Enquiry Confirmation', 'Sales Order', 'OAGenerate', 'Supply Chain', 'Accounts'],\n disableScreen: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Enquiry Confirmation', 'Sales Order', 'OAGenerate', 'Supply Chain'],\n buttons: ['Accounts_ConfimrOrderByAccounts'],\n visibleButtons: ['Accounts_ConfimrOrderByAccounts'],\n selectedIndex: 7\n },\n\n ]\n },\n\n //Business Development\n {\n role: UserRoles.BusinessDevelopment,\n screensForStatus: [\n //////////////////////////Changes//////////////////////////////////////////////////////////\n {\n status: EnquiryStatus.QuotationRevision,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.SendBOMandProposal,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Enquiry Confirmation'],\n disableScreen: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n buttons: ['EnquiryConfirmation_ConfimrOrderBySalesEngg', 'EnquiryConfirmation_QuoteRevision'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg', 'EnquiryConfirmation_ConfimrOrderBySalesEngg', 'EnquiryConfirmation_QuoteRevision'],\n selectedIndex: 3\n },\n /////////////////////////////////////////////////////////////////////////////////////////////\n\n ]\n },\n\n //Product Manager\n {\n role: UserRoles.ProductManager,\n screensForStatus: [\n //////////////////////////Changes//////////////////////////////////////////////////////////\n {\n status: EnquiryStatus.QuotationRevision,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.SendBOMandProposal,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Enquiry Confirmation'],\n disableScreen: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n buttons: ['EnquiryConfirmation_ConfimrOrderBySalesEngg', 'EnquiryConfirmation_QuoteRevision'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg', 'EnquiryConfirmation_ConfimrOrderBySalesEngg', 'EnquiryConfirmation_QuoteRevision'],\n selectedIndex: 3\n },\n /////////////////////////////////////////////////////////////////////////////////////////////\n\n ]\n },\n\n //Marketing\n {\n role: UserRoles.Marketing,\n screensForStatus: [\n //////////////////////////Changes//////////////////////////////////////////////////////////\n {\n status: EnquiryStatus.QuotationRevision,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.SendBOMandProposal,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Enquiry Confirmation'],\n disableScreen: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n buttons: ['EnquiryConfirmation_ConfimrOrderBySalesEngg', 'EnquiryConfirmation_QuoteRevision'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg', 'EnquiryConfirmation_ConfimrOrderBySalesEngg', 'EnquiryConfirmation_QuoteRevision'],\n selectedIndex: 2\n },\n /////////////////////////////////////////////////////////////////////////////////////////////\n\n ]\n },\n\n //Manager Solutions Factory & Localization\n {\n role: UserRoles.ManagerSolutionsFactoryAndLocalization, \n screensForStatus: [\n\n /****************************************Add Edit Access to Admin for all screens************************************************* */\n //Sales Engg and Guest\n {\n status: EnquiryStatus.EnquiryAdded,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.RFQSaveAsDraft,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n\n {\n status: EnquiryStatus.QuotationRevision,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.RFQReworkbyL1,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.QuotationRejectedbyMngmt_SalesDirector,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.QuotationRejectedbyMngmt_CEO,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.SendBOMandProposal,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Enquiry Confirmation'],\n disableScreen: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n buttons: ['EnquiryConfirmation_ConfimrOrderBySalesEngg', 'EnquiryConfirmation_QuoteRevision'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg', 'EnquiryConfirmation_ConfimrOrderBySalesEngg', 'EnquiryConfirmation_QuoteRevision'],\n selectedIndex: 3\n },\n\n {\n status: EnquiryStatus.OrderRejectedbyMngmt_SalesDirector,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Enquiry Confirmation'],\n disableScreen: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n buttons: ['EnquiryConfirmation_ConfimrOrderBySalesEngg', 'EnquiryConfirmation_QuoteRevision'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg', 'EnquiryConfirmation_ConfimrOrderBySalesEngg', 'EnquiryConfirmation_QuoteRevision'],\n selectedIndex: 3\n },\n {\n status: EnquiryStatus.OrderRejectedbyMngmt_CEO,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Enquiry Confirmation'],\n disableScreen: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n buttons: ['EnquiryConfirmation_ConfimrOrderBySalesEngg', 'EnquiryConfirmation_QuoteRevision'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg', 'EnquiryConfirmation_ConfimrOrderBySalesEngg', 'EnquiryConfirmation_QuoteRevision'],\n selectedIndex: 3\n },\n \n //--------- changes ------\n {\n status: EnquiryStatus.EnquiryTechnicalDiscardbyL1,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.EnquiryTechnicalDiscardbyL2,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.EnquiryTechnicalDiscardbyL3,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n // ----------------------------------\n ///L1\n\n {\n status: EnquiryStatus.RFQSubmittedbySalesEngg,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['QuoteGenearationAcceptByL1', 'QuoteGenearation_RemorkByL1', 'QuoteGenearation_ForwardtoL2ByL1', 'QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote', 'QuoteGenearation_Enquiry_TechnicalDiscard'],\n visibleButtons: ['QuoteGenearationAcceptByL1', 'QuoteGenearation_RemorkByL1', 'QuoteGenearation_ForwardtoL2ByL1',\n 'QuoteGenearation_SendtoCustomerServiceByL1', 'QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote', 'QuoteGenearation_Enquiry_TechnicalDiscard'],\n selectedIndex: 2\n },\n {\n status: EnquiryStatus.RFQSubmittedbyL1,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['QuoteGenearation_RemorkByL1', 'QuoteGenearation_ForwardtoL2ByL1', 'QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote', 'QuoteGenearation_Enquiry_TechnicalDiscard'],\n visibleButtons: ['QuoteGenearationAcceptByL1', 'QuoteGenearation_RemorkByL1', 'QuoteGenearation_ForwardtoL2ByL1',\n 'QuoteGenearation_SendtoCustomerServiceByL1', 'QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote', 'QuoteGenearation_Enquiry_TechnicalDiscard'],\n selectedIndex: 2\n },\n {\n status: EnquiryStatus.RFQAcceptedbyL1,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['QuoteGenearation_RemorkByL1', 'QuoteGenearation_ForwardtoL2ByL1', 'QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote', 'QuoteGenearation_Enquiry_TechnicalDiscard'],\n visibleButtons: ['QuoteGenearationAcceptByL1', 'QuoteGenearation_RemorkByL1', 'QuoteGenearation_ForwardtoL2ByL1',\n 'QuoteGenearation_SendtoCustomerServiceByL1', 'QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote', 'QuoteGenearation_Enquiry_TechnicalDiscard'],\n selectedIndex: 2\n },\n {\n status: EnquiryStatus.QuotationSaveAsDraftbyL1,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote'],\n visibleButtons: ['QuoteGenearationAcceptByL1', 'QuoteGenearation_RemorkByL1', 'QuoteGenearation_ForwardtoL2ByL1',\n 'QuoteGenearation_SendtoCustomerServiceByL1', 'QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote', 'QuoteGenearation_Enquiry_TechnicalDiscard'],\n selectedIndex: 2\n },\n {\n status: EnquiryStatus.QuotationPriceOnRequestbyL1,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote'],\n visibleButtons: ['QuoteGenearationAcceptByL1', 'QuoteGenearation_RemorkByL1', 'QuoteGenearation_ForwardtoL2ByL1',\n 'QuoteGenearation_SendtoCustomerServiceByL1', 'QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote'],\n selectedIndex: 2\n },\n {\n status: EnquiryStatus.QuotationGeneratedbyL1,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['QuoteGenearation_SendtoCustomerServiceByL1', 'QuoteGenearation_EditRFQ'],\n visibleButtons: ['QuoteGenearationAcceptByL1', 'QuoteGenearation_RemorkByL1', 'QuoteGenearation_ForwardtoL2ByL1',\n 'QuoteGenearation_SendtoCustomerServiceByL1', 'QuoteGenearation_EditRFQ',],\n selectedIndex: 2\n },\n {\n status: EnquiryStatus. QuotationSendtoCustomerServicebyL1,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form'],\n buttons: [ 'QuoteGenearation_EditRFQ','QuoteGenearation_GenerateQuote'],\n visibleButtons: ['QuoteGenearationAcceptByL1', 'QuoteGenearation_RemorkByL1', 'QuoteGenearation_ForwardtoL2ByL1',\n 'QuoteGenearation_SendtoCustomerServiceByL1', 'QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote',\n ],\n selectedIndex: 2\n \n },\n {\n status: EnquiryStatus. QuotationSendtoCustomerServicebyL2,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form'],\n buttons: [ 'QuoteGenearation_EditRFQ','QuoteGenearation_GenerateQuote'],\n visibleButtons: ['QuoteGenearationAcceptByL2', 'QuoteGenearation_RemorkByL2', 'QuoteGenearation_ForwardtoL2ByL1',\n 'QuoteGenearation_SendtoCustomerServiceByL2', 'QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote',\n ],\n selectedIndex: 2\n },\n \n {\n status: EnquiryStatus. QuotationSendtoCustomerServicebyL3,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form'],\n buttons: [ 'QuoteGenearation_EditRFQ','QuoteGenearation_GenerateQuote'],\n visibleButtons: ['QuoteGenearationAcceptByL3', 'QuoteGenearation_RemorkByL3', 'QuoteGenearation_ForwardtoL2ByL1',\n 'QuoteGenearation_SendtoCustomerServiceByL3', 'QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote',\n ],\n selectedIndex: 2\n },\n {\n status: EnquiryStatus.QuotationsentbyL2toL1,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['QuoteGenearation_SendtoCustomerServiceByL1'],\n visibleButtons: ['QuoteGenearationAcceptByL1', 'QuoteGenearation_RemorkByL1', 'QuoteGenearation_ForwardtoL2ByL1',\n 'QuoteGenearation_SendtoCustomerServiceByL1'],\n selectedIndex: 2\n },\n {\n status: EnquiryStatus.RFQsentbyL1toL2,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['QuoteGenearation_ForwardtoL3ByL2', 'QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote', 'QuoteGenearation_Enquiry_TechnicalDiscard'],\n visibleButtons: ['QuoteGenearation_SendtoL1ByL2', 'QuoteGenearation_ForwardtoL3ByL2', 'QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote', 'QuoteGenearation_Enquiry_TechnicalDiscard'],\n selectedIndex: 2\n },\n // --------- changes ----------\n {\n status: EnquiryStatus.EnquiryTechnicalDiscardbyL1,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.EnquiryTechnicalDiscardbyL2,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.EnquiryTechnicalDiscardbyL3,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n // ----------------------------------\n \n //L2\n {\n status: EnquiryStatus.RFQSubmittedbyL2,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote', 'QuoteGenearation_ForwardtoL3ByL2', 'QuoteGenearation_Enquiry_TechnicalDiscard'],\n visibleButtons: ['QuoteGenearation_SendtoL1ByL2', 'QuoteGenearation_ForwardtoL3ByL2', 'QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote', 'QuoteGenearation_Enquiry_TechnicalDiscard'],\n selectedIndex: 2\n },\n {\n status: EnquiryStatus.QuotationSaveAsDraftbyL2,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote', 'QuoteGenearation_Enquiry_TechnicalDiscard'],\n visibleButtons: ['QuoteGenearation_SendtoL1ByL2', 'QuoteGenearation_ForwardtoL3ByL2', 'QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote', 'QuoteGenearation_Enquiry_TechnicalDiscard'],\n selectedIndex: 2\n },\n {\n status: EnquiryStatus.QuotationPriceOnRequestbyL2,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote'],\n visibleButtons: ['QuoteGenearation_SendtoL1ByL2', 'QuoteGenearation_ForwardtoL3ByL2', 'QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote'],\n selectedIndex: 2\n },\n {\n status: EnquiryStatus.QuotationGeneratedbyL2,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['QuoteGenearation_SendtoL1ByL2', 'QuoteGenearation_EditRFQ'],\n visibleButtons: ['QuoteGenearation_SendtoL1ByL2', 'QuoteGenearation_ForwardtoL3ByL2', 'QuoteGenearation_EditRFQ'],\n selectedIndex: 2\n },\n {\n status: EnquiryStatus.QuotationsentbyL3toL2,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['QuoteGenearation_SendtoL1ByL2'],\n visibleButtons: ['QuoteGenearation_SendtoL1ByL2', 'QuoteGenearation_ForwardtoL3ByL2'],\n selectedIndex: 2\n },\n {\n status: EnquiryStatus.RFQsentbyL2toL3,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: [, 'QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote', 'QuoteGenearation_Enquiry_TechnicalDiscard'],\n visibleButtons: ['QuoteGenearation_SendtoL2ByL3', 'QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote', 'QuoteGenearation_Enquiry_TechnicalDiscard'],\n selectedIndex: 2\n },\n \n // ----------- changes --------\n {\n status: EnquiryStatus.EnquiryTechnicalDiscardbyL1,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.EnquiryTechnicalDiscardbyL2,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.EnquiryTechnicalDiscardbyL3,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n // ----------------------------------\n \n ///L3\n {\n status: EnquiryStatus.RFQSubmittedbyL3,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote', 'QuoteGenearation_Enquiry_TechnicalDiscard'],\n visibleButtons: ['QuoteGenearation_SendtoL2ByL3', 'QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote', 'QuoteGenearation_Enquiry_TechnicalDiscard'],\n selectedIndex: 2\n },\n {\n status: EnquiryStatus.QuotationSaveAsDraftbyL3,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote', 'QuoteGenearation_Enquiry_TechnicalDiscard'],\n visibleButtons: ['QuoteGenearation_SendtoL2ByL3', 'QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote', 'QuoteGenearation_Enquiry_TechnicalDiscard'],\n selectedIndex: 2\n },\n {\n status: EnquiryStatus.QuotationPriceOnRequestbyL3,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote', 'QuoteGenearation_Enquiry_TechnicalDiscard'],\n visibleButtons: ['QuoteGenearation_SendtoL2ByL3', 'QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote', 'QuoteGenearation_Enquiry_TechnicalDiscard'],\n selectedIndex: 2\n },\n {\n status: EnquiryStatus.QuotationGeneratedbyL3,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['QuoteGenearation_SendtoL2ByL3', 'QuoteGenearation_EditRFQ'],\n visibleButtons: ['QuoteGenearation_SendtoL2ByL3', 'QuoteGenearation_EditRFQ'],\n selectedIndex: 2\n },\n \n // ------------------------ changes ------------\n {\n status: EnquiryStatus.EnquiryTechnicalDiscardbyL1,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.EnquiryTechnicalDiscardbyL2,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.EnquiryTechnicalDiscardbyL3,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n // ----------------------------------\n \n ///CustomerService\n {\n status: EnquiryStatus.RFQSubmittedbyCustomerService,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote'],\n visibleButtons: ['QuoteGenearation_SendforApprovalByCustomerService', 'QuoteGenearation_SendBOMProposalByL1',\n 'ManagementApproval_SendOrderforApprovalByCustomerService', 'QuoteGenearation_SendBOMProposalByL1', 'QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote',\n 'SO_SendtoSupplyChainByCustomerService'],\n selectedIndex: 2\n },\n {\n status: EnquiryStatus.QuotationSaveAsDraftbyCustomerService,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote'],\n visibleButtons: ['QuoteGenearation_SendforApprovalByCustomerService', 'QuoteGenearation_SendBOMProposalByL1',\n 'ManagementApproval_SendOrderforApprovalByCustomerService', 'QuoteGenearation_SendBOMProposalByL1', 'QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote',\n 'SO_SendtoSupplyChainByCustomerService'],\n selectedIndex: 2\n },\n {\n status: EnquiryStatus.QuotationPriceOnRequestbyCustomerService,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote'],\n visibleButtons: ['QuoteGenearation_SendforApprovalByCustomerService', 'QuoteGenearation_SendBOMProposalByL1',\n 'ManagementApproval_SendOrderforApprovalByCustomerService', 'QuoteGenearation_SendBOMProposalByL1', 'QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote',\n 'SO_SendtoSupplyChainByCustomerService'],\n selectedIndex: 2\n },\n {\n status: EnquiryStatus.QuotationGeneratedbyCustomerService,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['QuoteGenearation_SendforApprovalByCustomerService', 'QuoteGenearation_SendBOMProposalByL1', 'QuoteGenearation_EditRFQ'],\n visibleButtons: ['QuoteGenearation_SendforApprovalByCustomerService', 'QuoteGenearation_SendBOMProposalByL1',\n 'ManagementApproval_SendOrderforApprovalByCustomerService', 'QuoteGenearation_SendBOMProposalByL1', 'QuoteGenearation_EditRFQ',\n 'SO_SendtoSupplyChainByCustomerService'],\n selectedIndex: 2\n },\n {\n status: EnquiryStatus. QuotationSendtoCustomerServicebyL1,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form'],\n buttons: [ 'QuoteGenearation_EditRFQ','QuoteGenearation_GenerateQuote'],\n visibleButtons: ['QuoteGenearationAcceptByL1', 'QuoteGenearation_RemorkByL1', 'QuoteGenearation_ForwardtoL2ByL1',\n 'QuoteGenearation_SendtoCustomerServiceByL1', 'QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote',\n ],\n selectedIndex: 2\n \n },\n {\n status: EnquiryStatus. QuotationSendtoCustomerServicebyL2,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form'],\n buttons: [ 'QuoteGenearation_EditRFQ','QuoteGenearation_GenerateQuote'],\n visibleButtons: ['QuoteGenearationAcceptByL2', 'QuoteGenearation_RemorkByL2', 'QuoteGenearation_ForwardtoL2ByL1',\n 'QuoteGenearation_SendtoCustomerServiceByL2', 'QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote',\n ],\n selectedIndex: 2\n },\n \n {\n status: EnquiryStatus. QuotationSendtoCustomerServicebyL3,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form'],\n buttons: [ 'QuoteGenearation_EditRFQ','QuoteGenearation_GenerateQuote'],\n visibleButtons: ['QuoteGenearationAcceptByL3', 'QuoteGenearation_RemorkByL3', 'QuoteGenearation_ForwardtoL2ByL1',\n 'QuoteGenearation_SendtoCustomerServiceByL3', 'QuoteGenearation_EditRFQ', 'QuoteGenearation_GenerateQuote',\n ],\n selectedIndex: 2\n },\n {\n status: EnquiryStatus.QuotationSenttoCustomerService,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['QuoteGenearation_SendforApprovalByCustomerService', 'QuoteGenearation_SendBOMProposalByL1', 'QuoteGenearation_EditRFQ'],\n visibleButtons: ['QuoteGenearation_SendforApprovalByCustomerService', 'QuoteGenearation_SendBOMProposalByL1',\n 'ManagementApproval_SendOrderforApprovalByCustomerService', 'QuoteGenearation_SendBOMProposalByL1', 'QuoteGenearation_EditRFQ',\n 'SO_SendtoSupplyChainByCustomerService'],\n selectedIndex: 2\n },\n {\n status: EnquiryStatus.QuotationApprovedbyMngmt_SalesDirector,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['QuoteGenearation_SendBOMProposalByL1'],\n visibleButtons: ['QuoteGenearation_SendBOMProposalByL1'],\n selectedIndex: 2\n },\n {\n status: EnquiryStatus.QuotationApprovedbyMngmt_CEO,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n disableScreen: ['Enquiry Form', 'RFQ'],\n buttons: ['QuoteGenearation_SendBOMProposalByL1'],\n visibleButtons: ['QuoteGenearation_SendBOMProposalByL1'],\n selectedIndex: 2\n },\n {\n status: EnquiryStatus.EnquiryOrderConfirmedbySalesEngg,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Enquiry Confirmation', 'Sales Order'],\n disableScreen: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Enquiry Confirmation'],\n buttons: ['ManagementApproval_SendOrderforApprovalByCustomerService', 'SO_SendtoSupplyChainByCustomerService'],\n visibleButtons: ['QuoteGenearation_SendforApprovalByCustomerService',\n 'ManagementApproval_SendOrderforApprovalByCustomerService',\n 'SO_SendtoSupplyChainByCustomerService'],\n selectedIndex: 4\n },\n {\n status: EnquiryStatus.OrderApprovedbyMngmt_SalesDirector,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Sales Order'],\n disableScreen: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n buttons: ['SO_SendtoSupplyChainByCustomerService'],\n visibleButtons: ['QuoteGenearation_SendforApprovalByCustomerService',\n 'ManagementApproval_SendOrderforApprovalByCustomerService',\n 'SO_SendtoSupplyChainByCustomerService'],\n selectedIndex: 3\n },\n {\n status: EnquiryStatus.OrderApprovedbyMngmt_CEO,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Sales Order'],\n disableScreen: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n buttons: ['SO_SendtoSupplyChainByCustomerService'],\n visibleButtons: ['QuoteGenearation_SendforApprovalByCustomerService',\n 'ManagementApproval_SendOrderforApprovalByCustomerService',\n 'SO_SendtoSupplyChainByCustomerService'],\n selectedIndex: 3\n },\n {\n status: EnquiryStatus.EnquiryTechnicalDiscardbyL1,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.EnquiryTechnicalDiscardbyL2,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n {\n status: EnquiryStatus.EnquiryTechnicalDiscardbyL3,\n screens: ['Enquiry Form', 'RFQ'],\n disableScreen: ['Enquiry Form'],\n buttons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n visibleButtons: ['RFQ_SaveasDraftBySalesEngg', 'RFQ_SubmitBySalesEngg'],\n selectedIndex: 1\n },\n // ----------------------------------\n /////Sales SalesDirector\n {\n status: EnquiryStatus.QuotationSentforMngtApproval_SalesDirector,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Management Approval'],\n disableScreen: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n buttons: ['ManagementApproval_RejectBySalesDirector', 'ManagementApproval_ApproveBySalesDirector', 'ManagementApproval_HoldBySalesDirector', 'ManagementApproval_SendQuotationforApprovalBySalesDirector'],\n visibleButtons: ['ManagementApproval_RejectBySalesDirector', 'ManagementApproval_ApproveBySalesDirector', 'ManagementApproval_HoldBySalesDirector', 'ManagementApproval_SendQuotationforApprovalBySalesDirector'],\n selectedIndex: 3\n },\n {\n status: EnquiryStatus.QuotationOnHoldbyMngmt_SalesDirector,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Management Approval'],\n disableScreen: ['Enquiry Form', 'RFQ', 'Quote Generation'],\n buttons: ['ManagementApproval_RejectBySalesDirector', 'ManagementApproval_ApproveBySalesDirector', 'ManagementApproval_SendQuotationforApprovalBySalesDirector'],\n visibleButtons: ['ManagementApproval_RejectBySalesDirector', 'ManagementApproval_ApproveBySalesDirector', 'ManagementApproval_HoldBySalesDirector', 'ManagementApproval_SendQuotationforApprovalBySalesDirector'],\n selectedIndex: 3\n },\n {\n status: EnquiryStatus.OrdersentforMngmtApproval_SalesDirector,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Enquiry Confirmation', 'Sales Order', 'Management Approval'],\n disableScreen: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Enquiry Confirmation', 'Sales Order'],\n buttons: ['ManagementApproval_Order_ApproveBySalesDirector', 'ManagementApproval_Order_RejectBySalesDirector', 'ManagementApproval_SendforApprovalBySalesDirector', 'ManagementApproval_SendOrderforApprovalBySalesDirector'],\n visibleButtons: ['ManagementApproval_Order_ApproveBySalesDirector', 'ManagementApproval_Order_RejectBySalesDirector', 'ManagementApproval_SendforApprovalBySalesDirector', 'ManagementApproval_SendOrderforApprovalBySalesDirector'],\n selectedIndex: 5\n },\n {\n status: EnquiryStatus.QuotationRejectedbyMngmt_SalesDirector,\n screens: ['Enquiry Form', 'RFQ', 'Management Approval'],\n disableScreen: ['Enquiry Form', 'RFQ', 'Management Approval'],\n buttons: [],\n visibleButtons: [],\n selectedIndex: 2\n },\n {\n status: EnquiryStatus.QuotationApprovedbyMngmt_SalesDirector,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Management Approval'],\n disableScreen: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Management Approval'],\n buttons: [],\n visibleButtons: [],\n selectedIndex: 3\n },\n\n {\n status: EnquiryStatus.OrderRejectedbyMngmt_SalesDirector,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Management Approval'],\n disableScreen: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Management Approval'],\n buttons: [],\n visibleButtons: [],\n selectedIndex: 3\n },\n {\n status: EnquiryStatus.OrdersentforMngmtApproval_CEO,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Enquiry Confirmation', 'Sales Order', 'Management Approval'],\n disableScreen: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Enquiry Confirmation', 'Sales Order', 'Management Approval'],\n buttons: [],\n visibleButtons: [],\n selectedIndex: 5\n },\n ////CEO\n {\n status: EnquiryStatus.QuotationSentforMngmtApproval_CEO,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Management Approval', 'CEO Approval'],\n disableScreen: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Management Approval'],\n buttons: ['ManagementApproval_RejectByCEO', 'ManagementApproval_ApproveByCEO', 'ManagementApproval_HoldByCEO'],\n visibleButtons: ['ManagementApproval_RejectByCEO', 'ManagementApproval_ApproveByCEO', 'ManagementApproval_HoldByCEO'],\n selectedIndex: 4\n },\n {\n status: EnquiryStatus.QuotationOnHoldbyMngmt_CEO,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Management Approval', 'CEO Approval'],\n disableScreen: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Management Approval'],\n buttons: ['ManagementApproval_RejectByCEO', 'ManagementApproval_ApproveByCEO'],\n visibleButtons: ['ManagementApproval_RejectByCEO', 'ManagementApproval_ApproveByCEO', 'ManagementApproval_HoldByCEO'],\n selectedIndex: 4\n },\n // {\n // status: EnquiryStatus.OrdersentforMngmtApproval_CEO,\n // screens: ['Enquiry Form', 'RFQ', 'Quote Generation','Enquiry Confirmation','Sales Order','Management Approval' , 'CEO Approval'],\n // disableScreen: ['Enquiry Form', 'RFQ', 'Quote Generation','Enquiry Confirmation','Sales Order','Management Approval'],\n // buttons: ['ManagementApproval_Order_ApproveByCEO', 'ManagementApproval_Order_RejectByCEO'],\n // visibleButtons: ['ManagementApproval_Order_ApproveByCEO', 'ManagementApproval_Order_RejectByCEO'],\n // selectedIndex: 6\n // }\n\n\n\n ////FINANCE ACCOUNTS\n {\n status: EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Enquiry Confirmation', 'Sales Order', 'OAGenerate'],\n disableScreen: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Enquiry Confirmation', 'Sales Order'],\n buttons: ['OrderAcknowledmentNo'],\n visibleButtons: ['OrderAcknowledmentNo'],\n selectedIndex: 5\n },\n\n {\n status: EnquiryStatus.MaterialReadyForDispatch,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Enquiry Confirmation', 'Sales Order', 'OAGenerate', 'Supply Chain', 'Accounts'],\n disableScreen: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Enquiry Confirmation', 'Sales Order', 'OAGenerate', 'Supply Chain'],\n buttons: ['Accounts_ConfimrOrderByAccounts'],\n visibleButtons: ['Accounts_ConfimrOrderByAccounts'],\n selectedIndex: 7\n },\n\n\n //SUPPLY CHAIN\n\n // {\n // status: EnquiryStatus.OANoGenerated,\n // screens: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Enquiry Confirmation','Sales Order', 'OAGenerate','Supply Chain'],\n // disableScreen: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Enquiry Confirmation','Sales Order', 'OAGenerate'],\n // buttons: ['SupplyChain_SubmitBySupplyChain'],\n // visibleButtons: ['SupplyChain_SubmitBySupplyChain'],\n // selectedIndex: 6\n // },\n {\n status: EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n screens: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Enquiry Confirmation', 'Sales Order', 'OAGenerate', 'Supply Chain'],\n disableScreen: ['Enquiry Form', 'RFQ', 'Quote Generation', 'Enquiry Confirmation', 'Sales Order', 'OAGenerate'],\n buttons: ['MaterialReadyForDispatch'],\n visibleButtons: ['MaterialReadyForDispatch'],\n selectedIndex: 6\n },\n\n /***************************************************************************************** */\n ]\n },\n\n ],\n\n screensVisibleAfterPassed: [\n ///Admin\n {\n role: UserRoles.Admin,\n screens:\n [\n {\n screenName: 'Quote Generation',\n status: [\n\n EnquiryStatus.SendBOMandProposal,\n EnquiryStatus.EnquiryOrderConfirmedbySalesEngg,\n EnquiryStatus.EnquiryLost,\n EnquiryStatus.OrdersentforMngmtApproval_SalesDirector,\n EnquiryStatus.OrderApprovedbyMngmt_SalesDirector,\n EnquiryStatus.OrderRejectedbyMngmt_SalesDirector,\n EnquiryStatus.OrdersentforMngmtApproval_CEO,\n EnquiryStatus.OrderApprovedbyMngmt_CEO,\n EnquiryStatus.OrderRejectedbyMngmt_CEO,\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n\n {\n screenName: 'Management Approval',\n status: [\n\n EnquiryStatus.QuotationApprovedbyMngmt_SalesDirector,\n EnquiryStatus.QuotationSentforMngmtApproval_CEO,\n EnquiryStatus.OrderApprovedbyMngmt_SalesDirector,\n EnquiryStatus.OrdersentforMngmtApproval_CEO,\n EnquiryStatus.QuotationApprovedbyMngmt_CEO,\n EnquiryStatus.OrderApprovedbyMngmt_CEO,\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'CEO Approval',\n status: [\n\n EnquiryStatus.QuotationApprovedbyMngmt_CEO,\n EnquiryStatus.OrderApprovedbyMngmt_CEO,\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'Enquiry Confirmation',\n status: [\n\n EnquiryStatus.EnquiryOrderConfirmedbySalesEngg,\n EnquiryStatus.EnquiryLost,\n EnquiryStatus.OrdersentforMngmtApproval_SalesDirector,\n EnquiryStatus.OrderApprovedbyMngmt_SalesDirector,\n EnquiryStatus.OrdersentforMngmtApproval_CEO,\n EnquiryStatus.OrderApprovedbyMngmt_CEO,\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n\n {\n screenName: 'Sales Order',\n status: [\n\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'OAGenerate',\n status: [\n\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'Supply Chain',\n status: [\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'Accounts',\n status: [\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n }\n\n ]\n },\n //SalesEngineer\n {\n role: UserRoles.SalesEngineer,\n screens:\n [\n {\n screenName: 'Quote Generation',\n status: [\n\n EnquiryStatus.SendBOMandProposal,\n EnquiryStatus.EnquiryOrderConfirmedbySalesEngg,\n EnquiryStatus.EnquiryLost,\n EnquiryStatus.OrdersentforMngmtApproval_SalesDirector,\n EnquiryStatus.OrderApprovedbyMngmt_SalesDirector,\n EnquiryStatus.OrderRejectedbyMngmt_SalesDirector,\n EnquiryStatus.OrdersentforMngmtApproval_CEO,\n EnquiryStatus.OrderApprovedbyMngmt_CEO,\n EnquiryStatus.OrderRejectedbyMngmt_CEO,\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'Management Approval',\n status: [\n\n EnquiryStatus.QuotationApprovedbyMngmt_SalesDirector,\n EnquiryStatus.QuotationSentforMngmtApproval_CEO,\n EnquiryStatus.OrderApprovedbyMngmt_SalesDirector,\n EnquiryStatus.OrdersentforMngmtApproval_CEO,\n EnquiryStatus.QuotationApprovedbyMngmt_CEO,\n EnquiryStatus.OrderApprovedbyMngmt_CEO,\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'CEO Approval',\n status: [\n\n EnquiryStatus.QuotationApprovedbyMngmt_CEO,\n EnquiryStatus.OrderApprovedbyMngmt_CEO,\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'Enquiry Confirmation',\n status: [\n\n EnquiryStatus.EnquiryOrderConfirmedbySalesEngg,\n EnquiryStatus.EnquiryLost,\n EnquiryStatus.OrdersentforMngmtApproval_SalesDirector,\n EnquiryStatus.OrderApprovedbyMngmt_SalesDirector,\n EnquiryStatus.OrdersentforMngmtApproval_CEO,\n EnquiryStatus.OrderApprovedbyMngmt_CEO,\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'OAGenerate',\n status: [\n\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n\n {\n screenName: 'Sales Order',\n status: [\n\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'Supply Chain',\n status: [\n\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'Accounts',\n status: [\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n }\n\n ]\n },\n\n //AreaSalesManager\n {\n role: UserRoles.AreaSalesManager,\n screens:\n [\n {\n screenName: 'Quote Generation',\n status: [\n\n EnquiryStatus.SendBOMandProposal,\n EnquiryStatus.EnquiryOrderConfirmedbySalesEngg,\n EnquiryStatus.EnquiryLost,\n EnquiryStatus.OrdersentforMngmtApproval_SalesDirector,\n EnquiryStatus.OrderApprovedbyMngmt_SalesDirector,\n EnquiryStatus.OrderRejectedbyMngmt_SalesDirector,\n EnquiryStatus.OrdersentforMngmtApproval_CEO,\n EnquiryStatus.OrderApprovedbyMngmt_CEO,\n EnquiryStatus.OrderRejectedbyMngmt_CEO,\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'Management Approval',\n status: [\n\n EnquiryStatus.QuotationApprovedbyMngmt_SalesDirector,\n EnquiryStatus.QuotationSentforMngmtApproval_CEO,\n EnquiryStatus.OrderApprovedbyMngmt_SalesDirector,\n EnquiryStatus.OrdersentforMngmtApproval_CEO,\n EnquiryStatus.QuotationApprovedbyMngmt_CEO,\n EnquiryStatus.OrderApprovedbyMngmt_CEO,\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'CEO Approval',\n status: [\n\n EnquiryStatus.QuotationApprovedbyMngmt_CEO,\n EnquiryStatus.OrderApprovedbyMngmt_CEO,\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'Enquiry Confirmation',\n status: [\n\n EnquiryStatus.EnquiryOrderConfirmedbySalesEngg,\n EnquiryStatus.EnquiryLost,\n EnquiryStatus.OrdersentforMngmtApproval_SalesDirector,\n EnquiryStatus.OrderApprovedbyMngmt_SalesDirector,\n EnquiryStatus.OrdersentforMngmtApproval_CEO,\n EnquiryStatus.OrderApprovedbyMngmt_CEO,\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'OAGenerate',\n status: [\n\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n\n {\n screenName: 'Sales Order',\n status: [\n\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'Supply Chain',\n status: [\n\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'Accounts',\n status: [\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n }\n\n ]\n },\n //RegionalSalesManager\n {\n role: UserRoles.RegionalSalesManager,\n screens:\n [\n {\n screenName: 'Quote Generation',\n status: [\n\n EnquiryStatus.SendBOMandProposal,\n EnquiryStatus.EnquiryOrderConfirmedbySalesEngg,\n EnquiryStatus.EnquiryLost,\n EnquiryStatus.OrdersentforMngmtApproval_SalesDirector,\n EnquiryStatus.OrderApprovedbyMngmt_SalesDirector,\n EnquiryStatus.OrderRejectedbyMngmt_SalesDirector,\n EnquiryStatus.OrdersentforMngmtApproval_CEO,\n EnquiryStatus.OrderApprovedbyMngmt_CEO,\n EnquiryStatus.OrderRejectedbyMngmt_CEO,\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'Management Approval',\n status: [\n\n EnquiryStatus.QuotationApprovedbyMngmt_SalesDirector,\n EnquiryStatus.QuotationSentforMngmtApproval_CEO,\n EnquiryStatus.OrderApprovedbyMngmt_SalesDirector,\n EnquiryStatus.OrdersentforMngmtApproval_CEO,\n EnquiryStatus.QuotationApprovedbyMngmt_CEO,\n EnquiryStatus.OrderApprovedbyMngmt_CEO,\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'CEO Approval',\n status: [\n\n EnquiryStatus.QuotationApprovedbyMngmt_CEO,\n EnquiryStatus.OrderApprovedbyMngmt_CEO,\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'Enquiry Confirmation',\n status: [\n\n EnquiryStatus.EnquiryOrderConfirmedbySalesEngg,\n EnquiryStatus.EnquiryLost,\n EnquiryStatus.OrdersentforMngmtApproval_SalesDirector,\n EnquiryStatus.OrderApprovedbyMngmt_SalesDirector,\n EnquiryStatus.OrdersentforMngmtApproval_CEO,\n EnquiryStatus.OrderApprovedbyMngmt_CEO,\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'OAGenerate',\n status: [\n\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n\n {\n screenName: 'Sales Order',\n status: [\n\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'Supply Chain',\n status: [\n\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'Accounts',\n status: [\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n }\n\n ]\n },\n //Executive Business Assistant\n {\n role: UserRoles.ExecutiveBusinessAssistant,\n screens:\n [\n {\n screenName: 'Quote Generation',\n status: [\n\n EnquiryStatus.SendBOMandProposal,\n EnquiryStatus.EnquiryOrderConfirmedbySalesEngg,\n EnquiryStatus.EnquiryLost,\n EnquiryStatus.OrdersentforMngmtApproval_SalesDirector,\n EnquiryStatus.OrderApprovedbyMngmt_SalesDirector,\n EnquiryStatus.OrderRejectedbyMngmt_SalesDirector,\n EnquiryStatus.OrdersentforMngmtApproval_CEO,\n EnquiryStatus.OrderApprovedbyMngmt_CEO,\n EnquiryStatus.OrderRejectedbyMngmt_CEO,\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'Management Approval',\n status: [\n\n EnquiryStatus.QuotationApprovedbyMngmt_SalesDirector,\n EnquiryStatus.QuotationSentforMngmtApproval_CEO,\n EnquiryStatus.OrderApprovedbyMngmt_SalesDirector,\n EnquiryStatus.OrdersentforMngmtApproval_CEO,\n EnquiryStatus.QuotationApprovedbyMngmt_CEO,\n EnquiryStatus.OrderApprovedbyMngmt_CEO,\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'CEO Approval',\n status: [\n\n EnquiryStatus.QuotationApprovedbyMngmt_CEO,\n EnquiryStatus.OrderApprovedbyMngmt_CEO,\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'Enquiry Confirmation',\n status: [\n\n EnquiryStatus.EnquiryOrderConfirmedbySalesEngg,\n EnquiryStatus.EnquiryLost,\n EnquiryStatus.OrdersentforMngmtApproval_SalesDirector,\n EnquiryStatus.OrderApprovedbyMngmt_SalesDirector,\n EnquiryStatus.OrdersentforMngmtApproval_CEO,\n EnquiryStatus.OrderApprovedbyMngmt_CEO,\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'OAGenerate',\n status: [\n\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n\n {\n screenName: 'Sales Order',\n status: [\n\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'Supply Chain',\n status: [\n\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'Accounts',\n status: [\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n }\n\n ]\n },\n //Agent\n {\n role: UserRoles.Agent,\n screens:\n [\n {\n screenName: 'Quote Generation',\n status: [\n\n EnquiryStatus.SendBOMandProposal,\n EnquiryStatus.EnquiryOrderConfirmedbySalesEngg,\n EnquiryStatus.EnquiryLost,\n EnquiryStatus.OrdersentforMngmtApproval_SalesDirector,\n EnquiryStatus.OrderApprovedbyMngmt_SalesDirector,\n EnquiryStatus.OrderRejectedbyMngmt_SalesDirector,\n EnquiryStatus.OrdersentforMngmtApproval_CEO,\n EnquiryStatus.OrderApprovedbyMngmt_CEO,\n EnquiryStatus.OrderRejectedbyMngmt_CEO,\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'Management Approval',\n status: [\n\n EnquiryStatus.QuotationApprovedbyMngmt_SalesDirector,\n EnquiryStatus.QuotationSentforMngmtApproval_CEO,\n EnquiryStatus.OrderApprovedbyMngmt_SalesDirector,\n EnquiryStatus.OrdersentforMngmtApproval_CEO,\n EnquiryStatus.QuotationApprovedbyMngmt_CEO,\n EnquiryStatus.OrderApprovedbyMngmt_CEO,\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'CEO Approval',\n status: [\n\n EnquiryStatus.QuotationApprovedbyMngmt_CEO,\n EnquiryStatus.OrderApprovedbyMngmt_CEO,\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'Enquiry Confirmation',\n status: [\n\n EnquiryStatus.EnquiryOrderConfirmedbySalesEngg,\n EnquiryStatus.EnquiryLost,\n EnquiryStatus.OrdersentforMngmtApproval_SalesDirector,\n EnquiryStatus.OrderApprovedbyMngmt_SalesDirector,\n EnquiryStatus.OrdersentforMngmtApproval_CEO,\n EnquiryStatus.OrderApprovedbyMngmt_CEO,\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n\n\n {\n screenName: 'Sales Order',\n status: [\n\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'OAGenerate',\n status: [\n\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'Supply Chain',\n status: [\n\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'Accounts',\n status: [\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n }\n\n ]\n },\n //Distributor\n {\n role: UserRoles.Distributor,\n screens:\n [\n {\n screenName: 'Quote Generation',\n status: [\n\n EnquiryStatus.SendBOMandProposal,\n EnquiryStatus.EnquiryOrderConfirmedbySalesEngg,\n EnquiryStatus.EnquiryLost,\n EnquiryStatus.OrdersentforMngmtApproval_SalesDirector,\n EnquiryStatus.OrderApprovedbyMngmt_SalesDirector,\n EnquiryStatus.OrderRejectedbyMngmt_SalesDirector,\n EnquiryStatus.OrdersentforMngmtApproval_CEO,\n EnquiryStatus.OrderApprovedbyMngmt_CEO,\n EnquiryStatus.OrderRejectedbyMngmt_CEO,\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'Management Approval',\n status: [\n\n EnquiryStatus.QuotationApprovedbyMngmt_SalesDirector,\n EnquiryStatus.QuotationSentforMngmtApproval_CEO,\n EnquiryStatus.OrderApprovedbyMngmt_SalesDirector,\n EnquiryStatus.OrdersentforMngmtApproval_CEO,\n EnquiryStatus.QuotationApprovedbyMngmt_CEO,\n EnquiryStatus.OrderApprovedbyMngmt_CEO,\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'CEO Approval',\n status: [\n\n EnquiryStatus.QuotationApprovedbyMngmt_CEO,\n EnquiryStatus.OrderApprovedbyMngmt_CEO,\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'Enquiry Confirmation',\n status: [\n\n EnquiryStatus.EnquiryOrderConfirmedbySalesEngg,\n EnquiryStatus.EnquiryLost,\n EnquiryStatus.OrdersentforMngmtApproval_SalesDirector,\n EnquiryStatus.OrderApprovedbyMngmt_SalesDirector,\n EnquiryStatus.OrdersentforMngmtApproval_CEO,\n EnquiryStatus.OrderApprovedbyMngmt_CEO,\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n\n\n {\n screenName: 'Sales Order',\n status: [\n\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'OAGenerate',\n status: [\n\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'Supply Chain',\n status: [\n\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'Accounts',\n status: [\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n }\n\n ]\n },\n //ChannelPartner\n {\n role: UserRoles.ChannelPartner,\n screens:\n [\n {\n screenName: 'Quote Generation',\n status: [\n\n EnquiryStatus.SendBOMandProposal,\n EnquiryStatus.EnquiryOrderConfirmedbySalesEngg,\n EnquiryStatus.EnquiryLost,\n EnquiryStatus.OrdersentforMngmtApproval_SalesDirector,\n EnquiryStatus.OrderApprovedbyMngmt_SalesDirector,\n EnquiryStatus.OrderRejectedbyMngmt_SalesDirector,\n EnquiryStatus.OrdersentforMngmtApproval_CEO,\n EnquiryStatus.OrderApprovedbyMngmt_CEO,\n EnquiryStatus.OrderRejectedbyMngmt_CEO,\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'Management Approval',\n status: [\n\n EnquiryStatus.QuotationApprovedbyMngmt_SalesDirector,\n EnquiryStatus.QuotationSentforMngmtApproval_CEO,\n EnquiryStatus.OrderApprovedbyMngmt_SalesDirector,\n EnquiryStatus.OrdersentforMngmtApproval_CEO,\n EnquiryStatus.QuotationApprovedbyMngmt_CEO,\n EnquiryStatus.OrderApprovedbyMngmt_CEO,\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'CEO Approval',\n status: [\n\n EnquiryStatus.QuotationApprovedbyMngmt_CEO,\n EnquiryStatus.OrderApprovedbyMngmt_CEO,\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'Enquiry Confirmation',\n status: [\n\n EnquiryStatus.EnquiryOrderConfirmedbySalesEngg,\n EnquiryStatus.EnquiryLost,\n EnquiryStatus.OrdersentforMngmtApproval_SalesDirector,\n EnquiryStatus.OrderApprovedbyMngmt_SalesDirector,\n EnquiryStatus.OrdersentforMngmtApproval_CEO,\n EnquiryStatus.OrderApprovedbyMngmt_CEO,\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n\n\n {\n screenName: 'Sales Order',\n status: [\n\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'OAGenerate',\n status: [\n\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'Supply Chain',\n status: [\n\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'Accounts',\n status: [\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n }\n\n ]\n },\n //L1\n {\n role: UserRoles.L1,\n screens:\n [\n {\n screenName: 'Quote Generation',\n status: [\n EnquiryStatus.RFQsentbyL1toL2,\n EnquiryStatus.RFQsentbyL2toL3,\n EnquiryStatus.QuotationSaveAsDraftbyL2,\n EnquiryStatus.QuotationSaveAsDraftbyL3,\n EnquiryStatus.QuotationSaveAsDraftbyCustomerService,\n EnquiryStatus.QuotationPriceOnRequestbyL2,\n EnquiryStatus.QuotationPriceOnRequestbyL3,\n EnquiryStatus.QuotationPriceOnRequestbyCustomerService,\n EnquiryStatus.QuotationGeneratedbyL2,\n EnquiryStatus.QuotationGeneratedbyL3,\n EnquiryStatus.QuotationGeneratedbyCustomerService,\n EnquiryStatus.QuotationsentbyL3toL2,\n EnquiryStatus.QuotationSenttoCustomerService,\n EnquiryStatus.QuotationSentforMngtApproval_SalesDirector,\n EnquiryStatus.QuotationApprovedbyMngmt_SalesDirector,\n EnquiryStatus.QuotationOnHoldbyMngmt_SalesDirector,\n EnquiryStatus.QuotationSentforMngmtApproval_CEO,\n EnquiryStatus.QuotationApprovedbyMngmt_CEO,\n EnquiryStatus.QuotationOnHoldbyMngmt_CEO,\n EnquiryStatus.SendBOMandProposal,\n EnquiryStatus.EnquiryOrderConfirmedbySalesEngg,\n EnquiryStatus.EnquiryLost,\n EnquiryStatus.OrdersentforMngmtApproval_SalesDirector,\n EnquiryStatus.OrderApprovedbyMngmt_SalesDirector,\n EnquiryStatus.OrderRejectedbyMngmt_SalesDirector,\n EnquiryStatus.OrdersentforMngmtApproval_CEO,\n EnquiryStatus.OrderApprovedbyMngmt_CEO,\n EnquiryStatus.OrderRejectedbyMngmt_CEO,\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'Management Approval',\n status: [\n\n EnquiryStatus.QuotationApprovedbyMngmt_SalesDirector,\n EnquiryStatus.QuotationSentforMngmtApproval_CEO,\n EnquiryStatus.OrderApprovedbyMngmt_SalesDirector,\n EnquiryStatus.OrdersentforMngmtApproval_CEO,\n EnquiryStatus.QuotationApprovedbyMngmt_CEO,\n EnquiryStatus.OrderApprovedbyMngmt_CEO,\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'CEO Approval',\n status: [\n\n EnquiryStatus.QuotationApprovedbyMngmt_CEO,\n EnquiryStatus.OrderApprovedbyMngmt_CEO,\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'Enquiry Confirmation',\n status: [\n\n EnquiryStatus.EnquiryOrderConfirmedbySalesEngg,\n EnquiryStatus.EnquiryLost,\n EnquiryStatus.OrdersentforMngmtApproval_SalesDirector,\n EnquiryStatus.OrderApprovedbyMngmt_SalesDirector,\n EnquiryStatus.OrdersentforMngmtApproval_CEO,\n EnquiryStatus.OrderApprovedbyMngmt_CEO,\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'OAGenerate',\n status: [\n\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n\n {\n screenName: 'Sales Order',\n status: [\n\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'Supply Chain',\n status: [\n\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'Accounts',\n status: [\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n }\n ]\n },\n //L2\n {\n role: UserRoles.L2,\n screens:\n [\n {\n screenName: 'Quote Generation',\n status: [\n EnquiryStatus.RFQsentbyL2toL3,\n EnquiryStatus.QuotationSaveAsDraftbyL1,\n EnquiryStatus.QuotationSaveAsDraftbyL3,\n EnquiryStatus.QuotationSaveAsDraftbyCustomerService,\n EnquiryStatus.QuotationPriceOnRequestbyL1,\n EnquiryStatus.QuotationPriceOnRequestbyL3,\n EnquiryStatus.QuotationPriceOnRequestbyCustomerService,\n EnquiryStatus.QuotationGeneratedbyL1,\n EnquiryStatus.QuotationGeneratedbyL3,\n EnquiryStatus.QuotationGeneratedbyCustomerService,\n EnquiryStatus.QuotationsentbyL2toL1,\n EnquiryStatus.QuotationSenttoCustomerService,\n EnquiryStatus.QuotationSentforMngtApproval_SalesDirector,\n EnquiryStatus.QuotationApprovedbyMngmt_SalesDirector,\n EnquiryStatus.QuotationOnHoldbyMngmt_SalesDirector,\n EnquiryStatus.QuotationSentforMngmtApproval_CEO,\n EnquiryStatus.QuotationApprovedbyMngmt_CEO,\n EnquiryStatus.QuotationOnHoldbyMngmt_CEO,\n EnquiryStatus.SendBOMandProposal,\n EnquiryStatus.EnquiryOrderConfirmedbySalesEngg,\n EnquiryStatus.EnquiryLost,\n EnquiryStatus.OrdersentforMngmtApproval_SalesDirector,\n EnquiryStatus.OrderApprovedbyMngmt_SalesDirector,\n EnquiryStatus.OrderRejectedbyMngmt_SalesDirector,\n EnquiryStatus.OrdersentforMngmtApproval_CEO,\n EnquiryStatus.OrderApprovedbyMngmt_CEO,\n EnquiryStatus.OrderRejectedbyMngmt_CEO,\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'Management Approval',\n status: [\n\n EnquiryStatus.QuotationApprovedbyMngmt_SalesDirector,\n EnquiryStatus.QuotationSentforMngmtApproval_CEO,\n EnquiryStatus.OrderApprovedbyMngmt_SalesDirector,\n EnquiryStatus.OrdersentforMngmtApproval_CEO,\n EnquiryStatus.QuotationApprovedbyMngmt_CEO,\n EnquiryStatus.OrderApprovedbyMngmt_CEO,\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'CEO Approval',\n status: [\n\n EnquiryStatus.QuotationApprovedbyMngmt_CEO,\n EnquiryStatus.OrderApprovedbyMngmt_CEO,\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'Enquiry Confirmation',\n status: [\n\n EnquiryStatus.EnquiryOrderConfirmedbySalesEngg,\n EnquiryStatus.EnquiryLost,\n EnquiryStatus.OrdersentforMngmtApproval_SalesDirector,\n EnquiryStatus.OrderApprovedbyMngmt_SalesDirector,\n EnquiryStatus.OrdersentforMngmtApproval_CEO,\n EnquiryStatus.OrderApprovedbyMngmt_CEO,\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n\n\n {\n screenName: 'Sales Order',\n status: [\n\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'OAGenerate',\n status: [\n\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'Supply Chain',\n status: [\n\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'Accounts',\n status: [\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n }\n ]\n },\n //L3\n {\n role: UserRoles.L3,\n screens:\n [\n {\n screenName: 'Quote Generation',\n status: [\n EnquiryStatus.QuotationsentbyL3toL2,\n EnquiryStatus.QuotationsentbyL2toL1,\n EnquiryStatus.QuotationSaveAsDraftbyCustomerService,\n EnquiryStatus.QuotationPriceOnRequestbyCustomerService,\n EnquiryStatus.QuotationGeneratedbyCustomerService,\n EnquiryStatus.QuotationSenttoCustomerService,\n EnquiryStatus.QuotationSentforMngtApproval_SalesDirector,\n EnquiryStatus.QuotationApprovedbyMngmt_SalesDirector,\n EnquiryStatus.QuotationOnHoldbyMngmt_SalesDirector,\n EnquiryStatus.QuotationSentforMngmtApproval_CEO,\n EnquiryStatus.QuotationApprovedbyMngmt_CEO,\n EnquiryStatus.QuotationOnHoldbyMngmt_CEO,\n EnquiryStatus.SendBOMandProposal,\n EnquiryStatus.EnquiryOrderConfirmedbySalesEngg,\n EnquiryStatus.EnquiryLost,\n EnquiryStatus.OrdersentforMngmtApproval_SalesDirector,\n EnquiryStatus.OrderApprovedbyMngmt_SalesDirector,\n EnquiryStatus.OrderRejectedbyMngmt_SalesDirector,\n EnquiryStatus.OrdersentforMngmtApproval_CEO,\n EnquiryStatus.OrderApprovedbyMngmt_CEO,\n EnquiryStatus.OrderRejectedbyMngmt_CEO,\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'Management Approval',\n status: [\n\n EnquiryStatus.QuotationApprovedbyMngmt_SalesDirector,\n EnquiryStatus.QuotationSentforMngmtApproval_CEO,\n EnquiryStatus.OrderApprovedbyMngmt_SalesDirector,\n EnquiryStatus.OrdersentforMngmtApproval_CEO,\n EnquiryStatus.QuotationApprovedbyMngmt_CEO,\n EnquiryStatus.OrderApprovedbyMngmt_CEO,\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'CEO Approval',\n status: [\n\n EnquiryStatus.QuotationApprovedbyMngmt_CEO,\n EnquiryStatus.OrderApprovedbyMngmt_CEO,\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'Enquiry Confirmation',\n status: [\n\n EnquiryStatus.EnquiryOrderConfirmedbySalesEngg,\n EnquiryStatus.EnquiryLost,\n EnquiryStatus.OrdersentforMngmtApproval_SalesDirector,\n EnquiryStatus.OrderApprovedbyMngmt_SalesDirector,\n EnquiryStatus.OrdersentforMngmtApproval_CEO,\n EnquiryStatus.OrderApprovedbyMngmt_CEO,\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n\n\n {\n screenName: 'Sales Order',\n status: [\n\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'OAGenerate',\n status: [\n\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'Supply Chain',\n status: [\n\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'Accounts',\n status: [\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n }\n ]\n },\n //CustomerService\n {\n role: UserRoles.CustomerService,\n screens:\n [\n {\n screenName: 'Quote Generation',\n status: [\n EnquiryStatus.QuotationSentforMngtApproval_SalesDirector,\n EnquiryStatus.QuotationOnHoldbyMngmt_SalesDirector,\n EnquiryStatus.QuotationApprovedbyMngmt_SalesDirector,\n EnquiryStatus.QuotationSentforMngmtApproval_CEO,\n EnquiryStatus.QuotationOnHoldbyMngmt_CEO,\n EnquiryStatus.QuotationApprovedbyMngmt_CEO,\n EnquiryStatus.QuotationSentforMngtApproval_SalesDirector,\n EnquiryStatus.SendBOMandProposal,\n EnquiryStatus.EnquiryLost,\n EnquiryStatus.OrdersentforMngmtApproval_SalesDirector,\n EnquiryStatus.OrderApprovedbyMngmt_SalesDirector,\n EnquiryStatus.OrderRejectedbyMngmt_SalesDirector,\n EnquiryStatus.OrdersentforMngmtApproval_CEO,\n EnquiryStatus.OrderApprovedbyMngmt_CEO,\n EnquiryStatus.OrderRejectedbyMngmt_CEO,\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'Sales Order',\n status: [\n EnquiryStatus.OrdersentforMngmtApproval_SalesDirector,\n EnquiryStatus.OrdersentforMngmtApproval_CEO,\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'Management Approval',\n status: [\n\n EnquiryStatus.QuotationApprovedbyMngmt_SalesDirector,\n EnquiryStatus.QuotationSentforMngmtApproval_CEO,\n EnquiryStatus.OrderApprovedbyMngmt_SalesDirector,\n EnquiryStatus.OrdersentforMngmtApproval_CEO,\n EnquiryStatus.QuotationApprovedbyMngmt_CEO,\n EnquiryStatus.OrderApprovedbyMngmt_CEO,\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'CEO Approval',\n status: [\n\n EnquiryStatus.QuotationApprovedbyMngmt_CEO,\n EnquiryStatus.OrderApprovedbyMngmt_CEO,\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'Enquiry Confirmation',\n status: [\n\n EnquiryStatus.EnquiryOrderConfirmedbySalesEngg,\n EnquiryStatus.EnquiryLost,\n EnquiryStatus.OrdersentforMngmtApproval_SalesDirector,\n EnquiryStatus.OrderApprovedbyMngmt_SalesDirector,\n EnquiryStatus.OrdersentforMngmtApproval_CEO,\n EnquiryStatus.OrderApprovedbyMngmt_CEO,\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'OAGenerate',\n status: [\n\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n\n {\n screenName: 'Supply Chain',\n status: [\n\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'Accounts',\n status: [\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n }\n ]\n },\n //SalesDirector\n {\n role: UserRoles.SalesDirector,\n screens:\n [\n {\n screenName: 'Management Approval',\n status: [\n EnquiryStatus.QuotationSentforMngmtApproval_CEO,\n EnquiryStatus.QuotationRejectedbyMngmt_SalesDirector,\n EnquiryStatus.QuotationRejectedbyMngmt_CEO,\n EnquiryStatus.QuotationApprovedbyMngmt_CEO,\n EnquiryStatus.QuotationOnHoldbyMngmt_CEO,\n EnquiryStatus.SendBOMandProposal,\n EnquiryStatus.EnquiryOrderConfirmedbySalesEngg,\n EnquiryStatus.EnquiryLost,\n EnquiryStatus.OrderRejectedbyMngmt_SalesDirector,\n EnquiryStatus.OrdersentforMngmtApproval_CEO,\n EnquiryStatus.OrderApprovedbyMngmt_CEO,\n EnquiryStatus.OrderRejectedbyMngmt_CEO,\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'Quote Generation',\n status: [\n\n EnquiryStatus.SendBOMandProposal,\n EnquiryStatus.EnquiryOrderConfirmedbySalesEngg,\n EnquiryStatus.EnquiryLost,\n EnquiryStatus.QuotationApprovedbyMngmt_SalesDirector,\n EnquiryStatus.QuotationApprovedbyMngmt_CEO,\n EnquiryStatus.OrdersentforMngmtApproval_SalesDirector,\n EnquiryStatus.OrderApprovedbyMngmt_SalesDirector,\n EnquiryStatus.OrderRejectedbyMngmt_SalesDirector,\n EnquiryStatus.OrdersentforMngmtApproval_CEO,\n EnquiryStatus.OrderApprovedbyMngmt_CEO,\n EnquiryStatus.OrderRejectedbyMngmt_CEO,\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'CEO Approval',\n status: [\n\n EnquiryStatus.QuotationApprovedbyMngmt_CEO,\n EnquiryStatus.OrderApprovedbyMngmt_CEO,\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'Enquiry Confirmation',\n status: [\n\n EnquiryStatus.EnquiryOrderConfirmedbySalesEngg,\n EnquiryStatus.EnquiryLost,\n EnquiryStatus.OrdersentforMngmtApproval_SalesDirector,\n EnquiryStatus.OrderApprovedbyMngmt_SalesDirector,\n EnquiryStatus.OrdersentforMngmtApproval_CEO,\n EnquiryStatus.OrderApprovedbyMngmt_CEO,\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n\n\n {\n screenName: 'Sales Order',\n status: [\n EnquiryStatus.OrderApprovedbyMngmt_SalesDirector,\n EnquiryStatus.OrderApprovedbyMngmt_CEO,\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'OAGenerate',\n status: [\n\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'Supply Chain',\n status: [\n\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'Accounts',\n status: [\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n }\n\n ]\n },\n //CEO\n {\n role: UserRoles.CEO,\n screens:\n [\n {\n screenName: 'CEO Approval',\n status: [\n EnquiryStatus.QuotationApprovedbyMngmt_CEO,\n EnquiryStatus.QuotationRejectedbyMngmt_CEO,\n EnquiryStatus.QuotationRejectedbyMngmt_SalesDirector,\n EnquiryStatus.SendBOMandProposal,\n EnquiryStatus.EnquiryOrderConfirmedbySalesEngg,\n EnquiryStatus.EnquiryLost,\n EnquiryStatus.OrderApprovedbyMngmt_CEO,\n EnquiryStatus.OrderRejectedbyMngmt_CEO,\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n\n\n ]\n },\n {\n screenName: 'Management Approval',\n status: [\n\n EnquiryStatus.QuotationApprovedbyMngmt_SalesDirector,\n EnquiryStatus.QuotationSentforMngmtApproval_CEO,\n EnquiryStatus.QuotationApprovedbyMngmt_CEO,\n EnquiryStatus.QuotationOnHoldbyMngmt_CEO,\n EnquiryStatus.OrderApprovedbyMngmt_SalesDirector,\n EnquiryStatus.OrdersentforMngmtApproval_CEO,\n EnquiryStatus.OrderApprovedbyMngmt_CEO,\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'Quote Generation',\n status: [\n\n EnquiryStatus.SendBOMandProposal,\n EnquiryStatus.EnquiryOrderConfirmedbySalesEngg,\n EnquiryStatus.EnquiryLost,\n EnquiryStatus.QuotationApprovedbyMngmt_SalesDirector,\n EnquiryStatus.QuotationApprovedbyMngmt_CEO,\n EnquiryStatus.OrdersentforMngmtApproval_SalesDirector,\n EnquiryStatus.OrderApprovedbyMngmt_SalesDirector,\n EnquiryStatus.OrderRejectedbyMngmt_SalesDirector,\n EnquiryStatus.OrdersentforMngmtApproval_CEO,\n EnquiryStatus.OrderApprovedbyMngmt_CEO,\n EnquiryStatus.OrderRejectedbyMngmt_CEO,\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'Enquiry Confirmation',\n status: [\n\n EnquiryStatus.EnquiryOrderConfirmedbySalesEngg,\n EnquiryStatus.EnquiryLost,\n EnquiryStatus.OrdersentforMngmtApproval_SalesDirector,\n EnquiryStatus.OrderApprovedbyMngmt_SalesDirector,\n EnquiryStatus.OrdersentforMngmtApproval_CEO,\n EnquiryStatus.OrderApprovedbyMngmt_CEO,\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n\n\n {\n screenName: 'Sales Order',\n status: [\n EnquiryStatus.OrderApprovedbyMngmt_SalesDirector,\n EnquiryStatus.OrderApprovedbyMngmt_CEO,\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'OAGenerate',\n status: [\n\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'Supply Chain',\n status: [\n\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'Accounts',\n status: [\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n }\n ]\n },\n //SupplyChain\n {\n role: UserRoles.SupplyChain,\n screens:\n [\n\n {\n screenName: 'Quote Generation',\n status: [\n\n EnquiryStatus.SendBOMandProposal,\n EnquiryStatus.EnquiryOrderConfirmedbySalesEngg,\n EnquiryStatus.EnquiryLost,\n EnquiryStatus.OrdersentforMngmtApproval_SalesDirector,\n EnquiryStatus.OrderApprovedbyMngmt_SalesDirector,\n EnquiryStatus.OrderRejectedbyMngmt_SalesDirector,\n EnquiryStatus.OrdersentforMngmtApproval_CEO,\n EnquiryStatus.OrderApprovedbyMngmt_CEO,\n EnquiryStatus.OrderRejectedbyMngmt_CEO,\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n\n {\n screenName: 'Management Approval',\n status: [\n\n EnquiryStatus.QuotationApprovedbyMngmt_SalesDirector,\n EnquiryStatus.QuotationSentforMngmtApproval_CEO,\n EnquiryStatus.OrderApprovedbyMngmt_SalesDirector,\n EnquiryStatus.OrdersentforMngmtApproval_CEO,\n EnquiryStatus.QuotationApprovedbyMngmt_CEO,\n EnquiryStatus.OrderApprovedbyMngmt_CEO,\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'CEO Approval',\n status: [\n\n EnquiryStatus.QuotationApprovedbyMngmt_CEO,\n EnquiryStatus.OrderApprovedbyMngmt_CEO,\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'Enquiry Confirmation',\n status: [\n\n EnquiryStatus.EnquiryOrderConfirmedbySalesEngg,\n EnquiryStatus.EnquiryLost,\n EnquiryStatus.OrdersentforMngmtApproval_SalesDirector,\n EnquiryStatus.OrderApprovedbyMngmt_SalesDirector,\n EnquiryStatus.OrdersentforMngmtApproval_CEO,\n EnquiryStatus.OrderApprovedbyMngmt_CEO,\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n\n {\n screenName: 'Sales Order',\n status: [\n\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'OAGenerate',\n status: [\n\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'Supply Chain',\n status: [\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'Accounts',\n status: [\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n }\n\n ]\n },\n //FinanceAccounts\n {\n role: UserRoles.FinanceAccounts,\n screens:\n [\n {\n screenName: 'Quote Generation',\n status: [\n\n EnquiryStatus.SendBOMandProposal,\n EnquiryStatus.EnquiryOrderConfirmedbySalesEngg,\n EnquiryStatus.EnquiryLost,\n EnquiryStatus.OrdersentforMngmtApproval_SalesDirector,\n EnquiryStatus.OrderApprovedbyMngmt_SalesDirector,\n EnquiryStatus.OrderRejectedbyMngmt_SalesDirector,\n EnquiryStatus.OrdersentforMngmtApproval_CEO,\n EnquiryStatus.OrderApprovedbyMngmt_CEO,\n EnquiryStatus.OrderRejectedbyMngmt_CEO,\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n\n {\n screenName: 'Management Approval',\n status: [\n\n EnquiryStatus.QuotationApprovedbyMngmt_SalesDirector,\n EnquiryStatus.QuotationSentforMngmtApproval_CEO,\n EnquiryStatus.OrderApprovedbyMngmt_SalesDirector,\n EnquiryStatus.OrdersentforMngmtApproval_CEO,\n EnquiryStatus.QuotationApprovedbyMngmt_CEO,\n EnquiryStatus.OrderApprovedbyMngmt_CEO,\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'CEO Approval',\n status: [\n\n EnquiryStatus.QuotationApprovedbyMngmt_CEO,\n EnquiryStatus.OrderApprovedbyMngmt_CEO,\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'Enquiry Confirmation',\n status: [\n\n EnquiryStatus.EnquiryOrderConfirmedbySalesEngg,\n EnquiryStatus.EnquiryLost,\n EnquiryStatus.OrdersentforMngmtApproval_SalesDirector,\n EnquiryStatus.OrderApprovedbyMngmt_SalesDirector,\n EnquiryStatus.OrdersentforMngmtApproval_CEO,\n EnquiryStatus.OrderApprovedbyMngmt_CEO,\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n\n {\n screenName: 'Sales Order',\n status: [\n\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'OAGenerate',\n status: [\n\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'Supply Chain',\n status: [\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'Accounts',\n status: [\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n }\n\n ]\n\n },\n //BusinessDevelopment\n {\n role: UserRoles.BusinessDevelopment,\n screens:\n [\n {\n screenName: 'Quote Generation',\n status: [\n\n EnquiryStatus.SendBOMandProposal,\n EnquiryStatus.EnquiryOrderConfirmedbySalesEngg,\n EnquiryStatus.EnquiryLost,\n EnquiryStatus.OrdersentforMngmtApproval_SalesDirector,\n EnquiryStatus.OrderApprovedbyMngmt_SalesDirector,\n EnquiryStatus.OrderRejectedbyMngmt_SalesDirector,\n EnquiryStatus.OrdersentforMngmtApproval_CEO,\n EnquiryStatus.OrderApprovedbyMngmt_CEO,\n EnquiryStatus.OrderRejectedbyMngmt_CEO,\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n\n {\n screenName: 'Management Approval',\n status: [\n\n EnquiryStatus.QuotationApprovedbyMngmt_SalesDirector,\n EnquiryStatus.QuotationSentforMngmtApproval_CEO,\n EnquiryStatus.OrderApprovedbyMngmt_SalesDirector,\n EnquiryStatus.OrdersentforMngmtApproval_CEO,\n EnquiryStatus.QuotationApprovedbyMngmt_CEO,\n EnquiryStatus.OrderApprovedbyMngmt_CEO,\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'CEO Approval',\n status: [\n\n EnquiryStatus.QuotationApprovedbyMngmt_CEO,\n EnquiryStatus.OrderApprovedbyMngmt_CEO,\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'Enquiry Confirmation',\n status: [\n\n EnquiryStatus.EnquiryOrderConfirmedbySalesEngg,\n EnquiryStatus.EnquiryLost,\n EnquiryStatus.OrdersentforMngmtApproval_SalesDirector,\n EnquiryStatus.OrderApprovedbyMngmt_SalesDirector,\n EnquiryStatus.OrdersentforMngmtApproval_CEO,\n EnquiryStatus.OrderApprovedbyMngmt_CEO,\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n\n {\n screenName: 'Sales Order',\n status: [\n\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'OAGenerate',\n status: [\n\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'Supply Chain',\n status: [\n\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'Accounts',\n status: [\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n }\n\n ]\n },\n //Marketing\n {\n role: UserRoles.Marketing,\n screens:\n [\n {\n screenName: 'Quote Generation',\n status: [\n\n EnquiryStatus.SendBOMandProposal,\n EnquiryStatus.EnquiryOrderConfirmedbySalesEngg,\n EnquiryStatus.EnquiryLost,\n EnquiryStatus.OrdersentforMngmtApproval_SalesDirector,\n EnquiryStatus.OrderApprovedbyMngmt_SalesDirector,\n EnquiryStatus.OrderRejectedbyMngmt_SalesDirector,\n EnquiryStatus.OrdersentforMngmtApproval_CEO,\n EnquiryStatus.OrderApprovedbyMngmt_CEO,\n EnquiryStatus.OrderRejectedbyMngmt_CEO,\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n\n {\n screenName: 'Management Approval',\n status: [\n\n EnquiryStatus.QuotationApprovedbyMngmt_SalesDirector,\n EnquiryStatus.QuotationSentforMngmtApproval_CEO,\n EnquiryStatus.OrderApprovedbyMngmt_SalesDirector,\n EnquiryStatus.OrdersentforMngmtApproval_CEO,\n EnquiryStatus.QuotationApprovedbyMngmt_CEO,\n EnquiryStatus.OrderApprovedbyMngmt_CEO,\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'CEO Approval',\n status: [\n\n EnquiryStatus.QuotationApprovedbyMngmt_CEO,\n EnquiryStatus.OrderApprovedbyMngmt_CEO,\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'Enquiry Confirmation',\n status: [\n\n EnquiryStatus.EnquiryOrderConfirmedbySalesEngg,\n EnquiryStatus.EnquiryLost,\n EnquiryStatus.OrdersentforMngmtApproval_SalesDirector,\n EnquiryStatus.OrderApprovedbyMngmt_SalesDirector,\n EnquiryStatus.OrdersentforMngmtApproval_CEO,\n EnquiryStatus.OrderApprovedbyMngmt_CEO,\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n\n {\n screenName: 'Sales Order',\n status: [\n\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'OAGenerate',\n status: [\n\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'Supply Chain',\n status: [\n\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'Accounts',\n status: [\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n }\n\n ]\n },\n //ProductManager\n {\n role: UserRoles.ProductManager,\n screens:\n [\n {\n screenName: 'Quote Generation',\n status: [\n\n EnquiryStatus.SendBOMandProposal,\n EnquiryStatus.EnquiryOrderConfirmedbySalesEngg,\n EnquiryStatus.EnquiryLost,\n EnquiryStatus.OrdersentforMngmtApproval_SalesDirector,\n EnquiryStatus.OrderApprovedbyMngmt_SalesDirector,\n EnquiryStatus.OrderRejectedbyMngmt_SalesDirector,\n EnquiryStatus.OrdersentforMngmtApproval_CEO,\n EnquiryStatus.OrderApprovedbyMngmt_CEO,\n EnquiryStatus.OrderRejectedbyMngmt_CEO,\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n\n {\n screenName: 'Management Approval',\n status: [\n\n EnquiryStatus.QuotationApprovedbyMngmt_SalesDirector,\n EnquiryStatus.QuotationSentforMngmtApproval_CEO,\n EnquiryStatus.OrderApprovedbyMngmt_SalesDirector,\n EnquiryStatus.OrdersentforMngmtApproval_CEO,\n EnquiryStatus.QuotationApprovedbyMngmt_CEO,\n EnquiryStatus.OrderApprovedbyMngmt_CEO,\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'CEO Approval',\n status: [\n\n EnquiryStatus.QuotationApprovedbyMngmt_CEO,\n EnquiryStatus.OrderApprovedbyMngmt_CEO,\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'Enquiry Confirmation',\n status: [\n\n EnquiryStatus.EnquiryOrderConfirmedbySalesEngg,\n EnquiryStatus.EnquiryLost,\n EnquiryStatus.OrdersentforMngmtApproval_SalesDirector,\n EnquiryStatus.OrderApprovedbyMngmt_SalesDirector,\n EnquiryStatus.OrdersentforMngmtApproval_CEO,\n EnquiryStatus.OrderApprovedbyMngmt_CEO,\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n\n {\n screenName: 'Sales Order',\n status: [\n\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'OAGenerate',\n status: [\n\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'Supply Chain',\n status: [\n\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'Accounts',\n status: [\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n }\n\n ]\n },\n\n //Manager Solutions Factory & Localization\n {\n role: UserRoles.ManagerSolutionsFactoryAndLocalization,\n screens:\n [\n {\n screenName: 'Quote Generation',\n status: [\n\n EnquiryStatus.SendBOMandProposal,\n EnquiryStatus.EnquiryOrderConfirmedbySalesEngg,\n EnquiryStatus.EnquiryLost,\n EnquiryStatus.OrdersentforMngmtApproval_SalesDirector,\n EnquiryStatus.OrderApprovedbyMngmt_SalesDirector,\n EnquiryStatus.OrderRejectedbyMngmt_SalesDirector,\n EnquiryStatus.OrdersentforMngmtApproval_CEO,\n EnquiryStatus.OrderApprovedbyMngmt_CEO,\n EnquiryStatus.OrderRejectedbyMngmt_CEO,\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n\n {\n screenName: 'Management Approval',\n status: [\n\n EnquiryStatus.QuotationApprovedbyMngmt_SalesDirector,\n EnquiryStatus.QuotationSentforMngmtApproval_CEO,\n EnquiryStatus.OrderApprovedbyMngmt_SalesDirector,\n EnquiryStatus.OrdersentforMngmtApproval_CEO,\n EnquiryStatus.QuotationApprovedbyMngmt_CEO,\n EnquiryStatus.OrderApprovedbyMngmt_CEO,\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'CEO Approval',\n status: [\n\n EnquiryStatus.QuotationApprovedbyMngmt_CEO,\n EnquiryStatus.OrderApprovedbyMngmt_CEO,\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'Enquiry Confirmation',\n status: [\n\n EnquiryStatus.EnquiryOrderConfirmedbySalesEngg,\n EnquiryStatus.EnquiryLost,\n EnquiryStatus.OrdersentforMngmtApproval_SalesDirector,\n EnquiryStatus.OrderApprovedbyMngmt_SalesDirector,\n EnquiryStatus.OrdersentforMngmtApproval_CEO,\n EnquiryStatus.OrderApprovedbyMngmt_CEO,\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n\n {\n screenName: 'Sales Order',\n status: [\n\n EnquiryStatus.OrderConfirmedbyCustomerServiceSendSO,\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'OAGenerate',\n status: [\n\n EnquiryStatus.OANoGenerated,\n EnquiryStatus.SupplyChainConfirmedDeliveryDate,\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'Supply Chain',\n status: [\n EnquiryStatus.MaterialReadyForDispatch,\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n },\n {\n screenName: 'Accounts',\n status: [\n EnquiryStatus.AccountsConfirmInvoiceNo,\n ]\n }\n\n ]\n },\n ],\n\n successMessages: [\n { id: 1, status: 'EnquiryAdded', confirmmsg: '', successmsg: 'Enquiry details added successfully!', errormsg: 'Failed to add the Enquiry details!' },\n { id: 2, status: 'RFQSaveAsDraft', confirmmsg: 'Do you want to save RFQ as Draft?', successmsg: 'RFQ details saved successfully!', errormsg: 'Failed to saved the RFQ Details!' },\n { id: 3, status: 'RFQSubmittedbySalesEngg', confirmmsg: 'Do you want to submit RFQ details?', successmsg: 'RFQ Details submitted successfully!', errormsg: 'Failed to submit the RFQ Details!' },\n { id: 4, status: 'RFQAcceptedbyL1', confirmmsg: 'Do you want to accept the RFQ?', successmsg: 'RFQ Accepted successfully!', errormsg: 'Failed to Accept the RFQ!' },\n { id: 5, status: 'RFQReworkbyL1', confirmmsg: 'Do you want to send the Enquiry for Rework?', successmsg: 'Enquiry sent for rework successfully!', errormsg: 'Failed to send the enquiry for rework!' },\n { id: 6, status: 'RFQSubmittedbyL1', confirmmsg: 'Do you want to submit RFQ details?', successmsg: 'RFQ Details submitted successfully!', errormsg: 'Failed to submit the RFQ Details!' },\n { id: 7, status: 'RFQsentbyL1toL2', confirmmsg: 'Do you want to send the Enquiry to L2?', successmsg: 'Enquiry sent to L2 successfully!', errormsg: 'Failed to send the Enquiry to L2!' },\n { id: 8, status: 'RFQSubmittedbyL2', confirmmsg: 'Do you want to submit RFQ details?', successmsg: 'RFQ Details submitted successfully!', errormsg: 'Failed to submit the RFQ Details!' },\n { id: 9, status: 'RFQsentbyL2toL3 ', confirmmsg: 'Do you want to send the Enquiry to L3?', successmsg: 'Enquiry sent to L3 successfully!', errormsg: 'Failed to send the Enquiry to L3!' },\n { id: 10, status: 'RFQSubmittedbyL3', confirmmsg: 'Do you want to submit RFQ details?', successmsg: 'RFQ Details submitted successfully!', errormsg: 'Failed to submit the RFQ Details!' },\n { id: 11, status: 'QuotationSaveAsDraftbyL1', confirmmsg: 'Do you want to save Quotation as draft?', successmsg: 'Quotation saved successfully!', errormsg: 'Failed to save the quotation!' },\n { id: 12, status: 'QuotationSaveAsDraftbyL2', confirmmsg: 'Do you want to save Quotation as draft?', successmsg: 'Quotation saved successfully!', errormsg: 'Failed to save the quotation!' },\n { id: 13, status: 'QuotationSaveAsDraftbyL3', confirmmsg: 'Do you want to save Quotation as draft?', successmsg: 'Quotation saved successfully!', errormsg: 'Failed to save the quotation!' },\n { id: 14, status: 'QuotationPriceOnRequestbyL1 ', confirmmsg: 'Do you want to proceed for Price on Request?', successmsg: 'Prices are requested successfully!', errormsg: 'Failed to request the Prices!' },\n { id: 15, status: 'QuotationPriceOnRequestbyL2', confirmmsg: 'Do you want to proceed for Price on Request?', successmsg: 'Prices are requested successfully!', errormsg: 'Failed to request the Prices!' },\n { id: 16, status: 'QuotationPriceOnRequestbyL3', confirmmsg: 'Do you want to proceed for Price on Request?', successmsg: 'Prices are requested successfully!', errormsg: 'Failed to request the Prices!' },\n { id: 17, status: 'QuotationGeneratedbyL1', confirmmsg: 'Do you want to Generate the Quotation?', successmsg: 'Quotation Generated successfully!', errormsg: 'Failed to Generate the Quotation!' },\n { id: 18, status: 'QuotationGeneratedbyL2', confirmmsg: 'Do you want to Generate the Quotation?', successmsg: 'Quotation Generated successfully!', errormsg: 'Failed to Generate the Quotation!' },\n { id: 19, status: 'QuotationGeneratedbyL3', confirmmsg: 'Do you want to Generate the Quotation?', successmsg: 'Quotation Generated successfully!', errormsg: 'Failed to Generate the Quotation!' },\n { id: 20, status: 'QuotationsentbyL3toL2', confirmmsg: 'Do you want to send the Quotation to L2?', successmsg: 'Quotation sent to L2 successfully!', errormsg: 'Failed to send the Quotation to L2!' },\n { id: 21, status: 'QuotationsentbyL2toL1', confirmmsg: 'Do you want to send the Quotation to L1?', successmsg: 'Quotation sent to L1 successfully!', errormsg: 'Failed to send the Quotation to L1!' },\n { id: 22, status: 'QuotationSenttoCustomerService', confirmmsg: 'Do you want to send the Quotation to Customer Service?', successmsg: 'Quotation sent to Customer Service successfully!', errormsg: 'Failed to send the Quotation to Customer Service!' },\n { id: 23, status: 'RFQSubmittedbyCustomerService', confirmmsg: 'Do you want to submit RFQ details?', successmsg: 'RFQ Details submitted successfully!', errormsg: 'Failed to submit the RFQ Details!' },\n { id: 24, status: 'QuotationSaveAsDraftbyCustomerService', confirmmsg: 'Do you want to save Quotation as draft?', successmsg: 'Quotation saved successfully!', errormsg: 'Failed to save the quotation!' },\n { id: 25, status: 'QuotationPriceOnRequestbyCustomerService', confirmmsg: 'Do you want to proceed for Price on Request?', successmsg: 'Prices are requested successfully!', errormsg: 'Failed to request the Prices!' },\n { id: 26, status: 'QuotationGeneratedbyCustomerService', confirmmsg: 'Do you want to Generate the Quotation?', successmsg: 'Quotation Generated successfully!', errormsg: 'Failed to Generate the Quotation!' },\n { id: 27, status: 'QuotationSentforMngtApproval_SalesDirector', confirmmsg: 'Do you want to send the Quotation for management approval?', successmsg: 'Quotation sent for Approval successfully!', errormsg: 'Failed to send the Quotation for Approval!' },\n { id: 28, status: 'QuotationRejectedbyMngmt_SalesDirector', confirmmsg: 'Do you want to Reject this Quotation?', successmsg: 'Quotation rejected successfully!', errormsg: 'Failed to reject the Quotation!' },\n { id: 29, status: 'QuotationApprovedbyMngmt_SalesDirector', confirmmsg: 'Do you want to Approve this Quotation?', successmsg: 'Quotation Approved successfully!', errormsg: 'Failed to Approve the Quotation!' },\n { id: 30, status: 'QuotationOnHoldbyMngmt_SalesDirector', confirmmsg: 'Do you want to Hold this Quotation?', successmsg: 'Quotation put on Hold successfully!', errormsg: 'Failed to put the Quotation on Hold!' },\n { id: 31, status: 'QuotationSentforMngmtApproval_CEO ', confirmmsg: 'Do you want to send the Quotation for CEO approval?', successmsg: 'Quotation sent for Approval successfully!', errormsg: 'Failed to send the Quotation for Approval!' },\n { id: 32, status: 'QuotationRejectedbyMngmt_CEO', confirmmsg: 'Do you want to Reject this Quotation?', successmsg: 'Quotation rejected successfully!', errormsg: 'Failed to reject the Quotation!' },\n { id: 33, status: 'QuotationApprovedbyMngmt_CEO', confirmmsg: 'Do you want to Approve this Quotation?', successmsg: 'Quotation Approved successfully!', errormsg: 'Failed to Approve the Quotation!' },\n { id: 34, status: 'QuotationOnHoldbyMngmt_CEO', confirmmsg: 'Do you want to Hold this Quotation?', successmsg: 'Quotation put on Hold successfully!', errormsg: 'Failed to put the Quotation on Hold!' },\n { id: 35, status: 'SendBOMandProposal', confirmmsg: 'Do you want to send the BOM & Proposal?', successmsg: 'BOM & Proposal sent successfully!', errormsg: 'Failed to send the BOM & Proposal!' },\n { id: 36, status: 'QuotationRevision', confirmmsg: 'Do you want to proceed for quotation revision?', successmsg: 'Details saved successfully!', errormsg: 'Failed to saved teh details!' },\n { id: 37, status: 'EnquiryLost', confirmmsg: 'Do you want to Confirm the Enquiry as Lost?', successmsg: 'Enquiry Confirmed as Lost successfully!', errormsg: 'Failed to confirm the Enquiry!' },\n { id: 38, status: 'EnquiryOrderConfirmedbySalesEngg', confirmmsg: 'Do you want to Confirm the Enquiry?', successmsg: 'Enquiry Confirmed as Win successfully!', errormsg: 'Failed to confirm the Enquiry!' },\n { id: 39, status: 'OrdersentforMngmtApproval_SalesDirector', confirmmsg: 'Do you want to send the Order for management approval?', successmsg: 'Order sent for Approval successfully!', errormsg: 'Failed to send the order for Approval!' },\n { id: 40, status: 'OrderApprovedbyMngmt_SalesDirector', confirmmsg: 'Do you want to Approve this Order?', successmsg: 'Order Approved successfully!', errormsg: 'Failed to Approve the Order!' },\n { id: 41, status: 'OrderRejectedbyMngmt_SalesDirector ', confirmmsg: 'Do you want to Reject this Order?', successmsg: 'Order Rejected successfully!', errormsg: 'Failed to Reject the Order!' },\n { id: 42, status: 'OrdersentforMngmtApproval_CEO', confirmmsg: 'Do you want to send the Order for CEO approval?', successmsg: 'Order sent for Approval successfully!', errormsg: 'Failed to send the order for Approval!' },\n { id: 43, status: 'OrderApprovedbyMngmt_CEO', confirmmsg: 'Do you want to Approve this Order?', successmsg: 'Order Approved successfully!', errormsg: 'Failed to Approve the Order!' },\n { id: 44, status: 'OrderRejectedbyMngmt_CEO', confirmmsg: 'Do you want to Reject this Order?', successmsg: 'Order Rejected successfully!', errormsg: 'Failed to Reject the Order!' },\n { id: 45, status: 'OrderConfirmedbyCustomerServiceSendSO', confirmmsg: 'Do you want to send for Order Acknowledgement?', successmsg: 'Order Confirmed successfully!', errormsg: 'Failed to Confirm the Order' },\n { id: 46, status: 'OANoGenerated', confirmmsg: 'Once OA Number Generated, can not be altered. Do you want to continue?', successmsg: 'Order Acknowledgement No. successfully!', errormsg: 'Failed to generate the Order Acknowledgement No.!' },\n { id: 47, status: 'SupplyChainConfirmedDeliveryDate', confirmmsg: 'Do you want to Confirm the Delivery date?', successmsg: 'Delivery Date confirmed successfully!', errormsg: 'Failed to confirm Delivery Date!' },\n { id: 48, status: 'MaterialReadyForDispatch', confirmmsg: 'Do you want to proceed?', successmsg: 'Details saved Successfully!', errormsg: 'Failed to save the details!' },\n { id: 49, status: 'AccountsConfirmInvoiceNo', confirmmsg: 'Do you want to confirm the Invoice?', successmsg: 'Invoice confirmed Successfully!', errormsg: 'Failed to Cofirm the Invoice!' },\n { id: 51, status: 'EnquiryTechnicalDiscardbyL1', confirmmsg: 'Do you want to confirm the enquiry as technical discarded?', successmsg: 'Enquiry confirmed as technical discarded Successfully!', errormsg: 'Failed to confirm the enquiry as technical discarded!' },\n { id: 52, status: 'EnquiryTechnicalDiscardbyL2', confirmmsg: 'Do you want to confirm the enquiry as technical discarded?', successmsg: 'Enquiry confirmed as technical discarded Successfully!', errormsg: 'Failed to confirm the enquiry as technical discarded!' },\n { id: 53, status: 'EnquiryTechnicalDiscardbyL3', confirmmsg: 'Do you want to confirm the enquiry as technical discarded?', successmsg: 'Enquiry confirmed as technical discarded Successfully!', errormsg: 'Failed to confirm the enquiry as technical discarded!' },\n { id: 50, status: 'CloseEnquiry', confirmmsg: 'You want to close the Enquiry?', successmsg: 'Enquiry closed Successfully!', errormsg: 'Failed to close the Enquiry!'},\n\t {id: 54, status: 'QuotationsendtoCustomerServicebyL1', confirmmsg: 'Do you want to send this Quotation for review to Customer Service?', successmsg: 'Quotation is send to Customer Service Successfully!', errormsg: ' Failed to send the Quotation to Customer Service' },\n {id: 55, status: 'QuotationsendtoCustomerServicebyL2', confirmmsg: 'Do you want to send this Quotation for review to Customer Service?', successmsg: 'Quotation is send to Customer Service Successfully!', errormsg: ' Failed to send the Quotation to Customer Service' },\n {id: 56, status: 'QuotationsendtoCustomerServicebyL3', confirmmsg: 'Do you want to send this Quotation for review to Customer Service?', successmsg: 'Quotation is send to Customer Service Successfully!', errormsg: ' Failed to send the Quotation to Customer Service' },\n { id: 57, status: 'DeleteEnquiry', confirmmsg: 'You want to delete the enquiry?', successmsg: 'Enquiry deleted Successfully!', errormsg: 'Failed to delete the enquiry!'},\n { id: 58, status: 'CloseLead', confirmmsg: 'You want to close the Lead?', successmsg: 'Lead closed Successfully!', errormsg: 'Failed to close the Lead!'}\n\n \n ],\n\n excelCoulumns: ['Region', 'Product Line', 'series', 'model', 'station', 'units', 'amount'],\n\n dummyReportData: [\n { Region: 'North', ProductLine: 'Indexres', ProductSeries: 'TC', ProductModel: 'TC120G', ProductStation: '2', Price: 129, Amount: 1541 },\n { Region: 'North', ProductLine: 'Indexres', ProductSeries: 'TC', ProductModel: 'TC120G', ProductStation: '4', Price: 129, Amount: 1541 },\n { Region: 'North', ProductLine: 'Indexres', ProductSeries: 'TC', ProductModel: 'TC150G', ProductStation: '2', Price: 129, Amount: 1541 },\n { Region: 'North', ProductLine: 'Indexres', ProductSeries: 'TC', ProductModel: 'TC150G', ProductStation: '5', Price: 129, Amount: 1541 },\n\n ]\n\n\n}\n\nexport enum EnquiryStatus_old {\n EnquiryAdded = 1,\n RFQSaveAsDraft = 2,\n RFQSubmittedbySalesEngg = 3,\n RFQAcceptedbyL1 = 4,\n RFQReworkbyL1 = 5,\n RFQsentbyL1toL2 = 6,\n RFQsentbyL2toL3 = 7,\n QuotationSaveAsDraftbyL1 = 8,\n QuotationSaveAsDraftbyL2 = 9,\n QuotationSaveAsDraftbyL3 = 10,\n QuotationGeneratedbyL1 = 11,\n QuotationsendtoCustomerServicebyL1=54,\n QuotationsendtoCustomerServicebyL2=55,\n QuotationsendtoCustomerServicebyL3=56,\n\n QuotationGeneratedbyL2 = 12,\n QuotationGeneratedbyL3 = 13,\n QuotationsentbyL3toL2 = 14,\n QuotationsentbyL2toL1 = 15,\n QuotationSenttoCustomerService = 16,\n QuotationSentforMngtApproval_SalesDirector = 17,\n QuotationRejectedbyMngmt_SalesDirector = 18,\n QuotationApprovedbyMngmt_SalesDirector = 19,\n QuotationOnHoldbyMngmt_SalesDirector = 20,\n QuotationSentforMngmtApproval_CEO = 21,\n QuotationRejectedbyMngmt_CEO = 22,\n QuotationApprovedbyMngmt_CEO = 23,\n QuotationOnHoldbyMngmt_CEO = 24,\n SendBOMandProposal = 25,\n EnquiryOrderConfirmedbySalesEngg = 26,\n EnquiryLost = 27,\n OrdersentforMngmtApproval_SalesDirector = 28,\n OrderReworkMngmt_SalesDirector = 29,\n OrderApprovedbyMngmt_SalesDirector = 30,\n OrderRejectedbyMngmt_SalesDirector = 31,\n OrdersentforMngmtApproval_CEO = 32,\n OrderReworkMngmt_CEO = 33,\n OrderApprovedbyMngmt_CEO = 34,\n OrderRejectedbyMngmt_CEO = 35,\n OrderConfirmedbyL1 = 36,\n SupplyChainConfirmedDeliveryDate = 37,\n AccountsConfirmInvoiceNo = 38\n}\n","import { BrowserModule, Title } from '@angular/platform-browser';\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { AppRoutingModule } from './app-routing.module';\nimport { AppComponent } from './app.component';\nimport { RegisterComponent } from './register/register.component';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { LoaderComponent } from './loader/loader.component';\nimport { ToastrModule } from 'ngx-toastr';\nimport { ForgotPasswordComponent } from './forgot-password/forgot-password.component';\nimport { HeaderComponent } from './header/header.component';\nimport { FooterComponent } from './footer/footer.component';\nimport { ConfirmDialogComponent } from './confirm-dialog/confirm-dialog.component';\nimport { ChartsModalComponent } from './sub-component/charts-modal/charts-modal.component';\nimport { EnquiryDetailsModalChartComponent } from './sub-component/charts-modal/enquiry-details-modal-chart/enquiry-details-modal-chart.component';\nimport { ProfileComponent } from './profile/profile.component';\nimport { EnquiryComponent } from './sub-component/enquiry/enquiry/enquiry.component';\nimport { AddEnquiryComponent } from './sub-component/enquiry/add-enquiry/add-enquiry.component';\nimport { EditViewEnquiryComponent } from './sub-component/enquiry/edit-view-enquiry/edit-view-enquiry.component';\nimport { NgbModule, NgbActiveModal, NgbDateParserFormatter } from '@ng-bootstrap/ng-bootstrap';\nimport { EnquiryModalComponent } from './sub-component/enquiry/enquiry-modal/enquiry-modal.component';\nimport { NgSelectModule } from '@ng-select/ng-select';\nimport { AddCustomerComponent } from './sub-component/masters/customer/add-customer/add-customer.component';\nimport { EditViewCustomerComponent } from './sub-component/masters/customer/edit-view-customer/edit-view-customer.component';\nimport { CustomerDetailsComponent } from './sub-component/masters/customer/customer-details/customer-details.component';\nimport { ConfigurationDetailsComponent } from './sub-component/masters/configuration/configuration-details/configuration-details.component';\nimport { AddConfigurationComponent } from './sub-component/masters/configuration/add-configuration/add-configuration.component';\nimport { EditViewConfigurationComponent } from './sub-component/masters/configuration/edit-view-configuration/edit-view-configuration.component';\nimport { AuthInterceptor } from './auth/auth.interceptor';\nimport { ActivityDetailsComponent } from './sub-component/enquiry/activity-details/activity-details.component';\nimport { AddProductLineComponent } from './sub-component/masters/product/product-line/add-product-line/add-product-line.component';\nimport { ProductLineDetailsComponent } from './sub-component/masters/product/product-line/product-line-details/product-line-details.component';\nimport { AddProductFamilyComponent } from './sub-component/masters/product/product-family/add-product-family/add-product-family.component';\nimport { ProductFamilyDetailsComponent } from './sub-component/masters/product/product-family/product-family-details/product-family-details.component';\nimport { ProductSeriesDetailsComponent } from './sub-component/masters/product/product-series/product-series-details/product-series-details.component';\nimport { AddProductSeriesComponent } from './sub-component/masters/product/product-series/add-product-series/add-product-series.component';\nimport { AddProductModelComponent } from './sub-component/masters/product/product-model/add-product-model/add-product-model.component';\nimport { ProductModelDetailsComponent } from './sub-component/masters/product/product-model/product-model-details/product-model-details.component';\nimport { AddOptionsComponent } from './sub-component/masters/product/options/add-options/add-options.component';\nimport { EditViewProductFamilyComponent } from './sub-component/masters/product/product-family/edit-view-product-family/edit-view-product-family.component';\nimport { EditViewProductSeriesComponent } from './sub-component/masters/product/product-series/edit-view-product-series/edit-view-product-series.component';\nimport { EditViewProductModelComponent } from './sub-component/masters/product/product-model/edit-view-product-model/edit-view-product-model.component';\nimport { EditViewProductLineComponent } from './sub-component/masters/product/product-line/edit-view-product-line/edit-view-product-line.component';\nimport { AddVariantLevel1Component } from './sub-component/masters/product/variant-level-1/add-variant-level1/add-variant-level1.component';\nimport { EditViewVariantLevel1Component } from './sub-component/masters/product/variant-level-1/edit-view-variant-level1/edit-view-variant-level1.component';\nimport { VariantLevel1DetailsComponent } from './sub-component/masters/product/variant-level-1/variant-level1-details/variant-level1-details.component';\nimport { VariantLevel2DetailsComponent } from './sub-component/masters/product/variant-level-2/variant-level2-details/variant-level2-details.component';\nimport { EditViewVariantLevel2Component } from './sub-component/masters/product/variant-level-2/edit-view-variant-level2/edit-view-variant-level2.component';\nimport { AddVariantLevel2Component } from './sub-component/masters/product/variant-level-2/add-variant-level2/add-variant-level2.component';\nimport { AddVariantLevel3Component } from './sub-component/masters/product/variant-level-3/add-variant-level3/add-variant-level3.component';\nimport { VariantLevel3DetailsComponent } from './sub-component/masters/product/variant-level-3/variant-level3-details/variant-level3-details.component';\nimport { VariantLevel4DetailsComponent } from './sub-component/masters/product/variant-level-4/variant-level4-details/variant-level4-details.component';\nimport { EditViewVariantLevel4Component } from './sub-component/masters/product/variant-level-4/edit-view-variant-level4/edit-view-variant-level4.component';\nimport { AddVariantLevel4Component } from './sub-component/masters/product/variant-level-4/add-variant-level4/add-variant-level4.component';\nimport { AvgDiscountMonthComponent } from './sub-component/dashboard/avg-discount-month-chart/avg-discount-month.component';\nimport { BPOrderIntakeComponent } from './sub-component/dashboard/bporder-intake-chart/bporder-intake.component';\nimport { QuatationOrderIntakeChartComponent } from './sub-component/dashboard/quatation-order-intake-chart/quatation-order-intake-chart.component';\nimport { OpportunityQuotationChartComponent } from './sub-component/dashboard/opportunity-quotation-chart/opportunity-quotation-chart.component';\nimport { OrderValuesChartComponent } from './sub-component/dashboard/order-values-chart/order-values-chart.component';\nimport { OrderWinLostChartComponent } from './sub-component/dashboard/order-win-lost-chart/order-win-lost-chart.component';\nimport { DashboardComponent } from './sub-component/dashboard/dashboard.component';\nimport { EnquiryDetailsChartComponent } from './sub-component/dashboard/enquiry-details-chart/enquiry-details-chart.component';\nimport { BusinessPlanChartComponent } from './sub-component/dashboard/business-plan-chart/business-plan-chart.component';\nimport { PendingEnquiryComponent } from './sub-component/enquiry/pending-enquiry/pending-enquiry.component';\nimport { ProductMatrixComponent } from './sub-component/masters/product-matrix/product-matrix.component';\nimport { FocusInvalidInputDirective } from './directive/focus-invalid-input.directive';\nimport { BusinessPlanDetailsComponent } from './sub-component/masters/BusinessPlan/business-plan-details/business-plan-details.component';\nimport { BusinessPlanForSalesAndOrderComponent } from './sub-component/masters/BusinessPlan/business-plan-for-sales-and-order/business-plan-for-sales-and-order.component';\nimport { RoleGuard } from './auth/role.guard';\nimport { EditBusinessPlanComponent } from './sub-component/masters/BusinessPlan/edit-business-plan/edit-business-plan.component';\nimport { RegionwiseReportComponent } from './sub-component/reports/regionwise-report/regionwise-report.component';\nimport { ProductwiseReportComponent } from './sub-component/reports/productwise-report/productwise-report.component';\nimport { CustomerwiseReportComponent } from './sub-component/reports/customerwise-report/customerwise-report.component';\nimport { SegmentwiseReportComponent } from './sub-component/reports/segmentwise-report/segmentwise-report.component';\nimport { ProductseriesColumnchartComponent } from './sub-component/reports/productwise-report/productseries-columnchart/productseries-columnchart.component';\nimport { ProductmodelColumnchartComponent } from './sub-component/reports/productwise-report/productmodel-columnchart/productmodel-columnchart.component';\nimport { ProductvariantColumnchartComponent } from './sub-component/reports/productwise-report/productvariant-columnchart/productvariant-columnchart.component';\nimport { AmChartsModule } from \"@amcharts/amcharts3-angular\";\nimport { OpportunityRfqChartComponent } from './sub-component/dashboard/opportunity-rfq-chart/opportunity-rfq-chart.component';\nimport { OrderbacklogSupplychainChartComponent } from './sub-component/dashboard/orderbacklog-supplychain-chart/orderbacklog-supplychain-chart.component';\nimport { StockInventoryDetailsComponent } from './sub-component/masters/StockInventory/stock-inventory-details/stock-inventory-details.component';\nimport { AddStockInventoryComponent } from './sub-component/masters/StockInventory/add-stock-inventory/add-stock-inventory.component';\nimport { ViewStockInventoryComponent } from './sub-component/masters/StockInventory/view-stock-inventory/view-stock-inventory.component';\nimport { EditViewOptionsComponent } from './sub-component/masters/product/options/edit-view-options/edit-view-options.component';\nimport { OptionsDetailsComponent } from './sub-component/masters/product/options/options-details/options-details.component';\nimport { EditViewVariantLevel3Component } from './sub-component/masters/product/variant-level-3/edit-view-variant-level3/edit-view-variant-level3.component';\nimport { ExportToExcelService } from './Service/exportToexcel.service';\nimport { PassOnComponent } from './sub-component/enquiry/pass-on/pass-on.component';\nimport { DynamicBGImageComponent } from './dynamic-bgimage/dynamic-bgimage.component';\nimport { CustomNgbDateParserFormatter } from './directive/CustomNgbDateParserFormatter';\nimport { IndianCurrency } from './Pipe/IndianCurrency.pipe';\nimport { EditViewWorkFlowScreenAccessComponent } from './sub-component/masters/WorkFlowScreenAccess/edit-view-work-flow-screen-access/edit-view-work-flow-screen-access.component';\nimport { EnquiryGridReportComponent } from './sub-component/reports/enquiry-grid-report/enquiry-grid-report.component';\nimport { PowerBIReportsComponent } from './sub-component/reports/power-bireports/power-bireports.component';\nimport { AlertsDetailsComponent } from './sub-component/masters/Alerts/alerts-details/alerts-details.component';\nimport { EditViewAlertsComponent } from './sub-component/masters/Alerts/edit-view-alerts/edit-view-alerts.component';\nimport { ProductSeriesUploadLogComponent } from './sub-component/masters/product/product-series/product-series-details/product-series-upload-log/product-series-upload-log.component';\nimport { TechnicalDiscardComponent } from './sub-component/enquiry/technical-discard/technical-discard.component';\nimport { AddCustomerOpportunityComponent } from './sub-component/enquiry/add-customer-opportunity/add-customer-opportunity.component';\nimport { CloseOppReasonComponent } from './sub-component/enquiry/close-opp-reason/close-opp-reason.component';\nimport { AddLoginPageDynamicImageComponent } from './sub-component/masters/login-page-dynamic-image/add-login-page-dynamic-image/add-login-page-dynamic-image.component';\nimport { DetailsLoginPageDynamicImageComponent } from './sub-component/masters/login-page-dynamic-image/details-login-page-dynamic-image/details-login-page-dynamic-image/details-login-page-dynamic-image.component';\nimport { SiteActivityComponent } from './sub-component/reports/site-activity/site-activity/site-activity.component';\nimport { AddLeadComponent } from './sub-component/masters/Lead/add-lead/add-lead/add-lead.component';\nimport { EditViewLeadComponent } from './sub-component/masters/Lead/edit-view-lead/edit-view-lead/edit-view-lead.component';\nimport { LeadDetailsComponent } from './sub-component/masters/Lead/lead-details/lead-details/lead-details.component';\nimport { PriceconfiguratorComponent } from './sub-component/masters/priceconfigurator/priceconfigurator.component';\nimport { RfqComponent } from './sub-component/enquiry/rfq/rfq.component';\nimport { ManagementApprovalComponent } from './sub-component/enquiry/management-approval/management-approval.component';\nimport { OaGenerationComponent } from './sub-component/enquiry/oa-generation/oa-generation.component';\nimport { QuotationComponent } from './sub-component/enquiry/quotation/quotation.component';\nimport { CeoApprovalComponent } from './sub-component/enquiry/ceo-approval/ceo-approval.component';\nimport { OrderConfirmationComponent } from './sub-component/enquiry/order-confirmation/order-confirmation.component';\nimport { SoGenerationComponent } from './sub-component/enquiry/so-generation/so-generation.component';\nimport { SupplyChainComponent } from './sub-component/enquiry/supply-chain/supply-chain.component';\nimport { ConfirmInvoiceComponent } from './sub-component/enquiry/confirm-invoice/confirm-invoice.component';\nimport { CloseLeadComponent } from './sub-component/masters/Lead/close-lead/close-lead.component';\nimport { EditViewLoginPageDynamicImageComponent } from './sub-component/masters/login-page-dynamic-image/edit-view-login-page-dynamic-image/edit-view-login-page-dynamic-image/edit-view-login-page-dynamic-image.component';\nimport { AddContractFrameAgreementComponent } from './sub-component/masters/configuration/ContractFrameAgreement/add-contract-frame-agreement/add-contract-frame-agreement.component';\nimport { EditViewContractFrameAgreementComponent } from './sub-component/masters/configuration/ContractFrameAgreement/edit-view-contract-frame-agreement/edit-view-contract-frame-agreement.component';\nimport { MyActivityComponent } from './sub-component/customer-engagement/my-activity/my-activity.component';\nimport { CalendarModule, DateAdapter } from 'angular-calendar';\nimport { adapterFactory } from 'angular-calendar/date-adapters/date-fns';\nimport { NgbModalModule } from '@ng-bootstrap/ng-bootstrap';\nimport { AddActivityComponent } from './sub-component/customer-engagement/activity/add-activity/add-activity.component';\nimport { EditActivityComponent } from './sub-component/customer-engagement/activity/edit-activity/edit-activity.component';\nimport { ListActivityComponent } from './sub-component/customer-engagement/activity/list-activity/list-activity.component';\nimport { ViewActivityComponent } from './sub-component/customer-engagement/activity/view-activity/view-activity.component';\nimport { CalenderViewComponent } from './sub-component/customer-engagement/activity/calender-view/calender-view.component';\nimport { ListActivityRowComponent } from './sub-component/customer-engagement/activity/list-activity-row/list-activity-row.component';\nimport { BulkEditActivityComponent } from './sub-component/customer-engagement/activity/bulk-edit-activity/bulk-edit-activity.component';\nimport { ActivityStatusByMonthComponent } from './sub-component/customer-engagement/engagement-reports/activity-status-by-month/activity-status-by-month.component';\nimport { ReportByActivityTypeMonthComponent } from './sub-component/customer-engagement/engagement-reports/report-by-activity-type-month/report-by-activity-type-month.component';\nimport { ReportByActivityTypeStatusComponent } from './sub-component/customer-engagement/engagement-reports/report-by-activity-type-status/report-by-activity-type-status.component';\nimport { EngagementReportsComponent } from './sub-component/customer-engagement/engagement-reports/engagement-reports.component';\nimport { MustMatchDirective } from './directive/MustMatch.directive';\nimport { GuestDetailsComponent } from './sub-component/masters/guest/guest-details/guest-details.component';\nimport { MaterialModule } from './material/material.module';\nimport { RegisterService } from './Service/register.service';\nimport { AddEmployeeComponent } from './sub-component/masters/employee/add-employee/add-employee.component';\nimport { EditViewEmployeeComponent } from './sub-component/masters/employee/edit-view-employee/edit-view-employee.component';\nimport { EmployeeDetailsComponent } from './sub-component/masters/employee/employee-details/employee-details.component';\nimport { AddGuestComponent } from './sub-component/masters/guest/add-guest/add-guest.component';\nimport { EditViewGuestComponent } from './sub-component/masters/guest/edit-view-guest/edit-view-guest.component';\nimport { CommonService } from './Service/common.service';\nimport { ReportByActivityStatusTypeComponent } from './sub-component/customer-engagement/engagement-reports/report-by-activity-status-type/report-by-activity-status-type.component';\nimport { ActivityListByEntityComponent } from './sub-component/enquiry/activity-list-by-entity/activity-list-by-entity.component';\nimport { CustomerFrameAgreementDetailsComponent } from './sub-component/masters/configuration/ContractFrameAgreement/customer-frame-agreement-details/customer-frame-agreement-details.component';\nimport { ShowPendingActivityComponent } from './sub-component/dashboard/show-pending-activity/show-pending-activity.component';\nimport { PlannedVsActualActivityComponent } from './sub-component/customer-engagement/planned-vs-actual-activity/planned-vs-actual-activity.component';\nimport { CustomerEngagementDetailsComponent } from './sub-component/customer-engagement/customer-engagement-details/customer-engagement-details.component';\nimport { CustomerEngagementComponent } from './sub-component/customer-engagement/customer-engagement/customer-engagement.component';\nimport { QuotationPreviewComponent } from './sub-component/enquiry/quotation-preview/quotation-preview.component';\nimport {MatTabsModule} from '@angular/material/tabs';\nimport { SendBackCommentComponent } from './sub-component/enquiry/send-back-comment/send-back-comment.component';\nimport { AppConfigService } from './Service/app-config.service';\n\n\n\n@NgModule({\n declarations: [\n AppComponent,\n DashboardComponent,\n RegisterComponent,\n MustMatchDirective,\n LoaderComponent,\n ForgotPasswordComponent,\n HeaderComponent,\n EnquiryComponent,\n FooterComponent,\n GuestDetailsComponent,\n EditViewGuestComponent,\n AddGuestComponent,\n AddEmployeeComponent,\n EditViewEmployeeComponent,\n EmployeeDetailsComponent,\n ConfirmDialogComponent,\n ChartsModalComponent,\n EnquiryDetailsModalChartComponent,\n ProfileComponent,\n AddEnquiryComponent,\n EditViewEnquiryComponent,\n EnquiryModalComponent,\n EnquiryDetailsModalChartComponent,\n ProfileComponent,\n AddCustomerComponent,\n EditViewCustomerComponent,\n CustomerDetailsComponent,\n ConfigurationDetailsComponent,\n AddConfigurationComponent,\n EditViewConfigurationComponent,\n ActivityDetailsComponent,\n AddProductLineComponent,\n EditViewProductLineComponent,\n ProductLineDetailsComponent,\n AddProductFamilyComponent,\n EditViewProductFamilyComponent,\n ProductFamilyDetailsComponent,\n ProductSeriesDetailsComponent,\n AddProductSeriesComponent,\n EditViewProductSeriesComponent,\n EditViewProductModelComponent,\n AddProductModelComponent,\n ProductModelDetailsComponent,\n AddOptionsComponent,\n EditViewOptionsComponent,\n OptionsDetailsComponent,\n AddVariantLevel1Component,\n EditViewVariantLevel1Component,\n VariantLevel1DetailsComponent,\n VariantLevel2DetailsComponent,\n EditViewVariantLevel2Component,\n AddVariantLevel2Component,\n AddVariantLevel3Component,\n EditViewVariantLevel3Component,\n VariantLevel3DetailsComponent,\n VariantLevel4DetailsComponent,\n EditViewVariantLevel4Component,\n AddVariantLevel4Component,\n AvgDiscountMonthComponent,\n BPOrderIntakeComponent,\n QuatationOrderIntakeChartComponent,\n OpportunityQuotationChartComponent,\n OrderValuesChartComponent,\n OrderWinLostChartComponent,\n EnquiryDetailsChartComponent,\n BusinessPlanChartComponent,\n PendingEnquiryComponent,\n ProductMatrixComponent,\n FocusInvalidInputDirective,\n BusinessPlanDetailsComponent,\n BusinessPlanForSalesAndOrderComponent,\n EditBusinessPlanComponent,\n RegionwiseReportComponent,\n ProductwiseReportComponent,\n CustomerwiseReportComponent,\n SegmentwiseReportComponent,\n ProductseriesColumnchartComponent,\n ProductmodelColumnchartComponent,\n ProductvariantColumnchartComponent,\n OpportunityRfqChartComponent,\n OrderbacklogSupplychainChartComponent,\n StockInventoryDetailsComponent,\n AddStockInventoryComponent,\n ViewStockInventoryComponent,\n PassOnComponent,\n DynamicBGImageComponent,\n IndianCurrency,\n EditViewWorkFlowScreenAccessComponent,\n EnquiryGridReportComponent,\n PowerBIReportsComponent,\n AlertsDetailsComponent,\n EditViewAlertsComponent,\n ProductSeriesUploadLogComponent,\n TechnicalDiscardComponent,\n AddCustomerOpportunityComponent,\n CloseOppReasonComponent,\n PriceconfiguratorComponent,\n RfqComponent,\n AddLoginPageDynamicImageComponent,\n DetailsLoginPageDynamicImageComponent,\n SiteActivityComponent,\n AddLeadComponent,\n EditViewLeadComponent,\n LeadDetailsComponent,\n PriceconfiguratorComponent,\n ManagementApprovalComponent,\n OaGenerationComponent,\n QuotationComponent,\n CeoApprovalComponent,\n OrderConfirmationComponent,\n SoGenerationComponent,\n SupplyChainComponent,\n ConfirmInvoiceComponent,\n CloseLeadComponent,\n AddContractFrameAgreementComponent,\n EditViewContractFrameAgreementComponent,\n EditViewLoginPageDynamicImageComponent,\n MyActivityComponent,\n AddActivityComponent,\n EditActivityComponent,\n ListActivityComponent,\n ViewActivityComponent,\n CalenderViewComponent,\n ListActivityRowComponent,\n BulkEditActivityComponent,\n ActivityStatusByMonthComponent,\n ReportByActivityTypeMonthComponent,\n ReportByActivityTypeStatusComponent,\n EngagementReportsComponent,\n ReportByActivityStatusTypeComponent,\n ActivityListByEntityComponent,\n CustomerFrameAgreementDetailsComponent,\n ShowPendingActivityComponent,\n PlannedVsActualActivityComponent,\n CustomerEngagementDetailsComponent,\n CustomerEngagementComponent,\n QuotationPreviewComponent,\n SendBackCommentComponent,\n ],\n imports: [\n BrowserModule,\n AppRoutingModule,\n FormsModule,\n HttpClientModule,\n BrowserAnimationsModule,\n MaterialModule,\n MatTabsModule,\n NgbModule,\n NgSelectModule,\n ToastrModule.forRoot({\n timeOut: 3000,\n positionClass: 'toast-top-center',\n preventDuplicates: true\n }),\n CommonModule,\n NgbModalModule,\n AmChartsModule,\n BrowserAnimationsModule,\n CalendarModule.forRoot({\n provide: DateAdapter,\n useFactory: adapterFactory,\n })\n ],\n providers: [Title, Location, RegisterService, ExportToExcelService, CommonService, NgbActiveModal, AppConfigService, { provide: HTTP_INTERCEPTORS, useClass: AuthInterceptor, multi: true }, RoleGuard,\n { provide: NgbDateParserFormatter, useFactory: () => new CustomNgbDateParserFormatter('longDate') }],\n bootstrap: [AppComponent],\n entryComponents: [ConfirmDialogComponent]\n})\nexport class AppModule { }\n","import { HttpInterceptor, HttpRequest, HttpHandler, HttpUserEvent, HttpEvent, HttpErrorResponse } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\nimport { Router } from \"@angular/router\";\nimport { Observable, throwError } from 'rxjs';\nimport { map, catchError, retry } from 'rxjs/operators';\nimport { Location } from '@angular/common';\n\n@Injectable()\nexport class AuthInterceptor implements HttpInterceptor {\n\n constructor(private router: Router, private location: Location) { }\n\n intercept(\n request: HttpRequest,\n next: HttpHandler\n ): Observable> {\n if (request.headers.get('No-Auth') == \"True\")\n return next.handle(request.clone());\n\n if (localStorage.getItem('userToken') != null) {\n const clonedreq = request.clone({\n headers: request.headers.set(\"Authorization\", \"Bearer \" + localStorage.getItem('userToken'))\n });\n return next.handle(request)\n .pipe(\n retry(1),\n catchError((error: HttpErrorResponse) => {\n let errorMessage = '';\n if (error.status === 401) {\n localStorage.removeItem('userToken');\n localStorage.clear();\n this.location.replaceState('Login');\n window.location.reload();\n }\n return throwError(errorMessage);\n })\n )\n }\n else {\n localStorage.removeItem('userToken');\n localStorage.clear();\n this.location.replaceState('Login');\n window.location.reload();\n }\n }\n}","import { ChangeDetectorRef, Injectable,NgZone} from '@angular/core';\nimport { Router, CanActivate } from '@angular/router';\nimport { ActivatedRouteSnapshot } from '@angular/router';\nimport { resolve } from 'dns';\nimport { access } from 'fs';\nimport { Observable, of } from 'rxjs';\nimport { promise } from 'selenium-webdriver';\nimport { HeaderMenuModel, Menuelement } from '../Model/HeaderMenuModel';\nimport { AccessPermissionModel } from '../Model/WorkFlowScreenAccessModel';\nimport { AccessPermissionService } from '../Service/access-permission.service';\nimport { CommonService } from '../Service/common.service';\n\n\n@Injectable()\nexport class RoleGuard implements CanActivate {\n loginUser: any;\n accesspermissionobj:AccessPermissionModel[]=Array();\n AccesspermissionForRole:any[]=[];\n menuaccessinfo:Menuelement[]=Array();\n map = new Map();\n mapedit=new Map();\n hasAccess:boolean=false;\n\n constructor(private router: Router,private NgZone:NgZone,private accessservice: AccessPermissionService) {\n }\n canActivate(route: ActivatedRouteSnapshot): Observable| Promise | boolean {\n const Element = route.data.Element;\n const Access = route.data.Access;\n const redirectTo=route.data.redirectTo;\n const userRole: any = localStorage.getItem(\"UserRole\");\n return new Promise((resolve) => { \n if(Element && Access)\n {\n \n if(this.accesspermissionobj.length==0)\n {\n this.accessservice.GetAll().subscribe((data:any)=>\n {\n this.accesspermissionobj=data;\n localStorage.setItem(\"accesspermissionobj\", JSON.stringify(this.accesspermissionobj));\n \n resolve(this.hasAccessPermission(route));\n });\n }\n else{\n resolve(this.hasAccessPermission(route));\n \n }\n \n }\n else\n {\n resolve(this.hasRequiredPermission(route));\n }\n });\n\n \n // if(Element!=null)\n // {\n // this.accessservice.GetAll().toPromise((data:any)=>{\n // this.accesspermissionobj=data;\n // const userRole: any = localStorage.getItem(\"UserRole\");\n // this.AccesspermissionForRole = this.accesspermissionobj.filter(x => x.Fk_RoleId == userRole && x.ElementKey==Element);\n // console.log(\"Rules\",this.AccesspermissionForRole)\n // resolve(this.hasAccessPermission(this.AccesspermissionForRole,Access,redirectTo));\n // });\n // }\n // else{\n // // return of(this.hasRequiredPermission(route));\n // return of(true);\n // }\n \n }\n \n protected hasAccessPermission(route: ActivatedRouteSnapshot): boolean {\n // If user’s permissions already retrieved from the API\n // const role: string = localStorage.getItem('role');\n const accessToken: any = localStorage.getItem(\"userToken\");\n const Element = route.data.Element;\n const Access = route.data.Access;\n const redirectTo=route.data.redirectTo;\n const userRole: any = localStorage.getItem(\"UserRole\");\n let AccesspermissionForRole = this.accesspermissionobj.filter(x => x.ElementKey==Element);\n // return true;\n if (!accessToken) {\n // this.router.navigate(['/login']);\n this.router.navigateByUrl('/');\n } else if (userRole != null && accessToken != null) {\n \n if(Access==\"IsVisible\")\n {\n const hasPermission = AccesspermissionForRole.filter(x=>x.Fk_RoleId == userRole)[0]?.IsVisible;\n \n if (hasPermission) {\n return true;\n \n } else {\n alert('You do not have rights to access this page.');\n //this.router.navigate([next.data.permissions.redirectTo])\n return false;\n }\n }else if(Access==\"IsEditable\")\n {\n const hasPermission = AccesspermissionForRole.filter(x=>x.Fk_RoleId == userRole)[0]?.IsEditable;\n \n if (hasPermission) {\n return true;\n \n } else {\n alert('You do not have rights to access this page.');\n //this.router.navigate([next.data.permissions.redirectTo])\n return false;\n }\n }\n else if(Access==\"CanList\")\n {\n const hasPermission = AccesspermissionForRole.filter(x=>x.Fk_RoleId == userRole)[0]?.CanList;\n \n if (hasPermission) {\n return true;\n \n } else {\n alert('You do not have rights to access this page.');\n //this.router.navigate([next.data.permissions.redirectTo])\n return false;\n }\n }\n else if(Access==\"CanCreate\")\n {\n const hasPermission = AccesspermissionForRole.filter(x=>x.Fk_RoleId == userRole)[0]?.CanCreate;\n \n if (hasPermission) {\n return true;\n \n } else {\n alert('You do not have rights to access this page.');\n //this.router.navigate([next.data.permissions.redirectTo])\n return false;\n }\n }\n \n \n \n } else {\n this.router.navigate([redirectTo]);\n return false;\n }\n }\n\n\n protected hasRequiredPermission(next: any): Promise | boolean {\n // If user’s permissions already retrieved from the API\n // const role: string = localStorage.getItem('role');\n const accessToken: any = localStorage.getItem(\"userToken\");\n const userRole: any = localStorage.getItem(\"UserRole\");\n if (!accessToken) {\n // this.router.navigate(['/login']);\n this.router.navigateByUrl('/');\n } else if (userRole != null && accessToken != null) {\n \n if (next.data.permissions.only.filter(x => x == userRole).length > 0) {\n return true;\n \n } else {\n alert('You do not have rights to access this page.');\n //this.router.navigate([next.data.permissions.redirectTo])\n return false;\n }\n } else {\n this.router.navigate([next.data.permissions.redirectTo]);\n return false;\n }\n }\n\n}","import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { Component, OnInit, Inject } from '@angular/core';\nimport { CommonService } from '../Service/common.service';\n\n\nexport interface DialogData {\n title: string;\n message: string;\n}\n\n@Component({\n selector: 'app-confirm-dialog',\n templateUrl: './confirm-dialog.component.html',\n styleUrls: ['./confirm-dialog.component.scss']\n})\n\nexport class ConfirmDialogComponent implements OnInit {\n\n dialogData: DialogData;\n title: string;\n message: string;\n\n constructor(\n public dialogRef: MatDialogRef,\n private commonService: CommonService,\n @Inject(MAT_DIALOG_DATA) public data: DialogData\n ) { }\n\n ngOnInit() {\n this.commonService.RefreshHeaderFun();\n }\n\n onConfirm(): void {\n // Close the dialog, return true\n this.dialogRef.close(true);\n }\n\n onDismiss(): void {\n // Close the dialog, return false\n this.dialogRef.close(false);\n }\n}","\n\n

{{data.title}}

\n\n

{{data.message}}

\n\n\n
\n   \n \n
\n
","import { NgbDateParserFormatter, NgbDateStruct } from '@ng-bootstrap/ng-bootstrap';\nimport { DatePipe } from '@angular/common';\n\nexport class CustomNgbDateParserFormatter extends NgbDateParserFormatter {\n\tdatePipe = new DatePipe('en-US');\n\tconstructor(\n\t\tprivate dateFormatString: string) {\n\t\tsuper();\n\t}\n\tformat(date: NgbDateStruct): string {\n\t\tif (date === null) {\n\t\t\treturn '';\n\t\t}\n\t\ttry {\n\t\t\treturn this.datePipe.transform(new Date(date.year, date.month - 1, date.day), 'dd-MMM-yyyy');\n\t\t} catch (e) {\n\t\t\treturn '';\n\t\t}\n\t}\n\tparse(value: string): NgbDateStruct {\n\t\tlet returnVal: NgbDateStruct;\n\t\tif (!value) {\n\t\t\treturnVal = null;\n\t\t} else {\n\t\t\ttry {\n\t\t\t\tlet dateParts = this.datePipe.transform(value, 'M-d-y').split('-');\n\t\t\t\treturnVal = { year: parseInt(dateParts[2]), month: parseInt(dateParts[0]), day: parseInt(dateParts[1]) };\n\t\t\t} catch (e) {\n\t\t\t\treturnVal = null;\n\t\t\t}\n\t\t}\n\t\treturn returnVal;\n\t}\n}","import { Directive, Input } from '@angular/core';\nimport { NG_VALIDATORS, Validator, ValidationErrors, FormGroup } from '@angular/forms';\n\nimport { MustMatch } from '../validator/must-match.validator';\n\n@Directive({\n selector: '[mustMatch]',\n providers: [{ provide: NG_VALIDATORS, useExisting: MustMatchDirective, multi: true }]\n})\nexport class MustMatchDirective implements Validator {\n @Input('mustMatch') mustMatch: string[] = [];\n\n validate(formGroup: FormGroup): ValidationErrors {\n return MustMatch(this.mustMatch[0], this.mustMatch[1])(formGroup);\n }\n}","import { Directive, HostListener, ElementRef } from '@angular/core';\nimport { isPlatformBrowser } from '@angular/common';\nimport { FormGroup } from '@angular/forms';\n\n@Directive({\n selector: '[appFocusInvalidInput]'\n})\nexport class FocusInvalidInputDirective {\n constructor(private el: ElementRef) {}\n\n @HostListener('submit')\n onFormSubmit() {\n const invalidControl = this.el.nativeElement.querySelector('.ng-invalid');\n\n if (invalidControl) {\n invalidControl.focus();\n }\n }\n}\n","import { ChangeDetectorRef, Component, Input, OnInit } from '@angular/core';\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\nimport { ToastrService } from 'ngx-toastr';\nimport { CommonService } from '../Service/common.service';\n\n@Component({\n selector: 'app-dynamic-bgimage',\n templateUrl: './dynamic-bgimage.component.html',\n styleUrls: ['./dynamic-bgimage.component.scss']\n})\nexport class DynamicBGImageComponent implements OnInit {\n allowedFileType: string[] = ['image/jpeg', 'image/png', 'image/jpg'];\n tempfile: any;\n BackgroundImage:any[]=[];\n @Input() showLoader: boolean = false;\n constructor(private toastr: ToastrService, public cdRef: ChangeDetectorRef,private activeModal: NgbActiveModal, private commonService: CommonService) { }\n\n ngOnInit(): void {\n }\n\n getFileDetails(event) {\n \n let file = event.target.files[0];\n let isValidFile = true;\n if (((file.size) / 1000000) <= 5) {\n\n isValidFile = this.allowedFileType.includes(file.type);\n if (!isValidFile) {\n this.toastr.warning(\"Please attach the file having extension :\\n\\n .jpeg, .jpg, .png\");\n //event.target.value = null;\n isValidFile = false;\n } else if (file.name.length > 50) {\n this.toastr.warning(\"The file name with more than 50 characters are not allowed.\");\n isValidFile = false;\n }\n }\n else {\n this.toastr.warning(\"File size must be less than or equal to 5MB!\");\n //event.target.value = null;\n isValidFile = false;\n }\n if (isValidFile) {\n this.BackgroundImage = [];\n this.BackgroundImage.push(file);\n }\n }\n\n removeAttachments()\n {\n this.BackgroundImage = [];\n }\n\n OnSubmit() {\n const frmData = new FormData();\n if (this.BackgroundImage != null) {\n \n frmData.append(\"BGImages\", this.BackgroundImage[0]);\n \n this.commonService.PostData('BgImage', 'Add', frmData, null).subscribe((data: any) => {\n\n if (data.ResponseCode == 1) {\n this.toastr.success(\"Background image added successfully!\");\n this.closePopup();\n this.showLoader = false;\n }\n else {\n this.toastr.error(\"Failed to background image!\");\n this.closePopup();\n this.showLoader = false;\n }\n\n\n }, error => {\n this.toastr.error(\"Failed to add stock inventory details!\");\n this.closePopup();\n this.showLoader = false;\n });\n }\n else{\n alert(\"Please upload background image\")\n }\n \n }\n closePopup() {\n this.activeModal.close('Close Click');\n }\n }\n\n","\n
\n \n\n
\n\n
\n
\n
\n \n
\n
\n
\n
\n
\n

\n Change Background Image\n

\n
\n
\n
\n
\n \n
\n\n \n
\n
\n Upload\n \n\n
\n
\n Image is required\n
\n \n
\n\n \n [File Format: .jpeg, .jpg, .png] [Max 5 MB]\n 0\">\n
    \n \n
  • {{BackgroundImage != undefined ?\n BackgroundImage[0].name : \"\"}}  \n
  • \n
\n\n
\n
\n
\n \n \n
\n
\n
\n
\n   \n \n
\n
\n\n \n
\n
\n
\n","import { Component, OnInit, HostListener } from '@angular/core';\nimport { CommonService } from '../Service/common.service';\nimport { AppConfig } from 'src/assets/constants';\nimport { AppConfigService } from '../Service/app-config.service';\n\n@Component({\n selector: 'app-footer',\n templateUrl: './footer.component.html',\n styleUrls: ['./footer.component.scss']\n})\nexport class FooterComponent implements OnInit {\n footerName : any;\n currYear: number = new Date().getFullYear();\n\n constructor(private commonService:CommonService, private appConfigService: AppConfigService) { }\n\n ngOnInit(): void {\n const appConfig = this.appConfigService.getConfig();\n this.footerName = appConfig.footerName;\n this.commonService.RefreshHeaderFun();\n }\n\n @HostListener('window:scroll')\n checkScroll() {\n // Both window.pageYOffset and document.documentElement.scrollTop returns the same result in all the cases. window.pageYOffset is not supported below IE 9.\n\n const scrollPosition = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;\n\n let btn = document.getElementById('gototop');\n if (scrollPosition > 300) {\n btn.classList.add('show');\n } else {\n btn.classList.remove('show');\n }\n }\n\n // TODO: Cross browsing\n gotoTop() {\n window.scroll({\n top: 0,\n left: 0,\n behavior: 'smooth'\n });\n }\n}\n","
\n
\n \n
\n
","import { Component, OnInit, Input, ChangeDetectorRef } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { RegisterModel } from '../Model/RegisterModel';\nimport { CommonService } from '../Service/common.service';\n\n@Component({\n selector: 'app-forgot-password',\n templateUrl: './forgot-password.component.html',\n styleUrls: ['./forgot-password.component.scss']\n})\nexport class ForgotPasswordComponent implements OnInit {\n\n\n forgotPassword: RegisterModel = new RegisterModel();\n\n constructor(\n private commonService: CommonService,\n public dialogRef: MatDialogRef, public cdRef: ChangeDetectorRef) { }\n\n ngOnInit(): void {\n this.commonService.RefreshHeaderFun();\n }\n\n ngAfterViewInit() {\n this.cdRef.detectChanges();\n }\n\n onNoClick(): void {\n this.dialogRef.close();\n\n }\n\n}\n","

\n Forgot Password?\n

\n
\n \n Username\n \n\n \n Username is required\n \n
\n\n
\n
\n   \n \n
","import { Component, OnInit, Input, HostListener, ElementRef } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { Location } from '@angular/common';\nimport { EmployeeGuestModel } from '../Model/EmployeeGuestModel';\nimport { CommonService } from '../Service/common.service';\nimport { ToastrService } from 'ngx-toastr';\nimport { ProductSeries } from '../Model/ProductModel';\nimport { UserRoles } from \"../UserRoles\";\nimport { AppGlobals } from '../app.global';\nimport { DynamicBGImageComponent } from '../dynamic-bgimage/dynamic-bgimage.component';\nimport { MatDialog } from '@angular/material/dialog';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { AccessPermissionModel } from '../Model/WorkFlowScreenAccessModel';\nimport { HeaderMenuModel, Menuelement } from '../Model/HeaderMenuModel';\nimport { AppConfigService } from '../Service/app-config.service';\n\n@Component({\n selector: 'app-header',\n templateUrl: './header.component.html',\n styleUrls: ['./header.component.scss']\n})\nexport class HeaderComponent implements OnInit {\n\n @Input()\n showLoader: boolean = false;\n AppRoles = UserRoles;\n profileObj: EmployeeGuestModel = new EmployeeGuestModel();\n SeriesSubmenu: ProductSeries[] = [];\n role: any;\n showOnlyProductMaster: boolean;\n\n accesspermissionobj:AccessPermissionModel[]=Array();\n AccesspermissionForRole:any[]=[];\n menuaccessinfo:Menuelement[]=Array();\n map = new Map();\n\n isProductLine: boolean = false;\n isCustomer: boolean = false;\n isGuest: boolean = false;\n isEmployee: boolean = false;\n isConfigure: boolean = false;\n isBusinessPlan: boolean = false;\n isStockInventory: boolean = false;\n isWorkFlowScreenAccess: boolean = false;\n isAlerts: boolean = false;\n isOpenProductLineMaster: boolean;\n closeResult: string;\n isPriceConfigurator: boolean = false;\n isSiteActivity: boolean = false;\n isLeadEditable: boolean=false;\n logoImageUrl : any;\n\n constructor(private router: Router, private location: Location, private commonService: CommonService,\n private toastr: ToastrService, private eRef: ElementRef,public dialog: MatDialog,private modalService: NgbModal, private appConfigService: AppConfigService) { }\n\n ngOnInit() {\n\n this.showLoader = true;\n this.logoImageUrl = this.appConfigService.getConfig().logoImageUrl;\n this.role = localStorage.getItem(\"UserRole\");\n this.commonService.RefreshHeaderFun();\n this.VisibleMasters();\n \n\n if (this.role == this.AppRoles.Admin || this.role == this.AppRoles.SalesDirector || this.role == this.AppRoles.CEO) {\n this.showOnlyProductMaster = false;\n }\n if (!(this.role == this.AppRoles.Admin || this.role == this.AppRoles.SalesDirector || this.role == this.AppRoles.CEO)) {\n this.showOnlyProductMaster = true;\n }\n document.getElementById(\"enquiryDiv\").style.display = \"none\";\n document.getElementById(\"manageMasterDiv\").style.display = \"none\";\n document.getElementById(\"reportDiv\").style.display = \"none\";\n\n if (this.commonService.subsVar == undefined) {\n this.commonService.subsVar = this.commonService.\n RefreshHeader.subscribe((name: string) => {\n this.getUserProfileInfo();\n this.GetProductSeriesWithLabels();\n \n });\n \n }\n }\n\n OpenProductLineMaster() {\n this.isOpenProductLineMaster = !this.isOpenProductLineMaster;\n }\n\n VisibleMasters() {\n this.showLoader = true;\n this.commonService.GetAllAccesspermission().subscribe((data:any)=> {\n this.accesspermissionobj=data;\n this.AccesspermissionForRole = this.accesspermissionobj.filter(x => x.Fk_RoleId == this.role);\n \n this.AccesspermissionForRole.forEach(ele=>\n {\n var obj = new HeaderMenuModel();\n obj.ElementKey=ele.ElementKey;\n obj.ElementValue=ele.CanList;\n this.menuaccessinfo.push(obj);\n \n });\n this.showLoader = true;\n this.menuaccessinfo.forEach(element => {\n this.map.set(element.ElementKey,element.ElementValue);\n \n });\n });\n this.showLoader = false;\n // this.isProductLine = AppGlobals.ProductMastersEditableAccessArray.filter(x => x.role == this.role)[0]?.isVisible;\n // this.isCustomer = AppGlobals.CustomerMastersEditableAccessArray.filter(x => x.role == this.role)[0]?.isVisible;\n // this.isEmployee = AppGlobals.EmployeeMastersEditableAccessArray.filter(x => x.role == this.role)[0]?.isVisible;\n // this.isGuest = AppGlobals.GuestMastersEditableAccessArray.filter(x => x.role == this.role)[0]?.isVisible;\n // this.isConfigure = AppGlobals.ConfigureMastersEditableAccessArray.filter(x => x.role == this.role)[0]?.isVisible;\n // this.isBusinessPlan = AppGlobals.BusinessPlanEditableAccessArray.filter(x => x.role == this.role)[0]?.isVisible;\n // this.isStockInventory = AppGlobals.StockInventoryEditableAccessArray.filter(x => x.role == this.role)[0]?.isVisible;\n // this.isWorkFlowScreenAccess = AppGlobals.WorkFlowScreenAccessEditableAccessArray.filter(x => x.role == this.role)[0]?.isVisible;\n // this.isAlerts = AppGlobals.AlertsAccessEditableAccessArray.filter(x => x.role == this.role)[0]?.isVisible;\n // this.isPriceConfigurator = AppGlobals.PriceConfiguratorEditableAccessArray.filter(x => x.role == this.role)[0]?.isVisible;\n // this.isSiteActivity = AppGlobals.SiteActivityEditableAccessArray.filter(x => x.role == this.role)[0]?.isVisible;\n }\n\n onLogoClick() {\n this.router.navigateByUrl('/Dashboard');\n }\n\n getUserProfileInfo() {\n this.showLoader = true;\n\n this.commonService.GetUserProfileData('Account', 'GetUserProfileInfo').subscribe((data: any) => {\n this.profileObj = data;\n localStorage.setItem(\"RegionID\", data.RegionId);\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n\n });\n this.showLoader = false;\n }\n \n\n GetProductSeriesWithLabels() {\n this.showLoader = true;\n this.commonService.GetData('ProductSeries', 'GetAll', null).subscribe((data: any) => {\n\n this.SeriesSubmenu = data;\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n\n });\n }\n\n logout() {\n this.showLoader = true;\n this.commonService.PostData('Account', 'Logout', null, null).subscribe((data: any) => {\n if (data.ResponseCode == 1) {\n this.toastr.success(\"Logout successfully!\");\n localStorage.removeItem('userToken');\n localStorage.clear();\n this.location.replaceState('Login');\n this.showLoader = false;\n window.location.reload();\n }\n else {\n this.toastr.error(\"Failed to logout!\");\n this.showLoader = false;\n }\n }, error => {\n this.toastr.error(\"Failed to logout!!\");\n this.showLoader = false;\n });\n }\n\n \n\n myFunction() {\n let x = document.getElementById(\"m_header_menu\");\n if (x.style.display === \"block\") {\n x.style.display = \"none\";\n } else {\n x.style.display = \"block\";\n }\n }\n\n myFunctions() {\n let x = document.getElementById(\"m_header_topbar\");\n if (x.style.display === \"table\") {\n x.style.display = \"none\";\n } else {\n x.style.display = \"table\";\n }\n }\n\n\n openDialog() {\n \n const modalRef = this.modalService.open(DynamicBGImageComponent, {\n size: 'lg', backdrop: 'static', keyboard: false\n });\n\n \n modalRef.result.then((result) => {\n this.closeResult = `Closed with:${result}`;\n if (this.closeResult !== 'Closed with:Close click') {\n }\n });\n }\n\n \n getValue(key: string): boolean {\n return this.map.get(key);\n }\n\n AccessPermission(key: string): boolean {\n return this.map.get(key);\n }\n}\n","\n\n
\n
\n
\n
\n\n \n
\n
\n \n \n \n \n\n
\n \n \"\"\n
\n\n
\n\n \n \n \n \n\n \n\n \n \n \n \n\n \n
\n\n
\n
\n\n \n
\n
\n\n
\n \n \n\n \n\n\n \n
\n
\n \n\n
  • \n \n Manage Masters\n \n \n\n \n \n
    \n \n
    \n \n
    \n
    \n
  • \n\n
  • \n \n Reports\n \n \n\n \n
    \n \n
    \n
      \n\n
    • \n \n
    • \n\n
    \n
    \n
    \n
  • \n\n \n\n\n
  • \n \n Customer Engagement\n \n \n \n
    \n \n
    \n \n
    \n
    \n
  • \n\n
  • \n \n \n
  • \n \n
    \n
    \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n
    \n\n \n
    \n \n \n\n
    \n","import { Component, OnInit, Input, ElementRef, SimpleChange, SimpleChanges, OnChanges } from '@angular/core';\nimport { CommonService } from '../Service/common.service';\n\n@Component({\n selector: 'loader',\n templateUrl: './loader.component.html',\n styleUrls: ['./loader.component.scss']\n})\nexport class LoaderComponent implements OnInit, OnChanges {\n\n @Input()\n showLoader: boolean;\n\n constructor(private elementRef: ElementRef,private commonService:CommonService) {\n \n }\n\n ngOnInit() {\n this.commonService.RefreshHeaderFun();\n }\n\n ngOnChanges(changes: SimpleChanges) {\n let change = changes.currentValue;\n\n if (this.showLoader == true) {\n this.elementRef.nativeElement.getElementsByClassName('overlays')[0].style.display = \"block\";\n }\n else {\n this.elementRef.nativeElement.getElementsByClassName('overlays')[0].style.display = \"none\";\n }\n }\n\n\n}\n","
    \n
    \n
    \n \n \n \n \n
    \n
    \n \n \n \n \n
    \n
    \n \n \n \n \n
    \n\n
    \n
    ","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatRadioModule } from '@angular/material/radio';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { MatNativeDateModule } from '@angular/material/core';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatCardModule } from '@angular/material/card';\nimport { MatDividerModule } from '@angular/material/divider';\nimport { MatTableModule } from '@angular/material/table';\nimport { MatSortModule } from '@angular/material/sort';\nimport { MatPaginatorModule } from '@angular/material/paginator';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\nimport { MatStepperModule } from '@angular/material/stepper';\nimport { MAT_STEPPER_GLOBAL_OPTIONS } from '@angular/cdk/stepper';\nimport {MatAutocompleteModule} from '@angular/material/autocomplete';\nimport { MatCheckboxModule} from '@angular/material/checkbox';\nimport {MatExpansionModule} from '@angular/material/expansion';\n\n\n\n@NgModule({\n declarations: [],\n imports: [\n CommonModule,\n MatInputModule,\n MatRadioModule,\n MatDatepickerModule,\n MatNativeDateModule,\n MatSelectModule,\n MatButtonModule,\n MatDialogModule,\n MatFormFieldModule,\n MatCardModule,\n MatDividerModule,\n MatTableModule,\n MatSortModule,\n MatPaginatorModule,\n MatIconModule,\n MatSlideToggleModule,\n MatStepperModule,\n MatAutocompleteModule,\n MatCheckboxModule,\n MatExpansionModule,\n ],\n exports: [\n MatInputModule,\n MatRadioModule,\n MatDatepickerModule,\n MatNativeDateModule,\n MatSelectModule,\n MatButtonModule,\n MatDialogModule,\n MatFormFieldModule,\n MatCardModule,\n MatDividerModule,\n MatTableModule,\n MatSortModule,\n MatPaginatorModule,\n MatIconModule,\n MatSlideToggleModule,\n MatStepperModule,\n MatAutocompleteModule,\n MatCheckboxModule,\n MatExpansionModule,\n ],\n providers: [{\n provide: MAT_STEPPER_GLOBAL_OPTIONS, useValue: { displayDefaultIndicatorType: false }\n }, MatDatepickerModule]\n})\nexport class MaterialModule { }\n","import { Component, OnInit, Input, ChangeDetectorRef } from '@angular/core';\nimport { ChangePasswordModel } from '../Model/ChangePasswordModel';\nimport { ToastrService } from 'ngx-toastr';\nimport { MatDialog } from '@angular/material/dialog';\nimport { CommonService } from '../Service/common.service';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { ConfirmDialogComponent } from '../confirm-dialog/confirm-dialog.component';\nimport { UserRoles } from '../UserRoles';\nimport { NgbCalendar, NgbDate, NgbDateParserFormatter, NgbDateStruct } from '@ng-bootstrap/ng-bootstrap';\nimport { DatePipe } from '@angular/common';\nimport { OutofOfficeActivityModel } from '../Model/OutOfOfficeActivityModel';\nimport { EmployeeGuestModel } from '../Model/EmployeeGuestModel';\nimport { AppConfigService } from '../Service/app-config.service';\n\n@Component({\n selector: 'app-profile',\n templateUrl: './profile.component.html',\n styleUrls: ['./profile.component.scss']\n})\nexport class ProfileComponent implements OnInit {\n\n outOfOfficeObj : OutofOfficeActivityModel = new OutofOfficeActivityModel();\n profileObj: EmployeeGuestModel = new EmployeeGuestModel();\n changePasswordObj: ChangePasswordModel = new ChangePasswordModel();\n //passwordPattern: any = /^(?=.*[0-9])(?=.*[!@#$%^&*])[a-zA-Z0-9!@#$%^&*]{6,30}$/;\n passwordPattern: any = '(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[$@$!%*?&])[A-Za-z\\d$@$!%*?&].{6,30}';\n emailPattern: string = \"^[a-zA-Z0-9_\\\\.-]+@([a-zA-Z0-9-]+\\\\.)+[a-zA-Z]{2,6}$\";\n OldPasshide: boolean = true;\n NewPasshide: boolean = true;\n ConfirmPasshide: boolean = true;\n isOutOfOffice : boolean = false;\n @Input()\n showLoader: boolean = false;\n charCode: number;\n Role: any;\n UserRoles: any;\n Userid: string;\n EnquiryngbDateFromFiter: NgbDate | null;\n EnquiryngbDateToFiter: NgbDate | null;\n hoveredDate: NgbDate | null = null;\n minDate: NgbDateStruct;\n maxDate: NgbDateStruct;\n datePipe = new DatePipe('en-US');\n mailIdFormat : any;\n \n\n constructor(private toastr: ToastrService, private commonService: CommonService, public dialog: MatDialog,\n private router: Router, private route: ActivatedRoute,public formatter: NgbDateParserFormatter,private cd: ChangeDetectorRef, private calendar: NgbCalendar,\n private appConfigService: AppConfigService) {\n this.UserRoles = UserRoles;\n const current = new Date();\n this.minDate = { year: current.getFullYear(), month: current.getMonth(), day: current.getDate() };\n this.maxDate = { year: current.getFullYear()+1, month: current.getMonth() + 5, day: current.getDate() }\n }\n\n ngOnInit() {\n const appConfig = this.appConfigService.getConfig();\n this.mailIdFormat = appConfig.mailIdFormat;\n this.Role = localStorage.getItem(\"UserRole\");\n this.Userid = localStorage.getItem(\"UserID\");\n this.commonService.RefreshHeaderFun();\n this.getUserProfileInfo();\n }\n\n AvoidSpace(event: any) {\n if (event.which === 32 && !event.target.value.length) {\n event.preventDefault();\n }\n }\n\n isNumberKey(evt: any) {\n this.charCode = (evt.which) ? evt.which: evt.keyCode;\n if (this.charCode != 46 && this.charCode > 31\n && (this.charCode < 48 || this.charCode > 57)) {\n return false;\n }\n else {\n return true;\n }\n }\n\n getUserProfileInfo() {\n this.showLoader = true;\n this.commonService.GetUserProfileData('Account', 'GetUserProfileInfo').subscribe((data: any) => {\n this.profileObj = data;\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n\n }\n\n updateProfile() {\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Do you want to update your profile?\"\n }\n });\n\n dialogRef.afterClosed().subscribe(dialogResult => {\n // if user pressed yes dialogResult will be true, \n // if he pressed no - it will be false\n if (dialogResult) {\n this.showLoader = true;\n\n this.commonService.PostData('Account', 'UpdateProfile', this.profileObj, null).subscribe((data: any) => {\n if (data.ResponseCode == 1) {\n this.toastr.success(\"Profile updated successfully!\");\n this.router.navigate(['/Dashboard']);\n this.showLoader = false;\n }\n else if (data.ResponseCode == 3) {\n this.toastr.warning('Contact number already exists!');\n this.showLoader = false;\n }\n else {\n this.toastr.error(\"Failed to update profile!\");\n this.showLoader = false;\n }\n }, error => {\n this.toastr.error(\"Failed to update profile!\");\n this.showLoader = false;\n });\n\n }\n });\n\n }\n\n changePassword() {\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Do you want to change your password?\"\n }\n });\n\n dialogRef.afterClosed().subscribe(dialogResult => {\n // if user pressed yes dialogResult will be true, \n // if he pressed no - it will be false\n if (dialogResult) {\n this.showLoader = true;\n this.commonService.PostData('Account', 'ChangePassword', this.changePasswordObj, null).subscribe((data: any) => {\n if (data.ResponseCode == 1) {\n this.toastr.success(\"Password updated successfully!\");\n this.router.navigate(['/Dashboard']);\n this.showLoader = false;\n }\n else {\n this.toastr.error(\"Failed to update password! Please enter correct old password!\");\n this.showLoader = false;\n }\n\n }, error => {\n this.toastr.error(\"Failed to update password!\");\n this.showLoader = false;\n });\n\n }\n });\n\n }\n\n OutofOffice(value: any) {\n // alert(value);\n if(value == true)\n {\n this.isOutOfOffice = true;\n }\n else{\n this.isOutOfOffice = false;\n }\n }\n OnToDateFilterChange() {\n\n // this.GetAllEnquiry();\n }\n\n onDateSelection(date: NgbDate) {\n if (!this.EnquiryngbDateFromFiter && !this.EnquiryngbDateToFiter) {\n this.EnquiryngbDateFromFiter = date;\n } else if (this.EnquiryngbDateFromFiter && !this.EnquiryngbDateToFiter && date && date.after(this.EnquiryngbDateFromFiter)) {\n this.EnquiryngbDateToFiter = date;\n } else {\n this.EnquiryngbDateToFiter = null;\n this.EnquiryngbDateFromFiter = date;\n }\n }\n OnFromDateFilterChange() {\n let EnquiryDateFromFiter = this.ConvertNgbDateToDate(this.EnquiryngbDateFromFiter)\n let EnquiryDateToFiter = this.ConvertNgbDateToDate(this.EnquiryngbDateToFiter)\n if (EnquiryDateToFiter < EnquiryDateFromFiter) {\n this.EnquiryngbDateToFiter = this.EnquiryngbDateFromFiter;\n this.cd.detectChanges();\n\n }\n //this.GetAllEnquiry();\n\n }\n ConvertNgbDateToDate(ngbdate: any) {\n if (ngbdate != null) {\n return new Date(ngbdate.year, ngbdate.month - 1, ngbdate.day)\n }\n\n }\n\n convertDate(date: any) {\n let year = date.year;\n let month = date.month;\n let day = date.day;\n return year + \"-\" + month + \"-\" + day;\n }\n\n validateInput(currentValue: NgbDate | null, input: string): NgbDate | null {\n const parsed = this.formatter.parse(input);\n return parsed && this.calendar.isValid(NgbDate.from(parsed)) ? NgbDate.from(parsed) : currentValue;\n }\n \n isHovered(date: NgbDate) {\n return this.EnquiryngbDateFromFiter && !this.EnquiryngbDateToFiter && this.hoveredDate && date.after(this.EnquiryngbDateFromFiter) && date.before(this.hoveredDate);\n }\n\n isInside(date: NgbDate) {\n return this.EnquiryngbDateToFiter && date.after(this.EnquiryngbDateFromFiter) && date.before(this.EnquiryngbDateToFiter);\n }\n\n isRange(date: NgbDate) {\n return date.equals(this.EnquiryngbDateFromFiter) || (this.EnquiryngbDateToFiter && date.equals(this.EnquiryngbDateToFiter)) || this.isInside(date) || this.isHovered(date);\n }\n\n updateOutOfOfficeSetting(){\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Do you want to update your out of office setting?\"\n }\n });\n\n dialogRef.afterClosed().subscribe(dialogResult => {\n // if user pressed yes dialogResult will be true, \n // if he pressed no - it will be false\n if (dialogResult) {\n this.showLoader = true;\n\n // this.outOfOfficeObj.Role = this.Role;\n this.outOfOfficeObj.Fk_UserId = this.Userid;\n if (this.EnquiryngbDateFromFiter != undefined) {\n this.outOfOfficeObj.StartDate = new Date(this.convertDate(new NgbDate(this.EnquiryngbDateFromFiter.year, this.EnquiryngbDateFromFiter.month, this.EnquiryngbDateFromFiter.day))).toDateString();\n }\n if (this.EnquiryngbDateToFiter != undefined) {\n this.outOfOfficeObj.EndDate = new Date(this.convertDate(new NgbDate(this.EnquiryngbDateToFiter.year, this.EnquiryngbDateToFiter.month, this.EnquiryngbDateToFiter.day))).toDateString();\n }\n\n this.commonService.PostData('Account', 'SetOutOfOffice', this.outOfOfficeObj, null).subscribe((data: any) => {\n if (data.ResponseCode == 1) {\n this.toastr.success(\"Out of office setting updated successfully!\");\n this.router.navigate(['/Dashboard']);\n this.showLoader = false;\n }\n else {\n this.toastr.error(\"Failed to update out of office setting!\");\n this.showLoader = false;\n }\n }, error => {\n this.toastr.error(\"Failed to update out of office setting!\");\n this.showLoader = false;\n });\n\n }\n });\n\n }\n \n}\n","\n\n\n
    \n\n
    \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n

    \n Profile Settings\n

    \n
    \n
    \n
    \n
    \n
    \n * Marked fields are\n mandatory\n
    \n
    \n \n
    \n \n
    \n \n
    \n
    Username is required
    \n
    \n
    \n
    \n\n
    \n \n
    \n \n
    \n
    \n Name is required
    \n \n Name should be 3-55 characters
    \n
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n Email is required
    \n
    \n \n Should be in Email Id format ({{mailIdFormat}})\n
    \n\n
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n Contact number is required
    \n
    \n Please enter valid contact number
    \n
    \n Contact number should be 10-15 digits
    \n\n
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n \n \n
    \n
      \n
    • {{reg.Name}}
    • \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n   \n \n
    \n
    \n
    \n
    \n \n\n
    \n
    \n\n\n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n

    \n Change Password\n

    \n
    \n
    \n
    \n
    \n
    \n * Marked fields are\n mandatory\n
    \n
    \n \n
    \n Instructions:
    \n
    \n
    \n
      \n
    1. New password length must be between 6 to 30 characters.
    2. \n
    3. New password must contains at least one alphanumeric characters.
    4. \n
    5. New password must contains at least one uppercase and lowercase\n characters.\n
    6. \n
    7. New password must contains at least one special characters. (Ex. @, $,\n #, !)\n
    8. \n
    \n
    \n\n
    \n\n \n
    \n \n \n {{OldPasshide ? 'visibility_off':\n 'visibility'}}\n \n\n
    \n
    \n Old password is required
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n {{NewPasshide ? 'visibility_off':\n 'visibility'}}\n \n
    \n
    \n New password is required
    \n
    \n Password must contains minimum 6 alphanumeric with at least one\n uppercase, one lowercase and one special characters. (Ex. Pass@123)\n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n {{ConfirmPasshide ? 'visibility_off':\n 'visibility'}}\n \n
    \n
    \n Confirm password is required
    \n
    \n Confirm password must be same as password
    \n
    \n Password must contains minimum 6 alphanumeric with at least one\n uppercase, one lowercase and one special characters. (Ex. Pass@123)\n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n   \n \n
    \n
    \n
    \n
    \n
    \n\n
    \n
    \n\n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n

    \n Out Of Office Setting\n

    \n
    \n
    \n
    \n
    \n\n
    \n \n
    \n \n \n
    \n
    \n\n
    \n
    \n
    \n
    \n \n \n \n {{ date.day }}\n \n \n
    \n
    \n
    \n \n
    \n
    \n \n \n
    \n \n \n \n \n
    \n
    \n \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n \n \n
    \n \n
    \n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n   \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n\n
    \n \n","import { Component, OnInit } from '@angular/core';\nimport { RegisterModel } from '../Model/RegisterModel';\nimport { CommonService } from '../Service/common.service';\nimport { RegisterService } from '../Service/register.service';\n\n\n@Component({\n selector: 'app-register',\n templateUrl: './register.component.html',\n styleUrls: ['./register.component.scss']\n})\nexport class RegisterComponent implements OnInit {\n\n register: RegisterModel = new RegisterModel();\n emailPattern: string = \"^[a-zA-Z0-9_\\\\.-]+@([a-zA-Z0-9-]+\\\\.)+[a-zA-Z]{2,6}$\";\n\n constructor(private registerService: RegisterService,private commonService:CommonService) { }\n\n ngOnInit(): void {\n this.commonService.RefreshHeaderFun();\n }\n\n onSubmit() {\n let data1 = {\n FirstName: this.register.FirstName,\n LastName: this.register.LastName,\n Email: this.register.Email,\n Password: this.register.Password\n }\n\n\n // this.registerService.postRegister(this.register).subscribe(data => {\n // let result = data;\n // alert(\"Registered Successfully!\");\n // });\n\n }\n}\n","\n
    \n
    Register
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    First Name is required
    \n
    \n
    \n
    \n \n \n
    \n
    Last Name is required
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    Email is required
    \n
    Email must be a valid email address
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    Password is required
    \n
    Password must be at least 6 characters
    \n
    \n
    \n
    \n \n \n
    \n
    Confirm Password is required
    \n
    Passwords must match
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    ","import { Component, OnInit, Input } from '@angular/core';\nimport * as am4core from \"@amcharts/amcharts4/core\";\nimport * as am4charts from \"@amcharts/amcharts4/charts\";\nimport am4themes_animated from \"@amcharts/amcharts4/themes/animated\";\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\nimport { reportmodel } from '../dashboard/enquiry-details-chart/enquiry-details-chart.component';\nimport { AmChartsService } from '@amcharts/amcharts3-angular';\nimport { CommonService } from 'src/app/Service/common.service';\n\n@Component({\n selector: 'app-charts-modal',\n templateUrl: './charts-modal.component.html',\n styleUrls: ['./charts-modal.component.scss']\n})\nexport class ChartsModalComponent implements OnInit {\n @Input() region;\n constructor(private activeModal: NgbActiveModal, private amcharts: AmChartsService\n , private commonService: CommonService) { }\n dataList: any[] = [];\n reportdata: reportmodel[] = Array();\n ngOnInit(): void {\n this.commonService.RefreshHeaderFun();\n this.enquiryDetailsModal();\n }\n enquiryDetailsModal1() {\n\n let chart = am4core.create(\"enquiryDetailsChartModal\", am4charts.SlicedChart);\n //chart.hiddenState.properties.opacity = 0; // this makes initial fade in effect\n chart.responsive.enabled = true;\n // Export\n chart.exporting.menu = new am4core.ExportMenu();\n\n chart.data = [{\n \"category\": \"Submitted Enquiry\",\n \"value\": this.region.SubmittedEnquiry\n },\n {\n \"category\": \"RFQ\",\n \"value\": this.region.RFQ\n },\n {\n \"category\": \"Proposal Delivered\",\n \"value\": this.region.ProposalDelivered\n },\n {\n \"category\": \"Order Confirmation\",\n \"value\": this.region.OrderConfirmation\n },\n {\n \"category\": \"Order Delivered\",\n \"value\": this.region.OrderDelivered\n }];\n\n let series = chart.series.push(new am4charts.FunnelSeries());\n series.colors.step = 2;\n series.dataFields.value = \"value\";\n series.dataFields.category = \"category\";\n series.alignLabels = true;\n\n series.labelsContainer.paddingLeft = 15;\n series.labelsContainer.width = 200;\n\n series.labels.template.text = \"{category}: {value.value}\";\n series.slices.template.tooltipText = \"{category}: {value.value}\\nPercent: {value.percent.formatNumber('#.0')}%\";\n\n }\n\n enquiryDetailsModal() {\n var chart = this.amcharts.makeChart(\"enquiryDetailsChartModal\", {\n \"type\": \"funnel\",\n \"theme\": \"none\",\n \"dataProvider\": [{\n \"category\": \"Lead/Enquiry\",\n \"actualvalue\": this.region.SubmittedEnquiry,\n \"showvalue\": 50\n },\n {\n \"category\": \"RFQ\",\n \"actualvalue\": this.region.RFQ,\n \"showvalue\": 50\n },\n {\n \"category\": \"Quotations\",\n \"actualvalue\": this.region.ProposalDelivered,\n \"showvalue\": 50\n },\n {\n \"category\": \"Order Booked\",\n \"actualvalue\": this.region.OrderConfirmation,\n \"showvalue\": 50\n },\n {\n \"category\": \"Sales\",\n \"actualvalue\": this.region.OrderDelivered,\n \"showvalue\": 50\n }],\n \"creditsPosition\": \"bottom-left\",\n \"titleField\": \"category\",\n \"marginRight\": 160,\n \"hideLabelsPercent\": 0,\n \"precision\": 2,\n \"marginLeft\": 15,\n \"labelPosition\": \"center\",\n \"funnelAlpha\": 0.9,\n \"valueField\": \"showvalue\",\n \"startX\": 0,\n \"neckWidth\": \"40%\",\n \"startAlpha\": 0,\n \"outlineThickness\": 1,\n \"neckHeight\": \"30%\",\n \"balloonText\": \"[[category]]: \" + this.region.Label + \" [[actualvalue]]\",\n \"labelText\": \"[[category]]: \" + this.region.Label + \" [[actualvalue]]\",\n \"responsive\": {\n \"enabled\": true\n },\n \"export\": {\n \"enabled\": true,\n \"pageOrigin\": false,\n \"fileName\": \"SalesFunnel\",\n \"exportTitles\": true,\n \"exportFields\": [\n \"category\",\n \"actualvalue\"\n ],\n \"columnNames\": {\n \"category\": \"Category\",\n \"actualvalue\": \"Value(\" + this.region.Label + \")\"\n },\n \"menu\": [\n {\n \"label\": \"\",\n \"menu\": [\n {\n \"format\": \"png\",\n \"label\": \"PNG\"\n },\n {\n \"format\": \"jpg\",\n \"label\": \"JPG\"\n },\n // {\n // \"format\": \"svg\",\n // \"label\": \"SVG\"\n // },\n {\n \"format\": \"pdf\",\n \"label\": \"PDF\"\n },\n { \"format\": \"xlsx\", \"label\": \"XLSX\" },\n ]\n }\n ]\n },\n });\n\n }\n\n closePopup() {\n this.activeModal.close('Close Click');\n }\n\n}\n\nexport class DataModel {\n category: any;\n value: any;\n}\n","
    \n
    \n
    Enquiry Details - {{region.Region}}
    \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    ","import { Component, OnInit } from '@angular/core';\nimport * as am4core from \"@amcharts/amcharts4/core\";\nimport * as am4charts from \"@amcharts/amcharts4/charts\";\nimport am4themes_animated from \"@amcharts/amcharts4/themes/animated\";\n\nam4core.useTheme(am4themes_animated);\n\n@Component({\n selector: 'app-enquiry-details-modal-chart',\n templateUrl: './enquiry-details-modal-chart.component.html',\n styleUrls: ['./enquiry-details-modal-chart.component.scss']\n})\nexport class EnquiryDetailsModalChartComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n //this.enquiryDetailsModal();\n }\n\n \n}\n","
    \n","import { ChangeDetectorRef, Component, Input, OnInit } from '@angular/core';\nimport { ActivityLinkageEntityType, ActivityOutcomeByType, ActivityParticipant, ActivityPurposeByType, ActivityStatusByType, ActivityType, EntityRecord, User } from 'src/app/Model/ActivityModel';\nimport { ActivityService } from 'src/app/Service/activity.service';\nimport { ToastrService } from 'ngx-toastr';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { Location } from '@angular/common';\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\n\n@Component({\n selector: 'app-add-activity',\n templateUrl: './add-activity.component.html',\n styleUrls: ['./add-activity.component.scss']\n})\n\n\nexport class AddActivityComponent implements OnInit {\n\n\n constructor(private cd: ChangeDetectorRef, private location: Location, private router: Router, private activityService: ActivityService, private toastr: ToastrService, private route: ActivatedRoute,\n private activeModal: NgbActiveModal) { }\n\n\n activityTypeMaster: ActivityType[] = [];\n activityStatusByTypeMaster: ActivityStatusByType[] = [];\n activityOutcomeByTypeMaster: ActivityOutcomeByType[] = [];\n activityPurposeByTypeMaster: ActivityPurposeByType[] = [];\n allEntityTypesMaster: ActivityLinkageEntityType[] = [];\n allCustomers:EntityRecord[] = [];\n allLeads:EntityRecord[] = [];\n allEnquiries:EntityRecord[] = [];\n selectedParticipants = [];\n allUserMaster: User[] = [];\n frmData: any = {};\n ownerIdLocalStorage: any\n entityTypeFilterArray = [];\n subtypeArray1 = []\n showLoader: boolean = false;\n entityId: number;\n custId: number;\n entityType: any;\n isEnquiryShow: boolean = false;\n selectedOptions: any[] = [];\n @Input() ActivityEntity\n inPopUpMode: boolean;\n selectedEnquries = [];\n previousSelectedEnquiries = [];\n selectedCustomers = [];\n selectedCustomersOrLeads = [];\n selectedEntityRecords = [];\n selectedLeads = [];\n ENTITY_TYPE_CUSTOMER = \"1\";\n ENTITY_TYPE_LEAD = \"2\";\n ENTITY_TYPE_ENQUIRY = \"3\";\n relatedEntityRecords: EntityRecord[] = [];\n\n\n\n\n ngOnInit(): void {\n\n this.inPopUpMode = this.ActivityEntity?.inPopUpMode ? this.ActivityEntity?.inPopUpMode : false;\n localStorage.removeItem('ViewType-A');\n this.showLoader = true;\n this.ownerIdLocalStorage = localStorage.getItem('UserID')\n // **********Initial render linckages********\n this.getActivityFromMaster();\n this.getAllCustomers();\n this.getAllLeads();\n this.getAllParticipantFromMaster();\n // ****** LoggedInUser as default Participant****\n this.frmData.ActivityOwnerId = this.ownerIdLocalStorage;\n if (this.frmData.ListActivityParticipants == undefined) {\n this.frmData.ListActivityParticipants = [];\n this.frmData.ListActivityParticipants.push(this.frmData.ActivityOwnerId);\n }\n // ************ if Route comes from customer-lead-Enquiry*********\n this.entityType = this.ActivityEntity?.entityType ? this.ActivityEntity?.entityType : this.route.snapshot.queryParams['EntityType'];\n\n if(this.entityType === 'Lead') {\n this.entityId = this.route.snapshot.queryParams['LeadId'];\n this.selectedLeads.push(Number(this.entityId));\n }\n if(this.entityType === 'Customer') {\n this.entityId = this.route.snapshot.queryParams['CustId'];\n this.selectedCustomers.push(Number(this.entityId));\n this.getEnquiriessByCustomers();\n }\n if(this.entityType === 'Enquiry') {\n this.entityId = this.ActivityEntity?.enqId ? this.ActivityEntity?.enqId : this.route.snapshot.queryParams['EnqId'];\n this.custId = this.ActivityEntity?.custId ? this.ActivityEntity?.custId : this.route.snapshot.queryParams['CustId'];\n\n if(this.custId && !isNaN(this.custId) && this.entityId && !isNaN(this.entityId)){\n this.selectedCustomers.push(Number(this.custId));\n this.selectedEnquries.push(Number(this.entityId));\n this.getEnquiriessByCustomers();\n }\n\n }\n if (this.entityType !== undefined && this.entityId !== undefined) {\n this.isLinkagePresent();\n }\n this.showLoader = false;\n }\n\n\n getAllParticipantFromMaster() {\n this.showLoader = true;\n this.activityService.getallUserMaster().subscribe((data: User[]) => {\n this.allUserMaster = data;\n this.showLoader = false;\n })\n }\n\n getActivityFromMaster() {\n this.showLoader = true;\n this.activityService.getActivityTypeMaster().subscribe((data) => {\n this.activityTypeMaster = data;\n this.showLoader = false;\n });\n }\n\n\n isLinkagePresent() {\n this.activityService.getallEntityTypesMaster().subscribe((data: ActivityLinkageEntityType[]) => {\n this.frmData.ListActivityLinkage = [];\n this.frmData.ListActivityLinkage.push({ EntityTypeId: null, EntityId: this.entityId });\n this.allEntityTypesMaster = data;\n let obj = this.allEntityTypesMaster.find((arg) => { return arg.EntityType == this.entityType })\n this.frmData.ListActivityLinkage[0].EntityTypeId = obj.Id;\n });\n }\n\n onOwnerChange(frmData, index) {\n if (frmData.ListActivityParticipants != undefined) {\n if (frmData.ListActivityParticipants.length > 1) {\n frmData.ListActivityParticipants[0] = this.frmData.ActivityOwnerId;\n }\n else {\n frmData.ListActivityParticipants = [];\n frmData.ListActivityParticipants.push(this.frmData.ActivityOwnerId);\n }\n }\n else {\n frmData.ListActivityParticipants = [];\n frmData.ListActivityParticipants.push(this.frmData.ActivityOwnerId);\n }\n }\n\n onKeyDown(event: KeyboardEvent) {\n if (event.key === ' ' && event.target['value'].trim() === '') {\n event.preventDefault();\n }\n }\n\n onActivityTypeChange(ActivityTypeId: number,) {\n\n // const obj = this.activityTypeMaster.find(obj => obj.ActivityTypeId == ActivityTypeId);\n\n // if (obj.ActivityTypeDesc == 'Meeting') {\n // this.subtypeArray1 = ['Seminar', 'Webinar']\n // this.frmData.ActivitySubType = \"Webinar\"\n // }\n // else {\n // this.subtypeArray1 = []\n // delete this.frmData['ActivitySubType'];\n // }\n delete this.frmData['ActivityPurposeId'];\n delete this.frmData['PurposeDesc'];\n\n this.activityService.getActivityPurposeMaster(ActivityTypeId).subscribe((data: ActivityPurposeByType[]) => {\n this.activityPurposeByTypeMaster = data;\n\n });\n\n this.activityService.getActivityStatusMaster(ActivityTypeId).subscribe((data: ActivityStatusByType[]) => {\n this.activityStatusByTypeMaster = data;\n });\n\n this.activityService.getActivityOutcomeMaster(ActivityTypeId).subscribe((data: ActivityOutcomeByType[]) => {\n this.activityOutcomeByTypeMaster = data;\n })\n }\n\n goBack() {\n this.location.back();\n }\n\n closePopup() {\n this.activeModal.close('Close Click');\n }\n\n onSubmit(frmData: any, addActivityForm: any) {\n\n this.showLoader = true;\n if (!addActivityForm.valid) {\n this.showLoader = false;\n return\n }\n// debugger\n // frmData.ListActivityLinkage = frmData.ListActivityLinkage?.flatMap(obj => obj.EntityId?.map(id => {\n // if (obj.EntityTypeId && id) {\n // return ({\n // EntityTypeId: obj.EntityTypeId,\n // EntityId: id,\n // })\n // }\n // }));\n\n frmData.allEnquiries = frmData.allEnquiries?.flatMap(obj => obj.EntityId?.map(id => {\n if (obj.EntityTypeId && id) {\n return ({\n EntityTypeId: obj.EntityTypeId,\n EntityId: id ,\n })\n }\n }));\n\n frmData.allLeads = frmData.allLeads?.flatMap(obj => obj.EntityId?.map(id => {\n if (obj.EntityTypeId && id) {\n return ({\n EntityTypeId: obj.EntityTypeId,\n EntityId: id ,\n })\n }\n }));\n frmData.allCustomers = frmData.allCustomers?.flatMap(obj => obj.EntityId?.map(id => {\n if (obj.EntityTypeId && id) {\n return ({\n EntityTypeId: obj.EntityTypeId,\n EntityId: id ,\n })\n }\n }));\n\n\n // ***** Participant Conversion*****\n this.frmData.ListActivityParticipants = this.frmData.ListActivityParticipants.map(id => ({ ActivityParticipant: id }));\n let selectedCustomersAsObjCol = this.convertSelectedEntityArrayToEntityObjCollection(this.selectedCustomers, this.ENTITY_TYPE_CUSTOMER);\n let selectedLeadsAsObjCol = this.convertSelectedEntityArrayToEntityObjCollection(this.selectedLeads, this.ENTITY_TYPE_LEAD);\n let selectedEnquriesAsObjCol = this.convertSelectedEntityArrayToEntityObjCollection(this.selectedEnquries, this.ENTITY_TYPE_ENQUIRY);\n\n //Clear existing linkage object\n this.frmData.ListActivityLinkage = [];\n\n if (selectedCustomersAsObjCol) {\n this.frmData.ListActivityLinkage = this.frmData.ListActivityLinkage.concat(selectedCustomersAsObjCol);\n }\n if (selectedLeadsAsObjCol) {\n this.frmData.ListActivityLinkage = this.frmData.ListActivityLinkage.concat(selectedLeadsAsObjCol);\n }\n if (selectedEnquriesAsObjCol) {\n this.frmData.ListActivityLinkage = this.frmData.ListActivityLinkage.concat(selectedEnquriesAsObjCol);\n }\n\n\n this.showLoader = true;\n\n\n this.activityService.addActivity(frmData).subscribe((res) => {\n this.showLoader = false;\n // this.toastr.success(res.ResponseMessage);\n // if (this.inPopUpMode) this.activeModal.close();\n // if (!this.inPopUpMode) this.goBack();\n // });\n if (res.ResponseCode == 1) {\n this.toastr.success('Activity added successfully!');\n }\n else {\n this.toastr.error('Failed to add activity');\n }\n if (this.inPopUpMode) this.activeModal.close();\n if (!this.inPopUpMode) this.goBack();\n\n }, error => {\n this.toastr.error('Failed to add activity!');\n if (this.inPopUpMode) this.activeModal.close();\n if (!this.inPopUpMode) this.goBack();\n });\n}\n\n\n\n onChangeInCustomerSelection() {\n this.allEnquiries = [];\n\n //this.selectedEnquries = [];\n this.getEnquiriessByCustomers();\n }\n\n\n getEnquiriessByCustomers() {\n\n if (Array.isArray(this.selectedCustomers) && this.selectedCustomers.length > 0) {\n\n let tracker = this.activityService.getrelatedEntityRecords(this.ENTITY_TYPE_ENQUIRY, this.selectedCustomers);\n\n tracker.subscribe((data: EntityRecord[]) => {\n let linkagesByEntityType = this.groupArrayByKey(data, \"EntityTypeId\");\n this.allEnquiries = linkagesByEntityType[this.ENTITY_TYPE_ENQUIRY] as EntityRecord[];\n this.relatedEntityRecords = this.allEnquiries;\n this.previousSelectedEnquiries = [...this.selectedEnquries];\n this.selectedEnquries = [];\n for(let enquiry of this.allEnquiries) {\n for(let prevSelEnquiryId of this.previousSelectedEnquiries){\n\n if(enquiry.EntityId.toString() == prevSelEnquiryId) {\n this.selectedEnquries.push(enquiry.EntityId)\n // console.log(this.selectedEnquries);\n }\n\n }\n }\n\n //this.previousSelectedEnquiries = [];\n });\n\n return tracker;\n\n } else {\n this.selectedEnquries = [];\n }\n }\n\n\n getAllCustomers() {\n this.showLoader = true;\n let tracker = this.activityService.getrelatedEntityRecords(this.ENTITY_TYPE_CUSTOMER, null);\n tracker.subscribe((data: EntityRecord[]) => {\n let linkagesByEntityType = this.groupArrayByKey(data, \"EntityTypeId\");\n this.allCustomers = linkagesByEntityType[this.ENTITY_TYPE_CUSTOMER] as EntityRecord[];\n this.relatedEntityRecords = this.allCustomers;\n\n });\n this.showLoader = false;\n return tracker;\n\n }\n\n getAllLeads() {\n this.showLoader = true;\n let tracker = this.activityService.getrelatedEntityRecords(this.ENTITY_TYPE_LEAD, null);\n\n tracker.subscribe((data: EntityRecord[]) => {\n let linkagesByEntityType = this.groupArrayByKey(data, \"EntityTypeId\");\n this.allLeads = linkagesByEntityType[this.ENTITY_TYPE_LEAD] as EntityRecord[];\n this.relatedEntityRecords = this.allLeads;\n\n });\n this.showLoader = false;\n return tracker;\n }\n\n\n groupArrayByKey(array: any[], key: string): [] | null {\n return array.reduce((result, currentValue) => {\n (result[currentValue[key]] = result[currentValue[key]] || []).push(\n currentValue\n );\n return result;\n }, {});\n }\n\n\n convertSelectedEntityArrayToEntityObjCollection(entities: any[], entityTypeId: any) {\n\n let response: any[] = [];\n\n if (Array.isArray(entities) && entities.length > 0) {\n\n entities.forEach(entityId => {\n response.push({ \"EntityTypeId\": entityTypeId, \"EntityId\": entityId });\n });\n return response;\n\n } else {\n return null;\n }\n\n }\n\n\n}\n\n\n\n\n\n\n\n\n\n","\n\n
    \n
    \n\n \n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n Add Activity\n

    \n
    \n
    \n
    \n\n\n
    \n
    \n
    \n \n
    \n \n \n
    Select activity
    \n
    \n
    \n
    \n \n \n\n
    \n\n
    \n \n
    \n \n\n
    \n
    \n \n
    \n \n \n
    Subject is required
    \n
    \n\n
    \n
    \n
    \n\n
    \n \n
    \n \n
    \n\n
    \n\n \n
    \n \n
    \n
    \n\n
    \n
    \n\n
    \n\n \n\n
    \n
    \n \n
    \n \n
    Due Date is required.
    \n
    \n\n\n
    \n
    \n
    \n\n
    \n \n
    \n \n \n
    Description is required.
    \n
    \n\n\n
    \n
    \n\n\n
    \n\n \n\n
    \n\n\n
    \n \n\n \n \n \n \n\n \n
    \n
    \n\n
    \n\n
    \n\n
    \n\n \n
    \n\n\n\n
    \n \n\n \n \n \n \n\n \n
    \n
    \n\n
    \n\n
    \n\n \n\n\n
    \n \n
    \n\n\n
    \n \n \n \n \n \n \n
    \n
    \n\n
    \n
    \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
    \n \n
    \n\n \n \n \n \n \n\n \n
    \n
    \n\n\n\n\n
    \n   \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n\n \n\n \n\n\n\n\n\n\n","import { ChangeDetectorRef, Component, OnInit, ViewChild } from '@angular/core';\nimport { Activity, ActivityLinkageEntityType, ActivityOutcome, ActivityPurpose, ActivityStatus, ActivityStatusByType, ActivityType, EntityRecord, User } from 'src/app/Model/ActivityModel';\nimport { ActivityService } from 'src/app/Service/activity.service';\nimport { ListActivityRowComponent } from '../list-activity-row/list-activity-row.component';\nimport { NgbDate, NgbDateStruct } from '@ng-bootstrap/ng-bootstrap';\nimport { NgbCalendar, NgbDateParserFormatter, } from '@ng-bootstrap/ng-bootstrap';\n\n\n\n@Component({\n selector: 'app-bulk-edit-activity',\n templateUrl: './bulk-edit-activity.component.html',\n styleUrls: ['./bulk-edit-activity.component.scss']\n})\nexport class BulkEditActivityComponent implements OnInit {\n\n\n isbulkEdit: boolean;\n pageNumber: number = 1;\n pageIndex: number = this.pageNumber - 1;\n pageSize: number = 5;\n length: number;\n activities: Activity[];\n filteredActivities: Activity[];\n activityStatusFilter: number;\n priorityFilter: string;\n activityTypeFilter: number;\n activityTypes: ActivityType[];\n activityStatuses: ActivityStatus[];\n activityPurposes: ActivityPurpose[];\n activityOutcomes: ActivityOutcome[];\n filterActivityForm: any = {};\n activityTypeMaster: ActivityType[] = [];\n activityStatusByTypeMaster: ActivityStatusByType[] = [];\n allEntityTypesMaster: ActivityLinkageEntityType[] = [];\n entityTypeFilterArray: any = [];\n allUserMaster: User[] = [];\n constructor(private calendar: NgbCalendar, public formatter: NgbDateParserFormatter, private activityService: ActivityService, private cd: ChangeDetectorRef) { }\n\n\n ngOnInit(): void {\n\n this.GetActivityTypeMaster();\n this.GetEntityTypesMaster();\n this.filterActivityForm.ActivityTypeId = null;\n this.filterActivityForm.ActivityStatusId = null;\n this.filterActivityForm.Subject = null;\n this.filterActivityForm.StartDate = null;\n this.filterActivityForm.EntityTypeId = null;\n this.filterActivityForm.EntityId = null;\n this.filterActivityForm.PageNumber = 1;\n this.filterActivityForm.PageSize = 2000;\n this.filterActivityForm.IsOwner = true;\n this.refreshGrid(this.filterActivityForm);\n this.getAllStatus();\n this.getallParticipant();\n }\n\n getallParticipant() {\n this.activityService.getallUserMaster().subscribe((data: User[]) => {\n this.allUserMaster = data;\n\n })\n }\n GetActivityTypeMaster() {\n this.activityService.getActivityTypeMaster().subscribe((data) => {\n this.activityTypeMaster = data;\n })\n }\n\n GetEntityTypesMaster() {\n this.activityService.getallEntityTypesMaster().subscribe((data: ActivityLinkageEntityType[]) => {\n this.allEntityTypesMaster = data;\n })\n }\n\n getAllStatus() {\n this.activityService.getActivityStatusMaster(null).subscribe((data: ActivityStatusByType[]) => {\n this.activityStatusByTypeMaster = data;\n });\n }\n\n addRow() {\n let newActivity = new Activity();\n newActivity.InEditMode = true;\n this.filteredActivities.unshift(newActivity);\n this.cd.detectChanges();\n }\n\n removeByIndex(index: any) {\n if ('ActivityId' in this.filteredActivities[index]) {\n } else {\n this.filteredActivities.splice(index, 1);\n }\n }\n\n refreshGrid(filterActivityForm) {\n this.activityService.getActivityByFilter(filterActivityForm).subscribe((data: any) => {\n this.activities = data.Data;\n this.filteredActivities = data.Data;\n this.length = this.filteredActivities.length\n this.cd.detectChanges();\n\n });\n }\n\n bulkEdit() {\n if (this.isbulkEdit) {\n var newArr = this.filteredActivities.map(obj => {\n return { ...obj, InEditMode: true };\n });\n } else {\n\n var newArr = this.filteredActivities.map(obj => {\n return { ...obj, InEditMode: false };\n });\n }\n this.filteredActivities = newArr;\n }\n\n pageEvent(event) {\n window.scroll({\n top: 0,\n left: 0,\n behavior: 'smooth'\n });\n this.pageNumber = event.pageIndex + 1;\n this.pageSize = event.pageSize;\n let reqBody = { ActivityTypeId: null, ActivityStatusId: null, Subject: null, StartDate: null, EntityTypeId: null, EntityId: null, PageNumber: this.pageNumber, PageSize: this.pageSize, IsOwner: this.filterActivityForm.IsOwner }\n this.activityService.getActivityByFilter(reqBody).subscribe((res: any) => {\n this.filteredActivities = res\n })\n\n }\n\n onEntityTypeChange(EntityTypeId: any) {\n this.activityService.getrelatedEntityRecords(EntityTypeId,'').subscribe((data: EntityRecord[]) => {\n this.entityTypeFilterArray = data;\n });\n }\n\n\n removeFilter() {\n let reqBody = { ActivityTypeId: null, ActivityStatusId: null, Subject: null, StartDate: null, EntityTypeId: null, EntityId: null, PageNumber: 1, PageSize: 2000, IsOwner: this.filterActivityForm.IsOwner }\n this.EnquiryngbDateFromFiter = null;\n this.EnquiryngbDateToFiter = null;\n this.activityService.getActivityByFilter(reqBody).subscribe((res: any) => {\n this.filteredActivities = res\n\n this.entityTypeFilterArray = [];\n\n this.filterActivityForm = { ActivityTypeId: null, ActivityStatusId: null, Subject: null, StartDate: null, EntityTypeId: null, EntityId: null, PageNumber: 1, PageSize: 2000, IsOwner: true }\n });\n }\n\n onSubmit(filterActivityForm: any) {\n\n\n if (this.EnquiryngbDateFromFiter == undefined) {\n filterActivityForm.StartDate = null;\n filterActivityForm.EndDate = null;\n } else {\n filterActivityForm.StartDate = this.convertDate(new NgbDate(this.EnquiryngbDateFromFiter.year, this.EnquiryngbDateFromFiter.month, this.EnquiryngbDateFromFiter.day))\n filterActivityForm.EndDate = this.convertDate(new NgbDate(this.EnquiryngbDateToFiter.year, this.EnquiryngbDateToFiter.month, this.EnquiryngbDateToFiter.day))\n }\n\n\n filterActivityForm.PageNumber = 1;\n filterActivityForm.PageSize = 2000;\n this.activityService.getActivityByFilter(filterActivityForm).subscribe((res: any) => {\n this.filteredActivities = res\n });\n }\n\n\n\n convertDate(date: any) {\n let year = date.year;\n let month = date.month;\n let day = date.day;\n return year + \"-\" + month + \"-\" + day;\n }\n\n\n onKeyDown(event: KeyboardEvent) {\n // Check if the pressed key is a space and if the input field is empty\n if (event.key === ' ' && event.target['value'].trim() === '') {\n event.preventDefault(); // prevent the space from being entered\n }\n }\n\n\n\n EnquiryngbDateFromFiter: NgbDate | null;\n EnquiryngbDateToFiter: NgbDate | null;\n hoveredDate: NgbDate | null = null;\n minDate: NgbDateStruct;\n maxDate: NgbDateStruct;\n // datePipe = new DatePipe('en-US');\n validateInput(currentValue: NgbDate | null, input: string): NgbDate | null {\n const parsed = this.formatter.parse(input);\n return parsed && this.calendar.isValid(NgbDate.from(parsed)) ? NgbDate.from(parsed) : currentValue;\n }\n onDateSelection(date: NgbDate) {\n if (!this.EnquiryngbDateFromFiter && !this.EnquiryngbDateToFiter) {\n this.EnquiryngbDateFromFiter = date;\n } else if (this.EnquiryngbDateFromFiter && !this.EnquiryngbDateToFiter && date && date.after(this.EnquiryngbDateFromFiter)) {\n this.EnquiryngbDateToFiter = date;\n } else {\n this.EnquiryngbDateToFiter = null;\n this.EnquiryngbDateFromFiter = date;\n }\n }\n isRange(date: NgbDate) {\n return date.equals(this.EnquiryngbDateFromFiter) || (this.EnquiryngbDateToFiter && date.equals(this.EnquiryngbDateToFiter)) || this.isInside(date) || this.isHovered(date);\n }\n isHovered(date: NgbDate) {\n return this.EnquiryngbDateFromFiter && !this.EnquiryngbDateToFiter && this.hoveredDate && date.after(this.EnquiryngbDateFromFiter) && date.before(this.hoveredDate);\n }\n isInside(date: NgbDate) {\n return this.EnquiryngbDateToFiter && date.after(this.EnquiryngbDateFromFiter) && date.before(this.EnquiryngbDateToFiter);\n }\n\n OnFromDateFilterChange() {\n let EnquiryDateFromFiter = this.ConvertNgbDateToDate(this.EnquiryngbDateFromFiter)\n let EnquiryDateToFiter = this.ConvertNgbDateToDate(this.EnquiryngbDateToFiter)\n if (EnquiryDateToFiter < EnquiryDateFromFiter) {\n this.EnquiryngbDateToFiter = this.EnquiryngbDateFromFiter;\n }\n }\n\n ConvertNgbDateToDate(ngbdate: any) {\n if (ngbdate != null) {\n return new Date(ngbdate.year, ngbdate.month - 1, ngbdate.day)\n }\n }\n\n\n OnToDateFilterChange() {\n }\n\n\n\n}\n","\n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n
    \n

    \n Bulk Edit\n

    \n
    \n
    \n
    \n\n\n\n
    \n
    \n \n
    \n\n Bulk Edit\n \n  \n\n
    \n
    \n
    \n\n
    \n\n
    \n
    \n
    \n \n \n
    \n\n\n
    \n \n\n \n
    \n\n\n
    \n \n \n
    \n\n\n
    \n \n \n
    \n\n \n\n\n
    \n
    \n \n\n \n \n {{ date.day }}\n \n \n
    \n
    \n\n\n\n\n
    \n \n
    \n
    \n \n \n
    \n
    \n
    \n \n
    \n \n
    \n\n\n\n\n
    \n \n \n
    \n\n
    \n \n
    \n\n
    \n
    \n \n \n \n\n
    \n\n
    \n
    \n \n
    \n\n
    \n
    \n \n
    \n
    \n
    \n\n\n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    Activity TypeCustomerParticipantsSubjectDue DateActivity StatusDelayed ByActions
    \n\n
    \n
    No Records found
    \n
    \n
    \n
    \n
    \n
    \n\n\n\n \n \n\n\n\n
    \n
    \n
    \n
    \n
    \n
    \n\n","import { ChangeDetectorRef, Component, OnInit } from '@angular/core';\nimport { ChangeDetectionStrategy, ViewChild, TemplateRef, } from '@angular/core';\nimport { endOfMonth, isSameDay, isSameMonth, addHours, startOfMonth, } from 'date-fns';\nimport { Observable, Subject } from 'rxjs';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { CalendarEvent, CalendarEventAction, CalendarEventTimesChangedEvent, CalendarView, } from 'angular-calendar';\nimport { EventColor } from 'calendar-utils';\nimport { ActivityService } from 'src/app/Service/activity.service';\nimport { Activity, ActivityLinkageEntityType, ActivityStatusByType, ActivityType, User } from 'src/app/Model/ActivityModel';\nimport { MatDialog } from '@angular/material/dialog';\nimport { Router } from '@angular/router';\nimport { ToastrService } from 'ngx-toastr';\nimport { startOfWeek, endOfWeek, format } from 'date-fns';\nimport { ViewActivityComponent } from '../view-activity/view-activity.component';\nimport { AccessPermissionModel } from 'src/app/Model/WorkFlowScreenAccessModel';\nimport { AccessPermissionService } from 'src/app/Service/access-permission.service';\n\nexport interface EventAction {\n id?: string | number;\n label: string;\n cssClass?: string;\n a11yLabel?: string;\n onClick({ event, sourceEvent, }: {\n event: CalendarEvent;\n sourceEvent: MouseEvent | KeyboardEvent;\n }): any;\n}\n\nexport interface CalendarEvent1 {\n ActivityId?: number;\n id?: string | number;\n start: Date;\n end?: Date;\n title: string;\n color?: EventColor;\n actions?: EventAction[];\n allDay?: boolean;\n cssClass?: string;\n resizable?: {\n beforeStart?: boolean;\n afterEnd?: boolean;\n };\n draggable?: boolean;\n meta?: MetaType;\n}\n\n\nconst colors: Record = {\n red: {\n primary: '#ad2121',\n secondary: '#FAE3E3',\n },\n blue: {\n primary: '#1e90ff',\n secondary: '#D1E8FF',\n },\n yellow: {\n primary: '#e3bc08',\n secondary: '#FDF1BA',\n },\n};\n\n@Component({\n selector: 'app-calender-view',\n changeDetection: ChangeDetectionStrategy.OnPush,\n templateUrl: './calender-view.component.html',\n styleUrls: ['./calender-view.component.scss']\n})\nexport class CalenderViewComponent implements OnInit {\n\n @ViewChild('modalContent', { static: true }) modalContent: TemplateRef | undefined;\n\n view: CalendarView = CalendarView.Month;\n CalendarView = CalendarView;\n viewDate: any;\n modalData: any;\n\n accesspermissionobj:AccessPermissionModel[]=Array();\n AccesspermissionForRole:any[]=[];\n canViewCustomerEngagementReportOfOthers:boolean=true;\n Role: any;\n partid: string = null;\n canEditCustomerEngagementReportOfOthers: boolean;\n\n\n constructor(private router: Router, private activityService: ActivityService, private modalService: NgbModal, public dialog: MatDialog, private toastr: ToastrService, private cd: ChangeDetectorRef,private accessservice: AccessPermissionService) { }\n\n activities: Activity[];\n filteredActivities: Activity[];\n activityStatusFilter: number;\n priorityFilter: string;\n activityTypeFilter: number;\n activityTypeMaster: ActivityType[] = [];\n filterActivityForm: any = {};\n activityStatusByTypeMaster: ActivityStatusByType[] = [];\n allEntityTypesMaster: ActivityLinkageEntityType[] = [];\n events: CalendarEvent[] = [];\n entityTypeFilterArray: any = [];\n showLoader: boolean = false;\n refresh = new Subject();\n activeDayIsOpen: boolean = false;\n allUserMaster: User[] = [];\n\n\n ngOnInit() {\n this.showLoader = true;\n var defaultView = localStorage.getItem('ViewType-A');\n this.backNavigationBackView(defaultView);\n\n this.viewDate = new Date();\n localStorage.setItem('ViewType', 'Calender');\n this.getActivityTypeMasterDetails();\n this.getallEntityTypesMasterDetails();\n this.filterActivityForm.ActivityTypeId = null;\n this.filterActivityForm.ActivityStatusId = null;\n this.filterActivityForm.Subject = null;\n this.filterActivityForm.StartDate = format(startOfMonth(this.viewDate), \"yyyy-MM-dd\");\n this.filterActivityForm.EndDate = format(endOfMonth(this.viewDate), \"yyyy-MM-dd\");\n this.filterActivityForm.EntityTypeId = null;\n this.filterActivityForm.EntityId = null;\n this.filterActivityForm.PageNumber = 1;\n this.filterActivityForm.PageSize = 2000;\n this.filterActivityForm.IsOwner = true;\n this.filterActivityForm.ParticipantId = localStorage.getItem('UserID');\n this.Role = localStorage.getItem(\"UserRole\");\n this.partid = this.filterActivityForm.ParticipantId;\n this.getAllStatus();\n this.getallParticipant();\n\n this.getAccess().subscribe(x=>{\n this.refreshGrid(this.filterActivityForm);\n });\n }\n\n backNavigationBackView(defaultView:any){\n if(defaultView == 'week'){\n this.view = CalendarView.Week;\n }else if(defaultView == 'day'){\n this.view = CalendarView.Day;\n }else{\n this.view = CalendarView.Month;\n }\n }\n\n getallParticipant() {\n this.showLoader = true;\n this.activityService.getallUserMaster().subscribe((data: User[]) => {\n this.showLoader = false;\n this.allUserMaster = data;\n this.cd.detectChanges();\n\n })\n }\n\n\n refreshGrid(filterActivityForm) {\n this.getData(filterActivityForm);\n }\n\n\n getallEntityTypesMasterDetails() {\n this.showLoader = true;\n this.activityService\n .getallEntityTypesMaster()\n .subscribe((data: ActivityLinkageEntityType[]) => {\n this.showLoader = false;\n this.allEntityTypesMaster = data;\n });\n }\n\n getAllActivitiesDetails() {\n this.getData({});\n }\n\n\n getActivityTypeMasterDetails() {\n this.showLoader = true;\n this.activityService\n .getActivityTypeMaster()\n .subscribe((data: ActivityType[]) => {\n this.showLoader = false;\n this.activityTypeMaster = data;\n this.cd.detectChanges();\n });\n }\n\n getAllStatus() {\n this.showLoader = true;\n this.activityService.getActivityStatusMaster(null).subscribe((data: ActivityStatusByType[]) => {\n this.activityStatusByTypeMaster = data;\n this.showLoader = false;\n this.cd.detectChanges();\n });\n }\n\n\n onEntityTypeChange(EntityTypeId: any) {\n this.activityService.getrelatedEntityRecords(EntityTypeId,'').subscribe((data: any[]) => {\n this.entityTypeFilterArray = data;\n });\n }\n\n\n\n actions: CalendarEventAction[] = [\n {\n label: '',\n a11yLabel: 'Edit',\n onClick: ({ event }: { event: CalendarEvent }): void => {\n this.handleEvent('Edited', event);\n },\n },\n {\n label: '',\n a11yLabel: 'Delete',\n onClick: ({ event }: { event: CalendarEvent }): void => {\n this.events = this.events.filter((iEvent) => iEvent !== event);\n this.handleEvent('Deleted', event);\n },\n },\n ];\n\n\n dayClicked({ date, events }: { date: Date; events: CalendarEvent1[] }): void {\n\n if (isSameMonth(date, this.viewDate)) {\n if (\n (isSameDay(this.viewDate, date) && this.activeDayIsOpen === true) ||\n events.length === 0\n ) {\n this.activeDayIsOpen = false;\n } else {\n this.activeDayIsOpen = true;\n }\n this.viewDate = date;\n }\n }\n\n eventTimesChanged({\n event,\n newStart,\n newEnd,\n }: CalendarEventTimesChangedEvent): void {\n this.events = this.events.map((iEvent) => {\n if (iEvent === event) {\n return {\n ...event,\n start: newStart,\n end: newEnd,\n };\n }\n return iEvent;\n });\n this.handleEvent('Dropped or resized', event);\n }\n\n handleEvent(action: string, event: CalendarEvent1): void {\n if (event.ActivityId == null || event.ActivityId == undefined) {\n // this.router.navigate(['/View-Activity', event]);\n this.openViewPopup(event)\n localStorage.setItem('ViewType-A',this.view)\n return;\n }\n localStorage.setItem('ViewType-A', this.view)\n this.openViewPopup(event)\n }\n\n\n\n setView(view: CalendarView) {\n\n this.view = view;\n this.activityByViewTypeOfCalender();\n }\n\n closeOpenMonthViewDay() {\n this.activeDayIsOpen = false;\n this.activityByViewTypeOfCalender();\n }\n\n onSubmit(filterActivityForm: any) {\n\n this.filterActivityForm.StartDate = format(startOfMonth(this.viewDate), \"yyyy-MM-dd\");\n this.filterActivityForm.EndDate = format(endOfMonth(this.viewDate), \"yyyy-MM-dd\");\n this.filterActivityForm.ActivityStatusId = filterActivityForm.ActivityStatusId;\n this.filterActivityForm.PageNumber = 1;\n this.filterActivityForm.PageSize = 2000;\n\n if(filterActivityForm.ActivityStatusId == \"null\"){\n filterActivityForm.ActivityStatusId = null\n }\n if(filterActivityForm.ActivityTypeId == \"null\"){\n filterActivityForm.ActivityTypeId = null\n }\n if(filterActivityForm.EntityTypeId == \"null\"){\n filterActivityForm.EntityTypeId = null\n }\n if(filterActivityForm.ParticipantId == \"null\"){\n filterActivityForm.ParticipantId = null\n }\n\n\n\n this.getData(filterActivityForm);\n }\n\n\n clearFilter() {\n let filters = {\n ActivityTypeId: null,\n ActivityStatusId: null,\n Subject: null,\n StartDate: format(startOfMonth(this.viewDate), \"yyyy-MM-dd\"),\n EntityTypeId: null,\n EntityId: null,\n PageNumber: 1,\n PageSize: 2000,\n IsOwner: false,\n EndDate: format(endOfMonth(this.viewDate), \"yyyy-MM-dd\"),\n };\n\n // this.entityTypeFilterArray = [];\n // this.filterActivityForm = {};\n this.getData(filters);\n this.entityTypeFilterArray = [];\n this.filterActivityForm = { ActivityTypeId: null, ActivityStatusId: null, Subject: null, StartDate: null, EntityTypeId: null, EntityId: null, PageNumber: 1, PageSize: 2000, IsOwner: false }\n }\n\n\n getData(filterActivityForm) {\n this.activityService\n .getActivityByFilter(filterActivityForm)\n .subscribe((data: any) => {\n this.activities = data.Data;\n this.filteredActivities = data.Data;\n this.checkAccess();\n this.updateEvents(data.Data);\n this.cd.detectChanges();\n });\n\n }\n\n\n updateEvents(filteredActivities) {\n\n this.events = filteredActivities.map((arg: Activity) => {\n return {\n ActivityId: arg.ActivityId,\n title: arg.Subject,\n start: new Date(arg.PlannedDueDatetime),\n end: addHours(new Date(arg.PlannedDueDatetime), 1),\n color: arg.ActivityType == 'Meeting' ? colors.red : arg.ActivityType == 'Task' ? colors.blue : colors.yellow,\n draggable: false,\n resizable: {\n beforeStart: true,\n afterEnd: true,\n },\n };\n\n });\n\n }\n\n\n\n activityByViewTypeOfCalender() {\n\n let filterDate = this.viewDate;\n let filterStartDate = null;\n let filterEndDate = null;\n\n switch (this.view) {\n\n case 'month':\n filterStartDate = startOfMonth(filterDate);\n filterEndDate = endOfMonth(filterDate);\n break;\n case 'week':\n filterStartDate = startOfWeek(filterDate);\n filterEndDate = endOfWeek(filterDate);\n break;\n case 'day':\n filterStartDate = filterDate;\n filterEndDate = filterDate;\n break;\n }\n\n this.filterActivityForm.StartDate = format(filterStartDate, \"yyyy-MM-dd\");\n this.filterActivityForm.EndDate = format(filterEndDate, \"yyyy-MM-dd\");\n this.filterActivityForm.PageNumber = 1;\n this.filterActivityForm.PageSize = 2000;\n this.getData(this.filterActivityForm);\n\n }\n\n\n onKeyDown(event: KeyboardEvent) {\n // Check if the pressed key is a space and if the input field is empty\n if (event.key === ' ' && event.target['value'].trim() === '') {\n event.preventDefault(); // prevent the space from being entered\n }\n }\n\n\n openViewPopup(event: any) {\n const modalRef = this.modalService.open(ViewActivityComponent, {\n size: 'xl', backdrop: 'static', keyboard: false\n });\n\n var Activity = {\n activityId: event.ActivityId,\n inPopUpMode: true,\n canEditCustomerEngagementReportOfOthers:this.filteredActivities.filter(x=>x.ActivityId==event.ActivityId)[0]?.canEditCustomerEngagementReportOfOthers,\n canViewCustomerEngagementReportOfOthers:this.filteredActivities.filter(x=>x.ActivityId==event.ActivityId)[0]?.canViewCustomerEngagementReportOfOthers\n };\n\n modalRef.componentInstance.Activity = Activity;\n }\n\n getAccess(): Observable {\n let tracker = this.accessservice.GetAll();\n\n tracker.subscribe((data: any) => {\n // console.log(data);\n this.accesspermissionobj = data;\n this.canViewCustomerEngagementReportOfOthers = this.accesspermissionobj.filter(x => x.Fk_RoleId == this.Role && x.ElementKey == 'canViewCustomerEngagementReportOfOthers')[0]?.IsVisible;\n this.canEditCustomerEngagementReportOfOthers = this.accesspermissionobj.filter(x => x.Fk_RoleId == this.Role && x.ElementKey == 'canViewCustomerEngagementReportOfOthers')[0]?.IsEditable;\n if(!this.canViewCustomerEngagementReportOfOthers){\n\n this.partid = this.filterActivityForm.ParticipantId;\n }\n });\n\n return tracker;\n }\n\n\n \n checkAccess()\n {\n this.filteredActivities.forEach(element => {\n const participantsIdArray = element.ParticipantsID.split(',');\n console.log(localStorage.getItem('UserID'));\n \n if((participantsIdArray.filter(x=>x==localStorage.getItem('UserID')).length>0 ||element.ActivityOwner==localStorage.getItem('UserID')))\n {\n element.canEditCustomerEngagementReportOfOthers=true;\n element.canViewCustomerEngagementReportOfOthers=true;\n }\n else\n {\n element.canEditCustomerEngagementReportOfOthers=this.canEditCustomerEngagementReportOfOthers;\n element.canViewCustomerEngagementReportOfOthers=this.canViewCustomerEngagementReportOfOthers;\n }\n }); \n }\n\n}\n","\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    My Activities

    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n\n\n
    \n \n \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n\n
    \n\n\n \n \n
    {{ item.EntityName }}
    \n
    \n
    \n\n\n \n\n\n
    \n\n
    \n
    \n \n \n \n
    \n
    \n
    \n Filter\n \n
    \n\n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n Previous\n
    \n
    \n Today\n
    \n
    \n Next\n
    \n
    \n
    \n
    \n

    {{ viewDate | calendarDate:(view + 'ViewTitle'):'en' }}

    \n
    \n
    \n
    \n
    \n Month\n
    \n
    \n Week\n
    \n
    \n Day\n
    \n
    \n
    \n
    \n
    \n\n
    \n \n \n\n \n \n\n \n \n\n
    \n
    \n \n
    \n 0\">{{ day.badgeTotal }}\n {{ day.date | calendarDate:'monthViewDayNumber':locale }}\n
    \n 0\">There are {{ day.events.length }}\n events on this day\n
    \n\n \n
    \n
    Plan Details
    \n \n
    \n

    Title : -{{ modalData?.event.title }}

    \n
    \n
    \n Action:\n
    {{ modalData?.action }}
    \n
    \n
    \n Event:\n
    {{ modalData?.event | json }}
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n\n\n\n\n","import { ChangeDetectorRef, Component, Input, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { ToastrService } from 'ngx-toastr';\nimport { Observable, forkJoin } from 'rxjs';\nimport { tap } from 'rxjs/operators';\nimport { ActivityLinkageEntityType, ActivityOutcomeByType, ActivityPurposeByType, ActivityStatusByType, ActivityType, EntityRecord, User } from 'src/app/Model/ActivityModel';\nimport { ActivityService } from 'src/app/Service/activity.service';\nimport { Location } from '@angular/common';\n\n@Component({\n selector: 'app-edit-activity',\n templateUrl: './edit-activity.component.html',\n styleUrls: ['./edit-activity.component.scss']\n})\nexport class EditActivityComponent implements OnInit {\n\n constructor(private cd: ChangeDetectorRef ,private activityService: ActivityService, private toastr: ToastrService, private route: ActivatedRoute, private router: Router, private location: Location) { }\n\n ActivityId: number;\n @Input() showLoader: boolean = false;\n\n ENTITY_TYPE_CUSTOMER = \"1\";\n ENTITY_TYPE_LEAD = \"2\";\n ENTITY_TYPE_ENQUIRY = \"3\";\n activityTypeMaster: ActivityType[] = [];\n activityStatusByTypeMaster: ActivityStatusByType[] = [];\n activityOutcomeByTypeMaster: ActivityOutcomeByType[] = [];\n activityPurposeByTypeMaster: ActivityPurposeByType[] = [];\n allEntityTypesMaster: ActivityLinkageEntityType[] = [];\n allUserMaster = [];\n frmData: any = {};\n selectedEnquries=[];\n previousSelectedEnquiries = [];\n selectedCustomers=[];\n selectedCustomersOrLeads = [];\n selectedEntityRecords = [];\n selectedLeads=[];\n selectedLinkagesByType = [];\n selectedEntityTypeId:any = 0;\n entityTypeFilterArray = [];\n showOutcome: boolean = false;\n subtypeArray1 = ['Seminar', 'Webinar']\n allLeads:EntityRecord[] = [];\n allCustomers:EntityRecord[] = [];\n relatedEntityRecords:EntityRecord[] = [];\n allEnquiries:EntityRecord[] = [];\n selectedOptions: any[] = [];\n isEnquiryShow:boolean =false;\n\n\n\n\n ngOnInit() {\n\n this.showLoader = true;\n this.ActivityId = this.route.snapshot.params[\"id\"];\n forkJoin([\n this.GetActivityTypeMaster(),\n this.GetEntityTypesMaster(),\n this.GetAllUserMaster()\n ]).pipe(tap(res => {\n\n this.getActivityById(this.ActivityId);\n })).subscribe(x=>{\n\n });\n }\n\n\n gobackNavigate() {\n\n\n // const parentComponent = localStorage.getItem('ViewType');;\n // if (parentComponent === 'Calender') {\n // localStorage.removeItem('ViewType')\n // this.router.navigate(['/Calender-View']);\n // } else if (parentComponent === 'ListView') {\n // localStorage.removeItem('ViewType')\n // this.router.navigate(['/My-Activities']);\n // }else {\n // this.location.back();\n // }\n this.location.back();\n }\n\n convertParticipantFormatForSerchableDropdown(frmData){\n this.frmData.ListActivityParticipants = frmData.ListActivityParticipants.map(item => item.ActivityParticipant);\n this.showLoader = false;\n }\n\n getAllCustomers(){\n let tracker = this.activityService.getrelatedEntityRecords(this.ENTITY_TYPE_CUSTOMER,null);\n tracker.subscribe((data: EntityRecord[]) => {\n let linkagesByEntityType = this.groupArrayByKey(data,\"EntityTypeId\");\n this.allCustomers = linkagesByEntityType[this.ENTITY_TYPE_CUSTOMER] as EntityRecord[];\n this.relatedEntityRecords = this.allCustomers;\n });\n return tracker;\n }\n\n getAllLeads(){\n let tracker = this.activityService.getrelatedEntityRecords(this.ENTITY_TYPE_LEAD,null);\n tracker.subscribe((data: EntityRecord[]) => {\n let linkagesByEntityType = this.groupArrayByKey(data,\"EntityTypeId\");\n this.allLeads = linkagesByEntityType[this.ENTITY_TYPE_LEAD] as EntityRecord[];\n this.relatedEntityRecords = this.allLeads;\n });\n\n return tracker;\n }\n\n getEnquiriessByCustomers(){\n\n if(Array.isArray(this.selectedCustomers) && this.selectedCustomers.length>0){\n let tracker = this.activityService.getrelatedEntityRecords(this.ENTITY_TYPE_ENQUIRY,this.selectedCustomers);\n tracker.subscribe((data: EntityRecord[]) => {\n let linkagesByEntityType = this.groupArrayByKey(data,\"EntityTypeId\");\n this.allEnquiries = linkagesByEntityType[this.ENTITY_TYPE_ENQUIRY] as EntityRecord[];\n this.relatedEntityRecords = this.allEnquiries;\n this.previousSelectedEnquiries = [...this.selectedEnquries];\n this.selectedEnquries = [];\n for(let enquiry of this.allEnquiries) {\n for(let prevSelEnquiryId of this.previousSelectedEnquiries){\n if(enquiry.EntityId.toString() == prevSelEnquiryId) {\n this.selectedEnquries.push(enquiry.EntityId); \n }\n }\n }\n });\n return tracker;\n } else {\n this.selectedEnquries = [];\n }\n }\n\n GetEntityTypesMaster() {\n let tracker = this.activityService.getallEntityTypesMaster();\n tracker.subscribe((data: ActivityLinkageEntityType[]) => {\n this.allEntityTypesMaster = data;\n });\n return tracker;\n }\n\n GetActivityTypeMaster() {\n let tracker = this.activityService.getActivityTypeMaster();\n tracker.subscribe((data) => {\n this.activityTypeMaster = data;\n });\n return tracker;\n }\n\n GetAllUserMaster() {\n let tracker = this.activityService.getallUserMaster();\n tracker.subscribe((data: User[]) => {\n this.allUserMaster = data;\n });\n return tracker;\n }\n\n getChildObjects(obj: any, firstLevelKey: string | number, childKey: string|number) {\n if (!obj[firstLevelKey]) {\n return [];\n }\n return obj[firstLevelKey].map((item: any) => item[childKey]);\n }\n\n\n\n getActivityById(id: number) {\n this.showLoader = true;\n this.activityService.getActivityById(id).subscribe(data => {\n this.frmData = data;\n this.convertParticipantFormatForSerchableDropdown(data);\n this.getActivityPurpose(this.frmData.ActivityTypeId);\n this.getActivityStatus(this.frmData.ActivityTypeId);\n this.getActivityOutcome(this.frmData.ActivityTypeId);\n this.getAllCustomers();\n this.getAllLeads();\n this.selectedLinkagesByType = this.groupArrayByKey(this.frmData.ListActivityLinkage,\"EntityTypeId\");\n for(let entityTypeId in this.selectedLinkagesByType){\n\n\n if(entityTypeId == this.ENTITY_TYPE_CUSTOMER){\n this.selectedCustomers = this.getChildObjects(this.selectedLinkagesByType,this.ENTITY_TYPE_CUSTOMER,\"EntityId\");\n\n this.getEnquiriessByCustomers();\n this.selectedEnquries = this.getChildObjects(this.selectedLinkagesByType,this.ENTITY_TYPE_ENQUIRY,\"EntityId\");\n }\n if(entityTypeId == this.ENTITY_TYPE_LEAD){\n this.selectedLeads = this.getChildObjects(this.selectedLinkagesByType,this.ENTITY_TYPE_LEAD,\"EntityId\");\n }\n }\n if (this.frmData.ActivityOutcomeId == 2) {\n this.showOutcome = true;\n }\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to Load activity details!\");\n this.showLoader = false;\n });\n }\n\n onOwnerChange(frmData, ActivityOwnerId) {\n if (!frmData.ListActivityParticipants || frmData.ListActivityParticipants?.length < 1) {\n frmData.ListActivityParticipants = [];\n frmData.ListActivityParticipants.push({ ActivityParticipant: ActivityOwnerId });\n } else {\n frmData.ListActivityParticipants[0].ActivityParticipant = this.frmData.ActivityOwnerId;\n }\n }\n\n getActivityPurpose(ActivityTypeId: any) {\n return this.activityService.getActivityPurposeMaster(ActivityTypeId).subscribe((data: ActivityPurposeByType[]) => {\n this.activityPurposeByTypeMaster = data;\n });\n }\n\n getActivityStatus(ActivityTypeId: number) {\n this.activityService.getActivityStatusMaster(ActivityTypeId).subscribe((data: ActivityStatusByType[]) => {\n this.activityStatusByTypeMaster = data;\n let newObj = this.activityStatusByTypeMaster.find((arg) => {\n return arg.ActivityStatusId == this.frmData.ActivityStatusId\n })\n\n if (newObj.ActivityStatusCode === \"COMPLETED\") {\n this.showOutcome = true;\n } else {\n this.showOutcome = false;\n }\n });\n }\n\n getActivityOutcome(ActivityTypeId: number) {\n this.activityService.getActivityOutcomeMaster(ActivityTypeId).subscribe((data: ActivityOutcomeByType[]) => {\n this.activityOutcomeByTypeMaster = data;\n });\n }\n\n\n\n groupActivityLinkageByEntityTypeId(listActivityLinkage: any[]) {\n const groupedActivityLinkage = listActivityLinkage.reduce((acc, curr) => {\n const entityTypeId = curr.EntityTypeId;\n if (!acc[entityTypeId]) {\n acc[entityTypeId] = {\n EntityTypeId: entityTypeId,\n EntityTypeName: curr.EntityTypeName,\n activityLinkages: []\n };\n }\n acc[entityTypeId].activityLinkages.push(curr);\n return acc;\n }, {});\n return Object.values(groupedActivityLinkage);\n }\n\n groupArrayByKey(array: any[], key: string):[] | null {\n return array.reduce((result, currentValue) => {\n (result[currentValue[key]] = result[currentValue[key]] || []).push(\n currentValue\n );\n return result;\n }, {});\n\n }\n\n convertSelectedEntityArrayToEntityObjCollection(entities: any[],entityTypeId:any) {\n\n let response:any[] = [];\n if(Array.isArray(entities) && entities.length>0){\n entities.forEach(entityId => {\n response.push({ \"EntityTypeId\": entityTypeId, \"EntityId\": entityId});\n });\n return response;\n }else{\n return null;\n }\n }\n\n\n\n\n getMasterRecordsForGivenEntityType(EntityTypeId,EntityIds:any[]|null|string){\n\n if(EntityTypeId == 3){\n //EntityIds = this.selectedCustomersOrLeads;//In case of enquiry, load only those which are related to selected customers\n\n }\n\n let tracker = this.activityService.getrelatedEntityRecords(EntityTypeId,EntityIds);\n tracker.subscribe((data: EntityRecord[]) => {\n\n let linkagesByEntityType = this.groupArrayByKey(data,\"EntityTypeId\");\n\n if(EntityTypeId==1){\n this.allCustomers = linkagesByEntityType[EntityTypeId] as EntityRecord[];\n this.relatedEntityRecords = this.allCustomers;\n }\n if(EntityTypeId==2){\n this.allLeads = linkagesByEntityType[EntityTypeId] as EntityRecord[];\n this.relatedEntityRecords = this.allLeads;\n }\n if(EntityTypeId==3){\n this.allEnquiries = linkagesByEntityType[EntityTypeId] as EntityRecord[];\n }\n\n });\n\n return tracker;\n }\n\n\n\n\n\n onSubmit(frmData: any, addActivityForm: any) {\n if (!addActivityForm.valid) {\n return\n }\n let newObj = this.activityStatusByTypeMaster.find((arg) => {\n return arg.ActivityStatusId == frmData.ActivityStatusId\n })\n if (newObj.ActivityStatusCode === \"COMPLETED\") {\n this.showOutcome = true;\n } else {\n this.frmData.OutcomeDesc = null;\n this.frmData.ActivityOutcomeDesc = null;\n this.frmData.ActivityOutcomeId = null;\n this.showOutcome = false;\n }\n\n// ***** Participant Conversion*****\n this.frmData.ListActivityParticipants = this.frmData.ListActivityParticipants.map(id => ({ ActivityParticipant: id }));\n let selectedCustomersAsObjCol = this.convertSelectedEntityArrayToEntityObjCollection(this.selectedCustomers,this.ENTITY_TYPE_CUSTOMER);\n let selectedLeadsAsObjCol = this.convertSelectedEntityArrayToEntityObjCollection(this.selectedLeads,this.ENTITY_TYPE_LEAD);\n let selectedEnquriesAsObjCol = this.convertSelectedEntityArrayToEntityObjCollection(this.selectedEnquries,this.ENTITY_TYPE_ENQUIRY);\n\n //Clear existing linkage object\n this.frmData.ListActivityLinkage = [];\n\n if(selectedCustomersAsObjCol){\n this.frmData.ListActivityLinkage = this.frmData.ListActivityLinkage.concat(selectedCustomersAsObjCol);\n }\n if(selectedLeadsAsObjCol){\n this.frmData.ListActivityLinkage = this.frmData.ListActivityLinkage.concat(selectedLeadsAsObjCol);\n }\n if(selectedEnquriesAsObjCol){\n this.frmData.ListActivityLinkage = this.frmData.ListActivityLinkage.concat(selectedEnquriesAsObjCol);\n }\n\n this.showLoader = true;\n\n this.activityService.addOrUpdateActivity(frmData).subscribe(activity => {\n this.toastr.success(activity.ResponseMessage);\n this.gobackNavigate();\n this.showLoader = false;\n });\n }\n\n ChangeStatus(statusId: any) {\n let newObj = this.activityStatusByTypeMaster.find((arg) => {\n return arg.ActivityStatusId == statusId\n })\n if (newObj.ActivityStatusCode === \"COMPLETED\") {\n this.showOutcome = true;\n } else {\n this.showOutcome = false;\n }\n }\n\n\n disableById(allUserMaster: any, ID) {\n allUserMaster.map((arg) => {\n return arg.Id == ID\n })\n }\n\n onKeyDown(event: KeyboardEvent) {\n // Check if the pressed key is a space and if the input field is empty\n if (event.key === ' ' && event.target['value'].trim() === '') {\n event.preventDefault(); // prevent the space from being entered\n }\n }\n\n\n\n\n onChangeInCustomerSelection(){\n this.allEnquiries = [];\n // this.selectedEnquries = [];\n this.getEnquiriessByCustomers();\n }\n\n}\n","\n\n\n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n\n
    \n\n \n
    \n
    \n
    \n

    \n Edit Activity\n

    \n
    \n
    \n
    \n\n\n
    \n
    \n\n
    \n \n
    \n
    \n {{frmData.ActivityType}}\n
    \n\n
    \n\n
    \n\n \n\n
    \n\n\n\n
    \n \n
    \n \n
    \n
    \n \n
    \n\n \n
    \n
    Subject is required
    \n
    \n
    \n\n
    \n
    \n\n
    \n \n
    \n \n\n
    \n
    \n\n
    \n\n\n \n
    \n \n\n
    \n\n
    \n\n \n
    \n \n\n\n
    \n
    \n\n \n\n
    \n \n
    \n \n\n\n
    \n
    Outcome is required
    \n
    \n
    \n
    \n Priority is\n required\n
    \n
    \n
    \n\n
    \n\n \n
    \n \n
    \n
    Outcome Description is required
    \n
    \n\n
    \n\n
    \n
    \n \n\n
    \n
    \n \n
    \n
    \n
    Due Date is required.
    \n
    \n
    \n
    \n
    \n
    \n Description: *\n
    \n \n
    \n
    Description is required.
    \n
    \n
    \n
    \n\n\n\n
    \n\n \n
    \n\n
    \n\n
    \n\n
    \n \n\n \n \n \n \n\n \n
    \n
    \n\n
    \n\n
    \n\n
    \n\n \n
    \n\n
    \n\n
    \n\n
    \n \n\n \n \n \n \n\n \n
    \n
    \n\n
    \n\n
    \n\n\n
    \n \n
    \n\n\n
    \n \n \n \n \n \n \n
    \n
    \n\n
    \n
    \n\n\n\n \n\n\n\n
    \n \n
    \n\n \n \n \n \n \n\n \n
    \n
    \n\n\n\n\n\n
    \n \n Save  \n \n Cancel\n \n\n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n","\nimport { Component, OnInit, Input, Output, EventEmitter, ChangeDetectorRef } from '@angular/core';\nimport { ActivityService } from '../../../../Service/activity.service';\nimport { Activity, ActivityType, ActivityStatusByType } from '../../../../Model/ActivityModel';\nimport { MatDialog } from '@angular/material/dialog';\nimport { ViewActivityComponent } from '../view-activity/view-activity.component';\nimport { ToastrService } from 'ngx-toastr';\nimport { Router } from '@angular/router';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { Observable } from 'rxjs';\nimport { AccessPermissionService } from 'src/app/Service/access-permission.service';\n\n@Component({\n selector: '[list-activity-row]',\n templateUrl: './list-activity-row.component.html',\n styleUrls: ['./list-activity-row.component.scss']\n})\nexport class ListActivityRowComponent implements OnInit {\n\n\n @Input() activity: Activity;\n // @Output() refreshGridParent = new EventEmitter();\n @Output() initialActivityToCompairParent = new EventEmitter();\n @Input() index: number;\n @Output() dataEvent = new EventEmitter();\n accesspermissionobj: any;\n canViewCustomerEngagementReportOfOthers: any;\n canEditCustomerEngagementReportOfOthers: any;\n Role: string;\n\n\n constructor(\n private cd:ChangeDetectorRef,\n private activityService: ActivityService,\n public dialog: MatDialog,\n private toastr: ToastrService,\n private modalService: NgbModal,\n private accessservice: AccessPermissionService\n ) { }\n\n\n\n tempSubject: string;\n tempPlannedDueDate: Date;\n activityOriginal: Activity;\n showLoader: boolean = false;\n activityStatusByTypeMaster: ActivityStatusByType[] = [];\n activityTypeMaster: ActivityType[] = [];\n acitvityStatusIdOfNotStarted: any;\n\n\n ngOnInit(): void {\n \n this.showLoader = true;\n this.Role = localStorage.getItem(\"UserRole\");\n\n \n this.activityOriginal = { ...this.activityOriginal, ...this.activity };\n this.activityService.getActivityTypeMaster().subscribe((data) => {\n this.activityTypeMaster = data;\n });\n\n if (this.activityOriginal.InEditMode == true) {\n this.activityService.getActivityStatusMaster(this.activityOriginal.ActivityTypeId).subscribe((data: ActivityStatusByType[]) => {\n this.activityStatusByTypeMaster = data;\n });\n }\n \n this.showLoader = false;\n }\n\n\n\n\n\n\n onActivityTypeChange(activity: any) {\n this.activityService.getActivityStatusMaster(activity.ActivityTypeId).subscribe((data: ActivityStatusByType[]) => {\n this.activityStatusByTypeMaster = data;\n if (!activity.ActivityId) {\n let initialStatusId = this.activityStatusByTypeMaster.find((arg) => {\n return arg.ActivityStatusCode == \"NOT_STARTED\"\n })\n this.acitvityStatusIdOfNotStarted = initialStatusId.ActivityStatusId;\n }\n });\n\n }\n\n\n save(activity: Activity, index): void {\n\n\n if (this.activity.Subject && this.activity.PlannedDueDatetime?.toString()) {\n activity['ActivityOwnerId'] = activity['ActivityOwner'];\n this.activityService.addOrUpdateActivity(activity).subscribe(data => {\n //this.activityOriginal = data;\n \n activity.InEditMode = false;\n this.toastr.success(data.ResponseMessage);\n this.initialActivityToCompairParent.emit({ activity: activity, index: index })\n });\n }\n else {\n let inputs = document.querySelectorAll('.form-input')\n inputs.forEach(input => {\n input.classList.add('error')\n })\n }\n this.acitvityStatusIdOfNotStarted = null;\n }\n\n cancel(activity: Activity, index): void {\n this.activity.Subject = this.tempSubject;\n this.activity.PlannedDueDatetime = this.tempPlannedDueDate;\n this.activity.ActivityStatusId = this.tempActivityStatusId;\n activity.InEditMode = false;\n this.dataEvent.emit(index);\n }\n\n tempActivityStatusId;\n\n edit(activity: Activity): void {\n this.activityService.getActivityStatusMaster(activity.ActivityTypeId).subscribe(\n (data: ActivityStatusByType[]) => {\n this.activityStatusByTypeMaster = data;\n this.tempSubject = this.activity.Subject;\n this.tempPlannedDueDate = this.activity.PlannedDueDatetime;\n this.tempActivityStatusId = this.activity.ActivityStatusId;\n activity.InEditMode = true;\n }\n );\n }\n\n\n delete(activity: Activity) {\n this.activityService.deleteActivity(activity).subscribe(activity => {\n });\n }\n\n\n onKeyDown(event: KeyboardEvent) {\n if (event.key === ' ' && event.target['value'].trim() === '') {\n event.preventDefault();\n }\n }\n\n openViewPopup(activityId: number) {\n const modalRef = this.modalService.open(ViewActivityComponent, {\n size: 'xl', backdrop: 'static', keyboard: false\n });\n var Activity = {\n activityId: activityId,\n inPopUpMode: true,\n canEditCustomerEngagementReportOfOthers:this.activity.canEditCustomerEngagementReportOfOthers,\n canViewCustomerEngagementReportOfOthers:this.activity.canViewCustomerEngagementReportOfOthers\n };\n\n modalRef.componentInstance.Activity = Activity;\n }\n \n getAccess(): Observable {\n let tracker = this.accessservice.GetAll();\n\n tracker.subscribe((data: any) => {\n this.accesspermissionobj = data;\n this.canViewCustomerEngagementReportOfOthers = this.accesspermissionobj.filter(x => x.Fk_RoleId == this.Role && x.ElementKey == 'canViewCustomerEngagementReportOfOthers')[0]?.IsVisible;\n this.canEditCustomerEngagementReportOfOthers = this.accesspermissionobj.filter(x => x.Fk_RoleId == this.Role && x.ElementKey == 'canViewCustomerEngagementReportOfOthers')[0]?.IsEditable;\n\n });\n return tracker;\n }\n\n checkAccess()\n {\n const participantsIdArray = this.activityOriginal.ParticipantsID.split(',');\n \n if((participantsIdArray.filter(x=>x==localStorage.getItem('UserID')).length>0 ||this.activityOriginal.ActivityOwner==localStorage.getItem('UserID')))\n {\n this.activityOriginal.canEditCustomerEngagementReportOfOthers=true;\n this.activityOriginal.canViewCustomerEngagementReportOfOthers=true;\n }\n else\n {\n this.activityOriginal.canEditCustomerEngagementReportOfOthers=this.canEditCustomerEngagementReportOfOthers;\n this.activityOriginal.canViewCustomerEngagementReportOfOthers=this.canViewCustomerEngagementReportOfOthers;\n } \n }\n}\n","\n\n \n {{activity.Customer}}\n \n\n\n \n {{activity.ActivityType}}\n \n\n \n \n \n\n \n {{activity.Participants}}\n \n\n \n \n \n\n \n \n \n\n \n \n\n Not Started\n\n \n\n \n {{activity.DueDays}}\n \n\n \n \n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n\n \n {{activity.Customer}}\n \n\n \n {{activity.ActivityType}}\n \n\n \n {{activity.Participants}}\n \n\n \n {{activity.Subject}}\n \n\n \n {{activity.PlannedDueDatetime | date:'dd-MM-yyyy'}}\n \n\n \n {{activity.ActivityStatus}}\n \n \n {{activity.DueDays}}\n \n\n \n \n \n \n \n \n\n\n\n\n\n\n\n","import { ChangeDetectorRef, Component, Input, OnInit } from '@angular/core';\nimport { ActivityService } from '../../../../Service/activity.service';\nimport { Activity, ActivityType, ActivityStatus, ActivityPurpose, ActivityOutcome, ActivityStatusByType, ActivityLinkageEntityType, EntityRecord, User } from '../../../../Model/ActivityModel';\nimport { MatDatepicker } from '@angular/material/datepicker';\nimport { MatTableModule } from '@angular/material/table';\nimport '@angular/material/prebuilt-themes/indigo-pink.css';\nimport { DatePipe } from '@angular/common';\nimport { NgbDate, NgbDateStruct } from '@ng-bootstrap/ng-bootstrap';\nimport { NgbCalendar, NgbDateParserFormatter, } from '@ng-bootstrap/ng-bootstrap';\nimport { Observable, iif } from 'rxjs';\nimport { AccessPermissionModel } from 'src/app/Model/WorkFlowScreenAccessModel';\nimport { AccessPermissionService } from 'src/app/Service/access-permission.service';\n\n@Component({\n selector: 'app-list-activity',\n templateUrl: './list-activity.component.html',\n styleUrls: ['./list-activity.component.scss']\n})\nexport class ListActivityComponent implements OnInit {\n isbulkEdit: boolean;\n pageNumber: number = 1;\n pageIndex: number = this.pageNumber - 1;\n pageSize: number = 5;\n length: number;\n activities: Activity[];\n filteredActivities: Activity[];\n activityTypeMaster: ActivityType[] = [];\n activityStatusByTypeMaster: ActivityStatusByType[] = [];\n allEntityTypesMaster: ActivityLinkageEntityType[] = [];\n filterActivityForm: any = {};\n entityTypeFilterArray: any = [];\n allUserMaster: User[] = [];\n @Input()\n showLoader: boolean = false;\n\n accesspermissionobj:AccessPermissionModel[]=Array();\n AccesspermissionForRole:any[]=[];\n canViewCustomerEngagementReportOfOthers:boolean=true;\n Role: any;\n partid: string = null;\n canEditCustomerEngagementReportOfOthers: boolean;\n\n constructor(private cd: ChangeDetectorRef ,private calendar: NgbCalendar, public formatter: NgbDateParserFormatter, private activityService: ActivityService,private accessservice: AccessPermissionService) { }\n\n ngOnInit(): void {\n\n this.filterActivityForm.ActivityTypeId = null;\n this.filterActivityForm.ActivityStatusId = null;\n this.filterActivityForm.Subject = null;\n this.filterActivityForm.StartDate = null;\n this.filterActivityForm.EntityTypeId = null;\n this.filterActivityForm.EntityId = null;\n this.filterActivityForm.PageNumber = 1;\n this.filterActivityForm.PageSize = 5;\n this.filterActivityForm.IsOwner = true;\n this.filterActivityForm.ParticipantId = localStorage.getItem('UserID');\n this.Role = localStorage.getItem(\"UserRole\");\n this.partid = this.filterActivityForm.ParticipantId;\n\n this.GetActivityTypeMaster();\n this.GetEntityTypesMaster();\n this.getAllStatus();\n this.getallParticipant();\n this.getAccess().subscribe(x=>{\n this.refreshGrid(this.filterActivityForm);\n });\n\n }\n\n\n addRow() {\n\n let newActivity: Activity = new Activity();\n newActivity.canEditCustomerEngagementReportOfOthers=true;\n newActivity.InEditMode = true;\n this.filteredActivities.unshift(newActivity);\n this.cd.detectChanges();\n }\n\n\n bulkEdit() {\n if (this.isbulkEdit) {\n var newArr = this.filteredActivities.map(obj => {\n return { ...obj, InEditMode: true };\n });\n } else {\n\n var newArr = this.filteredActivities.map(obj => {\n return { ...obj, InEditMode: false };\n });\n }\n\n this.filteredActivities = newArr;\n this.checkAccess();\n }\n\n\n\n\n getallParticipant() {\n this.activityService.getallUserMaster().subscribe((data: User[]) => {\n\n this.allUserMaster = data;\n\n })\n }\n\n getAllStatus() {\n this.activityService.getActivityStatusMaster(null).subscribe((data: ActivityStatusByType[]) => {\n this.activityStatusByTypeMaster = data;\n });\n }\n\n GetEntityTypesMaster() {\n this.showLoader = true;\n this.activityService.getallEntityTypesMaster().subscribe((data: ActivityLinkageEntityType[]) => {\n this.allEntityTypesMaster = data;\n this.showLoader = false;\n });\n }\n\n GetActivityTypeMaster() {\n this.activityService.getActivityTypeMaster().subscribe((data) => {\n this.activityTypeMaster = data;\n });\n }\n\n initialActivityToCompair(event: { activity: any, index: any }){\n\n // ***** When save/Add then compair and art specific index Save that activity****\n let reqBody = {\"ActivityTypeId\":null,\"ActivityStatusId\":null,\"Subject\":null,\"StartDate\":null,\"EntityTypeId\":null,\"EntityId\":null,\"PageNumber\":1,\"PageSize\":5,\"IsOwner\":true}\n this.activityService.getActivityByFilter(reqBody).subscribe((data: any) => {\n const newAddedActivityFromBulk = data.Data;\n\n if(event.activity.ActivityId){\n const A = newAddedActivityFromBulk.filter(((arg) => {\n return arg.ActivityId == event.activity.ActivityId\n }));\n A[0]['InEditMode'] = false\n\n this.filteredActivities[event.index] = A[0];\n \n }else{\n\n this.filteredActivities[event.index] = newAddedActivityFromBulk[0]\n }\n this.checkAccess();\n });\n }\n\n refreshGrid(filterActivityForm) {\n this.activityService.getActivityByFilter(filterActivityForm).subscribe((data: any) => {\n this.activities = data.Data;\n this.filteredActivities = data.Data;\n this.checkAccess();\n this.length = data.Total;\n });\n }\n\n\n\n pageEvent(event) {\n\n window.scroll({\n top: 0,\n left: 0,\n behavior: 'smooth'\n });\n if(!this.canViewCustomerEngagementReportOfOthers){\n this.filterActivityForm.ParticipantId = localStorage.getItem('UserID');\n }\n this.pageNumber = event.pageIndex + 1;\n this.pageSize = event.pageSize;\n let reqBody = { ActivityTypeId: this.filterActivityForm.ActivityTypeId, ActivityStatusId: this.filterActivityForm.ActivityStatusId,\n Subject: this.filterActivityForm.Subject, StartDate: this.filterActivityForm.StartDate,\n EntityTypeId: this.filterActivityForm.EntityTypeId, EntityId: this.filterActivityForm.EntityId,\n PageNumber: this.pageNumber, PageSize: this.pageSize, IsOwner: this.filterActivityForm.IsOwner,\n ParticipantId: this.filterActivityForm.ParticipantId\n }\n\n this.activityService.getActivityByFilter(reqBody).subscribe((res: any) => {\n this.filteredActivities = res.Data;\n this.checkAccess();\n this.bulkEdit();\n })\n\n }\n\n onEntityTypeChange(EntityTypeId: any) {\n this.showLoader = true;\n this.activityService.getrelatedEntityRecords(EntityTypeId,'').subscribe((data: EntityRecord[]) => {\n this.filterActivityForm.EntityId = null;\n this.entityTypeFilterArray = data;\n this.showLoader = false;\n });\n }\n\n removeByIndex(index: any) {\n if ('ActivityId' in this.filteredActivities[index]) {\n } else {\n this.filteredActivities.splice(index, 1);\n }\n }\n\n removeFilter() {\n\n if(!this.canViewCustomerEngagementReportOfOthers){\n this.partid = localStorage.getItem('UserID');\n }\n let reqBody = { ActivityTypeId: null, ActivityStatusId: null, Subject: null, StartDate: null, EntityTypeId: null, EntityId: null, PageNumber: 1, PageSize: 5,\n IsOwner: false, ParticipantId: this.partid}\n this.EnquiryngbDateFromFiter = null;\n this.EnquiryngbDateToFiter = null;\n this.activityService.getActivityByFilter(reqBody).subscribe((res: any) => {\n this.filteredActivities = res.Data\n this.checkAccess();\n this.entityTypeFilterArray = [];\n this.length = res.Total;\n this.filterActivityForm = { ActivityTypeId: null, ActivityStatusId: null, Subject: null, StartDate: null, EntityTypeId: null, EntityId: null, PageNumber: 1, PageSize: 5, IsOwner: false, ParticipantId:this.partid }\n this.isbulkEdit = false;\n this.pageSize = 5;\n });\n }\n\n onSubmit(filterActivityForm: any) {\n\n \n if(!this.canViewCustomerEngagementReportOfOthers){\n this.filterActivityForm.ParticipantId = localStorage.getItem('UserID');\n }\n\n\n if (this.EnquiryngbDateFromFiter == undefined) {\n filterActivityForm.StartDate = null;\n filterActivityForm.EndDate = null;\n } else {\n filterActivityForm.StartDate = this.convertDate(new NgbDate(this.EnquiryngbDateFromFiter.year, this.EnquiryngbDateFromFiter.month, this.EnquiryngbDateFromFiter.day))\n filterActivityForm.EndDate = this.convertDate(new NgbDate(this.EnquiryngbDateToFiter.year, this.EnquiryngbDateToFiter.month, this.EnquiryngbDateToFiter.day))\n }\n\n if(filterActivityForm.ActivityStatusId == \"null\"){\n filterActivityForm.ActivityStatusId = null\n }\n\n if(filterActivityForm.ActivityTypeId == \"null\"){\n filterActivityForm.ActivityTypeId = null\n }\n\n if(filterActivityForm.EntityTypeId == \"null\"){\n filterActivityForm.EntityTypeId = null\n }\n if(filterActivityForm.ParticipantId == \"null\"){\n filterActivityForm.ParticipantId = null\n }\n filterActivityForm.PageNumber = 1;\n filterActivityForm.PageSize = 5;\n this.activityService.getActivityByFilter(filterActivityForm).subscribe((res: any) => {\n this.filteredActivities = res.Data;\n this.checkAccess();\n this.length = res.Total;\n this.pageSize = 5;\n this.isbulkEdit = false;\n\n });\n\n }\n\n convertDate(date: any) {\n let year = date.year;\n let month = date.month;\n let day = date.day;\n return year + \"-\" + month + \"-\" + day;\n }\n\n\n\n\n onKeyDown(event: KeyboardEvent) {\n // Check if the pressed key is a space and if the input field is empty\n if (event.key === ' ' && event.target['value'].trim() === '') {\n event.preventDefault(); // prevent the space from being entered\n }\n }\n\n\n EnquiryngbDateFromFiter: NgbDate | null;\n EnquiryngbDateToFiter: NgbDate | null;\n hoveredDate: NgbDate | null = null;\n minDate: NgbDateStruct;\n maxDate: NgbDateStruct;\n datePipe = new DatePipe('en-US');\n validateInput(currentValue: NgbDate | null, input: string): NgbDate | null {\n const parsed = this.formatter.parse(input);\n return parsed && this.calendar.isValid(NgbDate.from(parsed)) ? NgbDate.from(parsed) : currentValue;\n }\n onDateSelection(date: NgbDate) {\n if (!this.EnquiryngbDateFromFiter && !this.EnquiryngbDateToFiter) {\n this.EnquiryngbDateFromFiter = date;\n } else if (this.EnquiryngbDateFromFiter && !this.EnquiryngbDateToFiter && date && date.after(this.EnquiryngbDateFromFiter)) {\n this.EnquiryngbDateToFiter = date;\n } else {\n this.EnquiryngbDateToFiter = null;\n this.EnquiryngbDateFromFiter = date;\n }\n }\n isRange(date: NgbDate) {\n return date.equals(this.EnquiryngbDateFromFiter) || (this.EnquiryngbDateToFiter && date.equals(this.EnquiryngbDateToFiter)) || this.isInside(date) || this.isHovered(date);\n }\n isHovered(date: NgbDate) {\n return this.EnquiryngbDateFromFiter && !this.EnquiryngbDateToFiter && this.hoveredDate && date.after(this.EnquiryngbDateFromFiter) && date.before(this.hoveredDate);\n }\n isInside(date: NgbDate) {\n return this.EnquiryngbDateToFiter && date.after(this.EnquiryngbDateFromFiter) && date.before(this.EnquiryngbDateToFiter);\n }\n\n getAccess(): Observable {\n let tracker = this.accessservice.GetAll();\n\n tracker.subscribe((data: any) => {\n // console.log(data);\n this.accesspermissionobj = data;\n this.canViewCustomerEngagementReportOfOthers = this.accesspermissionobj.filter(x => x.Fk_RoleId == this.Role && x.ElementKey == 'canViewCustomerEngagementReportOfOthers')[0]?.IsVisible;\n this.canEditCustomerEngagementReportOfOthers = this.accesspermissionobj.filter(x => x.Fk_RoleId == this.Role && x.ElementKey == 'canViewCustomerEngagementReportOfOthers')[0]?.IsEditable;\n\n if(!this.canViewCustomerEngagementReportOfOthers){\n\n this.partid = this.filterActivityForm.ParticipantId;\n }\n });\n\n return tracker;\n }\n\n OnFromDateFilterChange() {\n let EnquiryDateFromFiter = this.ConvertNgbDateToDate(this.EnquiryngbDateFromFiter)\n let EnquiryDateToFiter = this.ConvertNgbDateToDate(this.EnquiryngbDateToFiter)\n if (EnquiryDateToFiter < EnquiryDateFromFiter) {\n this.EnquiryngbDateToFiter = this.EnquiryngbDateFromFiter;\n }\n }\n\n ConvertNgbDateToDate(ngbdate: any) {\n if (ngbdate != null) {\n return new Date(ngbdate.year, ngbdate.month - 1, ngbdate.day)\n }\n }\n\n\n OnToDateFilterChange() {\n }\n\n\n checkAccess()\n {\n this.filteredActivities.forEach(element => {\n const participantsIdArray = element.ParticipantsID.split(',');\n console.log(localStorage.getItem('UserID'));\n \n if((participantsIdArray.filter(x=>x==localStorage.getItem('UserID')).length>0 ||element.ActivityOwner==localStorage.getItem('UserID')))\n {\n element.canEditCustomerEngagementReportOfOthers=true;\n element.canViewCustomerEngagementReportOfOthers=true;\n }\n else\n {\n element.canEditCustomerEngagementReportOfOthers=this.canEditCustomerEngagementReportOfOthers;\n element.canViewCustomerEngagementReportOfOthers=this.canViewCustomerEngagementReportOfOthers;\n }\n }); \n }\n\n}\n\n\n\n\n","
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n \n \n
    \n\n\n
    \n \n \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n\n
    \n
    \n \n\n \n \n {{ date.day }}\n \n \n
    \n
    \n\n\n
    \n \n
    \n
    \n \n \n
    \n
    \n
    \n\n \n
    \n \n
    \n\n\n\n\n
    \n
    \n \n \n \n
    \n\n
    \n
    \n \n
    \n\n
    \n
    \n \n
    \n\n
    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    {{ item.EntityName }}
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n\n\n\n\n Bulk Edit\n \n  \n Add\n Activities\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    CustomerActivity TypeParticipantsSubjectDue DateActivity StatusDue By Actions
    \n\n
    \n
    No Records found
    \n
    \n
    \n\n
    \n
    \n
    \n\n\n\n\n\n\n","import { Component, OnInit, Input } from '@angular/core';\nimport { EntityRecord } from 'src/app/Model/ActivityModel';\nimport { ActivityService } from 'src/app/Service/activity.service';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { ToastrService } from 'ngx-toastr';\nimport { Location } from '@angular/common';\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\n\n@Component({\n selector: 'app-view-activity',\n templateUrl: './view-activity.component.html',\n styleUrls: ['./view-activity.component.scss']\n})\nexport class ViewActivityComponent implements OnInit {\n canEditCustomerEngagementReportOfOthers: any;\n canViewCustomerEngagementReportOfOthers: any;\n\n constructor(\n private location: Location,\n private router: Router,\n private activityService: ActivityService,\n private route: ActivatedRoute,\n private toastr: ToastrService,\n private activeModal: NgbActiveModal) { }\n\n // relatedEntityRecords: EntityRecord[] = [];\n frmData: any = [];\n ActivityId: number;\n\n @Input() Activity;\n @Input() showLoader: boolean = false;\n @Input() showEditAndCancelBtn = true;\n inPopUpMode: boolean;\n\n ngOnInit() {\n this.inPopUpMode = this.Activity?.inPopUpMode ? this.Activity?.inPopUpMode : false;\n this.canEditCustomerEngagementReportOfOthers = this.Activity?.canEditCustomerEngagementReportOfOthers;\n this.canViewCustomerEngagementReportOfOthers = this.Activity?.canViewCustomerEngagementReportOfOthers;\n this.showLoader =true;\n this.ActivityId = this.Activity?.activityId ? this.Activity?.activityId : this.route.snapshot.params[\"id\"];\n this.getActivityById(this.ActivityId);\n this.showLoader =false;\n }\n\n getActivityById(id: number) {\n this.showLoader = true;\n this.activityService.getActivityById(id).subscribe(data => {\n this.frmData = data; \n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to Load activity details!\");\n this.showLoader = false;\n });\n }\n\n goToEdit(ActivityId) {\n this.router.navigate(['/Edit-Activity', ActivityId]);\n this.activeModal.close();\n }\n\n goBack() {\n this.location.back();\n }\n\n closePopup() {\n this.activeModal.close('Close Click');\n }\n\n \n checkAccess()\n {\n const participantsIdArray = this.frmData.ParticipantsID.split(',');\n console.log(localStorage.getItem('UserID'));\n \n if((participantsIdArray.filter(x=>x==localStorage.getItem('UserID')).length>0 ||this.frmData.ActivityOwner==localStorage.getItem('UserID')))\n {\n this.frmData.canEditCustomerEngagementReportOfOthers=true;\n this.frmData.canViewCustomerEngagementReportOfOthers=true;\n }\n else\n {\n this.frmData.canEditCustomerEngagementReportOfOthers=this.canEditCustomerEngagementReportOfOthers;\n this.frmData.canViewCustomerEngagementReportOfOthers=this.canViewCustomerEngagementReportOfOthers;\n } \n }\n}\n","\n\n
    \n
    \n\n\n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n View Activity\n

    \n
    \n
    \n
    \n\n
    \n
    \n
    \n \n
    \n {{ frmData?.ActivityType }}\n
    \n\n \n \n\n
    \n\n\n
    \n \n
    \n {{ frmData?.OwnerName }}\n
    \n
    \n \n
    \n {{ frmData?.Subject }}\n
    \n
    \n
    \n\n
    \n \n
    \n {{ frmData?.ActivityStatus }}\n
    \n
    Status is required
    \n
    \n
    \n
    \n \n
    \n
    \n {{ frmData?.PlannedDueDatetime | date:'dd-MM-yyyy'}}\n
    \n
    \n
    \n\n\n
    \n \n
    \n
    \n {{ frmData?.ActualStartDatetime | date:'dd-MM-yyyy'}}\n
    \n
    \n
    \n \n
    \n
    \n {{ frmData?.ActualCompletionDatetime | date:'dd-MM-yyyy' }}\n
    \n
    \n
    \n\n
    \n \n
    \n {{ frmData?.ActivityPurpose }}\n
    \n
    purpose is required
    \n
    \n
    \n
    \n \n
    \n {{ frmData?.PurposeDesc }}\n
    \n
    \n\n\n
    \n \n
    \n {{ frmData?.ActivityOutcome }}\n
    \n
    Priority is required
    \n
    \n
    \n
    \n \n
    \n {{ frmData?.OutcomeDesc }}\n
    \n
    \n\n\n\n\n\n
    \n \n
    \n {{ frmData?.Comment }}\n
    \n
    \n\n
    \n\n\n \n
    \n
    \n {{ participant.ParticipantName }}\n
    \n
    \n\n
    \n\n \n\n
    \n
      \n
    • {{ activityLinked.EntityTypeName }} :\n  \n {{ activityLinked.EntityName }}\n
    • \n
    \n
    \n\n\n\n
    \n
    \n
    \n \n   \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n\n
    \n
    \n","import { Location } from '@angular/common';\nimport { Component, Input, OnInit, ViewChild } from '@angular/core';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { ActivatedRoute } from '@angular/router';\nimport { ToastrService } from 'ngx-toastr';\nimport { CustomerModel } from 'src/app/Model/CustomerModel';\nimport { AppConfigService } from 'src/app/Service/app-config.service';\nimport { CommonService } from 'src/app/Service/common.service';\nimport { EngagementReportService } from 'src/app/Service/engagement-report.service';\n\n@Component({\n selector: 'app-customer-engagement-details',\n templateUrl: './customer-engagement-details.component.html',\n styleUrls: ['./customer-engagement-details.component.scss']\n})\nexport class CustomerEngagementDetailsComponent implements OnInit {\n \n constructor(private route: ActivatedRoute, private Service: CommonService, private engagementReportService: EngagementReportService, private toastr: ToastrService, private location: Location,\n private appConfigService: AppConfigService ) { }\n \n showLoader: boolean;\n CustomerModel: CustomerModel = new CustomerModel();\n\n reportTypeId_RoleWise: string = '';\n \n customerId: any;\n\n customerEnquiries: any;\n roleWiseInfo: any;\n roleWiseInfoKeys: any;\n displayedColumns: string[] = ['EnquiryNo', 'EnquiryDate', 'QuotationNo', 'QuotationAmount', 'QuotationStatus', 'EngagementActivity', 'EngagementType', 'ActivityOutcome', 'ActivityOutcomeDescription', 'WeissAttendees', 'ActivityStatus', 'InitiatorName'];\n dataSource: MatTableDataSource;\n attendeesOfWhichComapany : any;\n\n @ViewChild('paginator') paginator: MatPaginator;\n\n ngOnInit(): void {\n const appConfig = this.appConfigService.getConfig();\n this.attendeesOfWhichComapany = appConfig.attendeesOfWhichComapany;\n this.customerId = this.route.snapshot.queryParams['CustId'];\n this.getCustomerDetailsByCustId();\n this.getCustomerEnquiryActivitiesByCustId();\n this.getRoleWiseInfoByCustId();\n }\n\n getCustomerDetailsByCustId() {\n this.showLoader = true\n\n let queryString = \"\";\n queryString = \"id=\" + this.customerId;\n\n this.Service.GetData('Customer', 'GetById', queryString).subscribe((data: any) => {\n this.CustomerModel = data;\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n\n getCustomerEnquiryActivitiesByCustId() {\n let body = {\n reportTypeId: 'REP_Cust_Enquiry_Activity_Engagement',\n entityId: this.customerId\n };\n\n this.engagementReportService.getReportData(body).subscribe((data: any) => {\n this.customerEnquiries = new MatTableDataSource(data);\n this.customerEnquiries.paginator = this.paginator;\n })\n }\n\n getRoleWiseInfoByCustId() {\n let body = {\n reportTypeId: 'REP_RoleWise_ActivityType_Count',\n entityTypeId: 1,\n entityId: this.customerId\n };\n\n this.engagementReportService.getReportData(body).subscribe((data: any) => {\n this.roleWiseInfo = data;\n if(this.roleWiseInfo.length) {\n this.roleWiseInfoKeys = Object.keys(this.roleWiseInfo[0]);\n }\n // console.log(this.roleWiseInfo);\n // console.log(this.roleWiseInfoKeys);\n \n })\n }\n\n\n gobackNavigate() {\n this.location.back();\n }\n\n}","\n
    \n
    \n
    \n
    \n
    \n\n \n
    \n
    \n
    \n

    Customer Engagement Details

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

    \n Basic Customer Information\n

    \n
    \n
    \n
    \n
    \n\n
    \n \n
    \n {{CustomerModel.BasicCustomerInformationModel.CustomerCode}}\n
    \n
    \n \n
    \n {{CustomerModel.BasicCustomerInformationModel.CompanyName}}\n
    \n
    \n\n
    \n \n
    \n {{CustomerModel.BasicCustomerInformationModel.AddressHeadquaters}}\n
    \n
    \n \n
    \n {{CustomerModel.BasicCustomerInformationModel.AddressPlant}}\n
    \n
    \n\n
    \n \n
    \n {{CustomerModel.BasicCustomerInformationModel.City}}\n
    \n
    \n \n
    \n {{CustomerModel.BasicCustomerInformationModel.State}}\n
    \n
    \n\n
    \n \n
    \n {{CustomerModel.BasicCustomerInformationModel.PINCode}}\n
    \n
    \n \n
    \n {{CustomerModel.BasicCustomerInformationModel.MailAddress}}\n
    \n
    \n\n\n
    \n
    \n \n\n \n
    \n
    \n
    \n
    \n

    \n Customer Engagement Summary\n

    \n
    \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {{data}}
    \n {{data[keyName] ? data[keyName] : 0}}\n
    \n
    \n
    \n \n\n \n
    \n
    \n
    \n
    \n

    \n Enquiry Listing\n

    \n
    \n
    \n
    \n \n
    \n
    \n
    \n\n
    \n \n\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n\n \n \n \n \n \n\n \n \n\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n\n \n \n\n \n \n\n \n \n\n \n \n \n \n \n\n \n \n\n
    Enquiry No.\n {{enquiry.EnquiryNumber}}\n Enquiry Date{{enquiry.EnquiryDate | date}}\n Quotation No.{{enquiry.QuotationNumber}}Quotation Amount (Rs)\n {{enquiry.QuotationFinalAmt}}\n Quotation Status\n {{enquiry.EnquiryConfirmationStatus}}Engagement Activity\n {{enquiry.LastActivitySubject}}\n Engagement Type{{enquiry.LastActivityType}}Activity Outcome{{enquiry.LastActivityOutCome}}\n Activity Outcome Description\n {{enquiry.LastActivityOutComeDescription}}{{attendeesOfWhichComapany}} Attendees\n {{enquiry.LastActivityParticipants}}\n Activity Status{{enquiry.LastActivityStatus}}\n Initiator Name{{enquiry.EnquiryInitiator}}
    \n\n \n
    \n\n
    \n
    \n \n\n\n \n
    \n
    \n
    \n
    \n

    \n Engagement Activities\n

    \n
    \n
    \n
    \n
      \n
    • \n Add Activity \n
    • \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n \n\n \n
    \n
    \n
    \n
    \n

    \n Planned vs Actual\n

    \n
    \n
    \n
    \n
    \n \n
    \n
    \n \n\n\n\n \n\n
    \n \n
    \n
    \n
    \n
    \n
    \n","import { Location } from '@angular/common';\nimport { Component, OnInit, ViewChild } from '@angular/core';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { EngagementReportService } from 'src/app/Service/engagement-report.service';\n\n@Component({\n selector: 'app-customer-engagement',\n templateUrl: './customer-engagement.component.html',\n styleUrls: ['./customer-engagement.component.scss']\n})\nexport class CustomerEngagementComponent implements OnInit {\n\n constructor(private engagementReportService: EngagementReportService, private location: Location) { }\n\n displayedColumns: string[] = ['companyName', 'customerCode', 'regionName'];\n dataSource: MatTableDataSource;\n\n @ViewChild('paginator') paginator: MatPaginator;\n\n ngOnInit() {\n //this.getCustomerInfo();\n }\n\n getCustomerInfo() {\n let data = {\n reportTypeId: 'REP_Customer_Details',\n };\n this.engagementReportService.getReportData(data).subscribe((data: any) => {\n this.dataSource = new MatTableDataSource(data);\n this.dataSource.paginator = this.paginator;\n })\n }\n}\n","","import { AfterViewInit, Component, DoCheck, Input, OnDestroy } from \"@angular/core\";\nimport { Subscription } from \"rxjs\";\nimport { EngagementReportService } from \"src/app/Service/engagement-report.service\";\n\nimport * as am4charts from \"@amcharts/amcharts4/charts\";\nimport * as am4core from \"@amcharts/amcharts4/core\";\nimport am4themes_animated from \"@amcharts/amcharts4/themes/animated\";\n\n@Component({\n selector: \"app-activity-status-by-month\",\n templateUrl: \"./activity-status-by-month.component.html\",\n styleUrls: [\"./activity-status-by-month.component.scss\"],\n})\nexport class ActivityStatusByMonthComponent implements AfterViewInit, OnDestroy, DoCheck {\n constructor(private engagementReport: EngagementReportService) { }\n\n subscription: Subscription;\n private chart: am4charts.XYChart;\n\n @Input() date: { from: any, to: any };\n \n prevDateFrom: any = '';\n prevDateTo: any = '';\n\n ngAfterViewInit(): void {\n let filters = {\n reportTypeId: \"REP_BY_ACT_Status_MONTH\",\n // StartDate: null,\n // EndDate: null,\n // ActivityTypeId: null,\n // ActivityStatusId: null\n };\n this.getData(filters)\n }\n\n ngDoCheck(): void { \n \n if(this.date.from !== this.prevDateFrom || this.date.to !== this.prevDateTo) {\n\n let filters = {\n reportTypeId: \"REP_BY_ACT_Status_MONTH\",\n StartDate: this.date.from,\n EndDate: this.date.to,\n }\n\n this.prevDateFrom = this.date.from;\n this.prevDateTo = this.date.to;\n this.getData(filters);\n }\n }\n\n getData(filters) {\n this.subscription = this.engagementReport.getReportData(filters).subscribe(\n data => this.showChart(data),\n err => console.log(err)\n );\n }\n\n showChart(data: any) {\n\n am4core.useTheme(am4themes_animated);\n\n let chart = am4core.create(\"Activity-Status-Month-Chart\", am4charts.XYChart);\n\n // transforming and providing the chart data\n chart.data = this.engagementReport.transformChartData(\n 'MonthYear',\n 'ActivityCount',\n 'ActivityStatusDesc',\n data\n );\n\n // creating category axis based on DueMonth\n let categoryAxis = chart.xAxes.push(new am4charts.CategoryAxis());\n categoryAxis.dataFields.category = \"MonthYear\";\n categoryAxis.title.text = \"Month\";\n categoryAxis.title.fontSize = \"16px\";\n categoryAxis.title.fontWeight = \"bold\";\n categoryAxis.title.margin(10, 10, 10, 10);\n categoryAxis.renderer.cellStartLocation = 0.2;\n categoryAxis.renderer.cellEndLocation = 0.8;\n\n // creating value axis on count by amcharts\n let valueAxis = chart.yAxes.push(new am4charts.ValueAxis());\n valueAxis.title.text = \"Count\";\n valueAxis.title.fontSize = \"16px\";\n valueAxis.title.fontWeight = \"bold\";\n\n\n let seriesNames = this.engagementReport.getAllSeriesName('ActivityStatusDesc', data);\n\n seriesNames.forEach((seriesname, index) => {\n let seriescolor = this.engagementReport.seriesColors[index]\n createSeries(seriesname, seriescolor)\n })\n \n // create series for each series name\n function createSeries(field: any, color: any) {\n let series = chart.series.push(new am4charts.ColumnSeries());\n series.name = field;\n series.columns.template.tooltipText = \"Series: {name}\\nCategory: {categoryX}\\nValue: {valueY}\";\n series.columns.template.width = am4core.percent(80);\n\n series.columns.template.fill = color;\n series.columns.template.stroke = am4core.color(color);\n\n series.dataFields.valueY = field;\n series.dataFields.categoryX = \"MonthYear\";\n }\n\n // Enable export\n //chart.exporting.menu = new am4core.ExportMenu();\n //chart.exporting.filePrefix = \"Activity_Chart\";\n\n chart.legend = new am4charts.Legend();\n\n chart.scrollbarX = new am4core.Scrollbar();\n\n // chart.events.on(\"ready\", function () {\n // categoryAxis.zoomToCategories(\"Jan\", \"Jun\");\n // });\n\n this.chart = chart;\n }\n\n ngOnDestroy(): void {\n if (this.subscription) this.subscription.unsubscribe();\n if (this.chart) this.chart.dispose();\n }\n}\n\n\n","
    \n
    \n
    \n
    \n

    \n Report by Status and Month\n

    \n
    \n
    \n
    \n
    \n
    \n\n \n
    \n
    \n
    \n
    ","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-engagement-reports',\n templateUrl: './engagement-reports.component.html',\n styleUrls: ['./engagement-reports.component.scss']\n})\nexport class EngagementReportsComponent implements OnInit {\n\n showLoader: any;\n\n datefrom: any;\n dateto: any;\n\n date: any = {};\n clicked: boolean = false;\n\n constructor() { }\n\n ngOnInit(): void {\n this.showLoader = true;\n }\n ngAfterViewInit(): void {\n this.showLoader = false;\n }\n\n applyFilters() {\n if (this.datefrom && this.dateto) {\n if (new Date(this.datefrom) <= new Date(this.dateto)) {\n this.date.from = this.datefrom;\n this.date.to = this.dateto;\n this.clicked = true\n }\n }\n }\n\n removeFilters() {\n if(this.clicked && (this.datefrom && this.dateto)) {\n this.datefrom = '';\n this.dateto = '';\n this.date.from = this.datefrom;\n this.date.to = this.dateto;\n }\n else {\n this.datefrom = '';\n this.dateto = '';\n }\n }\n}\n","\n\n\n
    \n\n
    \n\n
    \n\n
    \n
    \n
    \n
    \n\n
    \n \n
    \n \n
    \n
    \n\n
    \n \n
    \n \n
    \n
    \n\n
    \n \n Apply\n \n \n Clear\n \n
    \n\n
    \n
    \n
    \n
    \n\n\n \n
    \n\n
    \n \n
    \n\n
    \n \n
    \n\n
    \n \n
    \n\n \n\n
    \n
    \n
    \n
    \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n","import { Component, AfterViewInit, Input, DoCheck, OnDestroy } from '@angular/core';\nimport * as am4core from '@amcharts/amcharts4/core';\nimport * as am4charts from '@amcharts/amcharts4/charts';\nimport am4themes_animated from '@amcharts/amcharts4/themes/animated'\n\nimport { Subscription } from 'rxjs';\nimport { EngagementReportService } from 'src/app/Service/engagement-report.service';\n@Component({\n selector: 'app-report-by-activity-status-type',\n templateUrl: './report-by-activity-status-type.component.html',\n styleUrls: ['./report-by-activity-status-type.component.scss']\n})\nexport class ReportByActivityStatusTypeComponent implements AfterViewInit, DoCheck, OnDestroy {\n\n constructor(private engagementReport: EngagementReportService) { }\n\n subscription: Subscription;\n private chart: am4charts.XYChart;\n\n @Input() date: { from: any, to: any };\n\n prevDateFrom: any;\n prevDateTo: any;\n\n ngAfterViewInit(): void {\n let filters = {\n reportTypeId: \"REP_BY_ACT_Status_Type\"\n }\n this.getData(filters)\n }\n\n ngDoCheck(): void {\n if(this.date.from !== this.prevDateFrom || this.date.to !== this.prevDateTo) {\n\n let filters = {\n reportTypeId: \"REP_BY_ACT_Status_Type\",\n StartDate: this.date.from,\n EndDate: this.date.to,\n }\n\n this.prevDateFrom = this.date.from;\n this.prevDateTo = this.date.to;\n this.getData(filters);\n }\n }\n\n getData(filters) {\n this.engagementReport.getReportData(filters).subscribe(\n data => this.showChart(data),\n err => console.log(err)\n );\n }\n\n showChart(data: any) {\n\n am4core.useTheme(am4themes_animated);\n\n let chart = am4core.create(\"Activity-Status-Type-Chart\", am4charts.XYChart);\n\n // transforming and providing the chart data\n chart.data = this.engagementReport.transformChartData(\n 'ActivityStatusDesc',\n 'ActivityCount',\n 'ActivityTypeDesc',\n data\n );\n\n // creating category axis based on DueMonth\n let categoryAxis = chart.xAxes.push(new am4charts.CategoryAxis());\n categoryAxis.dataFields.category = \"ActivityStatusDesc\";\n categoryAxis.title.text = \"Status\"; \n categoryAxis.title.fontSize = \"16px\";\n categoryAxis.title.fontWeight = \"bold\";\n categoryAxis.title.margin(10, 10, 10, 10);\n categoryAxis.renderer.cellStartLocation = 0.2;\n categoryAxis.renderer.cellEndLocation = 0.8;\n\n // creating value axis on count by amcharts\n let valueAxis = chart.yAxes.push(new am4charts.ValueAxis());\n valueAxis.title.text = \"Count\";\n valueAxis.title.fontSize = \"16px\";\n valueAxis.title.fontWeight = \"bold\";\n\n\n let seriesNames = this.engagementReport.getAllSeriesName('ActivityTypeDesc', data);\n \n seriesNames.forEach((seriesname, index) => {\n let seriescolor = this.engagementReport.seriesColors[index]\n createSeries(seriesname, seriescolor)\n })\n \n // create series for each series name\n function createSeries(field: any, color: any) {\n let series = chart.series.push(new am4charts.ColumnSeries());\n series.name = field;\n series.columns.template.tooltipText = \"Series: {name}\\nCategory: {categoryX}\\nValue: {valueY}\";\n series.columns.template.width = am4core.percent(80);\n\n series.columns.template.fill = color;\n series.columns.template.stroke = am4core.color(color);\n\n series.dataFields.valueY = field;\n series.dataFields.categoryX = \"ActivityStatusDesc\";\n }\n\n chart.legend = new am4charts.Legend();\n\n this.chart = chart;\n }\n \n ngOnDestroy(): void {\n if(this.subscription) this.subscription.unsubscribe();\n if(this.chart) this.chart.dispose();\n }\n}\n","
    \n
    \n
    \n
    \n

    \n Report by Status and Type \n

    \n
    \n
    \n
    \n
    \n
    \n\n \n \n
    \n
    \n
    \n
    ","import { AfterViewInit, Component, DoCheck, Input, OnDestroy } from '@angular/core';\nimport * as am4core from '@amcharts/amcharts4/core';\nimport * as am4charts from '@amcharts/amcharts4/charts';\nimport am4themes_animated from '@amcharts/amcharts4/themes/animated'\n\nimport { Subscription } from 'rxjs';\nimport { EngagementReportService } from 'src/app/Service/engagement-report.service';\n\n\n@Component({\n selector: 'app-report-by-activity-type-month',\n templateUrl: './report-by-activity-type-month.component.html',\n styleUrls: ['./report-by-activity-type-month.component.scss']\n})\nexport class ReportByActivityTypeMonthComponent implements AfterViewInit, DoCheck, OnDestroy {\n\n constructor(private engagementReport: EngagementReportService) { }\n\n subscription: Subscription;\n private chart: am4charts.XYChart;\n\n @Input() date: { from: any, to: any };\n\n prevDateFrom: any;\n prevDateTo: any;\n\n ngAfterViewInit(): void {\n let filters = {\n reportTypeId: \"REP_BY_ACT_Type_MONTH\",\n }\n this.getData(filters);\n }\n\n ngDoCheck(): void {\n if(this.date.from !== this.prevDateFrom || this.date.to !== this.prevDateTo) {\n\n let filters = {\n reportTypeId: \"REP_BY_ACT_Status_Type\",\n StartDate: this.date.from,\n EndDate: this.date.to,\n }\n\n this.prevDateFrom = this.date.from;\n this.prevDateTo = this.date.to;\n this.getData(filters);\n }\n }\n\n getData(filters) {\n this.subscription = this.engagementReport.getReportData(filters).subscribe(\n data => this.showChart(data),\n err => console.log(err)\n );\n }\n\n showChart(data) {\n\n am4core.useTheme(am4themes_animated);\n \n let chart = am4core.create(\"Activity-Type-Month-Chart\", am4charts.XYChart)\n\n // transforming and providing the chart data\n chart.data = this.engagementReport.transformChartData(\n 'MonthYear',\n 'ActivityCount',\n 'ActivityTypeDesc',\n data\n );\n\n // creating category axis based on DueMonth\n let categoryAxis = chart.xAxes.push(new am4charts.CategoryAxis())\n categoryAxis.dataFields.category = \"MonthYear\";\n categoryAxis.title.text = \"Month\";\n categoryAxis.title.fontSize = \"16px\";\n categoryAxis.title.fontWeight = \"bold\";\n categoryAxis.title.margin(10, 10, 10, 10);\n categoryAxis.renderer.cellStartLocation = 0.2;\n categoryAxis.renderer.cellEndLocation = 0.8;\n\n // creating value axis on count by amcharts\n let valueAxis = chart.yAxes.push(new am4charts.ValueAxis());\n valueAxis.title.text = \"Count\";\n valueAxis.title.fontSize = \"16px\";\n valueAxis.title.fontWeight = \"bold\";\n\n\n let seriesNames = this.engagementReport.getAllSeriesName('ActivityTypeDesc', data);\n \n seriesNames.forEach((seriesname, index) => {\n let seriescolor = this.engagementReport.seriesColors[index]\n createSeries(seriesname, seriescolor)\n })\n \n // create series for each series name\n function createSeries(field: any, color: any) {\n let series = chart.series.push(new am4charts.ColumnSeries());\n series.name = field;\n series.columns.template.tooltipText = \"Series: {name}\\nCategory: {categoryX}\\nValue: {valueY}\";\n series.columns.template.width = am4core.percent(80);\n\n series.columns.template.fill = color;\n series.columns.template.stroke = am4core.color(color);\n\n series.dataFields.valueY = field;\n series.dataFields.categoryX = \"MonthYear\";\n }\n\n \n chart.legend = new am4charts.Legend();\n\n chart.scrollbarX = new am4core.Scrollbar();\n\n // chart.events.on(\"ready\", function () {\n // categoryAxis.zoomToCategories(\"Jan\", \"Jun\");\n // });\n\n this.chart = chart;\n }\n\n ngOnDestroy(): void {\n if(this.subscription) this.subscription.unsubscribe();\n if(this.chart) this.chart.dispose();\n }\n\n}\n","
    \n
    \n
    \n
    \n

    \n Report by Type and Month\n

    \n
    \n
    \n
    \n
    \n
    \n\n \n
    \n
    \n
    \n
    ","import { Component, AfterViewInit, OnDestroy, DoCheck, Input } from '@angular/core';\nimport * as am4core from '@amcharts/amcharts4/core';\nimport * as am4charts from '@amcharts/amcharts4/charts';\nimport am4themes_animated from '@amcharts/amcharts4/themes/animated'\n\nimport { Subscription } from 'rxjs';\nimport { EngagementReportService } from 'src/app/Service/engagement-report.service';\n\n\n\n@Component({\n selector: 'app-report-by-activity-type-status',\n templateUrl: './report-by-activity-type-status.component.html',\n styleUrls: ['./report-by-activity-type-status.component.scss']\n})\nexport class ReportByActivityTypeStatusComponent implements AfterViewInit, DoCheck, OnDestroy {\n\n constructor(private engagementReport: EngagementReportService) { }\n\n subscription: Subscription;\n private chart: am4charts.XYChart;\n\n @Input() date: { from: any, to: any };\n\n prevDateFrom: any;\n prevDateTo: any;\n\n ngAfterViewInit(): void {\n let filters = {\n reportTypeId: \"REP_BY_ACT_Status_Type\",\n }\n this.getData(filters);\n }\n\n ngDoCheck(): void {\n if(this.date.from !== this.prevDateFrom || this.date.to !== this.prevDateTo) {\n\n let filters = {\n reportTypeId: \"REP_BY_ACT_Status_Type\",\n StartDate: this.date.from,\n EndDate: this.date.to,\n }\n\n this.prevDateFrom = this.date.from;\n this.prevDateTo = this.date.to;\n this.getData(filters);\n }\n }\n\n getData(filters) {\n this.engagementReport.getReportData(filters).subscribe(\n data => this.showChart(data),\n err => console.log(err)\n );\n }\n\n showChart(data: any) {\n am4core.useTheme(am4themes_animated);\n\n let chart = am4core.create(\"Activity-Type-Status-Chart\", am4charts.XYChart);\n\n // transforming and providing the chart data\n chart.data = this.engagementReport.transformChartData(\n 'ActivityTypeDesc',\n 'ActivityCount',\n 'ActivityStatusDesc',\n data\n );\n\n let categoryAxis = chart.xAxes.push(new am4charts.CategoryAxis());\n categoryAxis.dataFields.category = \"ActivityTypeDesc\";\n \n categoryAxis.title.text = \"Type\"; \n categoryAxis.title.fontSize = \"16px\";\n categoryAxis.title.fontWeight = \"bold\";\n categoryAxis.title.margin(10, 10, 10, 10);\n categoryAxis.renderer.cellStartLocation = 0.2;\n categoryAxis.renderer.cellEndLocation = 0.8;\n\n let valueAxis = chart.yAxes.push(new am4charts.ValueAxis());\n valueAxis.title.text = \"Count\";\n valueAxis.title.fontSize = \"16px\";\n valueAxis.title.fontWeight = \"bold\";\n\n\n let seriesNames = this.engagementReport.getAllSeriesName('ActivityStatusDesc', data);\n \n seriesNames.forEach((seriesname, index) => {\n let seriescolor = this.engagementReport.seriesColors[index]\n createSeries(seriesname, seriescolor)\n })\n \n // create series for each series name\n function createSeries(field: any, color: any) {\n let series = chart.series.push(new am4charts.ColumnSeries());\n series.name = field;\n series.columns.template.tooltipText = \"Series: {name}\\nCategory: {categoryX}\\nValue: {valueY}\";\n series.columns.template.width = am4core.percent(80);\n\n series.columns.template.fill = color;\n series.columns.template.stroke = am4core.color(color);\n\n series.dataFields.valueY = field;\n series.dataFields.categoryX = \"ActivityTypeDesc\";\n }\n\n\n chart.legend = new am4charts.Legend();\n\n this.chart = chart;\n }\n \n ngOnDestroy(): void {\n if(this.subscription) this.subscription.unsubscribe();\n if(this.chart) this.chart.dispose();\n }\n}\n","
    \n
    \n
    \n
    \n

    \n Status of my Engagements\n

    \n
    \n
    \n
    \n
    \n
    \n\n \n
    \n
    \n
    \n
    ","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { ReportFilterViewModel } from 'src/app/Model/ReportFilterModel';\nimport { ActivityService } from 'src/app/Service/activity.service';\nimport { ListActivityComponent } from '../activity/list-activity/list-activity.component';\n\n@Component({\n selector: 'app-my-activity',\n templateUrl: './my-activity.component.html',\n styleUrls: ['./my-activity.component.scss']\n})\nexport class MyActivityComponent implements OnInit {\n\n constructor(public dialog: MatDialog, private service: ActivityService) { }\n\n isListView: boolean = true;\n\n events = [];\n\n ngOnInit(): void {\n localStorage.removeItem('ViewType-A');\n localStorage.setItem('ViewType', 'ListView');\n }\n\n\n\n}\n","\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    My Activities

    \n
    \n
    \n
    \n\n
      \n\n
    \n\n \n\n \n
    \n
    \n
    \n
    \n
    \n
    \n\n \n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n\n","import { ChangeDetectorRef, Component, Input, OnInit } from '@angular/core';\nimport { ToastrService } from 'ngx-toastr';\nimport { ActivityLinkageEntityType, ActivityStatusByType, ActivityType, EntityRecord, User } from 'src/app/Model/ActivityModel';\nimport { ActivityService } from 'src/app/Service/activity.service';\nimport { EngagementReportService } from 'src/app/Service/engagement-report.service';\nimport { NgbCalendar, NgbDate, NgbDateParserFormatter, NgbDateStruct, NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { DatePipe } from '@angular/common';\nimport { AccessPermissionModel } from 'src/app/Model/WorkFlowScreenAccessModel';\nimport { AccessPermissionService } from 'src/app/Service/access-permission.service';\nimport { Observable } from 'rxjs';\nimport { ViewActivityComponent } from '../activity/view-activity/view-activity.component';\n@Component({\n selector: 'app-planned-vs-actual-activity',\n templateUrl: './planned-vs-actual-activity.component.html',\n styleUrls: ['./planned-vs-actual-activity.component.scss']\n})\nexport class PlannedVsActualActivityComponent implements OnInit {\n subscription: any;\n resp: any;\n hide: boolean = false;\n activities: any; // Array to store the activity data\n day: string = '';\n datetime: string = '';\n activityStatusFilter: number;\n activityTypeFilter: number;\n activityTypeMaster: ActivityType[] = [];\n activityStatusByTypeMaster: ActivityStatusByType[] = [];\n allEntityTypesMaster: ActivityLinkageEntityType[] = [];\n filterActivityForm: any = {};\n entityTypeFilterArray: any = [];\n FromDateNgb: NgbDate | null;\n FromDate: string | null;\n ToDateNgb: NgbDate | null;\n hoveredDate: NgbDate | null = null;\n minDate: NgbDateStruct;\n maxDate: NgbDateStruct;\n datePipe = new DatePipe('en-US');\n allUserMaster: User[] = [];\n partid: string = null;\n\n accesspermissionobj: AccessPermissionModel[] = Array();\n AccesspermissionForRole: any[] = [];\n canViewCustomerEngagementReportOfOthers: boolean = true;\n Role: any;\n\n @Input() customerId: number;\n @Input() formDetails: string;\n\n constructor(private toastr: ToastrService, private reportService: EngagementReportService, private activityService: ActivityService,\n public formatter: NgbDateParserFormatter, private cd: ChangeDetectorRef, private calendar: NgbCalendar, private accessservice: AccessPermissionService, private modalService: NgbModal) {\n const current = new Date();\n this.minDate = { year: current.getFullYear(), month: current.getMonth(), day: current.getDate() };\n this.maxDate = { year: current.getFullYear() + 1, month: current.getMonth() + 5, day: current.getDate() };\n }\n @Input()\n showLoader: boolean = false;\n ngOnInit(): void {\n \n this.filterActivityForm.ActivityTypeId = null;\n this.filterActivityForm.ActivityStatusId = null;\n this.filterActivityForm.EntityTypeId = this.customerId ? 1 : null;\n this.filterActivityForm.EntityId = this.customerId ? this.customerId : null;\n this.filterActivityForm.ActivityOwnerId = localStorage.getItem('UserID');\n this.Role = localStorage.getItem(\"UserRole\");\n this.partid = this.filterActivityForm.ActivityOwnerId;\n this.filterActivityForm.IsOwner = true;\n const today = this.calendar.getToday();\n const currentYear = today.year;\n const currentMonth = today.month;\n this.FromDateNgb = new NgbDate(currentYear, currentMonth, 1);\n const lastDay = this.getLastDayOfMonth(currentYear, currentMonth);\n this.ToDateNgb = new NgbDate(currentYear, currentMonth, lastDay);\n\n this.GetActivityTypeMaster();\n this.GetActivityStatusMaster();\n this.GetEntityTypesMaster();\n \n this.activityService.getallUserMaster().subscribe((data: User[]) => {\n this.allUserMaster = data;\n });\n \n this.getAccess().subscribe(x=>{\n \n let filters = {}\n if(this.formDetails == \"Customer_Engagement\"){\n filters = {\n reportTypeId: \"REP_BY_ACTUAL_VS_PLANNED\",\n StartDate: null,\n EndDate: null,\n IsOwner: false,\n EntityTypeId: this.filterActivityForm.EntityTypeId, \n EntityId: this.filterActivityForm.EntityId,\n ParticipantId: this.partid,\n };\n }\n else{\n filters = {\n reportTypeId: \"REP_BY_ACTUAL_VS_PLANNED\",\n StartDate: this.convertDate(this.FromDateNgb),\n EndDate: this.convertDate(this.ToDateNgb),\n IsOwner: this.filterActivityForm.IsOwner,\n EntityTypeId: this.filterActivityForm.EntityTypeId, \n EntityId: this.filterActivityForm.EntityId,\n ParticipantId: this.partid\n };\n }\n this.getData(filters); \n \n });\n }\n\n getLastDayOfMonth(year: number, month: number): number {\n // Create a new date for the first day of the next month\n const nextMonth = month === 12 ? 1 : month + 1;\n const nextYear = month === 12 ? year + 1 : year;\n const nextMonthDate = new Date(nextYear, nextMonth - 1, 1);\n\n // Subtract one day from the first day of the next month to get the last day of the current month\n const lastDayOfMonth = new Date(nextMonthDate.getTime() - 86400000).getDate();\n return lastDayOfMonth;\n }\n\n\n getData(filters) {\n this.showLoader = true;\n this.subscription = this.reportService.getReportData(filters).subscribe((data: any) => {\n this.showData(data);\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to activity list!\");\n this.showLoader = false;\n });\n }\n\n convertDate(date: any) {\n let year = date.year;\n let month = date.month;\n let day = date.day;\n return year + \"-\" + month + \"-\" + day;\n }\n\n onSubmit(filterActivityForm: any) {\n\n\n if (Object.keys(filterActivityForm).length == 0 && (this.FromDateNgb == null && this.ToDateNgb == null)) {\n this.toastr.error(\"Please select filter!\");\n return\n }\n if (this.FromDateNgb == null || this.ToDateNgb == null) {\n this.toastr.error(\"Please select date range!\");\n return\n }\n\n this.showLoader = true;\n var frmdate: string;\n var ToDateNgb: string;\n if (this.FromDateNgb != null) {\n frmdate = this.convertDate(new NgbDate(this.FromDateNgb.year, this.FromDateNgb.month, this.FromDateNgb.day))\n }\n\n if (this.ToDateNgb != null) {\n ToDateNgb = this.convertDate(new NgbDate(this.ToDateNgb.year, this.ToDateNgb.month, this.ToDateNgb.day))\n }\n let filters = {\n reportTypeId: \"REP_BY_ACTUAL_VS_PLANNED\",\n StartDate: frmdate ?? null,\n EndDate: ToDateNgb ?? null,\n ActivityTypeId: filterActivityForm.ActivityTypeId ?? null,\n ActivityStatusId: filterActivityForm.ActivityStatusId ?? null,\n subject: filterActivityForm.subject ?? null,\n ParticipantId: filterActivityForm.ActivityOwnerId ?? null,\n EntityTypeId: filterActivityForm.EntityTypeId ?? null,\n EntityId: filterActivityForm.EntityId ?? null,\n IsOwner: this.filterActivityForm.IsOwner\n };\n this.reportService.getReportData(filters).subscribe((res: any) => {\n this.showData(res)\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to activity list!\");\n this.showLoader = false;\n });\n }\n\n showData(data: any) {\n this.activities = this.reportService.convertArrayToObject(data);\n }\n getDay(dateString) {\n const dateObject = new Date(dateString);\n const days = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];\n this.day = days[dateObject.getDay()];\n return this.day;\n }\n getDateDetails(dateString) {\n const dateObject = new Date(dateString);\n const days = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];\n const Months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];\n this.day = days[dateObject.getDay()];\n this.datetime = dateObject.getDate().toString() + '-' + Months[dateObject.getMonth().toString()] + '-' + dateObject.getFullYear().toString();\n return this.datetime;\n }\n onActivityTypeChange(ActivityTypeId: number,) {\n this.activityService.getActivityStatusMaster(ActivityTypeId).subscribe((data: ActivityStatusByType[]) => {\n this.activityStatusByTypeMaster = data;\n });\n }\n\n onEntityTypeChange(EntityTypeId: any) {\n\n this.activityService.getrelatedEntityRecords(EntityTypeId, '').subscribe((data: EntityRecord[]) => {\n this.entityTypeFilterArray = data;\n });\n }\n GetEntityTypesMaster() {\n this.activityService.getallEntityTypesMaster().subscribe((data: ActivityLinkageEntityType[]) => {\n this.allEntityTypesMaster = data;\n });\n }\n GetActivityStatusMaster() {\n this.activityService.getActivityStatusMaster(null).subscribe((data: ActivityStatusByType[]) => {\n this.activityStatusByTypeMaster = data;\n });\n }\n GetActivityTypeMaster() {\n this.activityService.getActivityTypeMaster().subscribe((data) => {\n this.activityTypeMaster = data;\n });\n }\n\n applyFilters() {\n this.activities = this.activities.filter(activity =>\n (this.activityStatusFilter ? activity.ActivityStatusId === this.activityStatusFilter : true) &&\n (this.activityTypeFilter ? activity.ActivityTypeId === this.activityTypeFilter : true)\n );\n }\n removeFilter() {\n const today = this.calendar.getToday();\n const currentYear = today.year;\n const currentMonth = today.month;\ndebugger;\n const lastDay = this.getLastDayOfMonth(currentYear, currentMonth);\n this.FromDateNgb = new NgbDate(currentYear, currentMonth, 1);\n this.ToDateNgb = new NgbDate(currentYear, currentMonth, lastDay);\n if (!this.canViewCustomerEngagementReportOfOthers) {\n this.partid = this.filterActivityForm.ActivityOwnerId;\n }\n let reqBody = {\n reportTypeId: \"REP_BY_ACTUAL_VS_PLANNED\", ActivityTypeId: null, ActivityStatusId: null, Subject: null, StartDate: this.convertDate(this.FromDateNgb),\n EndDate: this.convertDate(this.ToDateNgb), EntityTypeId: null, EntityId: null, ParticipantId: this.partid, IsOwner: false\n }\n this.reportService.getReportData(reqBody).subscribe((res: any) => {\n this.activities = res;\n this.showData(res);\n this.filterActivityForm = {}\n this.activityStatusByTypeMaster = [];\n this.entityTypeFilterArray = [];\n this.FromDateNgb = new NgbDate(currentYear, currentMonth, 1);\n this.ToDateNgb = new NgbDate(currentYear, currentMonth, lastDay);\n this.filterActivityForm.ActivityTypeId = null;\n this.filterActivityForm.ActivityStatusId = null;\n this.filterActivityForm.EntityTypeId = null;\n this.filterActivityForm.EntityId = null;\n this.filterActivityForm.ActivityOwnerId = this.partid;\n });\n }\n\n\n //Date picker\n onDateSelection(date: NgbDate) {\n if (!this.FromDateNgb && !this.ToDateNgb) {\n this.FromDateNgb = date;\n } else if (this.FromDateNgb && !this.ToDateNgb && date && date.after(this.FromDateNgb)) {\n this.ToDateNgb = date;\n } else {\n this.ToDateNgb = null;\n this.FromDateNgb = date;\n }\n }\n OnFromDateFilterChange() {\n let EnquiryDateFromFiter = this.ConvertNgbDateToDate(this.FromDateNgb)\n let EnquiryDateToFiter = this.ConvertNgbDateToDate(this.ToDateNgb)\n if (EnquiryDateToFiter < EnquiryDateFromFiter) {\n this.ToDateNgb = this.FromDateNgb;\n this.cd.detectChanges();\n\n }\n }\n ConvertNgbDateToDate(ngbdate: any) {\n\n if (ngbdate != null) {\n //return new Date(ngbdate.year, ngbdate.month - 1, ngbdate.day)\n }\n }\n\n validateInput(currentValue: NgbDate | null, input: string): NgbDate | null {\n const parsed = this.formatter.parse(input);\n return parsed && this.calendar.isValid(NgbDate.from(parsed)) ? NgbDate.from(parsed) : currentValue;\n }\n\n isHovered(date: NgbDate) {\n\n return this.FromDateNgb && !this.ToDateNgb && this.hoveredDate && date.after(this.FromDateNgb) && date.before(this.hoveredDate);\n }\n\n isInside(date: NgbDate) {\n\n return this.ToDateNgb && date.after(this.FromDateNgb) && date.before(this.ToDateNgb);\n }\n\n isRange(date: NgbDate) {\n\n return date.equals(this.FromDateNgb) || (this.ToDateNgb && date.equals(this.ToDateNgb)) || this.isInside(date) || this.isHovered(date);\n }\n\n getAccess(): Observable {\n let tracker = this.accessservice.GetAll();\n\n tracker.subscribe((data: any) => {\n this.accesspermissionobj = data;\n this.canViewCustomerEngagementReportOfOthers = this.accesspermissionobj.filter(x => x.Fk_RoleId == this.Role && x.ElementKey == 'canViewCustomerEngagementReportOfOthers')[0]?.IsVisible;\n if (!this.canViewCustomerEngagementReportOfOthers) {\n this.partid = this.filterActivityForm.ActivityOwnerId;\n }\n });\n\n return tracker;\n }\n\n openViewPopup(activityId) {\n const modalRef = this.modalService.open(ViewActivityComponent, {\n size: 'xl', backdrop: 'static', keyboard: false\n });\n\n var Activity = {\n activityId: activityId,\n inPopUpMode: true\n };\n\n modalRef.componentInstance.Activity = Activity;\n }\n\n}\n","\n\n\n
    \n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n

    \n Planned vs Actual\n

    \n
    \n
    \n
    \n
    \n \n \n \n \n \n expand_more\n \n \n \n \n
    \n\n
    \n
    \n \n \n
    \n\n\n
    \n \n \n\n
    \n\n\n
    \n \n \n
    \n\n
    \n\n
    \n
    \n \n \n \n {{ date.day }}\n \n \n
    \n
    \n
    \n \n
    \n
    \n \n \n
    \n \n \n \n\n
    \n
    \n \n \n \n
    \n
    \n
    \n
    \n\n \n
    \n\n \n
    \n\n
    \n \n\n
    \n \n \n
    \n\n
    \n \n
    \n\n\n
    \n
    \n
    \n \n
    \n \n\n
    \n
    \n\n
    \n
    \n \n \n \n
    \n\n
    \n Filter\n \n \n
    \n
    \n
    \n
    \n
    \n\n\n\n
    \n
    \n\n
    \n
    \n
    \n
    \n

    Day

    \n
    \n
    \n

    Planned

    \n
    \n
    \n

    Actual

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

    {{ getDay(activityObj.key) }}

    \n
    \n
    \n

    {{ getDateDetails(activityObj.key) }}

    \n
    \n\n
    \n\n
    \n
    \n \n \n Customers\n Type\n Activity\n Leads\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {{activity.Subject}}\n \n \n \n \n\n \n \n
    \n
    \n\n
    \n
    \n \n \n Customers\n Type\n Activity\n Leads\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {{activity.Subject}}\n \n \n \n\n \n \n
    \n
    No Records found
    \n
    \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n\n","import { Component, OnInit, Input } from '@angular/core';\nimport * as am4core from \"@amcharts/amcharts4/core\";\nimport * as am4charts from \"@amcharts/amcharts4/charts\";\nimport { CommonService } from 'src/app/Service/common.service';\nimport { ToastrService } from 'ngx-toastr';\n\n@Component({\n selector: 'app-avg-discount-month',\n templateUrl: './avg-discount-month.component.html',\n styleUrls: ['./avg-discount-month.component.scss']\n})\nexport class AvgDiscountMonthComponent implements OnInit {\n\n @Input()\n showLoader: boolean = false;\n @Input() Year: number;\n drpdnOption: string = \"Amount\";\n constructor(private toastr: ToastrService, private commonService: CommonService) { }\n\n ngOnInit() {\n // am4core.options.onlyShowOnViewport = true;\n this.avgDiscountMonth();\n\n }\n\n ngOnChanges(): void {\n this.avgDiscountMonth();\n }\n\n OnSelectChange() {\n this.avgDiscountMonth();\n }\n\n avgDiscountMonth() {\n this.showLoader = true;\n let queryString = \"\";\n queryString += \"drpdnOption=\" + this.drpdnOption;\n queryString += \"&Year=\" + this.Year;\n\n this.commonService.GetData(\"Dashboard\", \"AvgDiscountMonthChart\", queryString).subscribe((data: any) => {\n let result = data;\n\n let chart = am4core.create(\"avgDiscountMonth\", am4charts.XYChart);\n chart.scrollbarX = new am4core.Scrollbar();\n chart.scrollbarY = new am4core.Scrollbar();\n // chart.cursor = new am4charts.XYCursor();\n chart.scrollbarX.exportable = false;\n chart.scrollbarY.exportable = false;\n // Export\n chart.exporting.menu = new am4core.ExportMenu();\n\n let title = chart.titles.create();\n title.text = \"Avg Discount/Month\";\n title.fontSize = 15;\n title.fontWeight = \"bold\";\n title.marginBottom = 30;\n\n chart.data = result;\n\n /* Create axes */\n let categoryAxis = chart.xAxes.push(new am4charts.CategoryAxis());\n categoryAxis.dataFields.category = \"category\";\n categoryAxis.renderer.minGridDistance = 30;\n\n /* Create value axis */\n let valueAxis = chart.yAxes.push(new am4charts.ValueAxis());\n\n valueAxis.min = 0;\n valueAxis.extraMax = 0.5;\n\n valueAxis.title.fontWeight = \"bold\";\n valueAxis.title.fontSize = \"16px\";\n\n let lineSeries = chart.series.push(new am4charts.LineSeries());\n lineSeries.name = \"Sales Engineer/Agent Sales\";\n lineSeries.dataFields.valueY = \"value\";\n lineSeries.dataFields.categoryX = \"category\";\n lineSeries.tooltip.getFillFromObject = false;\n lineSeries.tooltip.background.fill = am4core.color(\"#4a463c\");\n //lineSeries.stroke = am4core.color(\"#FCD202\");\n\n let bullet = lineSeries.bullets.push(new am4charts.Bullet());\n bullet.fill = am4core.color(\"#4a463c\"); // tooltips grab fill from parent by default\n bullet.tooltipText = \"[#fff font-size: 13px]{name} in {categoryX}: [/][#fff font-size: 13px]{valueY}[/] [#fff]{additional}[/]\";\n\n let circle = bullet.createChild(am4core.Circle);\n circle.radius = 4;\n circle.fill = am4core.color(\"#fff\");\n circle.strokeWidth = 3;\n\n let labelBullet = lineSeries.bullets.push(new am4charts.LabelBullet());\n labelBullet.label.text = \"{valueY}\";\n labelBullet.label.verticalCenter = \"bottom\";\n\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to add enquiry details!\");\n this.showLoader = false;\n\n });\n }\n\n avgDiscountMonth_old() {\n this.showLoader = true;\n // Create chart instance\n let chart = am4core.create(\"avgDiscountMonth\", am4charts.XYChart);\n\n // Export\n chart.exporting.menu = new am4core.ExportMenu();\n\n let title = chart.titles.create();\n title.text = \"Avg Discount/Month\";\n title.fontSize = 15;\n title.fontWeight = \"bold\";\n title.marginBottom = 30;\n\n chart.data = [{\n \"category\": \"Jan\",\n \"value\": 4\n },\n {\n \"category\": \"Feb\",\n \"value\": 5\n },\n {\n \"category\": \"Mar\",\n \"value\": 6\n },\n {\n \"category\": \"Apr\",\n \"value\": 7\n },\n {\n \"category\": \"May\",\n \"value\": 8\n },\n {\n \"category\": \"Jun\",\n \"value\": 9\n },\n {\n \"category\": \"Jul\",\n \"value\": 10\n },\n {\n \"category\": \"Aug\",\n \"value\": 11\n },\n {\n \"category\": \"Sep\",\n \"value\": 6\n },\n {\n \"category\": \"Oct\",\n \"value\": 5\n },\n {\n \"category\": \"Nov\",\n \"value\": 7\n },\n {\n \"category\": \"Dec\",\n \"value\": 8\n }];\n\n /* Create axes */\n let categoryAxis = chart.xAxes.push(new am4charts.CategoryAxis());\n categoryAxis.dataFields.category = \"category\";\n categoryAxis.renderer.minGridDistance = 30;\n\n /* Create value axis */\n let valueAxis = chart.yAxes.push(new am4charts.ValueAxis());\n\n valueAxis.title.fontWeight = \"bold\";\n valueAxis.title.fontSize = \"16px\";\n\n let lineSeries = chart.series.push(new am4charts.LineSeries());\n lineSeries.name = \"Sales Engineer/Agent Sales\";\n lineSeries.dataFields.valueY = \"value\";\n lineSeries.dataFields.categoryX = \"category\";\n lineSeries.tooltip.getFillFromObject = false;\n lineSeries.tooltip.background.fill = am4core.color(\"#4a463c\");\n //lineSeries.stroke = am4core.color(\"#FCD202\");\n\n let bullet = lineSeries.bullets.push(new am4charts.Bullet());\n bullet.fill = am4core.color(\"#4a463c\"); // tooltips grab fill from parent by default\n bullet.tooltipText = \"[#fff font-size: 13px]{name} in {categoryX}: [/][#fff font-size: 13px]{valueY}[/] [#fff]{additional}[/]\";\n\n let circle = bullet.createChild(am4core.Circle);\n circle.radius = 4;\n circle.fill = am4core.color(\"#fff\");\n circle.strokeWidth = 3;\n\n let labelBullet = lineSeries.bullets.push(new am4charts.LabelBullet());\n labelBullet.label.text = \"{valueY}\";\n labelBullet.label.verticalCenter = \"bottom\";\n\n this.showLoader = false;\n\n }\n}\n","\n
    \n
    \n
    \n
    \n

    \n Avg Discount/Month\n

    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    ","import { Component, OnInit, Input } from '@angular/core';\nimport * as am4core from \"@amcharts/amcharts4/core\";\nimport * as am4charts from \"@amcharts/amcharts4/charts\";\nimport { ToastrService } from 'ngx-toastr';\nimport { CommonService } from 'src/app/Service/common.service';\n\n@Component({\n selector: 'app-bporder-intake',\n templateUrl: './bporder-intake.component.html',\n styleUrls: ['./bporder-intake.component.scss']\n})\nexport class BPOrderIntakeComponent implements OnInit {\n\n @Input()\n showLoader: boolean = false;\n drpdnOption: string = \"Amount\";\n grapthOption: string = \"BP\";\n\n @Input() Year: number;\n @Input() region: number;\n @Input() currency: number;\n @Input() filterChanged: boolean;\n @Input() currencyCode: string;\n constructor(private toastr: ToastrService, private commonService: CommonService) { }\n\n ngOnInit() {\n \n this.BPOrderIntake();\n\n }\n\n ngOnChanges(): void {\n if (this.filterChanged) this.BPOrderIntake();\n }\n\n OnSelectChange() {\n this.BPOrderIntake();\n }\n\n BPOrderIntake() {\n this.showLoader = true;\n let queryString = \"\";\n queryString += \"drpdnOption=\" + this.drpdnOption;\n queryString += \"&Year=\" + this.Year;\n queryString += \"®ionid=\" + this.region;\n queryString += \"¤cy=\" + this.currency;\n\n this.commonService.GetData(\"Dashboard\", \"BPOrderIntakeYTDChart\", queryString).subscribe((data: any) => {\n // Create chart instance\n // am4core.options.onlyShowOnViewport = true;\n let chart = am4core.create(\"BPOrderIntake\", am4charts.XYChart);\n chart.scrollbarX = new am4core.Scrollbar();\n chart.scrollbarY = new am4core.Scrollbar();\n // chart.scrollbarY.parent = chart.rightAxesContainer;\n // chart.cursor = new am4charts.XYCursor();\n chart.scrollbarX.exportable = false;\n chart.scrollbarY.exportable = false;\n // Export\n chart.exporting.menu = new am4core.ExportMenu();\n let options = chart.exporting.getFormatOptions(\"pdf\");\n options.addURL = false;\n chart.exporting.setFormatOptions(\"pdf\", options);\n chart.exporting.filePrefix = \"BPOrderIntake_YTD\";\n /**************Custom Export**************** */\n chart.exporting.menu.items = [\n {\n \"label\": \"...\",\n \"menu\": [\n {\n \"label\": \"Image\",\n \"menu\": [\n { \"type\": \"png\", \"label\": \"PNG\" },\n { \"type\": \"jpg\", \"label\": \"JPG\" },\n // { \"type\": \"svg\", \"label\": \"SVG\" },\n { \"type\": \"pdf\", \"label\": \"PDF\" }\n ]\n }, {\n \"label\": \"Data\",\n \"menu\": [\n { \"type\": \"xlsx\", \"label\": \"XLSX\" },\n ]\n }, {\n \"label\": \"Print\", \"type\": \"print\"\n }\n ]\n }\n ];\n \n let CurrencyLabel = \"\";\n if (this.drpdnOption == \"Amount\") {\n // if (this.currency == 1) CurrencyLabel = \"(USD)\";\n // if (this.currency == 2) CurrencyLabel = \"(EURO)\";\n // if (this.currency == 3) CurrencyLabel = \"(INR)\";\n if (this.currencyCode == \"USD\") CurrencyLabel = \"(USD)\";\n if (this.currencyCode == \"Euro\") CurrencyLabel = \"(EURO)\";\n //if (this.currencyCode == \"INR\") CurrencyLabel = \"(INR)\";\n if (this.currencyCode == \"VND\") CurrencyLabel = \"(VND)\";\n if (this.currencyCode == \"IDR\") CurrencyLabel = \"(IDR)\";\n if (this.currencyCode == \"PHP\") CurrencyLabel = \"(PHP)\";\n if (this.currencyCode == \"THB\") CurrencyLabel = \"(THB)\";\n if (this.currencyCode == \"MYR\") CurrencyLabel = \"(MYR)\";\n if (this.currencyCode == \"SGD\") CurrencyLabel = \"(SGD)\";\n }\n else {\n CurrencyLabel = \"(No's)\";\n }\n\n chart.exporting.dataFields = {\n \"category\": \"Month\",\n \"valueL1\": \"BP Order Booked\" + CurrencyLabel,\n \"valueL2\": \"YTD\" + CurrencyLabel,\n \"value3\": \"FC1\" + CurrencyLabel,\n \"value4\": \"FC2\" + CurrencyLabel,\n \"value5\": \"FC3\" + CurrencyLabel,\n\n }\n /**************End Custom Export**************** */\n\n let title = chart.titles.create();\n title.text = \"BP Order Booked vs YTD\";\n title.fontSize = 15;\n title.fontWeight = \"bold\";\n title.marginBottom = 30;\n\n chart.data = data;\n\n /* Create axes */\n let categoryAxis = chart.xAxes.push(new am4charts.CategoryAxis());\n categoryAxis.dataFields.category = \"category\";\n categoryAxis.renderer.minGridDistance = 30;\n\n\n /* Create value axis */\n let valueAxis = chart.yAxes.push(new am4charts.ValueAxis());\n valueAxis.renderer.labels.template.adapter.add(\"text\", function (text, target) {\n var val = text == \"0.00\" ? \"0\" : text;\n return val;\n });\n /**************Scrolling Start End Point**************** */\n chart.events.on(\"beforedatavalidated\", function(ev) {\n categoryAxis.start = 0;\n categoryAxis.end = 0.5;\n valueAxis.start = 0;\n valueAxis.end = 1;\n });\n /**************End Scrolling Start End Point**************** */\n if (this.drpdnOption == 'Units') {\n valueAxis.title.text = \"No.\";\n chart.numberFormatter.numberFormat = \"0\";\n valueAxis.renderer.labels.template.adapter.add(\"text\", function (text, target) {\n var val = parseFloat(text) % 1 != 0 ? \"\" : parseInt(text).toString();\n return val;\n });\n }\n else {\n // if (this.currency == 1) valueAxis.title.text = \"USD\";\n // if (this.currency == 2) valueAxis.title.text = \"EURO\";\n // if (this.currency == 3) valueAxis.title.text = \"INR\";\n if (this.currencyCode == \"USD\") valueAxis.title.text = \"USD\";\n if (this.currencyCode == \"Euro\") valueAxis.title.text = \"EURO\";\n //if (this.currencyCode == \"INR\") valueAxis.title.text = \"INR\";\n if (this.currencyCode == \"VND\") valueAxis.title.text = \"VND\";\n if (this.currencyCode == \"IDR\") valueAxis.title.text = \"IDR\";\n if (this.currencyCode == \"PHP\") valueAxis.title.text = \"PHP\";\n if (this.currencyCode == \"THB\") valueAxis.title.text = \"THB\";\n if (this.currencyCode == \"MYR\") valueAxis.title.text = \"MYR\";\n if (this.currencyCode == \"SGD\") valueAxis.title.text = \"SGD\";\n // chart.numberFormatter.numberFormat = \"0.00\";\n }\n valueAxis.title.fontWeight = \"bold\";\n valueAxis.title.fontSize = \"16px\";\n valueAxis.min = 0;\n valueAxis.events.on(\"ready\", function (ev) {\n ev.target.min = ev.target.min;\n ev.target.max = ev.target.max;\n if (ev.target.max < 0.1) valueAxis.extraMax = 10;\n if (ev.target.max > 0.1 && ev.target.max < 1) valueAxis.extraMax = 5;\n if (ev.target.max > 1) valueAxis.extraMax = 0.2;\n if(ev.target.max == undefined) valueAxis.extraMax = 0.2;\n\n })\n\n if (this.grapthOption == 'BP') {\n title.text = \"BP Order Booked vs YTD\";\n let lineSeries = chart.series.push(new am4charts.LineSeries());\n lineSeries.name = \"BP Order Booked\";\n lineSeries.dataFields.valueY = \"valueL1\";\n lineSeries.dataFields.categoryX = \"category\";\n lineSeries.tooltip.getFillFromObject = false;\n lineSeries.tooltip.background.fill = am4core.color(\"#4a463c\");\n //lineSeries.stroke = am4core.color(\"#4a463c\"); //For line or column color\n\n let bullet = lineSeries.bullets.push(new am4charts.Bullet());\n bullet.fill = am4core.color(\"#4a463c\"); // tooltips grab fill from parent by default\n bullet.tooltipText = \"[#fff font-size: 13px]{name} in {categoryX}: [/][#fff font-size: 13px]{valueY}[/] [#fff]{additional}[/]\"\n let circle = bullet.createChild(am4core.Circle);\n circle.radius = 4;\n circle.fill = am4core.color(\"#fff\");\n circle.strokeWidth = 3;\n\n let labelBullet = lineSeries.bullets.push(new am4charts.LabelBullet());\n labelBullet.label.text = \"{valueL1}\";\n labelBullet.label.verticalCenter = \"bottom\";\n }\n\n \n\n\n\n\n /******************************************************************************************************* */\n /******************************************************************************************************* */\n if (this.grapthOption == 'FC1') {\n title.text = \"FC1 vs YTD\";\n let lineSeries3 = chart.series.push(new am4charts.LineSeries());\n lineSeries3.name = \"FC1\";\n lineSeries3.dataFields.valueY = \"valueL3\";\n lineSeries3.dataFields.categoryX = \"category\";\n lineSeries3.tooltip.getFillFromObject = false;\n lineSeries3.tooltip.background.fill = am4core.color(\"#4a463c\");\n //lineSeries3.stroke = am4core.color(\"#80ff80\"); //For line or column color\n\n let bullet3 = lineSeries3.bullets.push(new am4charts.Bullet());\n bullet3.fill = am4core.color(\"#4a463c\"); // tooltips grab fill from parent by default\n bullet3.tooltipText = \"[#fff font-size: 13px]{name} in {categoryX}: [/][#fff font-size: 13px]{valueY}[/] [#fff]{additional}[/]\"\n let circle3 = bullet3.createChild(am4core.Circle);\n circle3.radius = 4;\n circle3.fill = am4core.color(\"#fff\");\n circle3.strokeWidth = 3;\n\n let labelBullet3 = lineSeries3.bullets.push(new am4charts.LabelBullet());\n labelBullet3.label.text = \"{valueL3}\";\n labelBullet3.label.verticalCenter = \"bottom\";\n }\n if (this.grapthOption == 'FC2') {\n title.text = \"FC2 vs YTD\";\n let lineSeries4 = chart.series.push(new am4charts.LineSeries());\n lineSeries4.name = \"FC2\";\n lineSeries4.dataFields.valueY = \"valueL4\";\n lineSeries4.dataFields.categoryX = \"category\";\n lineSeries4.tooltip.getFillFromObject = false;\n lineSeries4.tooltip.background.fill = am4core.color(\"#4a463c\");\n // lineSeries4.stroke = am4core.color(\"#4933FF\"); //For line or column color\n\n let bullet4 = lineSeries4.bullets.push(new am4charts.Bullet());\n bullet4.fill = am4core.color(\"#4a463c\"); // tooltips grab fill from parent by default\n bullet4.tooltipText = \"[#fff font-size: 13px]{name} in {categoryX}: [/][#fff font-size: 13px]{valueY}[/] [#fff]{additional}[/]\"\n let circle4 = bullet4.createChild(am4core.Circle);\n circle4.radius = 4;\n circle4.fill = am4core.color(\"#fff\");\n circle4.strokeWidth = 3;\n\n let labelBullet4 = lineSeries4.bullets.push(new am4charts.LabelBullet());\n labelBullet4.label.text = \"{valueL4}\";\n labelBullet4.label.verticalCenter = \"bottom\";\n }\n if (this.grapthOption == 'FC3') {\n title.text = \"FC3 vs YTD\";\n let lineSeries5 = chart.series.push(new am4charts.LineSeries());\n lineSeries5.name = \"FC3\";\n lineSeries5.dataFields.valueY = \"valueL5\";\n lineSeries5.dataFields.categoryX = \"category\";\n lineSeries5.tooltip.getFillFromObject = false;\n lineSeries5.tooltip.background.fill = am4core.color(\"#4a463c\");\n // lineSeries5.stroke = am4core.color(\"#D914B8\"); //For line or column color\n\n let bullet5 = lineSeries5.bullets.push(new am4charts.Bullet());\n bullet5.fill = am4core.color(\"#4a463c\"); // tooltips grab fill from parent by default\n bullet5.tooltipText = \"[#fff font-size: 13px]{name} in {categoryX}: [/][#fff font-size: 13px]{valueY}[/] [#fff]{additional}[/]\"\n let circle5 = bullet5.createChild(am4core.Circle);\n circle5.radius = 4;\n circle5.fill = am4core.color(\"#fff\");\n circle5.strokeWidth = 3;\n\n let labelBullet5 = lineSeries5.bullets.push(new am4charts.LabelBullet());\n labelBullet5.label.text = \"{valueL5}\";\n labelBullet5.label.verticalCenter = \"bottom\";\n }\n\n\n\n\n /******************************************************************************************************* */\n /******************************************************************************************************* */\n\n let lineSeries2 = chart.series.push(new am4charts.LineSeries());\n lineSeries2.name = \"YTD\";\n lineSeries2.dataFields.valueY = \"valueL2\";\n lineSeries2.dataFields.categoryX = \"category\";\n lineSeries2.tooltip.getFillFromObject = false;\n lineSeries2.tooltip.background.fill = am4core.color(\"#4a463c\");\n lineSeries2.stroke = am4core.color(\"#ff4d4d\"); //For line or column color\n\n let bullet2 = lineSeries2.bullets.push(new am4charts.Bullet());\n bullet2.fill = am4core.color(\"#ff4d4d\"); // tooltips grab fill from parent by default\n bullet2.tooltipText = \"[#fff font-size: 13px]{name} in {categoryX}: [/][#fff font-size: 13px]{valueY}[/] [#fff]{additional}[/]\"\n let circle2 = bullet2.createChild(am4core.Circle);\n circle2.radius = 4;\n circle2.fill = am4core.color(\"#fff\");\n circle2.strokeWidth = 3;\n\n let labelBullet2 = lineSeries2.bullets.push(new am4charts.LabelBullet());\n labelBullet2.label.text = \"{valueL2}\";\n labelBullet2.label.verticalCenter = \"bottom\";\n\n chart.legend = new am4charts.Legend();\n\n this.showLoader = false;\n\n }, error => {\n this.showLoader = false;\n\n }\n )\n };\n\n}\n\n","\n
    \n
    \n
    \n
    \n

    \n Order Booked vs YTD\n

    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    ","import { Component, OnInit, Input } from '@angular/core';\nimport * as am4core from \"@amcharts/amcharts4/core\";\nimport * as am4charts from \"@amcharts/amcharts4/charts\";\nimport am4themes_animated from \"@amcharts/amcharts4/themes/animated\";\nimport { ToastrService } from 'ngx-toastr';\nimport { CommonService } from 'src/app/Service/common.service';\n\n@Component({\n selector: 'app-business-plan-chart',\n templateUrl: './business-plan-chart.component.html',\n styleUrls: ['./business-plan-chart.component.scss']\n})\nexport class BusinessPlanChartComponent implements OnInit {\n\n @Input()\n showLoader: boolean = false;\n @Input()\n Year: number;\n @Input() region: number;\n @Input() currency: number;\n @Input() filterChanged: boolean;\n @Input() currencyCode: string;\n drpdnOption: string = \"Amount\";\n grapthOption: string = \"BP\";\n constructor(private toastr: ToastrService, private commonService: CommonService) { }\n\n ngOnInit() {\n \n this.businessPlanChart();\n\n }\n\n ngOnChanges(): void {\n if (this.filterChanged) this.businessPlanChart();\n }\n\n OnSelectChange() {\n this.businessPlanChart();\n }\n\n businessPlanChart() {\n\n this.showLoader = true;\n let queryString = \"\";\n queryString += \"drpdnOption=\" + this.drpdnOption;\n queryString += \"&Year=\" + this.Year;\n queryString += \"®ionid=\" + this.region;\n queryString += \"¤cy=\" + this.currency;\n\n this.commonService.GetData(\"Dashboard\", \"BPSalesvsYTDChart\", queryString).subscribe((data: any) => {\n // am4core.options.onlyShowOnViewport = true;\n let chart = am4core.create(\"BusinessPlanChart\", am4charts.XYChart);\n // Export\n chart.scrollbarX = new am4core.Scrollbar();\n chart.scrollbarY = new am4core.Scrollbar();\n // chart.scrollbarY.parent = chart.rightAxesContainer;\n // chart.cursor = new am4charts.XYCursor();\n chart.scrollbarX.exportable = false;\n chart.scrollbarY.exportable = false;\n chart.exporting.menu = new am4core.ExportMenu();\n let options = chart.exporting.getFormatOptions(\"pdf\");\n options.addURL = false;\n chart.exporting.setFormatOptions(\"pdf\", options);\n chart.exporting.filePrefix = \"BPSales_YTD\";\n /**************Custom Export**************** */\n chart.exporting.menu.items = [\n {\n \"label\": \"...\",\n \"menu\": [\n {\n \"label\": \"Image\",\n \"menu\": [\n { \"type\": \"png\", \"label\": \"PNG\" },\n { \"type\": \"jpg\", \"label\": \"JPG\" },\n // { \"type\": \"svg\", \"label\": \"SVG\" },\n { \"type\": \"pdf\", \"label\": \"PDF\" }\n ]\n }, {\n \"label\": \"Data\",\n \"menu\": [\n { \"type\": \"xlsx\", \"label\": \"XLSX\" },\n ]\n }, {\n \"label\": \"Print\", \"type\": \"print\"\n }\n ]\n }\n ];\n let CurrencyLabel = \"\";\n if (this.drpdnOption == \"Amount\") {\n // if (this.currency == 1) CurrencyLabel = \"(USD)\";\n // if (this.currency == 2) CurrencyLabel = \"(EURO)\";\n // if (this.currency == 3) CurrencyLabel = \"(INR)\";\n if (this.currencyCode == \"USD\") CurrencyLabel = \"(USD)\";\n if (this.currencyCode == \"Euro\") CurrencyLabel = \"(EURO)\";\n //if (this.currencyCode == \"INR\") CurrencyLabel = \"(INR)\";\n if (this.currencyCode == \"VND\") CurrencyLabel = \"(VND)\";\n if (this.currencyCode == \"IDR\") CurrencyLabel = \"(IDR)\";\n if (this.currencyCode == \"PHP\") CurrencyLabel = \"(PHP)\";\n if (this.currencyCode == \"THB\") CurrencyLabel = \"(THB)\";\n if (this.currencyCode == \"MYR\") CurrencyLabel = \"(MYR)\";\n if (this.currencyCode == \"SGD\") CurrencyLabel = \"(SGD)\";\n }\n else {\n CurrencyLabel = \"(No's)\";\n }\n chart.exporting.dataFields = {\n \"category\": \"Month\",\n \"valueL1\": \"BusinessPlan\" + CurrencyLabel,\n \"valueL2\": \"YTD\" + CurrencyLabel,\n \"valueL3\": \"FC1\" + CurrencyLabel,\n \"valueL4\": \"FC2\" + CurrencyLabel,\n \"valueL5\": \"FC3\" + CurrencyLabel,\n }\n /**************End Custom Export**************** */\n\n let title = chart.titles.create();\n title.text = \"BP Sales vs YTD\";\n title.fontSize = 15;\n title.fontWeight = \"bold\";\n title.marginBottom = 30;\n\n chart.data = data;\n\n /* Create axes */\n let categoryAxis = chart.xAxes.push(new am4charts.CategoryAxis());\n categoryAxis.dataFields.category = \"category\";\n categoryAxis.renderer.minGridDistance = 30;\n\n \n\n /* Create value axis */\n let valueAxis = chart.yAxes.push(new am4charts.ValueAxis()); valueAxis.renderer.labels.template.adapter.add(\"text\", function (text, target) {\n var val = text == \"0.00\" ? \"0\" : text;\n return val;\n });\n /**************Scrolling Start End Point**************** */\n chart.events.on(\"beforedatavalidated\", function(ev) {\n categoryAxis.start = 0;\n categoryAxis.end = 0.5;\n valueAxis.start = 0;\n valueAxis.end = 1;\n });\n /**************End Scrolling Start End Point**************** */\n if (this.drpdnOption == 'Units') {\n valueAxis.title.text = \"No.\";\n chart.numberFormatter.numberFormat = \"0\";\n valueAxis.renderer.labels.template.adapter.add(\"text\", function (text, target) {\n var val = parseFloat(text) % 1 != 0 ? \"\" : parseInt(text).toString();\n return val;\n });\n }\n else {\n // if (this.currency == 1) valueAxis.title.text = \"USD\";\n // if (this.currency == 2) valueAxis.title.text = \"EURO\";\n // if (this.currency == 3) valueAxis.title.text = \"INR\";\n if (this.currencyCode == \"USD\") valueAxis.title.text = \"USD\";\n if (this.currencyCode == \"Euro\") valueAxis.title.text = \"EURO\";\n //if (this.currencyCode == \"INR\") valueAxis.title.text = \"INR\";\n if (this.currencyCode == \"VND\") valueAxis.title.text = \"VND\";\n if (this.currencyCode == \"IDR\") valueAxis.title.text = \"IDR\";\n if (this.currencyCode == \"PHP\") valueAxis.title.text = \"PHP\";\n if (this.currencyCode == \"THB\") valueAxis.title.text = \"THB\";\n if (this.currencyCode == \"MYR\") valueAxis.title.text = \"MYR\";\n if (this.currencyCode == \"SGD\") valueAxis.title.text = \"SGD\";\n // chart.numberFormatter.numberFormat = \"0.00\";\n }\n valueAxis.title.fontWeight = \"bold\";\n valueAxis.title.fontSize = \"16px\";\n valueAxis.min = 0;\n valueAxis.extraMax = 0.5;\n valueAxis.events.on(\"ready\", function (ev) {\n ev.target.min = ev.target.min;\n ev.target.max = ev.target.max;\n if (ev.target.max < 0.1) valueAxis.extraMax = 10;\n if (ev.target.max > 0.1 && ev.target.max < 1) valueAxis.extraMax = 5;\n if (ev.target.max > 1) valueAxis.extraMax = 0.2;\n if (ev.target.max == undefined) valueAxis.extraMax = 0.2;\n })\n\n\n if (this.grapthOption == 'BP') {\n title.text = \"Business Plan vs YTD\";\n let lineSeries = chart.series.push(new am4charts.LineSeries());\n lineSeries.name = \"Business Plan\";\n lineSeries.dataFields.valueY = \"valueL1\";\n lineSeries.dataFields.categoryX = \"category\";\n lineSeries.tooltip.getFillFromObject = false;\n lineSeries.tooltip.background.fill = am4core.color(\"#4a463c\");\n //lineSeries.stroke = am4core.color(\"#4a463c\"); //For line or column color\n\n let bullet = lineSeries.bullets.push(new am4charts.Bullet());\n bullet.fill = am4core.color(\"#4a463c\"); // tooltips grab fill from parent by default\n bullet.tooltipText = \"[#fff font-size: 13px]{name} in {categoryX}: [/][#fff font-size: 13px]{valueY}[/] [#fff]{additional}[/]\"\n let circle = bullet.createChild(am4core.Circle);\n circle.radius = 4;\n circle.fill = am4core.color(\"#fff\");\n circle.strokeWidth = 3;\n\n let labelBullet = lineSeries.bullets.push(new am4charts.LabelBullet());\n labelBullet.label.text = \"{valueL1}\";\n labelBullet.label.verticalCenter = \"bottom\";\n }\n\n\n \n\n\n\n\n /********************************************************************************************************** */\n /********************************************************************************************************** */\n\n if (this.grapthOption == 'FC1') {\n title.text = \"FC1 vs YTD\";\n let lineSeries3 = chart.series.push(new am4charts.LineSeries());\n lineSeries3.name = \"FC1\";\n lineSeries3.dataFields.valueY = \"valueL3\";\n lineSeries3.dataFields.categoryX = \"category\";\n lineSeries3.tooltip.getFillFromObject = false;\n lineSeries3.tooltip.background.fill = am4core.color(\"#4a463c\");\n // lineSeries3.stroke = am4core.color(\"#80ff80\"); //For line or column color\n\n let bullet3 = lineSeries3.bullets.push(new am4charts.Bullet());\n bullet3.fill = am4core.color(\"#4a463c\"); // tooltips grab fill from parent by default\n bullet3.tooltipText = \"[#fff font-size: 13px]{name} in {categoryX}: [/][#fff font-size: 13px]{valueY}[/] [#fff]{additional}[/]\"\n let circle3 = bullet3.createChild(am4core.Circle);\n circle3.radius = 4;\n circle3.fill = am4core.color(\"#fff\");\n circle3.strokeWidth = 3;\n\n let labelBullet3 = lineSeries3.bullets.push(new am4charts.LabelBullet());\n labelBullet3.label.text = \"{valueL3}\";\n labelBullet3.label.verticalCenter = \"bottom\";\n }\n if (this.grapthOption == 'FC2') {\n title.text = \"FC2 vs YTD\";\n let lineSeries4 = chart.series.push(new am4charts.LineSeries());\n lineSeries4.name = \"FC2\";\n lineSeries4.dataFields.valueY = \"valueL4\";\n lineSeries4.dataFields.categoryX = \"category\";\n lineSeries4.tooltip.getFillFromObject = false;\n lineSeries4.tooltip.background.fill = am4core.color(\"#4a463c\");\n // lineSeries4.stroke = am4core.color(\"#4933FF\"); //For line or column color\n\n let bullet4 = lineSeries4.bullets.push(new am4charts.Bullet());\n bullet4.fill = am4core.color(\"#4a463c\"); // tooltips grab fill from parent by default\n bullet4.tooltipText = \"[#fff font-size: 13px]{name} in {categoryX}: [/][#fff font-size: 13px]{valueY}[/] [#fff]{additional}[/]\"\n let circle4 = bullet4.createChild(am4core.Circle);\n circle4.radius = 4;\n circle4.fill = am4core.color(\"#fff\");\n circle4.strokeWidth = 3;\n\n let labelBullet4 = lineSeries4.bullets.push(new am4charts.LabelBullet());\n labelBullet4.label.text = \"{valueL4}\";\n labelBullet4.label.verticalCenter = \"bottom\";\n }\n if (this.grapthOption == 'FC3') {\n title.text = \"FC3 vs YTD\";\n let lineSeries5 = chart.series.push(new am4charts.LineSeries());\n lineSeries5.name = \"FC3\";\n lineSeries5.dataFields.valueY = \"valueL5\";\n lineSeries5.dataFields.categoryX = \"category\";\n lineSeries5.tooltip.getFillFromObject = false;\n lineSeries5.tooltip.background.fill = am4core.color(\"#4a463c\");\n //lineSeries5.stroke = am4core.color(\"#D914B8\"); //For line or column color\n\n let bullet5 = lineSeries5.bullets.push(new am4charts.Bullet());\n bullet5.fill = am4core.color(\"#4a463c\"); // tooltips grab fill from parent by default\n bullet5.tooltipText = \"[#fff font-size: 13px]{name} in {categoryX}: [/][#fff font-size: 13px]{valueY}[/] [#fff]{additional}[/]\"\n let circle5 = bullet5.createChild(am4core.Circle);\n circle5.radius = 4;\n circle5.fill = am4core.color(\"#fff\");\n circle5.strokeWidth = 3;\n\n let labelBullet5 = lineSeries5.bullets.push(new am4charts.LabelBullet());\n labelBullet5.label.text = \"{valueL5}\";\n labelBullet5.label.verticalCenter = \"bottom\";\n }\n\n\n\n\n /********************************************************************************************************** */\n /********************************************************************************************************** */\n let lineSeries2 = chart.series.push(new am4charts.LineSeries());\n lineSeries2.name = \"YTD\";\n lineSeries2.dataFields.valueY = \"valueL2\";\n lineSeries2.dataFields.categoryX = \"category\";\n lineSeries2.tooltip.getFillFromObject = false;\n lineSeries2.tooltip.background.fill = am4core.color(\"#4a463c\");\n lineSeries2.stroke = am4core.color(\"#ff4d4d\"); //For line or column color\n\n let bullet2 = lineSeries2.bullets.push(new am4charts.Bullet());\n bullet2.fill = am4core.color(\"#ff4d4d\"); // tooltips grab fill from parent by default\n bullet2.tooltipText = \"[#fff font-size: 13px]{name} in {categoryX}: [/][#fff font-size: 13px]{valueY}[/] [#fff]{additional}[/]\"\n let circle2 = bullet2.createChild(am4core.Circle);\n circle2.radius = 4;\n circle2.fill = am4core.color(\"#fff\");\n circle2.strokeWidth = 3;\n\n let labelBullet2 = lineSeries2.bullets.push(new am4charts.LabelBullet());\n labelBullet2.label.text = \"{valueL2}\";\n labelBullet2.label.verticalCenter = \"bottom\";\n\n\n chart.legend = new am4charts.Legend();\n\n this.showLoader = false;\n }, error => {\n this.showLoader = false;\n\n });\n }\n}\n","\n
    \n
    \n
    \n
    \n

    \n Sales vs YTD\n

    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    ","import { Component, ElementRef, Input, OnInit, ViewChild } from '@angular/core';\nimport { ToastrService } from 'ngx-toastr';\nimport { CommonService } from 'src/app/Service/common.service';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { ChartsModalComponent } from '../charts-modal/charts-modal.component';\nimport { UserRoles } from 'src/app/UserRoles';\nimport { AppGlobals } from 'src/app/app.global';\nimport { ExportToExcelService } from 'src/app/Service/exportToexcel.service';\nimport { UnsubscriptionError } from 'rxjs';\nimport { ActivatedRoute } from '@angular/router';\nimport { Title } from '@angular/platform-browser';\nimport { EnquiryDetailsChartComponent } from './enquiry-details-chart/enquiry-details-chart.component';\nimport { AppConfigService } from 'src/app/Service/app-config.service';\n\n\n@Component({\n selector: 'app-dashboard',\n templateUrl: './dashboard.component.html',\n styleUrls: ['./dashboard.component.scss']\n})\nexport class DashboardComponent implements OnInit {\n\n @Input()\n Year: number = new Date().getFullYear();\n\n @Input()\n showLoader: boolean = false;\n YearList: any[] = [];\n currYear: number = new Date().getFullYear();\n EnquiryChartData: any;\n closeResult: string;\n role: string;\n drpdnOption: string = \"Amount\";\n setCurrency: number = 2;\n setCurrencyCode : string = \"\";\n setRegion: number = 0;\n\n AppRoles = UserRoles;\n opportunitySum: number = 0;\n rfqSum: number = 0;\n quotationSum: number = 0;\n orderintkaeSum: number = 0;\n salesSum: number = 0; appgl\n CurrencyList: any[] = [];\n RegionList: any;\n exprtexcellist: any[];\n excelExportHeaderList: any[];\n currencyname: string = 'EURO';\n regionLocked: boolean;\n filterChanged: boolean = false;\n IsOnInit: boolean;\n @ViewChild('fiterElement') fiterElement: ElementRef;\n constructor(private toastr: ToastrService, private modalService: NgbModal, private commonService: CommonService,\n\n private excelexportservice: ExportToExcelService, private route: ActivatedRoute, private titleService: Title,\n private appConfigService: AppConfigService) { }\n\n ngOnInit(): void {\n const appConfig = this.appConfigService.getConfig();\n const dynamicTitle = this.route.snapshot.data['title'];\n localStorage.setItem('ViewType', 'dashboardComponent');\n this.titleService.setTitle(`${dynamicTitle} - ${appConfig.titleName}`);\n // this.titleService.setTitle(this.route.snapshot.data['title'] + \" - ECOTECH\");\n this.showLoader = true;\n this.IsOnInit = true;\n window.scroll(0, 0);\n this.role = localStorage.getItem(\"UserRole\");\n if(this.role==\"1\"){\n this.getRegionList();\n }else{\n this.getUserProfileData();\n }\n\n // if (this.role == UserRoles.SalesEngineer || this.role == UserRoles.RegionalSalesManager || this.role == UserRoles.AreaSalesManager\n // || this.role == UserRoles.Distributor || this.role == UserRoles.ChannelPartner || this.role == UserRoles.Agent) {\n // this.regionLocked = true;\n // this.commonService.GetUserProfileData('Account', 'GetUserProfileInfo').subscribe((data: any) => {\n // localStorage.setItem(\"RegionID\", data.ListRegion);\n // this.setRegion = parseInt(localStorage.getItem(\"RegionID\"));\n // setTimeout(() => {\n // this.fiterElement.nativeElement.focus();\n // }, 0);\n // }, error => {\n // this.toastr.error(\"Failed to load data!\");\n // });\n // }\n // else {\n // this.regionLocked = false;\n // }\n\n this.commonService.RefreshHeaderFun();\n //this.YearList = AppGlobals.YearsConstant;\n let k = 1;\n for (let i = 2018; i <= this.currYear; i++) {\n let batch =i;\n this.YearList.push(batch);\n k++;\n }\n this.getCurrencyList();\n this.getEnquiryChartData();\n }\n\n ngOnChanges(): void {\n this.getEnquiryChartData();\n }\n\n OnSelectChange() {\n if (this.drpdnOption == 'Amount') {\n // if (this.setCurrency == 1) this.currencyname = 'USD';\n // if (this.setCurrency == 2) this.currencyname = 'EURO';\n // if (this.setCurrency == 3) this.currencyname = 'INR';\n this.setCurrencyCode = this.CurrencyList.filter(x => x.Id == this.setCurrency)[0]?.CurrencyCode;\n if (this.setCurrencyCode == \"USD\" ) this.currencyname = 'USD';\n if (this.setCurrencyCode == \"Euro\") this.currencyname = 'EURO';\n // if (this.setCurrencyCode == \"INR\") this.currencyname = 'INR';\n if (this.setCurrencyCode == \"VND\") this.currencyname = 'VND';\n if (this.setCurrencyCode == \"IDR\") this.currencyname = 'IDR';\n if (this.setCurrencyCode == \"PHP\") this.currencyname = 'PHP';\n if (this.setCurrencyCode == \"THB\") this.currencyname = 'THB';\n if (this.setCurrencyCode == \"MYR\") this.currencyname = 'MYR';\n if (this.setCurrencyCode == \"SGD\") this.currencyname = 'SGD';\n \n }\n else {\n this.currencyname = \"No's\"\n }\n\n this.getEnquiryChartData();\n\n }\n\n getEnquiryChartData() {\n this.showLoader = true;\n let queryString = \"\";\n queryString += \"drpdnOption=\" + this.drpdnOption;\n queryString += \"&Year=\" + this.Year;\n queryString += \"®ionid=\" + this.setRegion;\n queryString += \"¤cy=\" + this.setCurrency;\n\n this.commonService.GetData(\"Dashboard\", \"EnquiryChart\", queryString).subscribe((data: any) => {\n this.EnquiryChartData = data;\n this.showLoader = false;\n }, error => {\n this.showLoader = false;\n\n });\n\n }\n\n // getYearList() {\n // this.commonService.GetData(\"Dashboard\", \"GetYearList\", null).subscribe((data: any) => {\n // this.YearList = data;\n // var check = this.YearList.filter(x=>x==new Date().getFullYear())[0];\n // if (check.length==0) this.YearList.push(new Date().getFullYear());\n // },\n // error => {\n // this.toastr.error(\"Failed to load year list!\");\n // this.showLoader = false;\n // });\n // }\n getRegionList() {\n this.commonService.GetData(\"Region\", \"GetAll\", null).subscribe((data: any) => {\n this.RegionList = data;\n this.IsOnInit = false;\n },\n error => {\n this.toastr.error(\"Failed to load region list!\");\n this.showLoader = false;\n });\n }\n getCurrencyList() {\n this.commonService.GetData(\"Currency\", \"GetAll\", null).subscribe((data: any) => {\n this.CurrencyList = data;\n this.setCurrency = this.CurrencyList.filter(x => x.Name == 'Euro (€)')[0]?.Id;\n this.setCurrencyCode = this.CurrencyList.filter(x => x.Name == 'Euro (€)')[0]?.CurrencyCode;\n this.IsOnInit = false;\n },\n error => {\n this.toastr.error(\"Failed to load currency list!\");\n this.showLoader = false;\n });\n }\n\n yearChange(event: any) {\n if (this.IsOnInit) this.filterChanged = false;\n else this.filterChanged = true;\n this.getEnquiryChartData();\n }\n regionChange() {\n if (this.IsOnInit) this.filterChanged = false;\n else this.filterChanged = true;\n this.getEnquiryChartData();\n }\n currencyChange() {\n if (this.drpdnOption == 'Amount') {\n // if (this.setCurrency == 1) this.currencyname = 'USD';\n // if (this.setCurrency == 2) this.currencyname = 'EURO';\n // if (this.setCurrency == 3) this.currencyname = 'INR';\n this.setCurrencyCode = this.CurrencyList.filter(x => x.Id == this.setCurrency)[0]?.CurrencyCode;\n if (this.setCurrencyCode == \"USD\" ) this.currencyname = 'USD';\n if (this.setCurrencyCode == \"Euro\") this.currencyname = 'EURO';\n // if (this.setCurrencyCode == \"INR\") this.currencyname = 'INR';\n if (this.setCurrencyCode == \"VND\") this.currencyname = 'VND';\n if (this.setCurrencyCode == \"IDR\") this.currencyname = 'IDR';\n if (this.setCurrencyCode == \"PHP\") this.currencyname = 'PHP';\n if (this.setCurrencyCode == \"THB\") this.currencyname = 'THB';\n if (this.setCurrencyCode == \"MYR\") this.currencyname = 'MYR';\n if (this.setCurrencyCode == \"SGD\") this.currencyname = 'SGD';\n }\n else {\n this.currencyname = \"No's\"\n }\n this.filterChanged = true;\n this.getEnquiryChartData();\n }\n\n openFunnelChartPopup(regionObj) {\n if (this.drpdnOption == \"Amount\") {\n // if (this.setCurrency == 1) regionObj.Label = 'USD';\n // if (this.setCurrency == 2) regionObj.Label = 'EURO';\n // if (this.setCurrency == 3) regionObj.Label = 'INR';\n if (this.setCurrencyCode == \"USD\" ) regionObj.Label = 'USD';\n if (this.setCurrencyCode == \"Euro\") regionObj.Label = 'EURO';\n // if (this.setCurrencyCode == \"INR\") regionObj.Label = 'INR';\n if (this.setCurrencyCode == \"VND\") regionObj.Label = 'VND';\n if (this.setCurrencyCode == \"IDR\") regionObj.Label = 'IDR';\n if (this.setCurrencyCode == \"PHP\") regionObj.Label = 'PHP';\n if (this.setCurrencyCode == \"THB\") regionObj.Label = 'THB';\n if (this.setCurrencyCode == \"MYR\") regionObj.Label = 'MYR';\n if (this.setCurrencyCode == \"SGD\") regionObj.Label = 'SGD';\n }\n else {\n regionObj.Label = \"No.\";\n }\n const modalRef = this.modalService.open(ChartsModalComponent, {\n size: 'lg', backdrop: 'static', keyboard: false\n });\n modalRef.componentInstance.region = regionObj;\n modalRef.result.then((result) => {\n this.closeResult = `Closed with:${result}`;\n if (this.closeResult !== 'Closed with:Close click') {\n // if (flag === 1) {\n // } else {\n // // this.saveQuoteLimit(this.QuotationNumber, result);\n // }\n }\n });\n }\n\n export() {\n this.showLoader = true;\n const params = {\n skipHeader: false,\n columnGroups: false,\n skipFooters: false,\n skipGroups: false,\n skipPinnedTop: false,\n skipPinnedBottom: false,\n allColumns: true,\n onlySelected: false,\n suppressQuotes: false,\n fileName: 'demo_File',\n // columnSeparator: document.querySelector(\"#columnSeparator\").value\n };\n this.exprtexcellist = [];\n this.excelExportHeaderList = [];\n const data = AppGlobals.dummyReportData;\n this.excelexportservice.generateExcelwithdata(data, AppGlobals.excelCoulumns, 'demo_file');\n this.showLoader = false;\n }\n\n exporttoexcel(node, index) {\n const row = {};\n let headerlist = AppGlobals.excelCoulumns;\n headerlist.every(function (value, index1, _arr) {\n const tmp = {};\n this.excelExportHeaderList.push(value.field);\n row[value.field] = node.data[value.field];\n let id = node.data[\"id\"];\n tmp['value'] = node.data[value.field];\n tmp['color'] = this.getColorForExcelExport(value.field, node.data[value.field], id);\n row[value.field] = tmp;\n return true;\n }.bind(this));\n this.exprtexcellist.push(row);\n }\n\n getUserProfileData() {\n this.commonService.GetUserProfileData('Account', 'GetUserProfileInfo').subscribe((data: any) => {\n this.RegionList = data.ListRegion;\n //this.IsOnInit = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n\n });\n }\n\n}\n","\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n\n\n\n
    \n
    \n
    \n \n
    \n
    \n \n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n Enquiry Details ({{currencyname}})\n

    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n\n \n
    RegionLead/EnquiryRFQQuotations Order Booked Sales
    {{item.Region}}{{item.SubmittedEnquiry}}{{item.RFQ}}{{item.ProposalDelivered}}{{item.OrderConfirmation}}{{item.OrderDelivered}}
    \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n\n
    \n
    \n \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n \n
    \n\n
    \n
    \n \n
    \n
    \n \n
    \n
    \n\n
    \n
    \n
    \n\n","import { Component, OnInit, Input } from '@angular/core';\nimport * as am4core from \"@amcharts/amcharts4/core\";\nimport * as am4charts from \"@amcharts/amcharts4/charts\";\nimport { CommonService } from 'src/app/Service/common.service';\nimport { ToastrService } from 'ngx-toastr';\nimport { AmChartsService, AmChart } from \"@amcharts/amcharts3-angular\";\nimport { NgbActiveModal, NgbModal } from '@ng-bootstrap/ng-bootstrap';\n\n@Component({\n selector: 'app-enquiry-details-chart',\n templateUrl: './enquiry-details-chart.component.html',\n styleUrls: ['./enquiry-details-chart.component.scss']\n})\nexport class EnquiryDetailsChartComponent implements OnInit {\n\n @Input()\n showLoader: boolean = false;\n drpdnOption: string = \"Amount\";\n\n @Input() Year: number;\n @Input() region: number;\n @Input() currency: number;\n @Input() filterChanged: boolean;\n @Input() currencyCode: string;\n SubmittedEnquiryCount: any;\n OrderConfirmationCount: any;\n RFQCount: any;\n OrderDeliveredCount: any;\n ProposeDeliveredCount: any;\n reportdata: reportmodel[] = Array();\n cur: string;\n Labelcurr: string = \"\";\n // @Input() mode: string = \"\";\n // Chartidname: string = \"\";\n\n constructor(private toastr: ToastrService, private commonService: CommonService, private amcharts: AmChartsService\n ,private modalService: NgbModal,public modal: NgbActiveModal) \n {\n \n }\n\n ngOnInit() {\n // if(this.mode == \"view\")\n // {\n // this.Chartidname=\"enquiryDetailsChartView\";\n // }else{\n // this.Chartidname = \"enquiryDetailsChart\";\n // }\n // am4core.options.onlyShowOnViewport = true;\n this.enquiryDetailsChart();\n }\n\n ngOnChanges(): void {\n // console.log('oninit', this.filterChanged);\n // if (!(this.IsOnInit && !this.filterChanged)) {\n // this.enquiryDetailsChart();\n // } \n\n if (this.filterChanged) {\n this.enquiryDetailsChart();\n }\n }\n\n OnSelectChange() {\n this.enquiryDetailsChart();\n }\n\n enquiryDetailsChart() {\n this.showLoader = true;\n let queryString = \"\";\n queryString += \"drpdnOption=\" + this.drpdnOption;\n queryString += \"&Year=\" + this.Year;\n queryString += \"®ionid=\" + this.region;\n queryString += \"¤cy=\" + this.currency;\n // console.log('EnquiryDetailsChart called');\n this.commonService.GetData(\"Dashboard\", \"EnquiryDetailsChart\", queryString).subscribe((data: any) => {\n this.reportdata = [];\n\n // if (this.currency == 1) this.cur = \"USD\";\n // if (this.currency == 2) this.cur = \"EURO\";\n // if (this.currency == 3) this.cur = \"INR\";\n if (this.currencyCode == \"USD\") this.cur = \"USD\";\n if (this.currencyCode == \"Euro\") this.cur = \"EURO\";\n //if (this.currencyCode == \"INR\") this.cur = \"INR\";\n if (this.currencyCode == \"VND\") this.cur = \"VND\";\n if (this.currencyCode == \"IDR\") this.cur = \"IDR\";\n if (this.currencyCode == \"PHP\") this.cur = \"PHP\";\n if (this.currencyCode == \"THB\") this.cur = \"THB\";\n if (this.currencyCode == \"MYR\") this.cur = \"MYR\";\n if (this.currencyCode == \"SGD\") this.cur = \"SGD\";\n if (this.drpdnOption == 'Amount') {\n this.Labelcurr = \"(\" + this.cur + \")\";\n }\n else { this.Labelcurr = \"(No's)\" }\n data.forEach(element => {\n // if (element.value==0) element.value=0.00001;\n var obj = new reportmodel();\n obj.Id = element.Id;\n obj.category = element.category;\n obj.actualvalue = element.value;\n obj.showvalue = 50;\n this.reportdata.push(obj);\n });\n \n var chart = this.amcharts.makeChart(\"enquiryDetailsChart\", {\n \"creditsPosition\": \"bottom-left\",\n \"type\": \"funnel\",\n \"theme\": \"none\",\n \"dataProvider\": this.reportdata,\n \"titleField\": \"category\",\n \"marginRight\": 160,\n \"hideLabelsPercent\": 0,\n \"precision\": this.drpdnOption == 'Amount' ? 2 : 0,\n \"marginLeft\": 15,\n \"FontWeight\": \"bold\",\n \"fontSize\": 12,\n \"labelPosition\": \"center\",\n \"funnelAlpha\": 0.9,\n \"valueField\": \"showvalue\",\n \"title\": \"Sales Funnel\",\n \"startX\": 0,\n \"neckWidth\": \"40%\",\n \"startAlpha\": 0,\n \"outlineThickness\": 1,\n \"neckHeight\": \"30%\",\n \"balloonText\": this.drpdnOption == 'Amount' ? \"[[category]]: \" + this.cur + \" [[actualvalue]]\" : \"[[category]]: No. [[actualvalue]]\",\n \"labelText\": this.drpdnOption == 'Amount' ? \"[[category]]: \" + this.cur + \" [[actualvalue]]\" : \"[[category]]: No. [[actualvalue]]\",\n \"responsive\": {\n \"enabled\": true\n },\n \"export\": {\n \"enabled\": true,\n \"pageOrigin\": false,\n \"fileName\": \"SalesFunnel\",\n \"exportTitles\": true,\n \"exportFields\": [\n \"category\",\n \"actualvalue\"\n ],\n \"columnNames\": {\n \"category\": \"Category\",\n \"actualvalue\": \"Value\" + this.Labelcurr\n },\n \"menu\": [\n {\n \"label\": \"\",\n \"menu\": [\n {\n \"format\": \"png\",\n \"label\": \"PNG\"\n },\n {\n \"format\": \"jpg\",\n \"label\": \"JPG\"\n },\n // {\n // \"format\": \"svg\",\n // \"label\": \"SVG\"\n // },\n {\n \"format\": \"pdf\",\n \"label\": \"PDF\"\n },\n { \"format\": \"xlsx\", \"label\": \"XLSX\" },\n ]\n }\n ]\n },\n \n\n });\n \n // chart.export.menu.items = [\n // {\n // \"label\":\"...\",\n // \"menu\":[\n // {\n // \"type\":\"png\",\n // \"label\":\"PNG\"\n // }\n // ]\n // }\n // ]\n });\n\n }\n // OpenChartPopup()\n // {\n // const modalRef = this.modalService.open(EnquiryDetailsChartComponent, { size: 'lg' });\n // modalRef.componentInstance.Year = this.Year;\n // modalRef.componentInstance.region = this.region;\n // modalRef.componentInstance.currency = this.currency;\n // modalRef.componentInstance.filterChanged = this.filterChanged;\n // modalRef.componentInstance.mode = \"view\";\n\n // }\n // ClosePopup()\n // {\n // this.modal.close();\n // }\n}\nexport class reportmodel {\n Id: any;\n category: any;\n actualvalue; any;\n showvalue: any;\n}\n\n","\n
    \n
    \n
    \n
    \n

    \n Sales Funnel\n

    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n \n \n \n
    \n \n \n
    \n \n\n
    \n
    \n","import { Component, OnInit, Input } from '@angular/core';\nimport * as am4core from \"@amcharts/amcharts4/core\";\nimport * as am4charts from \"@amcharts/amcharts4/charts\";\nimport { ToastrService } from 'ngx-toastr';\nimport { CommonService } from 'src/app/Service/common.service';\n\n@Component({\n selector: 'app-opportunity-quotation-chart',\n templateUrl: './opportunity-quotation-chart.component.html',\n styleUrls: ['./opportunity-quotation-chart.component.scss']\n})\nexport class OpportunityQuotationChartComponent implements OnInit {\n\n @Input()\n showLoader: boolean = false;\n drpdnOption: string = \"Units\";\n\n @Input() Year: number;\n @Input() region: number;\n @Input() currency: number;\n @Input() filterChanged: boolean;\n @Input() currencyCode: string;\n constructor(private toastr: ToastrService, private commonService: CommonService) { }\n\n ngOnInit() {\n // am4core.options.onlyShowOnViewport = true;\n this.OpportunityQuotation();\n\n }\n ngOnChanges(): void {\n if (this.filterChanged) this.OpportunityQuotation();\n }\n\n OnSelectChange() {\n this.OpportunityQuotation();\n }\n\n OpportunityQuotation() {\n this.showLoader = true;\n let queryString = \"\";\n queryString += \"drpdnOption=\" + this.drpdnOption;\n queryString += \"&Year=\" + this.Year;\n queryString += \"®ionid=\" + this.region;\n queryString += \"¤cy=\" + this.currency;\n\n this.commonService.GetData(\"Dashboard\", \"OpportunityQuotationChart\", queryString).subscribe((data: any) => {\n // Create chart instance\n let chart = am4core.create(\"OpportunityQuotationChart\", am4charts.XYChart);\n // Export\n chart.scrollbarX = new am4core.Scrollbar();\n chart.scrollbarY = new am4core.Scrollbar();\n // chart.cursor = new am4charts.XYCursor();\n chart.scrollbarX.exportable = false;\n chart.scrollbarY.exportable = false;\n chart.exporting.menu = new am4core.ExportMenu();\n let options = chart.exporting.getFormatOptions(\"pdf\");\n options.addURL = false;\n chart.exporting.setFormatOptions(\"pdf\", options);\n chart.exporting.filePrefix = \"Enquiry_RFQ_Quotation\";\n /**************Custom Export**************** */\n chart.exporting.menu.items = [\n {\n \"label\": \"...\",\n \"menu\": [\n {\n \"label\": \"Image\",\n \"menu\": [\n { \"type\": \"png\", \"label\": \"PNG\" },\n { \"type\": \"jpg\", \"label\": \"JPG\" },\n // { \"type\": \"svg\", \"label\": \"SVG\" },\n { \"type\": \"pdf\", \"label\": \"PDF\" }\n ]\n }, {\n \"label\": \"Data\",\n \"menu\": [\n { \"type\": \"xlsx\", \"label\": \"XLSX\" },\n ]\n }, {\n \"label\": \"Print\", \"type\": \"print\"\n }\n ]\n }\n ];\n let CurrencyLabel = \"\";\n if (this.drpdnOption == \"Amount\") {\n if (this.currency == 1) CurrencyLabel = \"(USD)\";\n if (this.currency == 2) CurrencyLabel = \"(EURO)\";\n if (this.currency == 3) CurrencyLabel = \"(INR)\";\n // if (this.currencyCode == \"USD\") CurrencyLabel = \"(USD)\";\n // if (this.currencyCode == \"Euro\") CurrencyLabel = \"(EURO)\";\n // //if (this.currencyCode == \"INR\") CurrencyLabel = \"(INR)\";\n // if (this.currencyCode == \"VND\") CurrencyLabel = \"(VND)\";\n // if (this.currencyCode == \"IDR\") CurrencyLabel = \"(IDR)\";\n // if (this.currencyCode == \"PHP\") CurrencyLabel = \"(PHP)\";\n // if (this.currencyCode == \"THB\") CurrencyLabel = \"(THB)\";\n // if (this.currencyCode == \"MYR\") CurrencyLabel = \"(MYR)\";\n // if (this.currencyCode == \"SGD\") CurrencyLabel = \"(SGD)\";\n }\n else {\n CurrencyLabel = \"(No's)\";\n }\n\n\n chart.exporting.dataFields = {\n \"category\": \"Month\",\n \"valueBar1\": \"RFQ_Individual\" + CurrencyLabel,\n \"valueLine1\": \"RFQ_Cumulative\" + CurrencyLabel,\n \"valueBar2\": \"Quotation_Individual\" + CurrencyLabel,\n \"valueLine2\": \"Quotation_Cumulative\" + CurrencyLabel,\n\n }\n /**************End Custom Export**************** */\n let title = chart.titles.create();\n title.text = \"RFQ vs Quotation\";\n title.fontSize = 15;\n title.fontWeight = \"bold\";\n title.marginBottom = 30;\n\n chart.data = data;\n\n /* Create axes */\n let categoryAxis = chart.xAxes.push(new am4charts.CategoryAxis());\n categoryAxis.dataFields.category = \"category\";\n categoryAxis.renderer.minGridDistance = 30;\n\n /* Create value axis */\n let valueAxis = chart.yAxes.push(new am4charts.ValueAxis());\n valueAxis.renderer.labels.template.adapter.add(\"text\", function (text, target) {\n var val = text == \"0.000\" ? \"0\" : text;\n return val;\n });\n /*********Change by ashwini*******/\n /**************Scrolling Start End Point**************** */\n chart.events.on(\"beforedatavalidated\", function(ev) {\n categoryAxis.start = 0;\n categoryAxis.end = 0.5;\n valueAxis.start = 0;\n valueAxis.end = 1;\n });\n /**************End Scrolling Start End Point**************** */\n if (this.drpdnOption == 'Units') {\n valueAxis.title.text = \"No.\";\n chart.numberFormatter.numberFormat = \"0\";\n valueAxis.renderer.labels.template.adapter.add(\"text\", function (text, target) {\n var val = parseFloat(text) % 1 != 0 ? \"\" : parseInt(text).toString();\n return val;\n });\n }\n\n valueAxis.title.fontWeight = \"bold\";\n valueAxis.title.fontSize = \"16px\";\n valueAxis.min = 0;\n valueAxis.events.on(\"ready\", function (ev) {\n ev.target.min = ev.target.min;\n ev.target.max = ev.target.max;\n if (ev.target.max < 0.1) valueAxis.extraMax = 10;\n if (ev.target.max > 0.1 && ev.target.max < 1) valueAxis.extraMax = 5;\n if (ev.target.max > 1) valueAxis.extraMax = 0.2;\n })\n\n\n valueAxis.calculateTotals = true;\n /*********End***********/\n\n chart.numberFormatter.numberFormat = \"0\";\n valueAxis.renderer.labels.template.adapter.add(\"text\", function (text, target) {\n var val = parseFloat(text) % 1 != 0 ? \"\" : parseInt(text).toString();\n return val;\n });\n valueAxis.title.fontWeight = \"bold\";\n valueAxis.title.fontSize = \"16px\";\n valueAxis.min = 0;\n valueAxis.extraMax = 0.5;\n\n\n //#region \"LineSeries1\"\n let lineSeries = chart.series.push(new am4charts.LineSeries());\n lineSeries.name = \"RFQ\";\n lineSeries.dataFields.valueY = \"valueLine1\";\n lineSeries.dataFields.categoryX = \"category\";\n lineSeries.tooltip.getFillFromObject = false;\n lineSeries.tooltip.background.fill = am4core.color(\"#4a463c\");\n lineSeries.stroke = am4core.color(\"#ff4d4d\"); //For line or column color\n\n let bullet = lineSeries.bullets.push(new am4charts.Bullet());\n bullet.fill = am4core.color(\"#ff4d4d\"); // tooltips grab fill from parent by default\n bullet.tooltipText = \"[#fff font-size: 13px]{name} in {categoryX}: [/][#fff font-size: 13px]{valueY}[/] [#fff]{additional}[/]\"\n let circle = bullet.createChild(am4core.Circle);\n circle.radius = 4;\n circle.fill = am4core.color(\"#fff\");\n circle.strokeWidth = 3;\n\n let labelBullet = lineSeries.bullets.push(new am4charts.LabelBullet());\n labelBullet.label.text = \"{valueL1}\";\n labelBullet.label.verticalCenter = \"bottom\";\n //#endregion\n\n //#region \"LineSeries2\"\n let lineSeries2 = chart.series.push(new am4charts.LineSeries());\n lineSeries2.name = \"Quotation\";\n lineSeries2.dataFields.valueY = \"valueLine2\";\n lineSeries2.dataFields.categoryX = \"category\";\n lineSeries2.tooltip.getFillFromObject = false;\n lineSeries2.tooltip.background.fill = am4core.color(\"#4a463c\");\n //lineSeries2.stroke = am4core.color(\"#4a463c\"); //For line or column color\n\n let bullet2 = lineSeries2.bullets.push(new am4charts.Bullet());\n bullet2.fill = am4core.color(\"#4a463c\"); // tooltips grab fill from parent by default\n bullet2.tooltipText = \"[#fff font-size: 13px]{name} in {categoryX}: [/][#fff font-size: 13px]{valueY}[/] [#fff]{additional}[/]\"\n let circle2 = bullet2.createChild(am4core.Circle);\n circle2.radius = 4;\n circle2.fill = am4core.color(\"#fff\");\n circle2.strokeWidth = 3;\n\n let labelBullet2 = lineSeries2.bullets.push(new am4charts.LabelBullet());\n labelBullet2.label.text = \"{valueL2}\";\n labelBullet2.label.verticalCenter = \"bottom\";\n //#endregion\n\n //#region \"ColumnSeries1\"\n /* Create series */\n let columnSeries = chart.series.push(new am4charts.ColumnSeries());\n columnSeries.name = \"RFQ\";\n columnSeries.dataFields.valueY = \"valueBar1\";\n columnSeries.dataFields.categoryX = \"category\";\n\n columnSeries.columns.template.tooltipText = \"[#fff font-size: 13px]{name} in {categoryX}: [/][#fff font-size: 13px]{valueY}[/] [#fff]{additional}[/]\";\n columnSeries.columns.template.propertyFields.fillOpacity = \"fillOpacity\";\n columnSeries.columns.template.propertyFields.stroke = \"stroke\";\n columnSeries.columns.template.propertyFields.strokeWidth = \"strokeWidth\";\n columnSeries.columns.template.propertyFields.strokeDasharray = \"columnDash\";\n columnSeries.tooltip.label.textAlign = \"middle\";\n columnSeries.tooltip.getFillFromObject = false;\n columnSeries.fill = am4core.color(\"#ff4d4d\");\n columnSeries.tooltip.background.fill = am4core.color(\"#4a463c\");\n let colLabel = columnSeries.bullets.push(new am4charts.LabelBullet);\n colLabel.label.text = \"{valueY}\";\n colLabel.label.rotation = 0;\n colLabel.label.fontSize = 9;\n colLabel.label.padding(0, 0, 20, 0);\n colLabel.label.truncate = false;\n colLabel.label.hideOversized = false;\n //#endregion\n\n //#region \"ColumnSeries2\"\n /* Create series */\n let column2Series = chart.series.push(new am4charts.ColumnSeries());\n column2Series.name = \"Quotation\";\n column2Series.dataFields.valueY = \"valueBar2\";\n column2Series.dataFields.categoryX = \"category\";\n\n column2Series.columns.template.tooltipText = \"[#fff font-size: 13px]{name} in {categoryX}: [/][#fff font-size: 13px]{valueY}[/] [#fff]{additional}[/]\";\n column2Series.columns.template.propertyFields.fillOpacity = \"fillOpacity\";\n column2Series.columns.template.propertyFields.stroke = \"stroke\";\n column2Series.columns.template.propertyFields.strokeWidth = \"strokeWidth\";\n column2Series.columns.template.propertyFields.strokeDasharray = \"columnDash\";\n column2Series.tooltip.label.textAlign = \"middle\";\n column2Series.tooltip.getFillFromObject = false;\n column2Series.fill = am4core.color(\"#6794dc\");\n column2Series.tooltip.background.fill = am4core.color(\"#4a463c\");\n let colLabel2 = column2Series.bullets.push(new am4charts.LabelBullet);\n colLabel2.label.text = \"{valueY}\";\n colLabel2.label.rotation = 0;\n colLabel2.label.fontSize = 9;\n colLabel2.label.padding(0, 0, 20, 0);\n colLabel2.label.truncate = false;\n colLabel2.label.hideOversized = false;\n //#endregion\n\n\n chart.legend = new am4charts.Legend();\n\n this.showLoader = false;\n }, error => {\n this.showLoader = false;\n\n });\n\n }\n\n}\n","\n
    \n
    \n
    \n
    \n

    \n RFQ vs Quotation\n

    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    ","import { Component, OnInit, Input } from '@angular/core';\nimport * as am4core from \"@amcharts/amcharts4/core\";\nimport * as am4charts from \"@amcharts/amcharts4/charts\";\nimport { ToastrService } from 'ngx-toastr';\nimport { CommonService } from 'src/app/Service/common.service';\n\n\n@Component({\n selector: 'app-opportunity-rfq-chart',\n templateUrl: './opportunity-rfq-chart.component.html',\n styleUrls: ['./opportunity-rfq-chart.component.scss']\n})\nexport class OpportunityRfqChartComponent implements OnInit {\n\n @Input()\n showLoader: boolean = false;\n drpdnOption: string = \"Units\";\n\n @Input() Year: number;\n @Input() region: number;\n @Input() currency: number;\n @Input() filterChanged: boolean;\n @Input() currencyCode: string;\n constructor(private toastr: ToastrService, private commonService: CommonService) { }\n\n ngOnInit() {\n // am4core.options.onlyShowOnViewport = true;\n this.OpportunityRFQ();\n\n }\n ngOnChanges(): void {\n if (this.filterChanged) this.OpportunityRFQ();\n }\n\n OnSelectChange() {\n this.OpportunityRFQ();\n }\n\n OpportunityRFQ() {\n this.showLoader = true;\n let queryString = \"\";\n queryString += \"drpdnOption=\" + this.drpdnOption;\n queryString += \"&Year=\" + this.Year;\n queryString += \"®ionid=\" + this.region;\n queryString += \"¤cy=\" + this.currency;\n\n this.commonService.GetData(\"Dashboard\", \"OpportunityRFQChart\", queryString).subscribe((data: any) => {\n // Create chart instance\n let chart = am4core.create(\"OpportunityRFQChart\", am4charts.XYChart);\n\n // Export\n chart.scrollbarX = new am4core.Scrollbar();\n chart.scrollbarY = new am4core.Scrollbar();\n // chart.cursor = new am4charts.XYCursor();\n chart.scrollbarX.exportable = false;\n chart.scrollbarY.exportable = false;\n chart.exporting.menu = new am4core.ExportMenu();\n let options = chart.exporting.getFormatOptions(\"pdf\");\n options.addURL = false;\n chart.exporting.setFormatOptions(\"pdf\", options);\n chart.exporting.filePrefix = \"Opportunity_Enquiry/RFQ\";\n /**************Custom Export**************** */\n chart.exporting.menu.items = [\n {\n \"label\": \"...\",\n \"menu\": [\n {\n \"label\": \"Image\",\n \"menu\": [\n { \"type\": \"png\", \"label\": \"PNG\" },\n { \"type\": \"jpg\", \"label\": \"JPG\" },\n // { \"type\": \"svg\", \"label\": \"SVG\" },\n { \"type\": \"pdf\", \"label\": \"PDF\" }\n ]\n }, {\n \"label\": \"Data\",\n \"menu\": [\n { \"type\": \"xlsx\", \"label\": \"XLSX\" },\n ]\n }, {\n \"label\": \"Print\", \"type\": \"print\"\n }\n ]\n }\n ];\n let CurrencyLabel = \"\";\n if (this.drpdnOption == \"Amount\") {\n if (this.currency == 1) CurrencyLabel = \"(USD)\";\n if (this.currency == 2) CurrencyLabel = \"(EURO)\";\n if (this.currency == 3) CurrencyLabel = \"(INR)\";\n // if (this.currencyCode == \"USD\") CurrencyLabel = \"(USD)\";\n // if (this.currencyCode == \"Euro\") CurrencyLabel = \"(EURO)\";\n // //if (this.currencyCode == \"INR\") CurrencyLabel = \"(INR)\";\n // if (this.currencyCode == \"VND\") CurrencyLabel = \"(VND)\";\n // if (this.currencyCode == \"IDR\") CurrencyLabel = \"(IDR)\";\n // if (this.currencyCode == \"PHP\") CurrencyLabel = \"(PHP)\";\n // if (this.currencyCode == \"THB\") CurrencyLabel = \"(THB)\";\n // if (this.currencyCode == \"MYR\") CurrencyLabel = \"(MYR)\";\n // if (this.currencyCode == \"SGD\") CurrencyLabel = \"(SGD)\";\n }\n else {\n CurrencyLabel = \"(No's)\";\n }\n\n chart.exporting.dataFields = {\n \"category\": \"Month\",\n \"valueBar1\": \"Lead/Enquiry_Individual\" + CurrencyLabel,\n \"valueLine1\": \"Lead/Enquiry_Cumulative \" + CurrencyLabel,\n \"valueBar2\": \"RFQ_Individual\" + CurrencyLabel,\n \"valueLine2\": \"RFQ_Cumulative \" + CurrencyLabel,\n\n }\n /**************End Custom Export**************** */\n let title = chart.titles.create();\n title.text = \"Lead/Enquiry vs RFQ\";\n title.fontSize = 15;\n title.fontWeight = \"bold\";\n title.marginBottom = 30;\n\n chart.data = data;\n\n /* Create axes */\n let categoryAxis = chart.xAxes.push(new am4charts.CategoryAxis());\n categoryAxis.dataFields.category = \"category\";\n categoryAxis.renderer.minGridDistance = 30;\n\n \n /* Create value axis */\n let valueAxis = chart.yAxes.push(new am4charts.ValueAxis());\n valueAxis.renderer.labels.template.adapter.add(\"text\", function (text, target) {\n var val = text == \"0.00\" ? \"0\" : text;\n return val;\n });\n\n /*********Change by ashwini*******/\n /**************Scrolling Start End Point**************** */\n chart.events.on(\"beforedatavalidated\", function(ev) {\n categoryAxis.start = 0;\n categoryAxis.end = 0.5;\n valueAxis.start = 0;\n valueAxis.end = 1;\n });\n /**************End Scrolling Start End Point**************** */\n if (this.drpdnOption == 'Units') {\n valueAxis.title.text = \"No.\";\n chart.numberFormatter.numberFormat = \"0\";\n valueAxis.renderer.labels.template.adapter.add(\"text\", function (text, target) {\n var val = parseFloat(text) % 1 != 0 ? \"\" : parseInt(text).toString();\n return val;\n });\n }\n\n valueAxis.title.fontWeight = \"bold\";\n valueAxis.title.fontSize = \"16px\";\n valueAxis.min = 0;\n valueAxis.events.on(\"ready\", function (ev) {\n ev.target.min = ev.target.min;\n ev.target.max = ev.target.max;\n if (ev.target.max < 0.1) valueAxis.extraMax = 10;\n if (ev.target.max > 0.1 && ev.target.max < 1) valueAxis.extraMax = 5;\n if (ev.target.max > 1) valueAxis.extraMax = 0.2;\n })\n\n valueAxis.calculateTotals = true;\n /*********End***********/\n\n chart.numberFormatter.numberFormat = \"0\";\n valueAxis.renderer.labels.template.adapter.add(\"text\", function (text, target) {\n var val = parseFloat(text) % 1 != 0 ? \"\" : parseInt(text).toString();\n return val;\n });\n valueAxis.title.fontWeight = \"bold\";\n valueAxis.title.fontSize = \"16px\";\n valueAxis.min = 0;\n valueAxis.extraMax = 0.5;\n\n\n //#region \"LineSeries1\"\n let lineSeries = chart.series.push(new am4charts.LineSeries());\n lineSeries.name = \"Lead/Enquiry\";\n lineSeries.dataFields.valueY = \"valueLine1\";\n lineSeries.dataFields.categoryX = \"category\";\n lineSeries.tooltip.getFillFromObject = false;\n lineSeries.tooltip.background.fill = am4core.color(\"#4a463c\");\n lineSeries.stroke = am4core.color(\"#ff4d4d\"); //For line or column color\n\n let bullet = lineSeries.bullets.push(new am4charts.Bullet());\n bullet.fill = am4core.color(\"#ff4d4d\"); // tooltips grab fill from parent by default\n bullet.tooltipText = \"[#fff font-size: 13px]{name} in {categoryX}: [/][#fff font-size: 13px]{valueY}[/] [#fff]{additional}[/]\"\n let circle = bullet.createChild(am4core.Circle);\n circle.radius = 4;\n circle.fill = am4core.color(\"#fff\");\n circle.strokeWidth = 3;\n\n let labelBullet = lineSeries.bullets.push(new am4charts.LabelBullet());\n labelBullet.label.text = \"{valueL1}\";\n labelBullet.label.verticalCenter = \"bottom\";\n //#endregion\n\n //#region \"LineSeries2\"\n let lineSeries2 = chart.series.push(new am4charts.LineSeries());\n lineSeries2.name = \"RFQ\";\n lineSeries2.dataFields.valueY = \"valueLine2\";\n lineSeries2.dataFields.categoryX = \"category\";\n lineSeries2.tooltip.getFillFromObject = false;\n lineSeries2.tooltip.background.fill = am4core.color(\"#4a463c\");\n //lineSeries2.stroke = am4core.color(\"#4a463c\"); //For line or column color\n\n let bullet2 = lineSeries2.bullets.push(new am4charts.Bullet());\n bullet2.fill = am4core.color(\"#4a463c\"); // tooltips grab fill from parent by default\n bullet2.tooltipText = \"[#fff font-size: 13px]{name} in {categoryX}: [/][#fff font-size: 13px]{valueY}[/] [#fff]{additional}[/]\"\n let circle2 = bullet2.createChild(am4core.Circle);\n circle2.radius = 4;\n circle2.fill = am4core.color(\"#fff\");\n circle2.strokeWidth = 3;\n\n let labelBullet2 = lineSeries2.bullets.push(new am4charts.LabelBullet());\n labelBullet2.label.text = \"{valueL2}\";\n labelBullet2.label.verticalCenter = \"bottom\";\n //#endregion\n\n //#region \"ColumnSeries1\"\n /* Create series */\n let columnSeries = chart.series.push(new am4charts.ColumnSeries());\n columnSeries.name = \"Lead/Enquiry\";\n columnSeries.dataFields.valueY = \"valueBar1\";\n columnSeries.dataFields.categoryX = \"category\";\n\n columnSeries.columns.template.tooltipText = \"[#fff font-size: 13px]{name} in {categoryX}: [/][#fff font-size: 13px]{valueY}[/] [#fff]{additional}[/]\";\n columnSeries.columns.template.propertyFields.fillOpacity = \"fillOpacity\";\n columnSeries.columns.template.propertyFields.stroke = \"stroke\";\n columnSeries.columns.template.propertyFields.strokeWidth = \"strokeWidth\";\n columnSeries.columns.template.propertyFields.strokeDasharray = \"columnDash\";\n columnSeries.tooltip.label.textAlign = \"middle\";\n columnSeries.tooltip.getFillFromObject = false;\n columnSeries.fill = am4core.color(\"#ff4d4d\");\n columnSeries.tooltip.background.fill = am4core.color(\"#4a463c\");\n let colLabel = columnSeries.bullets.push(new am4charts.LabelBullet);\n colLabel.label.text = \"{valueY}\";\n colLabel.label.rotation = 0;\n colLabel.label.fontSize = 9;\n colLabel.label.padding(0, 0, 20, 0);\n colLabel.label.truncate = false;\n colLabel.label.hideOversized = false;\n //#endregion\n\n //#region \"ColumnSeries2\"\n /* Create series */\n let column2Series = chart.series.push(new am4charts.ColumnSeries());\n column2Series.name = \"RFQ\";\n column2Series.dataFields.valueY = \"valueBar2\";\n column2Series.dataFields.categoryX = \"category\";\n\n column2Series.columns.template.tooltipText = \"[#fff font-size: 13px]{name} in {categoryX}: [/][#fff font-size: 13px]{valueY}[/] [#fff]{additional}[/]\";\n column2Series.columns.template.propertyFields.fillOpacity = \"fillOpacity\";\n column2Series.columns.template.propertyFields.stroke = \"stroke\";\n column2Series.columns.template.propertyFields.strokeWidth = \"strokeWidth\";\n column2Series.columns.template.propertyFields.strokeDasharray = \"columnDash\";\n column2Series.tooltip.label.textAlign = \"middle\";\n column2Series.tooltip.getFillFromObject = false;\n column2Series.fill = am4core.color(\"#6794dc\");\n column2Series.tooltip.background.fill = am4core.color(\"#4a463c\");\n let colLabel2 = column2Series.bullets.push(new am4charts.LabelBullet);\n colLabel2.label.text = \"{valueY}\";\n colLabel2.label.rotation = 0;\n colLabel2.label.fontSize = 9;\n colLabel2.label.padding(0, 0, 20, 0);\n colLabel2.label.truncate = false;\n colLabel2.label.hideOversized = false;\n //#endregion\n\n chart.legend = new am4charts.Legend();\n\n this.showLoader = false;\n }, error => {\n this.showLoader = false;\n\n });\n\n }\n\n}\n","\n
    \n
    \n
    \n
    \n

    \n Lead/Enquiry vs RFQ\n

    \n
    \n
    \n
    \n
    \n
    \n
    \n
    ","import { Component, OnInit, Input } from '@angular/core';\nimport * as am4core from \"@amcharts/amcharts4/core\";\nimport * as am4charts from \"@amcharts/amcharts4/charts\";\nimport { ToastrService } from 'ngx-toastr';\nimport { CommonService } from 'src/app/Service/common.service';\nimport { NgbActiveModal, NgbModal } from '@ng-bootstrap/ng-bootstrap';\n\n@Component({\n selector: 'app-order-values-chart',\n templateUrl: './order-values-chart.component.html',\n styleUrls: ['./order-values-chart.component.scss']\n})\nexport class OrderValuesChartComponent implements OnInit {\n\n @Input()\n showLoader: boolean = false;\n drpdnOption: string = \"Amount\";\n\n @Input() Year: number;\n @Input() region: number;\n @Input() currency: number;\n @Input() filterChanged: boolean;\n @Input() currencyCode: string;\n // @Input() mode: string = \"\";\n // Chartidname: string = \"\";\n constructor(private toastr: ToastrService, private commonService: CommonService\n ,private modalService: NgbModal,public modal: NgbActiveModal) { }\n\n ngOnInit(): void {\n // if(this.mode == \"view\")\n // {\n // this.Chartidname=\"OrderValuesChartView\";\n // }else{\n // this.Chartidname = \"OrderValuesChart\";\n // }\n // am4core.options.onlyShowOnViewport = true;\n this.OrderValuesChart();\n\n }\n ngOnChanges(): void {\n if (this.filterChanged) this.OrderValuesChart();\n }\n\n OnSelectChange() {\n this.OrderValuesChart();\n }\n\n // OrderValuesChart1() {\n // this.showLoader = true;\n // let queryString = \"\";\n // queryString += \"drpdnOption=\" + this.drpdnOption;\n // queryString += \"&Year=\" + this.Year;\n // queryString += \"®ionid=\" + this.region;\n // queryString += \"¤cy=\" + this.currency;\n\n // this.commonService.GetData(\"Dashboard\", \"OrderValuesChart\", queryString).subscribe((data: any) => {\n\n // var chart = am4core.create(\"OrderValuesChart\", am4charts.XYChart);\n // // Add data\n // chart.scrollbarX = new am4core.Scrollbar();\n // chart.cursor = new am4charts.XYCursor();\n // chart.scrollbarX.exportable = false;\n // chart.data = data;\n\n // chart.exporting.menu = new am4core.ExportMenu();\n // // Create axes\n // var categoryAxis = chart.xAxes.push(new am4charts.CategoryAxis());\n // categoryAxis.dataFields.category = \"category\";\n // categoryAxis.renderer.minGridDistance = 30;\n // categoryAxis.renderer.grid.template.location = 0;\n\n // var valueAxis = chart.yAxes.push(new am4charts.ValueAxis());\n // valueAxis.renderer.labels.template.adapter.add(\"text\", function (text, target) {\n // var val = text == \"0.00\" ? \"0\" : text;\n // return val;\n // });\n // if (this.drpdnOption == 'Units') {\n // valueAxis.title.text = \"No.\";\n // chart.numberFormatter.numberFormat = \"0\";\n // valueAxis.renderer.labels.template.adapter.add(\"text\", function (text, target) {\n // var val = parseFloat(text) % 1 != 0 ? \"\" : parseInt(text).toString();\n // return val;\n // });\n // }\n // else {\n // if (this.currency == 1) valueAxis.title.text = \"USD\";\n // if (this.currency == 2) valueAxis.title.text = \"EURO\";\n // if (this.currency == 3) valueAxis.title.text = \"INR\";\n // chart.numberFormatter.numberFormat = \"0.00\";\n // }\n\n // valueAxis.title.fontWeight = \"bold\";\n // valueAxis.title.fontSize = \"16px\";\n // valueAxis.min = 0;\n // valueAxis.extraMax = 0.5;\n\n // //valueAxis.extraMax = 0.1;\n // valueAxis.calculateTotals = true;\n\n // //#region \"LineSeries1\"\n // let lineSeries = chart.series.push(new am4charts.LineSeries());\n // lineSeries.name = \"Won\";\n // lineSeries.dataFields.valueY = \"valueLine1\";\n // lineSeries.dataFields.categoryX = \"category\";\n // lineSeries.tooltip.getFillFromObject = false;\n // lineSeries.tooltip.background.fill = am4core.color(\"#4a463c\");\n // lineSeries.stroke = am4core.color(\"#80ff80\"); //For line or column color\n\n // let bullet = lineSeries.bullets.push(new am4charts.Bullet());\n // bullet.fill = am4core.color(\"#80ff80\"); // tooltips grab fill from parent by default\n // bullet.tooltipText = \"[#fff font-size: 13px]{name} in {categoryX}: [/][#fff font-size: 13px]{valueY}[/] [#fff]{additional}[/]\"\n // let circle = bullet.createChild(am4core.Circle);\n // circle.radius = 4;\n // circle.fill = am4core.color(\"#fff\");\n // circle.strokeWidth = 3;\n\n // let labelBullet = lineSeries.bullets.push(new am4charts.LabelBullet());\n // labelBullet.label.text = \"{valueL1}\";\n // labelBullet.label.verticalCenter = \"bottom\";\n // //#endregion\n\n // //#region \"LineSeries2\"\n // let lineSeries2 = chart.series.push(new am4charts.LineSeries());\n // lineSeries2.name = \"Lost\";\n // lineSeries2.dataFields.valueY = \"valueLine2\";\n // lineSeries2.dataFields.categoryX = \"category\";\n // lineSeries2.tooltip.getFillFromObject = false;\n // lineSeries2.tooltip.background.fill = am4core.color(\"#4a463c\");\n // lineSeries2.stroke = am4core.color(\"#ff4d4d\"); //For line or column color\n\n // let bullet2 = lineSeries2.bullets.push(new am4charts.Bullet());\n // bullet2.fill = am4core.color(\"#ff4d4d\"); // tooltips grab fill from parent by default\n // bullet2.tooltipText = \"[#fff font-size: 13px]{name} in {categoryX}: [/][#fff font-size: 13px]{valueY}[/] [#fff]{additional}[/]\"\n // let circle2 = bullet2.createChild(am4core.Circle);\n // circle2.radius = 4;\n // circle2.fill = am4core.color(\"#fff\");\n // circle2.strokeWidth = 3;\n\n // let labelBullet2 = lineSeries2.bullets.push(new am4charts.LabelBullet());\n // labelBullet2.label.text = \"{valueL2}\";\n // labelBullet2.label.verticalCenter = \"bottom\";\n // //#endregion\n\n // //#region \"LineSeries3\"\n // let lineSeries3 = chart.series.push(new am4charts.LineSeries());\n // lineSeries3.name = \"Open\";\n // lineSeries3.dataFields.valueY = \"valueLine3\";\n // lineSeries3.dataFields.categoryX = \"category\";\n // lineSeries3.tooltip.getFillFromObject = false;\n // lineSeries3.tooltip.background.fill = am4core.color(\"#4a463c\");\n // //lineSeries2.stroke = am4core.color(\"#80ff80\"); //For line or column color\n\n // let bullet3 = lineSeries3.bullets.push(new am4charts.Bullet());\n // bullet3.fill = am4core.color(\"#4a463c\"); // tooltips grab fill from parent by default\n // bullet3.tooltipText = \"[#fff font-size: 13px]{name} in {categoryX}: [/][#fff font-size: 13px]{valueY}[/] [#fff]{additional}[/]\"\n // let circle3 = bullet3.createChild(am4core.Circle);\n // circle3.radius = 4;\n // circle3.fill = am4core.color(\"#fff\");\n // circle3.strokeWidth = 3;\n\n // let labelBullet3 = lineSeries3.bullets.push(new am4charts.LabelBullet());\n // labelBullet3.label.text = \"{valueL2}\";\n // labelBullet3.label.verticalCenter = \"bottom\";\n // //#endregion\n\n // // Create series\n // function createSeries(field, name, color) {\n\n // // Set up series\n // var series = chart.series.push(new am4charts.ColumnSeries());\n // series.name = name;\n // series.dataFields.valueY = field;\n // series.dataFields.categoryX = \"category\";\n // series.sequencedInterpolation = true;\n\n // // Make it stacked\n // series.stacked = true;\n\n // // Configure columns\n // series.columns.template.width = am4core.percent(60);\n // series.fill = am4core.color(color);\n // series.columns.template.tooltipText = \"[bold]{name}[/]\\n[font-size:14px]{categoryX}: {valueY}\";\n // series.tooltip.background.fill = am4core.color(\"#4a463c\");\n\n // // Add label\n // var labelBullet = series.bullets.push(new am4charts.LabelBullet());\n // labelBullet.label.text = \"{valueY}\";\n // labelBullet.locationY = 0.5;\n // labelBullet.label.hideOversized = true;\n\n // return series;\n // }\n\n // createSeries(\"valueBar1\", \"Won\", \"#80ff80\");\n // createSeries(\"valueBar2\", \"Lost\", \"#ff4d4d\");\n // createSeries(\"valueBar3\", \"Open\", \"#6771dc\");\n\n // // Legend\n // chart.legend = new am4charts.Legend();\n\n // })\n // }\n\n OrderValuesChart() {\n const that = this;\n this.showLoader = true;\n let queryString = \"\";\n queryString += \"drpdnOption=\" + this.drpdnOption;\n queryString += \"&Year=\" + this.Year;\n queryString += \"®ionid=\" + this.region;\n queryString += \"¤cy=\" + this.currency;\n\n this.commonService.GetData(\"Dashboard\", \"OrderValuesChart\", queryString).subscribe((data: any) => {\n\n var chart = am4core.create(\"OrderValuesChart\", am4charts.XYChart);\n // Add data\n chart.scrollbarX = new am4core.Scrollbar();\n chart.scrollbarY = new am4core.Scrollbar();\n // chart.cursor = new am4charts.XYCursor();\n chart.scrollbarX.exportable = false;\n chart.scrollbarY.exportable = false;\n chart.data = data;\n chart.exporting.menu = new am4core.ExportMenu();\n let options = chart.exporting.getFormatOptions(\"pdf\");\n options.addURL = false;\n chart.exporting.setFormatOptions(\"pdf\", options);\n chart.exporting.filePrefix = \"Enquiry_Status\";\n /**************Custom Export**************** */\n chart.exporting.menu.items = [\n {\n \"label\": \"...\",\n \"menu\": [\n {\n \"label\": \"Image\",\n \"menu\": [\n { \"type\": \"png\", \"label\": \"PNG\" },\n { \"type\": \"jpg\", \"label\": \"JPG\" },\n // { \"type\": \"svg\", \"label\": \"SVG\" },\n { \"type\": \"pdf\", \"label\": \"PDF\" }\n ]\n }, {\n \"label\": \"Data\",\n \"menu\": [\n { \"type\": \"xlsx\", \"label\": \"XLSX\" },\n ]\n }, {\n \"label\": \"Print\", \"type\": \"print\"\n }\n ]\n }\n ];\n let CurrencyLabel = \"\";\n if (this.drpdnOption == \"Amount\") {\n // if (this.currency == 1) CurrencyLabel = \"(USD)\";\n // if (this.currency == 2) CurrencyLabel = \"(EURO)\";\n // if (this.currency == 3) CurrencyLabel = \"(INR)\";\n if (this.currencyCode == \"USD\") CurrencyLabel = \"(USD)\";\n if (this.currencyCode == \"Euro\") CurrencyLabel = \"(EURO)\";\n //if (this.currencyCode == \"INR\") CurrencyLabel = \"(INR)\";\n if (this.currencyCode == \"VND\") CurrencyLabel = \"(VND)\";\n if (this.currencyCode == \"IDR\") CurrencyLabel = \"(IDR)\";\n if (this.currencyCode == \"PHP\") CurrencyLabel = \"(PHP)\";\n if (this.currencyCode == \"THB\") CurrencyLabel = \"(THB)\";\n if (this.currencyCode == \"MYR\") CurrencyLabel = \"(MYR)\";\n if (this.currencyCode == \"SGD\") CurrencyLabel = \"(SGD)\";\n }\n else {\n CurrencyLabel = \"(No's)\";\n }\n chart.exporting.dataFields = {\n \"category\": \"Month\",\n \"valueBar1\": \"Won_Individual\" + CurrencyLabel,\n \"valueLine1\": \"Won_Cumulative\" + CurrencyLabel,\n \"valueBar2\": \"Lost_Individual\" + CurrencyLabel,\n \"valueLine2\": \"Lost_Cumulative\" + CurrencyLabel,\n \"valueBar3\": \"Open_Individual\" + CurrencyLabel,\n \"valueLine3\": \"Open_Cumulative\" + CurrencyLabel\n }\n /**************End Custom Export**************** */\n\n let title = chart.titles.create();\n title.text = \"Enquiry Status\";\n title.fontSize = 15;\n title.fontWeight = \"bold\";\n title.marginBottom = 30;\n // Create axes\n var categoryAxis = chart.xAxes.push(new am4charts.CategoryAxis());\n categoryAxis.dataFields.category = \"category\";\n categoryAxis.renderer.minGridDistance = 30;\n categoryAxis.renderer.grid.template.location = 0;\n\n var valueAxis = chart.yAxes.push(new am4charts.ValueAxis());\n valueAxis.renderer.labels.template.adapter.add(\"text\", function (text, target) {\n var val = text == \"0.00\" ? \"0\" : text;\n return val;\n });\n /**************Scrolling Start End Point**************** */\n chart.events.on(\"beforedatavalidated\", function(ev) {\n categoryAxis.start = 0;\n categoryAxis.end = 0.5;\n valueAxis.start = 0;\n valueAxis.end = 1;\n });\n /**************End Scrolling Start End Point**************** */\n if (this.drpdnOption == 'Units') {\n valueAxis.title.text = \"No.\";\n chart.numberFormatter.numberFormat = \"0\";\n valueAxis.renderer.labels.template.adapter.add(\"text\", function (text, target) {\n var val = parseFloat(text) % 1 != 0 ? \"\" : parseInt(text).toString();\n return val;\n });\n }\n else {\n // if (this.currency == 1) valueAxis.title.text = \"USD\";\n // if (this.currency == 2) valueAxis.title.text = \"EURO\";\n // if (this.currency == 3) valueAxis.title.text = \"INR\";\n if (this.currencyCode == \"USD\") valueAxis.title.text = \"USD\";\n if (this.currencyCode == \"Euro\") valueAxis.title.text = \"EURO\";\n //if (this.currencyCode == \"INR\") valueAxis.title.text = \"INR\";\n if (this.currencyCode == \"VND\") valueAxis.title.text = \"VND\";\n if (this.currencyCode == \"IDR\") valueAxis.title.text = \"IDR\";\n if (this.currencyCode == \"PHP\") valueAxis.title.text = \"PHP\";\n if (this.currencyCode == \"THB\") valueAxis.title.text = \"THB\";\n if (this.currencyCode == \"MYR\") valueAxis.title.text = \"MYR\";\n if (this.currencyCode == \"SGD\") valueAxis.title.text = \"SGD\";\n // chart.numberFormatter.numberFormat = \"0.00\";\n }\n\n valueAxis.title.fontWeight = \"bold\";\n valueAxis.title.fontSize = \"16px\";\n valueAxis.min = 0;\n valueAxis.events.on(\"ready\", function (ev) {\n ev.target.min = ev.target.min;\n ev.target.max = ev.target.max;\n if (ev.target.max < 0.1) valueAxis.extraMax = 10;\n if (ev.target.max > 0.1 && ev.target.max < 1) valueAxis.extraMax = 5;\n if (ev.target.max > 1) valueAxis.extraMax = 0.2;\n if (ev.target.max == undefined) valueAxis.extraMax = 0.2;\n\n })\n\n\n valueAxis.calculateTotals = true;\n\n //#region \"LineSeries1\"\n let lineSeries = chart.series.push(new am4charts.LineSeries());\n lineSeries.name = \"Won\";\n lineSeries.dataFields.valueY = \"valueLine1\";\n lineSeries.dataFields.categoryX = \"category\";\n lineSeries.tooltip.getFillFromObject = false;\n lineSeries.tooltip.background.fill = am4core.color(\"#4a463c\");\n lineSeries.stroke = am4core.color(\"#80ff80\"); //For line or column color\n\n let bullet = lineSeries.bullets.push(new am4charts.Bullet());\n bullet.fill = am4core.color(\"#80ff80\"); // tooltips grab fill from parent by default\n bullet.tooltipText = \"[#fff font-size: 13px]{name} in {categoryX}: [/][#fff font-size: 13px]{valueY}[/] [#fff]{additional}[/]\"\n let circle = bullet.createChild(am4core.Circle);\n circle.radius = 4;\n circle.fill = am4core.color(\"#fff\");\n circle.strokeWidth = 3;\n\n let labelBullet = lineSeries.bullets.push(new am4charts.LabelBullet());\n labelBullet.label.text = \"{valueL1}\";\n labelBullet.label.verticalCenter = \"bottom\";\n //#endregion\n\n //#region \"LineSeries2\"\n let lineSeries2 = chart.series.push(new am4charts.LineSeries());\n lineSeries2.name = \"Lost\";\n lineSeries2.dataFields.valueY = \"valueLine2\";\n lineSeries2.dataFields.categoryX = \"category\";\n lineSeries2.tooltip.getFillFromObject = false;\n lineSeries2.tooltip.background.fill = am4core.color(\"#4a463c\");\n lineSeries2.stroke = am4core.color(\"#ff4d4d\"); //For line or column color\n\n let bullet2 = lineSeries2.bullets.push(new am4charts.Bullet());\n bullet2.fill = am4core.color(\"#ff4d4d\"); // tooltips grab fill from parent by default\n bullet2.tooltipText = \"[#fff font-size: 13px]{name} in {categoryX}: [/][#fff font-size: 13px]{valueY}[/] [#fff]{additional}[/]\"\n let circle2 = bullet2.createChild(am4core.Circle);\n circle2.radius = 4;\n circle2.fill = am4core.color(\"#fff\");\n circle2.strokeWidth = 3;\n\n let labelBullet2 = lineSeries2.bullets.push(new am4charts.LabelBullet());\n labelBullet2.label.text = \"{valueL2}\";\n labelBullet2.label.verticalCenter = \"bottom\";\n //#endregion\n\n //#region \"LineSeries3\"\n let lineSeries3 = chart.series.push(new am4charts.LineSeries());\n lineSeries3.name = \"Open\";\n lineSeries3.dataFields.valueY = \"valueLine3\";\n lineSeries3.dataFields.categoryX = \"category\";\n lineSeries3.tooltip.getFillFromObject = false;\n lineSeries3.tooltip.background.fill = am4core.color(\"#4a463c\");\n //lineSeries2.stroke = am4core.color(\"#80ff80\"); //For line or column color\n\n let bullet3 = lineSeries3.bullets.push(new am4charts.Bullet());\n bullet3.fill = am4core.color(\"#4a463c\"); // tooltips grab fill from parent by default\n bullet3.tooltipText = \"[#fff font-size: 13px]{name} in {categoryX}: [/][#fff font-size: 13px]{valueY}[/] [#fff]{additional}[/]\"\n let circle3 = bullet3.createChild(am4core.Circle);\n circle3.radius = 4;\n circle3.fill = am4core.color(\"#fff\");\n circle3.strokeWidth = 3;\n\n let labelBullet3 = lineSeries3.bullets.push(new am4charts.LabelBullet());\n labelBullet3.label.text = \"{valueL2}\";\n labelBullet3.label.verticalCenter = \"bottom\";\n //#endregion\n\n // Create series\n function createSeries(field, name, color) {\n // Set up series\n var series = chart.series.push(new am4charts.ColumnSeries());\n series.name = name;\n series.dataFields.valueY = field;\n series.dataFields.categoryX = \"category\";\n series.sequencedInterpolation = true;\n\n // Make it stacked\n series.stacked = true;\n\n // Configure columns\n series.columns.template.width = am4core.percent(60);\n series.fill = am4core.color(color);\n series.columns.template.tooltipText = \"[bold]{name}[/]\\n[font-size:14px]{categoryX}: {valueY}\";\n series.tooltip.background.fill = am4core.color(\"#4a463c\");\n\n // Add label\n var labelBullet = series.bullets.push(new am4charts.LabelBullet());\n labelBullet.label.text = \"{valueY}\";\n labelBullet.locationY = 0.5;\n labelBullet.label.hideOversized = true;\n\n return series;\n }\n\n createSeries(\"valueBar1\", \"Won\", \"#80ff80\");\n createSeries(\"valueBar2\", \"Lost\", \"#ff4d4d\");\n createSeries(\"valueBar3\", \"Open\", \"#6771dc\");\n\n // Legend\n chart.legend = new am4charts.Legend();\n\n })\n }\n showIndicator(chart, indicator) {\n if (indicator) {\n indicator.show();\n }\n else {\n indicator = chart.tooltipContainer.createChild(am4core.Container);\n indicator.background.fill = am4core.color(\"#fff\");\n indicator.background.fillOpacity = 0.8;\n indicator.width = am4core.percent(100);\n indicator.height = am4core.percent(100);\n\n var indicatorLabel = indicator.createChild(am4core.Label);\n indicatorLabel.text = \"No data available for the selection...\";\n indicatorLabel.align = \"center\";\n indicatorLabel.valign = \"middle\";\n indicatorLabel.fontSize = 20;\n }\n }\n\n hideIndicator(indicator) {\n indicator.hide();\n }\n // OpenChartPopup()\n // {\n // const modalRef = this.modalService.open(OrderValuesChartComponent, { size: 'lg' });\n // modalRef.componentInstance.Year = this.Year;\n // modalRef.componentInstance.region = this.region;\n // modalRef.componentInstance.currency = this.currency;\n // modalRef.componentInstance.filterChanged = this.filterChanged;\n // modalRef.componentInstance.mode = \"view\";\n\n // }\n // ClosePopup()\n // {\n // this.modal.close();\n // }\n}\n","\n
    \n
    \n
    \n
    \n

    \n Enquiry Status\n

    \n
    \n
    \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n
    \n","import { Component, OnInit, Input } from '@angular/core';\nimport * as am4core from \"@amcharts/amcharts4/core\";\nimport * as am4charts from \"@amcharts/amcharts4/charts\";\nimport { ToastrService } from 'ngx-toastr';\nimport { CommonService } from 'src/app/Service/common.service';\n\n@Component({\n selector: 'app-order-win-lost-chart',\n templateUrl: './order-win-lost-chart.component.html',\n styleUrls: ['./order-win-lost-chart.component.scss']\n})\nexport class OrderWinLostChartComponent implements OnInit {\n\n @Input()\n showLoader: boolean = false;\n drpdnOption: string = \"Amount\";\n type: string = \"Won\";\n\n @Input() Year: number;\n @Input() region: number;\n @Input() currency: number;\n @Input() filterChanged: boolean;\n @Input() currencyCode: string;\n constructor(private toastr: ToastrService, private commonService: CommonService) { }\n\n ngOnInit(): void {\n //am4core.options.onlyShowOnViewport = true;\n this.OrderWinLostChart();\n\n }\n ngOnChanges(): void {\n if (this.filterChanged) this.OrderWinLostChart();\n }\n\n OnSelectChange() {\n this.OrderWinLostChart();\n }\n\n OrderWinLostChart() {\n this.showLoader = true;\n let queryString = \"\";\n queryString += \"drpdnOption=\" + this.drpdnOption;\n queryString += \"&Year=\" + this.Year;\n queryString += \"&type=\" + this.type;\n queryString += \"®ionid=\" + this.region;\n queryString += \"¤cy=\" + this.currency;\n\n this.commonService.GetData(\"Dashboard\", \"OrderWinLossChart\", queryString).subscribe((data: any) => {\n // Create chart instance\n let chart = am4core.create(\"OrderWinLostChart\", am4charts.XYChart);\n let title = chart.titles.create();\n title.text = \"Order Won/Lost Analysis\";\n title.fontSize = 15;\n title.fontWeight = \"bold\";\n title.marginBottom = 30;\n\n // Export\n chart.scrollbarX = new am4core.Scrollbar();\n chart.scrollbarY = new am4core.Scrollbar();\n // chart.cursor = new am4charts.XYCursor();\n chart.scrollbarX.exportable = false;\n chart.scrollbarY.exportable = false;\n chart.exporting.menu = new am4core.ExportMenu();\n let options = chart.exporting.getFormatOptions(\"pdf\");\n options.addURL = false;\n chart.exporting.setFormatOptions(\"pdf\", options);\n chart.exporting.filePrefix = \"OrderWon_LostAnalysis\";\n /**************Custom Export**************** */\n chart.exporting.menu.items = [\n {\n \"label\": \"...\",\n \"menu\": [\n {\n \"label\": \"Image\",\n \"menu\": [\n { \"type\": \"png\", \"label\": \"PNG\" },\n { \"type\": \"jpg\", \"label\": \"JPG\" },\n // { \"type\": \"svg\", \"label\": \"SVG\" },\n { \"type\": \"pdf\", \"label\": \"PDF\" }\n ]\n }, {\n \"label\": \"Data\",\n \"menu\": [\n { \"type\": \"xlsx\", \"label\": \"XLSX\" },\n ]\n }, {\n \"label\": \"Print\", \"type\": \"print\"\n }\n ]\n }\n ];\n let CurrencyLabel = \"\";\n if (this.drpdnOption == \"Amount\") {\n // if (this.currency == 1) CurrencyLabel = \"(USD)\";\n // if (this.currency == 2) CurrencyLabel = \"(EURO)\";\n // if (this.currency == 3) CurrencyLabel = \"(INR)\";\n if (this.currencyCode == \"USD\") CurrencyLabel = \"(USD)\";\n if (this.currencyCode == \"Euro\") CurrencyLabel = \"(EURO)\";\n //if (this.currencyCode == \"INR\") CurrencyLabel = \"(INR)\";\n if (this.currencyCode == \"VND\") CurrencyLabel = \"(VND)\";\n if (this.currencyCode == \"IDR\") CurrencyLabel = \"(IDR)\";\n if (this.currencyCode == \"PHP\") CurrencyLabel = \"(PHP)\";\n if (this.currencyCode == \"THB\") CurrencyLabel = \"(THB)\";\n if (this.currencyCode == \"MYR\") CurrencyLabel = \"(MYR)\";\n if (this.currencyCode == \"SGD\") CurrencyLabel = \"(SGD)\";\n }\n else {\n CurrencyLabel = \"(No's)\";\n }\n chart.exporting.dataFields = {\n \"category\": this.type + \"_Reason\",\n \"value\": this.type + \"_\" + this.drpdnOption + CurrencyLabel,\n\n }\n /**************End Custom Export**************** */\n\n // Data for both series\n chart.data = data;\n\n /* Create axes */\n let categoryAxis = chart.xAxes.push(new am4charts.CategoryAxis());\n\n\n categoryAxis.dataFields.category = \"category\";\n categoryAxis.renderer.minGridDistance = 30;\n //categoryAxis.renderer.labels.template.rotation = -45;\n\n /* Create value axis */\n let valueAxis = chart.yAxes.push(new am4charts.ValueAxis());\n valueAxis.renderer.labels.template.adapter.add(\"text\", function (text, target) {\n var val = text == \"0.00\" ? \"0\" : text;\n return val;\n });\n /**************Scrolling Start End Point**************** */\n chart.events.on(\"beforedatavalidated\", function(ev) {\n categoryAxis.start = 0;\n categoryAxis.end = 0.5;\n valueAxis.start = 0;\n valueAxis.end = 1;\n });\n /**************End Scrolling Start End Point**************** */\n if (this.drpdnOption == 'Units') {\n valueAxis.title.text = \"No.\";\n chart.numberFormatter.numberFormat = \"0\";\n valueAxis.renderer.labels.template.adapter.add(\"text\", function (text, target) {\n var val = parseFloat(text) % 1 != 0 ? \"\" : parseInt(text).toString();\n return val;\n });\n }\n else {\n // if (this.currency == 1) valueAxis.title.text = \"USD\";\n // if (this.currency == 2) valueAxis.title.text = \"EURO\";\n // if (this.currency == 3) valueAxis.title.text = \"INR\";\n if (this.currencyCode == \"USD\") valueAxis.title.text = \"USD\";\n if (this.currencyCode == \"Euro\") valueAxis.title.text = \"EURO\";\n //if (this.currencyCode == \"INR\") valueAxis.title.text = \"INR\";\n if (this.currencyCode == \"VND\") valueAxis.title.text = \"VND\";\n if (this.currencyCode == \"IDR\") valueAxis.title.text = \"IDR\";\n if (this.currencyCode == \"PHP\") valueAxis.title.text = \"PHP\";\n if (this.currencyCode == \"THB\") valueAxis.title.text = \"THB\";\n if (this.currencyCode == \"MYR\") valueAxis.title.text = \"MYR\";\n if (this.currencyCode == \"SGD\") valueAxis.title.text = \"SGD\";\n // chart.numberFormatter.numberFormat = \"0.00\";\n }\n valueAxis.title.fontWeight = \"bold\";\n valueAxis.title.fontSize = \"16px\";\n valueAxis.min = 0;\n valueAxis.extraMax = 0.5;\n\n\n /* Create series */\n let columnSeries = chart.series.push(new am4charts.ColumnSeries());\n\n columnSeries.dataFields.valueY = \"value\";\n columnSeries.dataFields.categoryX = \"category\";\n if (this.drpdnOption == 'Units') {\n if (this.type == 'Won') columnSeries.name = \"Won No's\";\n if (this.type == 'Lost') columnSeries.name = \"Lost No's\";\n }\n else {\n if (this.type == 'Won') columnSeries.name = \"Won Amount\";\n if (this.type == 'Lost') columnSeries.name = \"Lost Amount\";\n }\n columnSeries.columns.template.tooltipText = \"[#fff font-size: 13px]{name} in {categoryX}: [/][#fff font-size: 13px]{valueY}[/] [#fff]{additional}[/]\";\n columnSeries.columns.template.propertyFields.fillOpacity = \"fillOpacity\";\n columnSeries.columns.template.propertyFields.stroke = \"stroke\";\n columnSeries.columns.template.propertyFields.strokeWidth = \"strokeWidth\";\n columnSeries.columns.template.propertyFields.strokeDasharray = \"columnDash\";\n columnSeries.tooltip.label.textAlign = \"middle\";\n columnSeries.tooltip.getFillFromObject = false;\n columnSeries.tooltip.background.fill = am4core.color(\"#4a463c\");\n let colLabel = columnSeries.bullets.push(new am4charts.LabelBullet);\n categoryAxis.renderer.labels.template.maxWidth = 100;\n // categoryAxis.renderer.labels.template.truncate = true;\n categoryAxis.renderer.labels.template.wrap = true;\n categoryAxis.renderer.labels.template.tooltipText = '{category}';\n colLabel.label.text = \"{valueY}\";\n // colLabel.label.rotation = 0;\n colLabel.label.fontSize = 9;\n colLabel.label.padding(0, 0, 20, 0);\n colLabel.label.truncate = false;\n colLabel.label.hideOversized = false;\n\n\n\n // /* Create series */\n // let columnSeries2 = chart.series.push(new am4charts.ColumnSeries());\n // columnSeries2.name = \"Lost No.\";\n // columnSeries2.dataFields.valueY = \"valueL2\";\n // columnSeries2.dataFields.categoryX = \"category\";\n\n // columnSeries2.columns.template.tooltipText = \"[#fff font-size: 13px]{name} in {categoryX}: [/][#fff font-size: 13px]{valueY}[/] [#fff]{additional}[/]\";\n // columnSeries2.columns.template.propertyFields.fillOpacity = \"fillOpacity\";\n // columnSeries2.columns.template.propertyFields.stroke = \"stroke\";\n // columnSeries2.columns.template.propertyFields.strokeWidth = \"strokeWidth\";\n // columnSeries2.columns.template.propertyFields.strokeDasharray = \"columnDash\";\n // columnSeries2.tooltip.label.textAlign = \"middle\";\n // columnSeries2.tooltip.getFillFromObject = false;\n // columnSeries2.tooltip.background.fill = am4core.color(\"#4a463c\"); \n\n chart.legend = new am4charts.Legend();\n\n this.showLoader = false;\n }, error => {\n this.showLoader = false;\n\n });\n\n }\n\n\n}\n","\n
    \n
    \n
    \n
    \n

    \n Order Won/Lost Analysis\n

    \n
    \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    ","import { Component, OnInit, Input } from '@angular/core';\nimport * as am4core from \"@amcharts/amcharts4/core\";\nimport * as am4charts from \"@amcharts/amcharts4/charts\";\nimport { ToastrService } from 'ngx-toastr';\nimport { CommonService } from 'src/app/Service/common.service';\n\n@Component({\n selector: 'app-orderbacklog-supplychain-chart',\n templateUrl: './orderbacklog-supplychain-chart.component.html',\n styleUrls: ['./orderbacklog-supplychain-chart.component.scss']\n})\nexport class OrderbacklogSupplychainChartComponent implements OnInit {\n\n @Input()\n showLoader: boolean = false;\n drpdnOption: string = \"Amount\";\n\n @Input() Year: number;\n @Input() region: number;\n @Input() currency: number;\n @Input() filterChanged: boolean;\n @Input() currencyCode: string;\n constructor(private toastr: ToastrService, private commonService: CommonService) { }\n\n ngOnInit() {\n // am4core.options.onlyShowOnViewport = true;\n this.QuotationOrdIntake();\n\n }\n ngOnChanges(): void {\n if (this.filterChanged) this.QuotationOrdIntake();\n }\n\n OnSelectChange() {\n this.QuotationOrdIntake();\n }\n\n QuotationOrdIntake() {\n this.showLoader = true;\n let queryString = \"\";\n queryString += \"drpdnOption=\" + this.drpdnOption;\n queryString += \"&Year=\" + this.Year;\n queryString += \"®ionid=\" + this.region;\n queryString += \"¤cy=\" + this.currency;\n this.commonService.GetData(\"Dashboard\", \"OrderBacklogChart\", queryString).subscribe((data: any) => {\n let chart = am4core.create(\"OrderBacklogSupplyChainChart\", am4charts.XYChart);\n chart.scrollbarX = new am4core.Scrollbar();\n chart.scrollbarY = new am4core.Scrollbar();\n // chart.cursor = new am4charts.XYCursor();\n chart.scrollbarX.exportable = false;\n chart.scrollbarY.exportable = false;\n chart.exporting.menu = new am4core.ExportMenu();\n let options = chart.exporting.getFormatOptions(\"pdf\");\n options.addURL = false;\n chart.exporting.setFormatOptions(\"pdf\", options);\n chart.exporting.filePrefix = \"OrderBacklog\";\n /**************Custom Export**************** */\n chart.exporting.menu.items = [\n {\n \"label\": \"...\",\n \"menu\": [\n {\n \"label\": \"Image\",\n \"menu\": [\n { \"type\": \"png\", \"label\": \"PNG\" },\n { \"type\": \"jpg\", \"label\": \"JPG\" },\n // { \"type\": \"svg\", \"label\": \"SVG\" },\n { \"type\": \"pdf\", \"label\": \"PDF\" }\n ]\n }, {\n \"label\": \"Data\",\n \"menu\": [\n { \"type\": \"xlsx\", \"label\": \"XLSX\" },\n ]\n }, {\n \"label\": \"Print\", \"type\": \"print\"\n }\n ]\n }\n ];\n let CurrencyLabel = \"\";\n // if (this.currency == 1) CurrencyLabel = \"(USD)\";\n // if (this.currency == 2) CurrencyLabel = \"(EURO)\";\n // if (this.currency == 3) CurrencyLabel = \"(INR)\";\n if (this.currencyCode == \"USD\") CurrencyLabel = \"(USD)\";\n if (this.currencyCode == \"Euro\") CurrencyLabel = \"(EURO)\";\n //if (this.currencyCode == \"INR\") CurrencyLabel = \"(INR)\";\n if (this.currencyCode == \"VND\") CurrencyLabel = \"(VND)\";\n if (this.currencyCode == \"IDR\") CurrencyLabel = \"(IDR)\";\n if (this.currencyCode == \"PHP\") CurrencyLabel = \"(PHP)\";\n if (this.currencyCode == \"THB\") CurrencyLabel = \"(THB)\";\n if (this.currencyCode == \"MYR\") CurrencyLabel = \"(MYR)\";\n if (this.currencyCode == \"SGD\") CurrencyLabel = \"(SGD)\";\n\n chart.exporting.dataFields = {\n \"category\": \"Month\",\n \"value\": \"OrderBacklog\" + CurrencyLabel,\n }\n /**************End Custom Export**************** */\n\n let title = chart.titles.create();\n title.text = \"Order Backlog\";\n title.fontSize = 15;\n title.fontWeight = \"bold\";\n title.marginBottom = 30;\n chart.data = data;\n /* Create axes */\n let categoryAxis = chart.xAxes.push(new am4charts.CategoryAxis());\n categoryAxis.dataFields.category = \"category\";\n categoryAxis.renderer.minGridDistance = 30;\n\n /* Create value axis */\n let valueAxis = chart.yAxes.push(new am4charts.ValueAxis());\n valueAxis.renderer.labels.template.adapter.add(\"text\", function (text, target) {\n var val = text == \"0.00\" ? \"0\" : text;\n return val;\n });\n /**************Scrolling Start End Point**************** */\n chart.events.on(\"beforedatavalidated\", function(ev) {\n categoryAxis.start = 0;\n categoryAxis.end = 0.5;\n valueAxis.start = 0;\n valueAxis.end = 1;\n });\n /**************End Scrolling Start End Point**************** */\n if (this.drpdnOption == 'Units') {\n valueAxis.title.text = \"No.\";\n chart.numberFormatter.numberFormat = \"0\";\n valueAxis.renderer.labels.template.adapter.add(\"text\", function (text, target) {\n var val = parseFloat(text) % 1 != 0 ? \"\" : parseInt(text).toString();\n return val;\n });\n }\n else {\n // if (this.currency == 1) valueAxis.title.text = \"USD\";\n // if (this.currency == 2) valueAxis.title.text = \"EURO\";\n // if (this.currency == 3) valueAxis.title.text = \"INR\";\n if (this.currencyCode == \"USD\") valueAxis.title.text = \"USD\";\n if (this.currencyCode == \"Euro\") valueAxis.title.text = \"EURO\";\n //if (this.currencyCode == \"INR\") valueAxis.title.text = \"INR\";\n if (this.currencyCode == \"VND\") valueAxis.title.text = \"VND\";\n if (this.currencyCode == \"IDR\") valueAxis.title.text = \"IDR\";\n if (this.currencyCode == \"PHP\") valueAxis.title.text = \"PHP\";\n if (this.currencyCode == \"THB\") valueAxis.title.text = \"THB\";\n if (this.currencyCode == \"MYR\") valueAxis.title.text = \"MYR\";\n if (this.currencyCode == \"SGD\") valueAxis.title.text = \"SGD\";\n // chart.numberFormatter.numberFormat = \"0.00\";\n }\n valueAxis.title.fontWeight = \"bold\";\n valueAxis.title.fontSize = \"16px\";\n valueAxis.min = 0;\n\n valueAxis.events.on(\"ready\", function (ev) {\n ev.target.min = ev.target.min;\n ev.target.max = ev.target.max;\n if (ev.target.max < 0.1) valueAxis.extraMax = 10;\n if (ev.target.max > 0.1 && ev.target.max < 1) valueAxis.extraMax = 5;\n if (ev.target.max > 1) valueAxis.extraMax = 0.2;\n })\n valueAxis.calculateTotals = true;\n //#region \"ColumnSeries1\"\n /* Create series */\n let columnSeries = chart.series.push(new am4charts.ColumnSeries());\n columnSeries.name = \"Order Backlog\";\n columnSeries.dataFields.valueY = \"value\";\n columnSeries.dataFields.categoryX = \"category\";\n columnSeries.columns.template.tooltipText = \"[#fff font-size: 13px]{name} in {category}: [/][#fff font-size: 13px]{value}[/] [#fff]{additional}[/]\";\n columnSeries.columns.template.propertyFields.fillOpacity = \"fillOpacity\";\n columnSeries.columns.template.propertyFields.stroke = \"stroke\";\n columnSeries.columns.template.propertyFields.strokeWidth = \"strokeWidth\";\n columnSeries.columns.template.propertyFields.strokeDasharray = \"columnDash\";\n columnSeries.tooltip.label.textAlign = \"middle\";\n columnSeries.tooltip.getFillFromObject = false;\n columnSeries.fill = am4core.color(\"#6794dc\");\n columnSeries.tooltip.background.fill = am4core.color(\"#4a463c\");\n let colLabel = columnSeries.bullets.push(new am4charts.LabelBullet);\n colLabel.label.text = \"{valueY}\";\n colLabel.label.rotation = 0;\n colLabel.label.fontSize = 9;\n colLabel.label.padding(0, 0, 20, 0);\n colLabel.label.truncate = false;\n colLabel.label.hideOversized = false;\n //#endregion\n chart.legend = new am4charts.Legend();\n this.showLoader = false;\n }, error => {\n this.showLoader = false;\n\n });\n\n }\n\n}\n","\n
    \n
    \n
    \n
    \n

    \n Order Backlog\n

    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    ","import { Component, OnInit, Input } from '@angular/core';\nimport * as am4core from \"@amcharts/amcharts4/core\";\nimport * as am4charts from \"@amcharts/amcharts4/charts\";\nimport { ToastrService } from 'ngx-toastr';\nimport { CommonService } from 'src/app/Service/common.service';\n\n@Component({\n selector: 'app-quatation-order-intake-chart',\n templateUrl: './quatation-order-intake-chart.component.html',\n styleUrls: ['./quatation-order-intake-chart.component.scss']\n})\nexport class QuatationOrderIntakeChartComponent implements OnInit {\n\n @Input()\n showLoader: boolean = false;\n drpdnOption: string = \"Amount\";\n\n @Input() Year: number;\n @Input() region: number;\n @Input() currency: number;\n @Input() filterChanged: boolean;\n @Input() currencyCode: string;\n constructor(private toastr: ToastrService, private commonService: CommonService) { }\n\n ngOnInit() {\n // am4core.options.onlyShowOnViewport = true;\n this.QuotationOrdIntake();\n }\n ngOnChanges(): void {\n if (this.filterChanged) this.QuotationOrdIntake();\n }\n\n OnSelectChange() {\n this.QuotationOrdIntake();\n }\n\n QuotationOrdIntake() {\n this.showLoader = true;\n let queryString = \"\";\n queryString += \"drpdnOption=\" + this.drpdnOption;\n queryString += \"&Year=\" + this.Year;\n queryString += \"®ionid=\" + this.region;\n queryString += \"¤cy=\" + this.currency;\n\n this.commonService.GetData(\"Dashboard\", \"QuotationOrderIntakeChart\", queryString).subscribe((data: any) => {\n // Create chart instance\n let chart = am4core.create(\"QuotationOrdIntakeChart\", am4charts.XYChart);\n\n // Export\n chart.scrollbarX = new am4core.Scrollbar();\n chart.scrollbarY = new am4core.Scrollbar();\n // chart.cursor = new am4charts.XYCursor();\n chart.scrollbarX.exportable = false;\n chart.scrollbarY.exportable = false;\n chart.exporting.menu = new am4core.ExportMenu();\n let options = chart.exporting.getFormatOptions(\"pdf\");\n options.addURL = false;\n chart.exporting.setFormatOptions(\"pdf\", options);\n chart.exporting.filePrefix = \"QuotationOrderIntake\";\n /**************Custom Export**************** */\n chart.exporting.menu.items = [\n {\n \"label\": \"...\",\n \"menu\": [\n {\n \"label\": \"Image\",\n \"menu\": [\n { \"type\": \"png\", \"label\": \"PNG\" },\n { \"type\": \"jpg\", \"label\": \"JPG\" },\n // { \"type\": \"svg\", \"label\": \"SVG\" },\n { \"type\": \"pdf\", \"label\": \"PDF\" }\n ]\n }, {\n \"label\": \"Data\",\n \"menu\": [\n { \"type\": \"xlsx\", \"label\": \"XLSX\" },\n ]\n }, {\n \"label\": \"Print\", \"type\": \"print\"\n }\n ]\n }\n ];\n let CurrencyLabel = \"\";\n if (this.drpdnOption == \"Amount\") {\n // if (this.currency == 1) CurrencyLabel = \"(USD)\";\n // if (this.currency == 2) CurrencyLabel = \"(EURO)\";\n // if (this.currency == 3) CurrencyLabel = \"(INR)\";\n if (this.currencyCode == \"USD\") CurrencyLabel = \"(USD)\";\n if (this.currencyCode == \"Euro\") CurrencyLabel = \"(EURO)\";\n //if (this.currencyCode == \"INR\") CurrencyLabel = \"(INR)\";\n if (this.currencyCode == \"VND\") CurrencyLabel = \"(VND)\";\n if (this.currencyCode == \"IDR\") CurrencyLabel = \"(IDR)\";\n if (this.currencyCode == \"PHP\") CurrencyLabel = \"(PHP)\";\n if (this.currencyCode == \"THB\") CurrencyLabel = \"(THB)\";\n if (this.currencyCode == \"MYR\") CurrencyLabel = \"(MYR)\";\n if (this.currencyCode == \"SGD\") CurrencyLabel = \"(SGD)\";\n }\n else {\n CurrencyLabel = \"(No's)\";\n }\n chart.exporting.dataFields = {\n \"category\": \"Month\",\n \"valueBar1\": \"Quotation_Individual\" + CurrencyLabel,\n \"valueLine1\": \"Quotation_Cumulative\" + CurrencyLabel,\n \"valueBar2\": \"OrderBooked_Individual\" + CurrencyLabel,\n \"valueLine2\": \"OrderBooked_Cumulative\" + CurrencyLabel,\n\n }\n /**************End Custom Export**************** */\n\n let title = chart.titles.create();\n title.text = \"Quotation vs Order Booked\";\n title.fontSize = 15;\n title.fontWeight = \"bold\";\n title.marginBottom = 30;\n\n chart.data = data;\n\n /* Create axes */\n let categoryAxis = chart.xAxes.push(new am4charts.CategoryAxis());\n categoryAxis.dataFields.category = \"category\";\n categoryAxis.renderer.minGridDistance = 30;\n\n\n /* Create value axis */\n let valueAxis = chart.yAxes.push(new am4charts.ValueAxis());\n valueAxis.renderer.labels.template.adapter.add(\"text\", function (text, target) {\n // var val = parseFloat(text)%1!=0 ? \"\" : parseInt(text).toString();\n var val = text == \"0.00\" ? \"0\" : text;\n return val;\n });\n /*******Change by Ashwini *********/\n\n /**************Scrolling Start End Point**************** */\n chart.events.on(\"beforedatavalidated\", function(ev) {\n categoryAxis.start = 0;\n categoryAxis.end = 0.5;\n valueAxis.start = 0;\n valueAxis.end = 1;\n });\n /**************End Scrolling Start End Point**************** */\n if (this.drpdnOption == 'Units') {\n valueAxis.title.text = \"No.\";\n chart.numberFormatter.numberFormat = \"0\";\n valueAxis.renderer.labels.template.adapter.add(\"text\", function (text, target) {\n var val = parseFloat(text) % 1 != 0 ? \"\" : parseInt(text).toString();\n return val;\n });\n }\n else {\n // if (this.currency == 1) valueAxis.title.text = \"USD\";\n // if (this.currency == 2) valueAxis.title.text = \"EURO\";\n // if (this.currency == 3) valueAxis.title.text = \"INR\";\n if (this.currencyCode == \"USD\") valueAxis.title.text = \"USD\";\n if (this.currencyCode == \"Euro\") valueAxis.title.text = \"EURO\";\n //if (this.currencyCode == \"INR\") valueAxis.title.text = \"INR\";\n if (this.currencyCode == \"VND\") valueAxis.title.text = \"VND\";\n if (this.currencyCode == \"IDR\") valueAxis.title.text = \"IDR\";\n if (this.currencyCode == \"PHP\") valueAxis.title.text = \"PHP\";\n if (this.currencyCode == \"THB\") valueAxis.title.text = \"THB\";\n if (this.currencyCode == \"MYR\") valueAxis.title.text = \"MYR\";\n if (this.currencyCode == \"SGD\") valueAxis.title.text = \"SGD\";\n // chart.numberFormatter.numberFormat = \"0.000\";\n }\n valueAxis.title.fontWeight = \"bold\";\n valueAxis.title.fontSize = \"16px\";\n valueAxis.min = 0;\n valueAxis.events.on(\"ready\", function (ev) {\n ev.target.min = ev.target.min;\n ev.target.max = ev.target.max;\n if (ev.target.max < 0.1) valueAxis.extraMax = 10;\n if (ev.target.max > 0.1 && ev.target.max < 1) valueAxis.extraMax = 5;\n if (ev.target.max > 1) valueAxis.extraMax = 0.2;\n })\n\n valueAxis.calculateTotals = true;\n /********End *********/\n\n valueAxis.renderer.labels.template.adapter.add(\"text\", function (text, target) {\n var val = text == \"0.00\" ? \"0\" : text;\n return val;\n });\n valueAxis.title.fontWeight = \"bold\";\n valueAxis.title.fontSize = \"16px\";\n valueAxis.min = 0;\n valueAxis.extraMax = 0.5;\n\n\n\n\n //#region \"ColumnSeries1\"\n /* Create series */\n let columnSeries = chart.series.push(new am4charts.ColumnSeries());\n columnSeries.name = \"Quotation\";\n columnSeries.dataFields.valueY = \"valueBar1\";\n columnSeries.dataFields.categoryX = \"category\";\n\n columnSeries.columns.template.tooltipText = \"[#fff font-size: 13px]{name} in {categoryX}: [/][#fff font-size: 13px]{valueY}[/] [#fff]{additional}[/]\";\n columnSeries.columns.template.propertyFields.fillOpacity = \"fillOpacity\";\n columnSeries.columns.template.propertyFields.stroke = \"stroke\";\n columnSeries.columns.template.propertyFields.strokeWidth = \"strokeWidth\";\n columnSeries.columns.template.propertyFields.strokeDasharray = \"columnDash\";\n columnSeries.tooltip.label.textAlign = \"middle\";\n columnSeries.tooltip.getFillFromObject = false;\n columnSeries.fill = am4core.color(\"#ff4d4d\");\n columnSeries.tooltip.background.fill = am4core.color(\"#4a463c\");\n let colLabel = columnSeries.bullets.push(new am4charts.LabelBullet);\n colLabel.label.text = \"{valueY}\";\n colLabel.label.rotation = 0;\n colLabel.label.fontSize = 9;\n colLabel.label.padding(0, 0, 20, 0);\n colLabel.label.truncate = false;\n colLabel.label.hideOversized = false;\n //#endregion\n\n //#region \"ColumnSeries2\"\n /* Create series */\n let column2Series = chart.series.push(new am4charts.ColumnSeries());\n column2Series.name = \"Order Booked\";\n column2Series.dataFields.valueY = \"valueBar2\";\n column2Series.dataFields.categoryX = \"category\";\n\n column2Series.columns.template.tooltipText = \"[#fff font-size: 13px]{name} in {categoryX}: [/][#fff font-size: 13px]{valueY}[/] [#fff]{additional}[/]\";\n column2Series.columns.template.propertyFields.fillOpacity = \"fillOpacity\";\n column2Series.columns.template.propertyFields.stroke = \"stroke\";\n column2Series.columns.template.propertyFields.strokeWidth = \"strokeWidth\";\n column2Series.columns.template.propertyFields.strokeDasharray = \"columnDash\";\n column2Series.tooltip.label.textAlign = \"middle\";\n column2Series.tooltip.getFillFromObject = false;\n column2Series.fill = am4core.color(\"#6794dc\");\n\n column2Series.tooltip.background.fill = am4core.color(\"#4a463c\");\n let colLabel2 = column2Series.bullets.push(new am4charts.LabelBullet);\n colLabel2.label.text = \"{valueY}\";\n colLabel2.label.rotation = 0;\n colLabel2.label.fontSize = 9;\n colLabel2.label.padding(0, 0, 20, 0);\n colLabel2.label.truncate = false;\n colLabel2.label.hideOversized = false;\n //#endregion\n\n //#region \"LineSeries1\"\n let lineSeries = chart.series.push(new am4charts.LineSeries());\n lineSeries.name = \"Quotation\";\n lineSeries.dataFields.valueY = \"valueLine1\";\n lineSeries.dataFields.categoryX = \"category\";\n lineSeries.tooltip.getFillFromObject = false;\n lineSeries.tooltip.background.fill = am4core.color(\"#4a463c\");\n lineSeries.stroke = am4core.color(\"#ff4d4d\"); //For line or column color\n\n let bullet = lineSeries.bullets.push(new am4charts.Bullet());\n bullet.fill = am4core.color(\"#ff4d4d\"); // tooltips grab fill from parent by default\n bullet.tooltipText = \"[#fff font-size: 13px]{name} in {categoryX}: [/][#fff font-size: 13px]{valueY}[/] [#fff]{additional}[/]\"\n let circle = bullet.createChild(am4core.Circle);\n circle.radius = 4;\n circle.fill = am4core.color(\"#fff\");\n circle.strokeWidth = 3;\n\n let labelBullet = lineSeries.bullets.push(new am4charts.LabelBullet());\n labelBullet.label.text = \"{valueL1}\";\n labelBullet.label.verticalCenter = \"bottom\";\n //#endregion\n\n //#region \"LineSeries2\"\n let lineSeries2 = chart.series.push(new am4charts.LineSeries());\n lineSeries2.name = \"Order Booked\";\n lineSeries2.dataFields.valueY = \"valueLine2\";\n lineSeries2.dataFields.categoryX = \"category\";\n lineSeries2.tooltip.getFillFromObject = false;\n lineSeries2.tooltip.background.fill = am4core.color(\"#4a463c\");\n //lineSeries2.stroke = am4core.color(\"#4a463c\"); //For line or column color\n\n let bullet2 = lineSeries2.bullets.push(new am4charts.Bullet());\n bullet2.fill = am4core.color(\"#4a463c\"); // tooltips grab fill from parent by default\n bullet2.tooltipText = \"[#fff font-size: 13px]{name} in {categoryX}: [/][#fff font-size: 13px]{valueY}[/] [#fff]{additional}[/]\"\n let circle2 = bullet2.createChild(am4core.Circle);\n circle2.radius = 4;\n circle2.fill = am4core.color(\"#fff\");\n circle2.strokeWidth = 3;\n\n let labelBullet2 = lineSeries2.bullets.push(new am4charts.LabelBullet());\n labelBullet2.label.text = \"{valueL2}\";\n labelBullet2.label.verticalCenter = \"bottom\";\n //#endregion\n\n chart.numberFormatter.numberFormat = chart.numberFormatter.numberFormat;\n chart.legend = new am4charts.Legend();\n\n this.showLoader = false;\n }, error => {\n this.showLoader = false;\n\n });\n\n }\n\n}\n","\n
    \n
    \n
    \n
    \n

    \n Quotation vs Order Booked\n

    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    ","import { Component, Input, OnInit, ViewChild } from '@angular/core';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { ActivatedRoute } from '@angular/router';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { Activity } from 'src/app/Model/ActivityModel';\nimport { EngagementReportService } from 'src/app/Service/engagement-report.service';\nimport { ViewActivityComponent } from '../../customer-engagement/activity/view-activity/view-activity.component';\n\n@Component({\n selector: 'app-show-pending-activity',\n templateUrl: './show-pending-activity.component.html',\n styleUrls: ['./show-pending-activity.component.scss']\n})\nexport class ShowPendingActivityComponent implements OnInit {\n\n\n @Input() reportTypeId: string;\n @Input() title: string\n\n noDataComment: string;\n\n activities: Activity[];\n activityData: MatTableDataSource;\n displayedColumns: any = ['ActivityType', 'Subject', 'DueDate', 'ActivityStatus', 'DelayedBy', 'Actions'];\n @ViewChild('paginator') paginator: MatPaginator;\n\n constructor(private engagementReportService: EngagementReportService,private modalService: NgbModal) { }\n\n ngOnInit(): void {\n this.refreshGrid();\n if(this.reportTypeId === 'rep_my_pending_activities') this.noDataComment = \"There are no pending activities\";\n if(this.reportTypeId === 'REP_MY_TODAYS_ACTIVITIES') this.noDataComment = \"There are no activities for today\";\n }\n\n refreshGrid() {\n this.engagementReportService.getReportData({ reportTypeId: this.reportTypeId, IsOwner: true}).subscribe((data: any) => {\n this.activities = data;\n this.activityData = new MatTableDataSource(data);\n this.activityData.paginator = this.paginator;\n });\n }\n\n openViewPopup(activityId) {\n const modalRef = this.modalService.open(ViewActivityComponent, {\n size: 'xl', backdrop: 'static', keyboard: false\n });\n\n var Activity = {\n activityId: activityId,\n inPopUpMode: true\n };\n\n modalRef.componentInstance.Activity = Activity;\n }\n\n}\n","
    \n
    \n
    \n
    \n

    \n {{title}}\n

    \n
    \n
    \n
    \n
    \n\n \n\n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n\n\n
    Activity Type\n {{item.ActivityType}}\n Subject {{item.Subject}} Due Date {{item.PlannedDueDatetime | date}} Activity Status {{item.ActivityStatus}} Delayed By {{item.DelayedDays < 0 ? 0: item.DelayedDays}} Actions\n \n \n
    \n\n
    \n
    {{noDataComment}}
    \n
    \n\n \n
    \n\n
    ","import { Component, Input, OnInit } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { Router } from '@angular/router';\nimport { ToastrService } from 'ngx-toastr';\nimport { ConfirmDialogComponent } from 'src/app/confirm-dialog/confirm-dialog.component';\nimport { CommonService } from 'src/app/Service/common.service';\nimport { ActivityModel } from 'src/app/Model/EnquiryModel';\nimport { NgbActiveModal, NgbDate } from '@ng-bootstrap/ng-bootstrap';\nimport { AppGlobals } from 'src/app/app.global';\nimport { UserRoles } from 'src/app/UserRoles';\nimport { EnquiryStatus } from 'src/app/EnquiryStatus';\n\n@Component({\n selector: 'app-activity-details',\n templateUrl: './activity-details.component.html',\n styleUrls: ['./activity-details.component.scss']\n})\nexport class ActivityDetailsComponent implements OnInit {\n @Input()\n EnquiryId: any;\n\n @Input()\n showLoader: boolean = false;\n charCode: number;\n\n AppGlobals = AppGlobals;\n fileDownloadPath = this.AppGlobals.baseFileDownloadUrl;\n allowedFileType: string[] = ['image/bmp', 'image/jpeg', 'image/png', 'application/pdf', 'text/plain', 'text/csv', 'application/xml', 'text/xml', 'application/vnd.ms-excel',\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'application/msword', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',\n 'application/zip', 'application/vnd.rar'];\n newActivityDetails: any = {};\n activityDetails: ActivityModel[] = [];\n isActivityeditable: boolean;\n userid: string;\n RoleId: string;\n isShowEdit: boolean;\n IsActivityDataValid: boolean;\n minDate: NgbDate = new NgbDate(new Date().getFullYear(), new Date().getMonth() + 1, new Date().getDate());\n StartDate:NgbDate;\n constructor(private toastr: ToastrService, private commonService: CommonService, public dialog: MatDialog,\n private router: Router,\n private activeModal: NgbActiveModal) {\n this.StartDate = new NgbDate(2018, 1, 1);\n }\n\n\n ngOnInit(): void {\n this.userid = localStorage.getItem(\"UserID\");\n this.RoleId = localStorage.getItem('UserRole');\n this.isShowEdit = this.RoleId == this.EnquiryId.PendingAtRoleId ? true : false;\n if(this.EnquiryId.PendingAtRoleId == null)\n {\n this.isShowEdit = this.userid == this.EnquiryId.initID ? true : false;\n }\n if(this.RoleId==UserRoles.Admin)\n {\n if(this.EnquiryId.status == EnquiryStatus.OrdersentforMngmtApproval_CEO \n || this.EnquiryId.status == EnquiryStatus.OANoGenerated)\n {\n this.isShowEdit = false;\n }\n else{\n this.isShowEdit = true;\n }\n\n }\n if (this.EnquiryId.status == EnquiryStatus.AccountsConfirmInvoiceNo) {\n this.isShowEdit = false;\n }\n\n this.getActivityDetails();\n }\n\n ngOnChanges() {\n\n }\n closePopup(val) {\n if(val) this.activeModal.close('Close Click');\n }\n editActivity() {\n this.isActivityeditable = true;\n }\n addActivityDetails(index) {\n if (!(this.activityDetails[index].Activity == undefined || this.activityDetails[index].Activity == null || this.activityDetails[index].Activity == \"\")\n &&\n !(this.activityDetails[index].ActivityDate == undefined || this.activityDetails[index].ActivityDate == null || this.activityDetails[index].ActivityDate == \"\")) {\n var obj = new ActivityModel();\n obj.ISNewActivityAdded = true;\n obj.ActivityDate = new NgbDate(new Date().getFullYear(), new Date().getMonth() + 1, new Date().getDate());\n obj.uniqueid = this.makeRandom();\n this.activityDetails.push(obj);\n }\n }\n\n deleteActivityAttachments(index) {\n this.activityDetails[index].Attachment = [];\n this.activityDetails[index].isActivityAttachment = false;\n }\n\n deleteActivityAttachmentsFromDB(index) {\n this.activityDetails[index].fileName = null;\n this.activityDetails[index].filePath = null;\n //this.EnquiryObj.RemoveFiles.push(this.activityDetails[index].filePath);\n }\n editFileDetails(event, index) {\n let file = event.target.files[0];\n let isValidFile = true;\n if (((file.size) / 1000000) <= 5) {\n isValidFile = this.allowedFileType.includes(file.type);\n if (!isValidFile) {\n this.toastr.warning(\"Invalid file attached!\");\n switch (event.target.name) {\n\n case \"activityfile\":\n this.activityDetails[index].Attachment = [];\n this.activityDetails[index].isActivityAttachment = false;\n break;\n }\n event.target.value = null;\n isValidFile = false;\n }\n }\n else {\n this.toastr.warning(\"File size must be less than or equal to 5MB!\");\n switch (event.target.name) {\n\n case \"activityfile\":\n this.activityDetails[index].Attachment = [];\n this.activityDetails[index].isActivityAttachment = false;\n break;\n }\n event.target.value = null;\n isValidFile = false;\n }\n if (isValidFile) {\n //CHECK IF THE FILE NAME IS NOT TOO BIG\n\n switch (event.target.name) {\n\n case \"activityfile\":\n this.activityDetails[index].Attachment = [];\n this.activityDetails[index].Attachment.push(file);\n this.activityDetails[index].isActivityAttachment = true;\n break;\n }\n }\n }\n onActivityChange(i) {\n if (this.activityDetails[i].Activity == undefined || this.activityDetails[i].Activity == null || this.activityDetails[i].Activity == \"\") {\n this.activityDetails[i].ActivityValidation = true;\n this.IsActivityDataValid = false;\n } else {\n this.activityDetails[i].ActivityValidation = false;\n }\n }\n onActivityDateChange(i) {\n if (this.activityDetails[i].ActivityDate == undefined || this.activityDetails[i].ActivityDate == null || this.activityDetails[i].ActivityDate == \"\") {\n this.activityDetails[i].ActivityDateValidation = true;\n this.IsActivityDataValid = false;\n } else {\n this.activityDetails[i].ActivityDateValidation = false;\n }\n }\n convertDate(date: any) {\n let year = date.year;\n let month = date.month;\n let day = date.day;\n return year + \"-\" + month + \"-\" + day;\n }\n checkActivityValidations() {\n this.IsActivityDataValid = true;\n this.activityDetails.forEach(element => {\n if (element.Activity == undefined || element.Activity == null || element.Activity == \"\") {\n element.ActivityValidation = true;\n this.IsActivityDataValid = false;\n }\n if (element.ActivityDate == undefined || element.ActivityDate == null || element.ActivityDate == \"\") {\n element.ActivityDateValidation = true;\n this.IsActivityDataValid = false;\n }\n });\n }\n SaveActivityDetails() {\n this.checkActivityValidations();\n if (!this.IsActivityDataValid) {\n return;\n }\n this.showLoader = true;\n this.activityDetails.forEach(element => {\n if (element.ActivityDate != undefined) {\n element.ActivityDateISO = new Date(this.convertDate(new NgbDate(element.ActivityDate.year, element.ActivityDate.month, element.ActivityDate.day))).toDateString();\n }\n if (element.ActivityDate != undefined) {\n element.ActivityDate = new Date(this.convertDate(new NgbDate(element.ActivityDate.year, element.ActivityDate.month, element.ActivityDate.day)));\n }\n element.EnquiryId = this.EnquiryId.enqid;\n });\n\n let activityDetails = JSON.stringify(this.activityDetails);\n const frmData = new FormData();\n frmData.append(\"ActivityObj\", activityDetails);\n var i = 0;\n this.activityDetails.forEach(element => {\n if (element.Attachment != undefined) {\n frmData.append(\"Attachment[\" + i + \"]\", this.activityDetails[i].Attachment[0]);\n }\n i++;\n });\n\n this.commonService.PostData(\"Enquiry\", \"AddActivity\", frmData, null).subscribe((data: any) => {\n this.toastr.success(\"Activity details added successfully!\");\n this.activeModal.close('Close Click');\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to add activity details!\");\n this.showLoader = false;\n });\n\n }\n getActivityDetails() {\n this.showLoader = true;\n let queryString = \"\";\n queryString = \"id=\" + this.EnquiryId.enqid;\n this.commonService.GetData('Enquiry', 'GetActivityByEnquiryId', queryString).subscribe((data: any) => {\n this.activityDetails = data;\n\n this.activityDetails.forEach(element => {\n element.ActivityDate = new NgbDate(new Date(element.ActivityDate).getFullYear(), new Date(element.ActivityDate).getMonth() + 1, new Date(element.ActivityDate).getDate());\n });\n if (this.isShowEdit && this.activityDetails?.length == 0) {\n var obj = new ActivityModel();\n obj.ActivityDate = new NgbDate(new Date().getFullYear(), new Date().getMonth() + 1, new Date().getDate());\n obj.uniqueid = this.makeRandom();\n this.activityDetails.push(obj);\n }\n this.showLoader = false;\n }, error => {\n this.showLoader = false;\n });\n }\n makeRandom() {\n let text = \"\";\n var possible: string = \"ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890,./;'[]\\=-)(*&^%$#@!~\";\n const lengthOfCode = 40;\n for (let i = 0; i < lengthOfCode; i++) {\n text += possible.charAt(Math.floor(Math.random() * possible.length));\n }\n return text;\n }\n\n AvoidSpace(event: any) {\n if (event.which === 32 && !event.target.value.length) {\n event.preventDefault();\n }\n }\n\n isNumberKey(evt: any) {\n this.charCode = (evt.which) ? evt.which : evt.keyCode;\n if (this.charCode != 46 && this.charCode > 31\n && (this.charCode < 48 || this.charCode > 57)) {\n return false;\n }\n else {\n return true;\n }\n }\n\n getFileDetails(event) {\n let file = event.target.files[0];\n let isValidFile = true;\n if (((file.size) / 1000000) <= 5) {\n isValidFile = this.allowedFileType.includes(file.type);\n if (!isValidFile) {\n this.toastr.warning(\"Invalid file attached!\");\n switch (event.target.name) {\n case \"activityfile\":\n this.newActivityDetails.Attachment = [];\n break;\n }\n event.target.value = null;\n isValidFile = false;\n }\n }\n else {\n this.toastr.warning(\"File size must be less than or equal to 5MB!\");\n switch (event.target.name) {\n case \"activityfile\":\n this.newActivityDetails.Attachment = [];\n break;\n }\n event.target.value = null;\n isValidFile = false;\n }\n if (isValidFile) {\n switch (event.target.name) {\n case \"activityfile\":\n this.newActivityDetails.Attachment = [];\n this.newActivityDetails.Attachment.push(file);\n break;\n }\n }\n }\n\n\n deleteActivityDetails(index: any) {\n if (index != null) {\n this.activityDetails.splice(index, 1);\n } else {\n this.activityDetails.pop();\n }\n }\n\n AddActivity() {\n this.showLoader = true;\n const frmData = new FormData();\n this.activityDetails.forEach(item => {\n item.IsRowDeleted = false;\n });\n let activityDetails = JSON.stringify(this.activityDetails);\n frmData.append(\"activityDetails\", activityDetails);\n this.commonService.PostData(\"Activity\", \"Add\", frmData, null).subscribe((data: any) => {\n if (data.ResponseCode == 1) {\n this.toastr.success(\"Activity added successfully!\");\n this.showLoader = false;\n }\n else {\n this.toastr.error(\"Failed to add activity!\");\n this.showLoader = false;\n }\n this.router.navigate(['/Enquiry']);\n }, error => {\n this.toastr.error(\"Failed to add activity!\");\n this.showLoader = false;\n this.router.navigate(['/Enquiry']);\n });\n }\n}\n","\n
    \n \n\n
    \n\n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n

    \n Activity Details for Enq No.: {{EnquiryId.endNo}}\n

    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n\n\n\n
    \n
    \n
    \n
    \n \n \n \n \n
    \n
    \n\n
    \n
    \n
    \n
    \n","import { Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { ActivatedRoute } from '@angular/router';\nimport { Activity } from 'src/app/Model/ActivityModel';\nimport { ActivityService } from 'src/app/Service/activity.service';\nimport { ViewActivityComponent } from '../../customer-engagement/activity/view-activity/view-activity.component';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { AccessPermissionModel } from 'src/app/Model/WorkFlowScreenAccessModel';\nimport { AccessPermissionService } from 'src/app/Service/access-permission.service';\nimport { Observable } from 'rxjs';\n\n@Component({\n selector: 'app-activity-list-by-entity',\n templateUrl: './activity-list-by-entity.component.html',\n styleUrls: ['./activity-list-by-entity.component.scss']\n})\nexport class ActivityListByEntityComponent implements OnInit {\n filterActivityForm: any = {}\n activities: Activity[];\n HideId: Boolean = true;\n\n accesspermissionobj:AccessPermissionModel[]=Array();\n AccesspermissionForRole:any[]=[];\n canViewCustomerEngagementReportOfOthers:boolean=false;\n Role: any;\n partid: string = null; \n\n @Input() entityTypeId: number;\n\n // enquiryId this variable can be used as entityId \n @Input() enquiryId: any;\n @Output() closePopupEvent = new EventEmitter();\n\n dataSource: MatTableDataSource;\n @ViewChild('paginator') paginator: MatPaginator;\n\n displayedColumns: string[] = ['ActivityType', 'Subject', 'DueDate', 'ActivityStatus', 'DelayedBy', 'Actions'];\n\n id: number;\n constructor(private activityService: ActivityService, private route: ActivatedRoute, private modalService: NgbModal, private accessservice: AccessPermissionService) { }\n\n ngOnInit(): void {\n this.id = this.enquiryId ? this.enquiryId : this.route.snapshot.params[\"id\"];\n this.filterActivityForm.ActivityTypeId = null;\n this.filterActivityForm.ActivityStatusId = null;\n this.filterActivityForm.Subject = null;\n this.filterActivityForm.StartDate = null;\n this.filterActivityForm.EntityTypeId = this.entityTypeId;\n this.filterActivityForm.EntityId = this.id;\n this.filterActivityForm.PageNumber = 1;\n this.filterActivityForm.PageSize = 2000;\n this.filterActivityForm.IsOwner = false;\n this.filterActivityForm.ParticipantId = this.partid;\n this.refreshGrid(this.filterActivityForm);\n this.Role = localStorage.getItem(\"UserRole\");\n\n this.getAccess().subscribe(x=>{\n this.refreshGrid(this.filterActivityForm);\n });\n }\n refreshGrid(filterActivityForm) {\n //alert('Update')\n\n this.activityService.getActivityByFilter(filterActivityForm).subscribe((data: any) => {\n this.activities = data.Data;\n this.dataSource = new MatTableDataSource(this.activities);\n this.dataSource.paginator = this.paginator;\n });\n }\n openViewPopup(activityId) {\n const modalRef = this.modalService.open(ViewActivityComponent, {\n size: 'xl', backdrop: 'static', keyboard: false\n });\n\n var Activity = {\n activityId: activityId,\n inPopUpMode: true\n };\n\n modalRef.componentInstance.Activity = Activity;\n }\n\n // this function is used to close the popup in parent compenent ( Enquiry listing > Actions > Activity list )\n closePopup() {\n this.closePopupEvent.emit(true);\n }\n getAccess(): Observable {\n let tracker = this.accessservice.GetAll();\n\n tracker.subscribe((data: any) => {\n // console.log(data);\n this.accesspermissionobj = data;\n this.canViewCustomerEngagementReportOfOthers = this.accesspermissionobj.filter(x => x.Fk_RoleId == this.Role && x.ElementKey == 'canViewCustomerEngagementReportOfOthers')[0]?.IsVisible;\n \n if(!this.canViewCustomerEngagementReportOfOthers){\n \n this.partid = this.filterActivityForm.ParticipantId;\n }\n });\n\n return tracker;\n }\n}\n"," \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n\n\n
    Activity Type\n {{item.ActivityType}}\n Subject {{item.Subject}} Due Date {{item.PlannedDueDatetime | date}} Activity Status {{item.ActivityStatus}} Delayed By {{item.DueDays < 0 ? 0: item.DueDays}} Actions\n \n\n \n
    \n \n
    \n
    No records found
    \n
    \n \n\n ","import { Component, OnInit } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { Title } from '@angular/platform-browser';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { NgbDate } from '@ng-bootstrap/ng-bootstrap';\nimport { ToastrService } from 'ngx-toastr';\nimport { ConfirmDialogComponent } from 'src/app/confirm-dialog/confirm-dialog.component';\nimport { AddCustomerOpportunityModel } from 'src/app/Model/AddCustomerOpportunityModel';\nimport { CommonService } from 'src/app/Service/common.service';\n\n@Component({\n selector: 'app-add-customer-opportunity',\n templateUrl: './add-customer-opportunity.component.html',\n styleUrls: ['./add-customer-opportunity.component.scss']\n})\nexport class AddCustomerOpportunityComponent implements OnInit {\n\n AddCustomerOpportunityModel = new AddCustomerOpportunityModel();\n\n Country: any[] = [];\n Region: any[] = [];\n IndustrySegment: any[] = [];\n Typeofcustomer: any[] = [];\n showLoader: boolean = false;\n minDate: NgbDate;\n maxDate: NgbDate;\n remLimit: any = 1500;\n maxLimit: any = 1500;\n varLongTermGoal: any;\n\n constructor(private router: Router, private toastr: ToastrService, private Service: CommonService,\n public dialog: MatDialog, private route: ActivatedRoute, private titleService: Title) {\n this.minDate = new NgbDate(2018, 1, 1);\n this.maxDate = new NgbDate(new Date().getFullYear(), new Date().getMonth() + 1, new Date().getDate());\n }\n\n ngOnInit(): void {\n this.GetCustomerDropdownData();\n }\n\n GetCustomerDropdownData() {\n this.showLoader = true;\n this.Service.GetData(\"Customer\", \"GetCustomerDropdownDetails\", null).subscribe((data: any) => {\n //this.Country = data.Country;\n this.Region = data.Region;\n this.IndustrySegment = data.IndustrySegment;\n this.Typeofcustomer = data.CustomerType;\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n\n AvoidSpace(event: any) {\n if (event.which === 32 && !event.target.value.length) {\n event.preventDefault();\n }\n }\n\n limitTextOnKeyUpDown1(event: any) {\n let goalText = event.target.value;\n if (goalText.length > this.maxLimit) {\n this.varLongTermGoal = goalText.substring(0, this.maxLimit);\n } else {\n this.remLimit = this.maxLimit - goalText.length;\n }\n }\n\n onSubmit(myform: any) {\n\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Do you want to add this customer?\"\n }\n });\n \n dialogRef.afterClosed().subscribe(dialogResult => {\n\n const frmData = new FormData();\n\n // console.log(frmData);\n\n if (dialogResult) {\n\n //this.AddNewRow('Submitted');\n // this.CustomerModel.BasicCustomerInformationModel.CustomerCode = this.CustomerCode;\n const frmData = new FormData();\n let CustomerDetails = JSON.stringify(this.AddCustomerOpportunityModel);\n frmData.append(\"CustomerModel\", CustomerDetails);\n // console.log(frmData.append);\n \n this.showLoader = true;\n this.Service.PostData('Customer', 'Add', frmData, null).subscribe((data: any) => {\n let result = data;\n this.showLoader = false;\n if (result.ResponseCode == 1) {\n this.toastr.success('Customer details added successfully!');\n this.router.navigate(['/Customer']);\n }\n else {\n this.toastr.error(\"Failed to add customer details!\");\n this.showLoader = false;\n }\n\n }, error => {\n this.toastr.error('Failed to add customer details!');\n this.showLoader = false;\n this.router.navigate(['/Customer']);\n });\n }\n });\n }\n\n}\n","\n\n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n Add Customer Opportunity\n

    \n
    \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n
    \n","import { Component, OnInit, ViewChild, Input } from '@angular/core';\nimport { EmployeeGuestModel } from 'src/app/Model/EmployeeGuestModel';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { ToastrService } from 'ngx-toastr';\nimport { CommonService } from 'src/app/Service/common.service';\nimport { MatDialog } from '@angular/material/dialog';\nimport { BasicCustomerInformationModel } from 'src/app/Model/CustomerModel';\nimport { EnquiryModel, CustomerDrpdnDetails, CustomerDetails, ProductDrpdnDetails, EnquiryDetailsModel, ProductDetails } from 'src/app/Model/EnquiryModel';\nimport { ConfirmDialogComponent } from 'src/app/confirm-dialog/confirm-dialog.component';\nimport { NgbDate } from '@ng-bootstrap/ng-bootstrap';\nimport { EnquiryStatus } from \"src/app/EnquiryStatus\";\nimport { SingleFieldModel } from 'src/app/Model/SingleFieldModel';\nimport { Title } from '@angular/platform-browser';\nimport { AppConfigService } from 'src/app/Service/app-config.service';\n\n@Component({\n selector: 'app-add-enquiry',\n templateUrl: './add-enquiry.component.html',\n styleUrls: ['./add-enquiry.component.scss']\n})\nexport class AddEnquiryComponent implements OnInit {\n\n userInfo: EmployeeGuestModel = new EmployeeGuestModel();\n CustomerList: BasicCustomerInformationModel[] = [];\n EnquiryObj: EnquiryDetailsModel = new EnquiryDetailsModel();\n newRFQDetails: any = {};\n customerDrpdnDetails: CustomerDrpdnDetails = new CustomerDrpdnDetails();\n productDrpdnDetails: ProductDrpdnDetails = new ProductDrpdnDetails();\n customerData: CustomerDetails;\n allowedFileType: string[] = ['image/bmp', 'image/jpeg', 'image/png', 'application/pdf', 'text/plain', 'text/csv', 'application/xml', 'text/xml', 'application/vnd.ms-excel',\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'application/msword', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',\n 'application/zip', 'application/vnd.rar'];\n\n @Input()\n showLoader: boolean = false;\n charCode: number;\n enquiryStatus = EnquiryStatus;\n enquirySource: SingleFieldModel[] = [];\n product: any = {};\n isEnquirySubmit: boolean = false;\n remLimit: any = 1500;\n maxLimit: any = 1500;\n varLongTermGoal: any;\n minDate: NgbDate;\n maxDate: NgbDate;\n hasAccessForCustomersCustomer:boolean;\n\n constructor(private toastr: ToastrService, private commonService: CommonService, public dialog: MatDialog,\n private router: Router, private titleService: Title, private route: ActivatedRoute, private appConfigService: AppConfigService) {\n this.minDate = new NgbDate(2018, 1, 1);\n this.maxDate = new NgbDate(new Date().getFullYear(), new Date().getMonth() + 1, new Date().getDate());\n }\n\n ngOnInit() {\n this.commonService.RefreshHeaderFun();\n const appConfig = this.appConfigService.getConfig();\n const dynamicTitle = this.route.snapshot.data['title'];\n // this.titleService.setTitle(this.route.snapshot.data['title'] + \" - ECOTECH\");\n this.titleService.setTitle(`${dynamicTitle} - ${appConfig.titleName}`);\n this.getUserProfileInfo();\n this.getCustomerList();\n this.getEnquirySourceDetails();\n }\n getCustomerList() {\n this.showLoader = true;\n this.commonService.GetData(\"Customer\", \"GetAll\", null).subscribe((data: any) => {\n this.CustomerList = data;\n this.showLoader = false;\n });\n }\n getEnquirySourceDetails() {\n this.showLoader = true;\n this.commonService.GetData(\"Enquiry\", \"GetEnquiryDropdownData\", null).subscribe((data: any) => {\n this.enquirySource = data.EnquirySource;\n this.showLoader = false;\n });\n }\n limitTextOnKeyUpDown1(event: any) {\n let goalText = event.target.value;\n if (goalText.length > this.maxLimit) {\n this.varLongTermGoal = goalText.substring(0, this.maxLimit);\n } else {\n this.remLimit = this.maxLimit - goalText.length;\n }\n }\n GetCustomerDetails(data: any) {\n if (this.customerData == null) {\n this.EnquiryObj.CustomerDetails.CustomerCode = '';\n this.customerDrpdnDetails.IndustrySegment = '';\n this.customerDrpdnDetails.CustomerType = '';\n this.customerDrpdnDetails.CustomerCategory = '';\n this.customerDrpdnDetails.Region = '';\n this.customerDrpdnDetails.CustomerClassification = '';\n return;\n }\n this.showLoader = true;\n this.EnquiryObj.CustomerDetails = new CustomerDetails();\n let queryString = \"\";\n queryString = \"id=\" + this.customerData;\n this.commonService.GetData(\"Customer\", \"GetById\", queryString).subscribe((result: any) => {\n let res = result;\n this.commonService.GetData(\"Customer\", \"GetCustomerDropdownData\", queryString).subscribe((data: any) => {\n this.customerDrpdnDetails = data;\n this.EnquiryObj.CustomerDetails.CustomerId = res.BasicCustomerInformationModel.Id;\n this.EnquiryObj.CustomerDetails.CustomerCode = res.BasicCustomerInformationModel.CustomerCode;\n this.EnquiryObj.CustomerDetails.RegionId= this.customerDrpdnDetails.RegionId;\n this.showLoader = false;\n });\n });\n }\n AvoidSpace(event: any) {\n if (event.which === 32 && !event.target.value.length) {\n event.preventDefault();\n }\n }\n isNumberKey(evt: any) {\n this.charCode = (evt.which) ? evt.which : evt.keyCode;\n if (this.charCode != 46 && this.charCode > 31\n && (this.charCode < 48 || this.charCode > 57)) {\n return false;\n }\n else {\n return true;\n }\n }\n getUserProfileInfo() {\n this.showLoader = true;\n this.commonService.GetUserProfileData('Account', 'GetUserProfileInfo').subscribe((data: any) => {\n this.userInfo = data;\n this.hasAccessToViewCustomersCustomer(this.userInfo.RoleType);\n this.EnquiryObj.EnquiryDetails.UserId = this.userInfo.Id;\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n\n }\n\n SetStatus(status) { \n this.EnquiryObj.EnquiryDetails.Status = status;\n }\n\n AddEnquiry() {\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Do you want to add this enquiry?\"\n }\n });\n dialogRef.afterClosed().subscribe(dialogResult => {\n if (dialogResult) {\n this.showLoader = true;\n const frmData = new FormData();\n this.EnquiryObj.RFQObject.forEach(item => {\n item.IsRowDeleted = false;\n });\n // if (this.newRFQDetails != {}) {\n // this.isEnquirySubmit = true;\n // this.AddRFQDetails();\n // }\n if (this.EnquiryObj.EnquiryDetails.EnquiryDate != undefined) {\n this.EnquiryObj.EnquiryDetails.EnquiryDateISO = new Date(this.convertDate(new NgbDate(this.EnquiryObj.EnquiryDetails.EnquiryDate.year, this.EnquiryObj.EnquiryDetails.EnquiryDate.month, this.EnquiryObj.EnquiryDetails.EnquiryDate.day))).toDateString();\n }\n if (this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate != undefined) {\n this.EnquiryObj.EnquiryDetails.TentativeDeliveryDateISO = new Date(this.convertDate(new NgbDate(this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate.year, this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate.month, this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate.day))).toDateString();\n }\n if (this.EnquiryObj.EnquiryDetails.EnquiryDate != undefined) {\n this.EnquiryObj.EnquiryDetails.EnquiryDate = new Date(this.convertDate(new NgbDate(this.EnquiryObj.EnquiryDetails.EnquiryDate.year, this.EnquiryObj.EnquiryDetails.EnquiryDate.month, this.EnquiryObj.EnquiryDetails.EnquiryDate.day)));\n }\n if (this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate != undefined) {\n this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate = new Date(this.convertDate(new NgbDate(this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate.year, this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate.month, this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate.day)));\n }\n let EnquiryObj = JSON.stringify(this.EnquiryObj);\n frmData.append(\"EnquiryModel\", EnquiryObj);\n\n for (let i = 0; i < this.EnquiryObj.EnquiryDetails.QuoteGenAttachments.length; i++) {\n frmData.append(\"QuoteGenAttachments[\" + i + \"]\", this.EnquiryObj.EnquiryDetails.QuoteGenAttachments[i]);\n }\n for (let i = 0; i < this.EnquiryObj.EnquiryDetails.MngOrderApprovalAttachments.length; i++) {\n frmData.append(\"MngOrderApprovalAttachments[\" + i + \"]\", this.EnquiryObj.EnquiryDetails.MngOrderApprovalAttachments[i]);\n }\n for (let i = 0; i < this.EnquiryObj.EnquiryDetails.MngApprovalAttachments.length; i++) {\n frmData.append(\"MngApprovalAttachments[\" + i + \"]\", this.EnquiryObj.EnquiryDetails.MngApprovalAttachments[i]);\n }\n for (let i = 0; i < this.EnquiryObj.EnquiryDetails.CEOApprovalAttachments.length; i++) {\n frmData.append(\"CEOApprovalAttachments[\" + i + \"]\", this.EnquiryObj.EnquiryDetails.CEOApprovalAttachments[i]);\n }\n for (let i = 0; i < this.EnquiryObj.RFQObject.length; i++) {\n if (this.EnquiryObj.RFQObject[i].MDSAttachment != undefined) {\n frmData.append(\"MDSAttachment[\" + i + \"]\", this.EnquiryObj.RFQObject[i].MDSAttachment[0]);\n }\n if (this.EnquiryObj.RFQObject[i].ITCAttachment != undefined) {\n frmData.append(\"ITCAttachment[\" + i + \"]\", this.EnquiryObj.RFQObject[i].ITCAttachment[0]);\n }\n if (this.EnquiryObj.RFQObject[i].CustomerAttachment != undefined) {\n frmData.append(\"CustomerAttachment[\" + i + \"]\", this.EnquiryObj.RFQObject[i].CustomerAttachment[0]);\n }\n if (this.EnquiryObj.RFQObject[i].WeissAttachment != undefined) {\n frmData.append(\"WeissAttachment[\" + i + \"]\", this.EnquiryObj.RFQObject[i].WeissAttachment[0]);\n }\n }\n frmData.append(\"BOMAttachment\", this.EnquiryObj.EnquiryDetails.BOMAttachment[0]);\n frmData.append(\"POAttchments\", this.EnquiryObj.EnquiryDetails.POAttchments[0]);\n\n this.commonService.PostData(\"Enquiry\", \"Add\", frmData, null).subscribe((data: any) => {\n this.customerDrpdnDetails = data;\n this.EnquiryObj.EnquiryDetails.EnquiryId = data;\n this.toastr.success(\"Enquiry details added successfully!\");\n this.showLoader = false;\n //this.router.navigate(['/Enquiry']);\n this.router.navigate(['/EditViewEnquiry/' + this.EnquiryObj.EnquiryDetails.EnquiryId]);\n }, error => {\n this.toastr.error(\"Failed to add enquiry details!\");\n this.showLoader = false;\n //this.router.navigate(['/Enquiry']);\n });\n }\n });\n }\n\n convertDate(date: any) {\n let year = date.year;\n let month = date.month;\n let day = date.day;\n return year + \"-\" + month + \"-\" + day;\n }\n\n hasAccessToViewCustomersCustomer(RoleType:any)\n {\n if(RoleType==3){\n this.hasAccessForCustomersCustomer=false\n }\n else{\n this.hasAccessForCustomersCustomer=true\n } \n }\n}\n","\n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n Add Enquiry\n

    \n
    \n
    \n\n
    \n
    \n
    \n
    \n
    \n\n Enquiry\n \n
    \n
    \n
    \n\n
    \n * Marked fields are\n mandatory\n
    \n
    \n
    \n \n
    \n
    {{userInfo.Name}}
    \n
    \n
    \n \n
    \n
    {{userInfo.RoleName}}
    \n
    \n
    \n
    \n \n\n
    \n
    \n
    \n
    \n

    \n Customer Details\n

    \n
    \n
    \n
    \n \n
    \n
    \n
    \n\n
    \n\n
    \n \n
    \n \n \n \n Customer\n name is required\n
    \n
    \n
    \n \n\n
    \n {{EnquiryObj.CustomerDetails.CustomerCode}}\n
    \n
    \n
    \n \n
    \n {{customerDrpdnDetails.IndustrySegment}}\n
    \n
    \n \n
    \n {{customerDrpdnDetails.CustomerType}}\n
    \n\n
    \n
    \n \n
    \n {{customerDrpdnDetails.CustomerCategory}}\n
    \n
    \n Customer Classification: *\n
    \n {{customerDrpdnDetails.CustomerClassification}}\n
    \n
    \n
    \n\n \n
    \n {{customerDrpdnDetails.Region}}\n
    \n
    \n \n
    \n \n
    \n
    \n Enquiry source is required\n
    \n
    \n
    \n\n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n

    \n Enquiry Details\n

    \n
    \n
    \n
    \n
    \n\n
    \n \n
    \n
    \n \n
    \n \n \n \n
    \n
    \n
    \n Date is\n required\n
    \n
    \n
    \n
    \n \n
    \n \n Limit {{maxLimit}} characters, {{remLimit}}\n characters remaining.\n
    \n
    \n Enquiry description is required\n
    \n
    \n
    \n\n
    \n
    \n
    \n\n
    \n Save\n Enquiry  \n \n
    \n
    \n
    \n \n
    \n\n \n\n\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n\n\n\n","\nimport { Component, OnInit, ViewChild, Input, ɵclearResolutionOfComponentResourcesQueue, ElementRef, EventEmitter, Output, ChangeDetectorRef } from '@angular/core';\nimport { EmployeeGuestModel } from 'src/app/Model/EmployeeGuestModel';\nimport { ActivatedRoute, NavigationEnd, Router, RoutesRecognized } from '@angular/router';\nimport { ToastrService } from 'ngx-toastr';\nimport { CommonService } from 'src/app/Service/common.service';\nimport { MatDialog } from '@angular/material/dialog';\nimport * as FileSaver from 'file-saver';\nimport { BasicCustomerInformationModel } from 'src/app/Model/CustomerModel';\nimport { CustomerDrpdnDetails, CustomerDetails, ProductDrpdnDetails, EnquiryDetailsModel, ProductDetails, Comments, removefiles, TermsAndCondition, ActivityModel, ProductModelPOValues, CustomTermsAndCondition } from 'src/app/Model/EnquiryModel';\nimport { ConfirmDialogComponent } from 'src/app/confirm-dialog/confirm-dialog.component';\nimport { NgbDate, NgbModal, NgbActiveModal, NgbDatepickerConfig, NgbDateStruct } from '@ng-bootstrap/ng-bootstrap';\nimport { AppGlobals } from 'src/app/app.global';\n\nimport { UserRoles } from \"src/app/UserRoles\";\nimport { SingleFieldModel } from 'src/app/Model/SingleFieldModel';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { MatStepper } from '@angular/material/stepper';\nimport { FormControl, NgForm } from '@angular/forms';\nimport { QuotationDetailsModel, QuotationCustomerDetails } from 'src/app/Model/QuotationModel';\nimport { Title } from '@angular/platform-browser';\nimport { Location } from '@angular/common';\nimport {\n saveAs as importedSaveAs\n} from \"file-saver\";\n\nimport { EnquiryStatus } from \"src/app/EnquiryStatus\";\nimport { EnquiryStatusList } from 'src/app/Model/EnquiryStatus';\nimport { EnquirySendBack } from 'src/app/Model/EnquirySendBack';\nimport { SendBackCommentComponent } from '../send-back-comment/send-back-comment.component';\nimport { AppConfigService } from 'src/app/Service/app-config.service';\n\n@Component({\n selector: 'app-ceo-approval',\n templateUrl: './ceo-approval.component.html',\n styleUrls: ['./ceo-approval.component.scss']\n})\nexport class CeoApprovalComponent implements OnInit {\n\n @ViewChild('myform3') myform3: NgForm;\n @ViewChild('myform5') myform5: NgForm;\n @ViewChild('myInput') myInputVariable: ElementRef;\n @ViewChild('editpovalue', { static: false }) editpovalue: ElementRef;\n standardTC:any[] = [];\n customTCValues:any[] =[];\n\n userInfo: EmployeeGuestModel = new EmployeeGuestModel();\n CustomerList: BasicCustomerInformationModel[] = [];\n EnquiryObj: EnquiryDetailsModel = new EnquiryDetailsModel();\n newRFQDetails: any = {};\n productListdropdownData = [];\n customerDrpdnDetails: CustomerDrpdnDetails = new CustomerDrpdnDetails();\n productDrpdnDetails: ProductDrpdnDetails = new ProductDrpdnDetails();\n customerData: CustomerDetails;\n activityDetails: ActivityModel[] = Array();\n CustomerDetailsObj: QuotationCustomerDetails = new QuotationCustomerDetails();\n QuotationData: QuotationDetailsModel = new QuotationDetailsModel();\n allowedFileType: string[] = [\n 'image/bmp',\n 'image/jpeg',\n 'image/png',\n 'application/pdf',\n 'text/plain',\n 'text/csv',\n 'application/xml',\n 'text/xml',\n 'application/vnd.ms-excel',\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\n 'application/msword',\n 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',\n 'application/zip',\n 'application/x-zip-compressed',\n ];\n\n showEditRFQForInitiator: boolean;\n UserRole: any;\n isTechnicalDiscardVisible: boolean =false;\n isEnquiryFormVisible: boolean = false;\n isRFQVisible: boolean = false;\n isQuoteGenerationVisible: boolean = false;\n isManagementApprovalVisible: boolean = false;\n isSOVisible: boolean = false;\n isOrderAcknowledgementVisible: boolean = false;\n EnquiryConfirmationVisible: boolean = false;\n isSupplychainVisible: boolean = false;\n isAccountsVisible: boolean = false;\n iseditable:boolean=false;\n isOAGenerationVisible: boolean = false;\n isBOMAttachment: boolean;\n isInvoiceAttachment: boolean;\n isPOAttachment: boolean;\n IsRFQDataValid: boolean = true;\n selectedIndexForStatus: any = 1;\n remLimit: any = 1500;\n maxLimit: any = 1500;\n varLongTermGoal: any;\n DiscountFromrange:any;\n Discounttorange:any;\n\n @Input()\n showLoader: boolean = false;\n charCode: number;\n enquiryStatus = EnquiryStatus;\n AppRoles = UserRoles;\n enquirySource: SingleFieldModel[] = [];\n TnCStandardFromDropDown: any[] = [];\n TnCCustomizedFromDropDown: any[] = [];\n TnCCustomizedDropDownForEditRfq1: any[] = [];\n TnCCustomizedDropDownForEditRfq2: any[] = [];\n newCustomTc: any;\n product: any = {};\n isEnquirySubmit: boolean = false;\n charCode1: any;\n pageNumber: number = 1;\n @Input() pageSize: number = 5;\n @Input() length: number;\n @Input() pageIndex: number = this.pageNumber - 1;\n dataSource: MatTableDataSource;\n\n @ViewChild('stepper') stepper: MatStepper;\n AppGlobals = AppGlobals;\n fileDownloadPath = this.AppGlobals.baseFileDownloadUrl;\n QuotationDownloadPath = this.AppGlobals.QuotationFileDownloadUrl;\n isEnquiryLoaded: boolean;\n role: string;\n isStandardCondition: boolean;\n closeResult: string;\n isCEOApprovalVisible: boolean;\n demoObject: any;\n demoCTCObject: any;\n WinLossDropdownData: any[] = [];\n WinLossDropdownDataForStatus: any;\n isPoValueDisable: boolean;\n isCustomerCommentVisible: any;\n isOAGenerated: boolean;\n isAcceptClick: boolean;\n dataPassed: any;\n dropdownData: any;\n showQuotationLink: boolean;\n userid: string;\n isprocessing: boolean = true;\n rfqattpresent: boolean;\n QuotationDataForPO: any[] = [];\n chosenItem: string = \"1\";\n quoterevcomments: any;\n QGRFQEditable: boolean = false;\n IsActivityDataValid: boolean;\n today: Date;\n fc = new FormControl();\n minDate: NgbDate;\n showEditRFQ: boolean;\n isTantativeDateEditable: boolean;\n tempRFQ: ProductDetails[];\n IsPODataValid: boolean;\n isEditactivity: boolean = true;\n PreviousStatus: number = 0;\n tempfile: any;\n ngbDateParserFormatter: any;\n UpdatePO: boolean = false;\n isPOAttacmentDelete: boolean = false;\n RevisedQuotationFileNameList: string[] = [];\n emailPattern: string = \"^[a-zA-Z0-9_\\\\.-]+@([a-zA-Z0-9-]+\\\\.)+[a-zA-Z]{2,6}$\";\n StartDate: NgbDate;\n EndDate: NgbDate;\n RoleWiseScreenDisplay: any;\n previousUrl: string = null;\n IndustrySegment: any[] = [];\n SubSegment: any[] = [];\n Application: any[] = [];\n\n FinalIndustrySegment: any[] = [];\n FinalSubSegment: any[] = [];\n FinalApplication: any[] = [];\n\n workflowActionList:any[] = [];\n enquiryStatusList: EnquiryStatusList[]=[];\n workflowId:number;\n sendbackRules:EnquirySendBack[]=[];\n previousEnqStatus : any;\n roleOfAdmin : any;\n QuotationPdfGenerationHostPath:any;\n\n\n @Output() updateLoaderEvent = new EventEmitter();\n UserRolesData:any[]=[];\n\n constructor(private toastr: ToastrService, private commonService: CommonService, public dialog: MatDialog,\n private _location: Location,\n private config: NgbDatepickerConfig,\n private modalService: NgbModal, private activeModel: NgbActiveModal,\n private router: Router, private route: ActivatedRoute, private titleService: Title,private cd: ChangeDetectorRef,\n private appConfigService: AppConfigService) {\n this.today = new Date();\n this.minDate = new NgbDate(this.today.getFullYear(), this.today.getMonth() + 1, this.today.getDate());\n this.StartDate = new NgbDate(2018, 1, 1);\n this.EndDate = new NgbDate(this.today.getFullYear() + 1, 12, 31);\n\n\n }\n ngAfterViewInit() {\n this.updateLoaderEvent.emit(true);\n setTimeout(() => {\n this.isprocessing = false;\n this.chosenItem = \"1\";\n this.updateLoaderEvent.emit(false);\n }, 2000);\n }\n ngOnInit() {\n this.commonService.previousUrl$.subscribe((previousUrl: string) => {\n this.previousUrl = previousUrl;\n });\n\n let tempRoleWiseScreenDisplay = localStorage.getItem(\"WorkFlowRoleWiseScreenAccess\");\n this.RoleWiseScreenDisplay = tempRoleWiseScreenDisplay.split(\",\");\n const appConfig = this.appConfigService.getConfig();\n this.QuotationPdfGenerationHostPath=appConfig.QuotationPdfGenerationHostPath;\n const dynamicTitle = this.route.snapshot.data['title'];\n this.titleService.setTitle(`${dynamicTitle} - ${appConfig.titleName}`);\n //this.titleService.setTitle(this.route.snapshot.data['title'] + \" - ECOTECH\");\n this.commonService.RefreshHeaderFun();\n this.EnquiryObj.EnquiryDetails.EnquiryId = this.route.snapshot.params[\"id\"];\n this.EnquiryObj.EnquiryDetails.EstimatedProductValue = null;\n this.EnquiryObj.EnquiryDetails.InvoiceAttachment = undefined;\n this.getAllWorkFlow();\n this.getRFQProduct();\n this.getEnquirySourceDetails();\n this.getCustomerList();\n this.getEnquiryDetailsById();\n this.getEnquiryStatus();\n this.getUserRoles()\n this.isEnquiryLoaded = false;\n this.getSendbackWorkfow();\n\n this.UserRole = localStorage.getItem(\"UserRole\");\n this.isTechnicalDiscardVisible = AppGlobals.QuoteGenearation_Enquiry_TechnicalDiscardArray.filter(x => x.role\n == this.UserRole)[0]?.isEditable;\n \n this.roleOfAdmin = UserRoles.Admin;\n }\n limitTextOnKeyUpDown1(event: any) {\n let goalText = event.target.value;\n if (goalText.length > this.maxLimit) {\n this.varLongTermGoal = goalText.substring(0, this.maxLimit);\n } else {\n this.remLimit = this.maxLimit - goalText.length;\n }\n }\n\n ScreenAccessSpecifier_ALL() {\n this.isEnquiryFormVisible = true;\n this.isRFQVisible = true;\n this.isQuoteGenerationVisible = true;\n this.isManagementApprovalVisible = true;\n this.isCEOApprovalVisible = true;\n this.EnquiryConfirmationVisible = true;\n this.isSOVisible = true;\n this.isOrderAcknowledgementVisible = true;\n this.isSupplychainVisible = true;\n this.isAccountsVisible = true;\n this.isOAGenerationVisible = true;\n\n }\n\n ScreenAccessSpecifier(role, enquirystatus) {\n //MAKE SCREENS VISIBLE ACCORDING TO LOGGED IN USER\n this.isEnquiryFormVisible = true;\n this.isRFQVisible = true;\n this.userid = localStorage.getItem(\"UserID\");\n\n //ADD CONDITION TO CHECK IF THE LOGGED IN USER IS INITIATOR OF THE ENQUIRY\n // SCREENS OPRN IN EDITABLE MODE TO INITIATOR OF THE ENQUIRY AND AMIN\n if ((enquirystatus == this.enquiryStatusList.filter(x=>x.Status=='EnquiryAdded')[0]?.Pk_Id || enquirystatus == this.enquiryStatusList.filter(x=>x.Status=='RFQSaveAsDraft')[0]?.Pk_Id ||\n enquirystatus == this.enquiryStatusList.filter(x=>x.Status=='RFQReworkbyL1')[0]?.Pk_Id || enquirystatus == this.enquiryStatusList.filter(x=>x.Status=='QuotationRejectedbyMngmt_SalesDirector')[0]?.Pk_Id ||\n enquirystatus == this.enquiryStatusList.filter(x=>x.Status=='QuotationRejectedbyMngmt_CEO')[0]?.Pk_Id || enquirystatus == this.enquiryStatusList.filter(x=>x.Status=='QuotationRevision')[0]?.Pk_Id\n || enquirystatus == this.enquiryStatusList.filter(x=>x.Status=='EnquiryTechnicalDiscardbyL1')[0]?.Pk_Id || enquirystatus == this.enquiryStatusList.filter(x=>x.Status=='EnquiryTechnicalDiscardbyL2')[0]?.Pk_Id\n || enquirystatus == this.enquiryStatusList.filter(x=>x.Status=='EnquiryTechnicalDiscardbyL3')[0]?.Pk_Id) &&\n (this.userid == this.EnquiryObj.EnquiryDetails.Initiator_Id || this.role == this.UserRolesData.filter(x=>x.Name=='Admin')[0]?.Id)) {\n this.AppGlobals.RFQ_SaveasDraftBySalesEngg = true;\n this.AppGlobals.RFQ_SubmitBySalesEngg = true;\n this.AppGlobals.isRFQEditable = true;\n this.AppGlobals.disable_RFQ_SaveasDraftBySalesEngg = true;\n this.AppGlobals.disable_RFQ_SubmitBySalesEngg = true;\n this.selectedIndexForStatus = 1;\n } else {\n this.AppGlobals.isRFQEditable = false;\n this.AppGlobals.RFQ_SaveasDraftBySalesEngg = false;\n this.AppGlobals.RFQ_SubmitBySalesEngg = false;\n this.AppGlobals.disable_RFQ_SaveasDraftBySalesEngg = false;\n this.AppGlobals.disable_RFQ_SubmitBySalesEngg = false;\n this.selectedIndexForStatus = 0;\n if ((this.userid == this.EnquiryObj.EnquiryDetails.Initiator_Id || this.role == this.UserRolesData.filter(x=>x.Name=='Admin')[0]?.Id) && this.EnquiryObj.EnquiryDetails.Status >= this.enquiryStatusList.filter(x=>x.Status=='EnquiryOrderConfirmedbySalesEngg')[0]?.Pk_Id) {\n this.EnquiryConfirmationVisible = true;\n this.AppGlobals.isEnquiryConfirmationEditable = false;\n if ((enquirystatus == this.enquiryStatusList.filter(x=>x.Status=='OrderRejectedbyMngmt_SalesDirector')[0]?.Pk_Id || enquirystatus == this.enquiryStatusList.filter(x=>x.Status=='OrderRejectedbyMngmt_CEO')[0]?.Pk_Id) &&\n (this.userid == this.EnquiryObj.EnquiryDetails.Initiator_Id || this.role == this.UserRolesData.filter(x=>x.Name=='Admin')[0]?.Id)) {\n this.AppGlobals.isEnquiryConfirmationEditable = true;\n this.AppGlobals.EnquiryConfirmation_ConfimrOrderBySalesEngg = true;\n } else {\n this.AppGlobals.EnquiryConfirmation_ConfimrOrderBySalesEngg = false;\n }\n\n\n if (!this.AppGlobals.isEnquiryConfirmationEditable) {\n if (!this.RoleWiseScreenDisplay.some(x => x == 'Enquiry Confirmation')) {\n this.EnquiryConfirmationVisible = false;\n this.selectedIndexForStatus = this.selectedIndexForStatus - 1;\n\n }\n }\n } else if ((this.userid == this.EnquiryObj.EnquiryDetails.Initiator_Id || this.role == this.UserRolesData.filter(x=>x.Name=='Admin')[0]?.Id) && this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='SendBOMandProposal')[0]?.Pk_Id) {\n this.EnquiryConfirmationVisible = true;\n AppGlobals.EnquiryConfirmation_ConfimrOrderBySalesEngg = true;\n this.AppGlobals.isEnquiryConfirmationEditable = true;\n }\n }\n\n if (!(this.EnquiryObj.EnquiryDetails.QuotationPdf_filename == null ||\n this.EnquiryObj.EnquiryDetails.QuotationPdf_filename == undefined ||\n this.EnquiryObj.EnquiryDetails.QuotationPdf_filename == \"\")) {\n this.showQuotationLink = true;\n } else {\n this.showQuotationLink = false;\n }\n if (this.role == this.EnquiryObj.EnquiryDetails.PendingAtRoleId || this.role == this.UserRolesData.filter(x=>x.Name=='Admin')[0]?.Id) {\n this.showEditRFQ = true;\n this.isEditactivity = true;\n } else {\n this.showEditRFQ = false;\n this.isEditactivity = false;\n }\n if (this.EnquiryObj.EnquiryDetails.PendingAtRoleId == null) {\n this.isEditactivity = this.userid == this.EnquiryObj.EnquiryDetails.Initiator_Id ? true : false;\n \n }\n if (this.role == this.UserRolesData.filter(x=>x.Name=='Admin')[0]?.Id) {\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='OrdersentforMngmtApproval_CEO')[0]?.Pk_Id ||\n this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='OANoGenerated')[0]?.Pk_Id) {\n this.isEditactivity = false;\n }\n else {\n this.isEditactivity = true;\n }\n\n }\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='AccountsConfirmInvoiceNo')[0]?.Pk_Id) {\n this.isEditactivity = false;\n }\n var screensRolewise = this.AppGlobals.screensVisibleAccordingtoEnquiryStatus.filter(x => x.role == role)[0]?.screensForStatus;\n if (screensRolewise != undefined) {\n var filteredscreens = screensRolewise.filter(x => x.status == enquirystatus)[0];\n if (filteredscreens != undefined) {\n this.selectedIndexForStatus = filteredscreens.selectedIndex;\n\n if (this.userid == this.EnquiryObj.EnquiryDetails.Initiator_Id) {\n\n }\n\n this.isQuoteGenerationVisible = filteredscreens.screens.indexOf('Quote Generation') > -1 ? true : false;\n if (this.isQuoteGenerationVisible) {\n this.AppGlobals.isQuoteGenerationEditable = filteredscreens.disableScreen.indexOf('Quote Generation') > -1 ? false : true;\n // #region VisibleButtons\n if (!this.AppGlobals.isQuoteGenerationEditable) {\n if (!this.RoleWiseScreenDisplay.some(x => x == 'Quote Generation')) {\n this.isQuoteGenerationVisible = false;\n this.selectedIndexForStatus = this.selectedIndexForStatus - 1;\n\n }\n }\n this.AppGlobals.QuoteGenearationAcceptByL1 = filteredscreens.visibleButtons.indexOf('QuoteGenearationAcceptByL1') > -1 ? true : false;\n this.AppGlobals.QuoteGenearation_RemorkByL1 = filteredscreens.visibleButtons.indexOf('QuoteGenearation_RemorkByL1') > -1 ? true : false;\n this.AppGlobals.QuoteGenearation_ForwardtoL2ByL1 = filteredscreens.visibleButtons.indexOf('QuoteGenearation_ForwardtoL2ByL1') > -1 ? true : false;\n this.AppGlobals.QuoteGenearation_ForwardtoL3ByL2 = filteredscreens.visibleButtons.indexOf('QuoteGenearation_ForwardtoL3ByL2') > -1 ? true : false;\n this.AppGlobals.QuoteGenearation_SendtoL2ByL3 = filteredscreens.visibleButtons.indexOf('QuoteGenearation_SendtoL2ByL3') > -1 ? true : false;\n this.AppGlobals.QuoteGenearation_SendtoL1ByL2 = filteredscreens.visibleButtons.indexOf('QuoteGenearation_SendtoL1ByL2') > -1 ? true : false;\n this.AppGlobals.QuoteGenearation_SendtoCustomerServiceByL1 = filteredscreens.visibleButtons.indexOf('QuoteGenearation_SendtoCustomerServiceByL1') > -1 ? true : false;\n this.AppGlobals.QuoteGenearation_SendforApprovalByCustomerService = filteredscreens.visibleButtons.indexOf('QuoteGenearation_SendforApprovalByCustomerService') > -1 ? true : false;\n this.AppGlobals.QuoteGenearation_SendBOMProposalByL1 = filteredscreens.visibleButtons.indexOf('QuoteGenearation_SendBOMProposalByL1') > -1 ? true : false;\n this.AppGlobals.QuoteGenearation_GenerateQuote = filteredscreens.visibleButtons.indexOf('QuoteGenearation_GenerateQuote') > -1\n && (this.role == this.EnquiryObj.EnquiryDetails.PendingAtRoleId || this.role == this.UserRolesData.filter(x=>x.Name=='Admin')[0]?.Id) ? true : false;\n this.AppGlobals.QuoteGenearation_EditRFQ = filteredscreens.visibleButtons.indexOf('QuoteGenearation_EditRFQ') > -1\n && (this.role == this.EnquiryObj.EnquiryDetails.PendingAtRoleId || this.role == this.UserRolesData.filter(x=>x.Name=='Admin')[0]?.Id) ? true : false;\n this.AppGlobals.QuoteGenearation_Enquiry_TechnicalDiscard = filteredscreens.visibleButtons.indexOf('QuoteGenearation_Enquiry_TechnicalDiscard') > -1 \n && (this.role == this.EnquiryObj.EnquiryDetails.PendingAtRoleId || this.role == this.UserRolesData.filter(x=>x.Name=='Admin')[0]?.Id ) ? true : false;\n //#endregion\n // #region enableButtons\n this.AppGlobals.disable_QuoteGenearationAcceptByL1 = filteredscreens.buttons.indexOf('QuoteGenearationAcceptByL1') > -1 ? true : false;\n this.AppGlobals.disable_QuoteGenearation_RemorkByL1 = filteredscreens.buttons.indexOf('QuoteGenearation_RemorkByL1') > -1 ? true : false;\n this.AppGlobals.disable_QuoteGenearation_ForwardtoL2ByL1 = filteredscreens.buttons.indexOf('QuoteGenearation_ForwardtoL2ByL1') > -1 ? true : false;\n this.AppGlobals.disable_QuoteGenearation_ForwardtoL3ByL2 = filteredscreens.buttons.indexOf('QuoteGenearation_ForwardtoL3ByL2') > -1 ? true : false;\n this.AppGlobals.disable_QuoteGenearation_SendtoL2ByL3 = filteredscreens.buttons.indexOf('QuoteGenearation_SendtoL2ByL3') > -1 ? true : false;\n this.AppGlobals.disable_QuoteGenearation_SendtoL1ByL2 = filteredscreens.buttons.indexOf('QuoteGenearation_SendtoL1ByL2') > -1 ? true : false;\n this.AppGlobals.disable_QuoteGenearation_SendtoCustomerServiceByL1 = filteredscreens.buttons.indexOf('QuoteGenearation_SendtoCustomerServiceByL1') > -1 ? true : false;\n this.AppGlobals.disable_QuoteGenearation_SendforApprovalByCustomerService = filteredscreens.buttons.indexOf('QuoteGenearation_SendforApprovalByCustomerService') > -1 ? true : false;\n this.AppGlobals.disable_QuoteGenearation_SendBOMProposalByL1 = filteredscreens.buttons.indexOf('QuoteGenearation_SendBOMProposalByL1') > -1 ? true : false;\n this.AppGlobals.disable_QuoteGenearation_GenerateQuote = filteredscreens.buttons.indexOf('QuoteGenearation_GenerateQuote') > -1 ? true : false;\n this.AppGlobals.disable_QuoteGenearation_EditRFQ = filteredscreens.buttons.indexOf('QuoteGenearation_EditRFQ') > -1 ? true : false;\n //this.AppGlobals.disable_QuoteGenearation_Enquiry_TechnicalDiscard = filteredscreens.buttons.indexOf('QuoteGenearation_Enquiry_TechnicalDiscard') > -1 ? true : false;\n \n //#endregion\n\n //CHECK IF QUOTATION TO BE SENT TO CUSTOMER SERVICE\n if (this.AppGlobals.disable_QuoteGenearation_SendBOMProposalByL1) {\n var isSpecialPrice = false;\n this.EnquiryObj.RFQObject.forEach(element => {\n if (element.SalesPrice == 3) {\n isSpecialPrice = true;\n }\n });\n if (enquirystatus == this.enquiryStatusList.filter(x=>x.Status=='QuotationApprovedbyMngmt_SalesDirector')[0]?.Pk_Id ||\n enquirystatus == this.enquiryStatusList.filter(x=>x.Status=='QuotationApprovedbyMngmt_CEO')[0]?.Pk_Id) {\n this.AppGlobals.disable_QuoteGenearation_SendBOMProposalByL1 = true;\n this.AppGlobals.disable_QuoteGenearation_SendforApprovalByCustomerService = false;\n } else {\n if (isSpecialPrice || this.EnquiryObj.EnquiryDetails.RFQTermsAndCondition == \"Customized\") {\n this.AppGlobals.disable_QuoteGenearation_SendBOMProposalByL1 = false;\n this.AppGlobals.disable_QuoteGenearation_SendforApprovalByCustomerService = true;\n } else {\n this.AppGlobals.disable_QuoteGenearation_SendBOMProposalByL1 = true;\n this.AppGlobals.disable_QuoteGenearation_SendforApprovalByCustomerService = false;\n }\n }\n\n }\n }\n this.isManagementApprovalVisible = filteredscreens.screens.indexOf('Management Approval') > -1 ? true : false;\n if (this.isManagementApprovalVisible) {\n this.AppGlobals.isManagementApprovalEditable = filteredscreens.disableScreen.indexOf('Management Approval') > -1 ? false : true;\n //#region VisibleButtons\n if (!this.AppGlobals.isManagementApprovalEditable) {\n if (!this.RoleWiseScreenDisplay.some(x => x == 'Management Approval')) {\n this.isManagementApprovalVisible = false;\n this.selectedIndexForStatus = this.selectedIndexForStatus - 1;\n\n }\n }\n this.AppGlobals.ManagementApproval_RejectBySalesDirector = filteredscreens.visibleButtons.indexOf('ManagementApproval_RejectBySalesDirector') > -1 ? true : false;\n this.AppGlobals.ManagementApproval_ApproveBySalesDirector = filteredscreens.visibleButtons.indexOf('ManagementApproval_ApproveBySalesDirector') > -1 ? true : false;\n this.AppGlobals.ManagementApproval_HoldBySalesDirector = filteredscreens.visibleButtons.indexOf('ManagementApproval_HoldBySalesDirector') > -1 ? true : false;\n this.AppGlobals.ManagementApproval_SendQuotationforApprovalBySalesDirector = filteredscreens.visibleButtons.indexOf('ManagementApproval_SendQuotationforApprovalBySalesDirector') > -1 ? true : false;\n\n this.AppGlobals.ManagementApproval_Order_RejectBySalesDirector = filteredscreens.visibleButtons.indexOf('ManagementApproval_Order_RejectBySalesDirector') > -1 ? true : false;\n this.AppGlobals.ManagementApproval_Order_ApproveBySalesDirector = filteredscreens.visibleButtons.indexOf('ManagementApproval_Order_ApproveBySalesDirector') > -1 ? true : false;\n this.AppGlobals.ManagementApproval_SendOrderforApprovalBySalesDirector = filteredscreens.visibleButtons.indexOf('ManagementApproval_SendOrderforApprovalBySalesDirector') > -1 ? true : false;\n //#endregion\n // #region enableButtons\n this.AppGlobals.disable_ManagementApproval_RejectBySalesDirector = filteredscreens.buttons.indexOf('ManagementApproval_RejectBySalesDirector') > -1 ? true : false;\n this.AppGlobals.disable_ManagementApproval_ApproveBySalesDirector = filteredscreens.buttons.indexOf('ManagementApproval_ApproveBySalesDirector') > -1 ? true : false;\n this.AppGlobals.disable_ManagementApproval_HoldBySalesDirector = filteredscreens.buttons.indexOf('ManagementApproval_HoldBySalesDirector') > -1 ? true : false;\n this.AppGlobals.disable_ManagementApproval_SendQuotationforApprovalBySalesDirector = filteredscreens.buttons.indexOf('ManagementApproval_SendQuotationforApprovalBySalesDirector') > -1 ? true : false;\n\n this.AppGlobals.disable_ManagementApproval_Order_RejectBySalesDirector = filteredscreens.buttons.indexOf('ManagementApproval_Order_RejectBySalesDirector') > -1 ? true : false;\n this.AppGlobals.disable_ManagementApproval_Order_ApproveBySalesDirector = filteredscreens.buttons.indexOf('ManagementApproval_Order_ApproveBySalesDirector') > -1 ? true : false;\n this.AppGlobals.disable_ManagementApproval_SendOrderforApprovalBySalesDirector = filteredscreens.buttons.indexOf('ManagementApproval_SendOrderforApprovalBySalesDirector') > -1 ? true : false;\n //#endregion\n }\n this.isCEOApprovalVisible = filteredscreens.screens.indexOf('CEO Approval') > -1 ? true : false;\n if (this.isCEOApprovalVisible) {\n this.AppGlobals.isCEOApprovalEditable = filteredscreens.disableScreen.indexOf('CEO Approval') > -1 ? false : true;\n //#region VisibleButtons\n if (!this.AppGlobals.isCEOApprovalEditable) {\n if (!this.RoleWiseScreenDisplay.some(x => x == 'CEO Approval')) {\n this.isCEOApprovalVisible = false;\n this.selectedIndexForStatus = this.selectedIndexForStatus - 1;\n\n }\n }\n this.AppGlobals.ManagementApproval_RejectByCEO = filteredscreens.visibleButtons.indexOf('ManagementApproval_RejectByCEO') > -1 ? true : false;\n this.AppGlobals.ManagementApproval_HoldByCEO = filteredscreens.visibleButtons.indexOf('ManagementApproval_HoldByCEO') > -1 ? true : false;\n this.AppGlobals.ManagementApproval_ApproveByCEO = filteredscreens.visibleButtons.indexOf('ManagementApproval_ApproveByCEO') > -1 ? true : false;\n\n this.AppGlobals.ManagementApproval_Order_ApproveByCEO = filteredscreens.visibleButtons.indexOf('ManagementApproval_Order_ApproveByCEO') > -1 ? true : false;\n this.AppGlobals.ManagementApproval_Order_RejectByCEO = filteredscreens.visibleButtons.indexOf('ManagementApproval_Order_RejectByCEO') > -1 ? true : false;\n //#endregion\n //#region enableButtns\n this.AppGlobals.disable_ManagementApproval_RejectByCEO = filteredscreens.buttons.indexOf('ManagementApproval_RejectByCEO') > -1 ? true : false;\n this.AppGlobals.disable_ManagementApproval_HoldByCEO = filteredscreens.buttons.indexOf('ManagementApproval_HoldByCEO') > -1 ? true : false;\n this.AppGlobals.disable_ManagementApproval_ApproveByCEO = filteredscreens.buttons.indexOf('ManagementApproval_ApproveByCEO') > -1 ? true : false;\n\n this.AppGlobals.disable_ManagementApproval_Order_ApproveByCEO = filteredscreens.buttons.indexOf('ManagementApproval_Order_ApproveByCEO') > -1 ? true : false;\n this.AppGlobals.disable_ManagementApproval_Order_RejectByCEO = filteredscreens.buttons.indexOf('ManagementApproval_Order_RejectByCEO') > -1 ? true : false;\n //#endregion\n }\n this.EnquiryConfirmationVisible = filteredscreens.screens.indexOf('Enquiry Confirmation') > -1 ? true : false;\n\n if (this.EnquiryConfirmationVisible) {\n this.AppGlobals.isEnquiryConfirmationEditable = filteredscreens.disableScreen.indexOf('Enquiry Confirmation') > -1 ? false : true;\n if (this.userid != this.EnquiryObj.EnquiryDetails.Initiator_Id && this.role != this.UserRolesData.filter(x=>x.Name=='Admin')[0]?.Id && this.AppGlobals.isEnquiryConfirmationEditable) {\n this.EnquiryConfirmationVisible = false;\n this.selectedIndexForStatus = 0;\n }\n //#region VisibleButtons\n if (!this.AppGlobals.isEnquiryConfirmationEditable) {\n if (!this.RoleWiseScreenDisplay.some(x => x == 'Enquiry Confirmation')) {\n this.EnquiryConfirmationVisible = false;\n this.selectedIndexForStatus = this.selectedIndexForStatus - 1;\n\n }\n }\n this.AppGlobals.EnquiryConfirmation_ConfimrOrderBySalesEngg = filteredscreens.visibleButtons.indexOf('EnquiryConfirmation_ConfimrOrderBySalesEngg') > -1 ? true : false;\n this.AppGlobals.EnquiryConfirmation_QuoteRevision = filteredscreens.visibleButtons.indexOf('EnquiryConfirmation_QuoteRevision') > -1 ? true : false;\n //#endregion\n //#region enableButtns\n this.AppGlobals.disable_EnquiryConfirmation_QuoteRevision = filteredscreens.buttons.indexOf('EnquiryConfirmation_QuoteRevision') > -1 ? true : false;\n //#endregion\n\n }\n this.isSOVisible = filteredscreens.screens.indexOf('Sales Order') > -1 ? true : false;\n if (this.isSOVisible) {\n if (!(this.EnquiryObj.POValues == null || this.EnquiryObj.POValues?.length == 0)) {\n } else {\n this.getQuotationData();\n }\n\n //#region VisibleButtons\n\n this.AppGlobals.isSOEditable = filteredscreens.disableScreen.indexOf('Sales Order') > -1 ? false : true;\n if (!this.AppGlobals.isSOEditable) {\n if (!this.RoleWiseScreenDisplay.some(x => x == 'Sales Order')) {\n this.isSOVisible = false;\n this.selectedIndexForStatus = this.selectedIndexForStatus - 1;\n\n }\n }\n this.AppGlobals.SO_SendtoSupplyChainByCustomerService = filteredscreens.visibleButtons.indexOf('SO_SendtoSupplyChainByCustomerService') > -1 ? true : false;\n this.AppGlobals.ManagementApproval_SendOrderforApprovalByCustomerService = filteredscreens.visibleButtons.indexOf('ManagementApproval_SendOrderforApprovalByCustomerService') > -1 ? true : false;\n //#endregion\n //#region enableButtns\n this.AppGlobals.disable_SO_SendtoSupplyChainByCustomerService = filteredscreens.buttons.indexOf('SO_SendtoSupplyChainByCustomerService') > -1 ? true : false;\n this.AppGlobals.disable_ManagementApproval_SendOrderforApprovalByCustomerService = filteredscreens.buttons.indexOf('ManagementApproval_SendOrderforApprovalByCustomerService') > -1 ? true : false;\n //#endregion\n }\n this.isSupplychainVisible = filteredscreens.screens.indexOf('Supply Chain') > -1 ? true : false;\n if (this.isSupplychainVisible) {\n this.AppGlobals.isSupplychainEditable = filteredscreens.disableScreen.indexOf('Supply Chain') > -1 ? false : true;\n //#region VisibleButtons\n if (!this.AppGlobals.isSupplychainEditable) {\n if (!this.RoleWiseScreenDisplay.some(x => x == 'Supply Chain')) {\n this.isSupplychainVisible = false;\n this.selectedIndexForStatus = this.selectedIndexForStatus - 1;\n\n }\n }\n this.AppGlobals.SupplyChain_SubmitBySupplyChain = filteredscreens.visibleButtons.indexOf('SupplyChain_SubmitBySupplyChain') > -1 ? true : false;\n // this.AppGlobals.OrderAcknowledmentNo = filteredscreens.visibleButtons.indexOf('OrderAcknowledmentNo') > -1 ? true: false;\n this.AppGlobals.MaterialReadyForDispatch = filteredscreens.visibleButtons.indexOf('MaterialReadyForDispatch') > -1 ? true : false;\n //#endregion\n //#region enableButtns\n this.AppGlobals.disable_SupplyChain_SubmitBySupplyChain = filteredscreens.buttons.indexOf('SupplyChain_SubmitBySupplyChain') > -1 ? true : false;\n // this.AppGlobals.disable_OrderAcknowledmentNo = filteredscreens.buttons.indexOf('OrderAcknowledmentNo') > -1 ? true: false;\n\n //#endregion\n }\n this.isAccountsVisible = filteredscreens.screens.indexOf('Accounts') > -1 ? true : false;\n if (this.isAccountsVisible) {\n this.AppGlobals.isAccountsEditable = filteredscreens.disableScreen.indexOf('Accounts') > -1 ? false : true;\n //#region VisibleButtons\n if (!this.AppGlobals.isAccountsEditable) {\n if (!this.RoleWiseScreenDisplay.some(x => x == 'Accounts')) {\n this.isAccountsVisible = false;\n this.selectedIndexForStatus = this.selectedIndexForStatus - 1;\n\n }\n }\n\n this.AppGlobals.Accounts_ConfimrOrderByAccounts = filteredscreens.visibleButtons.indexOf('Accounts_ConfimrOrderByAccounts') > -1 ? true : false;\n //#endregion\n //#region enableButtns\n this.AppGlobals.disable_Accounts_ConfimrOrderByAccounts = filteredscreens.buttons.indexOf('Accounts_ConfimrOrderByAccounts') > -1 ? true : false;\n //#endregion\n }\n this.isOAGenerationVisible = filteredscreens.screens.indexOf('OAGenerate') > -1 ? true : false;\n if (this.isOAGenerationVisible) {\n this.AppGlobals.isOAGenerateEditable = filteredscreens.disableScreen.indexOf('OAGenerate') > -1 ? false : true;\n //#region VisibleButtons\n if (!this.AppGlobals.isOAGenerateEditable) {\n if (!this.RoleWiseScreenDisplay.some(x => x == 'OAGenerate')) {\n this.isOAGenerationVisible = false;\n this.selectedIndexForStatus = this.selectedIndexForStatus - 1;\n\n }\n }\n this.AppGlobals.OrderAcknowledmentNo = filteredscreens.visibleButtons.indexOf('OrderAcknowledmentNo') > -1 ? true : false;\n\n //#endregion\n //#region enableButtns\n\n //#endregion\n }\n }\n //TO SHOW THE SCREENS WHICH ARE PASSED BY CURRENT ROLE\n else {\n this.selectedIndexForStatus = 0;\n var screensVisibleAfterPassedArray = this.AppGlobals.screensVisibleAfterPassed.filter(x => x.role == role)[0]?.screens;\n var filterScreenArray = screensVisibleAfterPassedArray.filter(o1 => this.RoleWiseScreenDisplay.some(o2 => o1.screenName === o2));\n\n if (filterScreenArray != undefined) {\n var qgArray: any = filterScreenArray.filter(x => x.screenName == 'Quote Generation')[0]?.status;\n if (qgArray != undefined) {\n this.isQuoteGenerationVisible = qgArray.indexOf(enquirystatus) > -1 ? true : false;\n this.AppGlobals.isQuoteGenerationEditable = false;\n this.AppGlobals.QuoteGenearationAcceptByL1 = false;\n this.AppGlobals.QuoteGenearation_RemorkByL1 = false;\n this.AppGlobals.QuoteGenearation_ForwardtoL2ByL1 = false;\n this.AppGlobals.QuoteGenearation_ForwardtoL3ByL2 = false;\n this.AppGlobals.QuoteGenearation_SendtoL2ByL3 = false;\n this.AppGlobals.QuoteGenearation_SendtoL1ByL2 = false;\n this.AppGlobals.QuoteGenearation_SendtoCustomerServiceByL1 = false;\n this.AppGlobals.QuoteGenearation_SendforApprovalByCustomerService = false;\n this.AppGlobals.QuoteGenearation_SendBOMProposalByL1 = false;\n this.AppGlobals.QuoteGenearation_Enquiry_TechnicalDiscard = false;\n }\n\n\n var maArray = filterScreenArray.filter(x => x.screenName == 'Management Approval')[0]?.status;\n if (maArray != undefined) {\n this.isManagementApprovalVisible = maArray.indexOf(enquirystatus) > -1 ? true : false;\n this.AppGlobals.isManagementApprovalEditable = false;\n this.AppGlobals.ManagementApproval_RejectBySalesDirector = false;\n this.AppGlobals.ManagementApproval_ApproveBySalesDirector = false;\n this.AppGlobals.ManagementApproval_HoldBySalesDirector = false;\n this.AppGlobals.ManagementApproval_SendQuotationforApprovalBySalesDirector = false;\n this.AppGlobals.ManagementApproval_Order_RejectBySalesDirector = false;\n this.AppGlobals.ManagementApproval_Order_ApproveBySalesDirector = false;\n this.AppGlobals.ManagementApproval_SendOrderforApprovalBySalesDirector = false;\n }\n\n var caArray = filterScreenArray.filter(x => x.screenName == 'CEO Approval')[0]?.status;\n if (caArray != undefined) {\n this.isCEOApprovalVisible = caArray.indexOf(enquirystatus) > -1 ? true : false;\n this.AppGlobals.isCEOApprovalEditable = false;\n this.AppGlobals.ManagementApproval_RejectByCEO = false;\n this.AppGlobals.ManagementApproval_HoldByCEO = false;\n this.AppGlobals.ManagementApproval_ApproveByCEO = false;\n\n this.AppGlobals.ManagementApproval_Order_ApproveByCEO = false;\n this.AppGlobals.ManagementApproval_Order_RejectByCEO = false;\n }\n\n\n var ecaArray = filterScreenArray.filter(x => x.screenName == 'Enquiry Confirmation')[0]?.status;\n if (ecaArray != undefined) {\n this.EnquiryConfirmationVisible = ecaArray.indexOf(enquirystatus) > -1 ? true : false;\n this.AppGlobals.isEnquiryConfirmationEditable = false;\n this.AppGlobals.EnquiryConfirmation_ConfimrOrderBySalesEngg = false;\n }\n\n var soArray = filterScreenArray.filter(x => x.screenName == 'Sales Order')[0]?.status;\n if (soArray != undefined) {\n this.isSOVisible = soArray.indexOf(enquirystatus) > -1 ? true : false;\n this.AppGlobals.isSOEditable = false;\n this.AppGlobals.SO_SendtoSupplyChainByCustomerService = false;\n this.AppGlobals.ManagementApproval_SendOrderforApprovalByCustomerService = false;\n }\n\n\n var scArray = filterScreenArray.filter(x => x.screenName == 'Supply Chain')[0]?.status;\n if (scArray != undefined) {\n this.isSupplychainVisible = scArray.indexOf(enquirystatus) > -1 ? true : false;\n this.AppGlobals.isSupplychainEditable = false;\n this.AppGlobals.SupplyChain_SubmitBySupplyChain = false;\n this.AppGlobals.MaterialReadyForDispatch = false;\n }\n\n var acArray = filterScreenArray.filter(x => x.screenName == 'Accounts')[0]?.status;\n if (acArray != undefined) {\n this.isAccountsVisible = acArray.indexOf(enquirystatus) > -1 ? true : false;\n this.AppGlobals.isAccountsEditable = false;\n this.AppGlobals.Accounts_ConfimrOrderByAccounts = false;\n }\n\n var OAArray = filterScreenArray.filter(x => x.screenName == 'OAGenerate')[0]?.status;\n if (OAArray != undefined) {\n this.isOAGenerationVisible = OAArray.indexOf(enquirystatus) > -1 ? true : false;\n this.AppGlobals.isOAGenerateEditable = false;\n this.AppGlobals.OrderAcknowledmentNo = false;\n }\n }\n }\n\n }\n }\n\n toggleAttchments(i) {\n\n this.EnquiryObj.Comments[i].showAttachments = !this.EnquiryObj.Comments[i].showAttachments;\n }\n \n getQuotationData() {\n this.updateLoaderEvent.emit(true);\n let queryString = \"\";\n queryString = \"id=\" + this.EnquiryObj.EnquiryDetails.EnquiryId;\n this.commonService.GetData('Enquiry', 'GetQuotationByEnquiryId', queryString).subscribe((data: any) => {\n this.QuotationDataForPO = data.QuotationObj;\n this.QuotationDataForPO.forEach(element => {\n var obj = new ProductModelPOValues();\n obj.ProductId = element.ProductId;\n obj.ProductModelName = element.ProductModelName;\n if (element.Variant1Name != undefined) obj.ProductModelName = obj.ProductModelName + ' (' + element.Variant1Name;\n if (element.Variant2Name != undefined) obj.ProductModelName = obj.ProductModelName + ', ' + element.Variant2Name;\n if (element.Variant3Name != undefined) obj.ProductModelName = obj.ProductModelName + ', ' + element.Variant3Name;\n if (element.Variant4Name != undefined) obj.ProductModelName = obj.ProductModelName + ', ' + element.Variant4Name;\n obj.ProductModelName = obj.ProductModelName + ')'\n obj.QUotationValue = element.FinalAmount;\n obj.ProductModelPOValue = \"\";\n this.EnquiryObj.POValues.push(obj);\n });\n });\n }\n\n getEnquiryDetailsById() {\n this.updateLoaderEvent.emit(true);\n let queryString = \"\";\n queryString = \"id=\" + this.EnquiryObj.EnquiryDetails.EnquiryId;\n this.commonService.GetData('Enquiry', 'GetById', queryString).subscribe((data: any) => {\n this.EnquiryObj.EnquiryDetails = data.EnquiryDetails;\n if (this.EnquiryObj.EnquiryDetails.QuotationRevisionNo != null && this.EnquiryObj.EnquiryDetails.QuotationRevisionNo > 0) {\n this.getRevisedQuotationFileNamelist(this.EnquiryObj.EnquiryDetails.QuotationNumber, this.EnquiryObj.EnquiryDetails.QuotationRevisionNo);\n }\n\n this.EnquiryObj.EnquiryDetails.EnquiryDate = new NgbDate(new Date(this.EnquiryObj.EnquiryDetails.EnquiryDate).getFullYear(), new Date(this.EnquiryObj.EnquiryDetails.EnquiryDate).getMonth() + 1, new Date(this.EnquiryObj.EnquiryDetails.EnquiryDate).getDate());\n if (this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate != null) {\n this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate = new NgbDate(new Date(this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate).getFullYear(), new Date(this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate).getMonth() + 1, new Date(this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate).getDate());\n }\n if (this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate != null) {\n this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate = new NgbDate(new Date(this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate).getFullYear(), new Date(this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate).getMonth() + 1, new Date(this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate).getDate());\n }\n this.EnquiryObj.EnqCustomerDetails = data.CustomerDetails;\n this.EnquiryObj.RFQObject = data.RFQObject;\n this.EnquiryObj.CustomerServiceComments_Quotation = data.CustomerServiceComments_Quotation;\n this.EnquiryObj.CustomerServiceComments_Order = data.CustomerServiceComments_Order;\n this.EnquiryObj.SalesDirectorComments_Quotation = data.SalesDirectorComments_Quotation;\n\n this.EnquiryObj.SalesDirectorComments_Order = data.SalesDirectorComments_Order;\n this.EnquiryObj.Comments = data.Comments == undefined ? [] : data.Comments;\n this.EnquiryObj.POValues = data.POValues;\n\n this.WinLossDropdownData = data.ReasonEnquiryWinLossObj;\n this.WinLossDropdownDataForStatus = this.WinLossDropdownData.filter(x => x.Value == this.EnquiryObj.EnquiryDetails.EnquiryConfirmStatus);\n \n if (data.EnquiryDetails.RFQTermsAndCondition == \"Standard\" || data.EnquiryDetails.RFQTermsAndCondition == \"\") {\n\n if (data.TermsAndConditions.length == 0) {\n this.EnquiryObj.EnquiryDetails.RFQTermsAndCondition = \"Standard\";\n this.EnquiryObj.TermsAndConditions = this.TnCStandardFromDropDown;\n } else {\n this.EnquiryObj.TermsAndConditions = data.TermsAndConditions;\n\n }\n this.isStandardCondition = true;\n } else if (data.EnquiryDetails.RFQTermsAndCondition == \"Customized\") {\n\n if (data.CustomTermsAndConditions.length == 0) {\n this.EnquiryObj.EnquiryDetails.RFQTermsAndCondition = \"Customized\";\n this.EnquiryObj.CustomTermsAndConditions = this.TnCCustomizedFromDropDown;\n this.TnCCustomizedDropDownForEditRfq1 = this.TnCCustomizedFromDropDown;\n } else {\n this.EnquiryObj.CustomTermsAndConditions = data.CustomTermsAndConditions;\n this.TnCCustomizedDropDownForEditRfq2 = data.CustomTermsAndConditions;\n }\n\n this.isStandardCondition = false;\n }\n\n this.activityDetails = data.ActivityDetails;\n this.activityDetails.forEach(element => {\n element.ActivityDate = new NgbDate(new Date(element.ActivityDate).getFullYear(), new Date(element.ActivityDate).getMonth() + 1, new Date(element.ActivityDate).getDate());\n\n //element.ActivityDateISO = new NgbDate(new Date(element.ActivityDate).getFullYear(), new Date(element.ActivityDate).getMonth() + 1, new Date(element.ActivityDate).getDate());\n });\n\n //TO POPULATE A SINGLE ROW ON PAGE INIT\n if (this.EnquiryObj.RFQObject.length == 0) {\n var obj = new ProductDetails();\n this.EnquiryObj.RFQObject.push(obj);\n }\n\n //TO POPULATE A SINGLE ROW ON PAGE INIT\n if (this.activityDetails.length == 0) {\n var obj1 = new ActivityModel();\n obj1.ActivityDate = new NgbDate(new Date().getFullYear(), new Date().getMonth() + 1, new Date().getDate());\n obj1.uniqueid = this.makeRandom();\n this.activityDetails.push(obj1);\n }\n\n this.role = localStorage.getItem('UserRole');\n this.ScreenAccessSpecifier(localStorage.getItem('UserRole'), this.EnquiryObj.EnquiryDetails.Status);\n if(this.EnquiryObj.EnquiryDetails.segment!=undefined)\n {\n this.SubSegment = this.FinalSubSegment.filter(x=>x.SegmentId==this.EnquiryObj.EnquiryDetails.segment);\n this.Application= this.FinalApplication.filter(x=>x.SubSegmentId==this.EnquiryObj.EnquiryDetails.subSegment);\n }\n if(this.EnquiryObj.EnquiryDetails.segment==null|| this.EnquiryObj.EnquiryDetails.subSegment==null || this.EnquiryObj.EnquiryDetails.application==null)\n {\n this.EnquiryObj.EnquiryDetails.segment=undefined;\n this.EnquiryObj.EnquiryDetails.subSegment=undefined;\n this.EnquiryObj.EnquiryDetails.application=undefined;\n }\n\n this.EnquiryObj.EnquiryDetails.IsFetchFromKYC=data.EnquiryDetails.IsFetchFromKYC;\n this.previousEnqStatus = this.EnquiryObj.EnquiryDetails.Status;\n \n }, error => {\n this.updateLoaderEvent.emit(false);\n });\n\n }\n\n getRevisedQuotationFileNamelist(QuotationNumber: string, QuotationRevision: number) {\n let QTNNumber = QuotationNumber.replace(\"QTN/\", \"\");\n QTNNumber = QTNNumber.split(\"/\").join(\"_\");\n let filename = \"Quotation_\" + QTNNumber;\n let pdffilename = filename.split('_R')[0];\n for (let i = 0; i < QuotationRevision; i++) {\n if (i == 0) {\n this.RevisedQuotationFileNameList.push(pdffilename + \".pdf\")\n }\n else {\n this.RevisedQuotationFileNameList.push(pdffilename + \"_R\" + i + \".pdf\")\n }\n }\n\n }\n\n makeRandom() {\n let text = \"\";\n var possible: string = \"ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890,./;'[]\\=-)(*&^%$#@!~\";\n const lengthOfCode = 40;\n for (let i = 0; i < lengthOfCode; i++) {\n text += possible.charAt(Math.floor(Math.random() * possible.length));\n }\n return text;\n }\n\n getRFQProduct() {\n this.updateLoaderEvent.emit(true);\n this.commonService.GetData(\"Enquiry\", \"GetEnquiryRFQDropdownData\", null).subscribe((data: any) => {\n this.product = data;\n this.productDrpdnDetails.MDSOptions = data.MDS;\n this.productDrpdnDetails.SalesPrice = data.Salesprice;\n this.productDrpdnDetails.EstimatedProductValue = data.EstimatedProductValue;\n this.IndustrySegment = data.segment; \n this.SubSegment = [];\n this.Application= []; \n this.FinalIndustrySegment = data.segment;\n this.FinalSubSegment = data.subSegment;\n this.FinalApplication= data.application;\n data.TermsAndConditions.forEach(element => {\n var obj = new TermsAndCondition();\n obj.TnCId = element.Id;\n obj.TnCName = element.Name;\n obj.TnCValue = element.Value;\n this.TnCStandardFromDropDown.push(obj);\n });\n\n this.demoObject = data.TermsAndConditions;\n\n this.demoCTCObject = data.CustomTermsAndCondition;\n \n for (let i = 0; i < data.CustomTermsAndCondition.length; i++) {\n var obj1 = new CustomTermsAndCondition();\n obj1.StandardTC = data.CustomTermsAndCondition[i].StandardTC.Id;\n obj1.StandardTCName = data.CustomTermsAndCondition[i].StandardTC.Name;\n // this.standardTC.push(data.CustomTermsAndCondition[i].StandardTC);\n\n for (let j = 0; j < data.CustomTermsAndCondition[i].CustomValues.length; j++) {\n obj1.CustomValues.push(data.CustomTermsAndCondition[i].CustomValues[j]);\n }\n this.TnCCustomizedFromDropDown.push(obj1);\n }\n\n this.demoCTCObject = data.CustomTermsAndCondition;\n \n //this.showLoader = false;\n });\n }\n\n getProductModel(Id, ind) {\n this.EnquiryObj.RFQObject[ind].ProductLineValidation = false;\n this.product.Product.forEach((element, index) => {\n if (element.ProductLine.Id == Id) {\n this.productDrpdnDetails.ProductModel = element.ProductModels;\n this.newRFQDetails.ProductModelList = element.ProductModels;\n this.EnquiryObj.RFQObject[ind].isProductLineChangeClick = true;\n this.EnquiryObj.RFQObject[ind].ProductModelList = this.productDrpdnDetails.ProductModel;\n }\n });\n }\n OnProductModelChange(index) {\n this.EnquiryObj.RFQObject[index].ProductModelValidation = false;\n }\n OnQuantityChange(index) {\n if (this.EnquiryObj.RFQObject[index].Quantity < 1) {\n //alert('Quantity cannot be 0 or negative.');\n this.toastr.info('Quantity cannot be 0 or negative.');\n this.EnquiryObj.RFQObject[index].Quantity = null;\n return;\n } else if (this.EnquiryObj.RFQObject[index].Quantity % 1 != 0) {\n // alert('Please enter the valid Quantity');\n this.toastr.info('Please enter the valid Quantity');\n\n this.EnquiryObj.RFQObject[index].Quantity = null;\n return;\n }\n this.EnquiryObj.RFQObject[index].QuantityValidation = false;\n }\n OnMDSOptionChange(index) {\n this.EnquiryObj.RFQObject[index].MDSOptionValidation = false;\n }\n\n deleteAttachDocument(index, attachemntType) {\n switch (attachemntType) {\n case \"MDS\":\n this.EnquiryObj.RFQObject[index].MDSAttachment = [];\n this.EnquiryObj.RFQObject[index].isMDSAttachment = false;\n break;\n case \"ITC\":\n this.EnquiryObj.RFQObject[index].ITCAttachment = [];\n this.EnquiryObj.RFQObject[index].isITCAttachment = false;\n break;\n case \"Customer\":\n this.EnquiryObj.RFQObject[index].CustomerAttachment = [];\n this.EnquiryObj.RFQObject[index].isCustomerAttachment = false;\n break;\n case \"Weiss\":\n this.EnquiryObj.RFQObject[index].WeissAttachment = [];\n this.EnquiryObj.RFQObject[index].isWeissAttachment = false;\n break;\n }\n\n }\n\n getCustomerList() {\n this.updateLoaderEvent.emit(true);\n this.commonService.GetData(\"Customer\", \"GetAll\", null).subscribe((data: any) => {\n this.CustomerList = data;\n\n this.updateLoaderEvent.emit(false);\n });\n }\n\n getEnquirySourceDetails() {\n this.updateLoaderEvent.emit(true);\n this.commonService.GetData(\"Enquiry\", \"GetEnquiryDropdownData\", null).subscribe((data: any) => {\n this.enquirySource = data.EnquirySource;\n this.updateLoaderEvent.emit(false);\n });\n }\n\n getProductDetails() {\n this.updateLoaderEvent.emit(true);\n this.commonService.GetData(\"Product\", \"GetRFQProductDetails\", null).subscribe((data: any) => {\n this.CustomerList = data;\n //this.showLoader = false;\n });\n }\n\n AvoidSpace(event: any) {\n if ((event.which === 46 || event.which === 32) && !event.target.value.length) {\n event.preventDefault();\n }\n }\n\n isNumberKey(evt: any) {\n this.charCode = (evt.which) ? evt.which : evt.keyCode;\n if ((this.charCode == 45 || this.charCode == 43) && this.charCode > 31\n && (this.charCode < 48 || this.charCode > 57)) {\n return false;\n }\n else {\n return true;\n }\n }\n\n isintNumberKey(evt: any) {\n this.charCode = (evt.which) ? evt.which : evt.keyCode;\n if ((this.charCode == 46 || this.charCode == 45 || this.charCode == 43) && this.charCode > 31\n && (this.charCode < 48 || this.charCode > 57)) {\n return false;\n }\n else {\n return true;\n }\n }\n\n openCSComments() {\n this.isCustomerCommentVisible = !this.isCustomerCommentVisible;\n }\n\n backtoList() {\n // this._location.back();\n if (this.previousUrl == null || this.previousUrl == \"\" || this.previousUrl == undefined) {\n this.router.navigate(['/Enquiry']);\n }\n else if (this.previousUrl.includes(\"PendingEnquiry\")) {\n this.router.navigate(['/PendingEnquiry']);\n }\n else {\n this.router.navigate(['/Enquiry']);\n }\n\n }\n\n onEnquiryConfirmationStatusChange() {\n this.EnquiryObj.EnquiryDetails.EnquiryConfirmReason = null;\n this.WinLossDropdownDataForStatus = this.WinLossDropdownData.filter(x => x.Value == this.EnquiryObj.EnquiryDetails.EnquiryConfirmStatus);\n this.EnquiryObj.EnquiryDetails.EnquiryConfirmReason = this.WinLossDropdownDataForStatus[0].Id;\n if (this.EnquiryObj.EnquiryDetails.EnquiryConfirmStatus == \"Lost\") {\n this.isPoValueDisable = true;\n this.EnquiryObj.EnquiryDetails.POValue = \"0\";\n } else {\n this.isPoValueDisable = false;\n this.EnquiryObj.EnquiryDetails.POValue = undefined;\n }\n }\n\n getMultipleFileDetails(event) {\n for (let i = 0; i < event.target.files.length; i++) {\n let file = event.target.files[i];\n let isValidFile = true;\n if (((file.size) / 1000000) <= 5) {\n\n isValidFile = this.allowedFileType.includes(file.type);\n if (!isValidFile) {\n this.toastr.warning(\"Invalid file attached!\");\n //event.target.value = null;\n isValidFile = false;\n } else if (file.name.length > 50) {\n this.toastr.warning(\"The file name with more than 50 characters are not allowed.\");\n isValidFile = false;\n }\n }\n else {\n this.toastr.warning(\"File size must be less than or equal to 5MB!\");\n //event.target.value = null;\n isValidFile = false;\n }\n if (isValidFile) {\n switch (event.target.name) {\n case \"quotefiles\":\n if (this.EnquiryObj.EnquiryDetails.QuoteGenAttachments == undefined || this.EnquiryObj.EnquiryDetails.QuoteGenAttachments.length == 0) {\n this.EnquiryObj.EnquiryDetails.QuoteGenAttachments = [];\n }\n this.EnquiryObj.EnquiryDetails.QuoteGenAttachments.push(file);\n break;\n case \"mafile\":\n if (this.EnquiryObj.EnquiryDetails.QuoteGenAttachments == undefined || this.EnquiryObj.EnquiryDetails.QuoteGenAttachments.length == 0) {\n this.EnquiryObj.EnquiryDetails.QuoteGenAttachments = [];\n }\n this.EnquiryObj.EnquiryDetails.QuoteGenAttachments.push(file);\n break;\n case \"ceofile\":\n if (this.EnquiryObj.EnquiryDetails.QuoteGenAttachments == undefined || this.EnquiryObj.EnquiryDetails.QuoteGenAttachments.length == 0) {\n this.EnquiryObj.EnquiryDetails.QuoteGenAttachments = [];\n }\n this.EnquiryObj.EnquiryDetails.QuoteGenAttachments.push(file);\n break;\n case \"maofile\":\n if (this.EnquiryObj.EnquiryDetails.QuoteGenAttachments == undefined || this.EnquiryObj.EnquiryDetails.QuoteGenAttachments.length == 0) {\n this.EnquiryObj.EnquiryDetails.QuoteGenAttachments = [];\n }\n this.EnquiryObj.EnquiryDetails.QuoteGenAttachments.push(file);\n break;\n }\n }\n }\n }\n\n removeQuoteGenAttachments(index) {\n this.EnquiryObj.EnquiryDetails.QuoteGenAttachments.splice(index, 1);\n this.myInputVariable.nativeElement.value = \"\";\n\n }\n removeQuoteGenAttachmentsDB(index) {\n this.EnquiryObj.RemoveFiles.push(this.EnquiryObj.EnquiryDetails.QuoteAttachmentsArray[index].FilePath);\n this.EnquiryObj.EnquiryDetails.QuoteAttachmentsArray[index].FileName = null;\n this.EnquiryObj.EnquiryDetails.QuoteAttachmentsArray[index].FilePath = null;\n this.EnquiryObj.EnquiryDetails.QuoteAttachmentsArray.splice(index, 1);\n }\n removeBOMAttachments(flag) {\n if (flag == 1) {\n this.EnquiryObj.RemoveFiles.push(this.EnquiryObj.EnquiryDetails.BOM_filepath);\n }\n this.isBOMAttachment = false;\n this.EnquiryObj.EnquiryDetails.BOMAttachment = [];\n this.EnquiryObj.EnquiryDetails.BOM_filename = null;\n this.EnquiryObj.EnquiryDetails.BOM_filepath = null;\n }\n\n removeInvoiceAttachments() {\n this.isInvoiceAttachment = false;\n this.myInputVariable.nativeElement.value = \"\";\n this.EnquiryObj.EnquiryDetails.InvoiceAttachment = undefined;\n }\n GenerateOANumber() {\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Once OA Number Generated, can't be altered. Do you want to continue?\"\n }\n });\n dialogRef.afterClosed().subscribe(dialogResult => {\n if (dialogResult) {\n this.updateLoaderEvent.emit(true);\n let queryString = \"\";\n queryString = \"id=\" + this.EnquiryObj.EnquiryDetails.EnquiryId;\n this.commonService.GetData('Enquiry', 'GenerateOANo', queryString).subscribe((data: any) => {\n\n this.EnquiryObj.EnquiryDetails.OrdAcknowledgeNumber = data;\n this.isOAGenerated = true;\n this.updateLoaderEvent.emit(false);\n this.toastr.success('Order Acknowledgement Number generated successfully!');\n\n }, error => {\n this.EnquiryObj.EnquiryDetails.OrdAcknowledgeNumber = undefined;\n this.toastr.error('Failed to Order Acknowledgement Number!');\n this.isOAGenerated = false;\n this.updateLoaderEvent.emit(false);\n });\n }\n });\n }\n onStepChange(data) {\n\n if (this.userid == this.EnquiryObj.EnquiryDetails.Initiator_Id && data.previouslySelectedIndex == 0 && this.activityDetails[0].Activity != \"\") {\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Please make sure that you have saved the activity details. Do you want to continue?\"\n }\n });\n dialogRef.afterClosed().subscribe(dialogResult => {\n if (dialogResult) {\n } else {\n this.stepper.selectedIndex = data.previouslySelectedIndex;\n }\n });\n }\n }\n SetStatus(rule, myform: any) {\n this.PreviousStatus = this.EnquiryObj.EnquiryDetails.Status;\n this.EnquiryObj.EnquiryDetails.Status = rule[0].workflowNextStatusId;\n this.AddEnquiry();\n\n }\n\n AddEnquiry() {\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='EnquiryAdded')[0]?.Pk_Id\n || this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='RFQSaveAsDraft')[0]?.Pk_Id\n || this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='RFQSubmittedbySalesEngg')[0]?.Pk_Id) {\n \n this.checkRFQGridValidation();\n if (!this.IsRFQDataValid) {\n return;\n }\n if (this.EnquiryObj.EnquiryDetails.RFQTermsAndCondition == 'Standard')\n {\n let tnc = this.EnquiryObj.TermsAndConditions.filter(x => (x.TnCValue == undefined || x.TnCValue == null || x.TnCValue == ''));\n if (tnc.length > 0) {\n return;\n }\n this.EnquiryObj.CustomTermsAndConditions=null;\n }\n \n if (this.EnquiryObj.EnquiryDetails.RFQTermsAndCondition == 'Customized')\n {\n let ctnc = this.EnquiryObj.CustomTermsAndConditions.filter(x => (x.CustomValues == undefined || x.CustomValues == null))\n if (ctnc.length > 0) {\n return;\n } \n this.EnquiryObj.TermsAndConditions=null;\n } \n \n \n }\n //Dont proceed if the BOM attachment is not present\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='SendBOMandProposal')[0]?.Pk_Id || this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='QuotationSenttoCustomerService')[0]?.Pk_Id ||\n this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='RFQsentbyL1toL2')[0]?.Pk_Id) {\n if ((this.EnquiryObj.EnquiryDetails.BOMAttachment == null || this.EnquiryObj.EnquiryDetails.BOMAttachment == undefined || this.EnquiryObj.EnquiryDetails.BOMAttachment.length == 0) &&\n (this.EnquiryObj.EnquiryDetails.BOM_filename == null || this.EnquiryObj.EnquiryDetails.BOM_filename == undefined || this.EnquiryObj.EnquiryDetails.BOM_filename == \"\")) {\n this.toastr.info('BOM attachment is required.');\n return;\n }\n }\n\n // //Dont proceed if the Po attachment is not present\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='EnquiryOrderConfirmedbySalesEngg')[0]?.Pk_Id) {\n if ((this.EnquiryObj.EnquiryDetails.POAttchments == null || this.EnquiryObj.EnquiryDetails.POAttchments == undefined || this.EnquiryObj.EnquiryDetails.POAttchments.length == 0) &&\n (this.EnquiryObj.EnquiryDetails.PO_filename == null || this.EnquiryObj.EnquiryDetails.PO_filename == undefined || this.EnquiryObj.EnquiryDetails.PO_filename == \"\")) {\n this.toastr.info('PO attachment is required.');\n return;\n }\n }\n\n // //Dont proceed if the Invoice attachment is not present\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='AccountsConfirmInvoiceNo')[0]?.Pk_Id) {\n if ((this.EnquiryObj.EnquiryDetails.InvoiceAttachment == null || this.EnquiryObj.EnquiryDetails.InvoiceAttachment == undefined || this.EnquiryObj.EnquiryDetails.InvoiceAttachment.length == 0) &&\n (this.EnquiryObj.EnquiryDetails.Invoice_filename == null || this.EnquiryObj.EnquiryDetails.Invoice_filename == undefined || this.EnquiryObj.EnquiryDetails.Invoice_filename == \"\")) {\n this.EnquiryObj.EnquiryDetails.Status = this.enquiryStatusList.filter(x=>x.Status=='MaterialReadyForDispatch')[0]?.Pk_Id;\n this.toastr.info('Invoice attachment is required.');\n return;\n }\n }\n\n\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='EnquiryOrderConfirmedbySalesEngg')[0]?.Pk_Id) {\n if ((this.EnquiryObj.EnquiryDetails.POAttchments == undefined || this.EnquiryObj.EnquiryDetails.POAttchments == null || this.EnquiryObj.EnquiryDetails.POAttchments.length==0)) {\n return;\n }\n }\n\n\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='OrdersentforMngmtApproval_SalesDirector')[0]?.Pk_Id) {\n if (this.isPOAttacmentDelete) {\n if ((this.EnquiryObj.EnquiryDetails.POAttchments == undefined || this.EnquiryObj.EnquiryDetails.POAttchments == null || this.EnquiryObj.EnquiryDetails.POAttchments.length == 0)) {\n return;\n }\n }\n\n }\n\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='OrderConfirmedbyCustomerServiceSendSO')[0]?.Pk_Id) {\n if (this.isPOAttacmentDelete) {\n if ((this.EnquiryObj.EnquiryDetails.POAttchments == undefined || this.EnquiryObj.EnquiryDetails.POAttchments == null || this.EnquiryObj.EnquiryDetails.POAttchments.length == 0)) {\n return;\n }\n }\n }\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='AccountsConfirmInvoiceNo')[0]?.Pk_Id) {\n if (this.EnquiryObj.EnquiryDetails.InvoiceAttachment == undefined) {\n this.EnquiryObj.EnquiryDetails.Status = this.enquiryStatusList.filter(x=>x.Status=='MaterialReadyForDispatch')[0]?.Pk_Id\n return;\n }\n }\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='OrdersentforMngmtApproval_SalesDirector')[0]?.Pk_Id||\n this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='OrderConfirmedbyCustomerServiceSendSO')[0]?.Pk_Id) {\n let sum: number = 0;\n this.EnquiryObj.POValues.forEach(element => {\n element.ProductModelPOValue = (element.ProductModelPOValue == null || element.ProductModelPOValue == '' || element.ProductModelPOValue == undefined)\n ? '0' : element.ProductModelPOValue;\n sum = sum + parseInt(element.ProductModelPOValue);\n element.QUotationValueValidation = false;\n });\n if (sum.toString() != this.EnquiryObj.EnquiryDetails.POValue) {\n document.getElementById(\"povalue0\").focus();\n this.toastr.info('Total PO value and product wise PO values are not matching.');\n this.EnquiryObj.EnquiryDetails.Status = this.PreviousStatus;\n this.UpdatePO = false;\n return;\n }\n }\n\n setTimeout(() => this.openPopup());\n }\n openPopup() {\n var confimrmsg = this.AppGlobals.successMessages.filter(x => x.id == this.EnquiryObj.EnquiryDetails.Status)[0];\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: confimrmsg.confirmmsg\n }\n });\n dialogRef.afterClosed().subscribe(dialogResult => {\n if (dialogResult) {\n this.updateLoaderEvent.emit(true);\n const frmData = new FormData();\n this.EnquiryObj.RFQObject.forEach(item => {\n item.IsRowDeleted = false;\n });\n if (this.EnquiryObj.EnquiryDetails.EnquiryDate != undefined) {\n this.EnquiryObj.EnquiryDetails.EnquiryDateISO = new Date(this.convertDate(new NgbDate(this.EnquiryObj.EnquiryDetails.EnquiryDate.year, this.EnquiryObj.EnquiryDetails.EnquiryDate.month, this.EnquiryObj.EnquiryDetails.EnquiryDate.day))).toDateString();\n }\n if (this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate != undefined) {\n this.EnquiryObj.EnquiryDetails.TentativeDeliveryDateISO = new Date(this.convertDate(new NgbDate(this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate.year, this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate.month, this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate.day))).toDateString();\n }\n if (this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate != undefined) {\n this.EnquiryObj.EnquiryDetails.RequestedDeliveryDateISO = new Date(this.convertDate(new NgbDate(this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate.year, this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate.month, this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate.day))).toDateString();\n }\n if (this.EnquiryObj.EnquiryDetails.EnquiryDate != undefined) {\n this.EnquiryObj.EnquiryDetails.EnquiryDate = new Date(this.convertDate(new NgbDate(this.EnquiryObj.EnquiryDetails.EnquiryDate.year, this.EnquiryObj.EnquiryDetails.EnquiryDate.month, this.EnquiryObj.EnquiryDetails.EnquiryDate.day)));\n }\n if (this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate != undefined) {\n this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate = new Date(this.convertDate(new NgbDate(this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate.year, this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate.month, this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate.day)));\n }\n if (this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate != undefined) {\n this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate = new Date(this.convertDate(new NgbDate(this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate.year, this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate.month, this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate.day)));\n }\n\n // if (this.EnquiryObj.EnquiryDetails.RFQTermsAndCondition == \"Customized\") {\n // this.EnquiryObj.TermsAndConditions = null;\n \n // if(this.QGRFQEditable == true)\n // {\n // this.EnquiryObj.CustomTermsAndConditions;\n \n // }else{\n // this.EnquiryObj.CustomTermsAndConditions = this.custtermscond;\n // }\n // }\n\n let EnquiryObj = JSON.stringify(this.EnquiryObj);\n frmData.append(\"EnquiryModel\", EnquiryObj);\n\n\n if (this.EnquiryObj.EnquiryDetails.QuoteGenAttachments != null) {\n for (let i = 0; i < this.EnquiryObj.EnquiryDetails.QuoteGenAttachments.length; i++) {\n frmData.append(\"QuoteGenAttachments[\" + i + \"]\", this.EnquiryObj.EnquiryDetails.QuoteGenAttachments[i]);\n }\n }\n for (let i = 0; i < this.EnquiryObj.RFQObject.length; i++) {\n if (this.EnquiryObj.RFQObject[i].MDSAttachment != undefined) {\n frmData.append(\"MDSAttachment[\" + i + \"]\", this.EnquiryObj.RFQObject[i].MDSAttachment[0]);\n }\n if (this.EnquiryObj.RFQObject[i].ITCAttachment != undefined) {\n frmData.append(\"ITCAttachment[\" + i + \"]\", this.EnquiryObj.RFQObject[i].ITCAttachment[0]);\n }\n if (this.EnquiryObj.RFQObject[i].CustomerAttachment != undefined) {\n frmData.append(\"CustomerAttachment[\" + i + \"]\", this.EnquiryObj.RFQObject[i].CustomerAttachment[0]);\n }\n if (this.EnquiryObj.RFQObject[i].WeissAttachment != undefined) {\n frmData.append(\"WeissAttachment[\" + i + \"]\", this.EnquiryObj.RFQObject[i].WeissAttachment[0]);\n }\n }\n if (this.EnquiryObj.EnquiryDetails.BOMAttachment) {\n frmData.append(\"BOMAttachment\", this.EnquiryObj.EnquiryDetails.BOMAttachment[0]);\n }\n if (this.EnquiryObj.EnquiryDetails.InvoiceAttachment) {\n frmData.append(\"InvoiceAttachment\", this.EnquiryObj.EnquiryDetails.InvoiceAttachment[0]);\n }\n if (this.EnquiryObj.EnquiryDetails.POAttchments) {\n frmData.append(\"POAttchments\", this.EnquiryObj.EnquiryDetails.POAttchments[0]);\n }\n \n this.commonService.PostData(\"Enquiry\", \"Add\", frmData, null).subscribe((data: any) => {\n this.customerDrpdnDetails = data;\n this.EnquiryObj.EnquiryDetails.EnquiryId = data;\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='OANoGenerated')[0]?.Pk_Id) {\n this.toastr.success(\"OA Number generated successfully\");\n }\n else {\n this.toastr.success(confimrmsg.successmsg);\n }\n\n this.updateLoaderEvent.emit(false);\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='RFQAcceptedbyL1')[0]?.Pk_Id ||\n this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='QuotationRevision')[0]?.Pk_Id ||\n this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='RFQSubmittedbyL1')[0]?.Pk_Id ||\n this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='RFQSubmittedbyL2')[0]?.Pk_Id ||\n this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='RFQSubmittedbyL3')[0]?.Pk_Id ||\n this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='RFQSubmittedbyCustomerService')[0]?.Pk_Id ||\n this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='OANoGenerated')[0]?.Pk_Id) {\n // this.router.navigate(['/EditViewEnquiry/' + this.EnquiryObj.EnquiryDetails.EnquiryId]);\n window.location.reload();\n } else {\n this.router.navigate(['/Enquiry']);\n //this.backtoList();\n }\n }, error => {\n this.toastr.error(confimrmsg.errormsg);\n this.updateLoaderEvent.emit(false);\n });\n } else {\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='QuotationRevision')[0]?.Pk_Id) {\n this.chosenItem = \"2\";\n this.quoterevcomments = this.EnquiryObj.EnquiryDetails.Comments;\n this.EnquiryObj.EnquiryDetails.Comments = \"\";\n }\n else {\n\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='OrdersentforMngmtApproval_SalesDirector')[0]?.Pk_Id||\n this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='OrderConfirmedbyCustomerServiceSendSO')[0]?.Pk_Id) {\n this.UpdatePO = false;\n }\n if (this.PreviousStatus > 0) {\n this.EnquiryObj.EnquiryDetails.Status = this.PreviousStatus;\n }\n\n }\n\n }\n });\n\n }\n povalueChange(i) {\n var povalue: number = parseFloat(this.EnquiryObj.POValues[i].ProductModelPOValue);\n if (povalue == undefined || povalue == null) {\n this.EnquiryObj.POValues[i].QUotationValueValidation = true;\n this.IsPODataValid = false;\n } else if (povalue < 0) {\n this.EnquiryObj.POValues[i].QUotationValueValidation = true;\n this.IsPODataValid = false;\n } else if (povalue % 1 != 0) {\n this.EnquiryObj.POValues[i].QUotationValueValidation = true;\n this.IsPODataValid = false;\n } else if (this.EnquiryObj.POValues[i].ProductModelPOValue.toString().includes(\".\")) {\n this.EnquiryObj.POValues[i].QUotationValueValidation = true;\n this.IsPODataValid = false;\n }\n else {\n this.EnquiryObj.POValues[i].QUotationValueValidation = false;\n }\n }\n\n checkRFQGridValidation() {\n var inde = 0;\n this.IsRFQDataValid = true;\n this.EnquiryObj.RFQObject.forEach((element, index) => {\n if (element.ProductLine == undefined || element.ProductLine == null || element.ProductLine == 0) {\n document.getElementById(\"productline\" + index).focus();\n element.ProductLineValidation = true;\n this.IsRFQDataValid = false;\n }\n if (element.ProductModel == undefined || element.ProductModel == null || element.ProductModel == 0) {\n document.getElementById(\"productmodel\" + index).focus();\n element.ProductModelValidation = true;\n this.IsRFQDataValid = false;\n }\n if (element.Quantity == undefined || element.Quantity == null || element.Quantity == 0) {\n document.getElementById(\"quantity\" + index).focus();\n element.QuantityValidation = true;\n this.IsRFQDataValid = false;\n }\n if (element.MDSOption == undefined || element.MDSOption == null || element.MDSOption == 0) {\n document.getElementById(\"mdsoption\" + index).focus();\n element.MDSOptionValidation = true;\n this.IsRFQDataValid = false;\n }\n if (element.SalesPrice == undefined || element.SalesPrice == null || element.SalesPrice == 0) {\n document.getElementById(\"salesprice\" + index).focus();\n element.SalesPriceValidation = true;\n this.IsRFQDataValid = false;\n }\n if (element.SalesDiscount == undefined || element.SalesDiscount == null) {\n document.getElementById(\"salesdiscount\" + index).focus();\n element.SalesDiscountValidation = true;\n this.IsRFQDataValid = false;\n }\n\n });\n\n }\n\n convertDate(date: any) {\n let year = date.year;\n let month = date.month;\n let day = date.day;\n return year + \"-\" + month + \"-\" + day;\n }\n\n downloadPDF() {\n const url = this.QuotationPdfGenerationHostPath + 'uploads/pdf/' + this.EnquiryObj.EnquiryDetails.QuotationPdf_filename;\n window.open(url, \"download\");\n }\n\n DownloadPDFfromServer(Filename: any) {\n this.commonService.gereatePDF('Enquiry', 'DownloadPDF', Filename).subscribe((data: any) => {\n\n importedSaveAs(data, Filename);\n });\n }\n\n checkattachment() {\n this.rfqattpresent = false;\n this.EnquiryObj.RFQObject.forEach(element => {\n if (!(element.MDS_filename == null || element.MDS_filename == undefined || element.MDS_filename == '')) {\n this.rfqattpresent = true;\n }\n if (!(element.ITC_filename == null || element.ITC_filename == undefined || element.ITC_filename == '')) {\n this.rfqattpresent = true;\n }\n if (!(element.Weiss_filename == null || element.Weiss_filename == undefined || element.Weiss_filename == '')) {\n this.rfqattpresent = true;\n }\n if (!(element.Customer_filename == null || element.Customer_filename == undefined || element.Customer_filename == '')) {\n this.rfqattpresent = true;\n }\n });\n }\n\n DownloadAllAttachments() {\n this.checkattachment();\n if (!this.rfqattpresent) {\n this.toastr.info('No attachment present.');\n return;\n }\n this.updateLoaderEvent.emit(true);\n let queryString = \"\";\n queryString = \"id=\" + this.EnquiryObj.EnquiryDetails.EnquiryId;\n this.commonService.GetData('Enquiry', 'Download', queryString).subscribe((data: any) => {\n var url = AppGlobals.ZipDownloadUrl + data + '.zip';\n window.open(url, \"_blank\");\n this.updateLoaderEvent.emit(false);\n }, error => {\n this.updateLoaderEvent.emit(false);\n });\n }\n \n public saveAsFile(pdfurl: any, fileName: string): void {\n //const data: Blob = new Blob([buffer], { type: EXCEL_TYPE });\n FileSaver.saveAs(this.fileDownloadPath + pdfurl, fileName);\n }\n\n onSelectDate(date: NgbDateStruct, dateType: string) {\n if (date != null) {\n if (dateType == 'RequestedDeliveryDate') {\n this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate = date;\n this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate = this.ngbDateParserFormatter.format(date);\n }\n else if (dateType == 'EnquiryDate') {\n this.EnquiryObj.EnquiryDetails.EnquiryDate = date;\n this.EnquiryObj.EnquiryDetails.EnquiryDate = this.ngbDateParserFormatter.format(date);\n }\n\n }\n }\n\n getAllWorkFlow() {\n this.commonService.GetData(\"Workflow\", \"GetAll\", null).subscribe((data: any) => {\n \n if(data!=null){\n var workflowData = data;\n this.workflowId=workflowData.filter(x=>x.document_type_code == \"CEO_APPROVAL\")[0].workflow_id;\n this.getWorkflowActions(this.workflowId); \n }\n this.updateLoaderEvent.emit(false);\n }, error => {\n this.updateLoaderEvent.emit(false);\n });\n }\n\n getWorkflowActions(workflowId)\n { \n let queryString = \"\";\n queryString = \"enquiryId=\" + this.EnquiryObj.EnquiryDetails.EnquiryId +\"&workflowId=\" + workflowId ;\n this.updateLoaderEvent.emit(true);\n this.commonService.GetData(\"EnquiryWorkflowTransitionRules\",\"GetTransitionRulesByStatus\",queryString).subscribe((data: any) => {\n this.workflowActionList=data;\n this.cd.detectChanges();\n this.updateLoaderEvent.emit(false);\n }, error => {\n this.updateLoaderEvent.emit(false);\n });\n }\n\n getEnquiryStatus()\n {\n this.commonService.GetData(\"Enquiry\",\"GetEnquiryStatus\", null).subscribe((data: any) => {\n this.enquiryStatusList=data;\n this.updateLoaderEvent.emit(false);\n }, error => {\n this.updateLoaderEvent.emit(false);\n });\n }\n\n OnWorkflowAction(myform10:NgForm,workflowActionId:number)\n { \n var rule= this.workflowActionList.filter(x=>x.workflowActionId==workflowActionId);\n \n myform10.control.markAllAsTouched();\n if(myform10.invalid)\n {\n this.toastr.error(\"Please fill required information\");\n return;\n } \n this.SetStatus(rule,myform10); \n }\n\n getUserRoles(){\n this.commonService.GetData(\"Account\", \"GetAll\", null).subscribe((data: any) => {\n this.UserRolesData = data;\n \n this.updateLoaderEvent.emit(false);\n }, error => {\n this.updateLoaderEvent.emit(false);\n });\n }\n\n getSendbackWorkfow()\n {\n this.updateLoaderEvent.emit(true);\n this.commonService.GetData(\"EnquiryWorkflowTransitionRules\",\"GetWorkflowSendbackRule\", null).subscribe((data: any) => {\n this.sendbackRules=data;\n this.updateLoaderEvent.emit(false);\n }, error => {\n this.updateLoaderEvent.emit(false);\n });\n }\n\n rule:EnquirySendBack;\n SendBack(myform10: NgForm)\n { \n\n // myform10.control.markAllAsTouched();\n // if (myform10.invalid) {\n // this.toastr.error(\"Please fill required information\");\n // return;\n // }\n\n var quotationRule= this.sendbackRules.filter(x=>x.WorkflowId==this.workflowId);\n\n if(quotationRule[0].NextStatus != null)\n {\n this.rule = quotationRule[0];\n }\n else\n {\n if(this.previousEnqStatus == this.enquiryStatusList.filter(x=>x.Status=='QuotationSentforMngmtApproval_CEO')[0].Pk_Id)\n {\n this.rule = quotationRule[0];\n this.rule.NextStatus = this.enquiryStatusList.filter(x=>x.Status=='QuotationSentforMngtApproval_SalesDirector')[0].Pk_Id\n }\n else if(this.previousEnqStatus == this.enquiryStatusList.filter(x=>x.Status=='OrdersentforMngmtApproval_CEO')[0].Pk_Id)\n {\n this.rule = quotationRule[0];\n this.rule.NextStatus = this.enquiryStatusList.filter(x=>x.Status=='OrdersentforMngmtApproval_SalesDirector')[0].Pk_Id;\n }\n \n \n }\n\n const modalRef = this.modalService.open(SendBackCommentComponent, {\n size: 'lg', backdrop: 'static', keyboard: false\n });\n\n var sendBackObj = {\n EnquiryId: this.EnquiryObj.EnquiryDetails.EnquiryId,\n workflowId: this.workflowId,\n finalrule: this.rule\n }\n modalRef.componentInstance.sendBackObj = sendBackObj;\n modalRef.result.then((result) => {\n this.closeResult = `Closed with:${result}`;\n if (this.closeResult !== 'Closed with:Close click') {\n this.ngOnInit();\n }\n });\n // this.rule = quotationRule[0];\n // this.rule.EnquiryId=this.EnquiryObj.EnquiryDetails.EnquiryId;\n // this.rule.Comment = this.EnquiryObj.EnquiryDetails.Comments;\n \n // let rules = JSON.stringify(this.rule);\n // const frmData = new FormData();\n // frmData.append(\"rule\", rules);\n // this.commonService.PostData(\"EnquiryWorkflowTransitionRules\",\"SetStatus\",frmData,\"\",null).subscribe(data=>{\n // this.toastr.success(\"Enquiry sent one step back\");\n // window.location.reload();\n // }); \n }\n \n}\n\n","
    \n
    \n
    \n\n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n

    \n CEO Approval - Quotation\n

    \n
    \n \n

    \n CEO Approval - Order\n

    \n
    \n
    \n

    \n CEO Approval\n

    \n
    \n\n
    \n \n
    \n
    \n \n
    \n\n
    \n
    \n * Marked fields are\n mandatory\n
    \n
    \n
    \n \n
    \n {{EnquiryObj.EnqCustomerDetails.CustomerName}}\n
    \n
    \n \n
    \n {{EnquiryObj.EnqCustomerDetails.IndustrySegment}}\n
    \n
    \n
    \n \n
    \n {{EnquiryObj.EnqCustomerDetails.CustomerType}}\n
    \n
    \n \n
    \n {{EnquiryObj.EnqCustomerDetails.Region}}\n
    \n
    \n
    \n \n
    \n {{EnquiryObj.EnquiryDetails.RFQTermsAndCondition}}\n
    \n
    \n \n
    \n €\n {{EnquiryObj.EnquiryDetails.FinalAmount |\n indianCurrency}}/-\n
    \n
    \n
    \n \n
    \n {{EnquiryObj.EnquiryDetails.KindAttention}}\n
    \n
    \n \n \n
    \n
    \n \n
    \n € {{EnquiryObj.EnquiryDetails.POValue |\n indianCurrency}}/-\n
    \n\n
    \n \n \n
    \n
    \n \n \n
    \n \n
    \n
    \n Upload\n \n
    \n
    \n {{AppGlobals.supportedFileFormatsForOtherMultipleAttachments}}\n 0\">\n
      \n \n
    • \n {{item.name}}  
    • \n \n
    \n\n \n
    \n\n
    \n\n
    \n \n
    \n \n Limit {{maxLimit}} characters,\n {{remLimit}} characters\n remaining.\n
    \n
    \n Comment is\n required\n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n
    \n \n    \n\n\n \n\n \n\n
    \n\n
    \n
    \n
    \n\n
    \n \n
    \n
    \n\n\n \n \n
    \n \n","import { Component, Input, OnDestroy, OnInit } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { NgbActiveModal, NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { ToastrService } from 'ngx-toastr';\nimport { AppGlobals } from 'src/app/app.global';\nimport { ConfirmDialogComponent } from 'src/app/confirm-dialog/confirm-dialog.component';\nimport { EnquiryStatus } from 'src/app/EnquiryStatus';\nimport { EnquiryDetailsModel } from 'src/app/Model/EnquiryModel';\nimport { CommonService } from 'src/app/Service/common.service';\nimport { Router } from '@angular/router';\nimport { SingleFieldModel } from 'src/app/Model/SingleFieldModel';\nimport { NgForm } from '@angular/forms';\n\n@Component({\n selector: 'app-close-opp-reason',\n templateUrl: './close-opp-reason.component.html',\n styleUrls: ['./close-opp-reason.component.scss']\n})\nexport class CloseOppReasonComponent implements OnInit {\n\n EnquiryObj: EnquiryDetailsModel = new EnquiryDetailsModel();\n\n @Input() showLoader: boolean = false;\n @Input() enquiryDataObj;\n closeOpportunityList: SingleFieldModel[] = [];\n enqId: any;\n enquiryStatus = EnquiryStatus;\n // closeOpportunityList: any;\n OppCloseId: any;\n role: string;\n enqNextStatusId:any;\n remLimit: any = 1500;\n maxLimit: any = 1500;\n varLongTermGoal: any;\n\n constructor(private toastr: ToastrService, private activeModal: NgbActiveModal,\n private commonService: CommonService, public dialog: MatDialog,\n private router: Router) { }\n // ngOnDestroy(): void {\n // this.showLoader=false;\n // }\n\n ngOnInit(): void {\n this.role = localStorage.getItem(\"UserRole\");\n this.enqId = this.enquiryDataObj.EnquiryId;\n //this.getAllCloseOpportunityReason();\n this.getAllCloseEnquiryReason();\n this.getEnquiryDetailsById(this.enqId);\n this.enqNextStatusId= this.enquiryDataObj.EnquiryStatusId;\n \n }\n \n\n getAllCloseOpportunityReason() {\n this.commonService.GetData(\"OpportunityCloseReason\", \"GetAll\", null).subscribe((data: any) => {\n this.closeOpportunityList = data;\n this.OppCloseId=undefined;\n },\n error => {\n this.toastr.error(\"Failed to load Data!\");\n this.showLoader = false;\n });\n }\n\n \n getAllCloseEnquiryReason() {\n let reasoncode = 'ENQ_CAT'\n let queryString = \"\";\n queryString = \"reasonCatCode=\" + reasoncode;\n this.commonService.GetData(\"ReasonEnquiryWinLoss\", \"GetAllReason\", queryString).subscribe((data: any) => {\n this.closeOpportunityList = data;\n //this.OppCloseId=undefined;\n },\n error => {\n this.toastr.error(\"Failed to load Data!\");\n this.showLoader = false;\n });\n }\n\n \n closePopup() {\n this.activeModal.close('Close Click');\n }\n\n\n getEnquiryDetailsById(id) {\n let queryString = \"\";\n queryString = \"id=\" + id;\n this.commonService.GetData('Enquiry', 'GetById', queryString).subscribe((data: any) => {\n this.EnquiryObj.EnquiryDetails = data.EnquiryDetails;\n });\n }\n\n CloseOpportunityReason(closeOpportunityForm : NgForm){\n\n closeOpportunityForm.control.markAllAsTouched();\n if (closeOpportunityForm.invalid) {\n this.toastr.error(\"Please fill required information\");\n return;\n }\n var closereasondetails = this.closeOpportunityList.filter(x => x.Id == this.EnquiryObj.EnquiryDetails.EnquiryConfirmReason)\n //this.EnquiryObj.EnquiryDetails.EnquiryConfirmStatus = closereasondetails[0].Name; \n this.EnquiryObj.EnquiryDetails.ReasonCategory = closereasondetails[0].ReasonCategoryId;\n this.EnquiryObj.EnquiryDetails.Status = this.enqNextStatusId;\n \n let enquiryDetails = JSON.stringify(this.EnquiryObj);\n const frmData = new FormData();\n frmData.append(\"enquiryDetails\", enquiryDetails);\n\n this.commonService.PostData(\"Enquiry\", \"CloseEnquiry\", frmData, null).subscribe((data: any) => { \n this.showLoader = false;\n this.toastr.success(\"Enquiry close approval sent to Sales Director.\"); \n this.router.navigate(['/Enquiry']);\n this.closePopup();\n \n }, error => {\n this.toastr.error('Failed to send approval to Sales Director');\n this.showLoader = false;\n });\n }\n\n limitTextOnKeyUpDown1(event: any) {\n let goalText = event.target.value;\n if (goalText.length > this.maxLimit) {\n this.varLongTermGoal = goalText.substring(0, this.maxLimit);\n } else {\n this.remLimit = this.maxLimit - goalText.length;\n }\n }\n\n \n}","\n
    \n \n\n
    \n\n
    \n\n
    \n
    \n
    \n
    \n

    \n Close Enquiry Reason\n

    \n
    \n
    \n
    \n
    \n
    \n\n
    \n \n
    \n \n
    \n
    \n Enquiry reason is required\n
    \n
    \n
    \n
    \n\n
    \n \n
    \n \n Limit {{maxLimit}} characters,\n {{remLimit}} characters\n remaining.\n
    \n
    \n Comment is required\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n\n \n
    \n
    ","import { Component, OnInit, ViewChild, Input, ɵclearResolutionOfComponentResourcesQueue, ElementRef, EventEmitter, Output } from '@angular/core';\nimport { EmployeeGuestModel } from 'src/app/Model/EmployeeGuestModel';\nimport { ActivatedRoute, NavigationEnd, Router, RoutesRecognized } from '@angular/router';\nimport { ToastrService } from 'ngx-toastr';\nimport { CommonService } from 'src/app/Service/common.service';\nimport { MatDialog } from '@angular/material/dialog';\nimport * as FileSaver from 'file-saver';\nimport { BasicCustomerInformationModel } from 'src/app/Model/CustomerModel';\nimport { EnquiryModel, CustomerDrpdnDetails, CustomerDetails, ProductDrpdnDetails, EnquiryDetailsModel, ProductDetails, Comments, removefiles, TermsAndCondition, ActivityModel, ProductModelPOValues, CustomTermsAndCondition } from 'src/app/Model/EnquiryModel';\nimport { ConfirmDialogComponent } from 'src/app/confirm-dialog/confirm-dialog.component';\nimport { NgbDate, NgbModal, NgbActiveModal, NgbDatepickerConfig, NgbDateStruct } from '@ng-bootstrap/ng-bootstrap';\nimport { AppGlobals } from 'src/app/app.global';\n\nimport { SingleFieldModel } from 'src/app/Model/SingleFieldModel';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { EnquiryModalComponent } from '../enquiry-modal/enquiry-modal.component';\nimport { MatStepper } from '@angular/material/stepper';\nimport { FormControl, NgForm, Validators } from '@angular/forms';\nimport { HttpHeaders, HttpClient, HttpErrorResponse } from '@angular/common/http';\nimport { QuotationDetailsModel, QuotationCustomerDetails } from 'src/app/Model/QuotationModel';\nimport { Title } from '@angular/platform-browser';\nimport { Location } from '@angular/common';\nimport {\n saveAs as importedSaveAs\n} from \"file-saver\";\nimport { ClassGetter } from '@angular/compiler/src/output/output_ast';\nimport { TechnicalDiscardComponent } from '../technical-discard/technical-discard.component';\nimport { CloseOppReasonComponent } from '../close-opp-reason/close-opp-reason.component';\nimport { EnquiryStatus } from \"src/app/EnquiryStatus\";\nimport { EnquiryStatusList } from 'src/app/Model/EnquiryStatus';\nimport { UserRoles } from 'src/app/UserRoles';\nimport { EnquirySendBack } from 'src/app/Model/EnquirySendBack';\nimport { SendBackCommentComponent } from '../send-back-comment/send-back-comment.component';\nimport { AppConfigService } from 'src/app/Service/app-config.service';\n\ndeclare var require: any\n\n@Component({\n selector: 'app-confirm-invoice',\n templateUrl: './confirm-invoice.component.html',\n styleUrls: ['./confirm-invoice.component.scss']\n})\nexport class ConfirmInvoiceComponent implements OnInit {\n\n @ViewChild('myform3') myform3: NgForm;\n @ViewChild('myform5') myform5: NgForm;\n @ViewChild('myInput') myInputVariable: ElementRef;\n @ViewChild('editpovalue', { static: false }) editpovalue: ElementRef;\n standardTC: any[] = [];\n customTCValues: any[] = [];\n\n userInfo: EmployeeGuestModel = new EmployeeGuestModel();\n CustomerList: BasicCustomerInformationModel[] = [];\n EnquiryObj: EnquiryDetailsModel = new EnquiryDetailsModel();\n newRFQDetails: any = {};\n productListdropdownData = [];\n customerDrpdnDetails: CustomerDrpdnDetails = new CustomerDrpdnDetails();\n productDrpdnDetails: ProductDrpdnDetails = new ProductDrpdnDetails();\n customerData: CustomerDetails;\n activityDetails: ActivityModel[] = Array();\n CustomerDetailsObj: QuotationCustomerDetails = new QuotationCustomerDetails();\n QuotationData: QuotationDetailsModel = new QuotationDetailsModel();\n allowedFileType: string[] = [\n 'image/bmp',\n 'image/jpeg',\n 'image/png',\n 'application/pdf',\n 'text/plain',\n 'text/csv',\n 'application/xml',\n 'text/xml',\n 'application/vnd.ms-excel',\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\n 'application/msword',\n 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',\n 'application/zip',\n 'application/x-zip-compressed',\n ];\n\n showEditRFQForInitiator: boolean;\n UserRole: any;\n isTechnicalDiscardVisible: boolean = false;\n isEnquiryFormVisible: boolean = false;\n isRFQVisible: boolean = false;\n isQuoteGenerationVisible: boolean = false;\n isManagementApprovalVisible: boolean = false;\n isSOVisible: boolean = false;\n isOrderAcknowledgementVisible: boolean = false;\n EnquiryConfirmationVisible: boolean = false;\n isSupplychainVisible: boolean = false;\n isAccountsVisible: boolean = false;\n iseditable: boolean = false;\n isOAGenerationVisible: boolean = false;\n isBOMAttachment: boolean;\n isInvoiceAttachment: boolean;\n isPOAttachment: boolean;\n IsRFQDataValid: boolean = true;\n selectedIndexForStatus: any = 1;\n remLimit: any = 1500;\n maxLimit: any = 1500;\n varLongTermGoal: any;\n DiscountFromrange: any;\n Discounttorange: any;\n\n @Input()\n showLoader: boolean = false;\n charCode: number;\n enquiryStatus = EnquiryStatus;\n AppRoles = UserRoles;\n enquirySource: SingleFieldModel[] = [];\n TnCStandardFromDropDown: any[] = [];\n TnCCustomizedFromDropDown: any[] = [];\n TnCCustomizedDropDownForEditRfq1: any[] = [];\n TnCCustomizedDropDownForEditRfq2: any[] = [];\n newCustomTc: any;\n product: any = {};\n isEnquirySubmit: boolean = false;\n charCode1: any;\n pageNumber: number = 1;\n @Input() pageSize: number = 5;\n @Input() length: number;\n @Input() pageIndex: number = this.pageNumber - 1;\n dataSource: MatTableDataSource;\n\n @ViewChild('stepper') stepper: MatStepper;\n AppGlobals = AppGlobals;\n fileDownloadPath = this.AppGlobals.baseFileDownloadUrl;\n QuotationDownloadPath = this.AppGlobals.QuotationFileDownloadUrl;\n isEnquiryLoaded: boolean;\n role: string;\n isStandardCondition: boolean;\n closeResult: string;\n isCEOApprovalVisible: boolean;\n demoObject: any;\n demoCTCObject: any;\n WinLossDropdownData: any[] = [];\n WinLossDropdownDataForStatus: any;\n isPoValueDisable: boolean;\n isCustomerCommentVisible: any;\n isOAGenerated: boolean;\n isAcceptClick: boolean;\n dataPassed: any;\n dropdownData: any;\n showQuotationLink: boolean;\n userid: string;\n isprocessing: boolean = true;\n rfqattpresent: boolean;\n QuotationDataForPO: any[] = [];\n chosenItem: string = \"1\";\n quoterevcomments: any;\n QGRFQEditable: boolean = false;\n IsActivityDataValid: boolean;\n today: Date;\n fc = new FormControl();\n minDate: NgbDate;\n showEditRFQ: boolean;\n isTantativeDateEditable: boolean;\n tempRFQ: ProductDetails[];\n IsPODataValid: boolean;\n isEditactivity: boolean = true;\n PreviousStatus: number = 0;\n tempfile: any;\n ngbDateParserFormatter: any;\n UpdatePO: boolean = false;\n isPOAttacmentDelete: boolean = false;\n RevisedQuotationFileNameList: string[] = [];\n emailPattern: string = \"^[a-zA-Z0-9_\\\\.-]+@([a-zA-Z0-9-]+\\\\.)+[a-zA-Z]{2,6}$\";\n StartDate: NgbDate;\n EndDate: NgbDate;\n RoleWiseScreenDisplay: any;\n previousUrl: string = null;\n IndustrySegment: any[] = [];\n SubSegment: any[] = [];\n Application: any[] = [];\n\n FinalIndustrySegment: any[] = [];\n FinalSubSegment: any[] = [];\n FinalApplication: any[] = [];\n QuotationPdfGenerationHostPath:any;\n\n workflowActionList: any[] = [];\n enquiryStatusList: EnquiryStatusList[] = [];\n workflowId: number;\n roleOfAdmin: any;\n @Output() updateLoaderEvent = new EventEmitter();\n UserRolesData: any[] = [];\n\n constructor(private toastr: ToastrService, private commonService: CommonService, public dialog: MatDialog,\n private _location: Location,\n private config: NgbDatepickerConfig,\n private modalService: NgbModal, private activeModel: NgbActiveModal,\n private router: Router, private route: ActivatedRoute, private titleService: Title, private appConfigService: AppConfigService) {\n this.today = new Date();\n this.minDate = new NgbDate(this.today.getFullYear(), this.today.getMonth() + 1, this.today.getDate());\n this.StartDate = new NgbDate(2018, 1, 1);\n this.EndDate = new NgbDate(this.today.getFullYear() + 1, 12, 31);\n\n\n }\n ngAfterViewInit() {\n this.updateLoaderEvent.emit(true);\n setTimeout(() => {\n\n // const current = new Date();\n // this.config.minDate = { year: current.getFullYear(), month: current.getMonth() + 1, day: current.getDate() };\n // //this.config.maxDate = { year: 2020, month: 12, day: 31 };\n // this.config.outsideDays = 'hidden';\n this.isprocessing = false;\n this.chosenItem = \"1\";\n this.updateLoaderEvent.emit(false);\n }, 2000);\n //this.stepper.selectedIndex = this.selectedIndexForStatus; \n }\n ngOnInit() {\n this.commonService.previousUrl$.subscribe((previousUrl: string) => {\n this.previousUrl = previousUrl;\n });\n\n let tempRoleWiseScreenDisplay = localStorage.getItem(\"WorkFlowRoleWiseScreenAccess\");\n this.RoleWiseScreenDisplay = tempRoleWiseScreenDisplay.split(\",\");\n const appConfig = this.appConfigService.getConfig();\n this.QuotationPdfGenerationHostPath=appConfig.QuotationPdfGenerationHostPath;\n const dynamicTitle = this.route.snapshot.data['title'];\n this.titleService.setTitle(`${dynamicTitle} - ${appConfig.titleName}`);\n // this.titleService.setTitle(this.route.snapshot.data['title'] + \" - ECOTECH\");\n this.commonService.RefreshHeaderFun();\n this.EnquiryObj.EnquiryDetails.EnquiryId = this.route.snapshot.params[\"id\"];\n this.EnquiryObj.EnquiryDetails.EstimatedProductValue = null;\n this.EnquiryObj.EnquiryDetails.InvoiceAttachment = undefined;\n this.getRFQProduct();\n this.getEnquirySourceDetails();\n this.getCustomerList();\n this.getEnquiryDetailsById();\n this.getEnquiryStatus();\n this.getAllWorkFlow();\n this.getUserRoles();\n this.getSendbackWorkfow();\n this.isEnquiryLoaded = false;\n\n this.UserRole = localStorage.getItem(\"UserRole\");\n this.isTechnicalDiscardVisible = AppGlobals.QuoteGenearation_Enquiry_TechnicalDiscardArray.filter(x => x.role\n == this.UserRole)[0]?.isEditable;\n\n this.roleOfAdmin = UserRoles.Admin;\n }\n limitTextOnKeyUpDown1(event: any) {\n let goalText = event.target.value;\n if (goalText.length > this.maxLimit) {\n this.varLongTermGoal = goalText.substring(0, this.maxLimit);\n } else {\n this.remLimit = this.maxLimit - goalText.length;\n }\n }\n\n\n\n toggleAttchments(i) {\n\n this.EnquiryObj.Comments[i].showAttachments = !this.EnquiryObj.Comments[i].showAttachments;\n }\n deletePOAttachment(flag: any) {\n // this.EnquiryObj.EnquiryDetails.POAttchments = [];\n // this.isPOAttachment = false;\n if (flag == 1) {\n this.EnquiryObj.RemoveFiles.push(this.EnquiryObj.EnquiryDetails.PO_filepath);\n this.isPOAttacmentDelete = true;\n }\n this.isBOMAttachment = false;\n this.EnquiryObj.EnquiryDetails.POAttchments = [];\n this.EnquiryObj.EnquiryDetails.PO_filename = null;\n this.EnquiryObj.EnquiryDetails.PO_filepath = null;\n this.isPOAttachment = false;\n }\n checkActivityValidations() {\n this.IsActivityDataValid = true;\n this.activityDetails.forEach(element => {\n if (element.Activity == undefined || element.Activity == null || element.Activity == \"\") {\n element.ActivityValidation = true;\n this.IsActivityDataValid = false;\n }\n if (element.ActivityDate == undefined || element.ActivityDate == null || element.ActivityDate == \"\") {\n element.ActivityDateValidation = true;\n this.IsActivityDataValid = false;\n }\n });\n }\n editActivity() {\n this.isEditactivity = true;\n }\n cancelEditActivity() {\n this.isEditactivity = false;\n }\n SaveActivityDetails() {\n this.checkActivityValidations();\n if (!this.IsActivityDataValid) {\n return;\n }\n this.updateLoaderEvent.emit(true);\n this.activityDetails.forEach(element => {\n if (element.ActivityDate != undefined) {\n element.ActivityDateISO = new Date(this.convertDate(new NgbDate(element.ActivityDate.year, element.ActivityDate.month, element.ActivityDate.day))).toDateString();\n }\n if (element.ActivityDate != undefined) {\n element.ActivityDate = new Date(this.convertDate(new NgbDate(element.ActivityDate.year, element.ActivityDate.month, element.ActivityDate.day)));\n }\n element.EnquiryId = this.EnquiryObj.EnquiryDetails.EnquiryId;\n });\n\n let activityDetails = JSON.stringify(this.activityDetails);\n const frmData = new FormData();\n frmData.append(\"ActivityObj\", activityDetails);\n var i = 0;\n this.activityDetails.forEach(element => {\n if (element.Attachment != undefined) {\n frmData.append(\"Attachment[\" + i + \"]\", this.activityDetails[i].Attachment[0]);\n }\n i++;\n });\n\n this.commonService.PostData(\"Enquiry\", \"AddActivity\", frmData, null).subscribe((data: any) => {\n this.activityDetails.forEach(element => {\n element.ActivityDate = new NgbDate(new Date(element.ActivityDate).getFullYear(), new Date(element.ActivityDate).getMonth() + 1, new Date(element.ActivityDate).getDate());\n });\n //this.isEditactivity = false;\n this.toastr.success(\"Activity details added successfully!\");\n this.updateLoaderEvent.emit(false);\n }, error => {\n this.toastr.error(\"Failed to add activity details!\");\n this.updateLoaderEvent.emit(false);\n });\n\n }\n\n getQuotationData() {\n this.updateLoaderEvent.emit(true);\n let queryString = \"\";\n queryString = \"id=\" + this.EnquiryObj.EnquiryDetails.EnquiryId;\n this.commonService.GetData('Enquiry', 'GetQuotationByEnquiryId', queryString).subscribe((data: any) => {\n this.QuotationDataForPO = data.QuotationObj;\n this.QuotationDataForPO.forEach(element => {\n var obj = new ProductModelPOValues();\n obj.ProductId = element.ProductId;\n obj.ProductModelName = element.ProductModelName;\n if (element.Variant1Name != undefined) obj.ProductModelName = obj.ProductModelName + ' (' + element.Variant1Name;\n if (element.Variant2Name != undefined) obj.ProductModelName = obj.ProductModelName + ', ' + element.Variant2Name;\n if (element.Variant3Name != undefined) obj.ProductModelName = obj.ProductModelName + ', ' + element.Variant3Name;\n if (element.Variant4Name != undefined) obj.ProductModelName = obj.ProductModelName + ', ' + element.Variant4Name;\n obj.ProductModelName = obj.ProductModelName + ')'\n obj.QUotationValue = element.FinalAmount;\n obj.ProductModelPOValue = \"\";\n this.EnquiryObj.POValues.push(obj);\n });\n });\n }\n\n getEnquiryDetailsById() {\n this.updateLoaderEvent.emit(true);\n let queryString = \"\";\n queryString = \"id=\" + this.EnquiryObj.EnquiryDetails.EnquiryId;\n this.commonService.GetData('Enquiry', 'GetById', queryString).subscribe((data: any) => {\n this.EnquiryObj.EnquiryDetails = data.EnquiryDetails;\n if (this.EnquiryObj.EnquiryDetails.QuotationRevisionNo != null && this.EnquiryObj.EnquiryDetails.QuotationRevisionNo > 0) {\n this.getRevisedQuotationFileNamelist(this.EnquiryObj.EnquiryDetails.QuotationNumber, this.EnquiryObj.EnquiryDetails.QuotationRevisionNo);\n }\n\n this.EnquiryObj.EnquiryDetails.EnquiryDate = new NgbDate(new Date(this.EnquiryObj.EnquiryDetails.EnquiryDate).getFullYear(), new Date(this.EnquiryObj.EnquiryDetails.EnquiryDate).getMonth() + 1, new Date(this.EnquiryObj.EnquiryDetails.EnquiryDate).getDate());\n if (this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate != null) {\n this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate = new NgbDate(new Date(this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate).getFullYear(), new Date(this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate).getMonth() + 1, new Date(this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate).getDate());\n }\n if (this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate != null) {\n this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate = new NgbDate(new Date(this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate).getFullYear(), new Date(this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate).getMonth() + 1, new Date(this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate).getDate());\n }\n this.EnquiryObj.EnqCustomerDetails = data.CustomerDetails;\n this.EnquiryObj.RFQObject = data.RFQObject;\n this.EnquiryObj.CustomerServiceComments_Quotation = data.CustomerServiceComments_Quotation;\n this.EnquiryObj.CustomerServiceComments_Order = data.CustomerServiceComments_Order;\n this.EnquiryObj.SalesDirectorComments_Quotation = data.SalesDirectorComments_Quotation;\n\n this.EnquiryObj.SalesDirectorComments_Order = data.SalesDirectorComments_Order;\n this.EnquiryObj.Comments = data.Comments == undefined ? [] : data.Comments;\n this.EnquiryObj.POValues = data.POValues;\n\n this.WinLossDropdownData = data.ReasonEnquiryWinLossObj;\n this.WinLossDropdownDataForStatus = this.WinLossDropdownData.filter(x => x.Value == this.EnquiryObj.EnquiryDetails.EnquiryConfirmStatus);\n\n if (data.EnquiryDetails.RFQTermsAndCondition == \"Standard\" || data.EnquiryDetails.RFQTermsAndCondition == \"\") {\n\n if (data.TermsAndConditions.length == 0) {\n this.EnquiryObj.EnquiryDetails.RFQTermsAndCondition = \"Standard\";\n this.EnquiryObj.TermsAndConditions = this.TnCStandardFromDropDown;\n } else {\n this.EnquiryObj.TermsAndConditions = data.TermsAndConditions;\n\n }\n this.isStandardCondition = true;\n } else if (data.EnquiryDetails.RFQTermsAndCondition == \"Customized\") {\n\n if (data.CustomTermsAndConditions.length == 0) {\n this.EnquiryObj.EnquiryDetails.RFQTermsAndCondition = \"Customized\";\n this.EnquiryObj.CustomTermsAndConditions = this.TnCCustomizedFromDropDown;\n this.TnCCustomizedDropDownForEditRfq1 = this.TnCCustomizedFromDropDown;\n } else {\n this.EnquiryObj.CustomTermsAndConditions = data.CustomTermsAndConditions;\n this.TnCCustomizedDropDownForEditRfq2 = data.CustomTermsAndConditions;\n }\n\n this.isStandardCondition = false;\n }\n\n this.activityDetails = data.ActivityDetails;\n this.activityDetails.forEach(element => {\n element.ActivityDate = new NgbDate(new Date(element.ActivityDate).getFullYear(), new Date(element.ActivityDate).getMonth() + 1, new Date(element.ActivityDate).getDate());\n\n //element.ActivityDateISO = new NgbDate(new Date(element.ActivityDate).getFullYear(), new Date(element.ActivityDate).getMonth() + 1, new Date(element.ActivityDate).getDate());\n });\n\n //TO POPULATE A SINGLE ROW ON PAGE INIT\n if (this.EnquiryObj.RFQObject.length == 0) {\n var obj = new ProductDetails();\n this.EnquiryObj.RFQObject.push(obj);\n }\n\n //TO POPULATE A SINGLE ROW ON PAGE INIT\n if (this.activityDetails.length == 0) {\n var obj1 = new ActivityModel();\n obj1.ActivityDate = new NgbDate(new Date().getFullYear(), new Date().getMonth() + 1, new Date().getDate());\n obj1.uniqueid = this.makeRandom();\n this.activityDetails.push(obj1);\n }\n\n this.role = localStorage.getItem('UserRole');\n\n //this.ScreenAccessSpecifier(localStorage.getItem('UserRole'), this.EnquiryObj.EnquiryDetails.Status);\n\n if (this.EnquiryObj.EnquiryDetails.segment != undefined) {\n this.SubSegment = this.FinalSubSegment.filter(x => x.SegmentId == this.EnquiryObj.EnquiryDetails.segment);\n this.Application = this.FinalApplication.filter(x => x.SubSegmentId == this.EnquiryObj.EnquiryDetails.subSegment);\n }\n if (this.EnquiryObj.EnquiryDetails.segment == null || this.EnquiryObj.EnquiryDetails.subSegment == null || this.EnquiryObj.EnquiryDetails.application == null) {\n this.EnquiryObj.EnquiryDetails.segment = undefined;\n this.EnquiryObj.EnquiryDetails.subSegment = undefined;\n this.EnquiryObj.EnquiryDetails.application = undefined;\n }\n\n this.EnquiryObj.EnquiryDetails.IsFetchFromKYC = data.EnquiryDetails.IsFetchFromKYC;\n\n }, error => {\n this.updateLoaderEvent.emit(false);\n });\n\n }\n\n getRevisedQuotationFileNamelist(QuotationNumber: string, QuotationRevision: number) {\n let QTNNumber = QuotationNumber.replace(\"QTN/\", \"\");\n QTNNumber = QTNNumber.split(\"/\").join(\"_\");\n let filename = \"Quotation_\" + QTNNumber;\n let pdffilename = filename.split('_R')[0];\n for (let i = 0; i < QuotationRevision; i++) {\n if (i == 0) {\n this.RevisedQuotationFileNameList.push(pdffilename + \".pdf\")\n }\n else {\n this.RevisedQuotationFileNameList.push(pdffilename + \"_R\" + i + \".pdf\")\n }\n }\n\n }\n // replaceAll(str, term, replacement) {\n // return str.replace(new RegExp(escapeRegExp(term), 'g'), replacement);\n // }\n makeRandom() {\n let text = \"\";\n var possible: string = \"ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890,./;'[]\\=-)(*&^%$#@!~\";\n const lengthOfCode = 40;\n for (let i = 0; i < lengthOfCode; i++) {\n text += possible.charAt(Math.floor(Math.random() * possible.length));\n }\n return text;\n }\n\n getRFQProduct() {\n this.updateLoaderEvent.emit(true);\n this.commonService.GetData(\"Enquiry\", \"GetEnquiryRFQDropdownData\", null).subscribe((data: any) => {\n this.product = data;\n this.productDrpdnDetails.MDSOptions = data.MDS;\n this.productDrpdnDetails.SalesPrice = data.Salesprice;\n this.productDrpdnDetails.EstimatedProductValue = data.EstimatedProductValue;\n this.IndustrySegment = data.segment;\n this.SubSegment = [];\n this.Application = [];\n this.FinalIndustrySegment = data.segment;\n this.FinalSubSegment = data.subSegment;\n this.FinalApplication = data.application;\n data.TermsAndConditions.forEach(element => {\n var obj = new TermsAndCondition();\n obj.TnCId = element.Id;\n obj.TnCName = element.Name;\n obj.TnCValue = element.Value;\n this.TnCStandardFromDropDown.push(obj);\n });\n\n this.demoObject = data.TermsAndConditions;\n\n this.demoCTCObject = data.CustomTermsAndCondition;\n\n for (let i = 0; i < data.CustomTermsAndCondition.length; i++) {\n var obj1 = new CustomTermsAndCondition();\n obj1.StandardTC = data.CustomTermsAndCondition[i].StandardTC.Id;\n obj1.StandardTCName = data.CustomTermsAndCondition[i].StandardTC.Name;\n // this.standardTC.push(data.CustomTermsAndCondition[i].StandardTC);\n\n for (let j = 0; j < data.CustomTermsAndCondition[i].CustomValues.length; j++) {\n obj1.CustomValues.push(data.CustomTermsAndCondition[i].CustomValues[j]);\n }\n this.TnCCustomizedFromDropDown.push(obj1);\n }\n\n this.demoCTCObject = data.CustomTermsAndCondition;\n\n //this.updateLoaderEvent.emit(false);\n });\n }\n\n custtermscond: any = [];\n OnCustomValueChange(index, id) {\n let CustTcObj: CustomTermsAndCondition = new CustomTermsAndCondition();\n CustTcObj.StandardTC = this.EnquiryObj.CustomTermsAndConditions[index].StandardTC;\n CustTcObj.StandardTCName = this.EnquiryObj.CustomTermsAndConditions[index].StandardTCName;\n CustTcObj.CustValue = this.EnquiryObj.CustomTermsAndConditions[index].CustomValues.find(x => x.Id == id).Name;\n CustTcObj.CustTCId = id;\n\n this.custtermscond.push(CustTcObj)\n // console.log(this.custtermscond);\n }\n\n\n OnCustomValueChange1(index, id) {\n let CustTcObj1: CustomTermsAndCondition = new CustomTermsAndCondition();\n CustTcObj1.StandardTC = this.EnquiryObj.CustomTermsAndConditions[index].StandardTC;\n CustTcObj1.StandardTCName = this.EnquiryObj.CustomTermsAndConditions[index].StandardTCName;\n CustTcObj1.CustValue = this.EnquiryObj.CustomTermsAndConditions[index].CustomValues.find(x => x.Id == id).Name;\n CustTcObj1.CustTCId = id;\n\n let newCustomiseArr = this.EnquiryObj.CustomTermsAndConditions\n this.newCustomTc = newCustomiseArr.map((item, index) => {\n\n return {\n ...item,\n CustTCId: item.StandardTC == CustTcObj1.StandardTC ? Number(CustTcObj1.CustTCId) : Number(item.CustTCId),\n CustValue: item.StandardTC == CustTcObj1.StandardTC ? CustTcObj1.CustValue : item.CustValue\n }\n\n });\n this.EnquiryObj.CustomTermsAndConditions = this.newCustomTc;\n }\n\n\n getProductModel(Id, ind) {\n this.EnquiryObj.RFQObject[ind].ProductLineValidation = false;\n this.product.Product.forEach((element, index) => {\n if (element.ProductLine.Id == Id) {\n this.productDrpdnDetails.ProductModel = element.ProductModels;\n this.newRFQDetails.ProductModelList = element.ProductModels;\n this.EnquiryObj.RFQObject[ind].isProductLineChangeClick = true;\n this.EnquiryObj.RFQObject[ind].ProductModelList = this.productDrpdnDetails.ProductModel;\n }\n });\n }\n OnProductModelChange(index) {\n this.EnquiryObj.RFQObject[index].ProductModelValidation = false;\n }\n OnQuantityChange(index) {\n if (this.EnquiryObj.RFQObject[index].Quantity < 1) {\n //alert('Quantity cannot be 0 or negative.');\n this.toastr.info('Quantity cannot be 0 or negative.');\n this.EnquiryObj.RFQObject[index].Quantity = null;\n return;\n } else if (this.EnquiryObj.RFQObject[index].Quantity % 1 != 0) {\n // alert('Please enter the valid Quantity');\n this.toastr.info('Please enter the valid Quantity');\n\n this.EnquiryObj.RFQObject[index].Quantity = null;\n return;\n }\n this.EnquiryObj.RFQObject[index].QuantityValidation = false;\n }\n OnMDSOptionChange(index) {\n this.EnquiryObj.RFQObject[index].MDSOptionValidation = false;\n }\n OnSalesPriceChange(index) {\n\n this.EnquiryObj.RFQObject[index].SalesPriceValidation = false;\n\n // have to specify the id for Customer Special Discount /Contract Frame Agrrement \n\n if (this.EnquiryObj.RFQObject[index].SalesPrice == 4) {\n this.updateLoaderEvent.emit(true);\n let queryString = \"\";\n queryString = \"id=\" + this.EnquiryObj.EnqCustomerDetails.CustomerId;\n this.commonService.GetData(\"CustomerSpecialDiscount\", \"GetById\", queryString).subscribe((data: any) => {\n this.EnquiryObj.CustomerSpecialDiscountdtls = data;\n if (this.EnquiryObj.CustomerSpecialDiscountdtls?.length == 0) {\n this.toastr.info('Customer Special Discount is not assigned to this Customer');\n this.EnquiryObj.RFQObject[index].SalesDiscount = \"0\";\n this.iseditable = false;\n\n }\n this.EnquiryObj.CustomerSpecialDiscountdtls.forEach(element => {\n if (element.Fk_ProductModel == this.EnquiryObj.RFQObject[index].ProductModel) {\n this.EnquiryObj.RFQObject[index].SalesDiscount = element.ProductDiscount.toString();\n\n this.iseditable = false\n }\n });\n\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n\n });\n this.showLoader = false;\n\n }\n\n if (this.EnquiryObj.RFQObject[index].SalesPrice != 4) {\n //this.getSalespricediscount(this.EnquiryObj.RFQObject[index].SalesPrice);\n\n this.updateLoaderEvent.emit(true);\n let queryString = \"\";\n queryString = \"id=\" + this.EnquiryObj.RFQObject[index].SalesPrice;\n this.commonService.GetData(\"SalesPrice\", \"GetById\", queryString).subscribe((data: any) => {\n\n this.EnquiryObj.RFQObject[index].SalesDiscount = data.DiscountFrom + \"-\" + data.DiscountTo;\n this.DiscountFromrange = data.DiscountFrom;\n this.Discounttorange = data.DiscountTo;\n this.iseditable = true;\n this.toastr.info(\"Enter the Sales Price in Range \" + this.EnquiryObj.RFQObject[index].SalesDiscount);\n\n if (parseInt(this.EnquiryObj.RFQObject[index].SalesDiscount) == 0 - 0) {\n this.EnquiryObj.RFQObject[index].SalesDiscount = \"0\";\n return;\n }\n }, error => {\n this.toastr.error(\"Failed to load data\");\n\n });\n this.updateLoaderEvent.emit(false);\n\n }\n\n }\n OnSalesDiscountChange(index) {\n if (parseInt(this.EnquiryObj.RFQObject[index].SalesDiscount) < 0) {\n //this.toastr.info('Sales Discount cannot be negative.');\n this.EnquiryObj.RFQObject[index].SalesDiscount = null;\n return;\n }\n else if (parseInt(this.EnquiryObj.RFQObject[index].SalesDiscount) > 100) {\n //this.toastr.info('Discount cannot be greater than 100.');\n this.EnquiryObj.RFQObject[index].SalesDiscount = null;\n return;\n }//10<23 && 23<20 10<18<20\n else if (!(this.DiscountFromrange <= this.EnquiryObj.RFQObject[index].SalesDiscount && this.EnquiryObj.RFQObject[index].SalesDiscount <= this.Discounttorange)) {\n this.toastr.info('Discount must be in range from' + ' ' + this.DiscountFromrange + ' ' + 'to' + ' ' + this.Discounttorange);\n return\n }\n\n else if (parseInt(this.EnquiryObj.RFQObject[index].SalesDiscount) % 1 != 0) {\n if (this.EnquiryObj.RFQObject[index].SalesDiscount.toString().split(\".\")[1].length > 2 || this.EnquiryObj.RFQObject[index].SalesDiscount.toString().split(\".\")[0].length > 2) {\n this.toastr.info(\"Only two numbers are allowed after decimal point\")\n // this.EnquiryObj.RFQObject[index].SalesDiscount = Math.round((this.EnquiryObj.RFQObject[index].SalesDiscount + Number.EPSILON) * 100) / 100;\n this.EnquiryObj.RFQObject[index].SalesDiscount = null;\n }\n }\n this.EnquiryObj.RFQObject[index].SalesDiscountValidation = false;\n }\n\n\n deleteAttachDocument(index, attachemntType) {\n switch (attachemntType) {\n case \"MDS\":\n this.EnquiryObj.RFQObject[index].MDSAttachment = [];\n this.EnquiryObj.RFQObject[index].isMDSAttachment = false;\n break;\n case \"ITC\":\n this.EnquiryObj.RFQObject[index].ITCAttachment = [];\n this.EnquiryObj.RFQObject[index].isITCAttachment = false;\n break;\n case \"Customer\":\n this.EnquiryObj.RFQObject[index].CustomerAttachment = [];\n this.EnquiryObj.RFQObject[index].isCustomerAttachment = false;\n break;\n case \"Weiss\":\n this.EnquiryObj.RFQObject[index].WeissAttachment = [];\n this.EnquiryObj.RFQObject[index].isWeissAttachment = false;\n break;\n }\n\n }\n\n deleteActivityAttachments(index) {\n this.activityDetails[index].Attachment = [];\n this.activityDetails[index].isActivityAttachment = false;\n }\n\n deleteActivityAttachmentsFromDB(index) {\n this.activityDetails[index].fileName = null;\n this.activityDetails[index].filePath = null;\n this.EnquiryObj.RemoveFiles.push(this.activityDetails[index].filePath);\n }\n\n\n deleteAttachDocumentFromDB(index, attachemntType) {\n switch (attachemntType) {\n case \"MDS\":\n var fileObj = new removefiles();\n fileObj.ProductId = this.EnquiryObj.RFQObject[index].ProductId;\n fileObj.filetype = \"MDS\";\n this.EnquiryObj.RemoveFiles.push(this.EnquiryObj.RFQObject[index].MDS_filepath);\n this.EnquiryObj.RFQObject[index].MDS_filename = null;\n this.EnquiryObj.RFQObject[index].MDS_filepath = null;\n break;\n case \"ITC\":\n var fileObj = new removefiles();\n fileObj.ProductId = this.EnquiryObj.RFQObject[index].ProductId;\n fileObj.filetype = \"ITC\";\n this.EnquiryObj.RemoveFiles.push(this.EnquiryObj.RFQObject[index].ITC_filepath);\n this.EnquiryObj.RFQObject[index].deleted_ITC_filename = this.EnquiryObj.RFQObject[index].ITC_filename;\n this.EnquiryObj.RFQObject[index].deleted_ITC_filepath = this.EnquiryObj.RFQObject[index].ITC_filepath;\n this.EnquiryObj.RFQObject[index].ITC_filename = null;\n this.EnquiryObj.RFQObject[index].ITC_filepath = null;\n\n break;\n case \"Customer\":\n var fileObj = new removefiles();\n fileObj.ProductId = this.EnquiryObj.RFQObject[index].ProductId;\n fileObj.filetype = \"Customer\";\n this.EnquiryObj.RemoveFiles.push(this.EnquiryObj.RFQObject[index].Customer_filepath);\n this.EnquiryObj.RFQObject[index].Customer_filename = null;\n this.EnquiryObj.RFQObject[index].Customer_filepath = null;\n break;\n case \"Weiss\":\n var fileObj = new removefiles();\n fileObj.ProductId = this.EnquiryObj.RFQObject[index].ProductId;\n fileObj.filetype = \"Weiss\";\n this.EnquiryObj.RemoveFiles.push(this.EnquiryObj.RFQObject[index].Weiss_filepath);\n this.EnquiryObj.RFQObject[index].Weiss_filename = null;\n this.EnquiryObj.RFQObject[index].Weiss_filepath = null;\n break;\n }\n\n }\n\n deleteActivityDetails(index) {\n if (index != null) {\n this.activityDetails.splice(index, 1);\n }\n }\n addActivityDetails(index) {\n if (!(this.activityDetails[index].Activity == undefined || this.activityDetails[index].Activity == null || this.activityDetails[index].Activity == \"\")\n &&\n !(this.activityDetails[index].ActivityDate == undefined || this.activityDetails[index].ActivityDate == null || this.activityDetails[index].ActivityDate == \"\")) {\n var obj = new ActivityModel();\n obj.ActivityDate = new NgbDate(new Date().getFullYear(), new Date().getMonth() + 1, new Date().getDate());\n obj.uniqueid = this.makeRandom();\n obj.ISNewActivityAdded = true;\n this.activityDetails.push(obj);\n }\n }\n\n getCustomerList() {\n this.updateLoaderEvent.emit(true);\n this.commonService.GetData(\"Customer\", \"GetAll\", null).subscribe((data: any) => {\n this.CustomerList = data;\n\n this.updateLoaderEvent.emit(false);\n });\n }\n\n getEnquirySourceDetails() {\n this.updateLoaderEvent.emit(true);\n this.commonService.GetData(\"Enquiry\", \"GetEnquiryDropdownData\", null).subscribe((data: any) => {\n this.enquirySource = data.EnquirySource;\n this.updateLoaderEvent.emit(false);\n });\n }\n\n getProductDetails() {\n this.updateLoaderEvent.emit(true);\n this.commonService.GetData(\"Product\", \"GetRFQProductDetails\", null).subscribe((data: any) => {\n this.CustomerList = data;\n //this.updateLoaderEvent.emit(false);\n });\n }\n\n\n AvoidSpace(event: any) {\n if ((event.which === 46 || event.which === 32) && !event.target.value.length) {\n event.preventDefault();\n }\n }\n\n isNumberKey(evt: any) {\n this.charCode = (evt.which) ? evt.which : evt.keyCode;\n if ((this.charCode == 45 || this.charCode == 43) && this.charCode > 31\n && (this.charCode < 48 || this.charCode > 57)) {\n return false;\n }\n else {\n return true;\n }\n }\n\n isintNumberKey(evt: any) {\n this.charCode = (evt.which) ? evt.which : evt.keyCode;\n if ((this.charCode == 46 || this.charCode == 45 || this.charCode == 43) && this.charCode > 31\n && (this.charCode < 48 || this.charCode > 57)) {\n return false;\n }\n else {\n return true;\n }\n }\n\n AddRFQDetails(index) {\n if (this.EnquiryObj.RFQObject[index].ProductLine != undefined && this.EnquiryObj.RFQObject[index].ProductModel != undefined &&\n this.EnquiryObj.RFQObject[index].Quantity != undefined) {\n\n this.EnquiryObj.RFQObject[index].IsRowDeleted = true;\n\n var obj = new ProductDetails();\n this.EnquiryObj.RFQObject.push(obj);\n\n }\n }\n\n openCSComments() {\n this.isCustomerCommentVisible = !this.isCustomerCommentVisible;\n }\n\n openQuotationPopup(flag) {\n const frmData = new FormData();\n if (this.EnquiryObj.EnquiryDetails.BOMAttachment) {\n this.updateLoaderEvent.emit(true);\n if (this.EnquiryObj.EnquiryDetails.EnquiryDate != undefined) {\n this.EnquiryObj.EnquiryDetails.EnquiryDateISO = new Date(this.convertDate(new NgbDate(this.EnquiryObj.EnquiryDetails.EnquiryDate.year, this.EnquiryObj.EnquiryDetails.EnquiryDate.month, this.EnquiryObj.EnquiryDetails.EnquiryDate.day))).toDateString();\n }\n if (this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate != undefined) {\n this.EnquiryObj.EnquiryDetails.RequestedDeliveryDateISO = new Date(this.convertDate(new NgbDate(this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate.year, this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate.month, this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate.day))).toDateString();\n }\n if (this.EnquiryObj.EnquiryDetails.EnquiryDate != undefined) {\n this.EnquiryObj.EnquiryDetails.EnquiryDate = new Date(this.convertDate(new NgbDate(this.EnquiryObj.EnquiryDetails.EnquiryDate.year, this.EnquiryObj.EnquiryDetails.EnquiryDate.month, this.EnquiryObj.EnquiryDetails.EnquiryDate.day)));\n }\n if (this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate != undefined) {\n this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate = new Date(this.convertDate(new NgbDate(this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate.year, this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate.month, this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate.day)));\n }\n frmData.append(\"BOMAttachment\", this.EnquiryObj.EnquiryDetails.BOMAttachment[0]);\n\n let EnquiryObj = JSON.stringify(this.EnquiryObj);\n frmData.append(\"EnquiryModel\", EnquiryObj);\n\n this.commonService.PostData(\"Enquiry\", \"AddBOM\", frmData, null).subscribe((data: any) => {\n this.updateLoaderEvent.emit(false);\n }, error => {\n this.updateLoaderEvent.emit(false);\n });\n }\n\n const modalRef = this.modalService.open(EnquiryModalComponent, {\n size: 'lg', backdrop: 'static', keyboard: false\n });\n var enquiObj = {\n EnquiryId: this.EnquiryObj.EnquiryDetails.EnquiryId,\n EnquiryStatus: this.EnquiryObj.EnquiryDetails.Status,\n EnqTermsConditionSelected: this.EnquiryObj.EnquiryDetails.RFQTermsAndCondition,\n IsQuotationPriceOnRequest: this.EnquiryObj.EnquiryDetails.IsQuotationPriceOnRequest,\n TermsAndCondition: this.EnquiryObj.TermsAndConditions,\n CustomTermsAndCondition: this.EnquiryObj.CustomTermsAndConditions,\n PendingAtRoleId: this.EnquiryObj.EnquiryDetails.PendingAtRoleId\n }\n modalRef.componentInstance.enquiObj = enquiObj;\n modalRef.result.then((result) => {\n this.closeResult = `Closed with:${result}`;\n if (this.closeResult !== 'Closed with:Close click') {\n if (flag === 1) {\n } else {\n // this.saveQuoteLimit(this.QuotationNumber, result);\n }\n }\n }, error => {\n this.updateLoaderEvent.emit(false);\n });\n }\n\n backtoList() {\n // this._location.back();\n if (this.previousUrl == null || this.previousUrl == \"\" || this.previousUrl == undefined) {\n this.router.navigate(['/Enquiry']);\n }\n else if (this.previousUrl.includes(\"PendingEnquiry\")) {\n this.router.navigate(['/PendingEnquiry']);\n }\n else {\n this.router.navigate(['/Enquiry']);\n }\n\n }\n\n onEnquiryConfirmationStatusChange() {\n this.EnquiryObj.EnquiryDetails.EnquiryConfirmReason = null;\n this.WinLossDropdownDataForStatus = this.WinLossDropdownData.filter(x => x.Value == this.EnquiryObj.EnquiryDetails.EnquiryConfirmStatus);\n this.EnquiryObj.EnquiryDetails.EnquiryConfirmReason = this.WinLossDropdownDataForStatus[0].Id;\n if (this.EnquiryObj.EnquiryDetails.EnquiryConfirmStatus == \"Lost\") {\n this.isPoValueDisable = true;\n this.EnquiryObj.EnquiryDetails.POValue = \"0\";\n } else {\n this.isPoValueDisable = false;\n this.EnquiryObj.EnquiryDetails.POValue = undefined;\n }\n }\n\n deleteRFQDetails(index: any) {\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Do you want to delete this row?\"\n }\n });\n dialogRef.afterClosed().subscribe(dialogResult => {\n if (dialogResult) {\n if (index != null) {\n this.EnquiryObj.RFQObject.splice(index, 1);\n } else {\n this.EnquiryObj.RFQObject.pop();\n }\n }\n });\n }\n\n setTermsAndConditions() {\n if (this.EnquiryObj.EnquiryDetails.RFQTermsAndCondition == 'Standard') {\n this.isStandardCondition = true;\n this.EnquiryObj.TermsAndConditions = this.TnCStandardFromDropDown;\n this.EnquiryObj.TermsAndConditions.forEach(element => {\n var tnc = this.demoObject.filter(x => x.Id == element.TnCId)[0];\n element.TnCValue = tnc?.Value;\n });\n } else {\n this.isStandardCondition = false;\n this.EnquiryObj.CustomTermsAndConditions = this.TnCCustomizedFromDropDown;\n this.EnquiryObj.CustomTermsAndConditions.forEach(element => {\n var ctnc = this.demoCTCObject.filter(x => x.StandardTC.Id == element.StandardTC)[0];\n element.CustomValues = ctnc?.CustomValues;\n });\n\n }\n }\n\n setTermsAndConditionsEditRfq() {\n\n if (this.EnquiryObj.EnquiryDetails.RFQTermsAndCondition == 'Standard') {\n this.isStandardCondition = true;\n //this.EnquiryObj.TnCObject = this.demoObject; \n this.EnquiryObj.TermsAndConditions = this.TnCStandardFromDropDown;\n\n this.EnquiryObj.TermsAndConditions.forEach(element => {\n var tnc = this.demoObject.filter(x => x.Id == element.TnCId)[0];\n element.TnCValue = tnc?.Value;\n\n });\n }\n else {\n this.isStandardCondition = false;\n\n if (this.EnquiryObj.CustomTermsAndConditions.length == 0) {\n this.EnquiryObj.CustomTermsAndConditions = this.TnCCustomizedFromDropDown;\n\n } else {\n this.EnquiryObj.CustomTermsAndConditions = this.TnCCustomizedDropDownForEditRfq2\n }\n\n this.EnquiryObj.CustomTermsAndConditions.forEach(element => {\n var ctnc = this.demoCTCObject.filter(x => x.StandardTC.Id == element.StandardTC)[0];\n element.CustomValues = ctnc?.CustomValues;\n\n });\n }\n }\n\n editFileDetails(event, index) {\n let file = event.target.files[0];\n let isValidFile = true;\n if (((file.size) / 1000000) <= 5) {\n isValidFile = this.allowedFileType.includes(file.type);\n if (!isValidFile) {\n this.toastr.warning(\"Invalid file attached!\");\n switch (event.target.name) {\n case \"mdsfile\":\n this.EnquiryObj.RFQObject[index].MDSAttachment = [];\n this.EnquiryObj.RFQObject[index].isMDSAttachment = false;\n break;\n case \"itcfile\":\n this.EnquiryObj.RFQObject[index].ITCAttachment = [];\n this.EnquiryObj.RFQObject[index].isITCAttachment = false;\n break;\n case \"customerfile\":\n this.EnquiryObj.RFQObject[index].CustomerAttachment = [];\n this.EnquiryObj.RFQObject[index].isCustomerAttachment = false;\n break;\n case \"weissfile\":\n this.EnquiryObj.RFQObject[index].WeissAttachment = [];\n this.EnquiryObj.RFQObject[index].isWeissAttachment = false;\n break;\n case \"bomfile\":\n this.EnquiryObj.EnquiryDetails.BOMAttachment = [];\n this.isBOMAttachment = false;\n break;\n case \"ecfile\":\n this.EnquiryObj.EnquiryDetails.POAttchments = [];\n break;\n case \"accfile\":\n this.EnquiryObj.EnquiryDetails.InvoiceAttachment = [];\n this.isInvoiceAttachment = false;\n break;\n case \"activityfile\":\n this.activityDetails[index].Attachment = [];\n this.activityDetails[index].isActivityAttachment = false;\n break;\n }\n event.target.value = null;\n isValidFile = false;\n } else if (file.name.length > 50) {\n this.toastr.warning(\"The file name with more than 50 characters are not allowed.\");\n switch (event.target.name) {\n case \"mdsfile\":\n this.EnquiryObj.RFQObject[index].MDSAttachment = [];\n this.EnquiryObj.RFQObject[index].isMDSAttachment = false;\n break;\n case \"itcfile\":\n this.EnquiryObj.RFQObject[index].ITCAttachment = [];\n this.EnquiryObj.RFQObject[index].isITCAttachment = false;\n break;\n case \"customerfile\":\n this.EnquiryObj.RFQObject[index].CustomerAttachment = [];\n this.EnquiryObj.RFQObject[index].isCustomerAttachment = false;\n break;\n case \"weissfile\":\n this.EnquiryObj.RFQObject[index].WeissAttachment = [];\n this.EnquiryObj.RFQObject[index].isWeissAttachment = false;\n break;\n case \"bomfile\":\n this.EnquiryObj.EnquiryDetails.BOMAttachment = [];\n this.isBOMAttachment = false;\n break;\n case \"ecfile\":\n this.EnquiryObj.EnquiryDetails.POAttchments = [];\n break;\n case \"accfile\":\n this.EnquiryObj.EnquiryDetails.InvoiceAttachment = [];\n this.isInvoiceAttachment = false;\n break;\n case \"activityfile\":\n this.activityDetails[index].Attachment = [];\n this.activityDetails[index].isActivityAttachment = false;\n break;\n }\n event.target.value = null;\n isValidFile = false;\n }\n }\n else {\n this.toastr.warning(\"File size must be less than or equal to 5MB!\");\n switch (event.target.name) {\n case \"mdsfile\":\n this.EnquiryObj.RFQObject[index].MDSAttachment = [];\n this.EnquiryObj.RFQObject[index].isMDSAttachment = false;\n break;\n case \"itcfile\":\n this.EnquiryObj.RFQObject[index].ITCAttachment = [];\n this.EnquiryObj.RFQObject[index].isITCAttachment = false;\n break;\n case \"customerfile\":\n this.EnquiryObj.RFQObject[index].CustomerAttachment = [];\n this.EnquiryObj.RFQObject[index].isCustomerAttachment = false;\n break;\n case \"weissfile\":\n this.EnquiryObj.RFQObject[index].WeissAttachment = [];\n this.EnquiryObj.RFQObject[index].isWeissAttachment = false;\n break;\n case \"bomfile\":\n this.EnquiryObj.EnquiryDetails.BOMAttachment = [];\n this.isBOMAttachment = false;\n break;\n case \"ecfile\":\n this.EnquiryObj.EnquiryDetails.POAttchments = [];\n break;\n case \"accfile\":\n this.EnquiryObj.EnquiryDetails.InvoiceAttachment = [];\n this.isInvoiceAttachment = false;\n break;\n case \"activityfile\":\n this.activityDetails[index].Attachment = [];\n this.activityDetails[index].isActivityAttachment = false;\n break;\n }\n event.target.value = null;\n isValidFile = false;\n }\n if (isValidFile) {\n //CHECK IF THE FILE NAME IS NOT TOO BIG\n\n switch (event.target.name) {\n case \"mdsfile\":\n this.EnquiryObj.RFQObject[index].MDSAttachment = [];\n this.EnquiryObj.RFQObject[index].MDSAttachment.push(file);\n this.EnquiryObj.RFQObject[index].isMDSAttachment = true;\n break;\n case \"itcfile\":\n if (!(file.type == 'application/xml' || file.type == 'text/xml')) {\n this.toastr.warning(\"Only xml file supported!\");\n this.EnquiryObj.RFQObject[index].ITCAttachment = [];\n this.EnquiryObj.RFQObject[index].isITCAttachment = false;\n event.target.value = null;\n isValidFile = false;\n }\n else {\n // const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n // maxWidth: \"400px\",\n // data: {\n // title: \"Are you sure?\",\n // message: 'Please make sure that the entered Product and ITC Product are being matched. Do you want to continue?'\n // }\n // });\n // dialogRef.afterClosed().subscribe(dialogResult => {\n // if (dialogResult) {\n this.EnquiryObj.RFQObject[index].ITCAttachment = [];\n this.EnquiryObj.RFQObject[index].ITCAttachment.push(file);\n this.EnquiryObj.RFQObject[index].isITCAttachment = true;\n // }\n // });\n\n }\n break;\n case \"customerfile\":\n this.EnquiryObj.RFQObject[index].CustomerAttachment = [];\n this.EnquiryObj.RFQObject[index].CustomerAttachment.push(file);\n this.EnquiryObj.RFQObject[index].isCustomerAttachment = true;\n break;\n case \"weissfile\":\n this.EnquiryObj.RFQObject[index].WeissAttachment = [];\n this.EnquiryObj.RFQObject[index].WeissAttachment.push(file);\n this.EnquiryObj.RFQObject[index].isWeissAttachment = true;\n break;\n case \"bomfile\":\n this.EnquiryObj.EnquiryDetails.BOMAttachment = [];\n this.EnquiryObj.EnquiryDetails.BOMAttachment.push(file);\n this.isBOMAttachment = true;\n break;\n case \"ecfile\":\n this.EnquiryObj.EnquiryDetails.POAttchments = [];\n this.EnquiryObj.EnquiryDetails.POAttchments.push(file);\n this.isPOAttachment = true;\n break;\n case \"accfile\":\n this.EnquiryObj.EnquiryDetails.InvoiceAttachment = [];\n this.EnquiryObj.EnquiryDetails.InvoiceAttachment.push(file);\n this.isInvoiceAttachment = true;\n break;\n case \"activityfile\":\n this.activityDetails[index].Attachment = [];\n this.activityDetails[index].Attachment.push(file);\n this.activityDetails[index].isActivityAttachment = true;\n break;\n }\n }\n }\n\n getMultipleFileDetails(event) {\n for (let i = 0; i < event.target.files.length; i++) {\n let file = event.target.files[i];\n let isValidFile = true;\n if (((file.size) / 1000000) <= 5) {\n\n isValidFile = this.allowedFileType.includes(file.type);\n if (!isValidFile) {\n this.toastr.warning(\"Invalid file attached!\");\n //event.target.value = null;\n isValidFile = false;\n } else if (file.name.length > 50) {\n this.toastr.warning(\"The file name with more than 50 characters are not allowed.\");\n isValidFile = false;\n }\n }\n else {\n this.toastr.warning(\"File size must be less than or equal to 5MB!\");\n //event.target.value = null;\n isValidFile = false;\n }\n if (isValidFile) {\n switch (event.target.name) {\n case \"quotefiles\":\n if (this.EnquiryObj.EnquiryDetails.QuoteGenAttachments == undefined || this.EnquiryObj.EnquiryDetails.QuoteGenAttachments.length == 0) {\n this.EnquiryObj.EnquiryDetails.QuoteGenAttachments = [];\n }\n this.EnquiryObj.EnquiryDetails.QuoteGenAttachments.push(file);\n break;\n case \"mafile\":\n if (this.EnquiryObj.EnquiryDetails.QuoteGenAttachments == undefined || this.EnquiryObj.EnquiryDetails.QuoteGenAttachments.length == 0) {\n this.EnquiryObj.EnquiryDetails.QuoteGenAttachments = [];\n }\n this.EnquiryObj.EnquiryDetails.QuoteGenAttachments.push(file);\n break;\n case \"ceofile\":\n if (this.EnquiryObj.EnquiryDetails.QuoteGenAttachments == undefined || this.EnquiryObj.EnquiryDetails.QuoteGenAttachments.length == 0) {\n this.EnquiryObj.EnquiryDetails.QuoteGenAttachments = [];\n }\n this.EnquiryObj.EnquiryDetails.QuoteGenAttachments.push(file);\n break;\n case \"maofile\":\n if (this.EnquiryObj.EnquiryDetails.QuoteGenAttachments == undefined || this.EnquiryObj.EnquiryDetails.QuoteGenAttachments.length == 0) {\n this.EnquiryObj.EnquiryDetails.QuoteGenAttachments = [];\n }\n this.EnquiryObj.EnquiryDetails.QuoteGenAttachments.push(file);\n break;\n }\n }\n }\n }\n\n removeQuoteGenAttachments(index) {\n this.EnquiryObj.EnquiryDetails.QuoteGenAttachments.splice(index, 1);\n this.myInputVariable.nativeElement.value = \"\";\n\n }\n removeQuoteGenAttachmentsDB(index) {\n this.EnquiryObj.RemoveFiles.push(this.EnquiryObj.EnquiryDetails.QuoteAttachmentsArray[index].FilePath);\n this.EnquiryObj.EnquiryDetails.QuoteAttachmentsArray[index].FileName = null;\n this.EnquiryObj.EnquiryDetails.QuoteAttachmentsArray[index].FilePath = null;\n this.EnquiryObj.EnquiryDetails.QuoteAttachmentsArray.splice(index, 1);\n }\n removeBOMAttachments(flag) {\n if (flag == 1) {\n this.EnquiryObj.RemoveFiles.push(this.EnquiryObj.EnquiryDetails.BOM_filepath);\n }\n this.isBOMAttachment = false;\n this.EnquiryObj.EnquiryDetails.BOMAttachment = [];\n this.EnquiryObj.EnquiryDetails.BOM_filename = null;\n this.EnquiryObj.EnquiryDetails.BOM_filepath = null;\n }\n\n removeInvoiceAttachments() {\n this.isInvoiceAttachment = false;\n this.myInputVariable.nativeElement.value = \"\";\n this.EnquiryObj.EnquiryDetails.InvoiceAttachment = undefined;\n }\n\n\n\n GenerateOANumber() {\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Once OA Number Generated, can't be altered. Do you want to continue?\"\n }\n });\n dialogRef.afterClosed().subscribe(dialogResult => {\n if (dialogResult) {\n this.updateLoaderEvent.emit(true);\n let queryString = \"\";\n queryString = \"id=\" + this.EnquiryObj.EnquiryDetails.EnquiryId;\n this.commonService.GetData('Enquiry', 'GenerateOANo', queryString).subscribe((data: any) => {\n\n this.EnquiryObj.EnquiryDetails.OrdAcknowledgeNumber = data;\n this.isOAGenerated = true;\n this.updateLoaderEvent.emit(false);\n this.toastr.success('Order Acknowledgement Number generated successfully!');\n\n }, error => {\n this.EnquiryObj.EnquiryDetails.OrdAcknowledgeNumber = undefined;\n this.toastr.error('Failed to Order Acknowledgement Number!');\n this.isOAGenerated = false;\n this.updateLoaderEvent.emit(false);\n });\n }\n });\n }\n\n onStepChange(data) {\n\n if (this.userid == this.EnquiryObj.EnquiryDetails.Initiator_Id && data.previouslySelectedIndex == 0 && this.activityDetails[0].Activity != \"\") {\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Please make sure that you have saved the activity details. Do you want to continue?\"\n }\n });\n dialogRef.afterClosed().subscribe(dialogResult => {\n if (dialogResult) {\n } else {\n this.stepper.selectedIndex = data.previouslySelectedIndex;\n }\n });\n }\n }\n\n radioChange(event) {\n\n }\n\n SetStatus(rule, myform: any) {\n this.PreviousStatus = this.EnquiryObj.EnquiryDetails.Status;\n this.EnquiryObj.EnquiryDetails.Status = rule[0].workflowNextStatusId;\n this.AddEnquiry();\n }\n\n AddEnquiry() {\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x => x.Status == 'EnquiryAdded')[0]?.Pk_Id\n || this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x => x.Status == 'RFQSaveAsDraft')[0]?.Pk_Id\n || this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x => x.Status == 'RFQSubmittedbySalesEngg')[0]?.Pk_Id) {\n\n this.checkRFQGridValidation();\n if (!this.IsRFQDataValid) {\n return;\n }\n if (this.EnquiryObj.EnquiryDetails.RFQTermsAndCondition == 'Standard') {\n let tnc = this.EnquiryObj.TermsAndConditions.filter(x => (x.TnCValue == undefined || x.TnCValue == null || x.TnCValue == ''));\n if (tnc.length > 0) {\n return;\n }\n this.EnquiryObj.CustomTermsAndConditions = null;\n }\n\n if (this.EnquiryObj.EnquiryDetails.RFQTermsAndCondition == 'Customized') {\n let ctnc = this.EnquiryObj.CustomTermsAndConditions.filter(x => (x.CustomValues == undefined || x.CustomValues == null))\n if (ctnc.length > 0) {\n return;\n }\n this.EnquiryObj.TermsAndConditions = null;\n }\n\n\n }\n //Dont proceed if the BOM attachment is not present\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x => x.Status == 'SendBOMandProposal')[0]?.Pk_Id || this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x => x.Status == 'QuotationSenttoCustomerService')[0]?.Pk_Id ||\n this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x => x.Status == 'RFQsentbyL1toL2')[0]?.Pk_Id) {\n if ((this.EnquiryObj.EnquiryDetails.BOMAttachment == null || this.EnquiryObj.EnquiryDetails.BOMAttachment == undefined || this.EnquiryObj.EnquiryDetails.BOMAttachment.length == 0) &&\n (this.EnquiryObj.EnquiryDetails.BOM_filename == null || this.EnquiryObj.EnquiryDetails.BOM_filename == undefined || this.EnquiryObj.EnquiryDetails.BOM_filename == \"\")) {\n this.toastr.info('BOM attachment is required.');\n return;\n }\n }\n\n // //Dont proceed if the Po attachment is not present\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x => x.Status == 'EnquiryOrderConfirmedbySalesEngg')[0]?.Pk_Id) {\n if ((this.EnquiryObj.EnquiryDetails.POAttchments == null || this.EnquiryObj.EnquiryDetails.POAttchments == undefined || this.EnquiryObj.EnquiryDetails.POAttchments.length == 0) &&\n (this.EnquiryObj.EnquiryDetails.PO_filename == null || this.EnquiryObj.EnquiryDetails.PO_filename == undefined || this.EnquiryObj.EnquiryDetails.PO_filename == \"\")) {\n this.toastr.info('PO attachment is required.');\n return;\n }\n }\n\n // //Dont proceed if the Invoice attachment is not present\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x => x.Status == 'AccountsConfirmInvoiceNo')[0]?.Pk_Id) {\n if ((this.EnquiryObj.EnquiryDetails.InvoiceAttachment == null || this.EnquiryObj.EnquiryDetails.InvoiceAttachment == undefined || this.EnquiryObj.EnquiryDetails.InvoiceAttachment.length == 0) &&\n (this.EnquiryObj.EnquiryDetails.Invoice_filename == null || this.EnquiryObj.EnquiryDetails.Invoice_filename == undefined || this.EnquiryObj.EnquiryDetails.Invoice_filename == \"\")) {\n this.EnquiryObj.EnquiryDetails.Status = this.enquiryStatusList.filter(x => x.Status == 'MaterialReadyForDispatch')[0]?.Pk_Id;\n this.toastr.info('Invoice attachment is required.');\n return;\n }\n }\n\n\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x => x.Status == 'EnquiryOrderConfirmedbySalesEngg')[0]?.Pk_Id) {\n if ((this.EnquiryObj.EnquiryDetails.POAttchments == undefined || this.EnquiryObj.EnquiryDetails.POAttchments == null || this.EnquiryObj.EnquiryDetails.POAttchments.length == 0)) {\n return;\n }\n }\n\n\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x => x.Status == 'OrdersentforMngmtApproval_SalesDirector')[0]?.Pk_Id) {\n if (this.isPOAttacmentDelete) {\n if ((this.EnquiryObj.EnquiryDetails.POAttchments == undefined || this.EnquiryObj.EnquiryDetails.POAttchments == null || this.EnquiryObj.EnquiryDetails.POAttchments.length == 0)) {\n return;\n }\n }\n\n }\n\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x => x.Status == 'OrderConfirmedbyCustomerServiceSendSO')[0]?.Pk_Id) {\n if (this.isPOAttacmentDelete) {\n if ((this.EnquiryObj.EnquiryDetails.POAttchments == undefined || this.EnquiryObj.EnquiryDetails.POAttchments == null || this.EnquiryObj.EnquiryDetails.POAttchments.length == 0)) {\n return;\n }\n }\n }\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x => x.Status == 'AccountsConfirmInvoiceNo')[0]?.Pk_Id) {\n if (this.EnquiryObj.EnquiryDetails.InvoiceAttachment == undefined) {\n this.EnquiryObj.EnquiryDetails.Status = this.enquiryStatusList.filter(x => x.Status == 'MaterialReadyForDispatch')[0]?.Pk_Id\n return;\n }\n }\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x => x.Status == 'OrdersentforMngmtApproval_SalesDirector')[0]?.Pk_Id ||\n this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x => x.Status == 'OrderConfirmedbyCustomerServiceSendSO')[0]?.Pk_Id) {\n let sum: number = 0;\n this.EnquiryObj.POValues.forEach(element => {\n element.ProductModelPOValue = (element.ProductModelPOValue == null || element.ProductModelPOValue == '' || element.ProductModelPOValue == undefined)\n ? '0' : element.ProductModelPOValue;\n sum = sum + parseInt(element.ProductModelPOValue);\n element.QUotationValueValidation = false;\n });\n if (sum.toString() != this.EnquiryObj.EnquiryDetails.POValue) {\n document.getElementById(\"povalue0\").focus();\n this.toastr.info('Total PO value and product wise PO values are not matching.');\n this.EnquiryObj.EnquiryDetails.Status = this.PreviousStatus;\n this.UpdatePO = false;\n return;\n }\n }\n\n setTimeout(() => this.openPopup());\n }\n openPopup() {\n var confimrmsg = this.AppGlobals.successMessages.filter(x => x.id == this.EnquiryObj.EnquiryDetails.Status)[0];\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: confimrmsg.confirmmsg\n }\n });\n dialogRef.afterClosed().subscribe(dialogResult => {\n if (dialogResult) {\n this.updateLoaderEvent.emit(true);\n const frmData = new FormData();\n this.EnquiryObj.RFQObject.forEach(item => {\n item.IsRowDeleted = false;\n });\n if (this.EnquiryObj.EnquiryDetails.EnquiryDate != undefined) {\n this.EnquiryObj.EnquiryDetails.EnquiryDateISO = new Date(this.convertDate(new NgbDate(this.EnquiryObj.EnquiryDetails.EnquiryDate.year, this.EnquiryObj.EnquiryDetails.EnquiryDate.month, this.EnquiryObj.EnquiryDetails.EnquiryDate.day))).toDateString();\n }\n if (this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate != undefined) {\n this.EnquiryObj.EnquiryDetails.TentativeDeliveryDateISO = new Date(this.convertDate(new NgbDate(this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate.year, this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate.month, this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate.day))).toDateString();\n }\n if (this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate != undefined) {\n this.EnquiryObj.EnquiryDetails.RequestedDeliveryDateISO = new Date(this.convertDate(new NgbDate(this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate.year, this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate.month, this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate.day))).toDateString();\n }\n if (this.EnquiryObj.EnquiryDetails.EnquiryDate != undefined) {\n this.EnquiryObj.EnquiryDetails.EnquiryDate = new Date(this.convertDate(new NgbDate(this.EnquiryObj.EnquiryDetails.EnquiryDate.year, this.EnquiryObj.EnquiryDetails.EnquiryDate.month, this.EnquiryObj.EnquiryDetails.EnquiryDate.day)));\n }\n if (this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate != undefined) {\n this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate = new Date(this.convertDate(new NgbDate(this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate.year, this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate.month, this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate.day)));\n }\n if (this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate != undefined) {\n this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate = new Date(this.convertDate(new NgbDate(this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate.year, this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate.month, this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate.day)));\n }\n\n if (this.EnquiryObj.EnquiryDetails.RFQTermsAndCondition == \"Customized\") {\n this.EnquiryObj.TermsAndConditions = null;\n\n if (this.QGRFQEditable == true) {\n this.EnquiryObj.CustomTermsAndConditions;\n\n } else {\n this.EnquiryObj.CustomTermsAndConditions = this.custtermscond;\n }\n }\n\n let EnquiryObj = JSON.stringify(this.EnquiryObj);\n frmData.append(\"EnquiryModel\", EnquiryObj);\n\n\n if (this.EnquiryObj.EnquiryDetails.QuoteGenAttachments != null) {\n for (let i = 0; i < this.EnquiryObj.EnquiryDetails.QuoteGenAttachments.length; i++) {\n frmData.append(\"QuoteGenAttachments[\" + i + \"]\", this.EnquiryObj.EnquiryDetails.QuoteGenAttachments[i]);\n }\n }\n for (let i = 0; i < this.EnquiryObj.RFQObject.length; i++) {\n if (this.EnquiryObj.RFQObject[i].MDSAttachment != undefined) {\n frmData.append(\"MDSAttachment[\" + i + \"]\", this.EnquiryObj.RFQObject[i].MDSAttachment[0]);\n }\n if (this.EnquiryObj.RFQObject[i].ITCAttachment != undefined) {\n frmData.append(\"ITCAttachment[\" + i + \"]\", this.EnquiryObj.RFQObject[i].ITCAttachment[0]);\n }\n if (this.EnquiryObj.RFQObject[i].CustomerAttachment != undefined) {\n frmData.append(\"CustomerAttachment[\" + i + \"]\", this.EnquiryObj.RFQObject[i].CustomerAttachment[0]);\n }\n if (this.EnquiryObj.RFQObject[i].WeissAttachment != undefined) {\n frmData.append(\"WeissAttachment[\" + i + \"]\", this.EnquiryObj.RFQObject[i].WeissAttachment[0]);\n }\n }\n if (this.EnquiryObj.EnquiryDetails.BOMAttachment) {\n frmData.append(\"BOMAttachment\", this.EnquiryObj.EnquiryDetails.BOMAttachment[0]);\n }\n if (this.EnquiryObj.EnquiryDetails.InvoiceAttachment) {\n frmData.append(\"InvoiceAttachment\", this.EnquiryObj.EnquiryDetails.InvoiceAttachment[0]);\n }\n if (this.EnquiryObj.EnquiryDetails.POAttchments) {\n frmData.append(\"POAttchments\", this.EnquiryObj.EnquiryDetails.POAttchments[0]);\n }\n\n this.commonService.PostData(\"Enquiry\", \"Add\", frmData, null).subscribe((data: any) => {\n this.customerDrpdnDetails = data;\n this.EnquiryObj.EnquiryDetails.EnquiryId = data;\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x => x.Status == 'OANoGenerated')[0]?.Pk_Id) {\n this.toastr.success(\"OA Number generated successfully\");\n }\n else {\n this.toastr.success(confimrmsg.successmsg);\n }\n\n this.updateLoaderEvent.emit(false);\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x => x.Status == 'RFQAcceptedbyL1')[0]?.Pk_Id ||\n this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x => x.Status == 'QuotationRevision')[0]?.Pk_Id ||\n this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x => x.Status == 'RFQSubmittedbyL1')[0]?.Pk_Id ||\n this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x => x.Status == 'RFQSubmittedbyL2')[0]?.Pk_Id ||\n this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x => x.Status == 'RFQSubmittedbyL3')[0]?.Pk_Id ||\n this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x => x.Status == 'RFQSubmittedbyCustomerService')[0]?.Pk_Id ||\n this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x => x.Status == 'OANoGenerated')[0]?.Pk_Id) {\n // this.router.navigate(['/EditViewEnquiry/' + this.EnquiryObj.EnquiryDetails.EnquiryId]);\n window.location.reload();\n } else {\n this.router.navigate(['/Enquiry']);\n //this.backtoList();\n }\n }, error => {\n this.toastr.error(confimrmsg.errormsg);\n this.updateLoaderEvent.emit(false);\n });\n } else {\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x => x.Status == 'QuotationRevision')[0]?.Pk_Id) {\n this.chosenItem = \"2\";\n this.quoterevcomments = this.EnquiryObj.EnquiryDetails.Comments;\n this.EnquiryObj.EnquiryDetails.Comments = \"\";\n }\n else {\n\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x => x.Status == 'OrdersentforMngmtApproval_SalesDirector')[0]?.Pk_Id ||\n this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x => x.Status == 'OrderConfirmedbyCustomerServiceSendSO')[0]?.Pk_Id) {\n this.UpdatePO = false;\n }\n if (this.PreviousStatus > 0) {\n this.EnquiryObj.EnquiryDetails.Status = this.PreviousStatus;\n }\n\n }\n\n }\n });\n\n }\n povalueChange(i) {\n var povalue: number = parseFloat(this.EnquiryObj.POValues[i].ProductModelPOValue);\n if (povalue == undefined || povalue == null) {\n this.EnquiryObj.POValues[i].QUotationValueValidation = true;\n this.IsPODataValid = false;\n } else if (povalue < 0) {\n this.EnquiryObj.POValues[i].QUotationValueValidation = true;\n this.IsPODataValid = false;\n } else if (povalue % 1 != 0) {\n this.EnquiryObj.POValues[i].QUotationValueValidation = true;\n this.IsPODataValid = false;\n } else if (this.EnquiryObj.POValues[i].ProductModelPOValue.toString().includes(\".\")) {\n this.EnquiryObj.POValues[i].QUotationValueValidation = true;\n this.IsPODataValid = false;\n }\n else {\n this.EnquiryObj.POValues[i].QUotationValueValidation = false;\n }\n }\n editRFQ() {\n if (this.showQuotationLink) {\n this.toastr.info('Please note that editing the RFQ will reset the quotation.');\n }\n this.EnquiryObj.RFQObject.forEach(element => {\n element.deleted_MDS_filename = element.MDS_filename;\n element.deleted_MDS_filepath = element.MDS_filepath;\n\n element.deleted_ITC_filename = element.ITC_filename;\n element.deleted_ITC_filepath = element.ITC_filepath;\n\n element.deleted_Customer_filename = element.Customer_filename;\n element.deleted_Customer_filepath = element.Customer_filepath;\n\n element.deleted_Weiss_filename = element.Weiss_filename;\n element.deleted_Weiss_filepath = element.Weiss_filepath;\n });\n\n\n this.QGRFQEditable = true;\n\n }\n cancelEditingRFQ() {\n\n window.location.reload();\n this.QGRFQEditable = false;\n this.EnquiryObj.RFQObject.forEach(element => {\n element.MDSAttachment = [];\n element.ITCAttachment = [];\n element.CustomerAttachment = [];\n element.WeissAttachment = [];\n element.isMDSAttachment = false;\n element.isITCAttachment = false;\n element.isCustomerAttachment = false;\n element.isWeissAttachment = false;\n element.MDS_filename = element.deleted_MDS_filename;\n element.MDS_filepath = element.deleted_MDS_filepath;\n\n element.ITC_filename = element.deleted_ITC_filename;\n element.ITC_filepath = element.deleted_ITC_filepath;\n\n element.Customer_filename = element.deleted_Customer_filename;\n element.Customer_filepath = element.deleted_Customer_filepath;\n\n element.Weiss_filename = element.deleted_Weiss_filename;\n element.Weiss_filepath = element.deleted_Weiss_filepath;\n });\n }\n\n onActivityChange(i) {\n if (this.activityDetails[i].Activity == undefined || this.activityDetails[i].Activity == null || this.activityDetails[i].Activity == \"\") {\n this.activityDetails[i].ActivityValidation = true;\n this.IsActivityDataValid = false;\n } else {\n this.activityDetails[i].ActivityValidation = false;\n }\n }\n onActivityDateChange(i) {\n if (this.activityDetails[i].ActivityDate == undefined || this.activityDetails[i].ActivityDate == null || this.activityDetails[i].ActivityDate == \"\") {\n this.activityDetails[i].ActivityDateValidation = true;\n this.IsActivityDataValid = false;\n } else {\n this.activityDetails[i].ActivityDateValidation = false;\n }\n }\n\n checkRFQGridValidation() {\n var inde = 0;\n this.IsRFQDataValid = true;\n this.EnquiryObj.RFQObject.forEach((element, index) => {\n if (element.ProductLine == undefined || element.ProductLine == null || element.ProductLine == 0) {\n document.getElementById(\"productline\" + index).focus();\n element.ProductLineValidation = true;\n this.IsRFQDataValid = false;\n }\n if (element.ProductModel == undefined || element.ProductModel == null || element.ProductModel == 0) {\n document.getElementById(\"productmodel\" + index).focus();\n element.ProductModelValidation = true;\n this.IsRFQDataValid = false;\n }\n if (element.Quantity == undefined || element.Quantity == null || element.Quantity == 0) {\n document.getElementById(\"quantity\" + index).focus();\n element.QuantityValidation = true;\n this.IsRFQDataValid = false;\n }\n if (element.MDSOption == undefined || element.MDSOption == null || element.MDSOption == 0) {\n document.getElementById(\"mdsoption\" + index).focus();\n element.MDSOptionValidation = true;\n this.IsRFQDataValid = false;\n }\n if (element.SalesPrice == undefined || element.SalesPrice == null || element.SalesPrice == 0) {\n document.getElementById(\"salesprice\" + index).focus();\n element.SalesPriceValidation = true;\n this.IsRFQDataValid = false;\n }\n if (element.SalesDiscount == undefined || element.SalesDiscount == null) {\n document.getElementById(\"salesdiscount\" + index).focus();\n element.SalesDiscountValidation = true;\n this.IsRFQDataValid = false;\n }\n\n });\n\n }\n\n convertDate(date: any) {\n let year = date.year;\n let month = date.month;\n let day = date.day;\n return year + \"-\" + month + \"-\" + day;\n }\n\n calculateTotalPricesForProduct(index) {\n var modelprice = 0;\n var var1price = 0;\n var var2price = 0;\n var var3price = 0;\n var var4price = 0;\n var optionprice = 0;\n\n\n modelprice = this.QuotationData.QuotationObj[index].ProductModelPrice == undefined ? 0 : this.QuotationData.QuotationObj[index].ProductModelPrice;\n var1price = this.QuotationData.QuotationObj[index].Variant1Price == undefined ? 0 : this.QuotationData.QuotationObj[index].Variant1Price;\n var2price = this.QuotationData.QuotationObj[index].Variant2Price == undefined ? 0 : this.QuotationData.QuotationObj[index].Variant2Price;\n var3price = this.QuotationData.QuotationObj[index].Variant3Price == undefined ? 0 : this.QuotationData.QuotationObj[index].Variant3Price;\n var4price = this.QuotationData.QuotationObj[index].Variant4Price == undefined ? 0 : this.QuotationData.QuotationObj[index].Variant4Price;\n this.QuotationData.QuotationObj[index].PerUnitAmount = this.QuotationData.QuotationObj[index].PerUnitAmount == undefined ? 0 : this.QuotationData.QuotationObj[index].PerUnitAmount;\n this.QuotationData.QuotationObj[index].TotalAmount = this.QuotationData.QuotationObj[index].TotalAmount == undefined ? 0 : this.QuotationData.QuotationObj[index].TotalAmount;\n this.QuotationData.QuotationObj[index].FinalAmount = this.QuotationData.QuotationObj[index].FinalAmount == undefined ? 0 : this.QuotationData.QuotationObj[index].FinalAmount;\n\n this.QuotationData.QuotationObj[index].OptionsPrice = 0;\n this.QuotationData.QuotationObj[index].Options.forEach(element => {\n this.QuotationData.QuotationObj[index].OptionsPrice = this.QuotationData.QuotationObj[index].OptionsPrice + element.Price;\n optionprice = optionprice + element.Price;\n });\n\n this.QuotationData.QuotationObj[index].PerUnitAmount = modelprice + var1price + var2price + var3price + var4price + optionprice;\n this.QuotationData.QuotationObj[index].Variant1 = (this.QuotationData.QuotationObj[index].Variant1 == null || this.QuotationData.QuotationObj[index].Variant1 == 0) ? undefined : this.QuotationData.QuotationObj[index].Variant1;\n this.QuotationData.QuotationObj[index].Variant2 = (this.QuotationData.QuotationObj[index].Variant2 == null || this.QuotationData.QuotationObj[index].Variant2 == 0) ? undefined : this.QuotationData.QuotationObj[index].Variant2;\n this.QuotationData.QuotationObj[index].Variant3 = (this.QuotationData.QuotationObj[index].Variant3 == null || this.QuotationData.QuotationObj[index].Variant3 == 0) ? undefined : this.QuotationData.QuotationObj[index].Variant3;\n this.QuotationData.QuotationObj[index].Variant4 = (this.QuotationData.QuotationObj[index].Variant4 == null || this.QuotationData.QuotationObj[index].Variant4 == 0) ? undefined : this.QuotationData.QuotationObj[index].Variant4;\n this.QuotationData.QuotationObj[index].Discount = this.QuotationData.QuotationObj[index].Discount == undefined ? 0 : this.QuotationData.QuotationObj[index].Discount;\n\n var percent = 100 - this.QuotationData.QuotationObj[index].Discount;\n this.QuotationData.QuotationObj[index].TotalAmount = this.QuotationData.QuotationObj[index].PerUnitAmount * this.QuotationData.QuotationObj[index].Quantity;\n var final = this.QuotationData.QuotationObj[index].TotalAmount * (percent / 100);\n this.QuotationData.QuotationObj[index].FinalAmount = parseInt(final.toString());\n this.calculateTotalQuotationValues();\n }\n\n calculateTotalQuotationValues() {\n this.QuotationData.QuotationInfo.PerUnitAmount = 0;\n this.QuotationData.QuotationInfo.TotalAmount = 0;\n this.QuotationData.QuotationInfo.FinalAmount = 0;\n var final = 0;\n this.QuotationData.QuotationObj.forEach(element => {\n this.QuotationData.QuotationInfo.PerUnitAmount = this.QuotationData.QuotationInfo.PerUnitAmount + element.PerUnitAmount;\n this.QuotationData.QuotationInfo.TotalAmount = this.QuotationData.QuotationInfo.TotalAmount + element.TotalAmount;\n final = parseFloat(final.toString()) + parseFloat(element.FinalAmount);\n });\n //this.QuotationData.QuotationInfo.FinalAmount = parseFloat(final.toString()).toFixed(2);\n this.QuotationData.QuotationInfo.FinalAmount = parseInt(final.toString());\n }\n\n\n downloadPDF() {\n const url = this.QuotationPdfGenerationHostPath + 'uploads/pdf/' + this.EnquiryObj.EnquiryDetails.QuotationPdf_filename;\n window.open(url, \"download\");\n }\n\n DownloadPDFfromServer(Filename: any) {\n this.commonService.gereatePDF('Enquiry', 'DownloadPDF', Filename).subscribe((data: any) => {\n\n importedSaveAs(data, Filename);\n });\n }\n checkattachment() {\n this.rfqattpresent = false;\n this.EnquiryObj.RFQObject.forEach(element => {\n if (!(element.MDS_filename == null || element.MDS_filename == undefined || element.MDS_filename == '')) {\n this.rfqattpresent = true;\n }\n if (!(element.ITC_filename == null || element.ITC_filename == undefined || element.ITC_filename == '')) {\n this.rfqattpresent = true;\n }\n if (!(element.Weiss_filename == null || element.Weiss_filename == undefined || element.Weiss_filename == '')) {\n this.rfqattpresent = true;\n }\n if (!(element.Customer_filename == null || element.Customer_filename == undefined || element.Customer_filename == '')) {\n this.rfqattpresent = true;\n }\n });\n }\n DownloadAllAttachments() {\n this.checkattachment();\n if (!this.rfqattpresent) {\n this.toastr.info('No attachment present.');\n return;\n }\n this.updateLoaderEvent.emit(true);\n let queryString = \"\";\n queryString = \"id=\" + this.EnquiryObj.EnquiryDetails.EnquiryId;\n this.commonService.GetData('Enquiry', 'Download', queryString).subscribe((data: any) => {\n var url = AppGlobals.ZipDownloadUrl + data + '.zip';\n window.open(url, \"_blank\");\n this.updateLoaderEvent.emit(false);\n }, error => {\n this.updateLoaderEvent.emit(false);\n });\n }\n\n\n\n public saveAsFile(pdfurl: any, fileName: string): void {\n //const data: Blob = new Blob([buffer], { type: EXCEL_TYPE });\n FileSaver.saveAs(this.fileDownloadPath + pdfurl, fileName);\n }\n\n onSelectDate(date: NgbDateStruct, dateType: string) {\n if (date != null) {\n if (dateType == 'RequestedDeliveryDate') {\n this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate = date;\n this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate = this.ngbDateParserFormatter.format(date);\n }\n else if (dateType == 'EnquiryDate') {\n this.EnquiryObj.EnquiryDetails.EnquiryDate = date;\n this.EnquiryObj.EnquiryDetails.EnquiryDate = this.ngbDateParserFormatter.format(date);\n }\n\n }\n }\n EditPO() {\n this.UpdatePO = true;\n\n setTimeout(() => {\n this.editpovalue.nativeElement.focus();\n }, 0);\n }\n\n\n openTechnicalDiscardPopup() {\n const modalRef = this.modalService.open(TechnicalDiscardComponent, {\n size: 'lg', backdrop: 'static', keyboard: false\n });\n\n var enquiObj = {\n EnquiryId: this.EnquiryObj.EnquiryDetails.EnquiryId,\n EnquiryStatus: this.EnquiryObj.EnquiryDetails.Status,\n EnqTermsConditionSelected: this.EnquiryObj.EnquiryDetails.RFQTermsAndCondition,\n IsQuotationPriceOnRequest: this.EnquiryObj.EnquiryDetails.IsQuotationPriceOnRequest,\n TermsAndCondition: this.EnquiryObj.TermsAndConditions,\n CustomTermsAndCondition: this.EnquiryObj.CustomTermsAndConditions,\n PendingAtRoleId: this.EnquiryObj.EnquiryDetails.PendingAtRoleId\n }\n\n modalRef.componentInstance.enquiryDataObj = enquiObj;\n modalRef.result.then((result) => {\n this.closeResult = `Closed with:${result}`;\n if (this.closeResult !== 'Closed with:Close click') {\n this.ngOnInit();\n }\n });\n }\n\n onIndustrySegmentSelect(value) {\n if (value != null) {\n this.SubSegment = this.FinalSubSegment.filter(x => x.SegmentId == value);\n this.Application = [];\n this.EnquiryObj.EnquiryDetails.subSegment = undefined;\n this.EnquiryObj.EnquiryDetails.application = undefined;\n }\n }\n onSubSegmentSelect(value) {\n if (value != null) {\n this.Application = this.FinalApplication.filter(x => x.SubSegmentId == value);\n }\n }\n\n\n getAllWorkFlow() {\n this.commonService.GetData(\"Workflow\", \"GetAll\", null).subscribe((data: any) => {\n var workflowData = data;\n if (workflowData != null) {\n this.workflowId = workflowData.filter(x => x.document_type_code == \"CONFIRM_INVOICE\")[0].workflow_id;\n this.getWorkflowActions(this.workflowId);\n }\n this.updateLoaderEvent.emit(false);\n }, error => {\n this.updateLoaderEvent.emit(false);\n });\n }\n\n getWorkflowActions(workflowId: any) {\n let queryString = \"\";\n queryString = \"enquiryId=\" + this.EnquiryObj.EnquiryDetails.EnquiryId + \"&workflowId=\" + workflowId;\n\n this.updateLoaderEvent.emit(true);\n this.commonService.GetData(\"EnquiryWorkflowTransitionRules\", \"GetTransitionRulesByStatus\", queryString).subscribe((data: any) => {\n this.workflowActionList = data;\n this.updateLoaderEvent.emit(false);\n }, error => {\n this.updateLoaderEvent.emit(false);\n });\n }\n\n getEnquiryStatus() {\n this.commonService.GetData(\"Enquiry\", \"GetEnquiryStatus\", null).subscribe((data: any) => {\n this.enquiryStatusList = data;\n this.updateLoaderEvent.emit(false);\n }, error => {\n this.updateLoaderEvent.emit(false);\n });\n }\n\n OnWorkflowAction(myform9: NgForm, workflowActionId: number) {\n var rule = this.workflowActionList.filter(x => x.workflowActionId == workflowActionId);\n\n myform9.control.markAllAsTouched();\n if (myform9.invalid) {\n this.toastr.error(\"Please fill required information\");\n return;\n }\n this.SetStatus(rule, myform9);\n }\n\n getUserRoles() {\n this.updateLoaderEvent.emit(true);\n this.commonService.GetData(\"Account\", \"GetAll\", null).subscribe((data: any) => {\n this.UserRolesData = data;\n this.updateLoaderEvent.emit(false);\n }, error => {\n this.updateLoaderEvent.emit(false);\n });\n }\n\n\n sendbackRules: EnquirySendBack[] = [];\n getSendbackWorkfow() {\n this.updateLoaderEvent.emit(true);\n this.commonService.GetData(\"EnquiryWorkflowTransitionRules\", \"GetWorkflowSendbackRule\", null).subscribe((data: any) => {\n this.sendbackRules = data;\n this.updateLoaderEvent.emit(false);\n }, error => {\n this.updateLoaderEvent.emit(false);\n });\n }\n\n rule: EnquirySendBack;\n SendBack() {\n var quotationRule = this.sendbackRules.filter(x => x.WorkflowId == this.workflowId);\n this.rule = quotationRule[0];\n\n const modalRef = this.modalService.open(SendBackCommentComponent, {\n size: 'lg', backdrop: 'static', keyboard: false\n });\n\n var sendBackObj = {\n EnquiryId: this.EnquiryObj.EnquiryDetails.EnquiryId,\n workflowId: this.workflowId,\n finalrule: this.rule\n }\n modalRef.componentInstance.sendBackObj = sendBackObj;\n modalRef.result.then((result) => {\n this.closeResult = `Closed with:${result}`;\n if (this.closeResult !== 'Closed with:Close click') {\n this.ngOnInit();\n }\n });\n // this.rule.EnquiryId=this.EnquiryObj.EnquiryDetails.EnquiryId;\n\n // let rules = JSON.stringify(this.rule);\n // const frmData = new FormData();\n // frmData.append(\"rule\", rules);\n // this.commonService.PostData(\"EnquiryWorkflowTransitionRules\",\"SetStatus\",frmData,\"\",null).subscribe(data=>{\n // this.toastr.success(\"Enquiry sent one step back\");\n // window.location.reload();\n // }); \n }\n\n}\n","\n
    \n \n
    \n
    \n \n
    \n
    \n
    \n\n

    \n Confirm Invoice\n

    \n
    \n \n
    \n
    \n \n
    \n
    \n
    \n * Marked fields are\n mandatory\n
    \n
    \n\n
    \n \n
    \n {{EnquiryObj.EnqCustomerDetails.CustomerName}}\n
    \n
    \n Segment:\n
    \n {{EnquiryObj.EnqCustomerDetails.IndustrySegment}}\n
    \n
    \n
    \n \n
    \n {{EnquiryObj.EnqCustomerDetails.CustomerType}}\n
    \n
    \n Region:\n
    \n {{EnquiryObj.EnqCustomerDetails.Region}}\n
    \n
    \n
    \n \n
    \n {{EnquiryObj.EnquiryDetails.RFQTermsAndCondition}}\n
    \n
    \n \n
    \n €\n {{EnquiryObj.EnquiryDetails.FinalAmount |\n indianCurrency}}/-\n
    \n
    \n
    \n \n
    \n {{EnquiryObj.EnquiryDetails.KindAttention}}\n
    \n
    \n \n \n
    \n
    \n \n
    \n € {{EnquiryObj.EnquiryDetails.POValue |\n indianCurrency}}/-\n
    \n
    \n \n \n\n
    \n\n
    \n\n \n \n
    \n \n
    \n \n
    \n\n\n
    \n
    \n \n
    \n \n
    \n
    \n Invoice Number is\n required\n
    \n
    \n
    \n
    \n \n\n
    \n
    \n Attach Invoice\n \n
    \n
    \n \n {{AppGlobals.supportedFileFormatsForOtherMultipleAttachments}}\n
    \n Invoice attachment is\n required\n
    \n
    \n {{EnquiryObj.EnquiryDetails.InvoiceAttachment\n != undefined &&\n EnquiryObj.EnquiryDetails.InvoiceAttachment[0]\n != undefined ?\n EnquiryObj.EnquiryDetails.InvoiceAttachment[0].name:\n \"\"}}\n
    \n
    \n\n \n
    \n\n
    \n\n
    \n\n \n
    \n
    \n Upload\n \n
    \n
    \n {{AppGlobals.supportedFileFormatsForOtherMultipleAttachments}}\n \n
      \n \n
    • \n {{item.name}}  \n
    • \n \n
    \n
    \n
    \n\n
    \n
    \n Comments: *\n
    \n \n Limit {{maxLimit}} characters,\n {{remLimit}} characters\n remaining.\n
    \n \n Comment is\n required\n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n\n
    \n \n    \n \n    \n Cancel\n
    \n
    \n
    \n \n\n\n\n","import { Component, OnInit, ViewChild, Input, ɵclearResolutionOfComponentResourcesQueue, ElementRef, Inject, Renderer2, ChangeDetectorRef } from '@angular/core';\nimport { EmployeeGuestModel } from 'src/app/Model/EmployeeGuestModel';\nimport { ActivatedRoute, NavigationEnd, Router, RoutesRecognized } from '@angular/router';\nimport { ToastrService } from 'ngx-toastr';\nimport { CommonService } from 'src/app/Service/common.service';\nimport { MatDialog } from '@angular/material/dialog';\nimport * as FileSaver from 'file-saver';\nimport { BasicCustomerInformationModel } from 'src/app/Model/CustomerModel';\nimport { EnquiryModel, CustomerDrpdnDetails, CustomerDetails, ProductDrpdnDetails, EnquiryDetailsModel, ProductDetails, Comments, removefiles, TermsAndCondition, ActivityModel, ProductModelPOValues, CustomTermsAndCondition } from 'src/app/Model/EnquiryModel';\nimport { ConfirmDialogComponent } from 'src/app/confirm-dialog/confirm-dialog.component';\nimport { NgbDate, NgbModal, NgbActiveModal, NgbDatepickerConfig, NgbDateStruct } from '@ng-bootstrap/ng-bootstrap';\nimport { AppGlobals } from 'src/app/app.global';\nimport { EnquiryStatus, EnquiryStatusCode } from \"src/app/EnquiryStatus\";\nimport { UserRoles } from \"src/app/UserRoles\";\nimport { SingleFieldModel } from 'src/app/Model/SingleFieldModel';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { EnquiryModalComponent } from '../enquiry-modal/enquiry-modal.component';\nimport { MatStepper } from '@angular/material/stepper';\nimport { FormControl, NgForm, Validators } from '@angular/forms';\nimport { HttpHeaders, HttpClient, HttpErrorResponse } from '@angular/common/http';\nimport { QuotationDetailsModel, QuotationCustomerDetails } from 'src/app/Model/QuotationModel';\nimport { Title } from '@angular/platform-browser';\nimport { DOCUMENT, Location } from '@angular/common';\nimport {\n saveAs as importedSaveAs\n} from \"file-saver\";\nimport { ClassGetter } from '@angular/compiler/src/output/output_ast';\nimport { TechnicalDiscardComponent } from '../technical-discard/technical-discard.component';\nimport { CloseOppReasonComponent } from '../close-opp-reason/close-opp-reason.component';\nimport { AlertsDetailsComponent } from '../../masters/Alerts/alerts-details/alerts-details.component';\nimport { AppConfigService } from 'src/app/Service/app-config.service';\ndeclare var require: any\n@Component({\n selector: 'app-edit-view-enquiry',\n templateUrl: './edit-view-enquiry.component.html',\n styleUrls: ['./edit-view-enquiry.component.scss']\n})\nexport class EditViewEnquiryComponent implements OnInit {\n\n @ViewChild('myform3') myform3: NgForm;\n @ViewChild('myform5') myform5: NgForm;\n @ViewChild('myInput') myInputVariable: ElementRef;\n @ViewChild('editpovalue', { static: false }) editpovalue: ElementRef;\n standardTC:any[] = [];\n customTCValues:any[] =[];\n\n Id: any;\n userInfo: EmployeeGuestModel = new EmployeeGuestModel();\n CustomerList: BasicCustomerInformationModel[] = [];\n EnquiryObj: EnquiryDetailsModel = new EnquiryDetailsModel();\n newRFQDetails: any = {};\n productListdropdownData = [];\n customerDrpdnDetails: CustomerDrpdnDetails = new CustomerDrpdnDetails();\n productDrpdnDetails: ProductDrpdnDetails = new ProductDrpdnDetails();\n customerData: CustomerDetails;\n activityDetails: ActivityModel[] = Array();\n CustomerDetailsObj: QuotationCustomerDetails = new QuotationCustomerDetails();\n QuotationData: QuotationDetailsModel = new QuotationDetailsModel();\n allowedFileType: string[] = [\n 'image/bmp',\n 'image/jpeg',\n 'image/png',\n 'application/pdf',\n 'text/plain',\n 'text/csv',\n 'application/xml',\n 'text/xml',\n 'application/vnd.ms-excel',\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\n 'application/msword',\n 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',\n 'application/zip',\n 'application/x-zip-compressed',\n ];\n\n showEditRFQForInitiator: boolean;\n UserRole: any;\n isTechnicalDiscardVisible: boolean = false;\n isEnquiryFormVisible: boolean = false;\n isRFQVisible: boolean = false;\n isQuoteGenerationVisible: boolean = false;\n isManagementApprovalVisible: boolean = false;\n isSOVisible: boolean = false;\n isOrderAcknowledgementVisible: boolean = false;\n EnquiryConfirmationVisible: boolean = false;\n isSupplychainVisible: boolean = false;\n isAccountsVisible: boolean = false;\n iseditable: boolean = false;\n isOAGenerationVisible: boolean = false;\n isBOMAttachment: boolean;\n isInvoiceAttachment: boolean;\n isPOAttachment: boolean;\n IsRFQDataValid: boolean = true;\n selectedIndexForStatus: any;\n remLimit: any = 1500;\n maxLimit: any = 1500;\n varLongTermGoal: any;\n DiscountFromrange: any;\n Discounttorange: any;\n maxCharLimit: any = 50;\n remCharLimit: any = 50;\n maxappdescLimit: any = 1500;\n remappdescLimit: any = 1500;\n hasAccessForCustomersCustomer:boolean;\n\n @Input()\n showLoader: boolean = false;\n charCode: number;\n enquiryStatus = EnquiryStatus;\n enquiryStatusCode = EnquiryStatusCode;\n AppRoles = UserRoles;\n enquirySource: SingleFieldModel[] = [];\n TnCStandardFromDropDown: any[] = [];\n TnCCustomizedFromDropDown: any[] = [];\n TnCCustomizedDropDownForEditRfq1: any[] = [];\n TnCCustomizedDropDownForEditRfq2: any[] = [];\n newCustomTc: any;\n product: any = {};\n isEnquirySubmit: boolean = false;\n charCode1: any;\n pageNumber: number = 1;\n @Input() pageSize: number = 100;\n @Input() length: number;\n @Input() pageIndex: number = this.pageNumber - 1;\n dataSource: MatTableDataSource;\n\n // @ViewChild('stepper') stepper: MatStepper;\n AppGlobals = AppGlobals;\n fileDownloadPath = this.AppGlobals.baseFileDownloadUrl;\n QuotationDownloadPath = this.AppGlobals.QuotationFileDownloadUrl;\n isEnquiryLoaded: boolean;\n role: string;\n isStandardCondition: boolean;\n closeResult: string;\n isCEOApprovalVisible: boolean;\n demoObject: any;\n demoCTCObject: any;\n WinLossDropdownData: any[] = [];\n WinLossDropdownDataForStatus: any;\n isPoValueDisable: boolean;\n isCustomerCommentVisible: any;\n isOAGenerated: boolean;\n isAcceptClick: boolean;\n dataPassed: any;\n dropdownData: any;\n showQuotationLink: boolean;\n userid: string;\n isprocessing: boolean = true;\n rfqattpresent: boolean;\n QuotationDataForPO: any[] = [];\n chosenItem: string = \"1\";\n quoterevcomments: any;\n QGRFQEditable: boolean = false;\n IsActivityDataValid: boolean;\n today: Date;\n fc = new FormControl();\n minDate: NgbDate;\n showEditRFQ: boolean;\n isTantativeDateEditable: boolean;\n tempRFQ: ProductDetails[];\n IsPODataValid: boolean;\n isEditactivity: boolean = true;\n PreviousStatus: number = 0;\n tempfile: any;\n ngbDateParserFormatter: any;\n UpdatePO: boolean = false;\n isPOAttacmentDelete: boolean = false;\n RevisedQuotationFileNameList: string[] = [];\n emailPattern: string = \"^[a-zA-Z0-9_\\\\.-]+@([a-zA-Z0-9-]+\\\\.)+[a-zA-Z]{2,6}$\";\n StartDate: NgbDate;\n EndDate: NgbDate;\n RoleWiseScreenDisplay: any;\n previousUrl: string = null;\n IndustrySegment: any[] = [];\n SubSegment: any[] = [];\n Application: any[] = [];\n\n FinalIndustrySegment: any[] = [];\n FinalSubSegment: any[] = [];\n FinalApplication: any[] = [];\n AlertReminderDays: number;\n showReminder: boolean = false;\n ReminderDays:number[]=[5,10,15,20];\n enquiryStatusList: any;\n isQuotation: boolean;\n workflowId=1;\n transitionRule:any;\n workflowActionList:any[] = [];\n closeOpportunityList: any;\n showRFQBtn: boolean;\n WinLossDataForStatus: any;\n @ViewChild('buttonclk', { static: false, read: ElementRef }) buttonclk: ElementRef;\n falseSetup: boolean;\n QuotationPdfGenerationHostPath:any;\n\n constructor(private toastr: ToastrService, private commonService: CommonService, public dialog: MatDialog,\n private _location: Location,\n private config: NgbDatepickerConfig,\n private modalService: NgbModal, private activeModel: NgbActiveModal,\n private router: Router, private route: ActivatedRoute, private titleService: Title,\n private renderer: Renderer2, private elementRef: ElementRef,\n private changeDetectorRef: ChangeDetectorRef,private appConfigService: AppConfigService) \n {\n this.getEnquiryStatus();\n this.getReasonCategory();\n this.today = new Date();\n this.minDate = new NgbDate(this.today.getFullYear(), this.today.getMonth() + 1, this.today.getDate());\n this.StartDate = new NgbDate(2018, 1, 1);\n this.EndDate = new NgbDate(this.today.getFullYear() + 1, 12, 31);\n }\n\n ngOnInit() {\n this.commonService.previousUrl$.subscribe((previousUrl: string) => {\n this.previousUrl = previousUrl;\n });\n this.getUserProfileInfo();\n let tempRoleWiseScreenDisplay = localStorage.getItem(\"WorkFlowRoleWiseScreenAccess\"); \n this.RoleWiseScreenDisplay = tempRoleWiseScreenDisplay.split(\",\");\n const appConfig = this.appConfigService.getConfig();\n this.QuotationPdfGenerationHostPath=appConfig.QuotationPdfGenerationHostPath;\n const dynamicTitle = this.route.snapshot.data['title'];\n this.titleService.setTitle(`${dynamicTitle} - ${appConfig.titleName}`);\n //this.titleService.setTitle(this.route.snapshot.data['title'] + \" - ECOTECH\");\n this.commonService.RefreshHeaderFun();\n this.EnquiryObj.EnquiryDetails.EnquiryId = this.route.snapshot.params[\"id\"];\n \n this.EnquiryObj.EnquiryDetails.EstimatedProductValue = null;\n this.EnquiryObj.EnquiryDetails.InvoiceAttachment = undefined;\n this.getAllCloseOpportunityReason();\n this.getWorkflowActions();\n this.getRFQProduct();\n this.getEnquirySourceDetails();\n this.getCustomerList();\n this.getEnquiryDetailsById();\n this.isEnquiryLoaded = false;\n \n this.UserRole = localStorage.getItem(\"UserRole\");\n this.isTechnicalDiscardVisible = AppGlobals.QuoteGenearation_Enquiry_TechnicalDiscardArray.filter(x => x.role\n == this.UserRole)[0]?.isEditable;\n \n this.Id = this.route.snapshot.params[\"id\"];\n \n }\n \n ngAfterViewInit() { \n this.showLoader = true;\n this.falseSetup=true;\n setTimeout(() => {\n this.isprocessing = false; \n this.showLoader = true;\n this.triggerFalseClick();\n }, 2000);\n }\n \n\n hasScreenAccess()\n {\n if (this.RoleWiseScreenDisplay.some(x => x == 'Enquiry Form')) {\n this.isEnquiryFormVisible = true; \n } \n \n if (this.RoleWiseScreenDisplay.some(x => x == 'RFQ')) {\n this.isRFQVisible = true;\n }\n \n if (this.RoleWiseScreenDisplay.some(x => x == 'Quote Generation')) {\n this.isQuoteGenerationVisible = true;\n }\n \n \n if (this.RoleWiseScreenDisplay.some(x => x == 'Management Approval')) {\n this.isManagementApprovalVisible = true; \n }\n \n if (this.RoleWiseScreenDisplay.some(x => x == 'CEO Approval')) {\n this.isCEOApprovalVisible = true; \n }\n \n if (this.RoleWiseScreenDisplay.some(x => x == 'Enquiry Confirmation')) {\n this.EnquiryConfirmationVisible = true;\n }\n \n if (this.RoleWiseScreenDisplay.some(x => x == 'Sales Order')) {\n this.isSOVisible = true; \n }\n \n if (this.RoleWiseScreenDisplay.some(x => x == 'Supply Chain')) {\n this.isSupplychainVisible = true; \n }\n \n if (this.RoleWiseScreenDisplay.some(x => x == 'Accounts')) {\n this.isAccountsVisible = true; \n }\n \n if (this.RoleWiseScreenDisplay.some(x => x == 'OAGenerate')) {\n this.isOAGenerationVisible = true; \n }\n }\n \n //enquiryStatusCode:string;\n isVisibleStep(workflowCode){ \n \n let rfqVisible=[\n this.enquiryStatusCode.EnquiryClosePendingAtSalesDirector,\n this.enquiryStatusCode.EnquiryClosePendingAtCS,\n ]\n\n\n let quotationAllowedStatus= [this.enquiryStatusCode.RFQAcceptedbyL1,\n this.enquiryStatusCode.RFQsentbyL1toL2,\n this.enquiryStatusCode.RFQsentbyL2toL3,\n this.enquiryStatusCode.RFQSubmittedbyL1,\n this.enquiryStatusCode.RFQSubmittedbyL2,\n this.enquiryStatusCode.RFQSubmittedbyL3,\n this.enquiryStatusCode.RFQSubmittedbySalesEngg, \n this.enquiryStatusCode.SendBOMandProposal,\n this.enquiryStatusCode.QuotationPriceOnRequestbyL1,\n this.enquiryStatusCode.QuotationGeneratedbyL1,\n this.enquiryStatusCode.QuotationsentbyL2toL1,\n this.enquiryStatusCode.EnquiryTechnicalDiscardbyL1,\n this.enquiryStatusCode.QuotationPriceOnRequestbyL2,\n this.enquiryStatusCode.QuotationGeneratedbyL2,\n this.enquiryStatusCode.QuotationsentbyL3toL2,\n this.enquiryStatusCode.RFQsentbyL2toL3,\n this.enquiryStatusCode.RFQSubmittedbyL3,\n this.enquiryStatusCode.QuotationSaveAsDraftbyL3,\n this.enquiryStatusCode.QuotationPriceOnRequestbyL3,\n this.enquiryStatusCode.QuotationGeneratedbyL3,\n this.enquiryStatusCode.RFQSubmittedbyCustomerService,\n this.enquiryStatusCode.QuotationSaveAsDraftbyCustomerService,\n this.enquiryStatusCode.QuotationPriceOnRequestbyCustomerService,\n this.enquiryStatusCode.QuotationGeneratedbyCustomerService,\n this.enquiryStatusCode.QuotationSentForPriceDiscountApprovalToLevel1,\n this.enquiryStatusCode.PriceDiscountApprovedByL1,\n this.enquiryStatusCode.PriceDiscountApprovedByL2,\n this.enquiryStatusCode.PriceDiscountApprovedByL3,\n this.enquiryStatusCode.QuotationSentForPriceDiscountApprovalToLevel3,\n this.enquiryStatusCode.QuotationSentForPriceDiscountApprovalToLevel2,\n this.enquiryStatusCode.PriceDiscountRejectedByL1,\n this.enquiryStatusCode.PriceDiscountRejectedByL2,\n this.enquiryStatusCode.PriceDiscountRejectedByL3,\n this.enquiryStatusCode.QuotationSendtoCustomerServicebyL1,\n this.enquiryStatusCode.QuotationSendtoCustomerServicebyL2,\n this.enquiryStatusCode.QuotationSendtoCustomerServicebyL3,\n this.enquiryStatusCode.QuotationSenttoCustomerService,\n this.enquiryStatusCode.QuotationApprovedbyMngmt_CEO,\n this.enquiryStatusCode.EnquiryOrderConfirmedbySalesEngg,\n this.enquiryStatusCode.OrderApprovedbyMngmt_SalesDirector,\n this.enquiryStatusCode.OrderApprovedbyMngmt_CEO,\n this.enquiryStatusCode.QuotationSentforMngtApproval_SalesDirector,\n this.enquiryStatusCode.QuotationOnHoldbyMngmt_SalesDirector,\n this.enquiryStatusCode.OrdersentforMngmtApproval_SalesDirector,\n this.enquiryStatusCode.QuotationApprovedbyMngmt_SalesDirector,\n this.enquiryStatusCode.OrderRejectedbyMngmt_SalesDirector,\n this.enquiryStatusCode.OrderRejectedbyMngmt_CEO,\n this.enquiryStatusCode.OrdersentforMngmtApproval_CEO,\n this.enquiryStatusCode.QuotationSentforMngmtApproval_CEO,\n this.enquiryStatusCode.QuotationOnHoldbyMngmt_CEO,\n this.enquiryStatusCode.OrderConfirmedbyCustomerServiceSendSO,\n this.enquiryStatusCode.MaterialReadyForDistpatch,\n this.enquiryStatusCode.SupplyChainConfirmedDeliveryDate,\n this.enquiryStatusCode.QuotationSaveAsDraftbyL1,\n this.enquiryStatusCode.QuotationSaveAsDraftbyL2,\n this.enquiryStatusCode.QuotationGeneratedbyL1,\n this.enquiryStatusCode.QuotationGeneratedbyL2,\n this.enquiryStatusCode.QuotationGeneratedbyL3,\n this.enquiryStatusCode.EnquiryLost,\n this.enquiryStatusCode.AccountsConfirmInvoiceNo,\n this.enquiryStatusCode.PriceOnRequestSubmitted,\n this.enquiryStatusCode.OANoGenerated,\n ];\n\n let confirmationAllowedStatus= [this.enquiryStatusCode.SendBOMandProposal,\n this.enquiryStatusCode.OrderRejectedbyMngmt_SalesDirector, \n this.enquiryStatusCode.OrderRejectedbyMngmt_CEO,\n this.enquiryStatusCode.EnquiryOrderConfirmedbySalesEngg,\n this.enquiryStatusCode.OrdersentforMngmtApproval_SalesDirector,\n this.enquiryStatusCode.OrdersentforMngmtApproval_CEO,\n this.enquiryStatusCode.OrderConfirmedbyCustomerServiceSendSO,\n this.enquiryStatusCode.SupplyChainConfirmedDeliveryDate,\n this.enquiryStatusCode.OrderApprovedbyMngmt_CEO, \n this.enquiryStatusCode.OrderApprovedbyMngmt_SalesDirector,\n this.enquiryStatusCode.EnquiryLost,\n this.enquiryStatusCode.MaterialReadyForDistpatch,\n this.enquiryStatusCode.AccountsConfirmInvoiceNo,\n this.enquiryStatusCode.OANoGenerated,\n ];\n \n let salesOrderAllowedStatus= [\n this.enquiryStatusCode.EnquiryOrderConfirmedbySalesEngg,\n this.enquiryStatusCode.OrderApprovedbyMngmt_CEO,\n this.enquiryStatusCode.OrderApprovedbyMngmt_SalesDirector,\n this.enquiryStatusCode.OrdersentforMngmtApproval_SalesDirector,\n this.enquiryStatusCode.OrdersentforMngmtApproval_CEO,\n this.enquiryStatusCode.OrderConfirmedbyCustomerServiceSendSO,\n this.enquiryStatusCode.SupplyChainConfirmedDeliveryDate,\n this.enquiryStatusCode.MaterialReadyForDistpatch,\n this.enquiryStatusCode.AccountsConfirmInvoiceNo,\n this.enquiryStatusCode.OANoGenerated,\n ];\n \n let managementApprovalAllowedStatus= \n [\n this.enquiryStatusCode.OrdersentforMngmtApproval_SalesDirector, \n this.enquiryStatusCode.QuotationSentforMngtApproval_SalesDirector,\n this.enquiryStatusCode.QuotationOnHoldbyMngmt_CEO,\n this.enquiryStatusCode.QuotationSentforMngmtApproval_CEO,\n this.enquiryStatusCode.QuotationOnHoldbyMngmt_SalesDirector,\n this.enquiryStatusCode.QuotationSentForPriceDiscountApprovalToLevel1,\n this.enquiryStatusCode.QuotationSentForPriceDiscountApprovalToLevel2,\n this.enquiryStatusCode.QuotationSentForPriceDiscountApprovalToLevel3, \n ];\n\n let ceoApprovalAllowedStatus= \n [\n this.enquiryStatusCode.OrdersentforMngmtApproval_CEO,\n this.enquiryStatusCode.QuotationOnHoldbyMngmt_CEO,\n this.enquiryStatusCode.QuotationSentforMngmtApproval_CEO,\n \n ];\n let oaAllowedStatus= [\n this.enquiryStatusCode.OANoGenerated,\n this.enquiryStatusCode.OrderConfirmedbyCustomerServiceSendSO,\n this.enquiryStatusCode.SupplyChainConfirmedDeliveryDate,\n this.enquiryStatusCode.MaterialReadyForDistpatch, \n this.enquiryStatusCode.AccountsConfirmInvoiceNo\n ];\n\n let supplytChainAllowedStatus= [\n this.enquiryStatusCode.OANoGenerated,\n this.enquiryStatusCode.SupplyChainConfirmedDeliveryDate,\n this.enquiryStatusCode.MaterialReadyForDistpatch,\n this.enquiryStatusCode.AccountsConfirmInvoiceNo\n ];\n\n let confirmInvoiceAllowedStatus= [ \n this.enquiryStatusCode.MaterialReadyForDistpatch,\n this.enquiryStatusCode.AccountsConfirmInvoiceNo,\n ];\n \n if(workflowCode == 'RFQ'){ \n let enquiryStatusCode = this.enquiryStatusList.filter(x=>x.Pk_Id == this.EnquiryObj.EnquiryDetails.Status); \n \n\n if(this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x => x.Status == 'EnquiryLost')[0]?.Pk_Id)\n {\n let reasonCategoryDetails=this.WinLossDataForStatus.filter(y=>y.ReasonCategoryId==this.EnquiryObj.EnquiryDetails.ReasonCategory);\n if(reasonCategoryDetails.length>0)\n {\n if(reasonCategoryDetails[0]?.AvailableAtWorkflowScreen==1)\n {\n return false;\n } \n }\n }\n\n if(enquiryStatusCode.length>0)\n {\n let canShowtab=rfqVisible.filter(x=>x==enquiryStatusCode[0].Status);\n if(canShowtab.length>0)\n {\n return false; \n } \n } \n return true;\n } \n if(workflowCode == 'QUOTATION'){ \n let enquiryStatusCode = this.enquiryStatusList.filter(x=>x.Pk_Id == this.EnquiryObj.EnquiryDetails.Status); \n\n if(this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x => x.Status == 'EnquiryLost')[0]?.Pk_Id)\n {\n let reasonCategoryDetails=this.WinLossDataForStatus.filter(y=>y.ReasonCategoryId==this.EnquiryObj.EnquiryDetails.ReasonCategory);\n if(reasonCategoryDetails.length>0)\n {\n if(reasonCategoryDetails[0]?.AvailableAtWorkflowScreen==1)\n {\n return false;\n } \n }\n }\n\n if(enquiryStatusCode.length>0)\n {\n let canShowtab=quotationAllowedStatus.filter(x=>x==enquiryStatusCode[0].Status);\n if(canShowtab.length>0)\n {\n return true; \n }\n \n } \n return false;\n } \n else if(workflowCode == 'ENQUIRY_CONFIRMATION'){ \n let enquiryStatusCode = this.enquiryStatusList.filter(x=>x.Pk_Id == this.EnquiryObj.EnquiryDetails.Status); \n\n if(this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x => x.Status == 'EnquiryLost')[0]?.Pk_Id)\n {\n let reasonCategoryDetails=this.WinLossDataForStatus.filter(y=>y.ReasonCategoryId==this.EnquiryObj.EnquiryDetails.ReasonCategory);\n if(reasonCategoryDetails.length>0)\n {\n if(reasonCategoryDetails[0]?.AvailableAtWorkflowScreen==1 || reasonCategoryDetails[0]?.AvailableAtWorkflowScreen==3)\n {\n return false;\n } \n }\n }\n\n if(enquiryStatusCode.length>0)\n {\n let canShowtab=confirmationAllowedStatus.filter(x=>x==enquiryStatusCode[0].Status);\n if(canShowtab.length>0)\n {\n return true; \n }\n \n } \n return false; \n } \n else if(workflowCode == 'SALES_ORDER'){ \n let enquiryStatusCode = this.enquiryStatusList.filter(x=>x.Pk_Id == this.EnquiryObj.EnquiryDetails.Status); \n if(enquiryStatusCode.length>0)\n {\n let canShowtab=salesOrderAllowedStatus.filter(x=>x==enquiryStatusCode[0].Status);\n if(canShowtab.length>0)\n {\n return true; \n }\n \n } \n return false; \n } \n else if(workflowCode == 'MANAGEMNT_APPROVAL'){ \n let enquiryStatusCode = this.enquiryStatusList.filter(x=>x.Pk_Id == this.EnquiryObj.EnquiryDetails.Status); \n if(enquiryStatusCode.length>0)\n {\n let canShowtab=managementApprovalAllowedStatus.filter(x=>x==enquiryStatusCode[0].Status);\n if(canShowtab.length>0)\n {\n return true; \n } \n } \n return false; \n } \n else if(workflowCode == 'CEO_APPROVAL'){ \n let enquiryStatusCode = this.enquiryStatusList.filter(x=>x.Pk_Id == this.EnquiryObj.EnquiryDetails.Status); \n if(enquiryStatusCode.length>0)\n {\n let canShowtab=ceoApprovalAllowedStatus.filter(x=>x==enquiryStatusCode[0].Status);\n if(canShowtab.length>0)\n {\n return true; \n } \n } \n return false; \n } \n else if(workflowCode == 'ORDER_ACK'){ \n let enquiryStatusCode = this.enquiryStatusList.filter(x=>x.Pk_Id == this.EnquiryObj.EnquiryDetails.Status); \n if(enquiryStatusCode.length>0)\n {\n let canShowtab = oaAllowedStatus.filter(x=>x==enquiryStatusCode[0].Status);\n if(canShowtab.length>0)\n {\n return true; \n } \n } \n return false; \n } \n else if(workflowCode == 'SUPPLY_CHAIN'){ \n let enquiryStatusCode = this.enquiryStatusList.filter(x=>x.Pk_Id == this.EnquiryObj.EnquiryDetails.Status); \n if(enquiryStatusCode.length>0)\n {\n let canShowtab=supplytChainAllowedStatus.filter(x=>x==enquiryStatusCode[0].Status);\n if(canShowtab.length>0)\n {\n return true; \n } \n } \n return false; \n } \n else if(workflowCode == 'CONFIRM_INVOICE'){ \n let enquiryStatusCode = this.enquiryStatusList.filter(x=>x.Pk_Id == this.EnquiryObj.EnquiryDetails.Status); \n if(enquiryStatusCode.length>0)\n {\n var canShowtab=confirmInvoiceAllowedStatus.filter(x=>x==enquiryStatusCode[0].Status);\n if(canShowtab.length>0)\n {\n return true; \n } \n } \n return false; \n } \n }\n\n\n getEnquiryStatus()\n {\n this.commonService.GetData(\"Enquiry\",\"GetEnquiryStatus\", null).subscribe((data: any) => {\n this.enquiryStatusList=data; \n \n }, error => {\n this.showLoader=false;\n });\n }\n\n \n limitTextOnKeyUpDown1(event: any) {\n let goalText = event.target.value;\n if (goalText.length > this.maxLimit) {\n this.varLongTermGoal = goalText.substring(0, this.maxLimit);\n } else {\n this.remLimit = this.maxLimit - goalText.length;\n }\n }\n\n limitTextOnKeyUpDown2(event: any) {\n let goalText = event.target.value;\n if (goalText.length > this.maxCharLimit) {\n this.varLongTermGoal = goalText.substring(0, this.maxCharLimit);\n } else {\n this.remCharLimit = this.maxCharLimit - goalText.length;\n }\n }\n\n limitTextOnKeyUpDown3(event: any) {\n let goalText = event.target.value;\n if (goalText.length > this.maxappdescLimit) {\n this.varLongTermGoal = goalText.substring(0, this.maxappdescLimit);\n } else {\n this.remappdescLimit = this.maxappdescLimit - goalText.length;\n }\n }\n\n\n toggleAttchments(i) {\n\n this.EnquiryObj.Comments[i].showAttachments = !this.EnquiryObj.Comments[i].showAttachments;\n }\n\n checkActivityValidations() {\n this.IsActivityDataValid = true;\n this.activityDetails.forEach(element => {\n if (element.Activity == undefined || element.Activity == null || element.Activity == \"\") {\n element.ActivityValidation = true;\n this.IsActivityDataValid = false;\n }\n if (element.ActivityDate == undefined || element.ActivityDate == null || element.ActivityDate == \"\") {\n element.ActivityDateValidation = true;\n this.IsActivityDataValid = false;\n }\n });\n }\n editActivity() {\n this.isEditactivity = true;\n }\n cancelEditActivity() {\n this.isEditactivity = false;\n }\n SaveActivityDetails() {\n this.checkActivityValidations();\n if (!this.IsActivityDataValid) {\n return;\n }\n this.showLoader = true;\n this.activityDetails.forEach(element => {\n if (element.ActivityDate != undefined) {\n element.ActivityDateISO = new Date(this.convertDate(new NgbDate(element.ActivityDate.year, element.ActivityDate.month, element.ActivityDate.day))).toDateString();\n }\n if (element.ActivityDate != undefined) {\n element.ActivityDate = new Date(this.convertDate(new NgbDate(element.ActivityDate.year, element.ActivityDate.month, element.ActivityDate.day)));\n }\n element.EnquiryId = this.EnquiryObj.EnquiryDetails.EnquiryId;\n });\n\n let activityDetails = JSON.stringify(this.activityDetails);\n const frmData = new FormData();\n frmData.append(\"ActivityObj\", activityDetails);\n var i = 0;\n this.activityDetails.forEach(element => {\n if (element.Attachment != undefined) {\n frmData.append(\"Attachment[\" + i + \"]\", this.activityDetails[i].Attachment[0]);\n }\n i++;\n });\n\n this.commonService.PostData(\"Enquiry\", \"AddActivity\", frmData, null).subscribe((data: any) => {\n this.activityDetails.forEach(element => {\n element.ActivityDate = new NgbDate(new Date(element.ActivityDate).getFullYear(), new Date(element.ActivityDate).getMonth() + 1, new Date(element.ActivityDate).getDate());\n });\n //this.isEditactivity = false;\n this.toastr.success(\"Activity details added successfully!\");\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to add activity details!\");\n this.showLoader = false;\n });\n\n }\n\n \n\n getEnquiryDetailsById() {\n this.showLoader = true;\n let queryString = \"\";\n queryString = \"id=\" + this.EnquiryObj.EnquiryDetails.EnquiryId;\n this.commonService.GetData('Enquiry', 'GetById', queryString).subscribe((data: any) => {\n \n this.EnquiryObj.EnquiryDetails = data?.EnquiryDetails;\n\n this.remLimit = this.maxLimit - data?.EnquiryDetails.EnquiryDescription?.length;\n if (this.EnquiryObj.EnquiryDetails.QuotationRevisionNo != null && this.EnquiryObj.EnquiryDetails.QuotationRevisionNo > 0) {\n this.getRevisedQuotationFileNamelist(this.EnquiryObj.EnquiryDetails.QuotationNumber, this.EnquiryObj.EnquiryDetails.QuotationRevisionNo);\n }\n\n this.EnquiryObj.EnquiryDetails.EnquiryDate = new NgbDate(new Date(this.EnquiryObj.EnquiryDetails.EnquiryDate).getFullYear(), new Date(this.EnquiryObj.EnquiryDetails.EnquiryDate).getMonth() + 1, new Date(this.EnquiryObj.EnquiryDetails.EnquiryDate).getDate());\n if (this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate != null) {\n this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate = new NgbDate(new Date(this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate).getFullYear(), new Date(this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate).getMonth() + 1, new Date(this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate).getDate());\n }\n if (this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate != null) {\n this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate = new NgbDate(new Date(this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate).getFullYear(), new Date(this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate).getMonth() + 1, new Date(this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate).getDate());\n }\n this.EnquiryObj.EnqCustomerDetails = data?.CustomerDetails;\n this.EnquiryObj.RFQObject = data?.RFQObject;\n this.EnquiryObj.CustomerServiceComments_Quotation = data?.CustomerServiceComments_Quotation;\n this.EnquiryObj.CustomerServiceComments_Order = data?.CustomerServiceComments_Order;\n this.EnquiryObj.SalesDirectorComments_Quotation = data?.SalesDirectorComments_Quotation;\n\n this.EnquiryObj.SalesDirectorComments_Order = data?.SalesDirectorComments_Order;\n this.EnquiryObj.Comments = data?.Comments == undefined ? [] : data?.Comments;\n this.EnquiryObj.POValues = data?.POValues;\n\n this.WinLossDropdownData = data?.ReasonEnquiryWinLossObj;\n this.WinLossDropdownDataForStatus = this.WinLossDropdownData.filter(x => x.Value == this.EnquiryObj.EnquiryDetails.EnquiryConfirmStatus);\n\n if (data.EnquiryDetails.RFQTermsAndCondition == \"Standard\" || data.EnquiryDetails.RFQTermsAndCondition == \"\") {\n\n if (data.TermsAndConditions.length == 0) {\n this.EnquiryObj.EnquiryDetails.RFQTermsAndCondition = \"Standard\";\n this.EnquiryObj.TermsAndConditions = this.TnCStandardFromDropDown;\n } else {\n this.EnquiryObj.TermsAndConditions = data.TermsAndConditions;\n\n }\n this.isStandardCondition = true;\n } else if (data.EnquiryDetails.RFQTermsAndCondition == \"Customized\") {\n\n if (data.CustomTermsAndConditions.length == 0 && data.EnquiryDetails.PreviousRFQTermsAndCondition == \"Standard\") {\n this.EnquiryObj.EnquiryDetails.RFQTermsAndCondition = \"Customized\";\n this.EnquiryObj.CustomTermsAndConditions = this.TnCCustomizedFromDropDown;\n this.TnCCustomizedDropDownForEditRfq1 = this.TnCCustomizedFromDropDown;\n } else {\n this.EnquiryObj.CustomTermsAndConditions = data.CustomTermsAndConditions;\n this.TnCCustomizedDropDownForEditRfq2 = data.CustomTermsAndConditions;\n }\n\n this.isStandardCondition = false;\n }\n\n this.activityDetails = data.ActivityDetails;\n this.activityDetails.forEach(element => {\n element.ActivityDate = new NgbDate(new Date(element.ActivityDate).getFullYear(), new Date(element.ActivityDate).getMonth() + 1, new Date(element.ActivityDate).getDate());\n\n //element.ActivityDateISO = new NgbDate(new Date(element.ActivityDate).getFullYear(), new Date(element.ActivityDate).getMonth() + 1, new Date(element.ActivityDate).getDate());\n });\n\n //TO POPULATE A SINGLE ROW ON PAGE INIT\n if (this.EnquiryObj.RFQObject.length == 0) {\n var obj = new ProductDetails();\n this.EnquiryObj.RFQObject.push(obj);\n }\n\n //TO POPULATE A SINGLE ROW ON PAGE INIT\n if (this.activityDetails.length == 0) {\n var obj1 = new ActivityModel();\n obj1.ActivityDate = new NgbDate(new Date().getFullYear(), new Date().getMonth() + 1, new Date().getDate());\n obj1.uniqueid = this.makeRandom();\n this.activityDetails.push(obj1);\n }\n\n this.role = localStorage.getItem('UserRole');\n //this.ScreenAccessSpecifier(localStorage.getItem('UserRole'), this.EnquiryObj.EnquiryDetails.Status);\n this.hasScreenAccess();\n \n if (this.EnquiryObj.EnquiryDetails.segment != undefined) {\n this.SubSegment = this.FinalSubSegment.filter(x => x.SegmentId == this.EnquiryObj.EnquiryDetails.segment);\n this.Application = this.FinalApplication.filter(x => x.SubSegmentId == this.EnquiryObj.EnquiryDetails.subSegment);\n }\n if (this.EnquiryObj.EnquiryDetails.segment == null || this.EnquiryObj.EnquiryDetails.subSegment == null || this.EnquiryObj.EnquiryDetails.application == null) {\n this.EnquiryObj.EnquiryDetails.segment = undefined;\n this.EnquiryObj.EnquiryDetails.subSegment = undefined;\n this.EnquiryObj.EnquiryDetails.application = undefined;\n }\n this.EnquiryObj.EnquiryDetails.IsFetchFromKYC = data.EnquiryDetails.IsFetchFromKYC;\n \n this.getReminderData();\n this.showGoToRFQPage();\n \n }, error => {\n this.showLoader = false;\n });\n\n\n }\n\n getRevisedQuotationFileNamelist(QuotationNumber: string, QuotationRevision: number) {\n let QTNNumber = QuotationNumber.replace(\"QTN/\", \"\");\n QTNNumber = QTNNumber.split(\"/\").join(\"_\");\n let filename = \"Quotation_\" + QTNNumber;\n let pdffilename = filename.split('_R')[0];\n for (let i = 0; i < QuotationRevision; i++) {\n if (i == 0) {\n this.RevisedQuotationFileNameList.push(pdffilename + \".pdf\")\n }\n else {\n this.RevisedQuotationFileNameList.push(pdffilename + \"_R\" + i + \".pdf\")\n }\n }\n\n }\n // replaceAll(str, term, replacement) {\n // return str.replace(new RegExp(escapeRegExp(term), 'g'), replacement);\n // }\n makeRandom() {\n let text = \"\";\n var possible: string = \"ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890,./;'[]\\=-)(*&^%$#@!~\";\n const lengthOfCode = 40;\n for (let i = 0; i < lengthOfCode; i++) {\n text += possible.charAt(Math.floor(Math.random() * possible.length));\n }\n return text;\n }\n\n getRFQProduct() {\n this.showLoader = true;\n this.commonService.GetData(\"Enquiry\", \"GetEnquiryRFQDropdownData\", null).subscribe((data: any) => {\n this.product = data;\n this.productDrpdnDetails.MDSOptions = data.MDS;\n this.productDrpdnDetails.SalesPrice = data.Salesprice;\n this.productDrpdnDetails.EstimatedProductValue = data.EstimatedProductValue;\n this.IndustrySegment = data.segment;\n this.SubSegment = [];\n this.Application = [];\n this.FinalIndustrySegment = data.segment;\n this.FinalSubSegment = data.subSegment;\n this.FinalApplication = data.application;\n data.TermsAndConditions.forEach(element => {\n var obj = new TermsAndCondition();\n obj.TnCId = element.Id;\n obj.TnCName = element.Name;\n obj.TnCValue = element.Value;\n this.TnCStandardFromDropDown.push(obj);\n });\n\n this.demoObject = data.TermsAndConditions;\n\n this.demoCTCObject = data.CustomTermsAndCondition;\n\n for (let i = 0; i < data.CustomTermsAndCondition.length; i++) {\n var obj1 = new CustomTermsAndCondition();\n obj1.StandardTC = data.CustomTermsAndCondition[i].StandardTC.Id;\n obj1.StandardTCName = data.CustomTermsAndCondition[i].StandardTC.Name;\n // this.standardTC.push(data.CustomTermsAndCondition[i].StandardTC);\n\n for (let j = 0; j < data.CustomTermsAndCondition[i].CustomValues.length; j++) {\n obj1.CustomValues.push(data.CustomTermsAndCondition[i].CustomValues[j]);\n }\n this.TnCCustomizedFromDropDown.push(obj1);\n }\n\n this.demoCTCObject = data.CustomTermsAndCondition;\n\n //this.showLoader = false;\n });\n }\n\n custtermscond: any = [];\n OnCustomValueChange(index, id) {\n let CustTcObj: CustomTermsAndCondition = new CustomTermsAndCondition();\n CustTcObj.StandardTC = this.EnquiryObj.CustomTermsAndConditions[index].StandardTC;\n CustTcObj.StandardTCName = this.EnquiryObj.CustomTermsAndConditions[index].StandardTCName;\n CustTcObj.CustValue = this.EnquiryObj.CustomTermsAndConditions[index].CustomValues.find(x => x.Id == id).Name;\n CustTcObj.CustTCId = id;\n\n this.custtermscond.push(CustTcObj)\n // console.log(this.custtermscond);\n }\n\n\n\n getProductModel(Id, ind) {\n this.EnquiryObj.RFQObject[ind].ProductLineValidation = false;\n this.product.Product.forEach((element, index) => {\n if (element.ProductLine.Id == Id) {\n this.productDrpdnDetails.ProductModel = element.ProductModels;\n this.newRFQDetails.ProductModelList = element.ProductModels;\n this.EnquiryObj.RFQObject[ind].isProductLineChangeClick = true;\n this.EnquiryObj.RFQObject[ind].ProductModelList = this.productDrpdnDetails.ProductModel;\n }\n });\n }\n\n\n addActivityDetails(index) {\n if (!(this.activityDetails[index].Activity == undefined || this.activityDetails[index].Activity == null || this.activityDetails[index].Activity == \"\")\n &&\n !(this.activityDetails[index].ActivityDate == undefined || this.activityDetails[index].ActivityDate == null || this.activityDetails[index].ActivityDate == \"\")) {\n var obj = new ActivityModel();\n obj.ActivityDate = new NgbDate(new Date().getFullYear(), new Date().getMonth() + 1, new Date().getDate());\n obj.uniqueid = this.makeRandom();\n obj.ISNewActivityAdded = true;\n this.activityDetails.push(obj);\n }\n }\n\n getCustomerList() {\n this.showLoader = true;\n this.commonService.GetData(\"Customer\", \"GetAll\", null).subscribe((data: any) => {\n this.CustomerList = data;\n\n this.showLoader = false;\n });\n }\n\n getEnquirySourceDetails() {\n this.showLoader = true;\n this.commonService.GetData(\"Enquiry\", \"GetEnquiryDropdownData\", null).subscribe((data: any) => {\n this.enquirySource = data.EnquirySource;\n this.showLoader = false;\n });\n }\n\n getProductDetails() {\n this.showLoader = true;\n this.commonService.GetData(\"Product\", \"GetRFQProductDetails\", null).subscribe((data: any) => {\n this.CustomerList = data;\n //this.showLoader = false;\n });\n }\n\n\n AvoidSpace(event: any) {\n if ((event.which === 46 || event.which === 32) && !event.target.value.length) {\n event.preventDefault();\n }\n }\n\n isNumberKey(evt: any) {\n this.charCode = (evt.which) ? evt.which : evt.keyCode;\n if ((this.charCode == 45 || this.charCode == 43) && this.charCode > 31\n && (this.charCode < 48 || this.charCode > 57)) {\n return false;\n }\n else {\n return true;\n }\n }\n\n isintNumberKey(evt: any) {\n this.charCode = (evt.which) ? evt.which : evt.keyCode;\n if ((this.charCode == 46 || this.charCode == 45 || this.charCode == 43) && this.charCode > 31\n && (this.charCode < 48 || this.charCode > 57)) {\n return false;\n }\n else {\n return true;\n }\n }\n\n AddRFQDetails(index) {\n if (this.EnquiryObj.RFQObject[index].ProductLine != undefined && this.EnquiryObj.RFQObject[index].ProductModel != undefined &&\n this.EnquiryObj.RFQObject[index].Quantity != undefined) {\n\n this.EnquiryObj.RFQObject[index].IsRowDeleted = true;\n\n var obj = new ProductDetails();\n this.EnquiryObj.RFQObject.push(obj);\n\n }\n }\n\n openCSComments() {\n this.isCustomerCommentVisible = !this.isCustomerCommentVisible;\n }\n\n openQuotationPopup(flag) {\n const frmData = new FormData();\n if (this.EnquiryObj.EnquiryDetails.BOMAttachment) {\n this.showLoader = true;\n if (this.EnquiryObj.EnquiryDetails.EnquiryDate != undefined) {\n this.EnquiryObj.EnquiryDetails.EnquiryDateISO = new Date(this.convertDate(new NgbDate(this.EnquiryObj.EnquiryDetails.EnquiryDate.year, this.EnquiryObj.EnquiryDetails.EnquiryDate.month, this.EnquiryObj.EnquiryDetails.EnquiryDate.day))).toDateString();\n }\n if (this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate != undefined) {\n this.EnquiryObj.EnquiryDetails.RequestedDeliveryDateISO = new Date(this.convertDate(new NgbDate(this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate.year, this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate.month, this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate.day))).toDateString();\n }\n if (this.EnquiryObj.EnquiryDetails.EnquiryDate != undefined) {\n this.EnquiryObj.EnquiryDetails.EnquiryDate = new Date(this.convertDate(new NgbDate(this.EnquiryObj.EnquiryDetails.EnquiryDate.year, this.EnquiryObj.EnquiryDetails.EnquiryDate.month, this.EnquiryObj.EnquiryDetails.EnquiryDate.day)));\n }\n if (this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate != undefined) {\n this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate = new Date(this.convertDate(new NgbDate(this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate.year, this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate.month, this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate.day)));\n }\n frmData.append(\"BOMAttachment\", this.EnquiryObj.EnquiryDetails.BOMAttachment[0]);\n\n let EnquiryObj = JSON.stringify(this.EnquiryObj);\n frmData.append(\"EnquiryModel\", EnquiryObj);\n\n this.commonService.PostData(\"Enquiry\", \"AddBOM\", frmData, null).subscribe((data: any) => {\n this.showLoader = false;\n }, error => {\n this.showLoader = false;\n });\n }\n\n const modalRef = this.modalService.open(EnquiryModalComponent, {\n size: 'lg', backdrop: 'static', keyboard: false\n });\n var enquiObj = {\n EnquiryId: this.EnquiryObj.EnquiryDetails.EnquiryId,\n EnquiryStatus: this.EnquiryObj.EnquiryDetails.Status,\n EnqTermsConditionSelected: this.EnquiryObj.EnquiryDetails.RFQTermsAndCondition,\n IsQuotationPriceOnRequest: this.EnquiryObj.EnquiryDetails.IsQuotationPriceOnRequest,\n TermsAndCondition: this.EnquiryObj.TermsAndConditions,\n CustomTermsAndCondition: this.EnquiryObj.CustomTermsAndConditions,\n PendingAtRoleId: this.EnquiryObj.EnquiryDetails.PendingAtRoleId\n }\n modalRef.componentInstance.enquiObj = enquiObj;\n modalRef.result.then((result) => {\n this.closeResult = `Closed with:${result}`;\n if (this.closeResult !== 'Closed with:Close click') {\n if (flag === 1) {\n } else {\n // this.saveQuoteLimit(this.QuotationNumber, result);\n }\n }\n }, error => {\n this.showLoader = false;\n });\n }\n\n backtoList() {\n // this._location.back();\n if (this.previousUrl == null || this.previousUrl == \"\" || this.previousUrl == undefined) {\n this.router.navigate(['/Enquiry']);\n }\n else if (this.previousUrl.includes(\"PendingEnquiry\")) {\n this.router.navigate(['/PendingEnquiry']);\n }\n else {\n this.router.navigate(['/Enquiry']);\n }\n\n } \n\n\n // onStepChange(data) {\n\n // if (this.userid == this.EnquiryObj.EnquiryDetails.Initiator_Id && data.previouslySelectedIndex == 0 && this.activityDetails[0].Activity != \"\") {\n // const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n // maxWidth: \"400px\",\n // data: {\n // title: \"Are you sure?\",\n // message: \"Please make sure that you have saved the activity details. Do you want to continue?\"\n // }\n // });\n // dialogRef.afterClosed().subscribe(dialogResult => {\n // if (dialogResult) {\n // } else {\n // this.stepper.selectedIndex = data.previouslySelectedIndex;\n // }\n // });\n // }\n // }\n\n\n SetStatus(status) { \n this.PreviousStatus = this.EnquiryObj.EnquiryDetails.Status; \n this.AddEnquiry(); \n }\n\n AddEnquiry() {\n setTimeout(() => this.openPopup());\n }\n openPopup() {\n var confimrmsg = this.AppGlobals.successMessages.filter(x => x.id == this.EnquiryObj.EnquiryDetails.Status)[0];\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"You want to continue?\"\n }\n });\n dialogRef.afterClosed().subscribe(dialogResult => {\n if (dialogResult) {\n this.showLoader = true;\n const frmData = new FormData();\n this.EnquiryObj.RFQObject.forEach(item => {\n item.IsRowDeleted = false;\n });\n // if (this.newRFQDetails != {}) {\n // this.isEnquirySubmit = true;\n // this.AddRFQDetails();\n // }\n if (this.EnquiryObj.EnquiryDetails.EnquiryDate != undefined) {\n this.EnquiryObj.EnquiryDetails.EnquiryDateISO = new Date(this.convertDate(new NgbDate(this.EnquiryObj.EnquiryDetails.EnquiryDate.year, this.EnquiryObj.EnquiryDetails.EnquiryDate.month, this.EnquiryObj.EnquiryDetails.EnquiryDate.day))).toDateString();\n }\n if (this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate != undefined) {\n this.EnquiryObj.EnquiryDetails.TentativeDeliveryDateISO = new Date(this.convertDate(new NgbDate(this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate.year, this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate.month, this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate.day))).toDateString();\n }\n if (this.EnquiryObj.EnquiryDetails.EnquiryDate != undefined) {\n this.EnquiryObj.EnquiryDetails.EnquiryDate = new Date(this.convertDate(new NgbDate(this.EnquiryObj.EnquiryDetails.EnquiryDate.year, this.EnquiryObj.EnquiryDetails.EnquiryDate.month, this.EnquiryObj.EnquiryDetails.EnquiryDate.day)));\n }\n if (this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate != undefined) {\n this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate = new Date(this.convertDate(new NgbDate(this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate.year, this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate.month, this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate.day)));\n }\n let EnquiryObj = JSON.stringify(this.EnquiryObj);\n frmData.append(\"EnquiryModel\", EnquiryObj);\n\n for (let i = 0; i < this.EnquiryObj.EnquiryDetails.QuoteGenAttachments?.length; i++) {\n frmData.append(\"QuoteGenAttachments[\" + i + \"]\", this.EnquiryObj.EnquiryDetails.QuoteGenAttachments[i]);\n }\n for (let i = 0; i < this.EnquiryObj.EnquiryDetails.MngOrderApprovalAttachments?.length; i++) {\n frmData.append(\"MngOrderApprovalAttachments[\" + i + \"]\", this.EnquiryObj.EnquiryDetails.MngOrderApprovalAttachments[i]);\n }\n for (let i = 0; i < this.EnquiryObj.EnquiryDetails.MngApprovalAttachments?.length; i++) {\n frmData.append(\"MngApprovalAttachments[\" + i + \"]\", this.EnquiryObj.EnquiryDetails.MngApprovalAttachments[i]);\n }\n for (let i = 0; i < this.EnquiryObj.EnquiryDetails.CEOApprovalAttachments?.length; i++) {\n frmData.append(\"CEOApprovalAttachments[\" + i + \"]\", this.EnquiryObj.EnquiryDetails.CEOApprovalAttachments[i]);\n }\n for (let i = 0; i < this.EnquiryObj.RFQObject?.length; i++) {\n if (this.EnquiryObj.RFQObject[i].MDSAttachment != undefined) {\n frmData.append(\"MDSAttachment[\" + i + \"]\", this.EnquiryObj.RFQObject[i].MDSAttachment[0]);\n }\n if (this.EnquiryObj.RFQObject[i].ITCAttachment != undefined) {\n frmData.append(\"ITCAttachment[\" + i + \"]\", this.EnquiryObj.RFQObject[i].ITCAttachment[0]);\n }\n if (this.EnquiryObj.RFQObject[i].CustomerAttachment != undefined) {\n frmData.append(\"CustomerAttachment[\" + i + \"]\", this.EnquiryObj.RFQObject[i].CustomerAttachment[0]);\n }\n if (this.EnquiryObj.RFQObject[i].WeissAttachment != undefined) {\n frmData.append(\"WeissAttachment[\" + i + \"]\", this.EnquiryObj.RFQObject[i].WeissAttachment[0]);\n }\n }\n \n this.commonService.PostData(\"Enquiry\", \"Add\", frmData, null).subscribe((data: any) => {\n this.customerDrpdnDetails = data;\n this.EnquiryObj.EnquiryDetails.EnquiryId = data;\n \n this.toastr.success(\"Enquiry Updated successfully\");\n \n\n this.showLoader = false;\n \n this.router.navigate(['/Enquiry']);\n \n }, error => {\n this.toastr.error('Failed to Update enquiry');\n this.showLoader = false;\n });\n } else {\n this.showLoader=false;\n }\n });\n\n }\n \n\n onActivityChange(i) {\n if (this.activityDetails[i].Activity == undefined || this.activityDetails[i].Activity == null || this.activityDetails[i].Activity == \"\") {\n this.activityDetails[i].ActivityValidation = true;\n this.IsActivityDataValid = false;\n } else {\n this.activityDetails[i].ActivityValidation = false;\n }\n }\n onActivityDateChange(i) {\n if (this.activityDetails[i].ActivityDate == undefined || this.activityDetails[i].ActivityDate == null || this.activityDetails[i].ActivityDate == \"\") {\n this.activityDetails[i].ActivityDateValidation = true;\n this.IsActivityDataValid = false;\n } else {\n this.activityDetails[i].ActivityDateValidation = false;\n }\n }\n\n convertDate(date: any) {\n let year = date.year;\n let month = date.month;\n let day = date.day;\n return year + \"-\" + month + \"-\" + day;\n }\n\n \n\n downloadPDF() {\n const url = this.QuotationPdfGenerationHostPath + 'uploads/pdf/' + this.EnquiryObj.EnquiryDetails.QuotationPdf_filename;\n window.open(url, \"download\");\n }\n\n DownloadPDFfromServer(Filename: any) {\n this.commonService.gereatePDF('Enquiry', 'DownloadPDF', Filename).subscribe((data: any) => {\n\n importedSaveAs(data, Filename);\n });\n }\n checkattachment() {\n this.rfqattpresent = false;\n this.EnquiryObj.RFQObject.forEach(element => {\n if (!(element.MDS_filename == null || element.MDS_filename == undefined || element.MDS_filename == '')) {\n this.rfqattpresent = true;\n }\n if (!(element.ITC_filename == null || element.ITC_filename == undefined || element.ITC_filename == '')) {\n this.rfqattpresent = true;\n }\n if (!(element.Weiss_filename == null || element.Weiss_filename == undefined || element.Weiss_filename == '')) {\n this.rfqattpresent = true;\n }\n if (!(element.Customer_filename == null || element.Customer_filename == undefined || element.Customer_filename == '')) {\n this.rfqattpresent = true;\n }\n });\n }\n DownloadAllAttachments() {\n this.checkattachment();\n if (!this.rfqattpresent) {\n alert('No attachment present.');\n return;\n }\n this.showLoader = true;\n let queryString = \"\";\n queryString = \"id=\" + this.EnquiryObj.EnquiryDetails.EnquiryId;\n this.commonService.GetData('Enquiry', 'Download', queryString).subscribe((data: any) => {\n var url = AppGlobals.ZipDownloadUrl + data + '.zip';\n window.open(url, \"_blank\");\n this.showLoader = false;\n }, error => {\n this.showLoader = false;\n });\n }\n\n\n\n public saveAsFile(pdfurl: any, fileName: string): void {\n //const data: Blob = new Blob([buffer], { type: EXCEL_TYPE });\n FileSaver.saveAs(this.fileDownloadPath + pdfurl, fileName);\n }\n\n\n getReminderData() {\n this.showLoader = true;\n let queryString = \"\";\n queryString = \"id=\" + this.EnquiryObj.EnquiryDetails.EnquiryId;\n this.commonService.GetData('Enquiry', 'GetByReminderData', queryString).subscribe((data: any) => {\n let regionData = data;\n regionData.forEach(el => {\n if(el.ReminderType == 3 && el.isSent && this.UserRole==1){\n this.showReminder = true;\n }\n if (el.ReminderType == 3 && el.isSent && this.EnquiryObj.EnquiryDetails.PendingAtRoleId==this.UserRole) {\n this.showReminder = true;\n }\n if (el.ReminderType == 4 && el.isPostpone) {\n this.showReminder = false;\n } \n if (el.ReminderType == 4 && el.isSent) {\n this.showReminder = false;\n } \n });\n this.showLoader = false;\n });\n }\n\n AddReminderDays( myform: any){\n this.showLoader = true;\n let queryString = \"\";\n queryString = \"id=\" + this.EnquiryObj.EnquiryDetails.EnquiryId;\n queryString += \"&ReminderDay=\" + this.AlertReminderDays;\n this.commonService.GetData('Enquiry', 'UpdateReminderData', queryString).subscribe((data: any) => {\n if(data==1){\n this.toastr.success(\"Escalation Date Updated successfully\")\n window.location.reload();\n }\n })\n this.showLoader=false;\n }\n \n updateLoader(value: boolean) {\n if(this.falseSetup==true)\n {\n this.showLoader=true;\n }\n else\n {\n this.showLoader = value;\n }\n \n }\n\n getWorkflowActions()\n { \n let queryString = \"\";\n queryString = \"enquiryId=\" + this.EnquiryObj.EnquiryDetails.EnquiryId +\"&workflowId=\" + this.workflowId ;\n\n this.showLoader=true;\n this.commonService.GetData(\"EnquiryWorkflowTransitionRules\",\"GetTransitionRulesByStatus\",queryString).subscribe((data: any) => {\n if(data!=null)\n {\n this.workflowActionList=data;\n // this.workflowActionList=this.workflowActionList.filter(x=>x.workflowActionCode=='CloseEnquiry' || x.workflowActionCode=='Approve' ||x.workflowActionCode=='Reject' || x.workflowActionCode==\"Close\");\n } \n this.showLoader=false;\n }, error => {\n this.showLoader=false;\n });\n }\n\n\n OnWorkflowAction(myform1:NgForm,workflowActionId:number)\n { \n var rule= this.workflowActionList.filter(x=>x.workflowActionId==workflowActionId);\n var closeEnquiryRule= this.workflowActionList.filter(x=>x.workflowActionCode==\"CloseEnquiry\"); \n //var nextStatus=this.enquiryStatusList.filter(x=>x.Status=='EnquiryClosePendingAtSalesDirector')[0].Pk_Id;\n if(closeEnquiryRule.length>0 && rule[0].workflowActionId == closeEnquiryRule[0].workflowActionId){\n this.openCloseOppReasonPopup(closeEnquiryRule[0].workflowNextStatusId);\n return;\n }\n else\n {\n myform1.control.markAllAsTouched();\n if(myform1.invalid)\n {\n this.toastr.error(\"Please fill required information\");\n return;\n } \n }\n \n this.CloseEnquiry(rule);\n }\n \n openCloseOppReasonPopup(enquiryStatusId:any) {\n const modalRef = this.modalService.open(CloseOppReasonComponent, {\n size: 'lg', backdrop: 'static', keyboard: false\n });\n\n var enquiObj = {\n EnquiryId: this.EnquiryObj.EnquiryDetails.EnquiryId,\n EnquiryStatusId: enquiryStatusId,\n EnqTermsConditionSelected: this.EnquiryObj.EnquiryDetails.RFQTermsAndCondition,\n IsQuotationPriceOnRequest: this.EnquiryObj.EnquiryDetails.IsQuotationPriceOnRequest,\n TermsAndCondition: this.EnquiryObj.TermsAndConditions,\n CustomTermsAndCondition: this.EnquiryObj.CustomTermsAndConditions,\n PendingAtRoleId: this.EnquiryObj.EnquiryDetails.PendingAtRoleId\n }\n\n modalRef.componentInstance.enquiryDataObj = enquiObj;\n modalRef.result.then((result) => {\n this.closeResult = `Closed with:${result}`;\n if (this.closeResult !== 'Closed with:Close click') {\n this.ngOnInit();\n }\n });\n }\n \n CloseEnquiry(rule){\n\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"You want to \" + rule[0].workflowActionCode + \"?\"\n }\n });\n dialogRef.afterClosed().subscribe(dialogResult => {\n if (dialogResult) { \n var closereasondetails = this.closeOpportunityList.filter(x => x.Id == this.EnquiryObj.EnquiryDetails.EnquiryConfirmReason);\n if(rule[0].workflowNextStatusId==this.enquiryStatusList.filter(x=>x.Status=='EnquiryClosePendingAtSalesDirector')[0].Pk_Id)\n {\n this.EnquiryObj.EnquiryDetails.EnquiryConfirmStatus = closereasondetails[0].Name; \n } \n if (this.EnquiryObj.EnquiryDetails.EnquiryDate != undefined) {\n this.EnquiryObj.EnquiryDetails.EnquiryDateISO = new Date(this.convertDate(new NgbDate(this.EnquiryObj.EnquiryDetails.EnquiryDate.year, this.EnquiryObj.EnquiryDetails.EnquiryDate.month, this.EnquiryObj.EnquiryDetails.EnquiryDate.day))).toDateString();\n }\n if (this.EnquiryObj.EnquiryDetails.EnquiryDate != undefined) {\n this.EnquiryObj.EnquiryDetails.EnquiryDate = new Date(this.convertDate(new NgbDate(this.EnquiryObj.EnquiryDetails.EnquiryDate.year, this.EnquiryObj.EnquiryDetails.EnquiryDate.month, this.EnquiryObj.EnquiryDetails.EnquiryDate.day)));\n }\n if (this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate != undefined) {\n this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate = new Date(this.convertDate(new NgbDate(this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate.year, this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate.month, this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate.day)));\n }\n this.EnquiryObj.EnquiryDetails.Status=rule[0].workflowNextStatusId;\n // this.EnquiryObj.EnquiryDetails.ReasonCategory = closereasondetails[0].ReasonCategoryId;\n // this.EnquiryObj.EnquiryDetails.Status = rule[0].workflowNextStatusId;\n let enquiryDetails = JSON.stringify(this.EnquiryObj);\n \n const frmData = new FormData();\n frmData.append(\"enquiryDetails\", enquiryDetails);\n \n this.commonService.PostData(\"Enquiry\", \"CloseEnquiry\", frmData, null).subscribe((data: any) => { \n this.showLoader = false;\n if(rule[0].workflowActionCode==\"Approve\")\n this.toastr.success(\"Enquiry closure \" + rule[0].workflowActionCode +\"d successfully!\"); \n else if(rule[0].workflowActionCode==\"Reject\")\n this.toastr.success(\"Enquiry closure \" + rule[0].workflowActionCode +\"ed successfully!\"); \n else if(rule[0].workflowActionCode==\"Close\")\n this.toastr.success(\"Enquiry \" + rule[0].workflowActionCode +\"d successfully!\"); \n this.router.navigate(['/Enquiry']); \n }, error => {\n this.toastr.error('Failed to ' + rule[0].workflowActionCode);\n this.showLoader = false;\n });\n }\n }); \n }\n \n getAllCloseOpportunityReason() {\n this.commonService.GetData(\"OpportunityCloseReason\", \"GetAll\", null).subscribe((data: any) => {\n this.closeOpportunityList = data; \n },\n error => {\n this.toastr.error(\"Failed to load Data!\");\n this.showLoader = false;\n });\n }\n\n showGoToRFQPage()\n {\n this.showRFQBtn=true;\n let statusList=this.enquiryStatusList.filter(x=> x.Status=='EnquiryClosePendingAtSalesDirector' || x.Status=='EnquiryLost');\n \n if(statusList.length>0)\n { \n let enquiryStatusCode = statusList.filter(x=>x.Pk_Id == this.EnquiryObj.EnquiryDetails.Status); \n if(enquiryStatusCode.length>0)\n {\n this.showRFQBtn=false;\n } \n }\n }\n getReasonCategory()\n { \n this.showLoader=true;\n this.commonService.GetData(\"ReasonEnquiryWinLoss\", \"GetAllReasonCategory\", null).subscribe((data: any) => {\n this.WinLossDataForStatus = data; \n \n this.showLoader=false;\n },\n error => {\n this.toastr.error(\"Failed to load Data!\");\n this.showLoader = false;\n });\n\n }\n checkStep(stepper: MatStepper){ \n this.selectedIndexForStatus=stepper.steps.length-1;\n }\n \n triggerFalseClick() {\n this.showLoader=true; \n setTimeout(() => { \n if(this.buttonclk!=undefined)\n {\n const buttonElement = this.buttonclk.nativeElement;\n this.renderer.selectRootElement(buttonElement).click();\n } \n this.showLoader=false; \n this.falseSetup=false;\n this.updateLoader(false);\n }, 6000); \n } \n\n getUserProfileInfo() {\n this.showLoader = true;\n this.commonService.GetUserProfileData('Account', 'GetUserProfileInfo').subscribe((data: any) => {\n this.hasAccessToViewCustomersCustomer(data.RoleType); \n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n\n }\n hasAccessToViewCustomersCustomer(RoleType:any)\n {\n if(RoleType==3){\n this.hasAccessForCustomersCustomer=false\n }\n else{\n this.hasAccessForCustomersCustomer=true\n } \n }\n}\n","\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n Edit/View Enquiry\n

    \n
    \n
    \n\n
    \n
    \n
    \n
    \n \n
    \n\n \n
    \n \n
    \n
    \n This is required
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n\n \n\n \n
    \n Enquiry\n \n
    \n
    \n
    \n
    \n \n
    \n * Marked fields are\n mandatory\n
    \n
    \n
    \n \n
    \n
    {{EnquiryObj.EnquiryDetails.InitiatorName}}\n
    \n
    \n
    \n \n
    \n
    {{EnquiryObj.EnquiryDetails.RoleName}}
    \n   \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n

    \n Customer Details\n

    \n
    \n
    \n
    \n
    \n \n
    \n \n
    \n \n \n
    \n {{EnquiryObj.EnqCustomerDetails.CustomerName}}\n
    \n
    \n \n \n
    \n {{EnquiryObj.EnqCustomerDetails.CustomerCode}}\n
    \n
    \n
    \n \n
    \n {{EnquiryObj.EnqCustomerDetails.IndustrySegment}}\n
    \n
    \n \n
    \n {{EnquiryObj.EnqCustomerDetails.CustomerType}}\n
    \n \n
    \n
    \n \n
    \n {{EnquiryObj.EnqCustomerDetails.CustomerCategory}}\n
    \n
    \n \n
    \n {{EnquiryObj.EnqCustomerDetails.CustomerClassification}}\n
    \n
    \n
    \n \n \n
    \n {{EnquiryObj.EnqCustomerDetails.Region}}\n
    \n
    \n \n
    \n \n
    \n
    \n Enquiry source is required\n
    \n
    \n
    \n\n
    \n
    \n \n
    \n \n \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n Enquiry Details\n

    \n
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n \n
    \n \n \n \n
    \n
    \n
    \n Date is\n required\n
    \n
    \n
    \n \n
    \n \n
    \n {{EnquiryObj.EnquiryDetails.EnquiryNumber}}\n
    \n
    \n \n
    \n {{EnquiryObj.EnquiryDetails.EnquiryStatusDescription}}\n
    \n
    \n \n
    \n \n \n
    \n {{EnquiryObj.EnquiryDetails.ReasonCategoryName}}\n
    \n \n
    \n \n \n
    \n {{EnquiryObj.EnquiryDetails.EnquiryConfirmReasonName}}\n
    \n
    \n \n
    \n \n
    \n \n Limit {{maxLimit}} characters,\n {{remLimit}}\n characters remaining.\n
    \n
    \n Enquiry description is required\n
    \n
    \n
    \n \n
    \n \n \n
    \n \n
    \n \n Limit {{maxappdescLimit}} characters,\n {{remappdescLimit}} characters\n remaining.\n
    \n
    \n Comment is required\n
    \n
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n \n \n \n \n \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n

    \n Engagement Activities\n

    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n \n \n \n
    \n
    \n
    \n
    \n
    \n\n
    \n\n\n \n \n RFQ\n \n\n
    \n
    \n\n \n \n Quote\n Generation\n \n \n\n \n \n Enquiry\n Confirmation\n\n \n \n\n \n \n Sales Order(SO)\n Generation\n \n \n\n \n \n Management\n Approval\n \n \n \n\n \n \n CEO\n Approval\n\n \n \n\n\n \n \n Order\n Acknowledgement\n \n \n \n\n \n \n Supply\n Chain\n \n \n \n\n \n \n Confirm\n Invoice\n \n\n \n \n\n
    \n\n
    \n \n \n \n \n Enquiry Status\n \n \n Pending at Role\n \n \n Action by\n \n \n Action by Role\n \n \n Comment\n \n \n Comment Date\n \n \n Attachments\n \n \n \n \n \n \n \n {{field.DisplayStatus}}\n \n \n {{field.PendingAtRole}}\n \n \n {{field.CommentsBy}}\n \n \n {{field.RoleName}}\n \n \n {{field.Comments}}\n \n \n {{field.CommentDate | date: \"dd-MMM-yyyy h:mm a\"}}\n \n \n See\n Attachments\n Hide\n Attachments\n \n \n \n \n \n {{f.FileName}}
    \n
    \n \n \n \n\n \n \n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    ","import { Component, OnInit, Input, ViewChild, ElementRef, Output, EventEmitter, ChangeDetectorRef } from '@angular/core';\nimport { QuotationDetailsModel, ProductDetailsModel, ProductDrpdnDetails, OptionsModel, QuotationCustomerDetails, TechnicalSpecifications, QuotationInfo } from 'src/app/Model/QuotationModel';\nimport { number } from '@amcharts/amcharts4/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport * as htmlToImage from 'html-to-image';\nimport { toPng, toJpeg, toBlob, toPixelData, toSvg } from 'html-to-image';\nimport { NgbActiveModal, NgbModal, NgbDate } from '@ng-bootstrap/ng-bootstrap';\nimport { CommonService } from 'src/app/Service/common.service';\nimport { ConfirmDialogComponent } from 'src/app/confirm-dialog/confirm-dialog.component';\nimport { Form, NgForm } from '@angular/forms';\nimport { ToastrService } from 'ngx-toastr';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { AppGlobals } from 'src/app/app.global';\nimport { EnquiryStatus } from \"src/app/EnquiryStatus\";\nimport { UserRoles } from \"src/app/UserRoles\";\nimport { EnquiryDetailsModel, ProductDetails } from 'src/app/Model/EnquiryModel';\nimport { EnquiryStatusList } from 'src/app/Model/EnquiryStatus';\nimport { empty, forkJoin } from 'rxjs';\nimport { element } from 'protractor';\nimport { EmployeeGuestModel } from 'src/app/Model/EmployeeGuestModel';\nimport { map } from '@amcharts/amcharts4/.internal/core/utils/Iterator';\nimport { tap } from 'rxjs/operators';\nimport { AppConfigService } from 'src/app/Service/app-config.service';\n\n@Component({\n selector: 'app-enquiry-modal',\n templateUrl: 'enquiry-modal.component.html',\n styleUrls: ['./enquiry-modal.component.scss']\n})\n\nexport class EnquiryModalComponent implements OnInit {\n dropdownData: any;\n QuotationData: QuotationDetailsModel = new QuotationDetailsModel();\n EnquiryObj: EnquiryDetailsModel = new EnquiryDetailsModel();\n QuotationDatatoExport: QuotationDetailsModel = new QuotationDetailsModel();\n productDrpdnDetails: ProductDrpdnDetails = new ProductDrpdnDetails();\n EmployeeDetails: EmployeeGuestModel = new EmployeeGuestModel();\n dropdownSettings = {};\n enquiryStatus = EnquiryStatus;\n IsQuotationDataValid: boolean = true;\n isQtyDiscountEditable:boolean=false;\n AppRoles: UserRoles;\n WeissLogoPath = \"SITELOGO\";\n Roles: any[] = [];\n isMenu:boolean=true;\n currentDate: Date = new Date();\n QuotationPdfGenerationHostPath:any;\n\n @Output() updateLoaderEvent = new EventEmitter();\n\n @ViewChild('QuotationForm') QuotationForm: NgForm;\n @ViewChild('refDateElement') refDateElement: ElementRef;\n @ViewChild('yourRefElement') yourRefElement: ElementRef;\n @ViewChild('keyPerElement') keyPerElement: ElementRef;\n @ViewChild('techspec') techspec: ElementRef;\n @ViewChild('keyPerEmail') keyPerEmail: ElementRef;\n @ViewChild('keyPerCNo') keyPerCNo: ElementRef;\n @ViewChild('QuoteComm') QuoteComm: ElementRef;\n\n @Input() enquiObj;\n productseriesDropdownData: any;\n productmdodelDropdownData: any;\n variantDropdownData: any;\n variant1Data: any[];\n variant2Data: any[];\n variant3Data: any[];\n variant4Data: any[];\n variantLabl1: any;\n variantLabl2: any;\n variantLabl3: any;\n variantLabl4: any;\n Options: any[] = [];\n optionsList: any[];\n selectedOptions: any[] = [];\n OptionsNameList: any[] = [];\n CustomerDetailsObj: QuotationCustomerDetails = new QuotationCustomerDetails();\n enquiryStatusPassed: any;\n OptionsPrice: number;\n IsQuotationPriceOnRequest: any;\n optionsSelected: any[] = [];\n btnforL1: boolean = false;\n btnforL2: boolean = false;\n btnforL3: boolean = false;\n btn_PriceOnRequest: boolean = false;\n isPriceOnRequestVisible: boolean;\n user: string;\n isQuotationEditable: boolean;\n isfetchfromRFQ: boolean = false;\n isfinalamount: boolean = false;\n\n finalpricewithoutspecialdiscount: any = 0;\n discountaddmanually: boolean ;\n isPricesRequestedBeforeSubmit: boolean;\n TermsandConditions: any;\n SalesContactPersonValidation:boolean;\n YourRefValidation: boolean;\n RefDateValidation: boolean;\n KindAttValidation: boolean;\n isPriceOnRequestValid: boolean;\n columnCount: any = 0;\n showTechnicalSpecs: TechnicalSpecifications[] = new Array();\n role: string;\n btnforCS: boolean;\n charCode: any;\n KindAttContactNoValidilation: boolean;\n KingAttConactNumberValidationMsg: string = \"\";\n KindAttEmailValidilation: boolean;\n KingAttEmailValidationMsg: string = \"\";\n minDate: NgbDate;\n maxDate: NgbDate;\n displayfurtherrows: boolean = false;\n\n\n remLimit: any = 1500;\n maxLimit: any = 1500;\n varLongTermGoal: any;\n QuoteCommentsValidation: Boolean;\n DiscountforOneOrAll: number;\n showVarientandOptionPrice: boolean = false;\n showVarientDiscount: boolean = false;\n showSpecialPrice: boolean = false;\n specialPkgDiscount: number;\n\n PendingAtRoleId: any;\n CustomTermsAndConditions: any;\n enqTcSelected: any;\n isenqTcSelected: boolean;\n transitionRule: any;\n EmployeeData: any[] = [];\n\n workflowActionList: any[] = [];\n enquiryStatusList: EnquiryStatusList[] = [];\n workflowId: number = 6;\n @Input() showLoader: boolean = false;\n authorityLevels: any;\n priceOnRequestAuthorities:any;\n \n priceonRequestDisabled:boolean=true;\n ispriceOnrequestTrigger: boolean=false;\n frameAgreemtdiscountDisabled: boolean=false;\n userRole: string;\n UserRolesData: any;\n isAppEngRoles: boolean=true;\n showOverallDiscount: boolean;\n mailIdFormat : any;\n salesPersonOfWhichComapany : any;\n \n constructor(\n private modalService: NgbModal\n , private commonService: CommonService\n , private activeModal: NgbActiveModal\n , public dialog: MatDialog\n , private toastr: ToastrService\n , private route: ActivatedRoute\n , private cd: ChangeDetectorRef\n , private router: Router\n , private Service: CommonService,\n private appConfigService: AppConfigService) {\n this.minDate = new NgbDate(2018, 1, 1);\n this.maxDate = new NgbDate(this.currentDate.getFullYear(), 12, 31);\n // Initialize KingAttEmailValidationMsg with a placeholder message\n this.KingAttEmailValidationMsg = 'Should be in Email Id format ([emailFormat])';\n }\n\n\n ngOnInit(): void {\n this.showLoader=true;\n this.mailIdFormat = this.appConfigService.getConfig().mailIdFormat;\n this.QuotationPdfGenerationHostPath=this.appConfigService.getConfig().QuotationPdfGenerationHostPath;\n this.salesPersonOfWhichComapany = this.appConfigService.getConfig().salesPersonOfWhichComapany;\n this.role = localStorage.getItem(\"UserRole\");\n this.QuotationData.QuotationInfo.EnquiryId = this.route.snapshot.params[\"id\"];//this.enquiObj.EnquiryId;\n \n this.hasAccesstoFillQtyDiscount();\n this.enquiryStatusPassed = this.enquiObj.EnquiryStatus;\n this.IsQuotationPriceOnRequest = this.enquiObj.IsQuotationPriceOnRequest;\n this.enqTcSelected = this.enquiObj.EnqTermsConditionSelected;\n this.TermsandConditions = this.enquiObj.TermsAndCondition;\n this.CustomTermsAndConditions = this.enquiObj.CustomTermsAndCondition;\n this.PendingAtRoleId = this.enquiObj.PendingAtRoleId;\n this.EnquiryObj = this.enquiObj;\n let enquirystatus = this.enquiryStatusPassed;\n\n if (this.enqTcSelected == 'Standard') {\n this.isenqTcSelected = true;\n } else {\n this.isenqTcSelected = false;\n }\n this.getAllEmployeeData();\n this.getUserRoles();\n \n this.getEnquiryStatus().subscribe((data:any)=>{ \n this.getQuotationDetailsById(); \n this.getWorkflowActions(); \n this.getPORAuthorities();\n });\n \n \n }\n\n GetXMLData() {\n this.showLoader=true;\n let queryString = \"\";\n queryString = \"id=\" + this.enquiObj.EnquiryId;\n this.commonService.GetData(\"Enquiry\", \"GetQuotationFromXMl\", queryString).subscribe((data: any) => {\n if (data != null) {\n this.QuotationData.QuotationInfo = data.QuotationInfo;\n this.QuotationData.QuotationObj = data.QuotationObj;\n\n if (this.QuotationData.QuotationInfo.ReferenceDateISO == undefined) this.QuotationData.QuotationInfo.ReferenceDateISO = new NgbDate(new Date().getFullYear(), new Date().getMonth() + 1, new Date().getDate());\n else this.QuotationData.QuotationInfo.ReferenceDateISO = new NgbDate(new Date(this.QuotationData.QuotationInfo.ReferenceDate).getFullYear(), new Date(this.QuotationData.QuotationInfo.ReferenceDate).getMonth() + 1, new Date(this.QuotationData.QuotationInfo.ReferenceDate).getDate());\n if (this.QuotationData.QuotationObj.length == 0) {\n var obj = new ProductDetailsModel();\n this.QuotationData.QuotationObj.push(obj);\n }\n \n //all series data\n this.dropdownData = data.allseriesmodel;\n this.productDrpdnDetails.ProductSeries = this.dropdownData.ProductSeries;\n this.CustomerDetailsObj = data.allseriesmodel.CustomerDetails;\n\n this.QuotationData.QuotationInfo.KindAttention = this.CustomerDetailsObj.KindAttention;\n var inde = 0;\n this.QuotationData.QuotationObj.forEach(element => {\n\n \n this.discountaddmanually = false;\n \n this.calculateTotalPricesForProduct(inde, 0);\n this.specialPkgDiscount = element.Special_pkg_Discount === null ? 0 : element.Special_pkg_Discount;\n \n this.showVarientandOptionPrice = element.showVariantOptionPrice === null ? false : element.showVariantOptionPrice;\n this.showVarientDiscount = element.showVariantOptionDiscount === null ? false : element.showVariantOptionDiscount;\n this.showSpecialPrice = element.showSpecialPrice === null ? false : element.showSpecialPrice;\n\n inde++;\n\n });\n\n\n }\n if(this.IsQuotationPriceOnRequest)\n {\n this.btn_PriceOnRequest = true;\n }\n //this.getPriceDiscountApprovalAuthority();\n this.showLoader=false;\n }, error => {\n this.toastr.error(\"Failed to load data.\");\n this.showLoader=false;\n });\n }\n getQuotationDetailsById() {\n this.showLoader=true;\n let queryString = \"\";\n queryString = \"id=\" + this.enquiObj.EnquiryId;\n this.commonService.GetData('Enquiry', 'GetQuotationByEnquiryId', queryString).subscribe((data: any) => {\n\n this.QuotationData.QuotationInfo = data.QuotationInfo;\n this.QuotationData.QuotationObj = data.QuotationObj;\n this.QuotationData.QuotationInfo.ReferenceDateISO = new NgbDate(new Date(this.QuotationData.QuotationInfo.ReferenceDate).getFullYear(), new Date(this.QuotationData.QuotationInfo.ReferenceDate).getMonth() + 1, new Date(this.QuotationData.QuotationInfo.ReferenceDate).getDate());\n //all series data\n this.dropdownData = data.allseriesmodel;\n this.productDrpdnDetails.ProductSeries = this.dropdownData.ProductSeries;\n this.CustomerDetailsObj = data.allseriesmodel.CustomerDetails;\n this.QuotationData.QuotationInfo.KindAttention = this.CustomerDetailsObj.KindAttention;\n // this.QuotationData.QuotationInfo.QuotationComments=this.CustomerDetailsObj. \n if(!this.QuotationData || !this.QuotationData.QuotationObj || this.QuotationData.QuotationObj.length==0)\n {\n this.GetXMLData();\n }\n else\n {\n this.QuotationData.QuotationObj?.forEach(element => {\n if (!(element.Discount==0 || element.Discount==null || element.Discount==undefined)) {\n this.discountaddmanually = false;\n }else{\n this.discountaddmanually = true;\n }\n element.selectedOptions?.forEach(a => {\n if (element.productmodeldata.Options.length != 0) {\n element.productmodeldata.Options?.forEach(b => {\n if (a.Id == b.Id && b.IsPriceOnRequest == true) {\n a.IsPriceOnRequest = true;\n }\n });\n }\n element.Options?.forEach(ele => {\n element.Option_Discount = ele.Option_Discount;\n element.Option_FinalDiscount = ele.Option_FinalDiscount;\n \n });\n this.specialPkgDiscount = element.Special_pkg_Discount === null ? 0 : element.Special_pkg_Discount;\n this.showVarientandOptionPrice = element.showVariantOptionPrice === null ? false : element.showVariantOptionPrice;\n this.showVarientDiscount = element.showVariantOptionDiscount === null ? false : element.showVariantOptionDiscount;\n this.showSpecialPrice = element.showSpecialPrice === null ? false : element.showSpecialPrice;\n });\n\n let data = element.Options.filter(x => x.IsPriceOnRequest == true);\n if (data.length > 0 && data.length != null && data.length != undefined) {\n element.IsPriceOnRequest_Option = true;\n }\n else {\n element.IsPriceOnRequest_Option = false;\n }\n });\n\n var inde = 0;\n this.QuotationData.QuotationObj?.forEach(element => {\n element.OptionSelected = [];\n\n // if (enquirystatus == this.enquiryStatusList.filter(x => x.Status == 'QuotationSendtoCustomerServicebyL1')[0]?.Pk_Id ||\n // enquirystatus == this.enquiryStatusList.filter(x => x.Status == 'QuotationSendtoCustomerServicebyL2')[0]?.Pk_Id ||\n // enquirystatus == this.enquiryStatusList.filter(x => x.Status == 'QuotationSendtoCustomerServicebyL3')[0]?.Pk_Id ||\n // enquirystatus == this.enquiryStatusList.filter(x => x.Status == 'QuotationSaveAsDraftbyCustomerService')[0]?.Pk_Id ||\n // enquirystatus == this.enquiryStatusList.filter(x => x.Status == 'QuotationSaveAsDraftbyL1')[0]?.Pk_Id ||\n // enquirystatus == this.enquiryStatusList.filter(x => x.Status == 'QuotationSaveAsDraftbyL2')[0]?.Pk_Id ||\n // enquirystatus == this.enquiryStatusList.filter(x => x.Status == 'QuotationSaveAsDraftbyL3')[0]?.Pk_Id) {\n // this.calculateTotalPricesForProduct(inde, 1);\n // } else {\n // this.calculateTotalPricesForProduct(inde, 0);\n // }\n this.calculateTotalPricesForProduct(inde, 0);\n element.Options?.forEach(ele => {\n element.OptionSelected.push(ele.OptionId.toString());\n });\n inde++;\n });\n if(this.IsQuotationPriceOnRequest)\n {\n this.btn_PriceOnRequest = true;\t\n }\n }\n \n // this.getPriceDiscountApprovalAuthority();\n // this.showLoader=false;\n }, error => {\n this.toastr.error(\"Failed to load data.\");\n this.showLoader=false;\n });\n }\n\n getAllEmployeeData() {\n this.showLoader = true;\n this.Service.GetData(\"Employee\", \"GetAllEmployeeData\", null).subscribe((data: any) => {\n this.EmployeeData = data;\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n\n showTechnicalSpecifications(i) {\n if (this.QuotationData.QuotationObj[i].ProductModel == undefined) {\n this.QuotationData.QuotationObj[i].ProductModelValidation = true;\n this.QuotationData.QuotationObj[i].ProductSeriesValidation = true;\n return;\n }\n this.QuotationData.QuotationObj[i].showTechnicalSpecifications = !this.QuotationData.QuotationObj[i].showTechnicalSpecifications;\n if (this.QuotationData.QuotationObj[i].showTechnicalSpecifications\n &&\n (this.QuotationData.QuotationObj[i].TechnicalSpecifications == undefined || this.QuotationData.QuotationObj[i].TechnicalSpecifications?.length == 0)) {\n\n\n var temp = [];\n this.QuotationData.QuotationObj[i].TechnicalSpecifications = [];\n var obj = new TechnicalSpecifications();\n obj.ProductId = this.QuotationData.QuotationObj[i].ProductId;\n obj.uniqueid = this.makeRandom();\n temp.push(obj);\n this.QuotationData.QuotationObj[i].TechnicalSpecifications = temp;\n }\n }\n\n ShowOptionPriceOnRequestGrid(i) {\n if (this.QuotationData.QuotationObj[i].ShowOptionPriceOnRequestGrid) {\n this.QuotationData.QuotationObj[i].ShowOptionPriceOnRequestGrid = false;\n }\n else {\n this.QuotationData.QuotationObj[i].ShowOptionPriceOnRequestGrid = true;\n }\n }\n makeRandom() {\n let text = \"\";\n var possible: string = \"ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890,./;'[]\\=-)(*&^%$#@!~\";\n const lengthOfCode = 40;\n for (let i = 0; i < lengthOfCode; i++) {\n text += possible.charAt(Math.floor(Math.random() * possible.length));\n }\n return text;\n }\n\n addTechnicalSpec(i, index) {\n if (this.QuotationData.QuotationObj[i].TechnicalSpecifications[index].value != undefined) {\n var temp = this.QuotationData.QuotationObj[i].TechnicalSpecifications;\n this.QuotationData.QuotationObj[i].TechnicalSpecifications = [];\n var obj = new TechnicalSpecifications();\n obj.ProductId = this.QuotationData.QuotationObj[i].ProductId;\n obj.uniqueid = this.makeRandom();\n temp.push(obj);\n this.QuotationData.QuotationObj[i].TechnicalSpecifications = temp;\n\n }\n }\n deleteTechnicalSpec(i, tempindex) {\n var currentproduct = this.QuotationData.QuotationObj[i].TechnicalSpecifications;\n this.QuotationData.QuotationObj[i].TechnicalSpecifications = [];\n currentproduct.splice(tempindex, 1);\n this.QuotationData.QuotationObj[i].TechnicalSpecifications = currentproduct;\n }\n ButtonsAccess() {\n this.isQuotationEditable = true;\n /**************************Admin Access******************************* */\n if (this.role == UserRoles.Admin) {\n if (this.enquiObj.PendingAtRoleId == UserRoles.L1) {\n this.btnforL1 = true;\n }\n if (this.enquiObj.PendingAtRoleId == UserRoles.L2) {\n this.btnforL2 = true;\n }\n if (this.enquiObj.PendingAtRoleId == UserRoles.L3) {\n this.btnforL3 = true;\n }\n if (this.enquiObj.PendingAtRoleId == UserRoles.CustomerService) {\n this.btnforCS = true;\n }\n this.isQuotationEditable = true;\n }\n /**************************End Admin Access******************************* */\n if (this.role == UserRoles.L1) {\n this.btnforL1 = true;\n this.isQuotationEditable = true;\n }\n if (this.role == UserRoles.L2) {\n this.btnforL2 = true;\n this.isQuotationEditable = true;\n }\n if (this.role == UserRoles.L3) {\n this.btnforL3 = true;\n this.isQuotationEditable = true;\n }\n if (this.role == UserRoles.CustomerService) {\n this.btnforCS = true;\n this.isQuotationEditable = true;\n }\n if (this.IsQuotationPriceOnRequest) { \n this.btn_PriceOnRequest = true;\n \n }\n if (this.enquiryStatusPassed != this.enquiryStatusList.filter(x => x.Status == 'RFQSubmittedbySalesEngg')[0]?.Pk_Id) {\n this.isPriceOnRequestVisible = true;\n }\n }\n\n\n clearRow(index) {\n this.productDrpdnDetails.ProductModel = [];\n this.QuotationData.QuotationObj[index].ProductModel = undefined;\n this.QuotationData.QuotationObj[index].Variant1Label = null;\n this.QuotationData.QuotationObj[index].Variant2Label = null;\n this.QuotationData.QuotationObj[index].Variant3Label = null;\n this.QuotationData.QuotationObj[index].Variant4Label = null;\n this.QuotationData.QuotationObj[index].Variant1 = undefined;\n this.QuotationData.QuotationObj[index].Variant2 = undefined;\n this.QuotationData.QuotationObj[index].Variant3 = undefined;\n this.QuotationData.QuotationObj[index].Variant4 = undefined;\n this.QuotationData.QuotationObj[index].IsPriceOnRequest_Variant1 = false;\n this.QuotationData.QuotationObj[index].IsPriceOnRequest_Variant2 = false;\n this.QuotationData.QuotationObj[index].IsPriceOnRequest_Variant3 = false;\n this.QuotationData.QuotationObj[index].IsPriceOnRequest_Variant4 = false;\n this.QuotationData.QuotationObj[index].IsPriceOnRequest_Option = false;\n this.QuotationData.QuotationObj[index].Units_Variant1 = 1;\n this.QuotationData.QuotationObj[index].Units_Variant2 = 1;\n this.QuotationData.QuotationObj[index].Units_Variant3 = 1;\n this.QuotationData.QuotationObj[index].Units_Variant4 = 1;\n this.QuotationData.QuotationObj[index].IsUnits_Variant1 = false;\n this.QuotationData.QuotationObj[index].IsUnits_Variant1 = false;\n this.QuotationData.QuotationObj[index].IsUnits_Variant1 = false;\n this.QuotationData.QuotationObj[index].IsUnits_Variant1 = false;\n this.QuotationData.QuotationObj[index].Variant1Price = 0;\n this.QuotationData.QuotationObj[index].Variant2Price = 0;\n this.QuotationData.QuotationObj[index].Variant3Price = 0;\n this.QuotationData.QuotationObj[index].Variant4Price = 0;\n this.QuotationData.QuotationObj[index].OptionsPrice = 0;\n this.QuotationData.QuotationObj[index].Options = [];\n this.QuotationData.QuotationObj[index].OptionSelected = [];\n this.QuotationData.QuotationObj[index].selectedOptions = [];\n this.QuotationData.QuotationObj[index].selectedVariant1 = [];\n this.QuotationData.QuotationObj[index].selectedVariant2 = [];\n this.QuotationData.QuotationObj[index].selectedVariant3 = [];\n this.QuotationData.QuotationObj[index].selectedVariant4 = [];\n this.Options = [];\n\n this.QuotationData.QuotationObj[index].Variant1Validation = false;\n this.QuotationData.QuotationObj[index].Variant2Validation = false;\n this.QuotationData.QuotationObj[index].Variant3Validation = false;\n this.QuotationData.QuotationObj[index].Variant4Validation = false;\n\n this.QuotationData.QuotationObj[index].Options_POR_Validation = false;\n this.QuotationData.QuotationObj[index].ProductModelPrice = 0;\n this.QuotationData.QuotationObj[index].TotalforRfqdiscount = 0;\n\n this.QuotationData.QuotationObj[index].TotalAfterDiscount=0;\n this.QuotationData.QuotationObj[index].TotalAmount = 0;\n\n this.QuotationData.QuotationObj[index].Model_Discount = 0;\n this.QuotationData.QuotationObj[index].Model_FinalPrice = 0;\n\n this.QuotationData.QuotationObj[index].Units_Variant1 = 0;\n this.QuotationData.QuotationObj[index].Variant1Price = 0;\n this.QuotationData.QuotationObj[index].Varient1_Discount = 0;\n this.QuotationData.QuotationObj[index].Varient1_FinalPrice = 0;\n\n this.QuotationData.QuotationObj[index].Units_Variant2 = 0;\n this.QuotationData.QuotationObj[index].Variant2Price = 0;\n this.QuotationData.QuotationObj[index].Varient2_Discount = 0;\n this.QuotationData.QuotationObj[index].Varient2_FinalPrice = 0;\n\n this.QuotationData.QuotationObj[index].Units_Variant3 = 0;\n this.QuotationData.QuotationObj[index].Variant3Price = 0;\n this.QuotationData.QuotationObj[index].Varient3_Discount = 0;\n this.QuotationData.QuotationObj[index].Varient3_FinalPrice = 0;\n\n this.QuotationData.QuotationObj[index].Units_Variant4 = 0;\n this.QuotationData.QuotationObj[index].Variant4Price = 0;\n this.QuotationData.QuotationObj[index].Varient4_Discount = 0;\n this.QuotationData.QuotationObj[index].Varient4_FinalPrice = 0;\n\n this.QuotationData.QuotationObj[index].Option_Discount = 0;\n this.QuotationData.QuotationObj[index].Option_FinalDiscount = 0;\n this.QuotationData.QuotationInfo.FinalAmount = 0;\n\n }\n\n onProductFamilyChange(index) {\n //this.clearRow(index);\n //var selectedProductFamily = this.QuotationData.QuotationObj[index].ProductFamily;\n var selectedProductFamily = 1;\n this.productDrpdnDetails.ProductSeries = this.dropdownData.Product.filter(x => x.ProductFamily.Id == selectedProductFamily)?.ProductSeries;\n this.QuotationData.QuotationObj[index].selectedProductSeries = this.productDrpdnDetails.ProductSeries;\n this.QuotationData.QuotationObj[index].selectedProductModel = [];\n this.QuotationData.QuotationObj[index].ProductModel = undefined;\n\n }\n onProductSeriesChange(index) {\n this.showLoader=true;\n this.clearRow(index);\n this.QuotationData.QuotationObj[index].ProductSeriesValidation = false;\n var selectedProductSeries = this.QuotationData.QuotationObj[index].ProductSeries;\n this.QuotationData.QuotationObj[index].selectedProductModel = this.productDrpdnDetails.ProductSeries.filter(x => x.Id == selectedProductSeries)[0]?.ProductModels;\n //currentProduct.selectedProductModel = this.productDrpdnDetails.ProductModel;\n\n this.QuotationData.QuotationObj[index].Variant1Label = this.productDrpdnDetails.ProductSeries.filter(x => x.Id == selectedProductSeries)[0]?.Variant1Label;\n this.QuotationData.QuotationObj[index].Variant2Label = this.productDrpdnDetails.ProductSeries.filter(x => x.Id == selectedProductSeries)[0]?.Variant2Label;\n this.QuotationData.QuotationObj[index].Variant3Label = this.productDrpdnDetails.ProductSeries.filter(x => x.Id == selectedProductSeries)[0]?.Variant3Label;\n this.QuotationData.QuotationObj[index].Variant4Label = this.productDrpdnDetails.ProductSeries.filter(x => x.Id == selectedProductSeries)[0]?.Variant4Label;\n this.setColspan(index);\n\n this.QuotationData.QuotationObj[index].IsLevel2DepOnLevel1 = this.productDrpdnDetails.ProductSeries.filter(x => x.Id == selectedProductSeries)[0]?.IsLevel2DepOnLevel1;\n this.QuotationData.QuotationObj[index].IsLevel3DepOnLevel2 = this.productDrpdnDetails.ProductSeries.filter(x => x.Id == selectedProductSeries)[0]?.IsLevel3DepOnLevel2;\n this.QuotationData.QuotationObj[index].IsLevel4DepOnLevel3 = this.productDrpdnDetails.ProductSeries.filter(x => x.Id == selectedProductSeries)[0]?.IsLevel4DepOnLevel3;\n\n if (this.productDrpdnDetails.ProductSeries.filter(x => x.Id == selectedProductSeries)[0]?.Name == 'HN' ||\n this.productDrpdnDetails.ProductSeries.filter(x => x.Id == selectedProductSeries)[0]?.Name == 'HG') {\n this.QuotationData.QuotationObj[index].Units_Variant1 = 100;\n this.QuotationData.QuotationObj[index].Units_Variant2 = 100;\n this.QuotationData.QuotationObj[index].Units_Variant3 = 100;\n this.QuotationData.QuotationObj[index].Units_Variant4 = 100;\n } else {\n this.QuotationData.QuotationObj[index].Units_Variant1 = 1;\n this.QuotationData.QuotationObj[index].Units_Variant2 = 1;\n this.QuotationData.QuotationObj[index].Units_Variant3 = 1;\n this.QuotationData.QuotationObj[index].Units_Variant4 = 1;\n }\n this.displayfurtherrows = true;\n this.showLoader=false;\n }\n onProductModelChange(index) {\n this.getFrameAgreement(index);\n this.showLoader=true;\n this.QuotationData.QuotationObj[index].ProductModelValidation = false;\n let queryString = \"\";\n queryString = \"ProductModelId=\" + this.QuotationData.QuotationObj[index].ProductModel;\n this.commonService.GetData(\"Enquiry\", \"GetQuotationVariantDropdownData\", queryString).subscribe((data: any) => {\n\n this.variantDropdownData = data;\n // this.productDrpdnDetails.Variant1 = this.variantDropdownData.Variant1;\n this.QuotationData.QuotationObj[index].productmodeldata = undefined;\n this.QuotationData.QuotationObj[index].selectedVariant1 = this.variantDropdownData.Variant1;\n\n if (!this.QuotationData.QuotationObj[index].IsLevel2DepOnLevel1 && this.QuotationData.QuotationObj[index].IsLevel2DepOnLevel1!=undefined) {\n this.QuotationData.QuotationObj[index].selectedVariant2 = this.variantDropdownData.Variant2;\n }\n if (!this.QuotationData.QuotationObj[index].IsLevel3DepOnLevel2 && this.QuotationData.QuotationObj[index].IsLevel3DepOnLevel2!=undefined ) {\n this.QuotationData.QuotationObj[index].selectedVariant3 = this.variantDropdownData.Variant3;\n }\n if (!this.QuotationData.QuotationObj[index].IsLevel4DepOnLevel3 && this.QuotationData.QuotationObj[index].IsLevel4DepOnLevel3!=undefined ) {\n this.QuotationData.QuotationObj[index].selectedVariant4 = this.variantDropdownData.Variant4;\n\n }\n this.QuotationData.QuotationObj[index].Variant1 = null;\n this.QuotationData.QuotationObj[index].Variant2 = null;\n this.QuotationData.QuotationObj[index].Variant3 = null;\n this.QuotationData.QuotationObj[index].Variant4 = null;\n this.QuotationData.QuotationObj[index].OptionSelected = [];\n this.QuotationData.QuotationObj[index].selectedOptions = [];\n this.QuotationData.QuotationObj[index].Options = [];\n this.QuotationData.QuotationObj[index].IsPriceOnRequest_Variant1 = false;\n this.QuotationData.QuotationObj[index].IsPriceOnRequest_Variant2 = false;\n this.QuotationData.QuotationObj[index].IsPriceOnRequest_Variant3 = false;\n this.QuotationData.QuotationObj[index].IsPriceOnRequest_Variant4 = false;\n this.QuotationData.QuotationObj[index].IsPriceOnRequest_Option = false;\n if (this.productDrpdnDetails.ProductSeries.filter(x => x.Id == this.QuotationData.QuotationObj[index].ProductSeries)[0]?.Name == 'HN' ||\n this.productDrpdnDetails.ProductSeries.filter(x => x.Id == this.QuotationData.QuotationObj[index].ProductSeries)[0]?.Name == 'HG') {\n this.QuotationData.QuotationObj[index].Units_Variant1 = 100;\n this.QuotationData.QuotationObj[index].Units_Variant2 = 100;\n this.QuotationData.QuotationObj[index].Units_Variant3 = 100;\n this.QuotationData.QuotationObj[index].Units_Variant4 = 100;\n } else {\n this.QuotationData.QuotationObj[index].Units_Variant1 = 1;\n this.QuotationData.QuotationObj[index].Units_Variant2 = 1;\n this.QuotationData.QuotationObj[index].Units_Variant3 = 1;\n this.QuotationData.QuotationObj[index].Units_Variant4 = 1;\n }\n this.QuotationData.QuotationObj[index].IsUnits_Variant1 = false;\n this.QuotationData.QuotationObj[index].IsUnits_Variant1 = false;\n this.QuotationData.QuotationObj[index].IsUnits_Variant1 = false;\n this.QuotationData.QuotationObj[index].IsUnits_Variant1 = false;\n this.QuotationData.QuotationObj[index].Variant1Price = 0;\n this.QuotationData.QuotationObj[index].Variant2Price = 0;\n this.QuotationData.QuotationObj[index].Variant3Price = 0;\n this.QuotationData.QuotationObj[index].Variant4Price = 0;\n this.QuotationData.QuotationObj[index].OptionsPrice = 0;\n this.QuotationData.QuotationObj[index].selectedOptions = this.variantDropdownData.Options;\n this.QuotationData.QuotationObj[index].OptionSelected = [];\n this.QuotationData.QuotationObj[index].ProductModelPrice = this.variantDropdownData.Price;\n this.showLoader=false;\n\n this.calculateTotalPricesForProduct(index, 1);\n this.showLoader=false;\n }, error => {\n this.showLoader=false;\n });\n }\n\n onOptionSelect(item, index) {\n if (!item.isUserInput) {\n return;\n }\n var optionname;\n // this.QuotationData.QuotationObj[index].selectedOptions = [];\n // this.QuotationData.QuotationObj[index].selectedOptions = this.QuotationData.QuotationObj[index].productmodeldata.Options;\n if (this.Options.length == 0) {\n optionname = this.QuotationData.QuotationObj[index].selectedOptions.filter(x => x.Id == item.source.value)[0];\n } else {\n optionname = this.Options.filter(x => x.Id == item.source.value)[0];\n }\n if (item.source._selected) {\n var opObj = new OptionsModel();\n opObj.OptionId = optionname.Id;\n opObj.ProductOptionId = optionname.ProductOptionId;\n opObj.Price = optionname.Price;\n opObj.Name = optionname.Name;\n opObj.IsPriceOnRequest = optionname.IsPriceOnRequest;\n opObj.optionValid = false;\n\n this.QuotationData.QuotationObj[index]?.Options.push(opObj);\n } else {\n this.QuotationData.QuotationObj[index].Options = this.QuotationData.QuotationObj[index]?.Options.filter(x => x.OptionId != item.source.value);\n }\n let anyOptionPOR = this.QuotationData.QuotationObj[index]?.Options.filter(x => x.IsPriceOnRequest == true);\n if (anyOptionPOR.length > 0 && anyOptionPOR.length != null && anyOptionPOR.length != undefined) {\n this.QuotationData.QuotationObj[index].IsPriceOnRequest_Option = true;\n }\n else {\n this.QuotationData.QuotationObj[index].IsPriceOnRequest_Option = false;\n }\n // if (this.QuotationData.QuotationObj[index].Options.length == 0) {\n // this.QuotationData.QuotationObj[index].OptionsValidation = true;\n // } else {\n // this.QuotationData.QuotationObj[index].OptionsValidation = false;\n // }\n\n this.calculateTotalPricesForProduct(index, 1);\n }\n\n onVariant1Change(index) {\n this.showLoader=true;\n this.QuotationData.QuotationObj[index].Variant1Validation = false;\n this.productDrpdnDetails.IsLevel2DepOnLevel1 = this.dropdownData.ProductSeries.filter(x => x.Id == this.QuotationData.QuotationObj[index].ProductSeries)[0].IsLevel2DepOnLevel1;\n\n if (!(this.QuotationData.QuotationObj[index].productmodeldata == undefined || this.QuotationData.QuotationObj[index].productmodeldata == null)) {\n this.variantDropdownData = this.QuotationData.QuotationObj[index].productmodeldata;\n var selectedVariant1 = this.QuotationData.QuotationObj[index].Variant1;\n var var1Obj = this.variantDropdownData.Variant1.filter(x => x.Id == selectedVariant1)[0];\n this.QuotationData.QuotationObj[index].IsUnits_Variant1 = var1Obj?.IsUnits;\n if (this.QuotationData.QuotationObj[index].IsUnits_Variant1) {\n this.QuotationData.QuotationObj[index].Variant1Price = var1Obj?.Price * this.QuotationData.QuotationObj[index].Units_Variant1;\n } else {\n this.QuotationData.QuotationObj[index].Variant1Price = var1Obj?.Price;\n }\n this.QuotationData.QuotationObj[index].IsPriceOnRequest_Variant1 = var1Obj?.IsPriceOnRequest;\n if (this.productDrpdnDetails.IsLevel2DepOnLevel1) {\n this.QuotationData.QuotationObj[index].Variant2 = null;\n this.QuotationData.QuotationObj[index].Variant2Price = 0;\n this.QuotationData.QuotationObj[index].selectedVariant2 = this.variantDropdownData.Variant2.filter(x => x.Fk_Id == selectedVariant1);\n this.productDrpdnDetails.Variant2 = this.variantDropdownData.Variant2.filter(x => x.Fk_Id == selectedVariant1);\n }\n } else {\n var selectedVariant1 = this.QuotationData.QuotationObj[index].Variant1;\n var var1Obj = this.QuotationData.QuotationObj[index].selectedVariant1.filter(x => x.Id == selectedVariant1)[0];\n this.QuotationData.QuotationObj[index].IsUnits_Variant1 = var1Obj?.IsUnits;\n if (this.QuotationData.QuotationObj[index].IsUnits_Variant1) {\n this.QuotationData.QuotationObj[index].Variant1Price = var1Obj?.Price * this.QuotationData.QuotationObj[index].Units_Variant1;\n } else {\n this.QuotationData.QuotationObj[index].Variant1Price = var1Obj?.Price;\n }\n this.QuotationData.QuotationObj[index].IsPriceOnRequest_Variant1 = var1Obj?.IsPriceOnRequest;\n if (this.productDrpdnDetails.IsLevel2DepOnLevel1) {\n this.QuotationData.QuotationObj[index].Variant2 = null;\n this.QuotationData.QuotationObj[index].Variant2Price = 0;\n this.QuotationData.QuotationObj[index].selectedVariant2 = this.variantDropdownData.Variant2.filter(x => x.Fk_Id == selectedVariant1);\n this.productDrpdnDetails.Variant2 = this.variantDropdownData.Variant2.filter(x => x.Fk_Id == selectedVariant1);\n }\n }\n this.calculateTotalPricesForProduct(index, 1);\n this.showLoader=false;\n }\n onVariant2Change(index) {\n this.showLoader=true;\n this.QuotationData.QuotationObj[index].Variant2Validation = false;\n this.productDrpdnDetails.IsLevel3DepOnLevel2 = this.dropdownData.ProductSeries.filter(x => x.Id == this.QuotationData.QuotationObj[index].ProductSeries)[0].IsLevel3DepOnLevel2;\n\n if (!(this.QuotationData.QuotationObj[index].productmodeldata == undefined || this.QuotationData.QuotationObj[index].productmodeldata == null)) {\n this.variantDropdownData = this.QuotationData.QuotationObj[index].productmodeldata;\n var selectedVariant2 = this.QuotationData.QuotationObj[index].Variant2;\n this.QuotationData.QuotationObj[index].IsUnits_Variant2 = var2Obj?.IsUnits;\n var var2Obj = this.variantDropdownData.Variant2.filter(x => x.Id == selectedVariant2)[0];\n if (this.QuotationData.QuotationObj[index].IsUnits_Variant2) {\n this.QuotationData.QuotationObj[index].Variant2Price = var2Obj?.Price * this.QuotationData.QuotationObj[index].Units_Variant2;\n } else {\n this.QuotationData.QuotationObj[index].Variant2Price = var2Obj?.Price;\n }\n this.QuotationData.QuotationObj[index].IsPriceOnRequest_Variant2 = var2Obj?.IsPriceOnRequest;\n if (this.productDrpdnDetails.IsLevel3DepOnLevel2) {\n this.QuotationData.QuotationObj[index].Variant3 = null;\n this.QuotationData.QuotationObj[index].Variant3Price = 0;\n this.QuotationData.QuotationObj[index].selectedVariant3 = this.variantDropdownData.Variant3.filter(x => x.Fk_Id == selectedVariant2);\n this.productDrpdnDetails.Variant3 = this.variantDropdownData.Variant3.filter(x => x.Fk_Id == selectedVariant2);\n }\n } else {\n var selectedVariant2 = this.QuotationData.QuotationObj[index].Variant2;\n var var2Obj = this.QuotationData.QuotationObj[index].selectedVariant2.filter(x => x.Id == selectedVariant2)[0];\n this.QuotationData.QuotationObj[index].IsUnits_Variant2 = var2Obj?.IsUnits;\n if (this.QuotationData.QuotationObj[index].IsUnits_Variant2) {\n this.QuotationData.QuotationObj[index].Variant2Price = var2Obj?.Price * this.QuotationData.QuotationObj[index].Units_Variant2;\n } else {\n this.QuotationData.QuotationObj[index].Variant2Price = var2Obj?.Price;\n }\n this.QuotationData.QuotationObj[index].IsPriceOnRequest_Variant2 = var2Obj?.IsPriceOnRequest;\n if (this.productDrpdnDetails.IsLevel3DepOnLevel2) {\n this.QuotationData.QuotationObj[index].Variant3 = null;\n this.QuotationData.QuotationObj[index].Variant3Price = 0;\n this.QuotationData.QuotationObj[index].selectedVariant3 = this.variantDropdownData.Variant3.filter(x => x.Fk_Id == selectedVariant2);\n this.productDrpdnDetails.Variant3 = this.variantDropdownData.Variant3.filter(x => x.Fk_Id == selectedVariant2);\n }\n }\n this.calculateTotalPricesForProduct(index, 1);\n this.showLoader=false;\n }\n onVariant3Change(index) {\n this.showLoader=true;\n this.QuotationData.QuotationObj[index].Variant3Validation = false;\n this.productDrpdnDetails.IsLevel4DepOnLevel3 = this.dropdownData.ProductSeries.filter(x => x.Id == this.QuotationData.QuotationObj[index].ProductSeries)[0].IsLevel4DepOnLevel3;\n\n if (!(this.QuotationData.QuotationObj[index].productmodeldata == undefined || this.QuotationData.QuotationObj[index].productmodeldata == null)) {\n this.variantDropdownData = this.QuotationData.QuotationObj[index].productmodeldata;\n var selectedVariant3 = this.QuotationData.QuotationObj[index].Variant3;\n var var3Obj = this.variantDropdownData.Variant3.filter(x => x.Id == selectedVariant3)[0];\n this.QuotationData.QuotationObj[index].IsUnits_Variant3 = var3Obj?.IsUnits;\n if (this.QuotationData.QuotationObj[index].IsUnits_Variant3) {\n this.QuotationData.QuotationObj[index].Variant3Price = var3Obj?.Price * this.QuotationData.QuotationObj[index].Units_Variant3;\n } else {\n this.QuotationData.QuotationObj[index].Variant3Price = var3Obj?.Price;\n }\n this.QuotationData.QuotationObj[index].IsPriceOnRequest_Variant3 = var3Obj?.IsPriceOnRequest;\n if (this.productDrpdnDetails.IsLevel4DepOnLevel3) {\n this.QuotationData.QuotationObj[index].Variant4 = null;\n this.QuotationData.QuotationObj[index].Variant4Price = 0;\n this.QuotationData.QuotationObj[index].selectedVariant4 = this.variantDropdownData.Variant4.filter(x => x.Fk_Id == selectedVariant3);\n this.productDrpdnDetails.Variant4 = this.variantDropdownData.Variant4.filter(x => x.Fk_Id == selectedVariant3);\n }\n } else {\n var selectedVariant3 = this.QuotationData.QuotationObj[index].Variant3;\n var var3Obj = this.QuotationData.QuotationObj[index].selectedVariant3.filter(x => x.Id == selectedVariant3)[0];\n this.QuotationData.QuotationObj[index].IsUnits_Variant3 = var3Obj?.IsUnits;\n if (this.QuotationData.QuotationObj[index].IsUnits_Variant3) {\n this.QuotationData.QuotationObj[index].Variant3Price = var3Obj?.Price * this.QuotationData.QuotationObj[index].Units_Variant3;\n } else {\n this.QuotationData.QuotationObj[index].Variant3Price = var3Obj?.Price;\n }\n this.QuotationData.QuotationObj[index].IsPriceOnRequest_Variant3 = var3Obj?.IsPriceOnRequest;\n if (this.productDrpdnDetails.IsLevel4DepOnLevel3) {\n this.QuotationData.QuotationObj[index].Variant4 = null;\n this.QuotationData.QuotationObj[index].Variant4Price = 0;\n this.QuotationData.QuotationObj[index].selectedVariant4 = this.variantDropdownData.Variant4.filter(x => x.Fk_Id == selectedVariant3);\n this.productDrpdnDetails.Variant4 = this.variantDropdownData.Variant4.filter(x => x.Fk_Id == selectedVariant3);\n }\n }\n this.calculateTotalPricesForProduct(index, 1);\n this.showLoader=false;\n }\n onVariant4Change(index) {\n this.showLoader=true;\n this.QuotationData.QuotationObj[index].Variant4Validation = false;\n if (!(this.QuotationData.QuotationObj[index].productmodeldata == undefined || this.QuotationData.QuotationObj[index].productmodeldata == null)) {\n this.variantDropdownData = this.QuotationData.QuotationObj[index].productmodeldata;\n var selectedVariant4 = this.QuotationData.QuotationObj[index].Variant4;\n var var4Obj = this.QuotationData.QuotationObj[index].selectedVariant4.filter(x => x.Id == selectedVariant4)[0];\n this.QuotationData.QuotationObj[index].IsUnits_Variant4 = var4Obj?.IsUnits;\n if (this.QuotationData.QuotationObj[index].IsUnits_Variant4) {\n this.QuotationData.QuotationObj[index].Variant4Price = var4Obj?.Price * this.QuotationData.QuotationObj[index].Units_Variant4;\n } else {\n this.QuotationData.QuotationObj[index].Variant4Price = var4Obj?.Price;\n }\n this.QuotationData.QuotationObj[index].IsPriceOnRequest_Variant4 = var4Obj?.IsPriceOnRequest;\n } else {\n var selectedVariant4 = this.QuotationData.QuotationObj[index].Variant4;\n\n var var4Obj = this.QuotationData.QuotationObj[index].selectedVariant4.filter(x => x.Id == selectedVariant4)[0];\n this.QuotationData.QuotationObj[index].IsUnits_Variant4 = var4Obj?.IsUnits;\n if (this.QuotationData.QuotationObj[index].IsUnits_Variant4) {\n this.QuotationData.QuotationObj[index].Variant4Price = var4Obj?.Price * this.QuotationData.QuotationObj[index].Units_Variant4;\n } else {\n this.QuotationData.QuotationObj[index].Variant4Price = var4Obj?.Price;\n }\n this.QuotationData.QuotationObj[index].IsPriceOnRequest_Variant4 = var4Obj?.IsPriceOnRequest;\n\n /*************************************************************************************************** */\n\n }\n this.calculateTotalPricesForProduct(index, 1);\n this.showLoader=false;\n }\n // var1UnitsChange(index) {\n // var seriesname = this.productDrpdnDetails.ProductSeries.filter(x => x.Id == this.QuotationData.QuotationObj[index].ProductSeries)[0]?.Name;\n // let strunits = this.QuotationData.QuotationObj[index].Units_Variant1.toString();\n // if (this.QuotationData.QuotationObj[index].Units_Variant1 == undefined || this.QuotationData.QuotationObj[index].Units_Variant1 == null) {\n // this.QuotationData.QuotationObj[index].var1_Unit_Validation = true;\n // this.IsQuotationDataValid = false;\n // } else if (this.QuotationData.QuotationObj[index].Units_Variant1 < 0) {\n // this.QuotationData.QuotationObj[index].var1_Unit_Validation = true;\n // this.IsQuotationDataValid = false;\n // } else if (this.QuotationData.QuotationObj[index].Units_Variant1 % 1 != 0) {\n // this.toastr.info('Please enter only integer value');\n // if (seriesname == 'HG' || seriesname == 'HN') {\n // this.QuotationData.QuotationObj[index].Units_Variant1 = 100;\n // }\n // else {\n // this.QuotationData.QuotationObj[index].Units_Variant1 = 1;\n // }\n\n // this.IsQuotationDataValid = false;\n // } else if (strunits.includes(\".\")) {\n // this.toastr.info('Please enter valid units');\n // if (seriesname == 'HG' || seriesname == 'HN') {\n // this.QuotationData.QuotationObj[index].Units_Variant1 = 100;\n // }\n // else {\n // this.QuotationData.QuotationObj[index].Units_Variant1 = 1;\n // }\n\n // this.IsQuotationDataValid = false;\n // }\n\n // else {\n\n // if ((seriesname == 'HG' || seriesname == 'HN') && (this.QuotationData.QuotationObj[index].Units_Variant1 % 100 != 0)) {\n // this.toastr.info('Please enter the units in multiple of 100.');\n // this.QuotationData.QuotationObj[index].var1_Unit_Validation = true;\n // this.IsQuotationDataValid = false;\n // } else {\n // this.QuotationData.QuotationObj[index].var1_Unit_Validation = false;\n // }\n // }\n // if (!(this.QuotationData.QuotationObj[index].productmodeldata == undefined || this.QuotationData.QuotationObj[index].productmodeldata == null)) {\n // this.variantDropdownData = this.QuotationData.QuotationObj[index].productmodeldata;\n // var selectedVariant1 = this.QuotationData.QuotationObj[index].Variant1;\n // var price: number = this.variantDropdownData.Variant1.filter(x => x.Id == selectedVariant1)[0]?.Price;\n // var units: number = this.QuotationData.QuotationObj[index].Units_Variant1;\n // this.QuotationData.QuotationObj[index].Variant1Price = price * units;\n // } else {\n // var selectedVariant1 = this.QuotationData.QuotationObj[index].Variant1;\n // var price: number = this.variantDropdownData.Variant1.filter(x => x.Id == selectedVariant1)[0]?.Price;\n // var units: number = this.QuotationData.QuotationObj[index].Units_Variant1;\n // this.QuotationData.QuotationObj[index].Variant1Price = price * units;\n // //this.QuotationData.QuotationObj[index].Variant1Price = this.QuotationData.QuotationObj[index].selectedVariant1.filter(x => x.Id == selectedVariant1)[0]?.Price;\n // }\n // this.calculateTotalPricesForProduct(index, 1);\n // }\n\n // var2UnitsChange(index) {\n // var seriesname = this.productDrpdnDetails.ProductSeries.filter(x => x.Id == this.QuotationData.QuotationObj[index].ProductSeries)[0]?.Name;\n // let strunits = this.QuotationData.QuotationObj[index].Units_Variant2.toString();\n // if (this.QuotationData.QuotationObj[index].Units_Variant2 == undefined || this.QuotationData.QuotationObj[index].Units_Variant2 == null) {\n // this.QuotationData.QuotationObj[index].var2_Unit_Validation = true;\n // this.IsQuotationDataValid = false;\n // } else if (this.QuotationData.QuotationObj[index].Units_Variant2 < 0) {\n // this.QuotationData.QuotationObj[index].var2_Unit_Validation = true;\n // this.IsQuotationDataValid = false;\n // } else if (this.QuotationData.QuotationObj[index].Units_Variant2 % 1 != 0) {\n // this.toastr.info('Please enter only integer value');\n // if (seriesname == 'HG' || seriesname == 'HN') {\n // this.QuotationData.QuotationObj[index].Units_Variant2 = 100;\n // }\n // else {\n // this.QuotationData.QuotationObj[index].Units_Variant2 = 1;\n // }\n\n // this.IsQuotationDataValid = false;\n // }\n // else if (strunits.includes(\".\")) {\n // this.toastr.info('Please enter valid units');\n // if (seriesname == 'HG' || seriesname == 'HN') {\n // this.QuotationData.QuotationObj[index].Units_Variant2 = 100;\n // }\n // else {\n // this.QuotationData.QuotationObj[index].Units_Variant2 = 1;\n // }\n\n // this.IsQuotationDataValid = false;\n // }\n // else {\n\n // if ((seriesname == 'HG' || seriesname == 'HN') && (this.QuotationData.QuotationObj[index].Units_Variant2 % 100 != 0)) {\n // this.toastr.info('Please enter the units in multiple of 100.');\n // this.QuotationData.QuotationObj[index].var2_Unit_Validation = true;\n // this.IsQuotationDataValid = false;\n // } else {\n // this.QuotationData.QuotationObj[index].var2_Unit_Validation = false;\n // }\n // }\n // if (!(this.QuotationData.QuotationObj[index].productmodeldata == undefined || this.QuotationData.QuotationObj[index].productmodeldata == null)) {\n // this.variantDropdownData = this.QuotationData.QuotationObj[index].productmodeldata;\n // var selectedVariant2 = this.QuotationData.QuotationObj[index].Variant2;\n // var price: number = this.variantDropdownData.Variant2.filter(x => x.Id == selectedVariant2)[0]?.Price;\n // var units: number = this.QuotationData.QuotationObj[index].Units_Variant2;\n // this.QuotationData.QuotationObj[index].Variant2Price = price * units;\n // } else {\n // var selectedVariant2 = this.QuotationData.QuotationObj[index].Variant2;\n // var price: number = this.variantDropdownData.Variant2.filter(x => x.Id == selectedVariant2)[0]?.Price;\n // var units: number = this.QuotationData.QuotationObj[index].Units_Variant2;\n // this.QuotationData.QuotationObj[index].Variant2Price = price * units;\n // // this.QuotationData.QuotationObj[index].Variant2Price = this.productDrpdnDetails.Variant2.filter(x => x.Id == selectedVariant2)[0]?.Price;\n // }\n // this.calculateTotalPricesForProduct(index, 1);\n // }\n // var3UnitsChange(index) {\n // var seriesname = this.productDrpdnDetails.ProductSeries.filter(x => x.Id == this.QuotationData.QuotationObj[index].ProductSeries)[0]?.Name;\n // let strunits = this.QuotationData.QuotationObj[index].Units_Variant3.toString();\n // if (this.QuotationData.QuotationObj[index].Units_Variant3 == undefined || this.QuotationData.QuotationObj[index].Units_Variant3 == null) {\n // this.QuotationData.QuotationObj[index].var3_Unit_Validation = true;\n // this.IsQuotationDataValid = false;\n // } else if (this.QuotationData.QuotationObj[index].Units_Variant3 < 0) {\n // this.QuotationData.QuotationObj[index].var3_Unit_Validation = true;\n // this.IsQuotationDataValid = false;\n // } else if (this.QuotationData.QuotationObj[index].Units_Variant3 % 1 != 0) {\n // this.toastr.info('Please enter only integer value');\n // if (seriesname == 'HG' || seriesname == 'HN') {\n // this.QuotationData.QuotationObj[index].Units_Variant3 = 100;\n // }\n // else {\n // this.QuotationData.QuotationObj[index].Units_Variant3 = 1;\n // }\n\n // this.IsQuotationDataValid = false;\n // }\n // else if (strunits.includes(\".\")) {\n // this.toastr.info('Please enter valid units');\n // if (seriesname == 'HG' || seriesname == 'HN') {\n // this.QuotationData.QuotationObj[index].Units_Variant3 = 100;\n // }\n // else {\n // this.QuotationData.QuotationObj[index].Units_Variant3 = 1;\n // }\n\n // this.IsQuotationDataValid = false;\n // }\n // else {\n\n // if ((seriesname == 'HG' || seriesname == 'HN') && (this.QuotationData.QuotationObj[index].Units_Variant3 % 100 != 0)) {\n // this.toastr.info('Please enter the units in multiple of 100.');\n // this.QuotationData.QuotationObj[index].var3_Unit_Validation = true;\n // this.IsQuotationDataValid = false;\n // } else {\n // this.QuotationData.QuotationObj[index].var3_Unit_Validation = false;\n // }\n // }\n // if (!(this.QuotationData.QuotationObj[index].productmodeldata == undefined || this.QuotationData.QuotationObj[index].productmodeldata == null)) {\n // this.variantDropdownData = this.QuotationData.QuotationObj[index].productmodeldata;\n // var selectedVariant3 = this.QuotationData.QuotationObj[index].Variant3;\n // var price: number = this.variantDropdownData.Variant3.filter(x => x.Id == selectedVariant3)[0]?.Price;\n // var units: number = this.QuotationData.QuotationObj[index].Units_Variant3;\n // this.QuotationData.QuotationObj[index].Variant3Price = price * units;\n // } else {\n // var selectedVariant3 = this.QuotationData.QuotationObj[index].Variant3;\n // var price: number = this.variantDropdownData.Variant3.filter(x => x.Id == selectedVariant3)[0]?.Price;\n // var units: number = this.QuotationData.QuotationObj[index].Units_Variant3;\n // this.QuotationData.QuotationObj[index].Variant3Price = price * units;\n // //this.QuotationData.QuotationObj[index].Variant3Price = this.productDrpdnDetails.Variant3.filter(x => x.Id == selectedVariant3)[0]?.Price;\n // }\n // this.calculateTotalPricesForProduct(index, 1);\n // }\n // var4UnitsChange(index) {\n // var seriesname = this.productDrpdnDetails.ProductSeries.filter(x => x.Id == this.QuotationData.QuotationObj[index].ProductSeries)[0]?.Name;\n // let strunits = this.QuotationData.QuotationObj[index].Units_Variant4.toString();\n // if (this.QuotationData.QuotationObj[index].Units_Variant4 == undefined || this.QuotationData.QuotationObj[index].Units_Variant4 == null) {\n // this.QuotationData.QuotationObj[index].var4_Unit_Validation = true;\n // this.IsQuotationDataValid = false;\n // } else if (this.QuotationData.QuotationObj[index].Units_Variant4 < 0) {\n // this.QuotationData.QuotationObj[index].var4_Unit_Validation = true;\n // this.IsQuotationDataValid = false;\n // } else if (this.QuotationData.QuotationObj[index].Units_Variant4 % 1 != 0) {\n // this.toastr.info('Please enter only integer value');\n // if (seriesname == 'HG' || seriesname == 'HN') {\n // this.QuotationData.QuotationObj[index].Units_Variant4 = 100;\n // }\n // else {\n // this.QuotationData.QuotationObj[index].Units_Variant4 = 1;\n // }\n\n // this.IsQuotationDataValid = false;\n // }\n // else if (strunits.includes(\".\")) {\n // this.toastr.info('Please enter valid units');\n // if (seriesname == 'HG' || seriesname == 'HN') {\n // this.QuotationData.QuotationObj[index].Units_Variant4 = 100;\n // }\n // else {\n // this.QuotationData.QuotationObj[index].Units_Variant4 = 1;\n // }\n\n // this.IsQuotationDataValid = false;\n // }\n // else {\n\n // if ((seriesname == 'HG' || seriesname == 'HN') && (this.QuotationData.QuotationObj[index].Units_Variant4 % 100 != 0)) {\n // this.toastr.info('Please enter the units in multiple of 100');\n // this.QuotationData.QuotationObj[index].var4_Unit_Validation = true;\n // this.IsQuotationDataValid = false;\n // } else {\n // this.QuotationData.QuotationObj[index].var4_Unit_Validation = false;\n // }\n // }\n // if (!(this.QuotationData.QuotationObj[index].productmodeldata == undefined || this.QuotationData.QuotationObj[index].productmodeldata == null)) {\n // this.variantDropdownData = this.QuotationData.QuotationObj[index].productmodeldata;\n // var selectedVariant4 = this.QuotationData.QuotationObj[index].Variant4;\n // var price: number = this.variantDropdownData.Variant4.filter(x => x.Id == selectedVariant4)[0]?.Price;\n // var units: number = this.QuotationData.QuotationObj[index].Units_Variant4;\n // this.QuotationData.QuotationObj[index].Variant4Price = price * units;\n // } else {\n // var selectedVariant4 = this.QuotationData.QuotationObj[index].Variant4;\n // var price: number = this.variantDropdownData.Variant4.filter(x => x.Id == selectedVariant4)[0]?.Price;\n // var units: number = this.QuotationData.QuotationObj[index].Units_Variant4;\n // this.QuotationData.QuotationObj[index].Variant4Price = price * units;\n // // this.QuotationData.QuotationObj[index].Variant4Price = this.productDrpdnDetails.Variant4.filter(x => x.Id == selectedVariant4)[0]?.Price;\n // }\n // this.calculateTotalPricesForProduct(index, 1);\n // }\n\n var1PORChange(index) {\n var element = this.QuotationData.QuotationObj[index];\n let strprice = element.Variant1Price.toString();\n if (this.IsQuotationPriceOnRequest && element.IsPriceOnRequest_Variant1 && (element.Variant1Price == undefined || element.Variant1Price == null || (element.Variant1Price == 0 && element.Units_Variant1 != 0) || (element.Variant1Price != 0 && element.Units_Variant1 == 0))) {\n element.var1_POR_Validation = true;\n this.IsQuotationDataValid = false;\n } else if (this.IsQuotationPriceOnRequest && element.IsPriceOnRequest_Variant1 && (element.Variant1Price < 0)) {\n element.var1_POR_Validation = true;\n this.IsQuotationDataValid = false;\n } else if (element.Variant1Price % 1 != 0) {\n this.toastr.info('Please enter only integer value');\n element.Variant1Price = 0;\n this.IsQuotationDataValid = false;\n } else if (strprice.includes(\".\")) {\n this.toastr.info('Please enter valid price');\n element.Variant1Price = 0;\n this.IsQuotationDataValid = false;\n }\n else {\n element.var1_POR_Validation = false;\n }\n this.calculateTotalPricesForProduct(index, 1);\n }\n var2PORChange(index) {\n var element = this.QuotationData.QuotationObj[index];\n let strprice = element.Variant2Price.toString();\n if (this.IsQuotationPriceOnRequest && element.IsPriceOnRequest_Variant2 && (element.Variant2Price == undefined || element.Variant2Price == null || (element.Variant2Price == 0 && element.Units_Variant2 != 0) || (element.Variant2Price != 0 && element.Units_Variant2 == 0))) {\n element.var2_POR_Validation = true;\n this.IsQuotationDataValid = false;\n } else if (this.IsQuotationPriceOnRequest && element.IsPriceOnRequest_Variant2 && (element.Variant2Price < 0)) {\n element.var2_POR_Validation = true;\n this.IsQuotationDataValid = false;\n } else if (element.Variant2Price % 1 != 0) {\n this.toastr.info('Please enter only integer value');\n element.Variant2Price = 0;\n this.IsQuotationDataValid = false;\n } else if (strprice.includes(\".\")) {\n this.toastr.info('Please enter valid price');\n element.Variant2Price = 0;\n this.IsQuotationDataValid = false;\n }\n else {\n element.var2_POR_Validation = false;\n }\n this.calculateTotalPricesForProduct(index, 1);\n }\n var3PORChange(index) {\n var element = this.QuotationData.QuotationObj[index];\n let strprice = element.Variant3Price.toString();\n if (this.IsQuotationPriceOnRequest && element.IsPriceOnRequest_Variant3 && (element.Variant3Price == undefined || element.Variant3Price == null || (element.Variant3Price == 0 && element.Units_Variant3 != 0) || (element.Variant3Price != 0 && element.Units_Variant3 == 0))) {\n element.var3_POR_Validation = true;\n this.IsQuotationDataValid = false;\n } else if (this.IsQuotationPriceOnRequest && element.IsPriceOnRequest_Variant3 && (element.Variant3Price < 0)) {\n element.var3_POR_Validation = true;\n this.IsQuotationDataValid = false;\n } else if (element.Variant3Price % 1 != 0) {\n this.toastr.info('Please enter only integer value');\n element.Variant3Price = 0;\n this.IsQuotationDataValid = false;\n } else if (strprice.includes(\".\")) {\n this.toastr.info('Please enter valid price');\n element.Variant3Price = 0;\n this.IsQuotationDataValid = false;\n }\n else {\n element.var3_POR_Validation = false;\n this.IsQuotationDataValid = true;\n }\n this.calculateTotalPricesForProduct(index, 1);\n }\n var4PORChange(index) {\n var element = this.QuotationData.QuotationObj[index];\n let strprice = element.Variant4Price.toString();\n if (this.IsQuotationPriceOnRequest && element.IsPriceOnRequest_Variant4 && (element.Variant4Price == undefined || element.Variant4Price == null || (element.Variant4Price == 0 && element.Units_Variant4 != 0) || (element.Variant4Price != 0 && element.Units_Variant4 == 0))) {\n element.var4_POR_Validation = true;\n this.IsQuotationDataValid = false;\n } else if (this.IsQuotationPriceOnRequest && element.IsPriceOnRequest_Variant4 && (element.Variant4Price < 0)) {\n element.var4_POR_Validation = true;\n this.IsQuotationDataValid = false;\n } else if (element.Variant4Price % 1 != 0) {\n this.toastr.info('Please enter only integer value');\n element.Variant4Price = 0;\n this.IsQuotationDataValid = false;\n }\n else if (strprice.includes(\".\")) {\n this.toastr.info('Please enter valid price');\n element.Variant4Price = 0;\n this.IsQuotationDataValid = false;\n }\n else {\n element.var4_POR_Validation = false;\n }\n this.calculateTotalPricesForProduct(index, 1);\n }\n varOptionPORChange(i, j) {\n var element = this.QuotationData.QuotationObj[i];\n let strprice = element.Options[j].Price.toString();\n if (this.IsQuotationPriceOnRequest && element.IsPriceOnRequest_Option && (element.Options[j].Price == undefined || element.Options[j].Price == null || element.Options[j].Price == 0)) {\n element.Options[j].optionValid = true;\n this.IsQuotationDataValid = false;\n } else if (this.IsQuotationPriceOnRequest && element.IsPriceOnRequest_Option && element.Options[j].Price < 0) {\n element.Options[j].optionValid = true;\n this.IsQuotationDataValid = false;\n } else if (element.Options[j].Price % 1 != 0) {\n this.toastr.info('Please enter only integer value');\n element.Options[j].Price = 0;\n this.IsQuotationDataValid = false;\n }\n else if (strprice.includes(\".\")) {\n this.toastr.info('Please enter valid price');\n element.Options[j].Price = 0;\n this.IsQuotationDataValid = false;\n }\n else {\n element.Options[j].optionValid = false;\n this.IsQuotationDataValid = true;\n }\n this.calculateTotalPricesForProduct(i, 1);\n }\n\n onQuatityChange(index) {\n\n let strquantity = this.QuotationData.QuotationObj[index].Quantity.toString();\n if ((this.QuotationData.QuotationObj[index].Quantity == 0 || this.QuotationData.QuotationObj[index].Quantity == null || this.QuotationData.QuotationObj[index].Quantity == undefined)) {\n this.QuotationData.QuotationObj[index].Quantity = 1;\n } else if (this.QuotationData.QuotationObj[index].Quantity % 1 != 0) {\n this.QuotationData.QuotationObj[index].QuantityValidation = true;\n return;\n } else {\n this.QuotationData.QuotationObj[index].QuantityValidation = false;\n }\n if (this.QuotationData.QuotationObj[index].Quantity > 1000) {\n this.QuotationData.QuotationObj[index].QuantityRangeValidation = true;\n return;\n } else if (this.QuotationData.QuotationObj[index].Quantity < 1) {\n this.QuotationData.QuotationObj[index].QuantityValidation = true;\n return;\n } else if (strquantity.includes(\".\")) {\n this.toastr.info('Please enter valid Quantity');\n this.QuotationData.QuotationObj[index].Quantity = null;\n return;\n }\n else {\n this.QuotationData.QuotationObj[index].QuantityRangeValidation = false;\n }\n this.calculateTotalPricesForProduct(index, 1);\n }\n maxDiscount: number = 0;\n getMaxDiscountAndAuthorities() {\n //FOR EVERY CHANGE OF DISCOUNT WE ARE FETCHING THE SALES PRICE AUTHORITIES FOR WORKFLOW PROCESS\n this.maxDiscount = 0;\n this.QuotationData.QuotationObj.forEach(element => {\n if (this.maxDiscount < element.Discount) {\n this.maxDiscount = element.Discount;\n }\n });\n //this.getPriceDiscountApprovalAuthority();\n }\n\n onDiscountChange(index) {\n \n this.getPriceDiscountApprovalAuthorityByPayload();\n // this.getPriceDiscountApprovalAuthority();\n\n if ((this.QuotationData.QuotationObj[index].Discount < 0) || (this.QuotationData.QuotationObj[index].Varient1_Discount < 0)\n || (this.QuotationData.QuotationObj[index].Varient2_Discount < 0) || (this.QuotationData.QuotationObj[index].Varient4_Discount < 0)\n || (this.QuotationData.QuotationObj[index].Varient4_Discount < 0) || (this.QuotationData.QuotationObj[index].Option_Discount < 0)\n || (this.specialPkgDiscount < 0) ||(this.QuotationData.QuotationObj[index].Model_Discount<0)) {\n this.QuotationData.QuotationObj[index].Discount = 0;\n this.QuotationData.QuotationObj[index].Model_Discount=0;\n this.QuotationData.QuotationObj[index].Varient1_Discount = 0;\n this.QuotationData.QuotationObj[index].Varient2_Discount = 0;\n this.QuotationData.QuotationObj[index].Varient3_Discount = 0;\n this.QuotationData.QuotationObj[index].Varient4_Discount = 0;\n this.QuotationData.QuotationObj[index].Option_Discount = 0;\n }\n else if ((this.QuotationData.QuotationObj[index].Discount > 100)) {\n this.QuotationData.QuotationObj[index].Discount = 0;\n return;\n }\n else if ((this.QuotationData.QuotationObj[index].Model_Discount > 100)) {\n this.QuotationData.QuotationObj[index].Model_Discount = 0;\n return;\n }\n else if ((this.QuotationData.QuotationObj[index].Varient1_Discount > 100)) {\n this.QuotationData.QuotationObj[index].Varient1_Discount = 0;\n return;\n }\n else if ((this.QuotationData.QuotationObj[index].Varient2_Discount > 100)) {\n this.QuotationData.QuotationObj[index].Varient2_Discount = 0;\n return;\n }\n else if ((this.QuotationData.QuotationObj[index].Varient3_Discount > 100)) {\n this.QuotationData.QuotationObj[index].Varient3_Discount = 0;\n return;\n }\n else if ((this.QuotationData.QuotationObj[index].Varient4_Discount > 100)) {\n this.QuotationData.QuotationObj[index].Varient4_Discount = 0;\n return;\n }\n else if ((this.QuotationData.QuotationObj[index].Option_Discount > 100)) {\n this.QuotationData.QuotationObj[index].Option_Discount = 0;\n return;\n }\n else if (this.QuotationData.QuotationObj[index].Discount % 1 != 0) {\n this.QuotationData.QuotationObj[index].Discount;\n }\n else if (this.QuotationData.QuotationObj[index].Model_Discount % 1 != 0) {\n this.QuotationData.QuotationObj[index].Model_Discount ;\n }\n else if (this.QuotationData.QuotationObj[index].Varient1_Discount % 1 != 0) {\n this.QuotationData.QuotationObj[index].Varient1_Discount ;\n }\n else if (this.QuotationData.QuotationObj[index].Varient2_Discount % 1 != 0) {\n this.QuotationData.QuotationObj[index].Varient2_Discount ;\n }\n else if (this.QuotationData.QuotationObj[index].Varient3_Discount % 1 != 0) {\n this.QuotationData.QuotationObj[index].Varient3_Discount ;\n }\n else if (this.QuotationData.QuotationObj[index].Varient4_Discount % 1 != 0) {\n this.QuotationData.QuotationObj[index].Varient4_Discount ;\n }\n else if (this.QuotationData.QuotationObj[index].Option_Discount % 1 != 0) {\n this.QuotationData.QuotationObj[index].Option_Discount ;\n }\n else {\n this.QuotationData.QuotationObj[index].DiscountValidation = false;\n }\n this.calculateTotalPricesForProduct(index, 1);\n }\n\n\n SetStatus(rule) {\n this.QuotationData.QuotationInfo.EnquiryStatus = rule.workflowNextStatusId;\n this.AddQuotation(rule);\n }\n\n checkQuotationGridValidation(flag) {\n var inde = 0;\n this.ispriceOnrequestTrigger=false;\n this.QuotationData.QuotationObj.forEach(element => {\n if (element.ProductSeries == undefined || element.ProductSeries == null || element.ProductSeries == 0) {\n element.ProductSeriesValidation = true;\n this.IsQuotationDataValid = false;\n }\n if (element.ProductModel == undefined || element.ProductModel == null || element.ProductModel == 0) {\n element.ProductModelValidation = true;\n this.IsQuotationDataValid = false;\n }\n if (!element.ProductModelValidation && element.Variant1Label && (element.Variant1 == undefined || element.Variant1 == null || element.Variant1 == 0)) {\n element.Variant1Validation = true;\n this.IsQuotationDataValid = false;\n }\n if (!element.ProductModelValidation && element.Variant2Label && (element.Variant2 == undefined || element.Variant2 == null || element.Variant2 == 0)) {\n element.Variant2Validation = true;\n this.IsQuotationDataValid = false;\n }\n if (!element.ProductModelValidation && element.Variant3Label && (element.Variant3 == undefined || element.Variant3 == null || element.Variant3 == 0)) {\n element.Variant3Validation = true;\n this.IsQuotationDataValid = false;\n }\n if (!element.ProductModelValidation && element.Variant4Label && (element.Variant4 == undefined || element.Variant4 == null || element.Variant4 == 0)) {\n element.Variant4Validation = true;\n this.IsQuotationDataValid = false;\n }\n // if (element.Options == undefined || element.Options == null || element.Options.length == 0) {\n // element.OptionsValidation = true;\n // this.IsQuotationDataValid = false;\n // }\n if (element.Quantity == undefined || element.Quantity == null || element.Quantity == 0) {\n element.QuantityValidation = true;\n this.IsQuotationDataValid = false;\n }\n if (element.Discount < 0) {\n element.DiscountValidation = true;\n this.IsQuotationDataValid = false;\n }\n\n if (element.Discount > 100) {\n element.DiscountValidation = true;\n this.IsQuotationDataValid = false;\n }\n\n // {\n\n if (this.IsQuotationPriceOnRequest && flag == 1 && element.IsPriceOnRequest_Option && x.IsPriceOnRequest && (x.Price == undefined || x.Price == null || x.Price == 0)) {\n element.ShowOptionPriceOnRequestGrid = true;\n x.optionValid = true;\n this.IsQuotationDataValid = false;\n this.ispriceOnrequestTrigger=true;\n }\n\n });\n\n }\n //>\n //\n var seriesname = this.productDrpdnDetails.ProductSeries.filter(x => x.Id == element.ProductSeries)[0]?.Name;\n if ((seriesname == 'HG' || seriesname == 'HN')) {\n if (element.IsUnits_Variant1 && element.Units_Variant1 % 100 != 0) {\n element.var1_Unit_Validation = true;\n this.IsQuotationDataValid = false;\n }\n if (element.IsUnits_Variant2 && element.Units_Variant2 % 100 != 0) {\n element.var2_Unit_Validation = true;\n this.IsQuotationDataValid = false;\n }\n if (element.IsUnits_Variant3 && element.Units_Variant3 % 100 != 0) {\n element.var3_Unit_Validation = true;\n this.IsQuotationDataValid = false;\n }\n if (element.IsUnits_Variant4 && element.Units_Variant4 % 100 != 0) {\n element.var4_Unit_Validation = true;\n this.IsQuotationDataValid = false;\n }\n }\n inde++;\n });\n }\n onKindAttChange() {\n if (this.QuotationData.QuotationInfo.KindAttention == \"\" || this.QuotationData.QuotationInfo.KindAttention == undefined || this.QuotationData.QuotationInfo.KindAttention == null) {\n this.IsQuotationDataValid = false;\n this.KindAttValidation = true;\n } else {\n this.KindAttValidation = false;\n }\n }\n onKindAttContactNumberChange() {\n if (this.QuotationData.QuotationInfo.KindAttContactNo == \"\" || this.QuotationData.QuotationInfo.KindAttContactNo == undefined || this.QuotationData.QuotationInfo.KindAttContactNo == null) {\n this.IsQuotationDataValid = false;\n this.KindAttContactNoValidilation = true;\n this.KingAttConactNumberValidationMsg = \"Contact Number is required\"\n }\n else if (this.QuotationData.QuotationInfo.KindAttContactNo.match(/^[0-9]+$/) == null) {\n this.IsQuotationDataValid = false;\n this.KindAttContactNoValidilation = true;\n this.KingAttConactNumberValidationMsg = \"Please enter valid contact number\"\n }\n else if (this.QuotationData.QuotationInfo.KindAttContactNo.length < 10) {\n this.IsQuotationDataValid = false;\n this.KindAttContactNoValidilation = true;\n this.KingAttConactNumberValidationMsg = \"Contact number should be 10-15 digits\"\n }\n\n else {\n this.KindAttContactNoValidilation = false;\n this.KingAttConactNumberValidationMsg = \"\"\n }\n }\n onKindAttEmailChange() {\n if (this.QuotationData.QuotationInfo.KindAttEmailId == \"\" || this.QuotationData.QuotationInfo.KindAttEmailId == undefined || this.QuotationData.QuotationInfo.KindAttEmailId == null) {\n this.IsQuotationDataValid = false;\n this.KindAttEmailValidilation = true;\n this.KingAttEmailValidationMsg = \"Email is required\"\n }\n else if (!(/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$/.test(this.QuotationData.QuotationInfo.KindAttEmailId))) {\n this.IsQuotationDataValid = false;\n this.KindAttEmailValidilation = true;\n // Replace the placeholder [emailFormat] with the dynamic email format\n this.KingAttEmailValidationMsg = this.KingAttEmailValidationMsg.replace('[emailFormat]', this.mailIdFormat);\n // this.KingAttEmailValidationMsg = \"Should be in Email Id format (e.g. user@ecotech.com)\"\n }\n\n else {\n this.KindAttEmailValidilation = false;\n this.KingAttEmailValidationMsg = \"\"\n }\n }\n onYourRefChange() {\n if (this.QuotationData.QuotationInfo.YourReference == \"\" || this.QuotationData.QuotationInfo.YourReference == undefined || this.QuotationData.QuotationInfo.YourReference == null) {\n this.IsQuotationDataValid = false;\n this.YourRefValidation = true;\n } else {\n this.YourRefValidation = false;\n }\n }\n onRefDateChange() {\n if (this.QuotationData.QuotationInfo.ReferenceDateISO == \"\" || this.QuotationData.QuotationInfo.ReferenceDateISO == undefined || this.QuotationData.QuotationInfo.ReferenceDateISO == null) {\n this.IsQuotationDataValid = false;\n this.RefDateValidation = true;\n } else {\n this.RefDateValidation = false;\n }\n }\n\n checkPriceOnRequestCostsAndUnits() {\n var inde = 0;\n this.isPricesRequestedBeforeSubmit = true;\n this.QuotationData.QuotationObj.forEach(element => {\n // {\n ele.Option_Discount = element.Option_Discount;\n ele.Option_FinalDiscount = element.Option_FinalDiscount;\n });\n element.showVariantOptionDiscount = this.showVarientDiscount;\n element.showVariantOptionPrice = this.showVarientandOptionPrice;\n element.showSpecialPrice = this.showSpecialPrice;\n element.Special_pkg_Discount = this.specialPkgDiscount;\n\n inde++;\n });\n\n }\n\n\n checkQuotationHeaderValidation() {\n this.IsQuotationDataValid = true;\n if (this.QuotationData.QuotationInfo.YourReference == \"\" || this.QuotationData.QuotationInfo.YourReference == undefined || this.QuotationData.QuotationInfo.YourReference == null) {\n this.YourRefValidation = true;\n this.IsQuotationDataValid = false;\n setTimeout(() => {\n this.yourRefElement.nativeElement.focus();\n }, 0);\n } else {\n this.YourRefValidation = false;\n }\n if (this.QuotationData.QuotationInfo.ReferenceDateISO == \"\" || this.QuotationData.QuotationInfo.ReferenceDateISO == undefined || this.QuotationData.QuotationInfo.ReferenceDateISO == null) {\n this.IsQuotationDataValid = false;\n this.RefDateValidation = true;\n setTimeout(() => {\n this.refDateElement.nativeElement.focus();\n }, 0);\n } else {\n this.RefDateValidation = false;\n }\n if (this.QuotationData.QuotationInfo.KindAttention == \"\" || this.QuotationData.QuotationInfo.KindAttention == undefined || this.QuotationData.QuotationInfo.KindAttention == null) {\n this.IsQuotationDataValid = false;\n this.KindAttValidation = true;\n setTimeout(() => {\n this.keyPerElement.nativeElement.focus();\n }, 0);\n } else {\n this.KindAttValidation = false;\n }\n if (this.QuotationData.QuotationInfo.KindAttEmailId == \"\" || this.QuotationData.QuotationInfo.KindAttEmailId == undefined || this.QuotationData.QuotationInfo.KindAttEmailId == null) {\n this.IsQuotationDataValid = false;\n this.KindAttEmailValidilation = true;\n this.KingAttEmailValidationMsg = \"Email is required\"\n setTimeout(() => {\n this.keyPerEmail.nativeElement.focus();\n }, 0);\n }\n else {\n this.KindAttEmailValidilation = false;\n }\n if (this.QuotationData.QuotationInfo.KindAttContactNo == \"\" || this.QuotationData.QuotationInfo.KindAttContactNo == undefined || this.QuotationData.QuotationInfo.KindAttContactNo == null) {\n this.IsQuotationDataValid = false;\n this.KindAttContactNoValidilation = true;\n this.KingAttConactNumberValidationMsg = \"Contact Number is required\"\n setTimeout(() => {\n this.keyPerCNo.nativeElement.focus();\n }, 0);\n }\n else if (this.QuotationData.QuotationInfo.KindAttContactNo.match(/^[0-9]+$/) == null) {\n this.IsQuotationDataValid = false;\n this.KindAttContactNoValidilation = true;\n this.KingAttConactNumberValidationMsg = \"Please enter valid contact number\";\n setTimeout(() => {\n this.keyPerCNo.nativeElement.focus();\n }, 0);\n }\n else if (this.QuotationData.QuotationInfo.KindAttContactNo.length < 10) {\n this.IsQuotationDataValid = false;\n this.KindAttContactNoValidilation = true;\n this.KingAttConactNumberValidationMsg = \"Contact number should be 10-15 digits\";\n setTimeout(() => {\n this.keyPerCNo.nativeElement.focus();\n }, 0);\n }\n else {\n this.KindAttContactNoValidilation = false;\n }\n if (!(/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$/.test(this.QuotationData.QuotationInfo.KindAttEmailId))) {\n this.IsQuotationDataValid = false;\n this.KindAttEmailValidilation = true;\n this.KingAttEmailValidationMsg = \"Should be in Email Id format (e.g. user@weiss.com)\"\n setTimeout(() => {\n this.keyPerEmail.nativeElement.focus();\n }, 0);\n }\n else {\n this.KindAttEmailValidilation = false;\n }\n\n if (this.QuotationData.QuotationInfo.QuotationComments == \"\" || this.QuotationData.QuotationInfo.QuotationComments == undefined || this.QuotationData.QuotationInfo.QuotationComments == null) {\n this.IsQuotationDataValid = false;\n this.QuoteCommentsValidation = true;\n setTimeout(() => {\n this.QuoteComm.nativeElement.focus();\n }, 0);\n }\n else {\n this.QuoteCommentsValidation = false;\n }\n \n if (this.QuotationData.QuotationInfo.SalesContactPerson == \"\" || this.QuotationData.QuotationInfo.SalesContactPerson == undefined || this.QuotationData.QuotationInfo.SalesContactPerson == null) {\n this.IsQuotationDataValid = false;\n this.SalesContactPersonValidation = true;\n setTimeout(() => {\n this.QuoteComm.nativeElement.focus();\n }, 0);\n }\n else {\n this.SalesContactPersonValidation = false;\n }\n\n }\n\n AddQuotation(rule) {\n \n this.checkQuotationHeaderValidation();\n if (!this.IsQuotationDataValid) {\n this.showLoader=false;\n return;\n }\n //CHECK IF ALL THE VALID FIELDS ARE PUT\n this.checkQuotationGridValidation(1);\n if(this.ispriceOnrequestTrigger)\n {\n this.toastr.info('It seems that the prices are provided which needs to be request first. Please press Price on Request button.');\n this.showLoader=false;\n return;\n }\n if (!this.IsQuotationDataValid) {\n this.showLoader=false;\n return;\n }\n //if (rule[0].workflowNextStatusId == this.enquiryStatusList.filter(x => x.Status == 'QuotationSaveAsDraftbyCustomerService')[0]?.Pk_Id) {\n this.assignValuetoObjects();\n //}\n\n this.role = localStorage.getItem(\"UserRole\");\n var isapplicationEng=this.UserRolesData.filter(x=>x.Name=='Internal Sales/Customer Service');\n if(isapplicationEng.length>0 && isapplicationEng[0].Id==this.role)\n {\n this.checkPriceOnRequestCostsAndUnits();\n if (!this.isPricesRequestedBeforeSubmit) {\n this.toastr.info('It seems that the prices are provided which needs to be request first. Please press Price on Request button.');\n this.showLoader=false;\n return;\n } \n }\n \n\n this.QuotationData.QuotationInfo.EnquiryStatus = rule[0].workflowNextStatusId;\n var confimrmsg = AppGlobals.successMessages.filter(x => x.id == rule[0].workflowNextStatusId)[0];\n if (this.QuotationData.QuotationInfo.FinalAmount < 0) {\n this.toastr.info(\"Quotation total amount can't be negative\");\n this.showLoader=false;\n return;\n }\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"You want to proceed?\"\n }\n });\n dialogRef.afterClosed().subscribe(dialogResult => {\n \n if (dialogResult) {\n this.showLoader=true;\n\n var kd = this.QuotationData.QuotationInfo.ReferenceDateISO.year + \"-\" + this.QuotationData.QuotationInfo.ReferenceDateISO.month + \"-\" + this.QuotationData.QuotationInfo.ReferenceDateISO.day;\n this.QuotationData.QuotationInfo.ReferenceDate = kd;\n //this.QuotationData.QuotationInfo.Fk_Customer_Id = this.CustomerDetailsObj.CustomerId;\n this.QuotationData.allseriesmodel = [];\n this.commonService.PostData(\"Enquiry\", \"AddQuotation\", this.QuotationData, null).subscribe((data: any) => {\n if (this.QuotationData.QuotationInfo.EnquiryStatus == this.enquiryStatusList.filter(x => x.Status == 'QuotationGeneratedbyCustomerService')[0]?.Pk_Id) {\n this.generatePDF();\n // this.getDatatoExport();\n } else {\n // this.getDatatoExport();\n this.showLoader=false;\n this.toastr.success(\"Quotation processed successfully\");\n this.activeModal.close('Close Click');\n window.location.reload();\n }\n }, error => {\n this.toastr.error(confimrmsg.errormsg);\n this.showLoader=false;\n //this.router.navigate(['/Enquiry']);\n });\n }\n else\n {\n this.showLoader=false;\n }\n });\n }\n\n generatePDF() {\n this.showLoader=true;\n let queryString = \"\";\n let url = this.QuotationPdfGenerationHostPath + \"PrintPdf/GeneratePdf?EnquiryId=\" + this.enquiObj.EnquiryId;\n queryString = \"Url=\" + url;\n\n this.commonService.GetData('Enquiry', 'GeneratePdf', queryString).subscribe((data: any) => {\n let res = data;\n this.toastr.success('Quotation Generated Successfully!');\n this.activeModal.close('Close Click');\n window.location.reload();\n this.showLoader=false;\n }, error => {\n this.toastr.error('Quotation not generated successfully!');\n this.showLoader=false;\n\n });\n }\n\n checkifPORPresent() {\n this.isPriceOnRequestValid = false;\n this.QuotationData.QuotationObj.forEach(element => {\n if (element.IsPriceOnRequest_Variant1) {\n this.isPriceOnRequestValid = true;\n }\n if (element.IsPriceOnRequest_Variant2) {\n this.isPriceOnRequestValid = true;\n }\n if (element.IsPriceOnRequest_Variant3) {\n this.isPriceOnRequestValid = true;\n }\n if (element.IsPriceOnRequest_Variant4) {\n this.isPriceOnRequestValid = true;\n }\n if (element.IsPriceOnRequest_Option) {\n this.isPriceOnRequestValid = true;\n }\n\n });\n }\n quotationPriceOnRequest(status) {\n\n this.checkQuotationHeaderValidation();\n if (!this.IsQuotationDataValid) {\n return;\n }\n //CHECK IF ALL THE VALID FIELDS ARE PUT\n this.checkQuotationGridValidation(0);\n if (!this.IsQuotationDataValid) {\n return;\n }\n this.checkifPORPresent();\n if (!this.isPriceOnRequestValid) {\n this.toastr.info('The price on request is not applicable as no product is present for price on request.');\n return;\n }\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"500px\",\n data: {\n title: \"Are you sure?\",\n message: \"Do you want to proceed for Price on Request?\"\n }\n });\n dialogRef.afterClosed().subscribe(dialogResult => {\n\n if (dialogResult) {\n this.showLoader=true;\n\n var kd = this.QuotationData.QuotationInfo.ReferenceDateISO.year + \"-\" + this.QuotationData.QuotationInfo.ReferenceDateISO.month + \"-\" + this.QuotationData.QuotationInfo.ReferenceDateISO.day;\n this.QuotationData.QuotationInfo.ReferenceDate = kd;\n this.QuotationData.QuotationInfo.EnquiryStatus = status;\n //this.QuotationData.QuotationInfo.Fk_Customer_Id = this.CustomerDetailsObj.CustomerId;\n\n this.commonService.PostData(\"Enquiry\", \"AddQuotation\", this.QuotationData, null).subscribe((data: any) => {\n\n this.toastr.success(\"Prices requested successfully!\");\n this.showLoader=false;\n this.activeModal.close('Close Click');\n window.location.reload();\n }, error => {\n this.toastr.error(\"Failed to add enquiry details!\");\n this.showLoader=false;\n });\n }\n });\n }\n\n\n closePopup() {\n this.activeModal.close('Close Click');\n }\n\n AddNewProduct() {\n var obj = new ProductDetailsModel();\n this.QuotationData.QuotationObj.push(obj);\n }\n DeleteProduct(index: any) {\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Do you want to delete this row?\"\n }\n });\n dialogRef.afterClosed().subscribe(dialogResult => {\n if (dialogResult) {\n if (index != null) {\n this.QuotationData.QuotationObj.splice(index, 1);\n } else {\n this.QuotationData.QuotationObj.pop();\n }\n // this.calculateTotalQuotationValues();\n this.calculateTotalPricesForProduct(index - 1, 0)\n }\n });\n }\n setColspan(index) {\n this.columnCount = 0;\n if (this.QuotationData.QuotationObj[index]?.Variant1Label) {\n this.columnCount = this.columnCount + 1;\n }\n if (this.QuotationData.QuotationObj[index]?.Variant2Label) {\n this.columnCount = this.columnCount + 1;\n }\n if (this.QuotationData.QuotationObj[index]?.Variant3Label) {\n this.columnCount = this.columnCount + 1;\n }\n if (this.QuotationData.QuotationObj[index]?.Variant4Label) {\n this.columnCount = this.columnCount + 1;\n }\n if (this.columnCount == 4) {\n this.QuotationData.QuotationObj[index].colspan1 = 1;\n this.QuotationData.QuotationObj[index].colspan2 = 1;\n this.QuotationData.QuotationObj[index].colspan3 = 1;\n this.QuotationData.QuotationObj[index].colspan4 = 1;\n } else if (this.columnCount == 3) {\n this.QuotationData.QuotationObj[index].colspan1 = 1;\n this.QuotationData.QuotationObj[index].colspan2 = 1;\n this.QuotationData.QuotationObj[index].colspan3 = 1;\n this.QuotationData.QuotationObj[index].colspan4 = 0;\n } else if (this.columnCount == 2) {\n this.QuotationData.QuotationObj[index].colspan1 = 1;\n this.QuotationData.QuotationObj[index].colspan2 = 1;\n this.QuotationData.QuotationObj[index].colspan3 = 0;\n this.QuotationData.QuotationObj[index].colspan4 = 0;\n } else if (this.columnCount == 1) {\n this.QuotationData.QuotationObj[index].colspan1 = 1;\n this.QuotationData.QuotationObj[index].colspan2 = 0;\n this.QuotationData.QuotationObj[index].colspan3 = 0;\n this.QuotationData.QuotationObj[index].colspan4 = 0;\n }\n }\n\n calculateTotalPricesForProduct(index, flag) {\n var modelprice = 0;\n var var1price = 0;\n var var2price = 0;\n var var3price = 0;\n var var4price = 0;\n var optionprice = 0;\n var QuotationObj = this.QuotationData.QuotationObj[index];\n\n modelprice = QuotationObj?.ProductModelPrice == undefined ? 0 : QuotationObj.ProductModelPrice;\n var1price = QuotationObj?.Variant1Price == undefined ? 0 : QuotationObj.Variant1Price;\n var2price = QuotationObj?.Variant2Price == undefined ? 0 : QuotationObj.Variant2Price;\n var3price = QuotationObj?.Variant3Price == undefined ? 0 : QuotationObj.Variant3Price;\n var4price = QuotationObj?.Variant4Price == undefined ? 0 : QuotationObj.Variant4Price;\n\n this.setColspan(index);\n\n if (flag == 0) {\n if (QuotationObj?.Units_Variant1 >= 0 && QuotationObj?.IsUnits_Variant1) {\n QuotationObj.Variant1Price = QuotationObj.Variant1Price * QuotationObj.Units_Variant1;\n var1price = QuotationObj.Variant1Price;\n }\n if (QuotationObj?.Units_Variant2 >= 0 && QuotationObj?.IsUnits_Variant2) {\n QuotationObj.Variant2Price = QuotationObj.Variant2Price * QuotationObj.Units_Variant2;\n var2price = QuotationObj.Variant2Price;\n }\n if (QuotationObj?.Units_Variant3 >= 0 && QuotationObj?.IsUnits_Variant3) {\n QuotationObj.Variant3Price = QuotationObj.Variant3Price * QuotationObj.Units_Variant3;\n var3price = QuotationObj.Variant3Price;\n }\n if (QuotationObj?.Units_Variant4 >= 0 && QuotationObj?.IsUnits_Variant4) {\n QuotationObj.Variant4Price = QuotationObj.Variant4Price * QuotationObj.Units_Variant4;\n var4price = QuotationObj.Variant4Price;\n }\n }\n\n QuotationObj.PerUnitAmount = QuotationObj?.PerUnitAmount == undefined ? 0 : QuotationObj.PerUnitAmount;\n QuotationObj.TotalAmount = QuotationObj?.TotalAmount == undefined ? 0 : QuotationObj.TotalAmount;\n QuotationObj.FinalAmount = QuotationObj?.FinalAmount == undefined ? 0 : QuotationObj.FinalAmount;\n QuotationObj.OptionsPrice = 0;\n QuotationObj.Options?.forEach(element => {\n QuotationObj.OptionsPrice = QuotationObj?.OptionsPrice + element.Price;\n optionprice = optionprice + element.Price;\n });\n\n QuotationObj.PerUnitAmount = modelprice + var1price + var2price + var3price + var4price + optionprice;\n QuotationObj.Variant1 = (QuotationObj.Variant1 == null || QuotationObj.Variant1 == undefined) ? null : QuotationObj.Variant1;\n QuotationObj.Variant2 = (QuotationObj.Variant2 == null || QuotationObj.Variant2 == undefined) ? null : QuotationObj.Variant2;\n QuotationObj.Variant3 = (QuotationObj.Variant3 == null || QuotationObj.Variant3 == undefined) ? null : QuotationObj.Variant3;\n QuotationObj.Variant4 = (QuotationObj.Variant4 == null || QuotationObj.Variant4 == undefined) ? null : QuotationObj.Variant4;\n QuotationObj.Discount = (QuotationObj.Discount == null || QuotationObj.Discount == undefined) ? null : QuotationObj.Discount;\n\n\n //****************for All Discount selection******************** */\n // if(this.discountaddmanually)\n // {\n if (this.QuotationData.QuotationObj[index]?.colspan1 == 1) {\n var percent = 100 - QuotationObj.Varient1_Discount;\n QuotationObj.Varient1_FinalPrice = Math.round(var1price * QuotationObj.Quantity * (percent / 100));\n }\n\n if (this.QuotationData.QuotationObj[index]?.colspan2 == 1) {\n var percent = 100 - QuotationObj.Varient2_Discount;\n QuotationObj.Varient2_FinalPrice = Math.round(var2price * QuotationObj.Quantity * (percent / 100));\n }\n\n if (this.QuotationData.QuotationObj[index]?.colspan3 == 1) {\n\n var percent = 100 - QuotationObj.Varient3_Discount;\n QuotationObj.Varient3_FinalPrice = Math.round(var3price * QuotationObj.Quantity * (percent / 100));\n }\n\n if (this.QuotationData.QuotationObj[index]?.colspan4 == 1) {\n var percent = 100 - QuotationObj.Varient4_Discount;\n QuotationObj.Varient4_FinalPrice = Math.round(var4price * QuotationObj.Quantity * (percent / 100));\n }\n\n var percen=100-QuotationObj.Model_Discount;\n QuotationObj.Model_FinalPrice=Math.round(modelprice * QuotationObj.Quantity*(percen/100));\n\n this.QuotationData.QuotationObj[index].Option_Discount = this.QuotationData.QuotationObj[index]?.Option_Discount == undefined ? 0 : this.QuotationData.QuotationObj[index]?.Option_Discount;\n var percent = 100 - QuotationObj.Option_Discount;\n QuotationObj.Option_FinalDiscount = Math.round(optionprice * QuotationObj.Quantity * (percent / 100));\n\n var percent = 100 - QuotationObj.Discount;\n QuotationObj.TotalAfterDiscount = Math.round(QuotationObj.PerUnitAmount * QuotationObj.Quantity * (percent / 100));\n\n if (this.discountaddmanually) {\n var modelfinalprice = this.QuotationData.QuotationObj[index].ProductModelPrice * QuotationObj.Quantity;\n\n QuotationObj.TotalAfterDiscount = Math.round(QuotationObj.Varient1_FinalPrice + QuotationObj.Varient2_FinalPrice + QuotationObj.Varient3_FinalPrice + QuotationObj.Varient4_FinalPrice + QuotationObj.Option_FinalDiscount + QuotationObj.Model_FinalPrice);\n var final = QuotationObj.TotalAfterDiscount;\n }\n else {\n final = QuotationObj.TotalAfterDiscount;\n }\n\n QuotationObj.FinalAmount = Math.round(final);\n\n this.calculateTotalQuotationValues();\n this.setspecialDiscountPrice();\n //}\n\n //****************for individual Discount selection******************** */\n // else \n // {\n // var percent = 100 - QuotationObj.Discount;\n // QuotationObj.TotalforRfqdiscount = QuotationObj.PerUnitAmount * QuotationObj.Quantity * (percent / 100);\n // final= QuotationObj.TotalforRfqdiscount;\n\n // QuotationObj.FinalAmount = Math.round(final);\n // this.calculateTotalQuotationValues();\n // this.setspecialDiscountPrice();\n // }\n }\n\n calculateTotalQuotationValues() {\n this.QuotationData.QuotationInfo.PerUnitAmount = 0;\n this.QuotationData.QuotationInfo.TotalAmount = 0;\n this.QuotationData.QuotationInfo.FinalAmount = 0;\n var final = 0;\n this.QuotationData.QuotationObj.forEach(element => {\n this.QuotationData.QuotationInfo.PerUnitAmount = this.QuotationData.QuotationInfo.PerUnitAmount + element.PerUnitAmount;\n this.QuotationData.QuotationInfo.TotalAmount = this.QuotationData.QuotationInfo.TotalAmount + element.TotalAmount;\n\n final = parseFloat(final.toString()) + parseFloat(element.FinalAmount);\n\n var amount = this.QuotationData.QuotationInfo.FinalAmount + element.FinalAmount;\n this.QuotationData.QuotationInfo.FinalAmount = Math.round(amount);\n\n });\n\n this.QuotationData.QuotationInfo.FinalAmount = Math.round(final);\n this.finalpricewithoutspecialdiscount = this.QuotationData.QuotationInfo.FinalAmount;\n }\n convertDate(date: any) {\n let year = date.year;\n let month = date.month;\n let day = date.day;\n return year + \"-\" + month + \"-\" + day;\n }\n\n /*******************************************************************************\n * Form validation method\n * ******************************************************************************/\n\n isNumberKey(evt: any) {\n this.charCode = (evt.which) ? evt.which : evt.keyCode;\n if\n (this.charCode != 46 && this.charCode > 31\n && (this.charCode < 48 || this.charCode > 57)) {\n return false;\n\n }\n else {\n return true;\n }\n }\n\n\n\n\n isintNumberKey(evt: any) {\n this.charCode = (evt.which) ? evt.which : evt.keyCode;\n if ((this.charCode == 46 || this.charCode == 45 || this.charCode == 43) && this.charCode > 31\n && (this.charCode < 48 || this.charCode > 57)) {\n return false;\n }\n else {\n return true;\n }\n }\n\n\n AvoidSpace(event: any) {\n if (event.which === 32 && !event.target.value.length) {\n event.preventDefault();\n }\n }\n\n limitTextOnKeyUpDown1(event: any) {\n let goalText = event.target.value;\n if (goalText.length > this.maxLimit) {\n this.varLongTermGoal = goalText.substring(0, this.maxLimit);\n } else {\n this.remLimit = this.maxLimit - goalText.length;\n }\n\n if (this.QuotationData.QuotationInfo.QuotationComments == \"\" || this.QuotationData.QuotationInfo.QuotationComments == undefined || this.QuotationData.QuotationInfo.QuotationComments == null) {\n this.IsQuotationDataValid = false;\n this.QuoteCommentsValidation = true;\n } else {\n this.QuoteCommentsValidation = false;\n }\n }\n\n //********************************* For Discount Fields ************* Variant1Label*/\n setDiscountType() {\n if (this.DiscountforOneOrAll == 1) {\n this.QuotationData.QuotationObj.forEach(element => {\n this.discountaddmanually = false;\n this.isfetchfromRFQ = true;\n this.showOverallDiscount=false;\n element.Model_Discount=0;\n element.Varient1_Discount = 0;\n element.Varient2_Discount = 0;\n element.Varient3_Discount = 0;\n element.Varient4_Discount = 0;\n element.Option_Discount = 0;\n\n // element.Varient1_Discount = element.Variant1Label.trim().length === 0 ? 0 : element.Discount;\n // element.Varient2_Discount = element.Variant2Label.trim().length === 0 ? 0 : element.Discount;\n // element.Varient3_Discount = element.Variant3Label.trim().length === 0 ? 0 : element.Discount;\n // element.Varient4_Discount = element.Variant4Label.trim().length === 0 ? 0 : element.Discount;\n \n // element.Option_Discount = element.Options.length === 0 ? 0 : element.Discount;\n var inde = 0;\n this.calculateTotalPricesForProduct(inde, 1);\n inde++;\n });\n }\n else {\n this.QuotationData.QuotationObj.forEach(element => {\n this.discountaddmanually = true;\n this.isfetchfromRFQ = false;\n this.showOverallDiscount=true;\n element.Discount=0;\n if (element.Varient1_Discount == null || element.Varient2_Discount == null || element.Varient3_Discount == null || element.Varient4_Discount == null || element.Option_Discount == null||element.Model_Discount==null) {\n element.Model_Discount=0;\n element.Varient1_Discount = 0;\n element.Varient2_Discount = 0;\n element.Varient3_Discount = 0;\n element.Varient4_Discount = 0;\n element.Option_Discount = 0;\n }\n var inde = 0;\n this.calculateTotalPricesForProduct(inde, 1);\n inde++;\n });\n }\n }\n checkVarientPrice(event) {\n if (event.target.checked) {\n this.showVarientandOptionPrice = true;\n this.showSpecialPrice = false;\n }\n else {\n this.showVarientandOptionPrice = false;\n }\n }\n checkVarientDiscount(event) {\n if (event.target.checked) {\n this.showVarientDiscount = true;\n this.showSpecialPrice = false;\n }\n else {\n this.showVarientDiscount = false;\n }\n }\n checkSpecialPrice(event) {\n if (event.target.checked) {\n this.showSpecialPrice = true;\n this.showVarientandOptionPrice = false;\n this.showVarientDiscount = false;\n }\n else {\n this.showSpecialPrice = false;\n }\n }\n\n setspecialDiscountPrice() {\n if ((this.specialPkgDiscount < 0)) {\n this.specialPkgDiscount = 0;\n return;\n }\n else if ((this.specialPkgDiscount > 100)) {\n this.specialPkgDiscount = 0;\n return;\n }\n else if (this.specialPkgDiscount != 0) {\n var percent = 100 - this.specialPkgDiscount;\n var calculate = this.finalpricewithoutspecialdiscount * (percent / 100);\n this.QuotationData.QuotationInfo.FinalAmount = Math.round(calculate);\n this.specialPkgDiscount = this.specialPkgDiscount;\n }\n else if (this.specialPkgDiscount == 0) {\n this.QuotationData.QuotationInfo.FinalAmount = Math.round(this.finalpricewithoutspecialdiscount);\n }\n }\n\n assignValuetoObjects() {\n var ind = 0;\n this.QuotationData.QuotationObj.forEach(element => {\n element.Options.forEach(ele => {\n ele.Option_Discount = element.Option_Discount;\n ele.Option_FinalDiscount = element.Option_FinalDiscount;\n });\n element.showVariantOptionDiscount = this.showVarientDiscount;\n element.showVariantOptionPrice = this.showVarientandOptionPrice;\n element.showSpecialPrice = this.showSpecialPrice;\n element.Special_pkg_Discount = this.specialPkgDiscount;\n\n ind++;\n });\n }\n\n\n getWorkflowActions() {\n let queryString = \"\";\n queryString = \"enquiryId=\" + this.enquiObj.EnquiryId + \"&workflowId=\" + this.workflowId;\n\n this.showLoader=true;\n this.commonService.GetData(\"EnquiryWorkflowTransitionRules\", \"GetTransitionRulesByStatus\", queryString).subscribe((data: any) => {\n \n if (data != null) { \n this.workflowActionList=data;\n }\n this.showLoader=false;\n }, error => {\n this.showLoader=false;\n });\n }\n\n getEnquiryStatus() {\n \n this.showLoader=true;\n \n let tracker = this.commonService.GetData(\"Enquiry\", \"GetEnquiryStatus\", null);\n \n tracker.subscribe((data: any) => {\n this.enquiryStatusList = data;\n this.showLoader=false;\n }, error => {\n this.showLoader=false;\n });\n\n return tracker;\n\n }\n\n OnWorkflowAction(QuotationForm: NgForm, workflowActionId: number) {\n this.showLoader=true;\n var rule = this.workflowActionList.filter(x => x.workflowActionId == workflowActionId);\n var priceOnRequestRule = this.workflowActionList.filter(x => x.workflowActionCode == \"PriceOnRequest\");\n if (priceOnRequestRule.length > 0 && rule[0].workflowActionId == priceOnRequestRule[0].workflowActionId) {\n this.quotationPriceOnRequest(priceOnRequestRule[0].workflowNextStatusId);\n this.showLoader=false;\n return;\n }\n\n QuotationForm.control.markAllAsTouched();\n if (QuotationForm.invalid) {\n this.toastr.error(\"Please fill required information\");\n this.showLoader=false;\n return;\n }\n this.AddQuotation(rule);\n // this.showLoader=false;\n }\n// getPriceDiscountApprovalAuthority() {\n// let queryString = \"\";\n// queryString = \"enquiryId=\" + this.QuotationData.QuotationInfo.EnquiryId;\n// this.showLoader=true;\n// this.commonService.GetData(\"EnquiryWorkflowTransitionRules\", \"getPriceDiscountApprovalAuthority\", queryString).subscribe((data: any) => {\n// this.authorityLevels = data;\n \n// this.showLoader=false;\n \n// this.cd.detectChanges();\n// }, error => {\n// this.showLoader=false;\n// });\n// }\n \n\n changeSalesContactPerson(value: any) {\n var employee = this.EmployeeData?.filter(x => x.Fk_User_Id == value);\n this.QuotationData.QuotationInfo.ContactNumber = employee[0].ContactNumber;\n if (this.QuotationData.QuotationInfo.SalesContactPerson == \"\" || this.QuotationData.QuotationInfo.SalesContactPerson == undefined || this.QuotationData.QuotationInfo.SalesContactPerson == null) {\n this.IsQuotationDataValid = false;\n this.SalesContactPersonValidation = true;\n } else {\n this.SalesContactPersonValidation = false;\n }\n }\n\n hasAccesstoFillQtyDiscount()\n {\n this.showLoader = true;\n this.commonService.GetData(\"Account\", \"GetAllRoles\", null).subscribe((data: any) => {\n this.Roles = data;\n this.Roles=this.Roles.filter(x=>x.Id==this.role);\n this.showOverallDiscount=true;\n if(this.Roles[0].Id==\"1\"||this.Roles[0].Id==\"14\"){\n this.isQtyDiscountEditable=false;\n this.isfetchfromRFQ=true;\n this.discountaddmanually=true;\n \n }else{\n this.isQtyDiscountEditable=true;\n this.isfetchfromRFQ=true;\n this.discountaddmanually=true;\n }\n \n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n getPORAuthorities()\n {\n this.commonService.GetData(\"EnquiryWorkflowTransitionRules\", \"getPriceOnRequestAuthority\", null).subscribe((data: any) => {\n this.priceOnRequestAuthorities = data; \n if(this.priceOnRequestAuthorities.length>0)\n {\n if(this.priceOnRequestAuthorities.filter(x=>x.Fk_RoleId==localStorage.getItem(\"UserRole\")).length>0)\n {\n this.priceonRequestDisabled=false;\n }\n }\n this.cd.detectChanges();\n // console.log(this.QuotationData.QuotationObj);\n }, error => {\n this.showLoader=false;\n });\n }\n OnSalesPriceChange(index) {\n //this.QuotationData.QuotationObj[index] = false;\n \n }\n\n getFrameAgreement(index) {\n //this.QuotationData.QuotationObj[index].ProductModelValidation = false;\n let queryString = \"\";\n queryString = \"id=\" + this.CustomerDetailsObj.CustomerId;\n this.commonService.GetData(\"CustomerSpecialDiscount\", \"GetById\", queryString).subscribe((data: any) => {\n this.EnquiryObj.CustomerSpecialDiscountdtls = data; \n var productModelList=data.filter(x=>x.Fk_ProductModel==this.QuotationData.QuotationObj[index].ProductModel);\n if(productModelList.length >0)\n {\n this.QuotationData.QuotationObj[index].Discount=productModelList[0].ProductDiscount;\n // this.getPriceDiscountApprovalAuthority();\n //this.frameAgreemtdiscountDisabled=true;\n } \n });\n }\n getUserRoles(){\n this.showLoader=true;\n this.commonService.GetData(\"Account\", \"GetAll\", null).subscribe((data: any) => {\n this.UserRolesData = data;\n this.isAppEngRoles=false;\n let appEngRoles=data.filter(x=>x.Name=='Application Engineering L1' || x.Name=='Application Engineering L2' || x.Name=='Application Engineering L3');\n if(appEngRoles.length>0)\n {\n if(appEngRoles.filter(x=>x.Id==this.role).length>0)\n {\n this.isAppEngRoles=true;\n }\n }\n this.showLoader=false;\n }, error => {\n this.showLoader=false;\n });\n }\n\n getPriceDiscountApprovalAuthorityByPayload() {\n \n //this.showLoader=true;\n \n this.commonService.PostData(\"EnquiryWorkflowTransitionRules\", \"getPriceDiscountApprovalAuthorityByPayload\", this.QuotationData,null).subscribe((data: any) => {\n // th(is.authorityLevels = data;\n if(!(data==null || data==0))\n {\n this.workflowActionList.filter(x=>x.workflowActionName==\"Submit\")[0].workflowNextStatusId=data;\n }\n //this.showLoader=false;\n \n this.cd.detectChanges();\n }, error => {\n //this.showLoader=false;\n });\n }\n\n GetVarientDropdowndataforModel(index) {\n \n let queryString = \"\";\n queryString = \"ProductModelId=\" + this.QuotationData.QuotationObj[index].ProductModel;\n // this.commonService.GetData(\"Enquiry\", \"GetQuotationVariantDropdownData\", queryString).subscribe((data: any) => {\n\n // this.variantDropdownData = data;\n // // this.productDrpdnDetails.Variant1 = this.variantDropdownData.Variant1;\n // this.QuotationData.QuotationObj[index].productmodeldata = undefined;\n // this.QuotationData.QuotationObj[index].selectedVariant1 = this.variantDropdownData.Variant1;\n\n // if (!this.QuotationData.QuotationObj[index].IsLevel2DepOnLevel1) {\n // this.QuotationData.QuotationObj[index].selectedVariant2 = this.variantDropdownData.Variant2;\n // }\n // if (!this.QuotationData.QuotationObj[index].IsLevel3DepOnLevel2) {\n // this.QuotationData.QuotationObj[index].selectedVariant3 = this.variantDropdownData.Variant3;\n // }\n // if (!this.QuotationData.QuotationObj[index].IsLevel4DepOnLevel3) {\n // this.QuotationData.QuotationObj[index].selectedVariant4 = this.variantDropdownData.Variant4;\n\n // }\n \n // });\n\n let tracker = this.commonService.GetData(\"Enquiry\", \"GetQuotationVariantDropdownData\", queryString);\n\n tracker.subscribe((data: any) => {\n this.variantDropdownData = data;\n this.QuotationData.QuotationObj[index].productmodeldata = undefined;\n this.QuotationData.QuotationObj[index].selectedVariant1 = this.variantDropdownData.Variant1;\n\n if (!this.QuotationData.QuotationObj[index].IsLevel2DepOnLevel1) {\n this.QuotationData.QuotationObj[index].selectedVariant2 = this.variantDropdownData.Variant2;\n }\n if (!this.QuotationData.QuotationObj[index].IsLevel3DepOnLevel2) {\n this.QuotationData.QuotationObj[index].selectedVariant3 = this.variantDropdownData.Variant3;\n }\n if (!this.QuotationData.QuotationObj[index].IsLevel4DepOnLevel3) {\n this.QuotationData.QuotationObj[index].selectedVariant4 = this.variantDropdownData.Variant4;\n\n }\n this.updateLoaderEvent.emit(false);\n }, error => {\n this.updateLoaderEvent.emit(false);\n });\n\n return tracker;\n }\n\n var1UnitsChange(index) {\n forkJoin([\n this.GetVarientDropdowndataforModel(index)\n ]).pipe(tap(res => { \n var seriesname = this.productDrpdnDetails.ProductSeries.filter(x => x.Id == this.QuotationData.QuotationObj[index].ProductSeries)[0]?.Name;\n let strunits = this.QuotationData.QuotationObj[index].Units_Variant1.toString();\n if (this.QuotationData.QuotationObj[index].Units_Variant1 == undefined || this.QuotationData.QuotationObj[index].Units_Variant1 == null) {\n this.QuotationData.QuotationObj[index].var1_Unit_Validation = true;\n this.IsQuotationDataValid = false;\n } else if (this.QuotationData.QuotationObj[index].Units_Variant1 < 0) {\n this.QuotationData.QuotationObj[index].var1_Unit_Validation = true;\n this.IsQuotationDataValid = false;\n } else if (this.QuotationData.QuotationObj[index].Units_Variant1 % 1 != 0) {\n this.toastr.info('Please enter only integer value');\n if (seriesname == 'HG' || seriesname == 'HN') {\n this.QuotationData.QuotationObj[index].Units_Variant1 = 100;\n }\n else {\n this.QuotationData.QuotationObj[index].Units_Variant1 = 1;\n }\n \n this.IsQuotationDataValid = false;\n } else if (strunits.includes(\".\")) {\n this.toastr.info('Please enter valid units');\n if (seriesname == 'HG' || seriesname == 'HN') {\n this.QuotationData.QuotationObj[index].Units_Variant1 = 100;\n }\n else {\n this.QuotationData.QuotationObj[index].Units_Variant1 = 1;\n }\n \n this.IsQuotationDataValid = false;\n }\n \n else {\n \n if ((seriesname == 'HG' || seriesname == 'HN') && (this.QuotationData.QuotationObj[index].Units_Variant1 % 100 != 0)) {\n this.toastr.info('Please enter the units in multiple of 100.');\n this.QuotationData.QuotationObj[index].var1_Unit_Validation = true;\n this.IsQuotationDataValid = false;\n } else {\n this.QuotationData.QuotationObj[index].var1_Unit_Validation = false;\n }\n }\n if (!(this.QuotationData.QuotationObj[index].productmodeldata == undefined || this.QuotationData.QuotationObj[index].productmodeldata == null)) {\n this.variantDropdownData = this.QuotationData.QuotationObj[index].productmodeldata;\n var selectedVariant1 = this.QuotationData.QuotationObj[index].Variant1;\n var price: number = this.variantDropdownData.Variant1.filter(x => x.Id == selectedVariant1)[0]?.Price;\n var units: number = this.QuotationData.QuotationObj[index].Units_Variant1;\n this.QuotationData.QuotationObj[index].Variant1Price = price * units;\n } else {\n var selectedVariant1 = this.QuotationData.QuotationObj[index].Variant1;\n var price: number = this.variantDropdownData.Variant1.filter(x => x.Id == selectedVariant1)[0]?.Price;\n var units: number = this.QuotationData.QuotationObj[index].Units_Variant1;\n this.QuotationData.QuotationObj[index].Variant1Price = price * units;\n //this.QuotationData.QuotationObj[index].Variant1Price = this.QuotationData.QuotationObj[index].selectedVariant1.filter(x => x.Id == selectedVariant1)[0]?.Price;\n }\n this.calculateTotalPricesForProduct(index, 1);\n })).subscribe(x=>{\n // this.updateLoaderEvent.emit(false);\n });\n }\n \n var2UnitsChange(index) {\n forkJoin([\n this.GetVarientDropdowndataforModel(index)\n ]).pipe(tap(res => { \n var seriesname = this.productDrpdnDetails.ProductSeries.filter(x => x.Id == this.QuotationData.QuotationObj[index].ProductSeries)[0]?.Name;\n let strunits = this.QuotationData.QuotationObj[index].Units_Variant2.toString();\n if (this.QuotationData.QuotationObj[index].Units_Variant2 == undefined || this.QuotationData.QuotationObj[index].Units_Variant2 == null) {\n this.QuotationData.QuotationObj[index].var2_Unit_Validation = true;\n this.IsQuotationDataValid = false;\n } else if (this.QuotationData.QuotationObj[index].Units_Variant2 < 0) {\n this.QuotationData.QuotationObj[index].var2_Unit_Validation = true;\n this.IsQuotationDataValid = false;\n } else if (this.QuotationData.QuotationObj[index].Units_Variant2 % 1 != 0) {\n this.toastr.info('Please enter only integer value');\n if (seriesname == 'HG' || seriesname == 'HN') {\n this.QuotationData.QuotationObj[index].Units_Variant2 = 100;\n }\n else {\n this.QuotationData.QuotationObj[index].Units_Variant2 = 1;\n }\n \n this.IsQuotationDataValid = false;\n }\n else if (strunits.includes(\".\")) {\n this.toastr.info('Please enter valid units');\n if (seriesname == 'HG' || seriesname == 'HN') {\n this.QuotationData.QuotationObj[index].Units_Variant2 = 100;\n }\n else {\n this.QuotationData.QuotationObj[index].Units_Variant2 = 1;\n }\n \n this.IsQuotationDataValid = false;\n }\n else {\n \n if ((seriesname == 'HG' || seriesname == 'HN') && (this.QuotationData.QuotationObj[index].Units_Variant2 % 100 != 0)) {\n this.toastr.info('Please enter the units in multiple of 100.');\n this.QuotationData.QuotationObj[index].var2_Unit_Validation = true;\n this.IsQuotationDataValid = false;\n } else {\n this.QuotationData.QuotationObj[index].var2_Unit_Validation = false;\n }\n }\n if (!(this.QuotationData.QuotationObj[index].productmodeldata == undefined || this.QuotationData.QuotationObj[index].productmodeldata == null)) {\n this.variantDropdownData = this.QuotationData.QuotationObj[index].productmodeldata;\n var selectedVariant2 = this.QuotationData.QuotationObj[index].Variant2;\n var price: number = this.variantDropdownData.Variant2.filter(x => x.Id == selectedVariant2)[0]?.Price;\n var units: number = this.QuotationData.QuotationObj[index].Units_Variant2;\n this.QuotationData.QuotationObj[index].Variant2Price = price * units;\n } else {\n var selectedVariant2 = this.QuotationData.QuotationObj[index].Variant2;\n var price: number = this.variantDropdownData.Variant2.filter(x => x.Id == selectedVariant2)[0]?.Price;\n var units: number = this.QuotationData.QuotationObj[index].Units_Variant2;\n this.QuotationData.QuotationObj[index].Variant2Price = price * units;\n // this.QuotationData.QuotationObj[index].Variant2Price = this.productDrpdnDetails.Variant2.filter(x => x.Id == selectedVariant2)[0]?.Price;\n }\n this.calculateTotalPricesForProduct(index, 1);\n })).subscribe(x=>{\n // this.updateLoaderEvent.emit(false);\n });\n }\n var3UnitsChange(index) {\n forkJoin([\n this.GetVarientDropdowndataforModel(index)\n ]).pipe(tap(res => {\n var seriesname = this.productDrpdnDetails.ProductSeries.filter(x => x.Id == this.QuotationData.QuotationObj[index].ProductSeries)[0]?.Name;\n let strunits = this.QuotationData.QuotationObj[index].Units_Variant3.toString();\n if (this.QuotationData.QuotationObj[index].Units_Variant3 == undefined || this.QuotationData.QuotationObj[index].Units_Variant3 == null) {\n this.QuotationData.QuotationObj[index].var3_Unit_Validation = true;\n this.IsQuotationDataValid = false;\n } else if (this.QuotationData.QuotationObj[index].Units_Variant3 < 0) {\n this.QuotationData.QuotationObj[index].var3_Unit_Validation = true;\n this.IsQuotationDataValid = false;\n } else if (this.QuotationData.QuotationObj[index].Units_Variant3 % 1 != 0) {\n this.toastr.info('Please enter only integer value');\n if (seriesname == 'HG' || seriesname == 'HN') {\n this.QuotationData.QuotationObj[index].Units_Variant3 = 100;\n }\n else {\n this.QuotationData.QuotationObj[index].Units_Variant3 = 1;\n }\n \n this.IsQuotationDataValid = false;\n }\n else if (strunits.includes(\".\")) {\n this.toastr.info('Please enter valid units');\n if (seriesname == 'HG' || seriesname == 'HN') {\n this.QuotationData.QuotationObj[index].Units_Variant3 = 100;\n }\n else {\n this.QuotationData.QuotationObj[index].Units_Variant3 = 1;\n }\n \n this.IsQuotationDataValid = false;\n }\n else {\n \n if ((seriesname == 'HG' || seriesname == 'HN') && (this.QuotationData.QuotationObj[index].Units_Variant3 % 100 != 0)) {\n this.toastr.info('Please enter the units in multiple of 100.');\n this.QuotationData.QuotationObj[index].var3_Unit_Validation = true;\n this.IsQuotationDataValid = false;\n } else {\n this.QuotationData.QuotationObj[index].var3_Unit_Validation = false;\n }\n }\n if (!(this.QuotationData.QuotationObj[index].productmodeldata == undefined || this.QuotationData.QuotationObj[index].productmodeldata == null)) {\n this.variantDropdownData = this.QuotationData.QuotationObj[index].productmodeldata;\n var selectedVariant3 = this.QuotationData.QuotationObj[index].Variant3;\n var price: number = this.variantDropdownData.Variant3.filter(x => x.Id == selectedVariant3)[0]?.Price;\n var units: number = this.QuotationData.QuotationObj[index].Units_Variant3;\n this.QuotationData.QuotationObj[index].Variant3Price = price * units;\n } else {\n var selectedVariant3 = this.QuotationData.QuotationObj[index].Variant3;\n var price: number = this.variantDropdownData.Variant3.filter(x => x.Id == selectedVariant3)[0]?.Price;\n var units: number = this.QuotationData.QuotationObj[index].Units_Variant3;\n this.QuotationData.QuotationObj[index].Variant3Price = price * units;\n //this.QuotationData.QuotationObj[index].Variant3Price = this.productDrpdnDetails.Variant3.filter(x => x.Id == selectedVariant3)[0]?.Price;\n }\n this.calculateTotalPricesForProduct(index, 1);\n })).subscribe(x=>{\n // this.updateLoaderEvent.emit(false);\n });\n }\n var4UnitsChange(index) {\n forkJoin([\n this.GetVarientDropdowndataforModel(index)\n ]).pipe(tap(res => {\n var seriesname = this.productDrpdnDetails.ProductSeries.filter(x => x.Id == this.QuotationData.QuotationObj[index].ProductSeries)[0]?.Name;\n let strunits = this.QuotationData.QuotationObj[index].Units_Variant4.toString();\n if (this.QuotationData.QuotationObj[index].Units_Variant4 == undefined || this.QuotationData.QuotationObj[index].Units_Variant4 == null) {\n this.QuotationData.QuotationObj[index].var4_Unit_Validation = true;\n this.IsQuotationDataValid = false;\n } else if (this.QuotationData.QuotationObj[index].Units_Variant4 < 0) {\n this.QuotationData.QuotationObj[index].var4_Unit_Validation = true;\n this.IsQuotationDataValid = false;\n } else if (this.QuotationData.QuotationObj[index].Units_Variant4 % 1 != 0) {\n this.toastr.info('Please enter only integer value');\n if (seriesname == 'HG' || seriesname == 'HN') {\n this.QuotationData.QuotationObj[index].Units_Variant4 = 100;\n }\n else {\n this.QuotationData.QuotationObj[index].Units_Variant4 = 1;\n }\n \n this.IsQuotationDataValid = false;\n }\n else if (strunits.includes(\".\")) {\n this.toastr.info('Please enter valid units');\n if (seriesname == 'HG' || seriesname == 'HN') {\n this.QuotationData.QuotationObj[index].Units_Variant4 = 100;\n }\n else {\n this.QuotationData.QuotationObj[index].Units_Variant4 = 1;\n }\n \n this.IsQuotationDataValid = false;\n }\n else {\n \n if ((seriesname == 'HG' || seriesname == 'HN') && (this.QuotationData.QuotationObj[index].Units_Variant4 % 100 != 0)) {\n this.toastr.info('Please enter the units in multiple of 100');\n this.QuotationData.QuotationObj[index].var4_Unit_Validation = true;\n this.IsQuotationDataValid = false;\n } else {\n this.QuotationData.QuotationObj[index].var4_Unit_Validation = false;\n }\n }\n if (!(this.QuotationData.QuotationObj[index].productmodeldata == undefined || this.QuotationData.QuotationObj[index].productmodeldata == null)) {\n this.variantDropdownData = this.QuotationData.QuotationObj[index].productmodeldata;\n var selectedVariant4 = this.QuotationData.QuotationObj[index].Variant4;\n var price: number = this.variantDropdownData.Variant4.filter(x => x.Id == selectedVariant4)[0]?.Price;\n var units: number = this.QuotationData.QuotationObj[index].Units_Variant4;\n this.QuotationData.QuotationObj[index].Variant4Price = price * units;\n } else {\n var selectedVariant4 = this.QuotationData.QuotationObj[index].Variant4;\n var price: number = this.variantDropdownData.Variant4.filter(x => x.Id == selectedVariant4)[0]?.Price;\n var units: number = this.QuotationData.QuotationObj[index].Units_Variant4;\n this.QuotationData.QuotationObj[index].Variant4Price = price * units;\n // this.QuotationData.QuotationObj[index].Variant4Price = this.productDrpdnDetails.Variant4.filter(x => x.Id == selectedVariant4)[0]?.Price;\n }\n this.calculateTotalPricesForProduct(index, 1);\n })).subscribe(x=>{\n // this.updateLoaderEvent.emit(false);\n });\n }\n\n}\n","\n\n\n
    \n
    \n\n
    \n\n
    \n
    \n
    \n
    \n

    \n Quotation\n

    \n
    \n
    \n\n
    \n\n
    \n
    \n\n\n \n \n \n Quotation No: {{QuotationData.QuotationInfo.QuotationNumber}}\n \n \n Quotation Date:\n {{(QuotationData.QuotationInfo.QuotationDate != undefined ?\n QuotationData.QuotationInfo.QuotationDate: currentDate) | date:\n \"dd-MMM-yyyy\"}}\n \n \n \n \n\n
    \n  Your Reference: * \n \n
    \n Reference person name is required\n
    \n
    \n\n\n \n \n\n
    \n  Reference Date: * \n \n
    \n Reference Date is required\n
    \n\n
    \n\n \n\n
    \n\n \n \n \n \n \n\n \n \n \n \n
    \n Kind Attn: * \n \n
    \n Key Person is required\n
    \n
    \n \n \n
    \n  Contact Number: * \n \n
    \n {{KingAttConactNumberValidationMsg}}\n
    \n\n
    \n\n\n \n\n
    \n \n \n \n \n \n \n\n \n\n \n
    \n  Contact Number:  \n {{QuotationData.QuotationInfo.ContactNumber}}\n
    \n \n
    \n
    To,
    {{CustomerDetailsObj.CustomerName}}
    \n {{CustomerDetailsObj.City}}, {{CustomerDetailsObj.State}}
    \n
    \n Email: * \n \n
    \n {{KingAttEmailValidationMsg}}\n
    \n
    \n
    \n \n
    \n \n {{salesPersonOfWhichComapany}} Sales Person: * \n\n \n
    \n \n {{salesPersonOfWhichComapany}} Sales Person is required\n
    \n\n
    \n
    \n
    \n \n \n
    \n \n \n \n \n \n\n \n\n \n \n\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n\n \n \n \n\n \n \n \n \n \n \n\n \n \n \n\n \n \n \n\n \n \n \n\n \n \n \n\n \n \n \n \n \n\n \n \n \n \n\n\n \n \n \n \n\n \n \n 0\">\n \n \n \n\n \n \n \n \n \n \n\n \n\n \n \n \n \n \n\n \n \n\n \n \n\n \n \n \n \n \n \n\n \n \n\n \n \n \n\n \n \n
    SeriesModelUnit PriceQtyDiscount (%)\n \n Total Price (€)
    \n \n
    \n \n ProductSeries is required\n
    \n
    \n\n \n \n
    \n \n Product Model is required\n
    \n
    \n \n \n \n
    \n \n Quantity is not valid\n
    \n
    \n \n Quantity should be in between 0 to 1000\n
    \n
    \n \n\n \n \n \n \n
    \n
    \n\n
    {{field.Variant1Label}}\n
    \n\n \n \n
    \n \n {{field.Variant1Label}} is required\n
    \n
    \n \n \n
    \n
    \n \n Price on Request\n \n \n
    \n € {{field.Variant1Price == undefined ? 0: field.Variant1Price |\n indianCurrency}}/-\n
    \n
    \n \n\n \n \n {{field.Variant1Price}} is\n substracted from Total.\n
    \n
    \n {{field.Variant2Label}}\n
    \n\n \n \n
    \n \n {{field.Variant2Label}} is required\n
    \n
    \n \n \n
    \n
    \n \n Price on Request\n \n \n
    \n € {{field.Variant2Price == undefined ? 0: field.Variant2Price |\n indianCurrency}}/-\n
    \n
    \n \n \n \n {{field.Variant2Price}} is\n substracted from Total.\n
    \n
    \n {{field.Variant3Label}}\n
    \n \n \n
    \n \n {{field.Variant3Label}} is required\n
    \n
    \n \n \n
    \n
    \n \n Price on Request\n \n \n
    \n € {{field.Variant3Price == undefined ? 0: field.Variant3Price |\n indianCurrency}}/-\n
    \n
    \n \n \n \n {{field.Variant3Price}} is\n substracted from Total.\n
    \n
    \n {{field.Variant4Label}}\n
    \n \n \n
    \n \n {{field.Variant4Label}} is required\n
    \n
    \n \n \n
    \n
    \n \n Price on Request\n \n \n
    \n € {{field.Variant4Price == undefined ? 0: field.Variant4Price |\n indianCurrency}}/-\n
    \n
    \n \n \n \n {{field.Variant4Price}} is\n substracted from Total.\n
    \n
    \n Select Options\n
    \n\n \n \n {{item.Name}}\n\n \n \n \n {{item.Name}}\n \n\n\n
    \n   {{o+1}}. {{j.Name}}(€ {{j.Price == undefined ? 0:\n j.Price |indianCurrency}})
    \n
    \n
    \n \n Options are required\n
    \n\n
    \n
    \n Price on Request\n\n\n
    \n \n \n\n \n
    \n € {{field.OptionsPrice == undefined ? 0:\n field.OptionsPrice |indianCurrency}}/-\n
    \n
    \n \n \n \n {{field.optionprice}} is substracted\n from Total.\n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    Product OptionsPrice (€)
    {{t1.Name}}\n \n
    \n\n \n Please enter valid price\n
    \n
    \n
    \n\n
    \n
    Technical\n Specifications:\n
    \n \n\n
    \n\n
    Overall Discount\n
    \n \n
    \n
    Total Price (€)\n
    \n \n \n \n \n
    \n
    \n\n \n
    \n
    \n
    Special\n Package Discount\n
    \n
    \n \n
    Total\n \n
    \n\n
    \n\n \n
    \n\n \n\n
    \n
    \n
    \n Limit {{maxLimit}} characters,\n {{remLimit}} characters\n remaining.\n\n
    \n Comment is\n required\n
    \n\n
    \n\n
    \n \n \n \n \n \n Show Variant and Option Price on Quotation\n \n \n \n \n \n Show Variant and Option Discount On Quotation\n \n \n \n\n \n \n Show Special Price on Quotation\n \n \n \n \n \n
    \n\n
    \n
    \n
    \n
    \n\n \n
    \n
    \n\n\n\n\n\n\n","import { Component, OnInit, Input, EventEmitter, Output, ChangeDetectorRef, ViewChild } from '@angular/core';\nimport { Sort } from '@angular/material/sort';\nimport { CommonService } from 'src/app/Service/common.service';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { ToastrService } from 'ngx-toastr';\nimport { ConfirmDialogComponent } from 'src/app/confirm-dialog/confirm-dialog.component';\nimport { MatDialog } from '@angular/material/dialog';\nimport { string } from '@amcharts/amcharts4/core';\n//import { EnquiryDetailsModel, EnquiryExportToExcelModel, EnquiryGridFilterList, EnquiryGridModel, EnquiryModel, EnquiryPaginationGrid } from 'src/app/Model/EnquiryModel';\nimport { NgbCalendar, NgbDate, NgbDateParserFormatter, NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { ActivityDetailsComponent } from '../activity-details/activity-details.component';\nimport { UserRoles } from \"src/app/UserRoles\";\nimport { Title } from '@angular/platform-browser';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { PassOnComponent } from '../pass-on/pass-on.component';\nimport { isNgContent } from '@angular/compiler';\nimport { AppGlobals } from 'src/app/app.global';\nimport { DatePipe } from '@angular/common';\n\nimport * as Excel from 'exceljs/dist/exceljs'\n//import * as XLSX from 'xlsx';\nimport * as FileSaver from 'file-saver';\nimport { HttpClient } from '@angular/common/http';\nimport { from } from 'rxjs';\nimport { EnquiryStatus } from 'src/app/EnquiryStatus';\nconst EXCEL_TYPE = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8';\nconst EXCEL_EXTENSION = '.xlsx';\n\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\nimport { EnquiryGridFilterList, EnquiryGridModel, EnquiryDetailsModel, EnquiryPaginationGrid, EnquiryExportToExcelModel } from 'src/app/Model/EnquiryModel';\nimport { AddActivityComponent } from '../../customer-engagement/activity/add-activity/add-activity.component';\nimport { Activity } from 'src/app/Model/ActivityModel';\nimport { AccessPermissionService } from 'src/app/Service/access-permission.service';\nimport { AccessPermissionModel } from 'src/app/Model/WorkFlowScreenAccessModel';\nimport { AppConfigService } from 'src/app/Service/app-config.service';\n\n\n\n@Component({\n selector: 'app-enquiry',\n templateUrl: './enquiry.component.html',\n styleUrls: ['./enquiry.component.scss']\n})\nexport class EnquiryComponent implements OnInit {\n\n AppRoles = UserRoles;\n\n displayedColumns: string[] = ['EnquiryId', 'EnquiryDate', 'CustomerName', 'QuotationNumber', 'Products',\n 'EnquiryValue', 'Discount', 'EnquiryWinLostOpenStatus', 'EstimatedProductvalue', 'RegionName',\n 'IndustrySegment', 'SubSegment', 'CustomerClassification', 'ActivityType', 'Activity_Subject', 'ActivityStatus', 'ActivityPurpose', 'ActivityPurposeDesc', 'Activity_Outcome', 'Activity_OutcomeDesc', 'EnquiryStatus', 'InitiatorName', 'Action'];\n\n EnquiryGridFilterList: EnquiryGridFilterList = new EnquiryGridFilterList();\n minDate: NgbDate;\n maxDate: NgbDate;\n datePipe = new DatePipe('en-US');\n accesspermissionobj:AccessPermissionModel[]=Array();\n AccesspermissionForRole:any[]=[];\n\n dataSource: MatTableDataSource;\n disabled: boolean = false;\n @Input()\n EnquiryId: number;\n AppGlobals = AppGlobals;\n QuotationDownloadPath = this.AppGlobals.QuotationFileDownloadUrl;\n EnquiryngbDateFromFiter: NgbDate | null;\n EnquiryngbDateToFiter: NgbDate | null;\n hoveredDate: NgbDate | null = null;\n charCode: any;\n\n EnquiryObj: EnquiryDetailsModel = new EnquiryDetailsModel();\n enquiryStatus = EnquiryStatus;\n /*************************************************************************\n Server side Pagination purpose\n *************************************************************************/\n pageNumber: number = 1;\n @Input() pageSize: number = 100;\n @Input() length: number;\n @Input() pageIndex: number = this.pageNumber - 1;\n direction: string = 'desc';\n ColumnName: string = 'ModifiedOn';\n SearchText: string = \"\";\n @Output('matSortChange') sortChange: EventEmitter\n @ViewChild(MatPaginator) paginator: MatPaginator;\n SearchColname: string = \"\";\n SearchColKeyword: string = \"\";\n\n PaginationModel: EnquiryPaginationGrid = new EnquiryPaginationGrid();\n /*************************************************************************\n End here\n *************************************************************************/\n\n @Input()\n showLoader: boolean = false;\n data: any[] = [];\n closeResult: string;\n salesEnggList: any[] = [];\n selectedRegion: any = 0;\n seList: any[] = [];\n selectedSalesEngg: any = 0;\n SelectedEnquiryID: any;\n role: string;\n userid: string;\n salesEnggValidation: boolean;\n salesRegionValidation: boolean;\n currentSalesEngg: any;\n ExportToExcelData: EnquiryExportToExcelModel[] = [];\n TempEnquiryData: any[] = [];\n isEnquiryDataExport: boolean = false;\n\n /************************USED FOR ROWSPAN************************/\n gridData: any[] = [];\n spans = [];\n tempRowId = null;\n tempRowCount = null;\n /************************USED FOR ROWSPAN END************************/\n\n\n constructor(private toastr: ToastrService,\n private accessservice: AccessPermissionService,\n private cd: ChangeDetectorRef, private commonService: CommonService, private modalService: NgbModal, public dialog: MatDialog, private titleService: Title, private route: ActivatedRoute,\n private calendar: NgbCalendar, public formatter: NgbDateParserFormatter, private activeModal: NgbActiveModal, private router: Router,\n private appConfigService: AppConfigService) {\n this.minDate = new NgbDate(2018, 1, 1);\n this.maxDate = new NgbDate(new Date().getFullYear(), new Date().getMonth() + 1, new Date().getDate());\n }\n\n ngOnInit() {\n\n this.commonService.RefreshHeaderFun();\n const appConfig = this.appConfigService.getConfig();\n const dynamicTitle = this.route.snapshot.data['title'];\n this.titleService.setTitle(`${dynamicTitle} - ${appConfig.titleName}`);\n //this.titleService.setTitle(this.route.snapshot.data['title'] + \" - ECOTECH\");\n this.role = localStorage.getItem(\"UserRole\");\n this.getAccess();\n // this.isEnquiryDataExport = AppGlobals.EnquiryDataExportAccessArray.filter(x => x.role == this.role)[0]?.isEditable;\n\n this.userid = localStorage.getItem(\"UserID\");\n this.GetAllEnquiryGridFilterList();\n this.GetAllEnquiry();\n }\n\n\n /*************************************************************************\n * Below function used for Server side Pagination,Sorting and Searching\n * (1)GetAllEmployeeDetails() - To get data for grid\n * (2)SearchParam() - searching\n * (3)sortData() - Sorting\n * (4)pageEvent() - Pagination\n * \n * ***********************************************************************/\n\n GetAllEnquiry() {\n // var x = document.getElementsByClassName(\"table-responsive\");\n // var i;\n // for (i = 0; i < x.length; i++) {\n // x[i].scrollLeft = 0;\n\n // }\n this.showLoader = true;\n\n this.PaginationModel.pageNumber = this.pageNumber;\n this.PaginationModel.pageSize = this.pageSize;\n this.PaginationModel.SearchText = this.SearchText;\n this.PaginationModel.direction = this.direction;\n this.PaginationModel.ColumnName = this.ColumnName;\n\n if (this.EnquiryngbDateToFiter != undefined && this.EnquiryngbDateToFiter != null) {\n this.PaginationModel.EnquiryDateToFiter = (this.ConvertNgbDateToDate(this.EnquiryngbDateToFiter)).toDateString();\n }\n else {\n this.PaginationModel.EnquiryDateToFiter = null;\n }\n\n if (this.EnquiryngbDateFromFiter != undefined && this.EnquiryngbDateFromFiter != null) {\n this.PaginationModel.EnquiryDateFromFiter = (this.ConvertNgbDateToDate(this.EnquiryngbDateFromFiter)).toDateString();\n }\n else {\n this.PaginationModel.EnquiryDateFromFiter = null;\n }\n\n let QuotationValueFromFilter: number = +this.PaginationModel.QuotationValueFromFilter;\n let QuotationValueToFilter: number = +this.PaginationModel.QuotationValueToFilter;\n if (this.PaginationModel.QuotationValueFromFilter != null && QuotationValueFromFilter > 0 && QuotationValueToFilter > 0 && this.PaginationModel.QuotationValueToFilter != null) {\n if (QuotationValueToFilter < QuotationValueFromFilter) {\n alert(\"To Quotation value should be greater than From Quotation value.\")\n this.PaginationModel.QuotationValueFromFilter = null;\n }\n }\n\n\n let DiscountFromFilter: number = +this.PaginationModel.DiscountFromFilter;\n let DiscounToFilter: number = +this.PaginationModel.DiscounToFilter;\n if (this.PaginationModel.DiscountFromFilter != null && DiscountFromFilter > 0 && DiscounToFilter > 0 && this.PaginationModel.DiscounToFilter != null) {\n if (DiscounToFilter < DiscountFromFilter) {\n alert(\"To Discount should be greater than From Discount.\")\n this.PaginationModel.DiscountFromFilter = null;\n\n }\n }\n\n this.commonService.PostData('Enquiry', 'GetAllPagination', this.PaginationModel, null).subscribe((data: any) => {\n this.data = data.Data;\n if (data.Data != null) {\n this.BindGridData();\n }\n this.length = data.Total;\n\n this.dataSource = new MatTableDataSource(this.gridData);\n this.showLoader = false;\n\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n\n SearchParam(event: any) {\n this.SearchText = event.target.value;\n this.pageNumber = 1;\n this.paginator.pageIndex = 0;\n\n var x = document.getElementsByClassName(\"table-responsive\");\n var i;\n for (i = 0; i < x.length; i++) {\n x[i].scrollLeft = 0;\n }\n this.GetAllEnquiry();\n }\n\n sortData(event: any) {\n if (this.dataSource.filteredData != null) {\n this.direction = event.direction;\n this.ColumnName = event.active;\n this.GetAllEnquiry();\n }\n }\n\n pageEvent(event: any) {\n window.scroll({\n top: 0,\n left: 0,\n behavior: 'smooth'\n });\n var x = document.getElementsByClassName(\"table-responsive\");\n var i;\n for (i = 0; i < x.length; i++) {\n x[i].scrollLeft = 0;\n\n }\n\n this.pageNumber = event.pageIndex + 1;\n this.pageSize = event.pageSize;\n this.GetAllEnquiry();\n }\n /************************************************************************\n * Grid Code End \n * **********************************************************************/\n\n SetEnquiryId(EnquiryId) {\n this.EnquiryId = EnquiryId;\n }\n\n convertDate(date: any) {\n date = date.split('T')[0];\n return date;\n }\n\n openPassOn(rowObject) {\n const modalRef = this.modalService.open(PassOnComponent, {\n size: 'lg', backdrop: 'static', keyboard: false\n });\n\n var EnquiryId = rowObject;\n\n modalRef.componentInstance.enqObj = EnquiryId;\n modalRef.result.then((result) => {\n this.closeResult = `Closed with:${result}`;\n if (this.closeResult !== 'Closed with:Close click') {\n this.GetAllEnquiry();\n }\n });\n }\n\n openQuotationPopup(enqid, enqNo, initiatorID, status, PendingAtRoleId) {\n const modalRef = this.modalService.open(ActivityDetailsComponent, {\n size: 'lg', backdrop: 'static', keyboard: false\n });\n\n var EnquiryId = {\n enqid: enqid,\n endNo: enqNo,\n initID: initiatorID,\n status: status,\n PendingAtRoleId: PendingAtRoleId\n };\n\n modalRef.componentInstance.EnquiryId = EnquiryId;\n modalRef.result.then((result) => {\n this.closeResult = `Closed with:${result}`;\n if (this.closeResult !== 'Closed with:Close click') {\n // this.GetAllEnquiry();\n // if (flag === 1) {\n // } else {\n // // this.saveQuoteLimit(this.QuotationNumber, result);\n // }\n }\n });\n }\n\n // openPassOnPopup(enqid) {\n\n // const modalRef = this.modalService.open(PassonEnquiryComponent, {\n // size: 'lg', backdrop: 'static', keyboard: false\n // });\n\n // var EnquiryId= enqid; \n\n // modalRef.componentInstance.EnquiryId = EnquiryId;\n // modalRef.result.then((result) => {\n // this.closeResult = `Closed with:${result}`;\n // if (this.closeResult !== 'Closed with:Close click') {\n // // if (flag === 1) {\n // // } else {\n // // // this.saveQuoteLimit(this.QuotationNumber, result);\n // // }\n // }\n // });\n // }\n\n\n /************************************************************************\n * Grid RowSpan Methods \n * **********************************************************************/\n\n BindGridData() {\n this.showLoader = true;\n this.gridData = [];\n this.spans = [];\n this.data.forEach(item => {\n item.EnquiryDate = this.convertDate(item.EnquiryDate);\n if (item.QuotationDetailsList != null && item.QuotationDetailsList.length > 0 && item.QuotationDetailsList.length != null && item.QuotationDetailsList.length != undefined) {\n for (let i = 0; i < item.QuotationDetailsList.length; i++) {\n var obj = {\n \"Products\": item.QuotationDetailsList[i].ModelName,\n \"EnquiryValue\": item.QuotationDetailsList[i].FinalAmount,\n \"Discount\": item.QuotationDetailsList[i].Discount,\n \"EnquiryId\": item.EnquiryId,\n \"Initiator_Id\": item.Initiator_Id,\n \"InitiatorName\": item.InitiatorName,\n \"RoleName\": item.RoleName,\n \"CustomerId\": item.CustomerId,\n \"CustomerName\": item.CustomerName,\n \"CustomerCode\": item.CustomerCode,\n \"IndustrySegment\": item.IndustrySegment,\n \"SubSegment\": item.SubSegment,\n \"CustomerType\": item.CustomerType,\n \"CustomerClassification\": item.CustomerClassification,\n \"CustomerCategory\": item.CustomerCategory,\n \"RegionName\": item.RegionName,\n \"Country\": item.Country,\n \"EstimatedProductvalue\": item.EstimatedProductvalue,\n \"EnquiryNumber\": item.EnquiryNumber,\n \"EnquiryDate\": item.EnquiryDate,\n \"EnquirySourceId\": item.EnquirySourceId,\n \"EnquirySource\": item.EnquirySource,\n \"EnquiryDescription\": item.EnquiryDescription,\n \"Status\": item.Status,\n \"PendingAtRoleId\": item.PendingAtRoleId,\n \"EnquiryStatus\": item.EnquiryStatus,\n \"EnquiryWinLostOpenStatus\": item.EnquiryWinLostOpenStatus,\n \"CreatedOn\": item.CreatedOn,\n \"RFQNumber\": item.RFQNumber,\n \"RFQTermsAndCondition\": item.RFQTermsAndCondition,\n \"POValue\": item.POValue,\n \"EnquiryConfirmStatus\": item.EnquiryConfirmStatus,\n \"POStdReason\": item.POStdReason,\n \"OrdAcknowledgeNumber\": item.OrdAcknowledgeNumber,\n \"SupplyChainType\": item.SupplyChainType,\n \"TentativeDeliveryDate\": item.TentativeDeliveryDate,\n \"ModifiedOn\": item.ModifiedOn,\n \"EnquiryYear\": item.EnquiryYear,\n \"QuotationNumber\": item.QuotationNumber,\n \"QuotationPdf_filename\": item.QuotationPdf_filename,\n \"ActivityType\": item.ActivityType,\n \"Activity_Subject\": item.Activity_Subject,\n \"ActivityStatus\": item.ActivityStatus,\n \"ActivityPurpose\": item.ActivityPurpose,\n \"ActivityPurposeDesc\": item.ActivityPurposeDesc,\n \"Activity_Outcome\": item.Activity_Outcome,\n \"Activity_OutcomeDesc\": item.Activity_OutcomeDesc,\n //\"Activity_ActionPlan\": item.Activity_ActionPlan\n }\n\n this.gridData.push(obj);\n\n }\n }\n else {\n var obj1 = {\n \"Products\": null,\n \"EnquiryValue\": null,\n \"Discount\": null,\n \"EnquiryId\": item.EnquiryId,\n \"Initiator_Id\": item.Initiator_Id,\n \"InitiatorName\": item.InitiatorName,\n \"RoleName\": item.RoleName,\n \"CustomerId\": item.CustomerId,\n \"CustomerName\": item.CustomerName,\n \"CustomerCode\": item.CustomerCode,\n \"IndustrySegment\": item.IndustrySegment,\n \"SubSegment\": item.SubSegment,\n \"CustomerType\": item.CustomerType,\n \"CustomerClassification\": item.CustomerClassification,\n \"CustomerCategory\": item.CustomerCategory,\n \"RegionName\": item.RegionName,\n \"Country\": item.Country,\n \"EstimatedProductvalue\": item.EstimatedProductvalue,\n \"EnquiryNumber\": item.EnquiryNumber,\n \"EnquiryDate\": item.EnquiryDate,\n \"EnquirySourceId\": item.EnquirySourceId,\n \"EnquirySource\": item.EnquirySource,\n \"EnquiryDescription\": item.EnquiryDescription,\n \"Status\": item.Status,\n \"PendingAtRoleId\": item.PendingAtRoleId,\n \"EnquiryStatus\": item.EnquiryStatus,\n \"EnquiryWinLostOpenStatus\": item.EnquiryWinLostOpenStatus,\n \"CreatedOn\": item.CreatedOn,\n \"RFQNumber\": item.RFQNumber,\n \"RFQTermsAndCondition\": item.RFQTermsAndCondition,\n \"POValue\": item.POValue,\n \"EnquiryConfirmStatus\": item.EnquiryConfirmStatus,\n \"POStdReason\": item.POStdReason,\n \"OrdAcknowledgeNumber\": item.OrdAcknowledgeNumber,\n \"SupplyChainType\": item.SupplyChainType,\n \"TentativeDeliveryDate\": item.TentativeDeliveryDate,\n \"ModifiedOn\": item.ModifiedOn,\n \"EnquiryYear\": item.EnquiryYear,\n \"QuotationNumber\": item.QuotationNumber,\n \"QuotationPdf_filename\": item.QuotationPdf_filename,\n \"ActivityType\": item.ActivityType,\n \"Activity_Subject\": item.Activity_Subject,\n \"ActivityStatus\": item.ActivityStatus,\n \"ActivityPurpose\": item.ActivityPurpose,\n \"ActivityPurposeDesc\": item.ActivityPurposeDesc,\n \"Activity_Outcome\": item.Activity_Outcome,\n \"Activity_OutcomeDesc\": item.Activity_OutcomeDesc,\n //\"Activity_ActionPlan\": item.Activity_ActionPlan\n }\n\n this.gridData.push(obj1);\n\n }\n\n\n });\n this.RowSpanData();\n }\n\n RowSpanData() {\n this.cacheSpan('EnquiryNo', d => d.EnquiryId);\n this.cacheSpan('EnquiryDate', d => d.EnquiryId);\n this.cacheSpan('RegionName', d => d.EnquiryId);\n this.cacheSpan('EstimatedProductvalue', d => d.EnquiryId);\n this.cacheSpan('IndustrySegment', d => d.EnquiryId);\n this.cacheSpan('SubSegment', d => d.EnquiryId);\n this.cacheSpan('CustomerClassification', d => d.EnquiryId);\n this.cacheSpan('QuotationNumber', d => d.EnquiryId);\n this.cacheSpan('CustomerName', d => d.EnquiryId);\n this.cacheSpan('EnquiryStatus', d => d.EnquiryId);\n this.cacheSpan('EnquiryWinLostOpenStatus', d => d.EnquiryId);\n this.cacheSpan('ActivityType', d => d.EnquiryId);\n this.cacheSpan('Activity_Subject', d => d.EnquiryId);\n this.cacheSpan('ActivityStatus', d => d.EnquiryId);\n this.cacheSpan('ActivityPurpose', d => d.EnquiryId);\n this.cacheSpan('ActivityPurposeDesc', d => d.EnquiryId);\n this.cacheSpan('Activity_Outcome', d => d.EnquiryId);\n this.cacheSpan('Activity_OutcomeDesc', d => d.EnquiryId);\n\n //this.cacheSpan('Activity_ActionPlan', d => d.EnquiryId);\n this.cacheSpan('InitiatorName', d => d.EnquiryId);\n this.cacheSpan('Action', d => d.EnquiryId);\n this.showLoader = false;\n }\n cacheSpan(key, accessor) {\n for (let i = 0; i < this.gridData.length;) {\n let currentValue = accessor(this.gridData[i]);\n let count = 1;\n\n // Iterate through the remaining rows to see how many match\n // the current value as retrieved through the accessor.\n for (let j = i + 1; j < this.gridData.length; j++) {\n if (currentValue != accessor(this.gridData[j])) {\n break;\n }\n\n count++;\n }\n\n if (!this.spans[i]) {\n this.spans[i] = {};\n }\n\n // Store the number of similar values that were found (the span)\n // and skip i to the next unique row.\n this.spans[i][key] = count;\n i += count;\n\n }\n }\n\n getRowSpan(col, index) {\n return this.spans[index] && this.spans[index][col];\n }\n\n\n /************************************************************************\n * Grid RowSpan Methods End \n * **********************************************************************/\n\n\n /************************************************************************\n * Grid filter\n * **********************************************************************/\n OnFromDateFilterChange() {\n let EnquiryDateFromFiter = this.ConvertNgbDateToDate(this.EnquiryngbDateFromFiter)\n let EnquiryDateToFiter = this.ConvertNgbDateToDate(this.EnquiryngbDateToFiter)\n if (EnquiryDateToFiter < EnquiryDateFromFiter) {\n this.EnquiryngbDateToFiter = this.EnquiryngbDateFromFiter;\n this.cd.detectChanges();\n\n }\n //this.GetAllEnquiry();\n\n }\n\n OnToDateFilterChange() {\n\n // this.GetAllEnquiry();\n }\n\n ConvertNgbDateToDate(ngbdate: any) {\n if (ngbdate != null) {\n return new Date(ngbdate.year, ngbdate.month - 1, ngbdate.day)\n }\n\n }\n\n convertDateToString(date: any) {\n let year = date.year;\n let month = date.month;\n let day = date.day;\n return year + \"-\" + month + \"-\" + day;\n }\n\n\n OnQuotationValueFilterChange(CallFrom: any) {\n let QuotationValueFromFilter: number = +this.PaginationModel.QuotationValueFromFilter;\n let QuotationValueToFilter: number = +this.PaginationModel.QuotationValueToFilter;\n if (CallFrom == 'From') {\n if (QuotationValueFromFilter == null || isNaN(QuotationValueFromFilter)) {\n this.PaginationModel.QuotationValueFromFilter = null;\n }\n // if (QuotationValueToFilter < QuotationValueFromFilter) {\n // this.PaginationModel.QuotationValueToFilter = null;\n\n // }\n\n }\n else {\n if (QuotationValueToFilter == null || isNaN(QuotationValueToFilter)) {\n this.PaginationModel.QuotationValueToFilter = null;\n }\n // if (QuotationValueToFilter < QuotationValueFromFilter) {\n // this.PaginationModel.QuotationValueFromFilter = null;\n\n // }\n\n }\n this.cd.detectChanges();\n // this.GetAllEnquiry();\n\n }\n\n onDiscountChange(callType: any) {\n let DiscountFromFilter: number = +this.PaginationModel.DiscountFromFilter;\n let DiscounToFilter: number = +this.PaginationModel.DiscounToFilter;\n\n if (callType == 'From') {\n\n if (DiscountFromFilter > 100 || isNaN(DiscountFromFilter)) {\n this.PaginationModel.DiscountFromFilter = null;\n }\n // if ( DiscounToFilter < DiscountFromFilter) {\n // this.PaginationModel.DiscounToFilter = null;\n // }\n }\n else {\n if (DiscounToFilter > 100 || isNaN(DiscounToFilter)) {\n this.PaginationModel.DiscounToFilter = null;\n }\n // if (DiscounToFilter < DiscountFromFilter) {\n // this.PaginationModel.DiscountFromFilter = null;\n\n // }\n }\n this.cd.detectChanges();\n // this.GetAllEnquiry();\n }\n\n\n GetAllEnquiryGridFilterList() {\n this.commonService.GetData(\"Enquiry\", \"EnquiryGridFilterList\", null).subscribe((data: any) => {\n this.EnquiryGridFilterList.EstimatedEnquiryValue = data.EstimatedEnquiryValue;\n this.EnquiryGridFilterList.Segment = data.Segment;\n this.EnquiryGridFilterList.MicroSegment = data.MicroSegment;\n this.EnquiryGridFilterList.OrignaleMicroSegment = data.MicroSegment;\n this.EnquiryGridFilterList.CusomterName = data.CusomterName;\n this.EnquiryGridFilterList.CusomterClass = data.CusomterClass;\n this.EnquiryGridFilterList.ProductModels = data.ProductModels;\n this.EnquiryGridFilterList.Region = data.region;\n this.EnquiryGridFilterList.InitiatorName = data.InitiatorName;\n\n });\n\n }\n\n ResetAllFilters() {\n this.PaginationModel.EnquiryDateFromFiter = null;\n this.PaginationModel.EnquiryDateToFiter = null;\n this.PaginationModel.EstimatedEnquiryValueFilter = [];\n this.PaginationModel.SegmentFilter = [];\n this.PaginationModel.MicroSegmentFilter = [];\n this.PaginationModel.CusomterNameFilter = [];\n this.PaginationModel.CusomterClassFilter = [];\n this.PaginationModel.ProdcutFilter = [];\n this.PaginationModel.QuotationValueToFilter = null;\n this.PaginationModel.QuotationValueFromFilter = null;\n this.PaginationModel.DiscountFromFilter = null;\n this.PaginationModel.DiscounToFilter = null;\n this.PaginationModel.QuotationStatusFilter = [];\n this.PaginationModel.RegionFilter = [];\n this.PaginationModel.InitiatorNameFilter = [];\n this.EnquiryngbDateFromFiter = null;\n this.EnquiryngbDateToFiter = null;\n this.OnSegmentChangeGetMiCroSegment();\n this.GetAllEnquiry();\n\n }\n\n OnSegmentChangeGetMiCroSegment() {\n this.EnquiryGridFilterList.MicroSegment = [];\n if (this.PaginationModel.SegmentFilter != null && this.PaginationModel.SegmentFilter != undefined && this.PaginationModel.SegmentFilter.length > 0) {\n this.EnquiryGridFilterList.MicroSegment = this.EnquiryGridFilterList.OrignaleMicroSegment.filter((o) => this.PaginationModel.SegmentFilter.includes(o.Fk_Name));\n\n }\n else {\n this.EnquiryGridFilterList.MicroSegment = this.EnquiryGridFilterList.OrignaleMicroSegment;\n }\n }\n\n /************************Date Range*************************************** */\n\n onDateSelection(date: NgbDate) {\n if (!this.EnquiryngbDateFromFiter && !this.EnquiryngbDateToFiter) {\n this.EnquiryngbDateFromFiter = date;\n } else if (this.EnquiryngbDateFromFiter && !this.EnquiryngbDateToFiter && date && date.after(this.EnquiryngbDateFromFiter)) {\n this.EnquiryngbDateToFiter = date;\n } else {\n this.EnquiryngbDateToFiter = null;\n this.EnquiryngbDateFromFiter = date;\n }\n }\n\n isHovered(date: NgbDate) {\n return this.EnquiryngbDateFromFiter && !this.EnquiryngbDateToFiter && this.hoveredDate && date.after(this.EnquiryngbDateFromFiter) && date.before(this.hoveredDate);\n }\n\n isInside(date: NgbDate) {\n return this.EnquiryngbDateToFiter && date.after(this.EnquiryngbDateFromFiter) && date.before(this.EnquiryngbDateToFiter);\n }\n\n isRange(date: NgbDate) {\n return date.equals(this.EnquiryngbDateFromFiter) || (this.EnquiryngbDateToFiter && date.equals(this.EnquiryngbDateToFiter)) || this.isInside(date) || this.isHovered(date);\n }\n\n validateInput(currentValue: NgbDate | null, input: string): NgbDate | null {\n const parsed = this.formatter.parse(input);\n return parsed && this.calendar.isValid(NgbDate.from(parsed)) ? NgbDate.from(parsed) : currentValue;\n }\n\n\n\n\n /************************End Date Range*************************************** */\n\n /************************************************************************\n * Grid filter\n * **********************************************************************/\n\n\n /*******************************************************************************\n * Form validation method\n * ******************************************************************************/\n\n isNumberKey(evt: any) {\n this.charCode = (evt.which) ? evt.which : evt.keyCode;\n if (this.charCode != 46 && this.charCode > 31\n && (this.charCode < 48 || this.charCode > 57)) {\n return false;\n }\n else {\n return true;\n }\n }\n\n isintNumberKey(evt: any) {\n this.charCode = (evt.which) ? evt.which : evt.keyCode;\n if ((this.charCode == 46 || this.charCode == 45 || this.charCode == 43) && this.charCode > 31\n && (this.charCode < 48 || this.charCode > 57)) {\n return false;\n }\n else {\n return true;\n }\n }\n\n AvoidSpace(event: any) {\n if (event.which === 32 && !event.target.value.length) {\n event.preventDefault();\n }\n }\n\n\n /*******************************************************************************\n * End Form validation method \n * ******************************************************************************/\n\n /*******************************************************************************\n * Export to Excel\n * ******************************************************************************/\n\n ExportData() {\n this.showLoader = true;\n if (this.EnquiryngbDateToFiter != undefined && this.EnquiryngbDateToFiter != null) {\n this.PaginationModel.EnquiryDateToFiter = (this.ConvertNgbDateToDate(this.EnquiryngbDateToFiter)).toDateString();\n }\n else {\n this.PaginationModel.EnquiryDateToFiter = null;\n }\n\n if (this.EnquiryngbDateFromFiter != undefined && this.EnquiryngbDateFromFiter != null) {\n this.PaginationModel.EnquiryDateFromFiter = (this.ConvertNgbDateToDate(this.EnquiryngbDateFromFiter)).toDateString();\n }\n else {\n this.PaginationModel.EnquiryDateFromFiter = null;\n }\n this.ExportToExcelData = [];\n this.TempEnquiryData = [];\n this.commonService.PostData(\"Enquiry\", \"EnquiryExportToExcel\", this.PaginationModel, null).subscribe((data: any) => {\n this.TempEnquiryData = data;\n if (this.TempEnquiryData.length > 0) {\n this.TempEnquiryData.forEach(item => {\n if (item.EnquiryDate != null && item.EnquiryDate != \"\" && item.EnquiryDate != undefined) {\n item.EnquiryDate = this.convertDate(item.EnquiryDate);\n }\n if (item.RequestedDeliveryDate != null && item.RequestedDeliveryDate != \"\" && item.RequestedDeliveryDate != undefined) {\n item.RequestedDeliveryDate = this.convertDate(item.RequestedDeliveryDate);\n }\n if (item.RefDate != null && item.RefDate != \"\" && item.RefDate != undefined) {\n item.RefDate = this.convertDate(item.RefDate);\n }\n if (item.POSubmittedOn != null && item.POSubmittedOn != \"\" && item.POSubmittedOn != undefined) {\n item.POSubmittedOn = this.convertDate(item.POSubmittedOn);\n }\n if (item.QuotationSubmittedDate != null && item.QuotationSubmittedDate != \"\" && item.QuotationSubmittedDate != undefined) {\n item.QuotationSubmittedDate = this.convertDate(item.QuotationSubmittedDate);\n }\n if (item.SupplyChain_DeliveryDate != null && item.SupplyChain_DeliveryDate != \"\" && item.SupplyChain_DeliveryDate != undefined) {\n item.SupplyChain_DeliveryDate = this.convertDate(item.SupplyChain_DeliveryDate);\n }\n if (item.InvoiceSubmittedOn != null && item.InvoiceSubmittedOn != \"\" && item.InvoiceSubmittedOn != undefined) {\n item.InvoiceSubmittedOn = this.convertDate(item.InvoiceSubmittedOn);\n }\n if (item.EnquiryLostDate != null && item.EnquiryLostDate != \"\" && item.EnquiryLostDate != undefined) {\n item.EnquiryLostDate = this.convertDate(item.EnquiryLostDate);\n }\n // item.EnquiryDate = this.datePipe.transform(new Date(item.EnquiryDate), 'dd-MMM-yyyy h:mm a');\n if (item.QuotationDetailsList != null && item.QuotationDetailsList.length > 0 && item.QuotationDetailsList.length != null && item.QuotationDetailsList.length != undefined) {\n for (let i = 0; i < item.QuotationDetailsList.length; i++) {\n var obj = {\n \"EnquiryNumber\": item.EnquiryNumber,\n \"EnquiryDate\": item.EnquiryDate,\n \"InitiatorName\": item.InitiatorName,\n \"CustomerName\": item.CustomerName,\n \"CustomerCode\": item.CustomerCode,\n \"IndustrySegment\": item.IndustrySegment,\n \"SubSegment\": item.SubSegment,\n \"CustomerType\": item.CustomerType,\n \"CustomerCategory\": item.CustomerCategory,\n \"CustomerClassification\": item.CustomerClassification,\n \"Country\": item.Country,\n \"Region\": item.Region,\n \"EnquirySource\": item.EnquirySource,\n \"EnquiryDescription\": item.EnquiryDescription,\n \"RFQNumber\": item.RFQNumber,\n \"RequestedDeliveryDate\": item.RequestedDeliveryDate,\n \"KindAttentionPerName\": item.KindAttentionPerName,\n \"YourRefPerName\": item.YourRefPerName,\n \"RefDate\": item.RefDate,\n \"RFQRevisionNo\": item.RFQRevisionNo,\n \"EstimatedProductvalue\": item.EstimatedProductvalue,\n \"RFQTermsAndCondition\": item.RFQTermsAndCondition,\n \"KindAttContactNo\": item.KindAttContactNo,\n \"KindAttEmailId\": item.KindAttEmailId,\n \"QuotationNumber\": item.QuotationNumber,\n \"QuotationRevisionNo\": item.QuotationRevisionNo,\n \"QuotationAmount\": item.QuotationAmount,\n \"QuotationDiscount\": item.QuotationDiscount,\n \"QuotationFinalAmount\": item.QuotationFinalAmount,\n \"QuotationSubmittedDate\": item.QuotationSubmittedDate,\n \"POValue\": item.POValue,\n \"Quotation_Status\": item.EnquiryConfirmStatus,\n \"POSubmittedOn\": item.POSubmittedOn,\n \"OrdAcknowledgeNumber\": item.OrdAcknowledgeNumber,\n \"SupplyChain_Type_Domestic_Export\": item.SupplyChainType,\n \"TentativeDateOfDelivery\": item.SupplyChain_DeliveryDate,\n \"InvoiceNo\": item.InvoiceNo,\n \"InvoiceSubmittedOn\": item.InvoiceSubmittedOn,\n \"EnquiryLostDate\": item.EnquiryConfirmStatus == 'Lost' ? item.EnquiryLostDate : '',\n \"WinLostReason\": item.WinLostReason,\n \"EnquiryStatus\": item.EnquiryStatus,\n \"ActivityType\": item.ActivityType,\n \"Activity_Subject\": item.Activity_Subject,\n \"ActivityStatus\": item.ActivityStatus,\n \"ActivityPurpose\": item.ActivityPurpose,\n \"ActivityPurposeDesc\": item.ActivityPurposeDesc,\n \"Activity_Outcome\": item.Activity_Outcome,\n \"Activity_OutcomeDesc\": item.Activity_OutcomeDesc,\n \"ProductLine\": item.QuotationDetailsList[i].ProductLine,\n \"ProductFamily\": item.QuotationDetailsList[i].ProductFamily,\n \"ProductSeries\": item.QuotationDetailsList[i].ProductSeries,\n \"ProductModel\": item.QuotationDetailsList[i].ModelName,\n \"ProductModelPrice\": item.QuotationDetailsList[i].ProductModelPrice,\n \"ProductVariant_1\": item.QuotationDetailsList[i].ProductVariant_1,\n \"ProductVariant_1Price\": item.QuotationDetailsList[i].ProductVariant_1Price,\n \"ProductVariant_2\": item.QuotationDetailsList[i].ProductVariant_2,\n \"ProductVariant_2Price\": item.QuotationDetailsList[i].ProductVariant_2Price,\n \"ProductVariant_3\": item.QuotationDetailsList[i].ProductVariant_3,\n \"ProductVariant_3Price\": item.QuotationDetailsList[i].ProductVariant_3Price,\n \"ProductVariant_4\": item.QuotationDetailsList[i].ProductVariant_4,\n \"ProductVariant_4Price\": item.QuotationDetailsList[i].ProductVariant_4Price,\n \"Quantity\": item.QuotationDetailsList[i].Quantity,\n \"TotalAmount\": item.QuotationDetailsList[i].TotalAmount,\n \"Discount\": item.QuotationDetailsList[i].Discount,\n \"FinalAmount\": item.QuotationDetailsList[i].FinalAmount,\n \"POAmount\": item.QuotationDetailsList[i].POAmount,\n\n }\n\n this.ExportToExcelData.push(obj);\n\n }\n }\n else {\n var obj1 = {\n \"EnquiryNumber\": item.EnquiryNumber,\n \"EnquiryDate\": item.EnquiryDate,\n \"InitiatorName\": item.InitiatorName,\n \"CustomerName\": item.CustomerName,\n \"CustomerCode\": item.CustomerCode,\n \"IndustrySegment\": item.IndustrySegment,\n \"SubSegment\": item.SubSegment,\n \"CustomerType\": item.CustomerType,\n \"CustomerCategory\": item.CustomerCategory,\n \"CustomerClassification\": item.CustomerClassification,\n \"Country\": item.Country,\n \"Region\": item.Region,\n \"EnquirySource\": item.EnquirySource,\n \"EnquiryDescription\": item.EnquiryDescription,\n \"RFQNumber\": item.RFQNumber,\n \"RequestedDeliveryDate\": item.RequestedDeliveryDate,\n \"KindAttentionPerName\": item.KindAttentionPerName,\n \"YourRefPerName\": item.YourRefPerName,\n \"RefDate\": item.RefDate,\n \"RFQRevisionNo\": item.RFQRevisionNo,\n \"EstimatedProductvalue\": item.EstimatedProductvalue,\n \"RFQTermsAndCondition\": item.RFQTermsAndCondition,\n \"KindAttContactNo\": item.KindAttContactNo,\n \"KindAttEmailId\": item.KindAttEmailId,\n \"QuotationNumber\": item.QuotationNumber,\n \"QuotationRevisionNo\": item.QuotationRevisionNo,\n \"QuotationAmount\": item.QuotationAmount,\n \"QuotationDiscount\": item.QuotationDiscount,\n \"QuotationFinalAmount\": item.QuotationFinalAmount,\n \"QuotationSubmittedDate\": item.QuotationSubmittedDate,\n \"POValue\": item.POValue,\n \"Quotation_Status\": item.EnquiryConfirmStatus,\n \"POSubmittedOn\": item.POSubmittedOn,\n \"OrdAcknowledgeNumber\": item.OrdAcknowledgeNumber,\n \"SupplyChain_Type_Domestic_Export\": item.SupplyChainType,\n \"TentativeDateOfDelivery\": item.SupplyChain_DeliveryDate,\n \"InvoiceNo\": item.InvoiceNo,\n \"InvoiceSubmittedOn\": item.InvoiceSubmittedOn,\n \"EnquiryLostDate\": item.EnquiryConfirmStatus == 'Lost' ? item.EnquiryLostDate : '',\n \"WinLostReason\": item.WinLostReason,\n \"EnquiryStatus\": item.EnquiryStatus,\n \"ActivityType\": item.ActivityType,\n \"Activity_Subject\": item.Activity_Subject,\n \"ActivityStatus\": item.ActivityStatus,\n \"ActivityPurpose\": item.ActivityPurpose,\n \"ActivityPurposeDesc\": item.ActivityPurposeDesc,\n \"Activity_Outcome\": item.Activity_Outcome,\n \"Activity_OutcomeDesc\": item.Activity_OutcomeDesc,\n \"ProductLine\": '',\n \"ProductFamily\": '',\n \"ProductSeries\": '',\n \"ProductModel\": '',\n \"ProductModelPrice\": 0,\n \"ProductVariant_1\": '',\n \"ProductVariant_1Price\": 0,\n \"ProductVariant_2\": '',\n \"ProductVariant_2Price\": 0,\n \"ProductVariant_3\": '',\n \"ProductVariant_3Price\": 0,\n \"ProductVariant_4\": '',\n \"ProductVariant_4Price\": 0,\n \"Quantity\": 0,\n \"TotalAmount\": 0,\n \"Discount\": 0,\n \"FinalAmount\": 0,\n \"POAmount\": 0,\n\n }\n\n this.ExportToExcelData.push(obj1);\n\n }\n\n\n });\n if (this.ExportToExcelData.length > 0) {\n this.exportAsXLSX(this.ExportToExcelData, 'EnquiryData.xlsx');\n }\n this.showLoader = false;\n }\n else {\n // this.toastr.error(\"No data available!\");\n this.showLoader = false;\n }\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n\n exportAsExcelFile(json: any[], excelFileName: string): void {\n // const worksheet: XLSX.WorkSheet = XLSX.utils.json_to_sheet(json);\n // const workbook: XLSX.WorkBook = { Sheets: { 'EnquiryData': worksheet }, SheetNames: ['EnquiryData'] };\n // const excelBuffer: any = XLSX.write(workbook, { bookType: 'xlsx', type: 'array' });\n // this.saveAsExcelFile(excelBuffer, excelFileName);\n\n let workbook = new Excel.Workbook();\n workbook = this.getworkSheet(json, workbook);\n workbook.xlsx.writeBuffer().then((data) => {\n let blob = new Blob([data], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });\n this.saveAsExcelFile(data, excelFileName);\n });\n }\n\n getworkSheet(sheet2: any[], workbook: any) {\n\n let worksheet = workbook.addWorksheet('EnquiryData');\n let header = ['EnquiryNumber', 'EnquiryDate', 'InitiatorName', 'CustomerName', 'CustomerCode',\n 'IndustrySegment', 'SubSegment', 'CustomerType', 'CustomerCategory', 'CustomerClassification', 'Country',\n 'Region', 'EnquirySource', 'EnquiryDescription', 'RFQNumber', 'RequestedDeliveryDate', 'KindAttentionPerName',\n 'YourRefPerName', 'RefDate', 'RFQRevisionNo', 'EstimatedProductvalue', 'RFQTermsAndCondition', 'KindAttContactNo',\n 'KindAttEmailId', 'QuotationNumber', 'QuotationRevisionNo', 'QuotationAmount', 'QuotationDiscount',\n 'QuotationFinalAmount', 'QuotationSubmittedDate', 'POValue', 'Quotation_Status', 'POSubmittedOn',\n 'OrdAcknowledgeNumber', 'SupplyChain_Type_Domestic_Export', 'TentativeDateOfDelivery', 'InvoiceNo',\n 'InvoiceSubmittedOn', 'EnquiryLostDate', 'WinLostReason', 'EnquiryStatus',\n 'ActivityType', 'Activity_Subject', 'ActivityStatus', 'ActivityPurpose', 'ActivityPurposeDesc', 'Activity_Outcome', 'Activity_OutcomeDesc',\n 'ProductLine', 'ProductFamily', 'ProductSeries', 'ProductModel', 'ProductModelPrice', 'ProductVariant_1', 'ProductVariant_1Price',\n 'ProductVariant_2', 'ProductVariant_2Price', 'ProductVariant_3', 'ProductVariant_3Price', 'ProductVariant_4', 'ProductVariant_4Price',\n 'Quantity', 'TotalAmount', 'Discount', 'FinalAmount', 'POAmount'];\n\n let headerRow = worksheet.addRow(header);\n\n headerRow.eachCell((cell, number) => {\n cell.fill = {\n type: 'pattern',\n pattern: 'solid',\n fgColor: { argb: '74B4FE' },\n bgColor: { argb: 'FF0000FF' }\n };\n cell.font = {\n name: 'Arial',\n family: 2,\n bold: true,\n size: 10,\n };\n cell.border = { top: { style: 'thin' }, left: { style: 'thin' }, bottom: { style: 'thin' }, right: { style: 'thin' } }\n\n })\n for (let key of Object.keys(sheet2)) {\n let tmparray = [];\n let tmpobj = sheet2[key];\n\n for (let key of Object.keys(tmpobj)) {\n let tmpobj1 = tmpobj[key];\n tmparray.push(tmpobj1)\n }\n worksheet.addRow(tmparray);\n }\n return workbook;\n\n }\n\n public saveAsExcelFile(buffer: any, fileName: string): void {\n const data: Blob = new Blob([buffer], { type: EXCEL_TYPE });\n FileSaver.saveAs(data, fileName);\n }\n\n public exportAsXLSX(arrayofdata, filename: string): void {\n //const data = this.getFormatedData(arrayofdata);\n this.exportAsExcelFile(arrayofdata, filename);\n }\n\n\n /*******************************************************************************\n * Export to Excel\n * ******************************************************************************/\n /************* Delete Enquiry */\n deleteEnquiry(enqid, enqNo, initiatorID, status, PendingAtRoleId, Status) {\n this.EnquiryObj.EnquiryDetails.EnquiryId = enqid;\n this.EnquiryObj.EnquiryDetails.Status = Status;\n var confimrmsg = AppGlobals.successMessages.filter(x => x.id == Status)[0];\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: confimrmsg.confirmmsg\n }\n });\n\n dialogRef.afterClosed().subscribe(dialogResult => {\n if (dialogResult) {\n this.showLoader = true;\n\n let enquiryDetails = JSON.stringify(this.EnquiryObj);\n const frmData = new FormData();\n frmData.append(\"enquiryDetails\", enquiryDetails);\n\n this.commonService.PostData(\"Enquiry\", \"DeleteEnquiry\", frmData, null).subscribe((data: any) => {\n this.EnquiryObj.EnquiryDetails.EnquiryId = data;\n\n this.showLoader = false;\n this.toastr.success(confimrmsg.successmsg);\n window.location.reload();\n //this.router.navigate(['/Enquiry']);\n this.closePopup();\n\n }, error => {\n this.toastr.error(confimrmsg.errormsg);\n this.showLoader = false;\n //this.router.navigate(['/Enquiry']);\n });\n }\n });\n }\n\n addEnquiryPopup(enqid, custid) {\n // this.router.navigate(['/Add-Activity/Enquiry/' + enqid]);\n\n const modalRef = this.modalService.open(AddActivityComponent, {\n size: 'xl', backdrop: 'static', keyboard: false\n });\n\n var ActivityEntity = {\n enqId: enqid,\n custId: custid,\n inPopUpMode: true,\n entityType: 'Enquiry',\n };\n\n modalRef.componentInstance.ActivityEntity = ActivityEntity;\n // modalRef.result.then((result) => {\n // this.closeResult = `Closed with:${result}`;\n // if (this.closeResult !== 'Closed with:Close click') {\n // this.GetAllEnquiry();\n // }\n // });\n }\n\n closePopup() {\n this.activeModal.close('Close Click');\n }\n\n getAccess()\n {\n this.accessservice.GetAll().subscribe((data:any)=> {\n this.accesspermissionobj=data;\n this.isEnquiryDataExport=this.accesspermissionobj.filter(x => x.Fk_RoleId == this.role && x.ElementKey=='IsEnquiryDataExportAccessArray')[0]?.IsVisible;\n \n });\n \n }\n\n}\n","\n\n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n Enquiry Listing - All\n

    \n
    \n
    \n
    \n \n
    \n
    \n \n \n \n \n \n expand_more\n \n \n \n \n
    \n
    \n\n\n\n
    \n\n
    \n\n
    \n \n \n \n {{ date.day }}\n \n \n
    \n
    \n
    \n \n
    \n \n \n
    \n \n \n \n\n
    \n
    \n \n \n \n
    \n
    \n
    \n\n \n
    \n\n \n
    \n\n
    \n\n \n\n\n\n \n\n
    \n \n
    \n 0 && PaginationModel.CusomterNameFilter != []) ? 'InputFiledWithbtn' : 'GridFilter'\"\n [multiple]=\"true\" appendTo=\"body\" bindLabel=\"Name\"\n [selectableGroup]=\"true\" [selectableGroupAsModel]=\"false\"\n [closeOnSelect]=\"false\" [clearable]=\"false\" bindValue=\"Name\"\n placeholder=\"Select Customer\"\n [(ngModel)]=\"PaginationModel.CusomterNameFilter\">\n\n \n \n {{item.Name}}\n \n\n \n
    0 && PaginationModel.CusomterNameFilter != [])\"\n (click)=\"PaginationModel.CusomterNameFilter=[];\">\n \n \n \n
    \n\n
    \n
    \n\n
    \n \n
    \n 0 && PaginationModel.EstimatedEnquiryValueFilter != []) ? 'InputFiledWithbtn' : 'GridFilter'\"\n [multiple]=\"true\" appendTo=\"body\" [clearable]=\"false\"\n bindLabel=\"Name\" [selectableGroup]=\"true\"\n [selectableGroupAsModel]=\"false\" [closeOnSelect]=\"false\"\n bindValue=\"Name\" placeholder=\"Select Estimated Enquiry Value\"\n [(ngModel)]=\"PaginationModel.EstimatedEnquiryValueFilter\">\n\n \n \n {{item.Name}}\n \n\n \n\n
    0 && PaginationModel.EstimatedEnquiryValueFilter != [])\"\n (click)=\"PaginationModel.EstimatedEnquiryValueFilter=[];\">\n \n \n \n
    \n
    \n
    \n\n
    \n \n
    \n 0 && PaginationModel.InitiatorNameFilter != []) ? 'InputFiledWithbtn' : 'GridFilter'\"\n [multiple]=\"true\" appendTo=\"body\" bindLabel=\"Name\"\n [clearable]=\"false\" [selectableGroup]=\"true\"\n [selectableGroupAsModel]=\"false\" [closeOnSelect]=\"false\"\n bindValue=\"Name\" placeholder=\"Select Initiator\"\n [(ngModel)]=\"PaginationModel.InitiatorNameFilter\">\n\n \n \n {{item.Name}}\n \n\n \n
    0 && PaginationModel.InitiatorNameFilter != [])\"\n (click)=\"PaginationModel.InitiatorNameFilter=[];\">\n \n \n \n
    \n\n
    \n
    \n\n\n
    \n\n
    \n
    \n \n
    \n 0 && PaginationModel.SegmentFilter != []) ? 'InputFiledWithbtn' : 'GridFilter'\"\n [multiple]=\"true\" appendTo=\"body\" bindLabel=\"Name\"\n [clearable]=\"false\" [selectableGroup]=\"true\"\n [selectableGroupAsModel]=\"false\" [closeOnSelect]=\"false\"\n bindValue=\"Name\" placeholder=\"Select Segment\"\n [(ngModel)]=\"PaginationModel.SegmentFilter\"\n (change)=\"OnSegmentChangeGetMiCroSegment()\">\n\n \n \n {{item.Name}}\n \n\n \n
    0 && PaginationModel.SegmentFilter != [])\"\n (click)=\"PaginationModel.SegmentFilter=[];OnSegmentChangeGetMiCroSegment()\">\n \n \n \n
    \n\n
    \n
    \n\n
    \n \n
    \n 0 && PaginationModel.MicroSegmentFilter != []) ? 'InputFiledWithbtn' : 'GridFilter'\"\n [multiple]=\"true\" appendTo=\"body\" [clearable]=\"false\"\n bindLabel=\"Name\" [selectableGroup]=\"true\"\n [selectableGroupAsModel]=\"false\" [closeOnSelect]=\"false\"\n bindValue=\"Name\" placeholder=\"Select Micro-Segment\"\n [(ngModel)]=\"PaginationModel.MicroSegmentFilter\">\n\n \n \n {{item.Name}}\n \n\n \n
    0 && PaginationModel.MicroSegmentFilter != [])\"\n (click)=\"PaginationModel.MicroSegmentFilter=[];\">\n \n \n \n
    \n\n
    \n
    \n\n
    \n \n
    \n 0 && PaginationModel.RegionFilter != []) ? 'InputFiledWithbtn' : 'GridFilter'\"\n [multiple]=\"true\" appendTo=\"body\" bindLabel=\"Name\"\n [selectableGroup]=\"true\" [selectableGroupAsModel]=\"false\"\n [closeOnSelect]=\"false\" [clearable]=\"false\" bindValue=\"Name\"\n placeholder=\"Select Region\"\n [(ngModel)]=\"PaginationModel.RegionFilter\">\n\n \n \n {{item.Name}}\n \n\n \n
    0 && PaginationModel.RegionFilter != [])\"\n (click)=\"PaginationModel.RegionFilter=[];\">\n \n \n \n
    \n\n
    \n
    \n\n
    \n \n
    \n 0 && PaginationModel.CusomterClassFilter != []) ? 'InputFiledWithbtn' : 'GridFilter'\"\n [multiple]=\"true\" appendTo=\"body\" [clearable]=\"false\"\n bindLabel=\"Name\" [selectableGroup]=\"true\"\n [selectableGroupAsModel]=\"false\" [closeOnSelect]=\"false\"\n bindValue=\"Name\" placeholder=\"Select Customer Classification\"\n [(ngModel)]=\"PaginationModel.CusomterClassFilter\">\n\n \n \n {{item.Name}}\n \n\n \n
    0 && PaginationModel.CusomterClassFilter != [])\"\n (click)=\"PaginationModel.CusomterClassFilter=[];\">\n \n \n \n
    \n\n
    \n
    \n\n\n
    \n\n
    \n
    \n \n
    \n 0 && PaginationModel.ProdcutFilter != []) ? 'InputFiledWithbtn' : 'GridFilter'\"\n [multiple]=\"true\" appendTo=\"body\" bindLabel=\"Name\"\n [selectableGroup]=\"true\" [selectableGroupAsModel]=\"false\"\n [closeOnSelect]=\"false\" [clearable]=\"false\" bindValue=\"Name\"\n placeholder=\"Select Product\"\n [(ngModel)]=\"PaginationModel.ProdcutFilter\">\n\n \n \n {{item.Name}}\n \n\n \n
    0 && PaginationModel.ProdcutFilter != [])\"\n (click)=\"PaginationModel.ProdcutFilter=[];\">\n \n \n \n
    \n\n
    \n
    \n\n
    \n \n
    \n \n\n \n
    \n \n \n \n
    \n
    \n
    \n\n \n\n
    \n \n
    \n 0 && PaginationModel.QuotationStatusFilter != []) ? 'InputFiledWithbtn' : 'GridFilter'\"\n [multiple]=\"true\" appendTo=\"body\" bindLabel=\"item\"\n [selectableGroup]=\"true\" [selectableGroupAsModel]=\"false\"\n [closeOnSelect]=\"false\" [clearable]=\"false\" bindValue=\"item\"\n placeholder=\"Select Status\"\n [(ngModel)]=\"PaginationModel.QuotationStatusFilter\">\n\n \n \n {{item}}\n \n\n \n
    0 && PaginationModel.QuotationStatusFilter != [])\"\n (click)=\"PaginationModel.QuotationStatusFilter=[];\">\n \n \n \n
    \n\n
    \n
    \n\n
    \n \n\n
    \n \n\n \n\n
    \n \n \n \n

    \n
    \n
    \n\n
    \n\n
    \n\n\n\n \n\n\n\n
    \n
    \n\n       \n\n\n \n
    \n\n\n\n\n
    \n\n
    \n\n\n
    \n
    \n
    \n
    \n\n
    \n\n
    \n\n
    \n \n\n
    \n
    \n \n\n Search\n \n \n\n
    \n\n
    \n\n
    \n
    \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n\n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n\n \n\n \n \n \n \n\n \n \n \n \n\n \n\n\n \n \n \n \n\n\n\n\n \n \n\n\n
    Enquiry No. \n\n {{row.EnquiryNumber}}\n Enquiry Date\n \n {{row.EnquiryDate | date: \"dd-MMM-yyyy\"}} \n Customer Name/Code\n\n \n {{row.CustomerName}}
    {{row.CustomerCode}}
    Estimated Enquiry\n Value\n \n {{row.EstimatedProductvalue}} Segment\n \n {{row.IndustrySegment}} Micro - Segment\n \n {{row.SubSegment}} Region\n {{row.RegionName}} Customer Class.\n \n {{row.CustomerClassification}} Quotation No.\n \n \n {{row.QuotationNumber}}\n \n Products\n \n {{row.Products}}\n\n Quotation Amount (€)\n \n {{row.EnquiryValue==null?'':row.EnquiryValue| indianCurrency}}\n Discount (%)\n \n\n {{row.Discount}}\n\n Quotation Status\n \n {{row.EnquiryWinLostOpenStatus}} Activity Type\n \n {{row.ActivityType}} Activity Subject\n \n {{row.Activity_Subject}} Activity Status\n \n {{row.ActivityStatus}} Activity Purpose\n \n {{row.ActivityPurpose}} Purpose Desc\n \n \n Activity Outcome\n \n {{row.Activity_Outcome}} Outcome Desc\n \n \n CRM updates \n {{row.EnquiryStatus}} Initiator Name\n \n {{row.InitiatorName}} Action \n\n \n \n\n \n \n\n \n
    \n
    No records found
    \n
    \n \n \n
    \n\n\n\n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n\n","\n\nimport { Component, OnInit, ViewChild, Input, ɵclearResolutionOfComponentResourcesQueue, ElementRef, EventEmitter, Output, ChangeDetectorRef } from '@angular/core';\nimport { EmployeeGuestModel } from 'src/app/Model/EmployeeGuestModel';\nimport { ActivatedRoute, NavigationEnd, Router, RoutesRecognized } from '@angular/router';\nimport { ToastrService } from 'ngx-toastr';\nimport { CommonService } from 'src/app/Service/common.service';\nimport { MatDialog } from '@angular/material/dialog';\nimport * as FileSaver from 'file-saver';\nimport { BasicCustomerInformationModel } from 'src/app/Model/CustomerModel';\nimport { EnquiryModel, CustomerDrpdnDetails, CustomerDetails, ProductDrpdnDetails, EnquiryDetailsModel, ProductDetails, Comments, removefiles, TermsAndCondition, ActivityModel, ProductModelPOValues, CustomTermsAndCondition } from 'src/app/Model/EnquiryModel';\nimport { ConfirmDialogComponent } from 'src/app/confirm-dialog/confirm-dialog.component';\nimport { NgbDate, NgbModal, NgbActiveModal, NgbDatepickerConfig, NgbDateStruct } from '@ng-bootstrap/ng-bootstrap';\nimport { AppGlobals } from 'src/app/app.global';\n\nimport { UserRoles } from \"src/app/UserRoles\";\nimport { SingleFieldModel } from 'src/app/Model/SingleFieldModel';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { EnquiryModalComponent } from '../enquiry-modal/enquiry-modal.component';\nimport { MatStepper } from '@angular/material/stepper';\nimport { FormControl, NgForm, Validators } from '@angular/forms';\nimport { HttpHeaders, HttpClient, HttpErrorResponse } from '@angular/common/http';\nimport { QuotationDetailsModel, QuotationCustomerDetails } from 'src/app/Model/QuotationModel';\nimport { Title } from '@angular/platform-browser';\nimport { Location } from '@angular/common';\nimport {\n saveAs as importedSaveAs\n} from \"file-saver\";\nimport { ClassGetter } from '@angular/compiler/src/output/output_ast';\nimport { TechnicalDiscardComponent } from '../technical-discard/technical-discard.component';\nimport { CloseOppReasonComponent } from '../close-opp-reason/close-opp-reason.component';\nimport { EnquiryStatus, EnquiryStatusCode } from \"src/app/EnquiryStatus\";\nimport { EnquiryStatusList } from 'src/app/Model/EnquiryStatus';\nimport { EnquirySendBack } from 'src/app/Model/EnquirySendBack';\nimport { QuotationPreviewComponent } from '../quotation-preview/quotation-preview.component';\nimport { SendBackCommentComponent } from '../send-back-comment/send-back-comment.component';\nimport { forkJoin } from 'rxjs';\nimport { tap } from 'rxjs/operators';\nimport { AppConfigService } from 'src/app/Service/app-config.service';\ndeclare var require: any\n\n\n@Component({\n selector: 'app-management-approval',\n templateUrl: './management-approval.component.html',\n styleUrls: ['./management-approval.component.scss']\n})\n\nexport class ManagementApprovalComponent implements OnInit {\n\n @ViewChild('myform3') myform3: NgForm;\n @ViewChild('myform5') myform5: NgForm;\n @ViewChild('myInput') myInputVariable: ElementRef;\n @ViewChild('editpovalue', { static: false }) editpovalue: ElementRef;\n standardTC:any[] = [];\n customTCValues:any[] =[];\n\n userInfo: EmployeeGuestModel = new EmployeeGuestModel();\n CustomerList: BasicCustomerInformationModel[] = [];\n EnquiryObj: EnquiryDetailsModel = new EnquiryDetailsModel();\n newRFQDetails: any = {};\n productListdropdownData = [];\n customerDrpdnDetails: CustomerDrpdnDetails = new CustomerDrpdnDetails();\n productDrpdnDetails: ProductDrpdnDetails = new ProductDrpdnDetails();\n customerData: CustomerDetails;\n activityDetails: ActivityModel[] = Array();\n CustomerDetailsObj: QuotationCustomerDetails = new QuotationCustomerDetails();\n QuotationData: QuotationDetailsModel = new QuotationDetailsModel();\n allowedFileType: string[] = [\n 'image/bmp',\n 'image/jpeg',\n 'image/png',\n 'application/pdf',\n 'text/plain',\n 'text/csv',\n 'application/xml',\n 'text/xml',\n 'application/vnd.ms-excel',\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\n 'application/msword',\n 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',\n 'application/zip',\n 'application/x-zip-compressed',\n ];\n\n showEditRFQForInitiator: boolean;\n UserRole: any;\n isTechnicalDiscardVisible: boolean =false;\n isEnquiryFormVisible: boolean = false;\n isRFQVisible: boolean = false;\n isQuoteGenerationVisible: boolean = false;\n isManagementApprovalVisible: boolean = false;\n isSOVisible: boolean = false;\n isOrderAcknowledgementVisible: boolean = false;\n EnquiryConfirmationVisible: boolean = false;\n isSupplychainVisible: boolean = false;\n isAccountsVisible: boolean = false;\n iseditable:boolean=false;\n isOAGenerationVisible: boolean = false;\n isBOMAttachment: boolean;\n isInvoiceAttachment: boolean;\n isPOAttachment: boolean;\n IsRFQDataValid: boolean = true;\n selectedIndexForStatus: any = 1;\n remLimit: any = 1500;\n maxLimit: any = 1500;\n varLongTermGoal: any;\n DiscountFromrange:any;\n Discounttorange:any;\n\n @Input()\n showLoader: boolean = false;\n charCode: number;\n enquiryStatus = EnquiryStatus;\n AppRoles = UserRoles;\n enquirySource: SingleFieldModel[] = [];\n TnCStandardFromDropDown: any[] = [];\n TnCCustomizedFromDropDown: any[] = [];\n TnCCustomizedDropDownForEditRfq1: any[] = [];\n TnCCustomizedDropDownForEditRfq2: any[] = [];\n newCustomTc: any;\n product: any = {};\n isEnquirySubmit: boolean = false;\n charCode1: any;\n pageNumber: number = 1;\n @Input() pageSize: number = 5;\n @Input() length: number;\n @Input() pageIndex: number = this.pageNumber - 1;\n dataSource: MatTableDataSource;\n enquiryStatusCode = EnquiryStatusCode;\n\n @ViewChild('stepper') stepper: MatStepper;\n AppGlobals = AppGlobals;\n fileDownloadPath = this.AppGlobals.baseFileDownloadUrl;\n QuotationDownloadPath = this.AppGlobals.QuotationFileDownloadUrl;\n isEnquiryLoaded: boolean;\n role: string;\n isStandardCondition: boolean;\n closeResult: string;\n isCEOApprovalVisible: boolean;\n demoObject: any;\n demoCTCObject: any;\n WinLossDropdownData: any[] = [];\n WinLossDropdownDataForStatus: any;\n isPoValueDisable: boolean;\n isCustomerCommentVisible: any;\n isOAGenerated: boolean;\n isAcceptClick: boolean;\n dataPassed: any;\n dropdownData: any;\n showQuotationLink: boolean;\n userid: string;\n isprocessing: boolean = true;\n rfqattpresent: boolean;\n QuotationDataForPO: any[] = [];\n chosenItem: string = \"1\";\n quoterevcomments: any;\n QGRFQEditable: boolean = false;\n IsActivityDataValid: boolean;\n today: Date;\n fc = new FormControl();\n minDate: NgbDate;\n showEditRFQ: boolean;\n isTantativeDateEditable: boolean;\n tempRFQ: ProductDetails[];\n IsPODataValid: boolean;\n isEditactivity: boolean = true;\n PreviousStatus: number = 0;\n tempfile: any;\n ngbDateParserFormatter: any;\n UpdatePO: boolean = false;\n isPOAttacmentDelete: boolean = false;\n RevisedQuotationFileNameList: string[] = [];\n emailPattern: string = \"^[a-zA-Z0-9_\\\\.-]+@([a-zA-Z0-9-]+\\\\.)+[a-zA-Z]{2,6}$\";\n StartDate: NgbDate;\n EndDate: NgbDate;\n RoleWiseScreenDisplay: any;\n previousUrl: string = null;\n IndustrySegment: any[] = [];\n SubSegment: any[] = [];\n Application: any[] = [];\n\n FinalIndustrySegment: any[] = [];\n FinalSubSegment: any[] = [];\n FinalApplication: any[] = [];\n workflowActionList: any[] = [];\n enquiryStatusList: EnquiryStatusList[] = [];\n workflowId: number;\n sendbackRules:EnquirySendBack[]=[];\n previousEnqStatus : any;\n roleOfAdmin : any;\n\n @Output() updateLoaderEvent = new EventEmitter();\n UserRolesData:any[]=[];\n isPricesRequestedBeforeSubmit: any;\n showPreviewLink: boolean=false;\n WinLossDataForStatus: any;\n QuotationPdfGenerationHostPath:any;\n\n constructor(private toastr: ToastrService, private commonService: CommonService, public dialog: MatDialog,\n private _location: Location,\n private config: NgbDatepickerConfig,\n private modalService: NgbModal, private activeModel: NgbActiveModal,\n private router: Router, private route: ActivatedRoute, private titleService: Title,private cd: ChangeDetectorRef,\n private appConfigService: AppConfigService) {\n this.today = new Date();\n this.minDate = new NgbDate(this.today.getFullYear(), this.today.getMonth() + 1, this.today.getDate());\n this.StartDate = new NgbDate(2018, 1, 1);\n this.EndDate = new NgbDate(this.today.getFullYear() + 1, 12, 31);\n\n\n }\n ngAfterViewInit() {\n this.updateLoaderEvent.emit(true);;\n setTimeout(() => {\n this.isprocessing = false;\n this.chosenItem = \"1\";\n this.updateLoaderEvent.emit(false);;\n }, 2000);\n }\n ngOnInit() {\n this.commonService.previousUrl$.subscribe((previousUrl: string) => {\n this.previousUrl = previousUrl;\n });\n\n let tempRoleWiseScreenDisplay = localStorage.getItem(\"WorkFlowRoleWiseScreenAccess\");\n this.RoleWiseScreenDisplay = tempRoleWiseScreenDisplay.split(\",\");\n const appConfig = this.appConfigService.getConfig();\n this.QuotationPdfGenerationHostPath=appConfig.QuotationPdfGenerationHostPath;\n const dynamicTitle = this.route.snapshot.data['title'];\n this.titleService.setTitle(`${dynamicTitle} - ${appConfig.titleName}`);\n //this.titleService.setTitle(this.route.snapshot.data['title'] + \" - ECOTECH\");\n this.commonService.RefreshHeaderFun();\n this.EnquiryObj.EnquiryDetails.EnquiryId = this.route.snapshot.params[\"id\"];\n this.EnquiryObj.EnquiryDetails.EstimatedProductValue = null;\n this.EnquiryObj.EnquiryDetails.InvoiceAttachment = undefined;\n this.getRFQProduct();\n this.getEnquirySourceDetails();\n this.getCustomerList();\n //this.getEnquiryDetailsById();\n //this.getEnquiryStatus();\n this.getAllWorkFlow();\n this.getUserRoles();\n this.isEnquiryLoaded = false;\n this.getSendbackWorkfow();\n \n this.UserRole = localStorage.getItem(\"UserRole\");\n this.isTechnicalDiscardVisible = AppGlobals.QuoteGenearation_Enquiry_TechnicalDiscardArray.filter(x => x.role\n == this.UserRole)[0]?.isEditable;\n\n this.roleOfAdmin = UserRoles.Admin;\n\n forkJoin([\n this.getEnquiryStatus(),\n this.getEnquiryDetailsById(),\n this.getQuotationDetailsById(),\n \n ]).pipe(tap(res => { \n \n })).subscribe(x=>{\n this.ShowPreview();\n this.updateLoaderEvent.emit(false);\n });\n \n\n \n }\n limitTextOnKeyUpDown1(event: any) {\n let goalText = event.target.value;\n if (goalText.length > this.maxLimit) {\n this.varLongTermGoal = goalText.substring(0, this.maxLimit);\n } else {\n this.remLimit = this.maxLimit - goalText.length;\n }\n }\n\n ScreenAccessSpecifier_ALL() {\n this.isEnquiryFormVisible = true;\n this.isRFQVisible = true;\n this.isQuoteGenerationVisible = true;\n this.isManagementApprovalVisible = true;\n this.isCEOApprovalVisible = true;\n this.EnquiryConfirmationVisible = true;\n this.isSOVisible = true;\n this.isOrderAcknowledgementVisible = true;\n this.isSupplychainVisible = true;\n this.isAccountsVisible = true;\n this.isOAGenerationVisible = true;\n\n }\n\n ScreenAccessSpecifier(role, enquirystatus) {\n //MAKE SCREENS VISIBLE ACCORDING TO LOGGED IN USER\n this.isEnquiryFormVisible = true;\n this.isRFQVisible = true;\n this.userid = localStorage.getItem(\"UserID\");\n\n //ADD CONDITION TO CHECK IF THE LOGGED IN USER IS INITIATOR OF THE ENQUIRY\n // SCREENS OPRN IN EDITABLE MODE TO INITIATOR OF THE ENQUIRY AND AMIN\n if ((enquirystatus == this.enquiryStatusList.filter(x=>x.Status=='EnquiryAdded')[0]?.Pk_Id|| enquirystatus == this.enquiryStatusList.filter(x=>x.Status=='RFQSaveAsDraft')[0]?.Pk_Id ||\n enquirystatus == this.enquiryStatusList.filter(x=>x.Status=='RFQReworkbyL1')[0]?.Pk_Id || enquirystatus == this.enquiryStatusList.filter(x=>x.Status=='QuotationRejectedbyMngmt_SalesDirector')[0]?.Pk_Id ||\n enquirystatus == this.enquiryStatusList.filter(x=>x.Status=='QuotationRejectedbyMngmt_CEO')[0]?.Pk_Id || enquirystatus == this.enquiryStatusList.filter(x=>x.Status=='QuotationRevision')[0]?.Pk_Id\n || enquirystatus == this.enquiryStatusList.filter(x=>x.Status=='EnquiryTechnicalDiscardbyL1')[0]?.Pk_Id || enquirystatus == this.enquiryStatusList.filter(x=>x.Status=='EnquiryTechnicalDiscardbyL2')[0]?.Pk_Id\n || enquirystatus == this.enquiryStatusList.filter(x=>x.Status=='EnquiryTechnicalDiscardbyL3')[0]?.Pk_Id) &&\n (this.userid == this.EnquiryObj.EnquiryDetails.Initiator_Id || this.role == this.UserRolesData.filter(x=>x.Name=='Admin')[0]?.Id)) {\n this.AppGlobals.RFQ_SaveasDraftBySalesEngg = true;\n this.AppGlobals.RFQ_SubmitBySalesEngg = true;\n this.AppGlobals.isRFQEditable = true;\n this.AppGlobals.disable_RFQ_SaveasDraftBySalesEngg = true;\n this.AppGlobals.disable_RFQ_SubmitBySalesEngg = true;\n this.selectedIndexForStatus = 1;\n } else {\n this.AppGlobals.isRFQEditable = false;\n this.AppGlobals.RFQ_SaveasDraftBySalesEngg = false;\n this.AppGlobals.RFQ_SubmitBySalesEngg = false;\n this.AppGlobals.disable_RFQ_SaveasDraftBySalesEngg = false;\n this.AppGlobals.disable_RFQ_SubmitBySalesEngg = false;\n this.selectedIndexForStatus = 0;\n if ((this.userid == this.EnquiryObj.EnquiryDetails.Initiator_Id || this.role == this.UserRolesData.filter(x=>x.Name=='Admin')[0]?.Id) && this.EnquiryObj.EnquiryDetails.Status >= this.enquiryStatusList.filter(x=>x.Status=='EnquiryOrderConfirmedbySalesEngg')[0]?.Pk_Id) {\n this.EnquiryConfirmationVisible = true;\n this.AppGlobals.isEnquiryConfirmationEditable = false;\n if ((enquirystatus == this.enquiryStatusList.filter(x=>x.Status=='OrderRejectedbyMngmt_SalesDirector')[0]?.Pk_Id || enquirystatus == this.enquiryStatusList.filter(x=>x.Status=='OrderRejectedbyMngmt_CEO')[0]?.Pk_Id) &&\n (this.userid == this.EnquiryObj.EnquiryDetails.Initiator_Id || this.role == this.UserRolesData.filter(x=>x.Name=='Admin')[0]?.Id)) {\n this.AppGlobals.isEnquiryConfirmationEditable = true;\n this.AppGlobals.EnquiryConfirmation_ConfimrOrderBySalesEngg = true;\n } else {\n this.AppGlobals.EnquiryConfirmation_ConfimrOrderBySalesEngg = false;\n }\n\n\n if (!this.AppGlobals.isEnquiryConfirmationEditable) {\n if (!this.RoleWiseScreenDisplay.some(x => x == 'Enquiry Confirmation')) {\n this.EnquiryConfirmationVisible = false;\n this.selectedIndexForStatus = this.selectedIndexForStatus - 1;\n\n }\n }\n } else if ((this.userid == this.EnquiryObj.EnquiryDetails.Initiator_Id || this.role == this.UserRolesData.filter(x=>x.Name=='Admin')[0]?.Id) && this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='SendBOMandProposal')[0]?.Pk_Id) {\n this.EnquiryConfirmationVisible = true;\n AppGlobals.EnquiryConfirmation_ConfimrOrderBySalesEngg = true;\n this.AppGlobals.isEnquiryConfirmationEditable = true;\n }\n }\n\n if (!(this.EnquiryObj.EnquiryDetails.QuotationPdf_filename == null ||\n this.EnquiryObj.EnquiryDetails.QuotationPdf_filename == undefined ||\n this.EnquiryObj.EnquiryDetails.QuotationPdf_filename == \"\")) {\n this.showQuotationLink = true;\n } else {\n this.showQuotationLink = false;\n }\n if (this.role == this.EnquiryObj.EnquiryDetails.PendingAtRoleId || this.role == this.UserRolesData.filter(x=>x.Name=='Admin')[0]?.Id) {\n this.showEditRFQ = true;\n this.isEditactivity = true;\n } else {\n this.showEditRFQ = false;\n this.isEditactivity = false;\n }\n if (this.EnquiryObj.EnquiryDetails.PendingAtRoleId == null) {\n this.isEditactivity = this.userid == this.EnquiryObj.EnquiryDetails.Initiator_Id ? true : false;\n \n }\n if (this.role == this.UserRolesData.filter(x=>x.Name=='Admin')[0]?.Id) {\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='OrdersentforMngmtApproval_CEO')[0]?.Pk_Id ||\n this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='OANoGenerated')[0]?.Pk_Id) {\n this.isEditactivity = false;\n }\n else {\n this.isEditactivity = true;\n }\n\n }\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='AccountsConfirmInvoiceNo')[0]?.Pk_Id) {\n this.isEditactivity = false;\n }\n var screensRolewise = this.AppGlobals.screensVisibleAccordingtoEnquiryStatus.filter(x => x.role == role)[0]?.screensForStatus;\n if (screensRolewise != undefined) {\n var filteredscreens = screensRolewise.filter(x => x.status == enquirystatus)[0];\n if (filteredscreens != undefined) {\n this.selectedIndexForStatus = filteredscreens.selectedIndex;\n\n if (this.userid == this.EnquiryObj.EnquiryDetails.Initiator_Id) {\n\n }\n\n this.isQuoteGenerationVisible = filteredscreens.screens.indexOf('Quote Generation') > -1 ? true : false;\n if (this.isQuoteGenerationVisible) {\n this.AppGlobals.isQuoteGenerationEditable = filteredscreens.disableScreen.indexOf('Quote Generation') > -1 ? false : true;\n // #region VisibleButtons\n if (!this.AppGlobals.isQuoteGenerationEditable) {\n if (!this.RoleWiseScreenDisplay.some(x => x == 'Quote Generation')) {\n this.isQuoteGenerationVisible = false;\n this.selectedIndexForStatus = this.selectedIndexForStatus - 1;\n\n }\n }\n this.AppGlobals.QuoteGenearationAcceptByL1 = filteredscreens.visibleButtons.indexOf('QuoteGenearationAcceptByL1') > -1 ? true : false;\n this.AppGlobals.QuoteGenearation_RemorkByL1 = filteredscreens.visibleButtons.indexOf('QuoteGenearation_RemorkByL1') > -1 ? true : false;\n this.AppGlobals.QuoteGenearation_ForwardtoL2ByL1 = filteredscreens.visibleButtons.indexOf('QuoteGenearation_ForwardtoL2ByL1') > -1 ? true : false;\n this.AppGlobals.QuoteGenearation_ForwardtoL3ByL2 = filteredscreens.visibleButtons.indexOf('QuoteGenearation_ForwardtoL3ByL2') > -1 ? true : false;\n this.AppGlobals.QuoteGenearation_SendtoL2ByL3 = filteredscreens.visibleButtons.indexOf('QuoteGenearation_SendtoL2ByL3') > -1 ? true : false;\n this.AppGlobals.QuoteGenearation_SendtoL1ByL2 = filteredscreens.visibleButtons.indexOf('QuoteGenearation_SendtoL1ByL2') > -1 ? true : false;\n this.AppGlobals.QuoteGenearation_SendtoCustomerServiceByL1 = filteredscreens.visibleButtons.indexOf('QuoteGenearation_SendtoCustomerServiceByL1') > -1 ? true : false;\n this.AppGlobals.QuoteGenearation_SendforApprovalByCustomerService = filteredscreens.visibleButtons.indexOf('QuoteGenearation_SendforApprovalByCustomerService') > -1 ? true : false;\n this.AppGlobals.QuoteGenearation_SendBOMProposalByL1 = filteredscreens.visibleButtons.indexOf('QuoteGenearation_SendBOMProposalByL1') > -1 ? true : false;\n this.AppGlobals.QuoteGenearation_GenerateQuote = filteredscreens.visibleButtons.indexOf('QuoteGenearation_GenerateQuote') > -1\n && (this.role == this.EnquiryObj.EnquiryDetails.PendingAtRoleId || this.role == this.UserRolesData.filter(x=>x.Name=='Admin')[0]?.Id) ? true : false;\n this.AppGlobals.QuoteGenearation_EditRFQ = filteredscreens.visibleButtons.indexOf('QuoteGenearation_EditRFQ') > -1\n && (this.role == this.EnquiryObj.EnquiryDetails.PendingAtRoleId || this.role == this.UserRolesData.filter(x=>x.Name=='Admin')[0]?.Id) ? true : false;\n this.AppGlobals.QuoteGenearation_Enquiry_TechnicalDiscard = filteredscreens.visibleButtons.indexOf('QuoteGenearation_Enquiry_TechnicalDiscard') > -1 \n && (this.role == this.EnquiryObj.EnquiryDetails.PendingAtRoleId || this.role == this.UserRolesData.filter(x=>x.Name=='Admin')[0]?.Id ) ? true : false;\n //#endregion\n // #region enableButtons\n this.AppGlobals.disable_QuoteGenearationAcceptByL1 = filteredscreens.buttons.indexOf('QuoteGenearationAcceptByL1') > -1 ? true : false;\n this.AppGlobals.disable_QuoteGenearation_RemorkByL1 = filteredscreens.buttons.indexOf('QuoteGenearation_RemorkByL1') > -1 ? true : false;\n this.AppGlobals.disable_QuoteGenearation_ForwardtoL2ByL1 = filteredscreens.buttons.indexOf('QuoteGenearation_ForwardtoL2ByL1') > -1 ? true : false;\n this.AppGlobals.disable_QuoteGenearation_ForwardtoL3ByL2 = filteredscreens.buttons.indexOf('QuoteGenearation_ForwardtoL3ByL2') > -1 ? true : false;\n this.AppGlobals.disable_QuoteGenearation_SendtoL2ByL3 = filteredscreens.buttons.indexOf('QuoteGenearation_SendtoL2ByL3') > -1 ? true : false;\n this.AppGlobals.disable_QuoteGenearation_SendtoL1ByL2 = filteredscreens.buttons.indexOf('QuoteGenearation_SendtoL1ByL2') > -1 ? true : false;\n this.AppGlobals.disable_QuoteGenearation_SendtoCustomerServiceByL1 = filteredscreens.buttons.indexOf('QuoteGenearation_SendtoCustomerServiceByL1') > -1 ? true : false;\n this.AppGlobals.disable_QuoteGenearation_SendforApprovalByCustomerService = filteredscreens.buttons.indexOf('QuoteGenearation_SendforApprovalByCustomerService') > -1 ? true : false;\n this.AppGlobals.disable_QuoteGenearation_SendBOMProposalByL1 = filteredscreens.buttons.indexOf('QuoteGenearation_SendBOMProposalByL1') > -1 ? true : false;\n this.AppGlobals.disable_QuoteGenearation_GenerateQuote = filteredscreens.buttons.indexOf('QuoteGenearation_GenerateQuote') > -1 ? true : false;\n this.AppGlobals.disable_QuoteGenearation_EditRFQ = filteredscreens.buttons.indexOf('QuoteGenearation_EditRFQ') > -1 ? true : false;\n //this.AppGlobals.disable_QuoteGenearation_Enquiry_TechnicalDiscard = filteredscreens.buttons.indexOf('QuoteGenearation_Enquiry_TechnicalDiscard') > -1 ? true : false;\n \n //#endregion\n\n //CHECK IF QUOTATION TO BE SENT TO CUSTOMER SERVICE\n if (this.AppGlobals.disable_QuoteGenearation_SendBOMProposalByL1) {\n var isSpecialPrice = false;\n this.EnquiryObj.RFQObject.forEach(element => {\n if (element.SalesPrice == 3) {\n isSpecialPrice = true;\n }\n });\n if (enquirystatus == this.enquiryStatusList.filter(x=>x.Status=='QuotationApprovedbyMngmt_SalesDirector')[0]?.Pk_Id||\n enquirystatus == this.enquiryStatusList.filter(x=>x.Status=='QuotationApprovedbyMngmt_CEO')[0]?.Pk_Id) {\n this.AppGlobals.disable_QuoteGenearation_SendBOMProposalByL1 = true;\n this.AppGlobals.disable_QuoteGenearation_SendforApprovalByCustomerService = false;\n } else {\n if (isSpecialPrice || this.EnquiryObj.EnquiryDetails.RFQTermsAndCondition == \"Customized\") {\n this.AppGlobals.disable_QuoteGenearation_SendBOMProposalByL1 = false;\n this.AppGlobals.disable_QuoteGenearation_SendforApprovalByCustomerService = true;\n } else {\n this.AppGlobals.disable_QuoteGenearation_SendBOMProposalByL1 = true;\n this.AppGlobals.disable_QuoteGenearation_SendforApprovalByCustomerService = false;\n }\n }\n\n }\n }\n this.isManagementApprovalVisible = filteredscreens.screens.indexOf('Management Approval') > -1 ? true : false;\n if (this.isManagementApprovalVisible) {\n this.AppGlobals.isManagementApprovalEditable = filteredscreens.disableScreen.indexOf('Management Approval') > -1 ? false : true;\n //#region VisibleButtons\n if (!this.AppGlobals.isManagementApprovalEditable) {\n if (!this.RoleWiseScreenDisplay.some(x => x == 'Management Approval')) {\n this.isManagementApprovalVisible = false;\n this.selectedIndexForStatus = this.selectedIndexForStatus - 1;\n\n }\n }\n this.AppGlobals.ManagementApproval_RejectBySalesDirector = filteredscreens.visibleButtons.indexOf('ManagementApproval_RejectBySalesDirector') > -1 ? true : false;\n this.AppGlobals.ManagementApproval_ApproveBySalesDirector = filteredscreens.visibleButtons.indexOf('ManagementApproval_ApproveBySalesDirector') > -1 ? true : false;\n this.AppGlobals.ManagementApproval_HoldBySalesDirector = filteredscreens.visibleButtons.indexOf('ManagementApproval_HoldBySalesDirector') > -1 ? true : false;\n this.AppGlobals.ManagementApproval_SendQuotationforApprovalBySalesDirector = filteredscreens.visibleButtons.indexOf('ManagementApproval_SendQuotationforApprovalBySalesDirector') > -1 ? true : false;\n\n this.AppGlobals.ManagementApproval_Order_RejectBySalesDirector = filteredscreens.visibleButtons.indexOf('ManagementApproval_Order_RejectBySalesDirector') > -1 ? true : false;\n this.AppGlobals.ManagementApproval_Order_ApproveBySalesDirector = filteredscreens.visibleButtons.indexOf('ManagementApproval_Order_ApproveBySalesDirector') > -1 ? true : false;\n this.AppGlobals.ManagementApproval_SendOrderforApprovalBySalesDirector = filteredscreens.visibleButtons.indexOf('ManagementApproval_SendOrderforApprovalBySalesDirector') > -1 ? true : false;\n //#endregion\n // #region enableButtons\n this.AppGlobals.disable_ManagementApproval_RejectBySalesDirector = filteredscreens.buttons.indexOf('ManagementApproval_RejectBySalesDirector') > -1 ? true : false;\n this.AppGlobals.disable_ManagementApproval_ApproveBySalesDirector = filteredscreens.buttons.indexOf('ManagementApproval_ApproveBySalesDirector') > -1 ? true : false;\n this.AppGlobals.disable_ManagementApproval_HoldBySalesDirector = filteredscreens.buttons.indexOf('ManagementApproval_HoldBySalesDirector') > -1 ? true : false;\n this.AppGlobals.disable_ManagementApproval_SendQuotationforApprovalBySalesDirector = filteredscreens.buttons.indexOf('ManagementApproval_SendQuotationforApprovalBySalesDirector') > -1 ? true : false;\n\n this.AppGlobals.disable_ManagementApproval_Order_RejectBySalesDirector = filteredscreens.buttons.indexOf('ManagementApproval_Order_RejectBySalesDirector') > -1 ? true : false;\n this.AppGlobals.disable_ManagementApproval_Order_ApproveBySalesDirector = filteredscreens.buttons.indexOf('ManagementApproval_Order_ApproveBySalesDirector') > -1 ? true : false;\n this.AppGlobals.disable_ManagementApproval_SendOrderforApprovalBySalesDirector = filteredscreens.buttons.indexOf('ManagementApproval_SendOrderforApprovalBySalesDirector') > -1 ? true : false;\n //#endregion\n }\n this.isCEOApprovalVisible = filteredscreens.screens.indexOf('CEO Approval') > -1 ? true : false;\n if (this.isCEOApprovalVisible) {\n this.AppGlobals.isCEOApprovalEditable = filteredscreens.disableScreen.indexOf('CEO Approval') > -1 ? false : true;\n //#region VisibleButtons\n if (!this.AppGlobals.isCEOApprovalEditable) {\n if (!this.RoleWiseScreenDisplay.some(x => x == 'CEO Approval')) {\n this.isCEOApprovalVisible = false;\n this.selectedIndexForStatus = this.selectedIndexForStatus - 1;\n\n }\n }\n this.AppGlobals.ManagementApproval_RejectByCEO = filteredscreens.visibleButtons.indexOf('ManagementApproval_RejectByCEO') > -1 ? true : false;\n this.AppGlobals.ManagementApproval_HoldByCEO = filteredscreens.visibleButtons.indexOf('ManagementApproval_HoldByCEO') > -1 ? true : false;\n this.AppGlobals.ManagementApproval_ApproveByCEO = filteredscreens.visibleButtons.indexOf('ManagementApproval_ApproveByCEO') > -1 ? true : false;\n\n this.AppGlobals.ManagementApproval_Order_ApproveByCEO = filteredscreens.visibleButtons.indexOf('ManagementApproval_Order_ApproveByCEO') > -1 ? true : false;\n this.AppGlobals.ManagementApproval_Order_RejectByCEO = filteredscreens.visibleButtons.indexOf('ManagementApproval_Order_RejectByCEO') > -1 ? true : false;\n //#endregion\n //#region enableButtns\n this.AppGlobals.disable_ManagementApproval_RejectByCEO = filteredscreens.buttons.indexOf('ManagementApproval_RejectByCEO') > -1 ? true : false;\n this.AppGlobals.disable_ManagementApproval_HoldByCEO = filteredscreens.buttons.indexOf('ManagementApproval_HoldByCEO') > -1 ? true : false;\n this.AppGlobals.disable_ManagementApproval_ApproveByCEO = filteredscreens.buttons.indexOf('ManagementApproval_ApproveByCEO') > -1 ? true : false;\n\n this.AppGlobals.disable_ManagementApproval_Order_ApproveByCEO = filteredscreens.buttons.indexOf('ManagementApproval_Order_ApproveByCEO') > -1 ? true : false;\n this.AppGlobals.disable_ManagementApproval_Order_RejectByCEO = filteredscreens.buttons.indexOf('ManagementApproval_Order_RejectByCEO') > -1 ? true : false;\n //#endregion\n }\n this.EnquiryConfirmationVisible = filteredscreens.screens.indexOf('Enquiry Confirmation') > -1 ? true : false;\n\n if (this.EnquiryConfirmationVisible) {\n this.AppGlobals.isEnquiryConfirmationEditable = filteredscreens.disableScreen.indexOf('Enquiry Confirmation') > -1 ? false : true;\n if (this.userid != this.EnquiryObj.EnquiryDetails.Initiator_Id && this.role != this.UserRolesData.filter(x=>x.Name=='Admin')[0]?.Id && this.AppGlobals.isEnquiryConfirmationEditable) {\n this.EnquiryConfirmationVisible = false;\n this.selectedIndexForStatus = 0;\n }\n //#region VisibleButtons\n if (!this.AppGlobals.isEnquiryConfirmationEditable) {\n if (!this.RoleWiseScreenDisplay.some(x => x == 'Enquiry Confirmation')) {\n this.EnquiryConfirmationVisible = false;\n this.selectedIndexForStatus = this.selectedIndexForStatus - 1;\n\n }\n }\n this.AppGlobals.EnquiryConfirmation_ConfimrOrderBySalesEngg = filteredscreens.visibleButtons.indexOf('EnquiryConfirmation_ConfimrOrderBySalesEngg') > -1 ? true : false;\n this.AppGlobals.EnquiryConfirmation_QuoteRevision = filteredscreens.visibleButtons.indexOf('EnquiryConfirmation_QuoteRevision') > -1 ? true : false;\n //#endregion\n //#region enableButtns\n this.AppGlobals.disable_EnquiryConfirmation_QuoteRevision = filteredscreens.buttons.indexOf('EnquiryConfirmation_QuoteRevision') > -1 ? true : false;\n //#endregion\n\n }\n this.isSOVisible = filteredscreens.screens.indexOf('Sales Order') > -1 ? true : false;\n if (this.isSOVisible) {\n if (!(this.EnquiryObj.POValues == null || this.EnquiryObj.POValues?.length == 0)) {\n } else {\n this.getQuotationData();\n }\n\n //#region VisibleButtons\n\n this.AppGlobals.isSOEditable = filteredscreens.disableScreen.indexOf('Sales Order') > -1 ? false : true;\n if (!this.AppGlobals.isSOEditable) {\n if (!this.RoleWiseScreenDisplay.some(x => x == 'Sales Order')) {\n this.isSOVisible = false;\n this.selectedIndexForStatus = this.selectedIndexForStatus - 1;\n\n }\n }\n this.AppGlobals.SO_SendtoSupplyChainByCustomerService = filteredscreens.visibleButtons.indexOf('SO_SendtoSupplyChainByCustomerService') > -1 ? true : false;\n this.AppGlobals.ManagementApproval_SendOrderforApprovalByCustomerService = filteredscreens.visibleButtons.indexOf('ManagementApproval_SendOrderforApprovalByCustomerService') > -1 ? true : false;\n //#endregion\n //#region enableButtns\n this.AppGlobals.disable_SO_SendtoSupplyChainByCustomerService = filteredscreens.buttons.indexOf('SO_SendtoSupplyChainByCustomerService') > -1 ? true : false;\n this.AppGlobals.disable_ManagementApproval_SendOrderforApprovalByCustomerService = filteredscreens.buttons.indexOf('ManagementApproval_SendOrderforApprovalByCustomerService') > -1 ? true : false;\n //#endregion\n }\n this.isSupplychainVisible = filteredscreens.screens.indexOf('Supply Chain') > -1 ? true : false;\n if (this.isSupplychainVisible) {\n this.AppGlobals.isSupplychainEditable = filteredscreens.disableScreen.indexOf('Supply Chain') > -1 ? false : true;\n //#region VisibleButtons\n if (!this.AppGlobals.isSupplychainEditable) {\n if (!this.RoleWiseScreenDisplay.some(x => x == 'Supply Chain')) {\n this.isSupplychainVisible = false;\n this.selectedIndexForStatus = this.selectedIndexForStatus - 1;\n\n }\n }\n this.AppGlobals.SupplyChain_SubmitBySupplyChain = filteredscreens.visibleButtons.indexOf('SupplyChain_SubmitBySupplyChain') > -1 ? true : false;\n // this.AppGlobals.OrderAcknowledmentNo = filteredscreens.visibleButtons.indexOf('OrderAcknowledmentNo') > -1 ? true: false;\n this.AppGlobals.MaterialReadyForDispatch = filteredscreens.visibleButtons.indexOf('MaterialReadyForDispatch') > -1 ? true : false;\n //#endregion\n //#region enableButtns\n this.AppGlobals.disable_SupplyChain_SubmitBySupplyChain = filteredscreens.buttons.indexOf('SupplyChain_SubmitBySupplyChain') > -1 ? true : false;\n // this.AppGlobals.disable_OrderAcknowledmentNo = filteredscreens.buttons.indexOf('OrderAcknowledmentNo') > -1 ? true: false;\n\n //#endregion\n }\n this.isAccountsVisible = filteredscreens.screens.indexOf('Accounts') > -1 ? true : false;\n if (this.isAccountsVisible) {\n this.AppGlobals.isAccountsEditable = filteredscreens.disableScreen.indexOf('Accounts') > -1 ? false : true;\n //#region VisibleButtons\n if (!this.AppGlobals.isAccountsEditable) {\n if (!this.RoleWiseScreenDisplay.some(x => x == 'Accounts')) {\n this.isAccountsVisible = false;\n this.selectedIndexForStatus = this.selectedIndexForStatus - 1;\n\n }\n }\n\n this.AppGlobals.Accounts_ConfimrOrderByAccounts = filteredscreens.visibleButtons.indexOf('Accounts_ConfimrOrderByAccounts') > -1 ? true : false;\n //#endregion\n //#region enableButtns\n this.AppGlobals.disable_Accounts_ConfimrOrderByAccounts = filteredscreens.buttons.indexOf('Accounts_ConfimrOrderByAccounts') > -1 ? true : false;\n //#endregion\n }\n this.isOAGenerationVisible = filteredscreens.screens.indexOf('OAGenerate') > -1 ? true : false;\n if (this.isOAGenerationVisible) {\n this.AppGlobals.isOAGenerateEditable = filteredscreens.disableScreen.indexOf('OAGenerate') > -1 ? false : true;\n //#region VisibleButtons\n if (!this.AppGlobals.isOAGenerateEditable) {\n if (!this.RoleWiseScreenDisplay.some(x => x == 'OAGenerate')) {\n this.isOAGenerationVisible = false;\n this.selectedIndexForStatus = this.selectedIndexForStatus - 1;\n\n }\n }\n this.AppGlobals.OrderAcknowledmentNo = filteredscreens.visibleButtons.indexOf('OrderAcknowledmentNo') > -1 ? true : false;\n\n //#endregion\n //#region enableButtns\n\n //#endregion\n }\n }\n //TO SHOW THE SCREENS WHICH ARE PASSED BY CURRENT ROLE\n else {\n this.selectedIndexForStatus = 0;\n var screensVisibleAfterPassedArray = this.AppGlobals.screensVisibleAfterPassed.filter(x => x.role == role)[0]?.screens;\n var filterScreenArray = screensVisibleAfterPassedArray.filter(o1 => this.RoleWiseScreenDisplay.some(o2 => o1.screenName === o2));\n\n if (filterScreenArray != undefined) {\n var qgArray: any = filterScreenArray.filter(x => x.screenName == 'Quote Generation')[0]?.status;\n if (qgArray != undefined) {\n this.isQuoteGenerationVisible = qgArray.indexOf(enquirystatus) > -1 ? true : false;\n this.AppGlobals.isQuoteGenerationEditable = false;\n this.AppGlobals.QuoteGenearationAcceptByL1 = false;\n this.AppGlobals.QuoteGenearation_RemorkByL1 = false;\n this.AppGlobals.QuoteGenearation_ForwardtoL2ByL1 = false;\n this.AppGlobals.QuoteGenearation_ForwardtoL3ByL2 = false;\n this.AppGlobals.QuoteGenearation_SendtoL2ByL3 = false;\n this.AppGlobals.QuoteGenearation_SendtoL1ByL2 = false;\n this.AppGlobals.QuoteGenearation_SendtoCustomerServiceByL1 = false;\n this.AppGlobals.QuoteGenearation_SendforApprovalByCustomerService = false;\n this.AppGlobals.QuoteGenearation_SendBOMProposalByL1 = false;\n this.AppGlobals.QuoteGenearation_Enquiry_TechnicalDiscard = false;\n }\n\n\n var maArray = filterScreenArray.filter(x => x.screenName == 'Management Approval')[0]?.status;\n if (maArray != undefined) {\n this.isManagementApprovalVisible = maArray.indexOf(enquirystatus) > -1 ? true : false;\n this.AppGlobals.isManagementApprovalEditable = false;\n this.AppGlobals.ManagementApproval_RejectBySalesDirector = false;\n this.AppGlobals.ManagementApproval_ApproveBySalesDirector = false;\n this.AppGlobals.ManagementApproval_HoldBySalesDirector = false;\n this.AppGlobals.ManagementApproval_SendQuotationforApprovalBySalesDirector = false;\n this.AppGlobals.ManagementApproval_Order_RejectBySalesDirector = false;\n this.AppGlobals.ManagementApproval_Order_ApproveBySalesDirector = false;\n this.AppGlobals.ManagementApproval_SendOrderforApprovalBySalesDirector = false;\n }\n\n var caArray = filterScreenArray.filter(x => x.screenName == 'CEO Approval')[0]?.status;\n if (caArray != undefined) {\n this.isCEOApprovalVisible = caArray.indexOf(enquirystatus) > -1 ? true : false;\n this.AppGlobals.isCEOApprovalEditable = false;\n this.AppGlobals.ManagementApproval_RejectByCEO = false;\n this.AppGlobals.ManagementApproval_HoldByCEO = false;\n this.AppGlobals.ManagementApproval_ApproveByCEO = false;\n\n this.AppGlobals.ManagementApproval_Order_ApproveByCEO = false;\n this.AppGlobals.ManagementApproval_Order_RejectByCEO = false;\n }\n\n\n var ecaArray = filterScreenArray.filter(x => x.screenName == 'Enquiry Confirmation')[0]?.status;\n if (ecaArray != undefined) {\n this.EnquiryConfirmationVisible = ecaArray.indexOf(enquirystatus) > -1 ? true : false;\n this.AppGlobals.isEnquiryConfirmationEditable = false;\n this.AppGlobals.EnquiryConfirmation_ConfimrOrderBySalesEngg = false;\n }\n\n var soArray = filterScreenArray.filter(x => x.screenName == 'Sales Order')[0]?.status;\n if (soArray != undefined) {\n this.isSOVisible = soArray.indexOf(enquirystatus) > -1 ? true : false;\n this.AppGlobals.isSOEditable = false;\n this.AppGlobals.SO_SendtoSupplyChainByCustomerService = false;\n this.AppGlobals.ManagementApproval_SendOrderforApprovalByCustomerService = false;\n }\n\n\n var scArray = filterScreenArray.filter(x => x.screenName == 'Supply Chain')[0]?.status;\n if (scArray != undefined) {\n this.isSupplychainVisible = scArray.indexOf(enquirystatus) > -1 ? true : false;\n this.AppGlobals.isSupplychainEditable = false;\n this.AppGlobals.SupplyChain_SubmitBySupplyChain = false;\n this.AppGlobals.MaterialReadyForDispatch = false;\n }\n\n var acArray = filterScreenArray.filter(x => x.screenName == 'Accounts')[0]?.status;\n if (acArray != undefined) {\n this.isAccountsVisible = acArray.indexOf(enquirystatus) > -1 ? true : false;\n this.AppGlobals.isAccountsEditable = false;\n this.AppGlobals.Accounts_ConfimrOrderByAccounts = false;\n }\n\n var OAArray = filterScreenArray.filter(x => x.screenName == 'OAGenerate')[0]?.status;\n if (OAArray != undefined) {\n this.isOAGenerationVisible = OAArray.indexOf(enquirystatus) > -1 ? true : false;\n this.AppGlobals.isOAGenerateEditable = false;\n this.AppGlobals.OrderAcknowledmentNo = false;\n }\n }\n }\n\n }\n }\n\n toggleAttchments(i) {\n\n this.EnquiryObj.Comments[i].showAttachments = !this.EnquiryObj.Comments[i].showAttachments;\n }\n deletePOAttachment(flag: any) {\n // this.EnquiryObj.EnquiryDetails.POAttchments = [];\n // this.isPOAttachment = false;\n if (flag == 1) {\n this.EnquiryObj.RemoveFiles.push(this.EnquiryObj.EnquiryDetails.PO_filepath);\n this.isPOAttacmentDelete = true;\n }\n this.isBOMAttachment = false;\n this.EnquiryObj.EnquiryDetails.POAttchments = [];\n this.EnquiryObj.EnquiryDetails.PO_filename = null;\n this.EnquiryObj.EnquiryDetails.PO_filepath = null;\n this.isPOAttachment = false;\n }\n checkActivityValidations() {\n this.IsActivityDataValid = true;\n this.activityDetails.forEach(element => {\n if (element.Activity == undefined || element.Activity == null || element.Activity == \"\") {\n element.ActivityValidation = true;\n this.IsActivityDataValid = false;\n }\n if (element.ActivityDate == undefined || element.ActivityDate == null || element.ActivityDate == \"\") {\n element.ActivityDateValidation = true;\n this.IsActivityDataValid = false;\n }\n });\n }\n editActivity() {\n this.isEditactivity = true;\n }\n cancelEditActivity() {\n this.isEditactivity = false;\n }\n SaveActivityDetails() {\n this.checkActivityValidations();\n if (!this.IsActivityDataValid) {\n return;\n }\n this.updateLoaderEvent.emit(true);;\n this.activityDetails.forEach(element => {\n if (element.ActivityDate != undefined) {\n element.ActivityDateISO = new Date(this.convertDate(new NgbDate(element.ActivityDate.year, element.ActivityDate.month, element.ActivityDate.day))).toDateString();\n }\n if (element.ActivityDate != undefined) {\n element.ActivityDate = new Date(this.convertDate(new NgbDate(element.ActivityDate.year, element.ActivityDate.month, element.ActivityDate.day)));\n }\n element.EnquiryId = this.EnquiryObj.EnquiryDetails.EnquiryId;\n });\n\n let activityDetails = JSON.stringify(this.activityDetails);\n const frmData = new FormData();\n frmData.append(\"ActivityObj\", activityDetails);\n var i = 0;\n this.activityDetails.forEach(element => {\n if (element.Attachment != undefined) {\n frmData.append(\"Attachment[\" + i + \"]\", this.activityDetails[i].Attachment[0]);\n }\n i++;\n });\n\n this.commonService.PostData(\"Enquiry\", \"AddActivity\", frmData, null).subscribe((data: any) => {\n this.activityDetails.forEach(element => {\n element.ActivityDate = new NgbDate(new Date(element.ActivityDate).getFullYear(), new Date(element.ActivityDate).getMonth() + 1, new Date(element.ActivityDate).getDate());\n });\n //this.isEditactivity = false;\n this.toastr.success(\"Activity details added successfully!\");\n this.updateLoaderEvent.emit(false);;\n }, error => {\n this.toastr.error(\"Failed to add activity details!\");\n this.updateLoaderEvent.emit(false);;\n });\n\n }\n\n getQuotationData() {\n this.updateLoaderEvent.emit(true);;\n let queryString = \"\";\n queryString = \"id=\" + this.EnquiryObj.EnquiryDetails.EnquiryId;\n this.commonService.GetData('Enquiry', 'GetQuotationByEnquiryId', queryString).subscribe((data: any) => {\n this.QuotationDataForPO = data.QuotationObj;\n this.QuotationDataForPO.forEach(element => {\n var obj = new ProductModelPOValues();\n obj.ProductId = element.ProductId;\n obj.ProductModelName = element.ProductModelName;\n if (element.Variant1Name != undefined) obj.ProductModelName = obj.ProductModelName + ' (' + element.Variant1Name;\n if (element.Variant2Name != undefined) obj.ProductModelName = obj.ProductModelName + ', ' + element.Variant2Name;\n if (element.Variant3Name != undefined) obj.ProductModelName = obj.ProductModelName + ', ' + element.Variant3Name;\n if (element.Variant4Name != undefined) obj.ProductModelName = obj.ProductModelName + ', ' + element.Variant4Name;\n obj.ProductModelName = obj.ProductModelName + ')'\n obj.QUotationValue = element.FinalAmount;\n obj.ProductModelPOValue = \"\";\n this.EnquiryObj.POValues.push(obj);\n });\n });\n }\n\n\n getEnquiryDetailsById() {\n this.updateLoaderEvent.emit(true);;\n let queryString = \"\";\n queryString = \"id=\" + this.EnquiryObj.EnquiryDetails.EnquiryId;\n var tracker=this.commonService.GetData('Enquiry', 'GetById', queryString);\n tracker.subscribe((data: any) => {\n this.EnquiryObj.EnquiryDetails = data.EnquiryDetails;\n \n if (this.EnquiryObj.EnquiryDetails.QuotationRevisionNo != null && this.EnquiryObj.EnquiryDetails.QuotationRevisionNo > 0) {\n this.getRevisedQuotationFileNamelist(this.EnquiryObj.EnquiryDetails.QuotationNumber, this.EnquiryObj.EnquiryDetails.QuotationRevisionNo);\n }\n\n this.EnquiryObj.EnquiryDetails.EnquiryDate = new NgbDate(new Date(this.EnquiryObj.EnquiryDetails.EnquiryDate).getFullYear(), new Date(this.EnquiryObj.EnquiryDetails.EnquiryDate).getMonth() + 1, new Date(this.EnquiryObj.EnquiryDetails.EnquiryDate).getDate());\n if (this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate != null) {\n this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate = new NgbDate(new Date(this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate).getFullYear(), new Date(this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate).getMonth() + 1, new Date(this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate).getDate());\n }\n if (this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate != null) {\n this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate = new NgbDate(new Date(this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate).getFullYear(), new Date(this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate).getMonth() + 1, new Date(this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate).getDate());\n }\n this.EnquiryObj.EnqCustomerDetails = data.CustomerDetails;\n this.EnquiryObj.RFQObject = data.RFQObject;\n this.EnquiryObj.CustomerServiceComments_Quotation = data.CustomerServiceComments_Quotation;\n this.EnquiryObj.CustomerServiceComments_Order = data.CustomerServiceComments_Order;\n this.EnquiryObj.SalesDirectorComments_Quotation = data.SalesDirectorComments_Quotation;\n\n this.EnquiryObj.SalesDirectorComments_Order = data.SalesDirectorComments_Order;\n this.EnquiryObj.Comments = data.Comments == undefined ? [] : data.Comments;\n this.EnquiryObj.POValues = data.POValues;\n\n this.WinLossDropdownData = data.ReasonEnquiryWinLossObj;\n this.WinLossDropdownDataForStatus = this.WinLossDropdownData.filter(x => x.Value == this.EnquiryObj.EnquiryDetails.EnquiryConfirmStatus);\n \n if (data.EnquiryDetails.RFQTermsAndCondition == \"Standard\" || data.EnquiryDetails.RFQTermsAndCondition == \"\") {\n\n if (data.TermsAndConditions.length == 0) {\n this.EnquiryObj.EnquiryDetails.RFQTermsAndCondition = \"Standard\";\n this.EnquiryObj.TermsAndConditions = this.TnCStandardFromDropDown;\n } else {\n this.EnquiryObj.TermsAndConditions = data.TermsAndConditions;\n\n }\n this.isStandardCondition = true;\n } else if (data.EnquiryDetails.RFQTermsAndCondition == \"Customized\") {\n\n if (data.CustomTermsAndConditions.length == 0) {\n this.EnquiryObj.EnquiryDetails.RFQTermsAndCondition = \"Customized\";\n this.EnquiryObj.CustomTermsAndConditions = this.TnCCustomizedFromDropDown;\n this.TnCCustomizedDropDownForEditRfq1 = this.TnCCustomizedFromDropDown;\n } else {\n this.EnquiryObj.CustomTermsAndConditions = data.CustomTermsAndConditions;\n this.TnCCustomizedDropDownForEditRfq2 = data.CustomTermsAndConditions;\n }\n\n this.isStandardCondition = false;\n }\n\n this.activityDetails = data.ActivityDetails;\n this.activityDetails.forEach(element => {\n element.ActivityDate = new NgbDate(new Date(element.ActivityDate).getFullYear(), new Date(element.ActivityDate).getMonth() + 1, new Date(element.ActivityDate).getDate());\n\n //element.ActivityDateISO = new NgbDate(new Date(element.ActivityDate).getFullYear(), new Date(element.ActivityDate).getMonth() + 1, new Date(element.ActivityDate).getDate());\n });\n\n //TO POPULATE A SINGLE ROW ON PAGE INIT\n if (this.EnquiryObj.RFQObject.length == 0) {\n var obj = new ProductDetails();\n this.EnquiryObj.RFQObject.push(obj);\n }\n\n //TO POPULATE A SINGLE ROW ON PAGE INIT\n if (this.activityDetails.length == 0) {\n var obj1 = new ActivityModel();\n obj1.ActivityDate = new NgbDate(new Date().getFullYear(), new Date().getMonth() + 1, new Date().getDate());\n obj1.uniqueid = this.makeRandom();\n this.activityDetails.push(obj1);\n }\n\n this.role = localStorage.getItem('UserRole');\n this.ScreenAccessSpecifier(localStorage.getItem('UserRole'), this.EnquiryObj.EnquiryDetails.Status);\n if(this.EnquiryObj.EnquiryDetails.segment!=undefined)\n {\n this.SubSegment = this.FinalSubSegment.filter(x=>x.SegmentId==this.EnquiryObj.EnquiryDetails.segment);\n this.Application= this.FinalApplication.filter(x=>x.SubSegmentId==this.EnquiryObj.EnquiryDetails.subSegment);\n }\n if(this.EnquiryObj.EnquiryDetails.segment==null|| this.EnquiryObj.EnquiryDetails.subSegment==null || this.EnquiryObj.EnquiryDetails.application==null)\n {\n this.EnquiryObj.EnquiryDetails.segment=undefined;\n this.EnquiryObj.EnquiryDetails.subSegment=undefined;\n this.EnquiryObj.EnquiryDetails.application=undefined;\n }\n\n this.EnquiryObj.EnquiryDetails.IsFetchFromKYC=data.EnquiryDetails.IsFetchFromKYC;\n this.previousEnqStatus = this.EnquiryObj.EnquiryDetails.Status;\n\n \n }, error => {\n this.updateLoaderEvent.emit(false);\n });\n\n return tracker;\n }\n\n getRevisedQuotationFileNamelist(QuotationNumber: string, QuotationRevision: number) {\n let QTNNumber = QuotationNumber.replace(\"QTN/\", \"\");\n QTNNumber = QTNNumber.split(\"/\").join(\"_\");\n let filename = \"Quotation_\" + QTNNumber;\n let pdffilename = filename.split('_R')[0];\n for (let i = 0; i < QuotationRevision; i++) {\n if (i == 0) {\n this.RevisedQuotationFileNameList.push(pdffilename + \".pdf\")\n }\n else {\n this.RevisedQuotationFileNameList.push(pdffilename + \"_R\" + i + \".pdf\")\n }\n }\n\n }\n // replaceAll(str, term, replacement) {\n // return str.replace(new RegExp(escapeRegExp(term), 'g'), replacement);\n // }\n makeRandom() {\n let text = \"\";\n var possible: string = \"ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890,./;'[]\\=-)(*&^%$#@!~\";\n const lengthOfCode = 40;\n for (let i = 0; i < lengthOfCode; i++) {\n text += possible.charAt(Math.floor(Math.random() * possible.length));\n }\n return text;\n }\n\n getRFQProduct() {\n this.updateLoaderEvent.emit(true);;\n this.commonService.GetData(\"Enquiry\", \"GetEnquiryRFQDropdownData\", null).subscribe((data: any) => {\n this.product = data;\n this.productDrpdnDetails.MDSOptions = data.MDS;\n this.productDrpdnDetails.SalesPrice = data.Salesprice;\n this.productDrpdnDetails.EstimatedProductValue = data.EstimatedProductValue;\n this.IndustrySegment = data.segment; \n this.SubSegment = [];\n this.Application= []; \n this.FinalIndustrySegment = data.segment;\n this.FinalSubSegment = data.subSegment;\n this.FinalApplication= data.application;\n data.TermsAndConditions.forEach(element => {\n var obj = new TermsAndCondition();\n obj.TnCId = element.Id;\n obj.TnCName = element.Name;\n obj.TnCValue = element.Value;\n this.TnCStandardFromDropDown.push(obj);\n });\n\n this.demoObject = data.TermsAndConditions;\n\n this.demoCTCObject = data.CustomTermsAndCondition;\n \n for (let i = 0; i < data.CustomTermsAndCondition.length; i++) {\n var obj1 = new CustomTermsAndCondition();\n obj1.StandardTC = data.CustomTermsAndCondition[i].StandardTC.Id;\n obj1.StandardTCName = data.CustomTermsAndCondition[i].StandardTC.Name;\n // this.standardTC.push(data.CustomTermsAndCondition[i].StandardTC);\n\n for (let j = 0; j < data.CustomTermsAndCondition[i].CustomValues.length; j++) {\n obj1.CustomValues.push(data.CustomTermsAndCondition[i].CustomValues[j]);\n }\n this.TnCCustomizedFromDropDown.push(obj1);\n }\n\n this.demoCTCObject = data.CustomTermsAndCondition;\n \n //this.updateLoaderEvent.emit(false);;\n });\n }\n\n custtermscond: any = [];\n OnCustomValueChange(index, id) {\n let CustTcObj: CustomTermsAndCondition = new CustomTermsAndCondition();\n CustTcObj.StandardTC = this.EnquiryObj.CustomTermsAndConditions[index].StandardTC;\n CustTcObj.StandardTCName = this.EnquiryObj.CustomTermsAndConditions[index].StandardTCName;\n CustTcObj.CustValue = this.EnquiryObj.CustomTermsAndConditions[index].CustomValues.find(x => x.Id == id).Name;\n CustTcObj.CustTCId = id;\n \n this.custtermscond.push(CustTcObj)\n // console.log(this.custtermscond);\n }\n\n \n OnCustomValueChange1(index, id) {\n let CustTcObj1: CustomTermsAndCondition = new CustomTermsAndCondition();\n CustTcObj1.StandardTC = this.EnquiryObj.CustomTermsAndConditions[index].StandardTC;\n CustTcObj1.StandardTCName = this.EnquiryObj.CustomTermsAndConditions[index].StandardTCName;\n CustTcObj1.CustValue = this.EnquiryObj.CustomTermsAndConditions[index].CustomValues.find(x => x.Id == id).Name;\n CustTcObj1.CustTCId = id;\n \n let newCustomiseArr = this.EnquiryObj.CustomTermsAndConditions\n this.newCustomTc = newCustomiseArr.map((item,index)=>{\n \n return {\n ...item,\n CustTCId : item.StandardTC == CustTcObj1.StandardTC ? Number(CustTcObj1.CustTCId) :Number(item.CustTCId) ,\n CustValue :item.StandardTC == CustTcObj1.StandardTC ? CustTcObj1.CustValue: item.CustValue\n }\n \n });\n this.EnquiryObj.CustomTermsAndConditions = this.newCustomTc;\n }\n \n\n getProductModel(Id, ind) {\n this.EnquiryObj.RFQObject[ind].ProductLineValidation = false;\n this.product.Product.forEach((element, index) => {\n if (element.ProductLine.Id == Id) {\n this.productDrpdnDetails.ProductModel = element.ProductModels;\n this.newRFQDetails.ProductModelList = element.ProductModels;\n this.EnquiryObj.RFQObject[ind].isProductLineChangeClick = true;\n this.EnquiryObj.RFQObject[ind].ProductModelList = this.productDrpdnDetails.ProductModel;\n }\n });\n }\n OnProductModelChange(index) {\n this.EnquiryObj.RFQObject[index].ProductModelValidation = false;\n }\n OnQuantityChange(index) {\n if (this.EnquiryObj.RFQObject[index].Quantity < 1) {\n //alert('Quantity cannot be 0 or negative.');\n this.toastr.info('Quantity cannot be 0 or negative.');\n this.EnquiryObj.RFQObject[index].Quantity = null;\n return;\n } else if (this.EnquiryObj.RFQObject[index].Quantity % 1 != 0) {\n // alert('Please enter the valid Quantity');\n this.toastr.info('Please enter the valid Quantity');\n\n this.EnquiryObj.RFQObject[index].Quantity = null;\n return;\n }\n this.EnquiryObj.RFQObject[index].QuantityValidation = false;\n }\n OnMDSOptionChange(index) {\n this.EnquiryObj.RFQObject[index].MDSOptionValidation = false;\n }\n OnSalesPriceChange(index) {\n\n this.EnquiryObj.RFQObject[index].SalesPriceValidation = false;\n\n // have to specify the id for Customer Special Discount /Contract Frame Agrrement \n\n if( this.EnquiryObj.RFQObject[index].SalesPrice==4)\n {\n this.updateLoaderEvent.emit(true);;\n let queryString = \"\";\n queryString = \"id=\" + this.EnquiryObj.EnqCustomerDetails.CustomerId;\n this.commonService.GetData(\"CustomerSpecialDiscount\", \"GetById\", queryString).subscribe((data: any) => {\n this.EnquiryObj.CustomerSpecialDiscountdtls = data;\n if(this.EnquiryObj.CustomerSpecialDiscountdtls?.length==0)\n { \n this.toastr.info('Customer Special Discount is not assigned to this Customer');\n this.EnquiryObj.RFQObject[index].SalesDiscount=\"0\";\n this.iseditable=false;\n \n }\n this.EnquiryObj.CustomerSpecialDiscountdtls.forEach(element => {\n if(element.Fk_ProductModel==this.EnquiryObj.RFQObject[index].ProductModel)\n {\n this.EnquiryObj.RFQObject[index].SalesDiscount=element.ProductDiscount.toString();\n \n this.iseditable=false\n }\n });\n \n }, error => {\n this.toastr.error(\"Failed to load data!\");\n\n });\n this.updateLoaderEvent.emit(false);\n \n }\n\n if(this.EnquiryObj.RFQObject[index].SalesPrice!=4)\n {\n //this.getSalespricediscount(this.EnquiryObj.RFQObject[index].SalesPrice);\n\n this.updateLoaderEvent.emit(true);;\n let queryString = \"\";\n queryString = \"id=\" + this.EnquiryObj.RFQObject[index].SalesPrice;\n this.commonService.GetData(\"SalesPrice\", \"GetById\", queryString).subscribe((data: any) => {\n \n this.EnquiryObj.RFQObject[index].SalesDiscount = data.DiscountFrom +\"-\"+ data.DiscountTo;\n this.DiscountFromrange=data.DiscountFrom;\n this.Discounttorange=data.DiscountTo;\n this.iseditable=true;\n this.toastr.info(\"Enter the Sales Price in Range \"+this.EnquiryObj.RFQObject[index].SalesDiscount);\n\n if(parseInt(this.EnquiryObj.RFQObject[index].SalesDiscount)==0-0)\n {\n this.EnquiryObj.RFQObject[index].SalesDiscount = \"0\";\n return;\n }\n }, error => {\n this.toastr.error(\"Failed to load data\");\n\n });\n this.updateLoaderEvent.emit(false);;\n \n }\n\n }\n OnSalesDiscountChange(index) {\n if (parseInt(this.EnquiryObj.RFQObject[index].SalesDiscount) < 0) {\n //this.toastr.info('Sales Discount cannot be negative.');\n this.EnquiryObj.RFQObject[index].SalesDiscount = null;\n return;\n }\n else if (parseInt(this.EnquiryObj.RFQObject[index].SalesDiscount) > 100) {\n //this.toastr.info('Discount cannot be greater than 100.');\n this.EnquiryObj.RFQObject[index].SalesDiscount = null;\n return;\n }//10<23 && 23<20 10<18<20\n else if(!(this.DiscountFromrange<=this.EnquiryObj.RFQObject[index].SalesDiscount && this.EnquiryObj.RFQObject[index].SalesDiscount<=this.Discounttorange))\n {\n this.toastr.info('Discount must be in range from'+' '+this.DiscountFromrange+' '+'to'+' '+this.Discounttorange);\n return\n }\n \n else if (parseInt(this.EnquiryObj.RFQObject[index].SalesDiscount) % 1 != 0) {\n if (this.EnquiryObj.RFQObject[index].SalesDiscount.toString().split(\".\")[1].length > 2 || this.EnquiryObj.RFQObject[index].SalesDiscount.toString().split(\".\")[0].length > 2) {\n this.toastr.info(\"Only two numbers are allowed after decimal point\")\n // this.EnquiryObj.RFQObject[index].SalesDiscount = Math.round((this.EnquiryObj.RFQObject[index].SalesDiscount + Number.EPSILON) * 100) / 100;\n this.EnquiryObj.RFQObject[index].SalesDiscount = null;\n }\n }\n this.EnquiryObj.RFQObject[index].SalesDiscountValidation = false;\n }\n\n\n deleteAttachDocument(index, attachemntType) {\n switch (attachemntType) {\n case \"MDS\":\n this.EnquiryObj.RFQObject[index].MDSAttachment = [];\n this.EnquiryObj.RFQObject[index].isMDSAttachment = false;\n break;\n case \"ITC\":\n this.EnquiryObj.RFQObject[index].ITCAttachment = [];\n this.EnquiryObj.RFQObject[index].isITCAttachment = false;\n break;\n case \"Customer\":\n this.EnquiryObj.RFQObject[index].CustomerAttachment = [];\n this.EnquiryObj.RFQObject[index].isCustomerAttachment = false;\n break;\n case \"Weiss\":\n this.EnquiryObj.RFQObject[index].WeissAttachment = [];\n this.EnquiryObj.RFQObject[index].isWeissAttachment = false;\n break;\n }\n\n }\n\n deleteActivityAttachments(index) {\n this.activityDetails[index].Attachment = [];\n this.activityDetails[index].isActivityAttachment = false;\n }\n\n deleteActivityAttachmentsFromDB(index) {\n this.activityDetails[index].fileName = null;\n this.activityDetails[index].filePath = null;\n this.EnquiryObj.RemoveFiles.push(this.activityDetails[index].filePath);\n }\n\n\n deleteAttachDocumentFromDB(index, attachemntType) {\n switch (attachemntType) {\n case \"MDS\":\n var fileObj = new removefiles();\n fileObj.ProductId = this.EnquiryObj.RFQObject[index].ProductId;\n fileObj.filetype = \"MDS\";\n this.EnquiryObj.RemoveFiles.push(this.EnquiryObj.RFQObject[index].MDS_filepath);\n this.EnquiryObj.RFQObject[index].MDS_filename = null;\n this.EnquiryObj.RFQObject[index].MDS_filepath = null;\n break;\n case \"ITC\":\n var fileObj = new removefiles();\n fileObj.ProductId = this.EnquiryObj.RFQObject[index].ProductId;\n fileObj.filetype = \"ITC\";\n this.EnquiryObj.RemoveFiles.push(this.EnquiryObj.RFQObject[index].ITC_filepath);\n this.EnquiryObj.RFQObject[index].deleted_ITC_filename = this.EnquiryObj.RFQObject[index].ITC_filename;\n this.EnquiryObj.RFQObject[index].deleted_ITC_filepath = this.EnquiryObj.RFQObject[index].ITC_filepath;\n this.EnquiryObj.RFQObject[index].ITC_filename = null;\n this.EnquiryObj.RFQObject[index].ITC_filepath = null;\n\n break;\n case \"Customer\":\n var fileObj = new removefiles();\n fileObj.ProductId = this.EnquiryObj.RFQObject[index].ProductId;\n fileObj.filetype = \"Customer\";\n this.EnquiryObj.RemoveFiles.push(this.EnquiryObj.RFQObject[index].Customer_filepath);\n this.EnquiryObj.RFQObject[index].Customer_filename = null;\n this.EnquiryObj.RFQObject[index].Customer_filepath = null;\n break;\n case \"Weiss\":\n var fileObj = new removefiles();\n fileObj.ProductId = this.EnquiryObj.RFQObject[index].ProductId;\n fileObj.filetype = \"Weiss\";\n this.EnquiryObj.RemoveFiles.push(this.EnquiryObj.RFQObject[index].Weiss_filepath);\n this.EnquiryObj.RFQObject[index].Weiss_filename = null;\n this.EnquiryObj.RFQObject[index].Weiss_filepath = null;\n break;\n }\n\n }\n\n deleteActivityDetails(index) {\n if (index != null) {\n this.activityDetails.splice(index, 1);\n }\n }\n addActivityDetails(index) {\n if (!(this.activityDetails[index].Activity == undefined || this.activityDetails[index].Activity == null || this.activityDetails[index].Activity == \"\")\n &&\n !(this.activityDetails[index].ActivityDate == undefined || this.activityDetails[index].ActivityDate == null || this.activityDetails[index].ActivityDate == \"\")) {\n var obj = new ActivityModel();\n obj.ActivityDate = new NgbDate(new Date().getFullYear(), new Date().getMonth() + 1, new Date().getDate());\n obj.uniqueid = this.makeRandom();\n obj.ISNewActivityAdded = true;\n this.activityDetails.push(obj);\n }\n }\n\n getCustomerList() {\n this.updateLoaderEvent.emit(true);;\n this.commonService.GetData(\"Customer\", \"GetAll\", null).subscribe((data: any) => {\n this.CustomerList = data;\n\n this.updateLoaderEvent.emit(false);;\n });\n }\n\n getEnquirySourceDetails() {\n this.updateLoaderEvent.emit(true);;\n this.commonService.GetData(\"Enquiry\", \"GetEnquiryDropdownData\", null).subscribe((data: any) => {\n this.enquirySource = data.EnquirySource;\n this.updateLoaderEvent.emit(false);;\n });\n }\n\n getProductDetails() {\n this.updateLoaderEvent.emit(true);;\n this.commonService.GetData(\"Product\", \"GetRFQProductDetails\", null).subscribe((data: any) => {\n this.CustomerList = data;\n //this.updateLoaderEvent.emit(false);;\n });\n }\n\n\n AvoidSpace(event: any) {\n if ((event.which === 46 || event.which === 32) && !event.target.value.length) {\n event.preventDefault();\n }\n }\n\n isNumberKey(evt: any) {\n this.charCode = (evt.which) ? evt.which : evt.keyCode;\n if ((this.charCode == 45 || this.charCode == 43) && this.charCode > 31\n && (this.charCode < 48 || this.charCode > 57)) {\n return false;\n }\n else {\n return true;\n }\n }\n\n isintNumberKey(evt: any) {\n this.charCode = (evt.which) ? evt.which : evt.keyCode;\n if ((this.charCode == 46 || this.charCode == 45 || this.charCode == 43) && this.charCode > 31\n && (this.charCode < 48 || this.charCode > 57)) {\n return false;\n }\n else {\n return true;\n }\n }\n\n AddRFQDetails(index) {\n if (this.EnquiryObj.RFQObject[index].ProductLine != undefined && this.EnquiryObj.RFQObject[index].ProductModel != undefined &&\n this.EnquiryObj.RFQObject[index].Quantity != undefined) {\n\n this.EnquiryObj.RFQObject[index].IsRowDeleted = true;\n\n var obj = new ProductDetails();\n this.EnquiryObj.RFQObject.push(obj);\n\n }\n }\n\n openCSComments() {\n this.isCustomerCommentVisible = !this.isCustomerCommentVisible;\n }\n\n openQuotationPopup(flag) {\n const frmData = new FormData();\n if (this.EnquiryObj.EnquiryDetails.BOMAttachment) {\n this.updateLoaderEvent.emit(true);;\n if (this.EnquiryObj.EnquiryDetails.EnquiryDate != undefined) {\n this.EnquiryObj.EnquiryDetails.EnquiryDateISO = new Date(this.convertDate(new NgbDate(this.EnquiryObj.EnquiryDetails.EnquiryDate.year, this.EnquiryObj.EnquiryDetails.EnquiryDate.month, this.EnquiryObj.EnquiryDetails.EnquiryDate.day))).toDateString();\n }\n if (this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate != undefined) {\n this.EnquiryObj.EnquiryDetails.RequestedDeliveryDateISO = new Date(this.convertDate(new NgbDate(this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate.year, this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate.month, this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate.day))).toDateString();\n }\n if (this.EnquiryObj.EnquiryDetails.EnquiryDate != undefined) {\n this.EnquiryObj.EnquiryDetails.EnquiryDate = new Date(this.convertDate(new NgbDate(this.EnquiryObj.EnquiryDetails.EnquiryDate.year, this.EnquiryObj.EnquiryDetails.EnquiryDate.month, this.EnquiryObj.EnquiryDetails.EnquiryDate.day)));\n }\n if (this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate != undefined) {\n this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate = new Date(this.convertDate(new NgbDate(this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate.year, this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate.month, this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate.day)));\n }\n frmData.append(\"BOMAttachment\", this.EnquiryObj.EnquiryDetails.BOMAttachment[0]);\n\n let EnquiryObj = JSON.stringify(this.EnquiryObj);\n frmData.append(\"EnquiryModel\", EnquiryObj);\n\n this.commonService.PostData(\"Enquiry\", \"AddBOM\", frmData, null).subscribe((data: any) => {\n this.updateLoaderEvent.emit(false);;\n }, error => {\n this.updateLoaderEvent.emit(false);;\n });\n }\n\n const modalRef = this.modalService.open(EnquiryModalComponent, {\n size: 'lg', backdrop: 'static', keyboard: false\n });\n var enquiObj = {\n EnquiryId: this.EnquiryObj.EnquiryDetails.EnquiryId,\n EnquiryStatus: this.EnquiryObj.EnquiryDetails.Status,\n EnqTermsConditionSelected: this.EnquiryObj.EnquiryDetails.RFQTermsAndCondition,\n IsQuotationPriceOnRequest: this.EnquiryObj.EnquiryDetails.IsQuotationPriceOnRequest,\n TermsAndCondition: this.EnquiryObj.TermsAndConditions,\n CustomTermsAndCondition: this.EnquiryObj.CustomTermsAndConditions,\n PendingAtRoleId: this.EnquiryObj.EnquiryDetails.PendingAtRoleId\n }\n modalRef.componentInstance.enquiObj = enquiObj;\n modalRef.result.then((result) => {\n this.closeResult = `Closed with:${result}`;\n if (this.closeResult !== 'Closed with:Close click') {\n if (flag === 1) {\n } else {\n // this.saveQuoteLimit(this.QuotationNumber, result);\n }\n }\n }, error => {\n this.updateLoaderEvent.emit(false);;\n });\n }\n\n backtoList() {\n // this._location.back();\n if (this.previousUrl == null || this.previousUrl == \"\" || this.previousUrl == undefined) {\n this.router.navigate(['/Enquiry']);\n }\n else if (this.previousUrl.includes(\"PendingEnquiry\")) {\n this.router.navigate(['/PendingEnquiry']);\n }\n else {\n this.router.navigate(['/Enquiry']);\n }\n\n }\n\n onEnquiryConfirmationStatusChange() {\n this.EnquiryObj.EnquiryDetails.EnquiryConfirmReason = null;\n this.WinLossDropdownDataForStatus = this.WinLossDropdownData.filter(x => x.Value == this.EnquiryObj.EnquiryDetails.EnquiryConfirmStatus);\n this.EnquiryObj.EnquiryDetails.EnquiryConfirmReason = this.WinLossDropdownDataForStatus[0].Id;\n if (this.EnquiryObj.EnquiryDetails.EnquiryConfirmStatus == \"Lost\") {\n this.isPoValueDisable = true;\n this.EnquiryObj.EnquiryDetails.POValue = \"0\";\n } else {\n this.isPoValueDisable = false;\n this.EnquiryObj.EnquiryDetails.POValue = undefined;\n }\n }\n\n deleteRFQDetails(index: any) {\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Do you want to delete this row?\"\n }\n });\n dialogRef.afterClosed().subscribe(dialogResult => {\n if (dialogResult) {\n if (index != null) {\n this.EnquiryObj.RFQObject.splice(index, 1);\n } else {\n this.EnquiryObj.RFQObject.pop();\n }\n }\n });\n }\n\n setTermsAndConditions() {\n if (this.EnquiryObj.EnquiryDetails.RFQTermsAndCondition == 'Standard') {\n this.isStandardCondition = true; \n this.EnquiryObj.TermsAndConditions = this.TnCStandardFromDropDown; \n this.EnquiryObj.TermsAndConditions.forEach(element => { \n var tnc = this.demoObject.filter(x => x.Id == element.TnCId)[0]; \n element.TnCValue = tnc?.Value; \n });\n } else { \n this.isStandardCondition = false; \n this.EnquiryObj.CustomTermsAndConditions = this.TnCCustomizedFromDropDown;\n this.EnquiryObj.CustomTermsAndConditions.forEach(element => {\n var ctnc = this.demoCTCObject.filter(x => x.StandardTC.Id == element.StandardTC)[0];\n element.CustomValues = ctnc?.CustomValues;\n });\n \n }\n }\n\n setTermsAndConditionsEditRfq() {\n \n if (this.EnquiryObj.EnquiryDetails.RFQTermsAndCondition == 'Standard') {\n this.isStandardCondition = true;\n //this.EnquiryObj.TnCObject = this.demoObject; \n this.EnquiryObj.TermsAndConditions = this.TnCStandardFromDropDown;\n\n this.EnquiryObj.TermsAndConditions.forEach(element => {\n var tnc = this.demoObject.filter(x => x.Id == element.TnCId)[0];\n element.TnCValue = tnc?.Value;\n \n });\n } \n else {\n this.isStandardCondition = false;\n\n if (this.EnquiryObj.CustomTermsAndConditions.length == 0) {\n this.EnquiryObj.CustomTermsAndConditions = this.TnCCustomizedFromDropDown;\n\n } else {\n this.EnquiryObj.CustomTermsAndConditions = this.TnCCustomizedDropDownForEditRfq2\n }\n\n this.EnquiryObj.CustomTermsAndConditions.forEach(element => {\n var ctnc = this.demoCTCObject.filter(x => x.StandardTC.Id == element.StandardTC)[0];\n element.CustomValues = ctnc?.CustomValues;\n\n });\n }\n }\n\n editFileDetails(event, index) {\n let file = event.target.files[0];\n let isValidFile = true;\n if (((file.size) / 1000000) <= 5) {\n isValidFile = this.allowedFileType.includes(file.type);\n if (!isValidFile) {\n this.toastr.warning(\"Invalid file attached!\");\n switch (event.target.name) {\n case \"mdsfile\":\n this.EnquiryObj.RFQObject[index].MDSAttachment = [];\n this.EnquiryObj.RFQObject[index].isMDSAttachment = false;\n break;\n case \"itcfile\":\n this.EnquiryObj.RFQObject[index].ITCAttachment = [];\n this.EnquiryObj.RFQObject[index].isITCAttachment = false;\n break;\n case \"customerfile\":\n this.EnquiryObj.RFQObject[index].CustomerAttachment = [];\n this.EnquiryObj.RFQObject[index].isCustomerAttachment = false;\n break;\n case \"weissfile\":\n this.EnquiryObj.RFQObject[index].WeissAttachment = [];\n this.EnquiryObj.RFQObject[index].isWeissAttachment = false;\n break;\n case \"bomfile\":\n this.EnquiryObj.EnquiryDetails.BOMAttachment = [];\n this.isBOMAttachment = false;\n break;\n case \"ecfile\":\n this.EnquiryObj.EnquiryDetails.POAttchments = [];\n break;\n case \"accfile\":\n this.EnquiryObj.EnquiryDetails.InvoiceAttachment = [];\n this.isInvoiceAttachment = false;\n break;\n case \"activityfile\":\n this.activityDetails[index].Attachment = [];\n this.activityDetails[index].isActivityAttachment = false;\n break;\n }\n event.target.value = null;\n isValidFile = false;\n } else if (file.name.length > 50) {\n this.toastr.warning(\"The file name with more than 50 characters are not allowed.\");\n switch (event.target.name) {\n case \"mdsfile\":\n this.EnquiryObj.RFQObject[index].MDSAttachment = [];\n this.EnquiryObj.RFQObject[index].isMDSAttachment = false;\n break;\n case \"itcfile\":\n this.EnquiryObj.RFQObject[index].ITCAttachment = [];\n this.EnquiryObj.RFQObject[index].isITCAttachment = false;\n break;\n case \"customerfile\":\n this.EnquiryObj.RFQObject[index].CustomerAttachment = [];\n this.EnquiryObj.RFQObject[index].isCustomerAttachment = false;\n break;\n case \"weissfile\":\n this.EnquiryObj.RFQObject[index].WeissAttachment = [];\n this.EnquiryObj.RFQObject[index].isWeissAttachment = false;\n break;\n case \"bomfile\":\n this.EnquiryObj.EnquiryDetails.BOMAttachment = [];\n this.isBOMAttachment = false;\n break;\n case \"ecfile\":\n this.EnquiryObj.EnquiryDetails.POAttchments = [];\n break;\n case \"accfile\":\n this.EnquiryObj.EnquiryDetails.InvoiceAttachment = [];\n this.isInvoiceAttachment = false;\n break;\n case \"activityfile\":\n this.activityDetails[index].Attachment = [];\n this.activityDetails[index].isActivityAttachment = false;\n break;\n }\n event.target.value = null;\n isValidFile = false;\n }\n }\n else {\n this.toastr.warning(\"File size must be less than or equal to 5MB!\");\n switch (event.target.name) {\n case \"mdsfile\":\n this.EnquiryObj.RFQObject[index].MDSAttachment = [];\n this.EnquiryObj.RFQObject[index].isMDSAttachment = false;\n break;\n case \"itcfile\":\n this.EnquiryObj.RFQObject[index].ITCAttachment = [];\n this.EnquiryObj.RFQObject[index].isITCAttachment = false;\n break;\n case \"customerfile\":\n this.EnquiryObj.RFQObject[index].CustomerAttachment = [];\n this.EnquiryObj.RFQObject[index].isCustomerAttachment = false;\n break;\n case \"weissfile\":\n this.EnquiryObj.RFQObject[index].WeissAttachment = [];\n this.EnquiryObj.RFQObject[index].isWeissAttachment = false;\n break;\n case \"bomfile\":\n this.EnquiryObj.EnquiryDetails.BOMAttachment = [];\n this.isBOMAttachment = false;\n break;\n case \"ecfile\":\n this.EnquiryObj.EnquiryDetails.POAttchments = [];\n break;\n case \"accfile\":\n this.EnquiryObj.EnquiryDetails.InvoiceAttachment = [];\n this.isInvoiceAttachment = false;\n break;\n case \"activityfile\":\n this.activityDetails[index].Attachment = [];\n this.activityDetails[index].isActivityAttachment = false;\n break;\n }\n event.target.value = null;\n isValidFile = false;\n }\n if (isValidFile) {\n //CHECK IF THE FILE NAME IS NOT TOO BIG\n\n switch (event.target.name) {\n case \"mdsfile\":\n this.EnquiryObj.RFQObject[index].MDSAttachment = [];\n this.EnquiryObj.RFQObject[index].MDSAttachment.push(file);\n this.EnquiryObj.RFQObject[index].isMDSAttachment = true;\n break;\n case \"itcfile\":\n if (!(file.type == 'application/xml' || file.type == 'text/xml')) {\n this.toastr.warning(\"Only xml file supported!\");\n this.EnquiryObj.RFQObject[index].ITCAttachment = [];\n this.EnquiryObj.RFQObject[index].isITCAttachment = false;\n event.target.value = null;\n isValidFile = false;\n }\n else {\n // const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n // maxWidth: \"400px\",\n // data: {\n // title: \"Are you sure?\",\n // message: 'Please make sure that the entered Product and ITC Product are being matched. Do you want to continue?'\n // }\n // });\n // dialogRef.afterClosed().subscribe(dialogResult => {\n // if (dialogResult) {\n this.EnquiryObj.RFQObject[index].ITCAttachment = [];\n this.EnquiryObj.RFQObject[index].ITCAttachment.push(file);\n this.EnquiryObj.RFQObject[index].isITCAttachment = true;\n // }\n // });\n\n }\n break;\n case \"customerfile\":\n this.EnquiryObj.RFQObject[index].CustomerAttachment = [];\n this.EnquiryObj.RFQObject[index].CustomerAttachment.push(file);\n this.EnquiryObj.RFQObject[index].isCustomerAttachment = true;\n break;\n case \"weissfile\":\n this.EnquiryObj.RFQObject[index].WeissAttachment = [];\n this.EnquiryObj.RFQObject[index].WeissAttachment.push(file);\n this.EnquiryObj.RFQObject[index].isWeissAttachment = true;\n break;\n case \"bomfile\":\n this.EnquiryObj.EnquiryDetails.BOMAttachment = [];\n this.EnquiryObj.EnquiryDetails.BOMAttachment.push(file);\n this.isBOMAttachment = true;\n break;\n case \"ecfile\":\n this.EnquiryObj.EnquiryDetails.POAttchments = [];\n this.EnquiryObj.EnquiryDetails.POAttchments.push(file);\n this.isPOAttachment = true;\n break;\n case \"accfile\":\n this.EnquiryObj.EnquiryDetails.InvoiceAttachment = [];\n this.EnquiryObj.EnquiryDetails.InvoiceAttachment.push(file);\n this.isInvoiceAttachment = true;\n break;\n case \"activityfile\":\n this.activityDetails[index].Attachment = [];\n this.activityDetails[index].Attachment.push(file);\n this.activityDetails[index].isActivityAttachment = true;\n break;\n }\n }\n }\n\n getMultipleFileDetails(event) {\n for (let i = 0; i < event.target.files.length; i++) {\n let file = event.target.files[i];\n let isValidFile = true;\n if (((file.size) / 1000000) <= 5) {\n\n isValidFile = this.allowedFileType.includes(file.type);\n if (!isValidFile) {\n this.toastr.warning(\"Invalid file attached!\");\n //event.target.value = null;\n isValidFile = false;\n } else if (file.name.length > 50) {\n this.toastr.warning(\"The file name with more than 50 characters are not allowed.\");\n isValidFile = false;\n }\n }\n else {\n this.toastr.warning(\"File size must be less than or equal to 5MB!\");\n //event.target.value = null;\n isValidFile = false;\n }\n if (isValidFile) {\n switch (event.target.name) {\n case \"quotefiles\":\n if (this.EnquiryObj.EnquiryDetails.QuoteGenAttachments == undefined || this.EnquiryObj.EnquiryDetails.QuoteGenAttachments.length == 0) {\n this.EnquiryObj.EnquiryDetails.QuoteGenAttachments = [];\n }\n this.EnquiryObj.EnquiryDetails.QuoteGenAttachments.push(file);\n break;\n case \"mafile\":\n if (this.EnquiryObj.EnquiryDetails.QuoteGenAttachments == undefined || this.EnquiryObj.EnquiryDetails.QuoteGenAttachments.length == 0) {\n this.EnquiryObj.EnquiryDetails.QuoteGenAttachments = [];\n }\n this.EnquiryObj.EnquiryDetails.QuoteGenAttachments.push(file);\n break;\n case \"ceofile\":\n if (this.EnquiryObj.EnquiryDetails.QuoteGenAttachments == undefined || this.EnquiryObj.EnquiryDetails.QuoteGenAttachments.length == 0) {\n this.EnquiryObj.EnquiryDetails.QuoteGenAttachments = [];\n }\n this.EnquiryObj.EnquiryDetails.QuoteGenAttachments.push(file);\n break;\n case \"maofile\":\n if (this.EnquiryObj.EnquiryDetails.QuoteGenAttachments == undefined || this.EnquiryObj.EnquiryDetails.QuoteGenAttachments.length == 0) {\n this.EnquiryObj.EnquiryDetails.QuoteGenAttachments = [];\n }\n this.EnquiryObj.EnquiryDetails.QuoteGenAttachments.push(file);\n break;\n }\n }\n }\n }\n\n removeQuoteGenAttachments(index) {\n this.EnquiryObj.EnquiryDetails.QuoteGenAttachments.splice(index, 1);\n this.myInputVariable.nativeElement.value = \"\";\n\n }\n removeQuoteGenAttachmentsDB(index) {\n this.EnquiryObj.RemoveFiles.push(this.EnquiryObj.EnquiryDetails.QuoteAttachmentsArray[index].FilePath);\n this.EnquiryObj.EnquiryDetails.QuoteAttachmentsArray[index].FileName = null;\n this.EnquiryObj.EnquiryDetails.QuoteAttachmentsArray[index].FilePath = null;\n this.EnquiryObj.EnquiryDetails.QuoteAttachmentsArray.splice(index, 1);\n }\n removeBOMAttachments(flag) {\n if (flag == 1) {\n this.EnquiryObj.RemoveFiles.push(this.EnquiryObj.EnquiryDetails.BOM_filepath);\n }\n this.isBOMAttachment = false;\n this.EnquiryObj.EnquiryDetails.BOMAttachment = [];\n this.EnquiryObj.EnquiryDetails.BOM_filename = null;\n this.EnquiryObj.EnquiryDetails.BOM_filepath = null;\n }\n\n removeInvoiceAttachments() {\n this.isInvoiceAttachment = false;\n this.myInputVariable.nativeElement.value = \"\";\n this.EnquiryObj.EnquiryDetails.InvoiceAttachment = undefined;\n }\n\n\n\n GenerateOANumber() {\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Once OA Number Generated, can't be altered. Do you want to continue?\"\n }\n });\n dialogRef.afterClosed().subscribe(dialogResult => {\n if (dialogResult) {\n this.updateLoaderEvent.emit(true);;\n let queryString = \"\";\n queryString = \"id=\" + this.EnquiryObj.EnquiryDetails.EnquiryId;\n this.commonService.GetData('Enquiry', 'GenerateOANo', queryString).subscribe((data: any) => {\n\n this.EnquiryObj.EnquiryDetails.OrdAcknowledgeNumber = data;\n this.isOAGenerated = true;\n this.updateLoaderEvent.emit(false);;\n this.toastr.success('Order Acknowledgement Number generated successfully!');\n\n }, error => {\n this.EnquiryObj.EnquiryDetails.OrdAcknowledgeNumber = undefined;\n this.toastr.error('Failed to Order Acknowledgement Number!');\n this.isOAGenerated = false;\n this.updateLoaderEvent.emit(false);;\n });\n }\n });\n }\n\n onStepChange(data) {\n\n if (this.userid == this.EnquiryObj.EnquiryDetails.Initiator_Id && data.previouslySelectedIndex == 0 && this.activityDetails[0].Activity != \"\") {\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Please make sure that you have saved the activity details. Do you want to continue?\"\n }\n });\n dialogRef.afterClosed().subscribe(dialogResult => {\n if (dialogResult) {\n } else {\n this.stepper.selectedIndex = data.previouslySelectedIndex;\n }\n });\n }\n }\n\n\n SetStatus(rule, myform: any) {\n this.PreviousStatus = this.EnquiryObj.EnquiryDetails.Status;\n this.EnquiryObj.EnquiryDetails.Status = rule[0].workflowNextStatusId;\n if(this.EnquiryObj.EnquiryDetails.Status ==this.enquiryStatusList.filter(x=>x.Status=='QuotationGeneratedbyCustomerService')[0]?.Pk_Id)\n {\n this.AddQuotation(rule);\n }\n else{\n this.AddEnquiry();\n } \n \n }\n\n AddEnquiry() {\n \n //Dont proceed if the BOM attachment is not present\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='SendBOMandProposal')[0]?.Pk_Id || this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='QuotationSenttoCustomerService')[0]?.Pk_Id ||\n this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='RFQsentbyL1toL2')[0]?.Pk_Id) {\n if ((this.EnquiryObj.EnquiryDetails.BOMAttachment == null || this.EnquiryObj.EnquiryDetails.BOMAttachment == undefined || this.EnquiryObj.EnquiryDetails.BOMAttachment.length == 0) &&\n (this.EnquiryObj.EnquiryDetails.BOM_filename == null || this.EnquiryObj.EnquiryDetails.BOM_filename == undefined || this.EnquiryObj.EnquiryDetails.BOM_filename == \"\")) {\n this.toastr.info('BOM attachment is required.');\n return;\n }\n }\n\n // //Dont proceed if the Po attachment is not present\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='EnquiryOrderConfirmedbySalesEngg')[0]?.Pk_Id) {\n if ((this.EnquiryObj.EnquiryDetails.POAttchments == null || this.EnquiryObj.EnquiryDetails.POAttchments == undefined || this.EnquiryObj.EnquiryDetails.POAttchments.length == 0) &&\n (this.EnquiryObj.EnquiryDetails.PO_filename == null || this.EnquiryObj.EnquiryDetails.PO_filename == undefined || this.EnquiryObj.EnquiryDetails.PO_filename == \"\")) {\n this.toastr.info('PO attachment is required.');\n return;\n }\n }\n\n // //Dont proceed if the Invoice attachment is not present\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='AccountsConfirmInvoiceNo')[0]?.Pk_Id) {\n if ((this.EnquiryObj.EnquiryDetails.InvoiceAttachment == null || this.EnquiryObj.EnquiryDetails.InvoiceAttachment == undefined || this.EnquiryObj.EnquiryDetails.InvoiceAttachment.length == 0) &&\n (this.EnquiryObj.EnquiryDetails.Invoice_filename == null || this.EnquiryObj.EnquiryDetails.Invoice_filename == undefined || this.EnquiryObj.EnquiryDetails.Invoice_filename == \"\")) {\n this.EnquiryObj.EnquiryDetails.Status = this.enquiryStatusList.filter(x=>x.Status=='MaterialReadyForDispatch')[0]?.Pk_Id;\n this.toastr.info('Invoice attachment is required.');\n return;\n }\n }\n\n\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='EnquiryOrderConfirmedbySalesEngg')[0]?.Pk_Id) {\n if ((this.EnquiryObj.EnquiryDetails.POAttchments == undefined || this.EnquiryObj.EnquiryDetails.POAttchments == null || this.EnquiryObj.EnquiryDetails.POAttchments.length==0)) {\n return;\n }\n }\n\n\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='OrdersentforMngmtApproval_SalesDirector')[0]?.Pk_Id) {\n if (this.isPOAttacmentDelete) {\n if ((this.EnquiryObj.EnquiryDetails.POAttchments == undefined || this.EnquiryObj.EnquiryDetails.POAttchments == null || this.EnquiryObj.EnquiryDetails.POAttchments.length == 0)) {\n return;\n }\n }\n\n }\n\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='OrderConfirmedbyCustomerServiceSendSO')[0]?.Pk_Id) {\n if (this.isPOAttacmentDelete) {\n if ((this.EnquiryObj.EnquiryDetails.POAttchments == undefined || this.EnquiryObj.EnquiryDetails.POAttchments == null || this.EnquiryObj.EnquiryDetails.POAttchments.length == 0)) {\n return;\n }\n }\n }\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='AccountsConfirmInvoiceNo')[0]?.Pk_Id) {\n if (this.EnquiryObj.EnquiryDetails.InvoiceAttachment == undefined) {\n this.EnquiryObj.EnquiryDetails.Status = this.enquiryStatusList.filter(x=>x.Status=='MaterialReadyForDispatch')[0]?.Pk_Id\n return;\n }\n }\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='OrdersentforMngmtApproval_SalesDirector')[0]?.Pk_Id ||\n this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='OrderConfirmedbyCustomerServiceSendSO')[0]?.Pk_Id) {\n let sum: number = 0;\n this.EnquiryObj.POValues.forEach(element => {\n element.ProductModelPOValue = (element.ProductModelPOValue == null || element.ProductModelPOValue == '' || element.ProductModelPOValue == undefined)\n ? '0' : element.ProductModelPOValue;\n sum = sum + parseInt(element.ProductModelPOValue);\n element.QUotationValueValidation = false;\n });\n if (sum.toString() != this.EnquiryObj.EnquiryDetails.POValue) {\n document.getElementById(\"povalue0\").focus();\n this.toastr.info('Total PO value and product wise PO values are not matching.');\n this.EnquiryObj.EnquiryDetails.Status = this.PreviousStatus;\n this.UpdatePO = false;\n return;\n }\n }\n\n setTimeout(() => this.openPopup());\n }\n \n \n\n\n AddQuotation(rule) {\n \n this.QuotationData.QuotationInfo.EnquiryStatus=rule[0].workflowNextStatusId;\n this.QuotationData.QuotationInfo.QuotationComments=this.EnquiryObj.EnquiryDetails.Comments;\n //this.QuotationData.QuotationInfo.Fk_Customer_Id = this.CustomerDetailsObj.CustomerId;\n var confimrmsg = AppGlobals.successMessages.filter(x => x.id == rule[0].workflowNextStatusId)[0];\n if (this.EnquiryObj.EnquiryDetails.FinalAmount < 0) {\n this.toastr.info(\"Quotation total amount can't be negative\");\n return;\n }\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Are you sure, you want to proceed?\"\n }\n });\n dialogRef.afterClosed().subscribe(dialogResult => {\n \n if (dialogResult) {\n this.updateLoaderEvent.emit(true);\n this.QuotationData.allseriesmodel = [];\n this.commonService.PostData(\"Enquiry\", \"AddQuotation\", this.QuotationData, null).subscribe((data: any) => {\n if (this.QuotationData.QuotationInfo.EnquiryStatus == this.enquiryStatusList.filter(x => x.Status == 'QuotationGeneratedbyCustomerService')[0]?.Pk_Id) {\n this.generatePDF(); \n this.updateLoaderEvent.emit(false); \n // this.toastr.success(\"Quotation approved successfully\");\n this.router.navigate(['/Enquiry']);\n \n }\n }, error => {\n this.toastr.error(\"Failed to gerenate quotation\");\n this.updateLoaderEvent.emit(false);\n //this.router.navigate(['/Enquiry']);\n });\n }\n });\n }\n\n generatePDF() {\n this.updateLoaderEvent.emit(true);\n let queryString = \"\";\n let url = this.QuotationPdfGenerationHostPath + \"PrintPdf/GeneratePdf?EnquiryId=\" + this.EnquiryObj.EnquiryDetails.EnquiryId;\n queryString = \"Url=\" + url;\n\n this.commonService.GetData('Enquiry', 'GeneratePdf', queryString).subscribe((data: any) => {\n let res = data;\n this.toastr.success('Quotation Generated Successfully!');\n \n window.location.reload();\n this.updateLoaderEvent.emit(false);\n }, error => {\n this.toastr.error('Quotation not generated successfully!');\n this.updateLoaderEvent.emit(false);\n\n });\n }\n\n \n openPopup() {\n // var confimrmsg = this.AppGlobals.successMessages.filter(x => x.id == this.EnquiryObj.EnquiryDetails.Status)[0];\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"You want to proceed?\"\n }\n });\n dialogRef.afterClosed().subscribe(dialogResult => {\n if (dialogResult) {\n this.updateLoaderEvent.emit(true);\n const frmData = new FormData();\n this.EnquiryObj.RFQObject.forEach(item => {\n item.IsRowDeleted = false;\n });\n if (this.EnquiryObj.EnquiryDetails.EnquiryDate != undefined) {\n this.EnquiryObj.EnquiryDetails.EnquiryDateISO = new Date(this.convertDate(new NgbDate(this.EnquiryObj.EnquiryDetails.EnquiryDate.year, this.EnquiryObj.EnquiryDetails.EnquiryDate.month, this.EnquiryObj.EnquiryDetails.EnquiryDate.day))).toDateString();\n }\n if (this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate != undefined) {\n this.EnquiryObj.EnquiryDetails.TentativeDeliveryDateISO = new Date(this.convertDate(new NgbDate(this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate.year, this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate.month, this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate.day))).toDateString();\n }\n if (this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate != undefined) {\n this.EnquiryObj.EnquiryDetails.RequestedDeliveryDateISO = new Date(this.convertDate(new NgbDate(this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate.year, this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate.month, this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate.day))).toDateString();\n }\n if (this.EnquiryObj.EnquiryDetails.EnquiryDate != undefined) {\n this.EnquiryObj.EnquiryDetails.EnquiryDate = new Date(this.convertDate(new NgbDate(this.EnquiryObj.EnquiryDetails.EnquiryDate.year, this.EnquiryObj.EnquiryDetails.EnquiryDate.month, this.EnquiryObj.EnquiryDetails.EnquiryDate.day)));\n }\n if (this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate != undefined) {\n this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate = new Date(this.convertDate(new NgbDate(this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate.year, this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate.month, this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate.day)));\n }\n if (this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate != undefined) {\n this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate = new Date(this.convertDate(new NgbDate(this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate.year, this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate.month, this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate.day)));\n }\n\n if (this.EnquiryObj.EnquiryDetails.RFQTermsAndCondition == \"Customized\") {\n this.EnquiryObj.TermsAndConditions = null;\n \n if(this.QGRFQEditable == true)\n {\n this.EnquiryObj.CustomTermsAndConditions;\n \n }else{\n this.EnquiryObj.CustomTermsAndConditions = this.custtermscond;\n }\n }\n\n let EnquiryObj = JSON.stringify(this.EnquiryObj);\n frmData.append(\"EnquiryModel\", EnquiryObj);\n\n\n if (this.EnquiryObj.EnquiryDetails.QuoteGenAttachments != null) {\n for (let i = 0; i < this.EnquiryObj.EnquiryDetails.QuoteGenAttachments.length; i++) {\n frmData.append(\"QuoteGenAttachments[\" + i + \"]\", this.EnquiryObj.EnquiryDetails.QuoteGenAttachments[i]);\n }\n }\n for (let i = 0; i < this.EnquiryObj.RFQObject.length; i++) {\n if (this.EnquiryObj.RFQObject[i].MDSAttachment != undefined) {\n frmData.append(\"MDSAttachment[\" + i + \"]\", this.EnquiryObj.RFQObject[i].MDSAttachment[0]);\n }\n if (this.EnquiryObj.RFQObject[i].ITCAttachment != undefined) {\n frmData.append(\"ITCAttachment[\" + i + \"]\", this.EnquiryObj.RFQObject[i].ITCAttachment[0]);\n }\n if (this.EnquiryObj.RFQObject[i].CustomerAttachment != undefined) {\n frmData.append(\"CustomerAttachment[\" + i + \"]\", this.EnquiryObj.RFQObject[i].CustomerAttachment[0]);\n }\n if (this.EnquiryObj.RFQObject[i].WeissAttachment != undefined) {\n frmData.append(\"WeissAttachment[\" + i + \"]\", this.EnquiryObj.RFQObject[i].WeissAttachment[0]);\n }\n }\n if (this.EnquiryObj.EnquiryDetails.BOMAttachment) {\n frmData.append(\"BOMAttachment\", this.EnquiryObj.EnquiryDetails.BOMAttachment[0]);\n }\n if (this.EnquiryObj.EnquiryDetails.InvoiceAttachment) {\n frmData.append(\"InvoiceAttachment\", this.EnquiryObj.EnquiryDetails.InvoiceAttachment[0]);\n }\n if (this.EnquiryObj.EnquiryDetails.POAttchments) {\n frmData.append(\"POAttchments\", this.EnquiryObj.EnquiryDetails.POAttchments[0]);\n }\n \n this.commonService.PostData(\"Enquiry\", \"Add\", frmData, null).subscribe((data: any) => {\n this.customerDrpdnDetails = data;\n this.EnquiryObj.EnquiryDetails.EnquiryId = data;\n \n this.toastr.success(\"Process done successfully\");\n \n\n this.updateLoaderEvent.emit(false);;\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='RFQAcceptedbyL1')[0]?.Pk_Id ||\n this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='QuotationRevision')[0]?.Pk_Id ||\n this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='RFQSubmittedbyL1')[0]?.Pk_Id ||\n this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='RFQSubmittedbyL2')[0]?.Pk_Id ||\n this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='RFQSubmittedbyL3')[0]?.Pk_Id ||\n this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='RFQSubmittedbyCustomerService')[0]?.Pk_Id||\n this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='OANoGenerated')[0]?.Pk_Id) {\n // this.router.navigate(['/EditViewEnquiry/' + this.EnquiryObj.EnquiryDetails.EnquiryId]);\n window.location.reload();\n } else {\n this.router.navigate(['/Enquiry']);\n //this.backtoList();\n }\n }, error => {\n this.toastr.error(\"Failed to approve\");\n this.updateLoaderEvent.emit(false);;\n });\n } else {\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='QuotationRevision')[0]?.Pk_Id) {\n this.chosenItem = \"2\";\n this.quoterevcomments = this.EnquiryObj.EnquiryDetails.Comments;\n this.EnquiryObj.EnquiryDetails.Comments = \"\";\n }\n else {\n\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='OrdersentforMngmtApproval_SalesDirector')[0]?.Pk_Id ||\n this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='OrderConfirmedbyCustomerServiceSendSO')[0]?.Pk_Id) {\n this.UpdatePO = false;\n }\n if (this.PreviousStatus > 0) {\n this.EnquiryObj.EnquiryDetails.Status = this.PreviousStatus;\n }\n\n }\n\n }\n });\n\n }\n povalueChange(i) {\n var povalue: number = parseFloat(this.EnquiryObj.POValues[i].ProductModelPOValue);\n if (povalue == undefined || povalue == null) {\n this.EnquiryObj.POValues[i].QUotationValueValidation = true;\n this.IsPODataValid = false;\n } else if (povalue < 0) {\n this.EnquiryObj.POValues[i].QUotationValueValidation = true;\n this.IsPODataValid = false;\n } else if (povalue % 1 != 0) {\n this.EnquiryObj.POValues[i].QUotationValueValidation = true;\n this.IsPODataValid = false;\n } else if (this.EnquiryObj.POValues[i].ProductModelPOValue.toString().includes(\".\")) {\n this.EnquiryObj.POValues[i].QUotationValueValidation = true;\n this.IsPODataValid = false;\n }\n else {\n this.EnquiryObj.POValues[i].QUotationValueValidation = false;\n }\n }\n editRFQ() {\n if (this.showQuotationLink) {\n this.toastr.info('Please note that editing the RFQ will reset the quotation.');\n }\n this.EnquiryObj.RFQObject.forEach(element => {\n element.deleted_MDS_filename = element.MDS_filename;\n element.deleted_MDS_filepath = element.MDS_filepath;\n\n element.deleted_ITC_filename = element.ITC_filename;\n element.deleted_ITC_filepath = element.ITC_filepath;\n\n element.deleted_Customer_filename = element.Customer_filename;\n element.deleted_Customer_filepath = element.Customer_filepath;\n\n element.deleted_Weiss_filename = element.Weiss_filename;\n element.deleted_Weiss_filepath = element.Weiss_filepath;\n });\n\n\n this.QGRFQEditable = true;\n\n }\n cancelEditingRFQ() {\n\n window.location.reload();\n this.QGRFQEditable = false;\n this.EnquiryObj.RFQObject.forEach(element => {\n element.MDSAttachment = [];\n element.ITCAttachment = [];\n element.CustomerAttachment = [];\n element.WeissAttachment = [];\n element.isMDSAttachment = false;\n element.isITCAttachment = false;\n element.isCustomerAttachment = false;\n element.isWeissAttachment = false;\n element.MDS_filename = element.deleted_MDS_filename;\n element.MDS_filepath = element.deleted_MDS_filepath;\n\n element.ITC_filename = element.deleted_ITC_filename;\n element.ITC_filepath = element.deleted_ITC_filepath;\n\n element.Customer_filename = element.deleted_Customer_filename;\n element.Customer_filepath = element.deleted_Customer_filepath;\n\n element.Weiss_filename = element.deleted_Weiss_filename;\n element.Weiss_filepath = element.deleted_Weiss_filepath;\n });\n }\n\n onActivityChange(i) {\n if (this.activityDetails[i].Activity == undefined || this.activityDetails[i].Activity == null || this.activityDetails[i].Activity == \"\") {\n this.activityDetails[i].ActivityValidation = true;\n this.IsActivityDataValid = false;\n } else {\n this.activityDetails[i].ActivityValidation = false;\n }\n }\n onActivityDateChange(i) {\n if (this.activityDetails[i].ActivityDate == undefined || this.activityDetails[i].ActivityDate == null || this.activityDetails[i].ActivityDate == \"\") {\n this.activityDetails[i].ActivityDateValidation = true;\n this.IsActivityDataValid = false;\n } else {\n this.activityDetails[i].ActivityDateValidation = false;\n }\n }\n\n checkRFQGridValidation() {\n var inde = 0;\n this.IsRFQDataValid = true;\n this.EnquiryObj.RFQObject.forEach((element, index) => {\n if (element.ProductLine == undefined || element.ProductLine == null || element.ProductLine == 0) {\n document.getElementById(\"productline\" + index).focus();\n element.ProductLineValidation = true;\n this.IsRFQDataValid = false;\n }\n if (element.ProductModel == undefined || element.ProductModel == null || element.ProductModel == 0) {\n document.getElementById(\"productmodel\" + index).focus();\n element.ProductModelValidation = true;\n this.IsRFQDataValid = false;\n }\n if (element.Quantity == undefined || element.Quantity == null || element.Quantity == 0) {\n document.getElementById(\"quantity\" + index).focus();\n element.QuantityValidation = true;\n this.IsRFQDataValid = false;\n }\n if (element.MDSOption == undefined || element.MDSOption == null || element.MDSOption == 0) {\n document.getElementById(\"mdsoption\" + index).focus();\n element.MDSOptionValidation = true;\n this.IsRFQDataValid = false;\n }\n if (element.SalesPrice == undefined || element.SalesPrice == null || element.SalesPrice == 0) {\n document.getElementById(\"salesprice\" + index).focus();\n element.SalesPriceValidation = true;\n this.IsRFQDataValid = false;\n }\n if (element.SalesDiscount == undefined || element.SalesDiscount == null) {\n document.getElementById(\"salesdiscount\" + index).focus();\n element.SalesDiscountValidation = true;\n this.IsRFQDataValid = false;\n }\n\n });\n\n }\n\n convertDate(date: any) {\n let year = date.year;\n let month = date.month;\n let day = date.day;\n return year + \"-\" + month + \"-\" + day;\n }\n\n calculateTotalPricesForProduct(index) {\n var modelprice = 0;\n var var1price = 0;\n var var2price = 0;\n var var3price = 0;\n var var4price = 0;\n var optionprice = 0;\n\n\n modelprice = this.QuotationData.QuotationObj[index].ProductModelPrice == undefined ? 0 : this.QuotationData.QuotationObj[index].ProductModelPrice;\n var1price = this.QuotationData.QuotationObj[index].Variant1Price == undefined ? 0 : this.QuotationData.QuotationObj[index].Variant1Price;\n var2price = this.QuotationData.QuotationObj[index].Variant2Price == undefined ? 0 : this.QuotationData.QuotationObj[index].Variant2Price;\n var3price = this.QuotationData.QuotationObj[index].Variant3Price == undefined ? 0 : this.QuotationData.QuotationObj[index].Variant3Price;\n var4price = this.QuotationData.QuotationObj[index].Variant4Price == undefined ? 0 : this.QuotationData.QuotationObj[index].Variant4Price;\n this.QuotationData.QuotationObj[index].PerUnitAmount = this.QuotationData.QuotationObj[index].PerUnitAmount == undefined ? 0 : this.QuotationData.QuotationObj[index].PerUnitAmount;\n this.QuotationData.QuotationObj[index].TotalAmount = this.QuotationData.QuotationObj[index].TotalAmount == undefined ? 0 : this.QuotationData.QuotationObj[index].TotalAmount;\n this.QuotationData.QuotationObj[index].FinalAmount = this.QuotationData.QuotationObj[index].FinalAmount == undefined ? 0 : this.QuotationData.QuotationObj[index].FinalAmount;\n\n this.QuotationData.QuotationObj[index].OptionsPrice = 0;\n this.QuotationData.QuotationObj[index].Options.forEach(element => {\n this.QuotationData.QuotationObj[index].OptionsPrice = this.QuotationData.QuotationObj[index].OptionsPrice + element.Price;\n optionprice = optionprice + element.Price;\n });\n\n this.QuotationData.QuotationObj[index].PerUnitAmount = modelprice + var1price + var2price + var3price + var4price + optionprice;\n this.QuotationData.QuotationObj[index].Variant1 = (this.QuotationData.QuotationObj[index].Variant1 == null || this.QuotationData.QuotationObj[index].Variant1 == 0) ? undefined : this.QuotationData.QuotationObj[index].Variant1;\n this.QuotationData.QuotationObj[index].Variant2 = (this.QuotationData.QuotationObj[index].Variant2 == null || this.QuotationData.QuotationObj[index].Variant2 == 0) ? undefined : this.QuotationData.QuotationObj[index].Variant2;\n this.QuotationData.QuotationObj[index].Variant3 = (this.QuotationData.QuotationObj[index].Variant3 == null || this.QuotationData.QuotationObj[index].Variant3 == 0) ? undefined : this.QuotationData.QuotationObj[index].Variant3;\n this.QuotationData.QuotationObj[index].Variant4 = (this.QuotationData.QuotationObj[index].Variant4 == null || this.QuotationData.QuotationObj[index].Variant4 == 0) ? undefined : this.QuotationData.QuotationObj[index].Variant4;\n this.QuotationData.QuotationObj[index].Discount = this.QuotationData.QuotationObj[index].Discount == undefined ? 0 : this.QuotationData.QuotationObj[index].Discount;\n\n var percent = 100 - this.QuotationData.QuotationObj[index].Discount;\n this.QuotationData.QuotationObj[index].TotalAmount = this.QuotationData.QuotationObj[index].PerUnitAmount * this.QuotationData.QuotationObj[index].Quantity;\n var final = this.QuotationData.QuotationObj[index].TotalAmount * (percent / 100);\n this.QuotationData.QuotationObj[index].FinalAmount = parseInt(final.toString());\n this.calculateTotalQuotationValues();\n }\n\n calculateTotalQuotationValues() {\n this.QuotationData.QuotationInfo.PerUnitAmount = 0;\n this.QuotationData.QuotationInfo.TotalAmount = 0;\n this.QuotationData.QuotationInfo.FinalAmount = 0;\n var final = 0;\n this.QuotationData.QuotationObj.forEach(element => {\n this.QuotationData.QuotationInfo.PerUnitAmount = this.QuotationData.QuotationInfo.PerUnitAmount + element.PerUnitAmount;\n this.QuotationData.QuotationInfo.TotalAmount = this.QuotationData.QuotationInfo.TotalAmount + element.TotalAmount;\n final = parseFloat(final.toString()) + parseFloat(element.FinalAmount);\n });\n //this.QuotationData.QuotationInfo.FinalAmount = parseFloat(final.toString()).toFixed(2);\n this.QuotationData.QuotationInfo.FinalAmount = parseInt(final.toString());\n }\n\n\n downloadPDF() {\n const url = this.QuotationPdfGenerationHostPath + 'uploads/pdf/' + this.EnquiryObj.EnquiryDetails.QuotationPdf_filename;\n window.open(url, \"download\");\n }\n\n DownloadPDFfromServer(Filename: any) {\n this.commonService.gereatePDF('Enquiry', 'DownloadPDF', Filename).subscribe((data: any) => {\n\n importedSaveAs(data, Filename);\n });\n }\n checkattachment() {\n this.rfqattpresent = false;\n this.EnquiryObj.RFQObject.forEach(element => {\n if (!(element.MDS_filename == null || element.MDS_filename == undefined || element.MDS_filename == '')) {\n this.rfqattpresent = true;\n }\n if (!(element.ITC_filename == null || element.ITC_filename == undefined || element.ITC_filename == '')) {\n this.rfqattpresent = true;\n }\n if (!(element.Weiss_filename == null || element.Weiss_filename == undefined || element.Weiss_filename == '')) {\n this.rfqattpresent = true;\n }\n if (!(element.Customer_filename == null || element.Customer_filename == undefined || element.Customer_filename == '')) {\n this.rfqattpresent = true;\n }\n });\n }\n DownloadAllAttachments() {\n this.checkattachment();\n if (!this.rfqattpresent) {\n this.toastr.info('No attachment present.');\n return;\n }\n this.updateLoaderEvent.emit(true);;\n let queryString = \"\";\n queryString = \"id=\" + this.EnquiryObj.EnquiryDetails.EnquiryId;\n this.commonService.GetData('Enquiry', 'Download', queryString).subscribe((data: any) => {\n var url = AppGlobals.ZipDownloadUrl + data + '.zip';\n window.open(url, \"_blank\");\n this.updateLoaderEvent.emit(false);;\n }, error => {\n this.updateLoaderEvent.emit(false);;\n });\n }\n\n\n\n public saveAsFile(pdfurl: any, fileName: string): void {\n //const data: Blob = new Blob([buffer], { type: EXCEL_TYPE });\n FileSaver.saveAs(this.fileDownloadPath + pdfurl, fileName);\n }\n\n onSelectDate(date: NgbDateStruct, dateType: string) {\n if (date != null) {\n if (dateType == 'RequestedDeliveryDate') {\n this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate = date;\n this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate = this.ngbDateParserFormatter.format(date);\n }\n else if (dateType == 'EnquiryDate') {\n this.EnquiryObj.EnquiryDetails.EnquiryDate = date;\n this.EnquiryObj.EnquiryDetails.EnquiryDate = this.ngbDateParserFormatter.format(date);\n }\n\n }\n }\n EditPO() {\n this.UpdatePO = true;\n\n setTimeout(() => {\n this.editpovalue.nativeElement.focus();\n }, 0);\n }\n\n\n openTechnicalDiscardPopup() {\n const modalRef = this.modalService.open(TechnicalDiscardComponent, {\n size: 'lg', backdrop: 'static', keyboard: false\n });\n\n var enquiObj = {\n EnquiryId: this.EnquiryObj.EnquiryDetails.EnquiryId,\n EnquiryStatus: this.EnquiryObj.EnquiryDetails.Status,\n EnqTermsConditionSelected: this.EnquiryObj.EnquiryDetails.RFQTermsAndCondition,\n IsQuotationPriceOnRequest: this.EnquiryObj.EnquiryDetails.IsQuotationPriceOnRequest,\n TermsAndCondition: this.EnquiryObj.TermsAndConditions,\n CustomTermsAndCondition: this.EnquiryObj.CustomTermsAndConditions,\n PendingAtRoleId: this.EnquiryObj.EnquiryDetails.PendingAtRoleId\n }\n\n modalRef.componentInstance.enquiryDataObj = enquiObj;\n modalRef.result.then((result) => {\n this.closeResult = `Closed with:${result}`;\n if (this.closeResult !== 'Closed with:Close click') {\n this.ngOnInit();\n }\n });\n }\n \n onIndustrySegmentSelect(value)\n {\n if(value!=null)\n {\n this.SubSegment=this.FinalSubSegment.filter(x=>x.SegmentId==value); \n this.Application=[];\n this.EnquiryObj.EnquiryDetails.subSegment=undefined;\n this.EnquiryObj.EnquiryDetails.application=undefined;\n }\n } \n onSubSegmentSelect(value)\n {\n if(value!=null)\n {\n this.Application=this.FinalApplication.filter(x=>x.SubSegmentId==value); \n }\n }\n \n \n \n openCloseOppReasonPopup() {\n const modalRef = this.modalService.open(CloseOppReasonComponent, {\n size: 'lg', backdrop: 'static', keyboard: false\n });\n\n var enquiObj = {\n EnquiryId: this.EnquiryObj.EnquiryDetails.EnquiryId,\n // this.enquiryStatusList.filter(x=>x.Status=='OANoGenerated')[0]?.Pk_Id: this.EnquiryObj.EnquiryDetails.Status,\n // EnqTermsConditionSelected: this.EnquiryObj.EnquiryDetails.RFQTermsAndCondition,\n // IsQuotationPriceOnRequest: this.EnquiryObj.EnquiryDetails.IsQuotationPriceOnRequest,\n // TermsAndCondition: this.EnquiryObj.TermsAndConditions,\n // CustomTermsAndCondition: this.EnquiryObj.CustomTermsAndConditions,\n // PendingAtRoleId: this.EnquiryObj.EnquiryDetails.PendingAtRoleId\n }\n\n modalRef.componentInstance.enquiryDataObj = enquiObj;\n modalRef.result.then((result) => {\n this.closeResult = `Closed with:${result}`;\n if (this.closeResult !== 'Closed with:Close click') {\n this.ngOnInit();\n }\n });\n }\n\n getAllWorkFlow() {\n this.commonService.GetData(\"Workflow\", \"GetAll\", null).subscribe((data: any) => {\n \n if(data!=null){\n var workflowData = data;\n this.workflowId=workflowData.filter(x=>x.document_type_code == \"MANAGEMNT_APPROVAL\")[0].workflow_id;\n this.getWorkflowActions(this.workflowId);\n }\n this.updateLoaderEvent.emit(false);\n }, error => {\n this.updateLoaderEvent.emit(false);\n });\n }\n\n getWorkflowActions(workflowId:any) {\n let queryString = \"\";\n queryString = \"enquiryId=\" + this.EnquiryObj.EnquiryDetails.EnquiryId + \"&workflowId=\" + workflowId;\n\n this.updateLoaderEvent.emit(true);\n this.commonService.GetData(\"EnquiryWorkflowTransitionRules\", \"GetTransitionRulesByStatus\", queryString).subscribe((data: any) => {\n this.workflowActionList = data;\n this.cd.detectChanges();\n this.updateLoaderEvent.emit(false);\n }, error => {\n this.updateLoaderEvent.emit(false);\n });\n }\n\n getEnquiryStatus() {\n this.updateLoaderEvent.emit(true);\n \n let tracker = this.commonService.GetData(\"Enquiry\", \"GetEnquiryStatus\", null);\n \n tracker.subscribe((data: any) => {\n this.enquiryStatusList = data;\n this.updateLoaderEvent.emit(false);\n }, error => {\n this.updateLoaderEvent.emit(false);\n });\n\n return tracker; \n }\n\n\n OnWorkflowAction(myform4: NgForm, workflowActionId: number) {\n var rule = this.workflowActionList.filter(x => x.workflowActionId == workflowActionId);\n myform4.control.markAllAsTouched();\n if (myform4.invalid) {\n this.toastr.error(\"Please fill required information\");\n return;\n }\n this.SetStatus(rule, myform4);\n\n }\n\n getUserRoles(){\n this.commonService.GetData(\"Account\", \"GetAll\", null).subscribe((data: any) => {\n this.UserRolesData = data;\n \n this.updateLoaderEvent.emit(false);\n }, error => {\n this.updateLoaderEvent.emit(false);\n });\n }\n\n getSendbackWorkfow()\n {\n this.updateLoaderEvent.emit(true);\n this.commonService.GetData(\"EnquiryWorkflowTransitionRules\",\"GetWorkflowSendbackRule\", null).subscribe((data: any) => {\n this.sendbackRules=data;\n this.updateLoaderEvent.emit(false);\n }, error => {\n this.updateLoaderEvent.emit(false);\n });\n }\n\n rule:EnquirySendBack;\n SendBack(myform4: NgForm)\n { \n var quotationRule= this.sendbackRules.filter(x=>x.WorkflowId==this.workflowId);\n\n if(quotationRule[0].NextStatus != null)\n {\n this.rule = quotationRule[0];\n }\n else\n {\n if(this.previousEnqStatus == this.enquiryStatusList.filter(x=>x.Status=='QuotationSentforMngtApproval_SalesDirector')[0].Pk_Id)\n {\n this.rule = quotationRule[0];\n this.rule.NextStatus = this.enquiryStatusList.filter(x=>x.Status=='QuotationGeneratedbyCustomerService')[0].Pk_Id\n }\n else if(this.previousEnqStatus == this.enquiryStatusList.filter(x=>x.Status=='OrdersentforMngmtApproval_SalesDirector')[0].Pk_Id)\n {\n this.rule = quotationRule[0];\n this.rule.NextStatus = this.enquiryStatusList.filter(x=>x.Status=='EnquiryOrderConfirmedbySalesEngg')[0].Pk_Id;\n }\n else if(this.previousEnqStatus == this.enquiryStatusList.filter(x=>x.Status=='QuotationSentForPriceDiscountApprovalToLevel1')[0].Pk_Id ||\n this.previousEnqStatus == this.enquiryStatusList.filter(x=>x.Status=='QuotationSentForPriceDiscountApprovalToLevel2')[0].Pk_Id ||\n this.previousEnqStatus == this.enquiryStatusList.filter(x=>x.Status=='QuotationSentForPriceDiscountApprovalToLevel3')[0].Pk_Id)\n {\n this.rule = quotationRule[0];\n this.rule.NextStatus = this.enquiryStatusList.filter(x=>x.Status=='QuotationSenttoCustomerService')[0].Pk_Id\n }\n \n }\n\n const modalRef = this.modalService.open(SendBackCommentComponent, {\n size: 'lg', backdrop: 'static', keyboard: false\n });\n\n var sendBackObj = {\n EnquiryId: this.EnquiryObj.EnquiryDetails.EnquiryId,\n workflowId: this.workflowId,\n finalrule: this.rule\n }\n modalRef.componentInstance.sendBackObj = sendBackObj;\n modalRef.result.then((result) => {\n this.closeResult = `Closed with:${result}`;\n if (this.closeResult !== 'Closed with:Close click') {\n this.ngOnInit();\n }\n });\n }\n \n OpenPreview()\n { \n const modalRef = this.modalService.open(QuotationPreviewComponent, {\n size: 'lg', backdrop: 'static', keyboard: false\n });\n \n var enquiryObj = {\n EnquiryId: this.EnquiryObj.EnquiryDetails.EnquiryId \n }\n \n modalRef.componentInstance.enquiryObj = enquiryObj;\n modalRef.result.then((result) => {\n this.closeResult = `Closed with:${result}`;\n \n });\n \n }\n\n\n getQuotationDetailsById() { \n\n this.updateLoaderEvent.emit(true);\n let queryString = \"\";\n queryString = \"id=\" + this.EnquiryObj.EnquiryDetails.EnquiryId;\n let tracker = this.commonService.GetData('Enquiry', 'GetQuotationByEnquiryId', queryString);\n \n tracker.subscribe((data: any) => {\n\n this.QuotationData.QuotationInfo = data.QuotationInfo;\n this.QuotationData.QuotationObj = data.QuotationObj;\n this.QuotationData.QuotationInfo.ReferenceDateISO = new NgbDate(new Date(this.QuotationData.QuotationInfo.ReferenceDate).getFullYear(), new Date(this.QuotationData.QuotationInfo.ReferenceDate).getMonth() + 1, new Date(this.QuotationData.QuotationInfo.ReferenceDate).getDate());\n //all series data\n this.dropdownData = data.allseriesmodel;\n //this.productDrpdnDetails.ProductSeries = this.dropdownData.ProductSeries;\n this.CustomerDetailsObj = data.allseriesmodel.CustomerDetails;\n this.QuotationData.QuotationInfo.KindAttention = this.CustomerDetailsObj.KindAttention;\n // this.QuotationData.QuotationInfo.QuotationComments=this.CustomerDetailsObj. \n\n this.QuotationData.QuotationObj?.forEach(element => {\n element.selectedOptions?.forEach(a => {\n\n if (element.productmodeldata.Options.length != 0) {\n element.productmodeldata.Options?.forEach(b => {\n if (a.Id == b.Id && b.IsPriceOnRequest == true) {\n a.IsPriceOnRequest = true;\n }\n });\n }\n element.Options?.forEach(ele => {\n element.Option_Discount = ele.Option_Discount;\n element.Option_FinalDiscount = ele.Option_FinalDiscount;\n\n if (element.Varient1_Discount != null || element.Varient2_Discount != null || element.Varient3_Discount != null || element.Varient4_Discount != null || element.Option_Discount != null) {\n // this.discountaddmanually = false;\n }\n });\n //this.specialPkgDiscount = element.Special_pkg_Discount === null ? 0 : element.Special_pkg_Discount;\n // this.showVarientandOptionPrice = element.showVariantOptionPrice === null ? false : element.showVariantOptionPrice;\n // //this.showVarientDiscount = element.showVariantOptionDiscount === null ? false : element.showVariantOptionDiscount;\n //this.showSpecialPrice = element.showSpecialPrice === null ? false : element.showSpecialPrice;\n });\n\n let data = element.Options.filter(x => x.IsPriceOnRequest == true);\n if (data.length > 0 && data.length != null && data.length != undefined) {\n element.IsPriceOnRequest_Option = true;\n }\n else {\n element.IsPriceOnRequest_Option = false;\n }\n });\n\n var inde = 0;\n this.QuotationData.QuotationObj?.forEach(element => {\n element.OptionSelected = [];\n\n \n element.Options?.forEach(ele => {\n element.OptionSelected.push(ele.OptionId.toString());\n });\n inde++;\n });\n \n }, error => {\n this.toastr.error(\"Failed to load data.\");\n this.updateLoaderEvent.emit(false);\n });\n\n return tracker;\n }\n\n ShowPreview()\n {\n \n var showPreviewConditions=this.enquiryStatusList.filter(x=>x.Status=='PriceDiscountApprovedByL1' \n ||x.Status=='PriceDiscountApprovedByL2' \n ||x.Status=='PriceDiscountApprovedByL3'\n || x.Status=='PriceDiscountRejectedByL1'\n || x.Status=='PriceDiscountRejectedByL2'\n || x.Status=='PriceDiscountRejectedByL3'\n || x.Status=='QuotationSentForPriceDiscountApprovalToLevel1' \n || x.Status=='QuotationSentForPriceDiscountApprovalToLevel2' \n || x.Status=='QuotationSentForPriceDiscountApprovalToLevel3');\n var isEnquiryinApprovalState=showPreviewConditions.filter(x=>x.Pk_Id==this.EnquiryObj.EnquiryDetails.Status);\n if(isEnquiryinApprovalState.length>0)\n {\n this.showPreviewLink=true;\n }\n else{\n this.showPreviewLink=false;\n }\n }\n}\n","\n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n

    \n Management Approval - Quotation\n

    \n
    \n \n

    \n Management Approval - Order\n

    \n
    \n\n
    \n

    \n Management Approval\n

    \n
    \n
    \n\n
    \n
    \n \n
    \n \n
    \n\n\n
    \n * Marked fields are\n mandatory\n
    \n
    \n
    \n \n
    \n {{EnquiryObj.EnqCustomerDetails.CustomerName}}\n
    \n
    \n \n
    \n {{EnquiryObj.EnqCustomerDetails.IndustrySegment}}\n
    \n
    \n
    \n \n
    \n {{EnquiryObj.EnqCustomerDetails.CustomerType}}\n
    \n
    \n \n
    \n {{EnquiryObj.EnqCustomerDetails.Region}}\n
    \n
    \n
    \n \n
    \n {{EnquiryObj.EnquiryDetails.RFQTermsAndCondition}}\n
    \n
    \n \n
    \n €\n {{EnquiryObj.EnquiryDetails.FinalAmount |\n indianCurrency}}/-\n
    \n
    \n
    \n \n
    \n {{EnquiryObj.EnquiryDetails.KindAttention}}\n
    \n
    \n \n \n
    \n
    \n
    \n \n
    \n € {{EnquiryObj.EnquiryDetails.POValue |\n indianCurrency}}/-\n
    \n
    \n \n \n\n
    \n
    \n\n \n \n \n
    \n \n
    \n
    \n Upload\n \n
    \n
    \n {{AppGlobals.supportedFileFormatsForOtherMultipleAttachments}}\n 0\">\n
      \n \n
    • \n {{item.name}}  
    • \n \n
    \n\n \n
    \n
    \n\n\n
    \n\n \n
    \n \n Limit {{maxLimit}} characters,\n {{remLimit}} characters\n remaining.\n
    \n
    \n Comment is\n required\n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n
    \n \n    \n \n \n \n
    \n
    \n\n
    \n
    \n\n \n \n\n\n\n","import { Component, OnInit, ViewChild, Input, ɵclearResolutionOfComponentResourcesQueue, ElementRef, EventEmitter, Output } from '@angular/core';\nimport { EmployeeGuestModel } from 'src/app/Model/EmployeeGuestModel';\nimport { ActivatedRoute, NavigationEnd, Router, RoutesRecognized } from '@angular/router';\nimport { ToastrService } from 'ngx-toastr';\nimport { CommonService } from 'src/app/Service/common.service';\nimport { MatDialog } from '@angular/material/dialog';\nimport * as FileSaver from 'file-saver';\nimport { BasicCustomerInformationModel } from 'src/app/Model/CustomerModel';\nimport { EnquiryModel, CustomerDrpdnDetails, CustomerDetails, ProductDrpdnDetails, EnquiryDetailsModel, ProductDetails, Comments, removefiles, TermsAndCondition, ActivityModel, ProductModelPOValues, CustomTermsAndCondition } from 'src/app/Model/EnquiryModel';\nimport { ConfirmDialogComponent } from 'src/app/confirm-dialog/confirm-dialog.component';\nimport { NgbDate, NgbModal, NgbActiveModal, NgbDatepickerConfig, NgbDateStruct } from '@ng-bootstrap/ng-bootstrap';\nimport { AppGlobals } from 'src/app/app.global';\n\nimport { UserRoles } from \"src/app/UserRoles\";\nimport { SingleFieldModel } from 'src/app/Model/SingleFieldModel';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { EnquiryModalComponent } from '../enquiry-modal/enquiry-modal.component';\nimport { MatStepper } from '@angular/material/stepper';\nimport { FormControl, NgForm, Validators } from '@angular/forms';\nimport { HttpHeaders, HttpClient, HttpErrorResponse } from '@angular/common/http';\nimport { QuotationDetailsModel, QuotationCustomerDetails } from 'src/app/Model/QuotationModel';\nimport { Title } from '@angular/platform-browser';\nimport { Location } from '@angular/common';\nimport {\n saveAs as importedSaveAs\n} from \"file-saver\";\nimport { ClassGetter } from '@angular/compiler/src/output/output_ast';\nimport { TechnicalDiscardComponent } from '../technical-discard/technical-discard.component';\nimport { CloseOppReasonComponent } from '../close-opp-reason/close-opp-reason.component';\nimport { EnquiryStatus, EnquiryStatusCode } from \"src/app/EnquiryStatus\";\nimport { EnquiryStatusList } from 'src/app/Model/EnquiryStatus';\nimport { EnquirySendBack } from 'src/app/Model/EnquirySendBack';\nimport { SendBackCommentComponent } from '../send-back-comment/send-back-comment.component';\nimport { AppConfigService } from 'src/app/Service/app-config.service';\ndeclare var require: any\n\n@Component({\n selector: 'app-oa-generation',\n templateUrl: './oa-generation.component.html',\n styleUrls: ['./oa-generation.component.scss']\n})\nexport class OaGenerationComponent implements OnInit {\n\n @ViewChild('myform3') myform3: NgForm;\n @ViewChild('myform5') myform5: NgForm;\n @ViewChild('myInput') myInputVariable: ElementRef;\n @ViewChild('editpovalue', { static: false }) editpovalue: ElementRef;\n standardTC:any[] = [];\n customTCValues:any[] =[];\n\n userInfo: EmployeeGuestModel = new EmployeeGuestModel();\n CustomerList: BasicCustomerInformationModel[] = [];\n EnquiryObj: EnquiryDetailsModel = new EnquiryDetailsModel();\n newRFQDetails: any = {};\n productListdropdownData = [];\n customerDrpdnDetails: CustomerDrpdnDetails = new CustomerDrpdnDetails();\n productDrpdnDetails: ProductDrpdnDetails = new ProductDrpdnDetails();\n customerData: CustomerDetails;\n activityDetails: ActivityModel[] = Array();\n CustomerDetailsObj: QuotationCustomerDetails = new QuotationCustomerDetails();\n QuotationData: QuotationDetailsModel = new QuotationDetailsModel();\n allowedFileType: string[] = [\n 'image/bmp',\n 'image/jpeg',\n 'image/png',\n 'application/pdf',\n 'text/plain',\n 'text/csv',\n 'application/xml',\n 'text/xml',\n 'application/vnd.ms-excel',\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\n 'application/msword',\n 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',\n 'application/zip',\n 'application/x-zip-compressed',\n ];\n\n showEditRFQForInitiator: boolean;\n UserRole: any;\n isTechnicalDiscardVisible: boolean =false;\n isEnquiryFormVisible: boolean = false;\n isRFQVisible: boolean = false;\n isQuoteGenerationVisible: boolean = false;\n isManagementApprovalVisible: boolean = false;\n isSOVisible: boolean = false;\n isOrderAcknowledgementVisible: boolean = false;\n EnquiryConfirmationVisible: boolean = false;\n isSupplychainVisible: boolean = false;\n isAccountsVisible: boolean = false;\n iseditable:boolean=false;\n isOAGenerationVisible: boolean = false;\n isBOMAttachment: boolean;\n isInvoiceAttachment: boolean;\n isPOAttachment: boolean;\n IsRFQDataValid: boolean = true;\n selectedIndexForStatus: any = 1;\n remLimit: any = 1500;\n maxLimit: any = 1500;\n varLongTermGoal: any;\n DiscountFromrange:any;\n Discounttorange:any;\n\n @Input()\n showLoader: boolean = false;\n charCode: number;\n enquiryStatus = EnquiryStatus;\n AppRoles = UserRoles;\n enquirySource: SingleFieldModel[] = [];\n TnCStandardFromDropDown: any[] = [];\n TnCCustomizedFromDropDown: any[] = [];\n TnCCustomizedDropDownForEditRfq1: any[] = [];\n TnCCustomizedDropDownForEditRfq2: any[] = [];\n newCustomTc: any;\n product: any = {};\n isEnquirySubmit: boolean = false;\n charCode1: any;\n pageNumber: number = 1;\n @Input() pageSize: number = 5;\n @Input() length: number;\n @Input() pageIndex: number = this.pageNumber - 1;\n dataSource: MatTableDataSource;\n enquiryStatusCode = EnquiryStatusCode;\n\n @ViewChild('stepper') stepper: MatStepper;\n AppGlobals = AppGlobals;\n fileDownloadPath = this.AppGlobals.baseFileDownloadUrl;\n QuotationDownloadPath = this.AppGlobals.QuotationFileDownloadUrl;\n isEnquiryLoaded: boolean;\n role: string;\n isStandardCondition: boolean;\n closeResult: string;\n isCEOApprovalVisible: boolean;\n demoObject: any;\n demoCTCObject: any;\n WinLossDropdownData: any[] = [];\n WinLossDropdownDataForStatus: any;\n isPoValueDisable: boolean;\n isCustomerCommentVisible: any;\n isOAGenerated: boolean;\n isAcceptClick: boolean;\n dataPassed: any;\n dropdownData: any;\n showQuotationLink: boolean;\n userid: string;\n isprocessing: boolean = true;\n rfqattpresent: boolean;\n QuotationDataForPO: any[] = [];\n chosenItem: string = \"1\";\n quoterevcomments: any;\n QGRFQEditable: boolean = false;\n IsActivityDataValid: boolean;\n today: Date;\n fc = new FormControl();\n minDate: NgbDate;\n showEditRFQ: boolean;\n isTantativeDateEditable: boolean;\n tempRFQ: ProductDetails[];\n IsPODataValid: boolean;\n isEditactivity: boolean = true;\n PreviousStatus: number = 0;\n tempfile: any;\n ngbDateParserFormatter: any;\n UpdatePO: boolean = false;\n isPOAttacmentDelete: boolean = false;\n RevisedQuotationFileNameList: string[] = [];\n emailPattern: string = \"^[a-zA-Z0-9_\\\\.-]+@([a-zA-Z0-9-]+\\\\.)+[a-zA-Z]{2,6}$\";\n StartDate: NgbDate;\n EndDate: NgbDate;\n RoleWiseScreenDisplay: any;\n previousUrl: string = null;\n IndustrySegment: any[] = [];\n SubSegment: any[] = [];\n Application: any[] = [];\n\n FinalIndustrySegment: any[] = [];\n FinalSubSegment: any[] = [];\n FinalApplication: any[] = [];\n OADownloadPath = this.AppGlobals.OADownloadPath;\n ShowOALink: boolean = false;\n workflowActionList:any[] = [];\n enquiryStatusList: EnquiryStatusList[]=[];\n workflowId:number;\n roleOfAdmin : any;\n @Output() updateLoaderEvent = new EventEmitter();\n UserRolesData:any[]=[];\n WinLossDataForStatus: any;\n\n constructor(private toastr: ToastrService, private commonService: CommonService, public dialog: MatDialog,\n private _location: Location,\n private config: NgbDatepickerConfig,\n private modalService: NgbModal, private activeModel: NgbActiveModal,\n private router: Router, private route: ActivatedRoute, private titleService: Title, private appConfigService: AppConfigService) {\n this.today = new Date();\n this.minDate = new NgbDate(this.today.getFullYear(), this.today.getMonth() + 1, this.today.getDate());\n this.StartDate = new NgbDate(2018, 1, 1);\n this.EndDate = new NgbDate(this.today.getFullYear() + 1, 12, 31);\n\n\n }\n ngAfterViewInit() {\n this.updateLoaderEvent.emit(true);\n setTimeout(() => {\n this.isprocessing = false;\n this.chosenItem = \"1\";\n this.updateLoaderEvent.emit(false);\n }, 2000);\n }\n ngOnInit() {\n this.commonService.previousUrl$.subscribe((previousUrl: string) => {\n this.previousUrl = previousUrl;\n });\n\n let tempRoleWiseScreenDisplay = localStorage.getItem(\"WorkFlowRoleWiseScreenAccess\");\n this.RoleWiseScreenDisplay = tempRoleWiseScreenDisplay.split(\",\");\n const appConfig = this.appConfigService.getConfig();\n const dynamicTitle = this.route.snapshot.data['title'];\n this.titleService.setTitle(`${dynamicTitle} - ${appConfig.titleName}`);\n //this.titleService.setTitle(this.route.snapshot.data['title'] + \" - ECOTECH\");\n this.commonService.RefreshHeaderFun();\n this.EnquiryObj.EnquiryDetails.EnquiryId = this.route.snapshot.params[\"id\"];\n this.EnquiryObj.EnquiryDetails.EstimatedProductValue = null;\n this.EnquiryObj.EnquiryDetails.InvoiceAttachment = undefined;\n this.getEnquirySourceDetails();\n this.getCustomerList();\n this.getEnquiryDetailsById();\n this.getEnquiryStatus();\n this.getAllWorkFlow();\n this.getUserRoles();\n this.isEnquiryLoaded = false;\n this.getSendbackWorkfow();\n this.UserRole = localStorage.getItem(\"UserRole\");\n this.isTechnicalDiscardVisible = AppGlobals.QuoteGenearation_Enquiry_TechnicalDiscardArray.filter(x => x.role\n == this.UserRole)[0]?.isEditable;\n this.roleOfAdmin = UserRoles.Admin;\n }\n limitTextOnKeyUpDown1(event: any) {\n let goalText = event.target.value;\n if (goalText.length > this.maxLimit) {\n this.varLongTermGoal = goalText.substring(0, this.maxLimit);\n } else {\n this.remLimit = this.maxLimit - goalText.length;\n }\n }\n \n\n\n getEnquiryDetailsById() {\n this.updateLoaderEvent.emit(true);\n let queryString = \"\";\n queryString = \"id=\" + this.EnquiryObj.EnquiryDetails.EnquiryId;\n this.commonService.GetData('Enquiry', 'GetById', queryString).subscribe((data: any) => {\n this.EnquiryObj.EnquiryDetails = data.EnquiryDetails;\n if (this.EnquiryObj.EnquiryDetails.QuotationRevisionNo != null && this.EnquiryObj.EnquiryDetails.QuotationRevisionNo > 0) {\n this.getRevisedQuotationFileNamelist(this.EnquiryObj.EnquiryDetails.QuotationNumber, this.EnquiryObj.EnquiryDetails.QuotationRevisionNo);\n }\n\n this.EnquiryObj.EnquiryDetails.EnquiryDate = new NgbDate(new Date(this.EnquiryObj.EnquiryDetails.EnquiryDate).getFullYear(), new Date(this.EnquiryObj.EnquiryDetails.EnquiryDate).getMonth() + 1, new Date(this.EnquiryObj.EnquiryDetails.EnquiryDate).getDate());\n if (this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate != null) {\n this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate = new NgbDate(new Date(this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate).getFullYear(), new Date(this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate).getMonth() + 1, new Date(this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate).getDate());\n }\n if (this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate != null) {\n this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate = new NgbDate(new Date(this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate).getFullYear(), new Date(this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate).getMonth() + 1, new Date(this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate).getDate());\n }\n this.EnquiryObj.EnqCustomerDetails = data.CustomerDetails;\n this.EnquiryObj.RFQObject = data.RFQObject;\n this.EnquiryObj.CustomerServiceComments_Quotation = data.CustomerServiceComments_Quotation;\n this.EnquiryObj.CustomerServiceComments_Order = data.CustomerServiceComments_Order;\n this.EnquiryObj.SalesDirectorComments_Quotation = data.SalesDirectorComments_Quotation;\n\n this.EnquiryObj.SalesDirectorComments_Order = data.SalesDirectorComments_Order;\n this.EnquiryObj.Comments = data.Comments == undefined ? [] : data.Comments;\n this.EnquiryObj.POValues = data.POValues;\n\n this.WinLossDropdownData = data.ReasonEnquiryWinLossObj;\n this.WinLossDropdownDataForStatus = this.WinLossDropdownData.filter(x => x.Value == this.EnquiryObj.EnquiryDetails.EnquiryConfirmStatus);\n \n if (data.EnquiryDetails.RFQTermsAndCondition == \"Standard\" || data.EnquiryDetails.RFQTermsAndCondition == \"\") {\n\n if (data.TermsAndConditions.length == 0) {\n this.EnquiryObj.EnquiryDetails.RFQTermsAndCondition = \"Standard\";\n this.EnquiryObj.TermsAndConditions = this.TnCStandardFromDropDown;\n } else {\n this.EnquiryObj.TermsAndConditions = data.TermsAndConditions;\n\n }\n this.isStandardCondition = true;\n } else if (data.EnquiryDetails.RFQTermsAndCondition == \"Customized\") {\n\n if (data.CustomTermsAndConditions.length == 0) {\n this.EnquiryObj.EnquiryDetails.RFQTermsAndCondition = \"Customized\";\n this.EnquiryObj.CustomTermsAndConditions = this.TnCCustomizedFromDropDown;\n this.TnCCustomizedDropDownForEditRfq1 = this.TnCCustomizedFromDropDown;\n } else {\n this.EnquiryObj.CustomTermsAndConditions = data.CustomTermsAndConditions;\n this.TnCCustomizedDropDownForEditRfq2 = data.CustomTermsAndConditions;\n }\n\n this.isStandardCondition = false;\n }\n\n this.activityDetails = data.ActivityDetails;\n this.activityDetails.forEach(element => {\n element.ActivityDate = new NgbDate(new Date(element.ActivityDate).getFullYear(), new Date(element.ActivityDate).getMonth() + 1, new Date(element.ActivityDate).getDate());\n\n //element.ActivityDateISO = new NgbDate(new Date(element.ActivityDate).getFullYear(), new Date(element.ActivityDate).getMonth() + 1, new Date(element.ActivityDate).getDate());\n });\n\n //TO POPULATE A SINGLE ROW ON PAGE INIT\n if (this.EnquiryObj.RFQObject.length == 0) {\n var obj = new ProductDetails();\n this.EnquiryObj.RFQObject.push(obj);\n }\n\n //TO POPULATE A SINGLE ROW ON PAGE INIT\n if (this.activityDetails.length == 0) {\n var obj1 = new ActivityModel();\n obj1.ActivityDate = new NgbDate(new Date().getFullYear(), new Date().getMonth() + 1, new Date().getDate());\n obj1.uniqueid = this.makeRandom();\n this.activityDetails.push(obj1);\n }\n\n this.role = localStorage.getItem('UserRole');\n // this.ScreenAccessSpecifier(localStorage.getItem('UserRole'), this.EnquiryObj.EnquiryDetails.Status);\n if(this.EnquiryObj.EnquiryDetails.segment!=undefined)\n {\n this.SubSegment = this.FinalSubSegment.filter(x=>x.SegmentId==this.EnquiryObj.EnquiryDetails.segment);\n this.Application= this.FinalApplication.filter(x=>x.SubSegmentId==this.EnquiryObj.EnquiryDetails.subSegment);\n }\n if(this.EnquiryObj.EnquiryDetails.segment==null|| this.EnquiryObj.EnquiryDetails.subSegment==null || this.EnquiryObj.EnquiryDetails.application==null)\n {\n this.EnquiryObj.EnquiryDetails.segment=undefined;\n this.EnquiryObj.EnquiryDetails.subSegment=undefined;\n this.EnquiryObj.EnquiryDetails.application=undefined;\n }\n\n // if (this.EnquiryObj.EnquiryDetails.OA_filename != \"\") {\n // this.ShowOALink = true;\n // }\n\n // if (!(this.EnquiryObj.EnquiryDetails.OA_filename == null ||\n // this.EnquiryObj.EnquiryDetails.OA_filename == undefined ||\n // this.EnquiryObj.EnquiryDetails.OA_filename == \"\")) {\n // this.ShowOALink = true;\n // } else {\n // this.ShowOALink = false;\n // }\n\n //this.EnquiryObj.EnquiryDetails.IsFetchFromKYC=data.EnquiryDetails.IsFetchFromKYC;\n \n }, error => {\n this.updateLoaderEvent.emit(false);\n });\n\n }\n\n getRevisedQuotationFileNamelist(QuotationNumber: string, QuotationRevision: number) {\n let QTNNumber = QuotationNumber.replace(\"QTN/\", \"\");\n QTNNumber = QTNNumber.split(\"/\").join(\"_\");\n let filename = \"Quotation_\" + QTNNumber;\n let pdffilename = filename.split('_R')[0];\n for (let i = 0; i < QuotationRevision; i++) {\n if (i == 0) {\n this.RevisedQuotationFileNameList.push(pdffilename + \".pdf\")\n }\n else {\n this.RevisedQuotationFileNameList.push(pdffilename + \"_R\" + i + \".pdf\")\n }\n }\n\n }\n // replaceAll(str, term, replacement) {\n // return str.replace(new RegExp(escapeRegExp(term), 'g'), replacement);\n // }\n makeRandom() {\n let text = \"\";\n var possible: string = \"ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890,./;'[]\\=-)(*&^%$#@!~\";\n const lengthOfCode = 40;\n for (let i = 0; i < lengthOfCode; i++) {\n text += possible.charAt(Math.floor(Math.random() * possible.length));\n }\n return text;\n }\n\n\n custtermscond: any = [];\n \n \n\n deleteAttachDocument(index, attachemntType) {\n switch (attachemntType) {\n case \"MDS\":\n this.EnquiryObj.RFQObject[index].MDSAttachment = [];\n this.EnquiryObj.RFQObject[index].isMDSAttachment = false;\n break;\n case \"ITC\":\n this.EnquiryObj.RFQObject[index].ITCAttachment = [];\n this.EnquiryObj.RFQObject[index].isITCAttachment = false;\n break;\n case \"Customer\":\n this.EnquiryObj.RFQObject[index].CustomerAttachment = [];\n this.EnquiryObj.RFQObject[index].isCustomerAttachment = false;\n break;\n case \"Weiss\":\n this.EnquiryObj.RFQObject[index].WeissAttachment = [];\n this.EnquiryObj.RFQObject[index].isWeissAttachment = false;\n break;\n }\n\n }\n\n\n getCustomerList() {\n this.updateLoaderEvent.emit(true);\n this.commonService.GetData(\"Customer\", \"GetAll\", null).subscribe((data: any) => {\n this.CustomerList = data;\n\n this.updateLoaderEvent.emit(false);\n });\n }\n\n getEnquirySourceDetails() {\n this.updateLoaderEvent.emit(true);\n this.commonService.GetData(\"Enquiry\", \"GetEnquiryDropdownData\", null).subscribe((data: any) => {\n this.enquirySource = data.EnquirySource;\n this.updateLoaderEvent.emit(false);\n });\n }\n\n getProductDetails() {\n this.updateLoaderEvent.emit(true);\n this.commonService.GetData(\"Product\", \"GetRFQProductDetails\", null).subscribe((data: any) => {\n this.CustomerList = data;\n //this.updateLoaderEvent.emit(false);\n });\n }\n\n\n AvoidSpace(event: any) {\n if ((event.which === 46 || event.which === 32) && !event.target.value.length) {\n event.preventDefault();\n }\n }\n\n isNumberKey(evt: any) {\n this.charCode = (evt.which) ? evt.which : evt.keyCode;\n if ((this.charCode == 45 || this.charCode == 43) && this.charCode > 31\n && (this.charCode < 48 || this.charCode > 57)) {\n return false;\n }\n else {\n return true;\n }\n }\n\n isintNumberKey(evt: any) {\n this.charCode = (evt.which) ? evt.which : evt.keyCode;\n if ((this.charCode == 46 || this.charCode == 45 || this.charCode == 43) && this.charCode > 31\n && (this.charCode < 48 || this.charCode > 57)) {\n return false;\n }\n else {\n return true;\n }\n }\n \n\n backtoList() {\n // this._location.back();\n if (this.previousUrl == null || this.previousUrl == \"\" || this.previousUrl == undefined) {\n this.router.navigate(['/Enquiry']);\n }\n else if (this.previousUrl.includes(\"PendingEnquiry\")) {\n this.router.navigate(['/PendingEnquiry']);\n }\n else {\n this.router.navigate(['/Enquiry']);\n }\n\n }\n\n\n getMultipleFileDetails(event) {\n for (let i = 0; i < event.target.files.length; i++) {\n let file = event.target.files[i];\n let isValidFile = true;\n if (((file.size) / 1000000) <= 5) {\n\n isValidFile = this.allowedFileType.includes(file.type);\n if (!isValidFile) {\n this.toastr.warning(\"Invalid file attached!\");\n //event.target.value = null;\n isValidFile = false;\n } else if (file.name.length > 50) {\n this.toastr.warning(\"The file name with more than 50 characters are not allowed.\");\n isValidFile = false;\n }\n }\n else {\n this.toastr.warning(\"File size must be less than or equal to 5MB!\");\n //event.target.value = null;\n isValidFile = false;\n }\n if (isValidFile) {\n switch (event.target.name) {\n case \"quotefiles\":\n if (this.EnquiryObj.EnquiryDetails.QuoteGenAttachments == undefined || this.EnquiryObj.EnquiryDetails.QuoteGenAttachments.length == 0) {\n this.EnquiryObj.EnquiryDetails.QuoteGenAttachments = [];\n }\n this.EnquiryObj.EnquiryDetails.QuoteGenAttachments.push(file);\n break;\n case \"mafile\":\n if (this.EnquiryObj.EnquiryDetails.QuoteGenAttachments == undefined || this.EnquiryObj.EnquiryDetails.QuoteGenAttachments.length == 0) {\n this.EnquiryObj.EnquiryDetails.QuoteGenAttachments = [];\n }\n this.EnquiryObj.EnquiryDetails.QuoteGenAttachments.push(file);\n break;\n case \"ceofile\":\n if (this.EnquiryObj.EnquiryDetails.QuoteGenAttachments == undefined || this.EnquiryObj.EnquiryDetails.QuoteGenAttachments.length == 0) {\n this.EnquiryObj.EnquiryDetails.QuoteGenAttachments = [];\n }\n this.EnquiryObj.EnquiryDetails.QuoteGenAttachments.push(file);\n break;\n case \"maofile\":\n if (this.EnquiryObj.EnquiryDetails.QuoteGenAttachments == undefined || this.EnquiryObj.EnquiryDetails.QuoteGenAttachments.length == 0) {\n this.EnquiryObj.EnquiryDetails.QuoteGenAttachments = [];\n }\n this.EnquiryObj.EnquiryDetails.QuoteGenAttachments.push(file);\n break;\n }\n }\n }\n }\n\n removeQuoteGenAttachments(index) {\n this.EnquiryObj.EnquiryDetails.QuoteGenAttachments.splice(index, 1);\n this.myInputVariable.nativeElement.value = \"\";\n\n }\n removeQuoteGenAttachmentsDB(index) {\n this.EnquiryObj.RemoveFiles.push(this.EnquiryObj.EnquiryDetails.QuoteAttachmentsArray[index].FilePath);\n this.EnquiryObj.EnquiryDetails.QuoteAttachmentsArray[index].FileName = null;\n this.EnquiryObj.EnquiryDetails.QuoteAttachmentsArray[index].FilePath = null;\n this.EnquiryObj.EnquiryDetails.QuoteAttachmentsArray.splice(index, 1);\n }\n removeBOMAttachments(flag) {\n if (flag == 1) {\n this.EnquiryObj.RemoveFiles.push(this.EnquiryObj.EnquiryDetails.BOM_filepath);\n }\n this.isBOMAttachment = false;\n this.EnquiryObj.EnquiryDetails.BOMAttachment = [];\n this.EnquiryObj.EnquiryDetails.BOM_filename = null;\n this.EnquiryObj.EnquiryDetails.BOM_filepath = null;\n }\n\n removeInvoiceAttachments() {\n this.isInvoiceAttachment = false;\n this.myInputVariable.nativeElement.value = \"\";\n this.EnquiryObj.EnquiryDetails.InvoiceAttachment = undefined;\n }\n\n\n\n GenerateOANumber() {\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Once OA Number Generated, can't be altered. Do you want to continue?\"\n }\n });\n dialogRef.afterClosed().subscribe(dialogResult => {\n if (dialogResult) {\n this.updateLoaderEvent.emit(true);\n let queryString = \"\";\n queryString = \"id=\" + this.EnquiryObj.EnquiryDetails.EnquiryId;\n this.commonService.GetData('Enquiry', 'GenerateOANo', queryString).subscribe((data: any) => {\n\n this.EnquiryObj.EnquiryDetails.OrdAcknowledgeNumber = data;\n this.isOAGenerated = true;\n this.updateLoaderEvent.emit(false);\n this.toastr.success('Order Acknowledgement Number generated successfully!');\n\n }, error => {\n this.EnquiryObj.EnquiryDetails.OrdAcknowledgeNumber = undefined;\n this.toastr.error('Failed to Order Acknowledgement Number!');\n this.isOAGenerated = false;\n this.updateLoaderEvent.emit(false);\n });\n }\n });\n }\n\n onStepChange(data) {\n\n if (this.userid == this.EnquiryObj.EnquiryDetails.Initiator_Id && data.previouslySelectedIndex == 0 && this.activityDetails[0].Activity != \"\") {\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Please make sure that you have saved the activity details. Do you want to continue?\"\n }\n });\n dialogRef.afterClosed().subscribe(dialogResult => {\n if (dialogResult) {\n } else {\n this.stepper.selectedIndex = data.previouslySelectedIndex;\n }\n });\n }\n }\n\n radioChange(event) {\n\n }\n\n SetStatus(rule, myform: any) {\n this.PreviousStatus = this.EnquiryObj.EnquiryDetails.Status;\n this.EnquiryObj.EnquiryDetails.Status = rule[0].workflowNextStatusId;\n this.AddEnquiry();\n\n }\n\n AddEnquiry() {\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='EnquiryAdded')[0]?.Pk_Id\n || this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='RFQSaveAsDraft')[0]?.Pk_Id\n || this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='RFQSubmittedbySalesEngg')[0]?.Pk_Id) {\n \n this.checkRFQGridValidation();\n if (!this.IsRFQDataValid) {\n return;\n }\n if (this.EnquiryObj.EnquiryDetails.RFQTermsAndCondition == 'Standard')\n {\n let tnc = this.EnquiryObj.TermsAndConditions.filter(x => (x.TnCValue == undefined || x.TnCValue == null || x.TnCValue == ''));\n if (tnc.length > 0) {\n return;\n }\n this.EnquiryObj.CustomTermsAndConditions=null;\n }\n \n if (this.EnquiryObj.EnquiryDetails.RFQTermsAndCondition == 'Customized')\n {\n let ctnc = this.EnquiryObj.CustomTermsAndConditions.filter(x => (x.CustomValues == undefined || x.CustomValues == null))\n if (ctnc.length > 0) {\n return;\n } \n this.EnquiryObj.TermsAndConditions=null;\n } \n \n \n }\n //Dont proceed if the BOM attachment is not present\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='SendBOMandProposal')[0]?.Pk_Id || this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='QuotationSenttoCustomerService')[0]?.Pk_Id ||\n this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='RFQsentbyL1toL2')[0]?.Pk_Id) {\n if ((this.EnquiryObj.EnquiryDetails.BOMAttachment == null || this.EnquiryObj.EnquiryDetails.BOMAttachment == undefined || this.EnquiryObj.EnquiryDetails.BOMAttachment.length == 0) &&\n (this.EnquiryObj.EnquiryDetails.BOM_filename == null || this.EnquiryObj.EnquiryDetails.BOM_filename == undefined || this.EnquiryObj.EnquiryDetails.BOM_filename == \"\")) {\n this.toastr.info('BOM attachment is required.');\n return;\n }\n }\n\n // //Dont proceed if the Po attachment is not present\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='EnquiryOrderConfirmedbySalesEngg')[0]?.Pk_Id) {\n if ((this.EnquiryObj.EnquiryDetails.POAttchments == null || this.EnquiryObj.EnquiryDetails.POAttchments == undefined || this.EnquiryObj.EnquiryDetails.POAttchments.length == 0) &&\n (this.EnquiryObj.EnquiryDetails.PO_filename == null || this.EnquiryObj.EnquiryDetails.PO_filename == undefined || this.EnquiryObj.EnquiryDetails.PO_filename == \"\")) {\n this.toastr.info('PO attachment is required.');\n return;\n }\n }\n\n // //Dont proceed if the Invoice attachment is not present\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='AccountsConfirmInvoiceNo')[0]?.Pk_Id) {\n if ((this.EnquiryObj.EnquiryDetails.InvoiceAttachment == null || this.EnquiryObj.EnquiryDetails.InvoiceAttachment == undefined || this.EnquiryObj.EnquiryDetails.InvoiceAttachment.length == 0) &&\n (this.EnquiryObj.EnquiryDetails.Invoice_filename == null || this.EnquiryObj.EnquiryDetails.Invoice_filename == undefined || this.EnquiryObj.EnquiryDetails.Invoice_filename == \"\")) {\n this.EnquiryObj.EnquiryDetails.Status = this.enquiryStatusList.filter(x=>x.Status=='MaterialReadyForDispatch')[0]?.Pk_Id;\n this.toastr.info('Invoice attachment is required.');\n return;\n }\n }\n\n\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='EnquiryOrderConfirmedbySalesEngg')[0]?.Pk_Id) {\n if ((this.EnquiryObj.EnquiryDetails.POAttchments == undefined || this.EnquiryObj.EnquiryDetails.POAttchments == null || this.EnquiryObj.EnquiryDetails.POAttchments.length==0)) {\n return;\n }\n }\n\n\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='OrdersentforMngmtApproval_SalesDirector')[0]?.Pk_Id) {\n if (this.isPOAttacmentDelete) {\n if ((this.EnquiryObj.EnquiryDetails.POAttchments == undefined || this.EnquiryObj.EnquiryDetails.POAttchments == null || this.EnquiryObj.EnquiryDetails.POAttchments.length == 0)) {\n return;\n }\n }\n\n }\n\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='OrderConfirmedbyCustomerServiceSendSO')[0]?.Pk_Id) {\n if (this.isPOAttacmentDelete) {\n if ((this.EnquiryObj.EnquiryDetails.POAttchments == undefined || this.EnquiryObj.EnquiryDetails.POAttchments == null || this.EnquiryObj.EnquiryDetails.POAttchments.length == 0)) {\n return;\n }\n }\n }\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='AccountsConfirmInvoiceNo')[0]?.Pk_Id) {\n if (this.EnquiryObj.EnquiryDetails.InvoiceAttachment == undefined) {\n this.EnquiryObj.EnquiryDetails.Status = this.enquiryStatusList.filter(x=>x.Status=='MaterialReadyForDispatch')[0]?.Pk_Id\n return;\n }\n }\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='OrdersentforMngmtApproval_SalesDirector')[0]?.Pk_Id ||\n this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='OrderConfirmedbyCustomerServiceSendSO')[0]?.Pk_Id) {\n let sum: number = 0;\n this.EnquiryObj.POValues.forEach(element => {\n element.ProductModelPOValue = (element.ProductModelPOValue == null || element.ProductModelPOValue == '' || element.ProductModelPOValue == undefined)\n ? '0' : element.ProductModelPOValue;\n sum = sum + parseInt(element.ProductModelPOValue);\n element.QUotationValueValidation = false;\n });\n if (sum.toString() != this.EnquiryObj.EnquiryDetails.POValue) {\n document.getElementById(\"povalue0\").focus();\n this.toastr.info('Total PO value and product wise PO values are not matching.');\n this.EnquiryObj.EnquiryDetails.Status = this.PreviousStatus;\n this.UpdatePO = false;\n return;\n }\n }\n\n setTimeout(() => this.openPopup());\n }\n openPopup() {\n var confimrmsg = this.AppGlobals.successMessages.filter(x => x.id == this.EnquiryObj.EnquiryDetails.Status)[0];\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: confimrmsg.confirmmsg\n }\n });\n dialogRef.afterClosed().subscribe(dialogResult => {\n if (dialogResult) {\n this.updateLoaderEvent.emit(true);\n const frmData = new FormData();\n this.EnquiryObj.RFQObject.forEach(item => {\n item.IsRowDeleted = false;\n });\n if (this.EnquiryObj.EnquiryDetails.EnquiryDate != undefined) {\n this.EnquiryObj.EnquiryDetails.EnquiryDateISO = new Date(this.convertDate(new NgbDate(this.EnquiryObj.EnquiryDetails.EnquiryDate.year, this.EnquiryObj.EnquiryDetails.EnquiryDate.month, this.EnquiryObj.EnquiryDetails.EnquiryDate.day))).toDateString();\n }\n if (this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate != undefined) {\n this.EnquiryObj.EnquiryDetails.TentativeDeliveryDateISO = new Date(this.convertDate(new NgbDate(this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate.year, this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate.month, this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate.day))).toDateString();\n }\n if (this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate != undefined) {\n this.EnquiryObj.EnquiryDetails.RequestedDeliveryDateISO = new Date(this.convertDate(new NgbDate(this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate.year, this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate.month, this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate.day))).toDateString();\n }\n if (this.EnquiryObj.EnquiryDetails.EnquiryDate != undefined) {\n this.EnquiryObj.EnquiryDetails.EnquiryDate = new Date(this.convertDate(new NgbDate(this.EnquiryObj.EnquiryDetails.EnquiryDate.year, this.EnquiryObj.EnquiryDetails.EnquiryDate.month, this.EnquiryObj.EnquiryDetails.EnquiryDate.day)));\n }\n if (this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate != undefined) {\n this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate = new Date(this.convertDate(new NgbDate(this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate.year, this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate.month, this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate.day)));\n }\n if (this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate != undefined) {\n this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate = new Date(this.convertDate(new NgbDate(this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate.year, this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate.month, this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate.day)));\n }\n\n if (this.EnquiryObj.EnquiryDetails.RFQTermsAndCondition == \"Customized\") {\n this.EnquiryObj.TermsAndConditions = null;\n \n if(this.QGRFQEditable == true)\n {\n this.EnquiryObj.CustomTermsAndConditions;\n \n }else{\n this.EnquiryObj.CustomTermsAndConditions = this.custtermscond;\n }\n }\n\n let EnquiryObj = JSON.stringify(this.EnquiryObj);\n frmData.append(\"EnquiryModel\", EnquiryObj);\n\n\n if (this.EnquiryObj.EnquiryDetails.QuoteGenAttachments != null) {\n for (let i = 0; i < this.EnquiryObj.EnquiryDetails.QuoteGenAttachments.length; i++) {\n frmData.append(\"QuoteGenAttachments[\" + i + \"]\", this.EnquiryObj.EnquiryDetails.QuoteGenAttachments[i]);\n }\n }\n for (let i = 0; i < this.EnquiryObj.RFQObject.length; i++) {\n if (this.EnquiryObj.RFQObject[i].MDSAttachment != undefined) {\n frmData.append(\"MDSAttachment[\" + i + \"]\", this.EnquiryObj.RFQObject[i].MDSAttachment[0]);\n }\n if (this.EnquiryObj.RFQObject[i].ITCAttachment != undefined) {\n frmData.append(\"ITCAttachment[\" + i + \"]\", this.EnquiryObj.RFQObject[i].ITCAttachment[0]);\n }\n if (this.EnquiryObj.RFQObject[i].CustomerAttachment != undefined) {\n frmData.append(\"CustomerAttachment[\" + i + \"]\", this.EnquiryObj.RFQObject[i].CustomerAttachment[0]);\n }\n if (this.EnquiryObj.RFQObject[i].WeissAttachment != undefined) {\n frmData.append(\"WeissAttachment[\" + i + \"]\", this.EnquiryObj.RFQObject[i].WeissAttachment[0]);\n }\n }\n if (this.EnquiryObj.EnquiryDetails.BOMAttachment) {\n frmData.append(\"BOMAttachment\", this.EnquiryObj.EnquiryDetails.BOMAttachment[0]);\n }\n if (this.EnquiryObj.EnquiryDetails.InvoiceAttachment) {\n frmData.append(\"InvoiceAttachment\", this.EnquiryObj.EnquiryDetails.InvoiceAttachment[0]);\n }\n if (this.EnquiryObj.EnquiryDetails.POAttchments) {\n frmData.append(\"POAttchments\", this.EnquiryObj.EnquiryDetails.POAttchments[0]);\n }\n \n this.commonService.PostData(\"Enquiry\", \"Add\", frmData, null).subscribe((data: any) => {\n this.customerDrpdnDetails = data;\n //this.EnquiryObj.EnquiryDetails.EnquiryId = data;\n\t \n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='OANoGenerated')[0]?.Pk_Id) {\n this.toastr.success(\"OA Number generated successfully\");\n }\n else {\n this.toastr.success(confimrmsg.successmsg);\n }\n\n this.updateLoaderEvent.emit(false);\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='RFQAcceptedbyL1')[0]?.Pk_Id ||\n this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='QuotationRevision')[0]?.Pk_Id ||\n this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='RFQSubmittedbyL1')[0]?.Pk_Id ||\n this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='RFQSubmittedbyL2')[0]?.Pk_Id ||\n this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='RFQSubmittedbyL3')[0]?.Pk_Id ||\n this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='RFQSubmittedbyCustomerService')[0]?.Pk_Id ||\n this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='OANoGenerated')[0]?.Pk_Id) {\n // this.router.navigate(['/EditViewEnquiry/' + this.EnquiryObj.EnquiryDetails.EnquiryId]);\n window.location.reload();\n } else {\n this.router.navigate(['/Enquiry']);\n //this.backtoList();\n\t }\n \n }, error => {\n this.toastr.error(confimrmsg.errormsg);\n this.updateLoaderEvent.emit(false);\n });\n } else {\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='QuotationRevision')[0]?.Pk_Id) {\n this.chosenItem = \"2\";\n this.quoterevcomments = this.EnquiryObj.EnquiryDetails.Comments;\n this.EnquiryObj.EnquiryDetails.Comments = \"\";\n }\n else {\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='OrdersentforMngmtApproval_SalesDirector')[0]?.Pk_Id ||\n this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='OrderConfirmedbyCustomerServiceSendSO')[0]?.Pk_Id) {\n this.UpdatePO = false;\n }\n if (this.PreviousStatus > 0) {\n this.EnquiryObj.EnquiryDetails.Status = this.PreviousStatus;\n }\n }\n }\n });\n\n }\n\n checkRFQGridValidation() {\n var inde = 0;\n this.IsRFQDataValid = true;\n this.EnquiryObj.RFQObject.forEach((element, index) => {\n if (element.ProductLine == undefined || element.ProductLine == null || element.ProductLine == 0) {\n document.getElementById(\"productline\" + index).focus();\n element.ProductLineValidation = true;\n this.IsRFQDataValid = false;\n }\n if (element.ProductModel == undefined || element.ProductModel == null || element.ProductModel == 0) {\n document.getElementById(\"productmodel\" + index).focus();\n element.ProductModelValidation = true;\n this.IsRFQDataValid = false;\n }\n if (element.Quantity == undefined || element.Quantity == null || element.Quantity == 0) {\n document.getElementById(\"quantity\" + index).focus();\n element.QuantityValidation = true;\n this.IsRFQDataValid = false;\n }\n if (element.MDSOption == undefined || element.MDSOption == null || element.MDSOption == 0) {\n document.getElementById(\"mdsoption\" + index).focus();\n element.MDSOptionValidation = true;\n this.IsRFQDataValid = false;\n }\n if (element.SalesPrice == undefined || element.SalesPrice == null || element.SalesPrice == 0) {\n document.getElementById(\"salesprice\" + index).focus();\n element.SalesPriceValidation = true;\n this.IsRFQDataValid = false;\n }\n if (element.SalesDiscount == undefined || element.SalesDiscount == null) {\n document.getElementById(\"salesdiscount\" + index).focus();\n element.SalesDiscountValidation = true;\n this.IsRFQDataValid = false;\n }\n\n });\n\n }\n\n convertDate(date: any) {\n let year = date.year;\n let month = date.month;\n let day = date.day;\n return year + \"-\" + month + \"-\" + day;\n }\n\n\n\n\n downloadPDF() {\n const url = AppGlobals.baseAppUrl + 'uploads/pdf/' + this.EnquiryObj.EnquiryDetails.QuotationPdf_filename;\n window.open(url, \"download\");\n }\n\n DownloadPDFfromServer(Filename: any) {\n this.commonService.gereatePDF('Enquiry', 'DownloadOAPDF', Filename).subscribe((data: any) => {\n\n importedSaveAs(data, Filename);\n });\n }\n checkattachment() {\n this.rfqattpresent = false;\n this.EnquiryObj.RFQObject.forEach(element => {\n if (!(element.MDS_filename == null || element.MDS_filename == undefined || element.MDS_filename == '')) {\n this.rfqattpresent = true;\n }\n if (!(element.ITC_filename == null || element.ITC_filename == undefined || element.ITC_filename == '')) {\n this.rfqattpresent = true;\n }\n if (!(element.Weiss_filename == null || element.Weiss_filename == undefined || element.Weiss_filename == '')) {\n this.rfqattpresent = true;\n }\n if (!(element.Customer_filename == null || element.Customer_filename == undefined || element.Customer_filename == '')) {\n this.rfqattpresent = true;\n }\n });\n }\n DownloadAllAttachments() {\n this.checkattachment();\n if (!this.rfqattpresent) {\n this.toastr.info('No attachment present.');\n return;\n }\n this.updateLoaderEvent.emit(true);\n let queryString = \"\";\n queryString = \"id=\" + this.EnquiryObj.EnquiryDetails.EnquiryId;\n this.commonService.GetData('Enquiry', 'Download', queryString).subscribe((data: any) => {\n var url = AppGlobals.ZipDownloadUrl + data + '.zip';\n window.open(url, \"_blank\");\n this.updateLoaderEvent.emit(false);\n }, error => {\n this.updateLoaderEvent.emit(false);\n });\n }\n\n\n\n public saveAsFile(pdfurl: any, fileName: string): void {\n //const data: Blob = new Blob([buffer], { type: EXCEL_TYPE });\n FileSaver.saveAs(this.fileDownloadPath + pdfurl, fileName);\n }\n\n \n getAllWorkFlow() {\n this.commonService.GetData(\"Workflow\", \"GetAll\", null).subscribe((data: any) => {\n \n if(data!=null){\n var workflowData = data;\n this.workflowId=workflowData.filter(x=>x.document_type_code == \"ORDER_ACK\")[0].workflow_id;\n this.getWorkflowActions(this.workflowId);\n }\n this.updateLoaderEvent.emit(false);\n }, error => {\n this.updateLoaderEvent.emit(false);\n });\n }\n\n getWorkflowActions(workflowId:any)\n { \n let queryString = \"\";\n queryString = \"enquiryId=\" + this.EnquiryObj.EnquiryDetails.EnquiryId +\"&workflowId=\" + workflowId ;\n\n this.updateLoaderEvent.emit(true);\n this.commonService.GetData(\"EnquiryWorkflowTransitionRules\",\"GetTransitionRulesByStatus\",queryString).subscribe((data: any) => {\n this.workflowActionList=data;\n this.updateLoaderEvent.emit(false);\n }, error => {\n this.updateLoaderEvent.emit(false);\n });\n }\n\n getEnquiryStatus()\n {\n this.commonService.GetData(\"Enquiry\",\"GetEnquiryStatus\", null).subscribe((data: any) => {\n this.enquiryStatusList=data;\n this.updateLoaderEvent.emit(false);\n }, error => {\n this.updateLoaderEvent.emit(false);\n });\n }\n\n OnWorkflowAction(myform9:NgForm,workflowActionId:number)\n { \n var rule= this.workflowActionList.filter(x=>x.workflowActionId==workflowActionId);\n \n myform9.control.markAllAsTouched();\n if(myform9.invalid)\n {\n this.toastr.error(\"Please fill required information\");\n return;\n } \n this.SetStatus(rule,myform9); \n }\n\n getUserRoles(){\n this.commonService.GetData(\"Account\", \"GetAll\", null).subscribe((data: any) => {\n this.UserRolesData = data;\n \n this.updateLoaderEvent.emit(false);\n }, error => {\n this.updateLoaderEvent.emit(false);\n });\n }\n\n \n sendbackRules:EnquirySendBack[]=[];\n getSendbackWorkfow()\n {\n this.updateLoaderEvent.emit(true);\n this.commonService.GetData(\"EnquiryWorkflowTransitionRules\",\"GetWorkflowSendbackRule\", null).subscribe((data: any) => {\n this.sendbackRules=data;\n this.updateLoaderEvent.emit(false);\n }, error => {\n this.updateLoaderEvent.emit(false);\n });\n }\n\n rule:EnquirySendBack;\n SendBack()\n { \n var quotationRule= this.sendbackRules.filter(x=>x.WorkflowId==this.workflowId);\n this.rule=quotationRule[0];\n\n const modalRef = this.modalService.open(SendBackCommentComponent, {\n size: 'lg', backdrop: 'static', keyboard: false\n });\n\n var sendBackObj = {\n EnquiryId: this.EnquiryObj.EnquiryDetails.EnquiryId,\n workflowId: this.workflowId,\n finalrule: this.rule\n }\n modalRef.componentInstance.sendBackObj = sendBackObj;\n modalRef.result.then((result) => {\n this.closeResult = `Closed with:${result}`;\n if (this.closeResult !== 'Closed with:Close click') {\n this.ngOnInit();\n }\n }); \n }\n\n}\n","
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n Order Acknowledgement\n

    \n\n
    \n
    \n
    \n \n
    \n
    \n
    \n * Marked fields are\n mandatory\n
    \n
    \n\n
    \n \n
    \n {{EnquiryObj.EnqCustomerDetails.CustomerName}}\n
    \n
    \n \n
    \n {{EnquiryObj.EnqCustomerDetails.IndustrySegment}}\n
    \n
    \n
    \n \n
    \n {{EnquiryObj.EnqCustomerDetails.CustomerType}}\n
    \n
    \n \n
    \n {{EnquiryObj.EnqCustomerDetails.Region}}\n
    \n
    \n
    \n \n
    \n {{EnquiryObj.EnquiryDetails.RFQTermsAndCondition}}\n
    \n
    \n \n
    \n €\n {{EnquiryObj.EnquiryDetails.FinalAmount |\n indianCurrency}}/-\n
    \n
    \n
    \n \n
    \n {{EnquiryObj.EnquiryDetails.KindAttention}}\n
    \n
    \n \n \n
    \n
    \n \n
    \n € {{EnquiryObj.EnquiryDetails.POValue |\n indianCurrency}}/-\n
    \n
    \n \n \n\n
    \n\n
    \n\n \n \n
    \n \n
    \n \n
    \n\n\n
    \n\n
    \n \n \n
    \n\n
    \n \n
    \n \n Limit {{maxLimit}} characters,\n {{remLimit}} characters\n remaining.\n
    \n
    \n Comment is\n required\n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n \n    \n \n \n \n
    \n\n
    \n
    \n
    \n
    \n
    ","import { Component, OnInit, ViewChild, Input, ɵclearResolutionOfComponentResourcesQueue, ElementRef, EventEmitter, Output, ChangeDetectorRef } from '@angular/core';\nimport { EmployeeGuestModel } from 'src/app/Model/EmployeeGuestModel';\nimport { ActivatedRoute, NavigationEnd, Router, RoutesRecognized } from '@angular/router';\nimport { ToastrService } from 'ngx-toastr';\nimport { CommonService } from 'src/app/Service/common.service';\nimport { MatDialog } from '@angular/material/dialog';\nimport * as FileSaver from 'file-saver';\nimport { BasicCustomerInformationModel } from 'src/app/Model/CustomerModel';\nimport { EnquiryModel, CustomerDrpdnDetails, CustomerDetails, ProductDrpdnDetails, EnquiryDetailsModel, ProductDetails, Comments, removefiles, TermsAndCondition, ActivityModel, ProductModelPOValues, CustomTermsAndCondition, CompetitorDetails } from 'src/app/Model/EnquiryModel';\nimport { ConfirmDialogComponent } from 'src/app/confirm-dialog/confirm-dialog.component';\nimport { NgbDate, NgbModal, NgbActiveModal, NgbDatepickerConfig, NgbDateStruct } from '@ng-bootstrap/ng-bootstrap';\nimport { AppGlobals } from 'src/app/app.global';\nimport { EnquiryStatus, EnquiryStatusCode } from \"src/app/EnquiryStatus\";\nimport {UserRoles} from \"src/app/UserRoles\";\nimport { SingleFieldModel } from 'src/app/Model/SingleFieldModel';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { EnquiryModalComponent } from '../enquiry-modal/enquiry-modal.component';\nimport { MatStepper } from '@angular/material/stepper';\nimport { FormControl, NgForm, Validators } from '@angular/forms';\nimport { HttpHeaders, HttpClient, HttpErrorResponse } from '@angular/common/http';\nimport { QuotationDetailsModel, QuotationCustomerDetails } from 'src/app/Model/QuotationModel';\nimport { Title } from '@angular/platform-browser';\nimport { Location } from '@angular/common';\nimport {\n saveAs as importedSaveAs\n} from \"file-saver\";\nimport { ClassGetter } from '@angular/compiler/src/output/output_ast';\nimport { TechnicalDiscardComponent } from '../technical-discard/technical-discard.component';\nimport { CloseOppReasonComponent } from '../close-opp-reason/close-opp-reason.component';\nimport { EnquiryStatusList } from 'src/app/Model/EnquiryStatus';\nimport { EngagementReportServiceService } from 'src/app/Service/engagement-report-service.service';\nimport { EnquirySendBack } from 'src/app/Model/EnquirySendBack';\nimport { log } from 'console';\nimport { forkJoin } from 'rxjs';\nimport { tap } from 'rxjs/operators';\nimport { SendBackCommentComponent } from '../send-back-comment/send-back-comment.component';\nimport { any } from '@amcharts/amcharts4/.internal/core/utils/Array';\nimport { AppConfigService } from 'src/app/Service/app-config.service';\ndeclare var require: any\n\n@Component({\n selector: 'app-order-confirmation',\n templateUrl: './order-confirmation.component.html',\n styleUrls: ['./order-confirmation.component.scss']\n})\nexport class OrderConfirmationComponent implements OnInit {\n\n @ViewChild('myform3') myform3: NgForm;\n @ViewChild('myform5') myform5: NgForm;\n @ViewChild('myInput') myInputVariable: ElementRef;\n @ViewChild('editpovalue', { static: false }) editpovalue: ElementRef;\n standardTC: any[] = [];\n customTCValues: any[] = [];\n CategoryRegion: any[] = [];\n DupCategoryRegion: any[] = [];\n\n userInfo: EmployeeGuestModel = new EmployeeGuestModel();\n CustomerList: BasicCustomerInformationModel[] = [];\n EnquiryObj: EnquiryDetailsModel = new EnquiryDetailsModel();\n\n newRFQDetails: any = {};\n productListdropdownData = [];\n\n customerDrpdnDetails: CustomerDrpdnDetails = new CustomerDrpdnDetails();\n productDrpdnDetails: ProductDrpdnDetails = new ProductDrpdnDetails();\n customerData: CustomerDetails;\n activityDetails: ActivityModel[] = Array();\n CustomerDetailsObj: QuotationCustomerDetails = new QuotationCustomerDetails();\n QuotationData: QuotationDetailsModel = new QuotationDetailsModel();\n allowedFileType: string[] = [\n 'image/bmp',\n 'image/jpeg',\n 'image/png',\n 'application/pdf',\n 'text/plain',\n 'text/csv',\n 'application/xml',\n 'text/xml',\n 'application/vnd.ms-excel',\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\n 'application/msword',\n 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',\n 'application/zip',\n 'application/x-zip-compressed',\n ];\n\n showEditRFQForInitiator: boolean;\n UserRole: any;\n isTechnicalDiscardVisible: boolean = false;\n isEnquiryFormVisible: boolean = false;\n isRFQVisible: boolean = false;\n isQuoteGenerationVisible: boolean = false;\n isManagementApprovalVisible: boolean = false;\n isSOVisible: boolean = false;\n isOrderAcknowledgementVisible: boolean = false;\n EnquiryConfirmationVisible: boolean = false;\n isSupplychainVisible: boolean = false;\n isAccountsVisible: boolean = false;\n iseditable: boolean = false;\n isOAGenerationVisible: boolean = false;\n isBOMAttachment: boolean;\n isInvoiceAttachment: boolean;\n isPOAttachment: boolean;\n IsRFQDataValid: boolean = true;\n selectedIndexForStatus: any = 1;\n remLimit: any = 1500;\n maxLimit: any = 1500;\n varLongTermGoal: any;\n DiscountFromrange: any;\n Discounttorange: any;\n isCompetitorRequired : boolean = false;\n\n @Input()\n showLoader: boolean = false;\n charCode: number;\n enquiryStatus = EnquiryStatus;\n AppRoles = UserRoles;\n enquirySource: SingleFieldModel[] = [];\n TnCStandardFromDropDown: any[] = [];\n TnCCustomizedFromDropDown: any[] = [];\n TnCCustomizedDropDownForEditRfq1: any[] = [];\n TnCCustomizedDropDownForEditRfq2: any[] = [];\n CompetitorDetails: any[] = [];\n newCustomTc: any;\n product: any = {};\n isEnquirySubmit: boolean = false;\n charCode1: any;\n pageNumber: number = 1;\n @Input() pageSize: number = 5;\n @Input() length: number;\n @Input() pageIndex: number = this.pageNumber - 1;\n dataSource: MatTableDataSource;\n enquiryStatusCode = EnquiryStatusCode;\n\n @ViewChild('stepper') stepper: MatStepper;\n AppGlobals = AppGlobals;\n fileDownloadPath = this.AppGlobals.baseFileDownloadUrl;\n QuotationDownloadPath = this.AppGlobals.QuotationFileDownloadUrl;\n isEnquiryLoaded: boolean;\n role: string;\n isStandardCondition: boolean;\n closeResult: string;\n isCEOApprovalVisible: boolean;\n demoObject: any;\n demoCTCObject: any;\n WinLossDropdownData: any[] = [];\n WinLossDropdownDataForStatus: any;\n isPoValueDisable: boolean;\n isCustomerCommentVisible: any;\n isOAGenerated: boolean;\n isAcceptClick: boolean;\n dataPassed: any;\n dropdownData: any;\n showQuotationLink: boolean;\n userid: string;\n isprocessing: boolean = true;\n rfqattpresent: boolean;\n QuotationDataForPO: any[] = [];\n chosenItem: string ;\n quoterevcomments: any;\n QGRFQEditable: boolean = false;\n IsActivityDataValid: boolean;\n today: Date;\n fc = new FormControl();\n minDate: NgbDate;\n showEditRFQ: boolean;\n isTantativeDateEditable: boolean;\n tempRFQ: ProductDetails[];\n IsPODataValid: boolean;\n isEditactivity: boolean = true;\n PreviousStatus: number = 0;\n tempfile: any;\n ngbDateParserFormatter: any;\n UpdatePO: boolean = false;\n isPOAttacmentDelete: boolean = false;\n RevisedQuotationFileNameList: string[] = [];\n emailPattern: string = \"^[a-zA-Z0-9_\\\\.-]+@([a-zA-Z0-9-]+\\\\.)+[a-zA-Z]{2,6}$\";\n StartDate: NgbDate;\n EndDate: NgbDate;\n RoleWiseScreenDisplay: any;\n previousUrl: string = null;\n IndustrySegment: any[] = [];\n SubSegment: any[] = [];\n Application: any[] = [];\n FinalIndustrySegment: any[] = [];\n FinalSubSegment: any[] = [];\n FinalApplication: any[] = [];\n transitionRule: any;\n workflowActionList: any[] = [];\n enquiryStatusList: EnquiryStatusList[] = [];\n workflowId: number;\n roleOfAdmin : any;\n\n @Output() updateLoaderEvent = new EventEmitter();\n filterRule: any[];\n UserRolesData:any[]=[];\n isEnquiryConfirmationEditable: boolean=false;\n WinLossDataForStatus: any;\n disableWonCategory: boolean=false;\n QuotationPdfGenerationHostPath:any;\n\n constructor(private toastr: ToastrService, private commonService: CommonService, public dialog: MatDialog,\n private _location: Location,\n private config: NgbDatepickerConfig,\n private modalService: NgbModal, private activeModel: NgbActiveModal,\n private router: Router, private route: ActivatedRoute, private titleService: Title, private cd: ChangeDetectorRef,\n private workflowService: EngagementReportServiceService, private appConfigService: AppConfigService) {\n this.today = new Date();\n this.minDate = new NgbDate(this.today.getFullYear(), this.today.getMonth() + 1, this.today.getDate());\n this.StartDate = new NgbDate(2018, 1, 1);\n this.EndDate = new NgbDate(this.today.getFullYear() + 1, 12, 31);\n\n }\n \n ngAfterViewInit() {\n this.updateLoaderEvent.emit(true);\n setTimeout(() => {\n this.isprocessing = false;\n \n this.updateLoaderEvent.emit(false);\n }, 2000);\n //this.stepper.selectedIndex = this.selectedIndexForStatus; \n }\n ngOnInit() {\n this.commonService.previousUrl$.subscribe((previousUrl: string) => {\n this.previousUrl = previousUrl;\n });\n\n let tempRoleWiseScreenDisplay = localStorage.getItem(\"WorkFlowRoleWiseScreenAccess\");\n this.RoleWiseScreenDisplay = tempRoleWiseScreenDisplay.split(\",\");\n const appConfig = this.appConfigService.getConfig();\n this.QuotationPdfGenerationHostPath=appConfig.QuotationPdfGenerationHostPath;\n const dynamicTitle = this.route.snapshot.data['title'];\n this.titleService.setTitle(`${dynamicTitle} - ${appConfig.titleName}`);\n //this.titleService.setTitle(this.route.snapshot.data['title'] + \" - ECOTECH\");\n this.commonService.RefreshHeaderFun();\n this.EnquiryObj.EnquiryDetails.EnquiryId = this.route.snapshot.params[\"id\"];\n this.EnquiryObj.EnquiryDetails.EstimatedProductValue = null;\n this.EnquiryObj.EnquiryDetails.InvoiceAttachment = undefined;\n this.getAllWorkFlow()\n //this.getRFQProduct();\n this.getEnquirySourceDetails();\n this.getCustomerList();\n //this.getEnquiryDetailsById();\n this.getAllCategoryRegion();\n this.getEnquiryStatus();\n this.getUserRoles();\n this.getSendbackWorkfow();\n this.isEnquiryLoaded = false;\n\n forkJoin([\n this.getRFQProduct(), \n ]).pipe(tap(res => { \n \n this.getEnquiryDetailsById(); \n })).subscribe(x=>{\n \n });\n \n this.UserRole = localStorage.getItem(\"UserRole\");\n this.isTechnicalDiscardVisible = AppGlobals.QuoteGenearation_Enquiry_TechnicalDiscardArray.filter(x => x.role\n == this.UserRole)[0]?.isEditable;\n\n this.roleOfAdmin = UserRoles.Admin;\n this.userid = localStorage.getItem(\"UserID\");\n }\n \n limitTextOnKeyUpDown1(event: any) {\n let goalText = event.target.value;\n if (goalText.length > this.maxLimit) {\n this.varLongTermGoal = goalText.substring(0, this.maxLimit);\n } else {\n this.remLimit = this.maxLimit - goalText.length;\n }\n }\n\n\n toggleAttchments(i) {\n\n this.EnquiryObj.Comments[i].showAttachments = !this.EnquiryObj.Comments[i].showAttachments;\n }\n \n checkActivityValidations() {\n this.IsActivityDataValid = true;\n this.activityDetails.forEach(element => {\n if (element.Activity == undefined || element.Activity == null || element.Activity == \"\") {\n element.ActivityValidation = true;\n this.IsActivityDataValid = false;\n }\n if (element.ActivityDate == undefined || element.ActivityDate == null || element.ActivityDate == \"\") {\n element.ActivityDateValidation = true;\n this.IsActivityDataValid = false;\n }\n });\n }\n editActivity() {\n this.isEditactivity = true;\n }\n cancelEditActivity() {\n this.isEditactivity = false;\n }\n SaveActivityDetails() {\n this.checkActivityValidations();\n if (!this.IsActivityDataValid) {\n return;\n }\n this.updateLoaderEvent.emit(true);\n this.activityDetails.forEach(element => {\n if (element.ActivityDate != undefined) {\n element.ActivityDateISO = new Date(this.convertDate(new NgbDate(element.ActivityDate.year, element.ActivityDate.month, element.ActivityDate.day))).toDateString();\n }\n if (element.ActivityDate != undefined) {\n element.ActivityDate = new Date(this.convertDate(new NgbDate(element.ActivityDate.year, element.ActivityDate.month, element.ActivityDate.day)));\n }\n element.EnquiryId = this.EnquiryObj.EnquiryDetails.EnquiryId;\n });\n\n let activityDetails = JSON.stringify(this.activityDetails);\n const frmData = new FormData();\n frmData.append(\"ActivityObj\", activityDetails);\n var i = 0;\n this.activityDetails.forEach(element => {\n if (element.Attachment != undefined) {\n frmData.append(\"Attachment[\" + i + \"]\", this.activityDetails[i].Attachment[0]);\n }\n i++;\n });\n\n this.commonService.PostData(\"Enquiry\", \"AddActivity\", frmData, null).subscribe((data: any) => {\n this.activityDetails.forEach(element => {\n element.ActivityDate = new NgbDate(new Date(element.ActivityDate).getFullYear(), new Date(element.ActivityDate).getMonth() + 1, new Date(element.ActivityDate).getDate());\n });\n //this.isEditactivity = false;\n this.toastr.success(\"Activity details added successfully!\");\n this.updateLoaderEvent.emit(false);\n }, error => {\n this.toastr.error(\"Failed to add activity details!\");\n this.updateLoaderEvent.emit(false);\n });\n\n }\n\n\n getEnquiryDetailsById() {\n this.updateLoaderEvent.emit(true);\n let queryString = \"\";\n queryString = \"id=\" + this.EnquiryObj.EnquiryDetails.EnquiryId;\n this.commonService.GetData('Enquiry', 'GetById', queryString).subscribe((data: any) => {\n this.EnquiryObj.EnquiryDetails = data.EnquiryDetails;\n this.remCharLimit = this.maxCharLimit - data.EnquiryDetails.EndCustomer?.length;\n this.remappdescLimit = this.maxappdescLimit - data.EnquiryDetails.ApplicationDescription?.length;\n if (this.EnquiryObj.EnquiryDetails.QuotationRevisionNo != null && this.EnquiryObj.EnquiryDetails.QuotationRevisionNo > 0) {\n this.getRevisedQuotationFileNamelist(this.EnquiryObj.EnquiryDetails.QuotationNumber, this.EnquiryObj.EnquiryDetails.QuotationRevisionNo);\n }\n\n this.EnquiryObj.EnquiryDetails.EnquiryDate = new NgbDate(new Date(this.EnquiryObj.EnquiryDetails.EnquiryDate).getFullYear(), new Date(this.EnquiryObj.EnquiryDetails.EnquiryDate).getMonth() + 1, new Date(this.EnquiryObj.EnquiryDetails.EnquiryDate).getDate());\n if (this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate != null) {\n this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate = new NgbDate(new Date(this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate).getFullYear(), new Date(this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate).getMonth() + 1, new Date(this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate).getDate());\n }\n if (this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate != null) {\n this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate = new NgbDate(new Date(this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate).getFullYear(), new Date(this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate).getMonth() + 1, new Date(this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate).getDate());\n }\n \n this.EnquiryObj.SalesDirectorComments_Order = data.SalesDirectorComments_Order;\n this.EnquiryObj.Comments = data.Comments == undefined ? [] : data.Comments;\n this.EnquiryObj.POValues = data.POValues;\n\n if(this.EnquiryObj.EnquiryDetails.ReasonCategory!=null && (this.EnquiryObj.EnquiryDetails.EnquiryConfirmStatus!=null || this.EnquiryObj.EnquiryDetails.EnquiryConfirmStatus!=\"\"))\n {\n this.WinLossDropdownData = data.ReasonEnquiryWinLossObj; \n this.WinLossDropdownDataForStatus = this.WinLossDropdownData.filter(x => x.Name == this.EnquiryObj.EnquiryDetails.EnquiryConfirmStatus);\n\n if (this.EnquiryObj.EnquiryDetails.EnquiryConfirmStatus == \"Won\") {\n this.disableWonCategory=true;\n } \n var category=this.CategoryRegion.filter(x => x.ReasonCategoryId == this.EnquiryObj.EnquiryDetails.ReasonCategory); \n this.getAllCloseEnquiryReasonByReasonCategoryCode(category[0].ReasonCode); \n this.EnquiryObj.EnquiryDetails.EnquiryConfirmReason=data.EnquiryDetails.EnquiryConfirmReason;\n this.cd.detectChanges();\n } \n else\n {\n this.EnquiryObj.EnquiryDetails.EnquiryConfirmStatus=null;\n this.CategoryRegion=null;\n this.WinLossDropdownDataForStatus=null;\n this.EnquiryObj.EnquiryDetails.ReasonCategory=null;\n this.EnquiryObj.EnquiryDetails.EnquiryConfirmReason=null;\n }\n \n this.EnquiryObj.CompetitorDetailObj = data.CompetitorDetailObj;\n \n\n if (data.EnquiryDetails.RFQTermsAndCondition == \"Standard\" || data.EnquiryDetails.RFQTermsAndCondition == \"\") {\n\n if (data.TermsAndConditions.length == 0) {\n this.EnquiryObj.EnquiryDetails.RFQTermsAndCondition = \"Standard\";\n this.EnquiryObj.TermsAndConditions = this.TnCStandardFromDropDown;\n } else {\n this.EnquiryObj.TermsAndConditions = data.TermsAndConditions;\n\n }\n this.isStandardCondition = true;\n } else if (data.EnquiryDetails.RFQTermsAndCondition == \"Customized\") {\n\n if (data.CustomTermsAndConditions.length == 0) {\n this.EnquiryObj.EnquiryDetails.RFQTermsAndCondition = \"Customized\";\n this.EnquiryObj.CustomTermsAndConditions = this.TnCCustomizedFromDropDown;\n this.TnCCustomizedDropDownForEditRfq1 = this.TnCCustomizedFromDropDown;\n } else {\n this.EnquiryObj.CustomTermsAndConditions = data.CustomTermsAndConditions;\n this.TnCCustomizedDropDownForEditRfq2 = data.CustomTermsAndConditions;\n }\n\n this.isStandardCondition = false;\n }\n\n this.activityDetails = data.ActivityDetails;\n this.activityDetails.forEach(element => {\n element.ActivityDate = new NgbDate(new Date(element.ActivityDate).getFullYear(), new Date(element.ActivityDate).getMonth() + 1, new Date(element.ActivityDate).getDate());\n\n //element.ActivityDateISO = new NgbDate(new Date(element.ActivityDate).getFullYear(), new Date(element.ActivityDate).getMonth() + 1, new Date(element.ActivityDate).getDate());\n });\n\n //TO POPULATE A SINGLE ROW ON PAGE INIT\n if (this.EnquiryObj.RFQObject.length == 0) {\n var obj = new ProductDetails();\n this.EnquiryObj.RFQObject.push(obj);\n }\n\n if (this.EnquiryObj.CompetitorDetailObj.length == 0) {\n var object = new CompetitorDetails();\n this.EnquiryObj.CompetitorDetailObj.push(object);\n }\n\n //TO POPULATE A SINGLE ROW ON PAGE INIT\n if (this.activityDetails.length == 0) {\n var obj1 = new ActivityModel();\n obj1.ActivityDate = new NgbDate(new Date().getFullYear(), new Date().getMonth() + 1, new Date().getDate());\n obj1.uniqueid = this.makeRandom();\n this.activityDetails.push(obj1);\n }\n\n this.role = localStorage.getItem('UserRole');\n // this.ScreenAccessSpecifier(localStorage.getItem('UserRole'), this.EnquiryObj.EnquiryDetails.Status);\n\n //SET DISABLE PROPERTIES\n if(this.workflowActionList.length>0 )\n {\n this.isEnquiryConfirmationEditable=true;\n }\n else{\n this.isEnquiryConfirmationEditable=false;\n }\n\n if (this.EnquiryObj.EnquiryDetails.segment != undefined) {\n this.onIndustrySegmentSelect(this.EnquiryObj.EnquiryDetails.segment);\n this.onSubSegmentSelect(this.EnquiryObj.EnquiryDetails.subSegment);\n }\n \n this.EnquiryObj.EnquiryDetails.IsFetchFromKYC = data.EnquiryDetails.IsFetchFromKYC;\n\n }, error => {\n this.updateLoaderEvent.emit(false);\n });\n\n }\n\n getRevisedQuotationFileNamelist(QuotationNumber: string, QuotationRevision: number) {\n let QTNNumber = QuotationNumber.replace(\"QTN/\", \"\");\n QTNNumber = QTNNumber.split(\"/\").join(\"_\");\n let filename = \"Quotation_\" + QTNNumber;\n let pdffilename = filename.split('_R')[0];\n for (let i = 0; i < QuotationRevision; i++) {\n if (i == 0) {\n this.RevisedQuotationFileNameList.push(pdffilename + \".pdf\")\n }\n else {\n this.RevisedQuotationFileNameList.push(pdffilename + \"_R\" + i + \".pdf\")\n }\n }\n\n }\n\n makeRandom() {\n let text = \"\";\n var possible: string = \"ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890,./;'[]\\=-)(*&^%$#@!~\";\n const lengthOfCode = 40;\n for (let i = 0; i < lengthOfCode; i++) {\n text += possible.charAt(Math.floor(Math.random() * possible.length));\n }\n return text;\n }\n\n getRFQProduct() {\n this.updateLoaderEvent.emit(true);\n let tracker = this.commonService.GetData(\"Enquiry\", \"GetEnquiryRFQDropdownData\", null);\n\n tracker.subscribe((data: any) => {\n this.product = data;\n this.productDrpdnDetails.MDSOptions = data.MDS;\n this.productDrpdnDetails.SalesPrice = data.Salesprice;\n this.productDrpdnDetails.EstimatedProductValue = data.EstimatedProductValue;\n this.IndustrySegment = data.segment;\n this.SubSegment = [];\n this.Application = [];\n this.FinalIndustrySegment = data.segment;\n this.FinalSubSegment = data.subSegment;\n this.FinalApplication = data.application;\n data.TermsAndConditions.forEach(element => {\n var obj = new TermsAndCondition();\n obj.TnCId = element.Id;\n obj.TnCName = element.Name;\n obj.TnCValue = element.Value;\n this.TnCStandardFromDropDown.push(obj);\n });\n\n this.demoObject = data.TermsAndConditions;\n\n this.demoCTCObject = data.CustomTermsAndCondition;\n\n for (let i = 0; i < data.CustomTermsAndCondition.length; i++) {\n var obj1 = new CustomTermsAndCondition();\n obj1.StandardTC = data.CustomTermsAndCondition[i].StandardTC.Id;\n obj1.StandardTCName = data.CustomTermsAndCondition[i].StandardTC.Name;\n // this.standardTC.push(data.CustomTermsAndCondition[i].StandardTC);\n\n for (let j = 0; j < data.CustomTermsAndCondition[i].CustomValues.length; j++) {\n obj1.CustomValues.push(data.CustomTermsAndCondition[i].CustomValues[j]);\n }\n this.TnCCustomizedFromDropDown.push(obj1);\n }\n\n this.demoCTCObject = data.CustomTermsAndCondition;\n\n //this.updateLoaderEvent.emit(false);\n });\n\n return tracker;\n }\n\n custtermscond: any = [];\n OnCustomValueChange(index, id) {\n let CustTcObj: CustomTermsAndCondition = new CustomTermsAndCondition();\n CustTcObj.StandardTC = this.EnquiryObj.CustomTermsAndConditions[index].StandardTC;\n CustTcObj.StandardTCName = this.EnquiryObj.CustomTermsAndConditions[index].StandardTCName;\n CustTcObj.CustValue = this.EnquiryObj.CustomTermsAndConditions[index].CustomValues.find(x => x.Id == id).Name;\n CustTcObj.CustTCId = id;\n\n this.custtermscond.push(CustTcObj)\n // console.log(this.custtermscond);\n }\n\n\n\n getProductModel(Id, ind) {\n this.EnquiryObj.RFQObject[ind].ProductLineValidation = false;\n this.product.Product.forEach((element, index) => {\n if (element.ProductLine.Id == Id) {\n this.productDrpdnDetails.ProductModel = element.ProductModels;\n this.newRFQDetails.ProductModelList = element.ProductModels;\n this.EnquiryObj.RFQObject[ind].isProductLineChangeClick = true;\n this.EnquiryObj.RFQObject[ind].ProductModelList = this.productDrpdnDetails.ProductModel;\n }\n });\n }\n OnProductModelChange(index) {\n this.EnquiryObj.RFQObject[index].ProductModelValidation = false;\n }\n\n\n\n\n\n deleteAttachDocument(index, attachemntType) {\n switch (attachemntType) {\n case \"MDS\":\n this.EnquiryObj.RFQObject[index].MDSAttachment = [];\n this.EnquiryObj.RFQObject[index].isMDSAttachment = false;\n break;\n case \"ITC\":\n this.EnquiryObj.RFQObject[index].ITCAttachment = [];\n this.EnquiryObj.RFQObject[index].isITCAttachment = false;\n break;\n case \"Customer\":\n this.EnquiryObj.RFQObject[index].CustomerAttachment = [];\n this.EnquiryObj.RFQObject[index].isCustomerAttachment = false;\n break;\n case \"Weiss\":\n this.EnquiryObj.RFQObject[index].WeissAttachment = [];\n this.EnquiryObj.RFQObject[index].isWeissAttachment = false;\n break;\n }\n\n }\n\n deleteActivityAttachments(index) {\n this.activityDetails[index].Attachment = [];\n this.activityDetails[index].isActivityAttachment = false;\n }\n\n deleteActivityAttachmentsFromDB(index) {\n this.activityDetails[index].fileName = null;\n this.activityDetails[index].filePath = null;\n this.EnquiryObj.RemoveFiles.push(this.activityDetails[index].filePath);\n }\n\n deleteActivityDetails(index) {\n if (index != null) {\n this.activityDetails.splice(index, 1);\n }\n }\n addActivityDetails(index) {\n if (!(this.activityDetails[index].Activity == undefined || this.activityDetails[index].Activity == null || this.activityDetails[index].Activity == \"\")\n &&\n !(this.activityDetails[index].ActivityDate == undefined || this.activityDetails[index].ActivityDate == null || this.activityDetails[index].ActivityDate == \"\")) {\n var obj = new ActivityModel();\n obj.ActivityDate = new NgbDate(new Date().getFullYear(), new Date().getMonth() + 1, new Date().getDate());\n obj.uniqueid = this.makeRandom();\n obj.ISNewActivityAdded = true;\n this.activityDetails.push(obj);\n }\n }\n\n getCustomerList() {\n this.updateLoaderEvent.emit(true);\n this.commonService.GetData(\"Customer\", \"GetAll\", null).subscribe((data: any) => {\n this.CustomerList = data;\n\n this.updateLoaderEvent.emit(false);\n });\n }\n\n getEnquirySourceDetails() {\n this.updateLoaderEvent.emit(true);\n this.commonService.GetData(\"Enquiry\", \"GetEnquiryDropdownData\", null).subscribe((data: any) => {\n this.enquirySource = data.EnquirySource;\n this.updateLoaderEvent.emit(false);\n });\n }\n\n getProductDetails() {\n this.updateLoaderEvent.emit(true);\n this.commonService.GetData(\"Product\", \"GetRFQProductDetails\", null).subscribe((data: any) => {\n this.CustomerList = data;\n //this.updateLoaderEvent.emit(false);\n });\n }\n\n\n AvoidSpace(event: any) {\n if ((event.which === 46 || event.which === 32) && !event.target.value.length) {\n event.preventDefault();\n }\n }\n\n isNumberKey(evt: any) {\n this.charCode = (evt.which) ? evt.which : evt.keyCode;\n if ((this.charCode == 45 || this.charCode == 43) && this.charCode > 31\n && (this.charCode < 48 || this.charCode > 57)) {\n return false;\n }\n else {\n return true;\n }\n }\n\n isintNumberKey(evt: any) {\n this.charCode = (evt.which) ? evt.which : evt.keyCode;\n if ((this.charCode == 46 || this.charCode == 45 || this.charCode == 43) && this.charCode > 31\n && (this.charCode < 48 || this.charCode > 57)) {\n return false;\n }\n else {\n return true;\n }\n }\n\n\n openCSComments() {\n this.isCustomerCommentVisible = !this.isCustomerCommentVisible;\n }\n\n openQuotationPopup(flag) {\n const frmData = new FormData();\n if (this.EnquiryObj.EnquiryDetails.BOMAttachment) {\n this.updateLoaderEvent.emit(true);\n if (this.EnquiryObj.EnquiryDetails.EnquiryDate != undefined) {\n this.EnquiryObj.EnquiryDetails.EnquiryDateISO = new Date(this.convertDate(new NgbDate(this.EnquiryObj.EnquiryDetails.EnquiryDate.year, this.EnquiryObj.EnquiryDetails.EnquiryDate.month, this.EnquiryObj.EnquiryDetails.EnquiryDate.day))).toDateString();\n }\n if (this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate != undefined) {\n this.EnquiryObj.EnquiryDetails.RequestedDeliveryDateISO = new Date(this.convertDate(new NgbDate(this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate.year, this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate.month, this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate.day))).toDateString();\n }\n if (this.EnquiryObj.EnquiryDetails.EnquiryDate != undefined) {\n this.EnquiryObj.EnquiryDetails.EnquiryDate = new Date(this.convertDate(new NgbDate(this.EnquiryObj.EnquiryDetails.EnquiryDate.year, this.EnquiryObj.EnquiryDetails.EnquiryDate.month, this.EnquiryObj.EnquiryDetails.EnquiryDate.day)));\n }\n if (this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate != undefined) {\n this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate = new Date(this.convertDate(new NgbDate(this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate.year, this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate.month, this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate.day)));\n }\n frmData.append(\"BOMAttachment\", this.EnquiryObj.EnquiryDetails.BOMAttachment[0]);\n\n let EnquiryObj = JSON.stringify(this.EnquiryObj);\n frmData.append(\"EnquiryModel\", EnquiryObj);\n\n this.commonService.PostData(\"Enquiry\", \"AddBOM\", frmData, null).subscribe((data: any) => {\n this.updateLoaderEvent.emit(false);\n }, error => {\n this.updateLoaderEvent.emit(false);\n });\n }\n\n const modalRef = this.modalService.open(EnquiryModalComponent, {\n size: 'lg', backdrop: 'static', keyboard: false\n });\n var enquiObj = {\n EnquiryId: this.EnquiryObj.EnquiryDetails.EnquiryId,\n EnquiryStatus: this.EnquiryObj.EnquiryDetails.Status,\n EnqTermsConditionSelected: this.EnquiryObj.EnquiryDetails.RFQTermsAndCondition,\n IsQuotationPriceOnRequest: this.EnquiryObj.EnquiryDetails.IsQuotationPriceOnRequest,\n TermsAndCondition: this.EnquiryObj.TermsAndConditions,\n CustomTermsAndCondition: this.EnquiryObj.CustomTermsAndConditions,\n PendingAtRoleId: this.EnquiryObj.EnquiryDetails.PendingAtRoleId\n }\n modalRef.componentInstance.enquiObj = enquiObj;\n modalRef.result.then((result) => {\n this.closeResult = `Closed with:${result}`;\n if (this.closeResult !== 'Closed with:Close click') {\n if (flag === 1) {\n } else {\n // this.saveQuoteLimit(this.QuotationNumber, result);\n }\n }\n }, error => {\n this.updateLoaderEvent.emit(false);\n });\n }\n\n backtoList() {\n // this._location.back();\n if (this.previousUrl == null || this.previousUrl == \"\" || this.previousUrl == undefined) {\n this.router.navigate(['/Enquiry']);\n }\n else if (this.previousUrl.includes(\"PendingEnquiry\")) {\n this.router.navigate(['/PendingEnquiry']);\n }\n else {\n this.router.navigate(['/Enquiry']);\n }\n\n }\n\n onEnquiryConfirmationStatusChange() {\n this.EnquiryObj.EnquiryDetails.EnquiryConfirmReason = null;\n this.EnquiryObj.EnquiryDetails.ReasonCategory = null; \n this.disableWonCategory=false;\n if (this.EnquiryObj.EnquiryDetails.EnquiryConfirmStatus == \"Lost\") {\n this.isPoValueDisable = true;\n this.EnquiryObj.EnquiryDetails.POValue = \"0\";\n this.CategoryRegion=this.DupCategoryRegion.filter(x=>x.AvailableAtWorkflowScreen == 7 && x.EnquiryConfirmationStatus==\"Lost\");\n } else {\n this.isPoValueDisable = false;\n this.EnquiryObj.EnquiryDetails.POValue = undefined;\n this.CategoryRegion =this.DupCategoryRegion.filter(x=>x.AvailableAtWorkflowScreen == 7 && x.EnquiryConfirmationStatus==\"Won\");\n this.EnquiryObj.EnquiryDetails.ReasonCategory= this.CategoryRegion[0]?.ReasonCategoryId;\n this.getAllCloseEnquiryReasonByReasonCategoryCode(this.CategoryRegion[0]?.ReasonCode);\n this.disableWonCategory=true;\n }\n this.WinLossDropdownDataForStatus = this.WinLossDropdownData.filter(x => x.Value == this.EnquiryObj.EnquiryDetails.EnquiryConfirmStatus);\n \n }\n\n onEnquiryReasonCategoryChange(ReasonCategoryId : any){\n var CategoryRegionDetail = this.CategoryRegion.filter(x => x.ReasonCategoryId == ReasonCategoryId);\n if(CategoryRegionDetail.length>0)\n {\n this.getAllCloseEnquiryReasonByReasonCategoryCode(CategoryRegionDetail[0]?.ReasonCode)\n } \n }\n \n getAllCloseEnquiryReasonByReasonCategoryCode(catreasoncode) {\n let reasoncode = catreasoncode\n let queryString = \"\";\n queryString = \"reasonCatCode=\" + reasoncode;\n this.commonService.GetData(\"ReasonEnquiryWinLoss\", \"GetAllReason\", queryString).subscribe((data: any) => {\n this.WinLossDropdownDataForStatus = data; \n },\n error => {\n this.toastr.error(\"Failed to load Data!\");\n this.showLoader = false;\n });\n }\n\n onEnquiryReasonChange(ReasonId : any){\n // console.log(ReasonId);\n var reasonDetail = this.WinLossDropdownDataForStatus.filter(x => x.Id == ReasonId);\n\n if(this.EnquiryObj.EnquiryDetails.EnquiryConfirmStatus == \"Lost\" && reasonDetail[0].ReasonCategoryCode == \"COMPT_CAT\" )\n {\n this.isCompetitorRequired = true;\n }\n else{\n this.isCompetitorRequired = false;\n }\n }\n\n \n onStepChange(data) {\n\n if (this.userid == this.EnquiryObj.EnquiryDetails.Initiator_Id && data.previouslySelectedIndex == 0 && this.activityDetails[0].Activity != \"\") {\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Please make sure that you have saved the activity details. Do you want to continue?\"\n }\n });\n dialogRef.afterClosed().subscribe(dialogResult => {\n if (dialogResult) {\n } else {\n this.stepper.selectedIndex = data.previouslySelectedIndex;\n }\n });\n }\n }\n\n radioChange(value: any) {\n if (value == \"1\") {\n this.filterRule = this.workflowActionList.filter(x => x.workflowActionCode == 'Submit');\n this.chosenItem = \"1\";\n }\n else if (value == \"2\") {\n this.filterRule = this.workflowActionList.filter(x => x.workflowActionCode == 'Revision');\n this.chosenItem = \"2\";\n }\n\n }\n\n SetStatus(rule, myform: any) {\n this.PreviousStatus = this.EnquiryObj.EnquiryDetails.Status;\n if (rule[0].workflowNextStatusId == this.enquiryStatusList.filter(x => x.Status == 'EnquiryOrderConfirmedbySalesEngg')[0]?.Pk_Id) {\n this.quoterevcomments = \"\";\n\n if (this.EnquiryObj.EnquiryDetails.EnquiryConfirmStatus == 'Won') this.EnquiryObj.EnquiryDetails.Status = this.enquiryStatusList.filter(x => x.Status == 'EnquiryOrderConfirmedbySalesEngg')[0]?.Pk_Id;\n if (this.EnquiryObj.EnquiryDetails.EnquiryConfirmStatus == 'Lost') this.EnquiryObj.EnquiryDetails.Status = this.enquiryStatusList.filter(x => x.Status == 'EnquiryLost')[0]?.Pk_Id\n\n } else if (rule[0].workflowNextStatusId == this.enquiryStatusList.filter(x => x.Status == 'QuotationRevision')[0]?.Pk_Id) {\n this.EnquiryObj.EnquiryDetails.Comments = this.quoterevcomments;\n this.myform5.reset();\n this.EnquiryObj.EnquiryDetails.Status = rule[0].workflowNextStatusId;\n this.EnquiryObj.EnquiryDetails.EnquiryConfirmStatus = null;\n this.EnquiryObj.EnquiryDetails.POValue = null;\n this.EnquiryObj.EnquiryDetails.EnquiryConfirmReason = null;\n this.EnquiryObj.EnquiryDetails.POAttchments = [];\n }\n this.AddEnquiry();\n }\n\n AddEnquiry() {\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x => x.Status == 'EnquiryAdded')[0]?.Pk_Id\n || this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x => x.Status == 'RFQSaveAsDraft')[0]?.Pk_Id\n || this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x => x.Status == 'RFQSubmittedbySalesEngg')[0]?.Pk_Id) {\n\n \n if (!this.IsRFQDataValid) {\n return;\n }\n if (this.EnquiryObj.EnquiryDetails.RFQTermsAndCondition == 'Standard') {\n let tnc = this.EnquiryObj.TermsAndConditions.filter(x => (x.TnCValue == undefined || x.TnCValue == null || x.TnCValue == ''));\n if (tnc.length > 0) {\n return;\n }\n this.EnquiryObj.CustomTermsAndConditions = null;\n }\n\n if (this.EnquiryObj.EnquiryDetails.RFQTermsAndCondition == 'Customized') {\n let ctnc = this.EnquiryObj.CustomTermsAndConditions.filter(x => (x.CustomValues == undefined || x.CustomValues == null))\n if (ctnc.length > 0) {\n return;\n }\n this.EnquiryObj.TermsAndConditions = null;\n }\n }\n //Dont proceed if the BOM attachment is not present\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x => x.Status == 'SendBOMandProposal')[0]?.Pk_Id\n || this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x => x.Status == 'QuotationSenttoCustomerService')[0]?.Pk_Id ||\n this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x => x.Status == 'RFQsentbyL1toL2')[0]?.Pk_Id) {\n if ((this.EnquiryObj.EnquiryDetails.BOMAttachment == null || this.EnquiryObj.EnquiryDetails.BOMAttachment == undefined || this.EnquiryObj.EnquiryDetails.BOMAttachment.length == 0) &&\n (this.EnquiryObj.EnquiryDetails.BOM_filename == null || this.EnquiryObj.EnquiryDetails.BOM_filename == undefined || this.EnquiryObj.EnquiryDetails.BOM_filename == \"\")) {\n this.toastr.info('BOM attachment is required.');\n return;\n }\n }\n\n // //Dont proceed if the Po attachment is not present\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x => x.Status == 'EnquiryOrderConfirmedbySalesEngg')[0]?.Pk_Id) {\n if ((this.EnquiryObj.EnquiryDetails.POAttchments == null || this.EnquiryObj.EnquiryDetails.POAttchments == undefined || this.EnquiryObj.EnquiryDetails.POAttchments.length == 0) &&\n (this.EnquiryObj.EnquiryDetails.PO_filename == null || this.EnquiryObj.EnquiryDetails.PO_filename == undefined || this.EnquiryObj.EnquiryDetails.PO_filename == \"\")) {\n this.toastr.info('PO attachment is required.');\n return;\n }\n }\n\n // //Dont proceed if the Invoice attachment is not present\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x => x.Status == 'AccountsConfirmInvoiceNo')[0]?.Pk_Id) {\n if ((this.EnquiryObj.EnquiryDetails.InvoiceAttachment == null || this.EnquiryObj.EnquiryDetails.InvoiceAttachment == undefined || this.EnquiryObj.EnquiryDetails.InvoiceAttachment.length == 0) &&\n (this.EnquiryObj.EnquiryDetails.Invoice_filename == null || this.EnquiryObj.EnquiryDetails.Invoice_filename == undefined || this.EnquiryObj.EnquiryDetails.Invoice_filename == \"\")) {\n this.EnquiryObj.EnquiryDetails.Status = this.enquiryStatusList.filter(x => x.Status == 'MaterialReadyForDispatch')[0]?.Pk_Id;\n this.toastr.info('Invoice attachment is required.');\n return;\n }\n }\n\n\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x => x.Status == 'EnquiryOrderConfirmedbySalesEngg')[0]?.Pk_Id) {\n if ((this.EnquiryObj.EnquiryDetails.POAttchments == undefined || this.EnquiryObj.EnquiryDetails.POAttchments == null || this.EnquiryObj.EnquiryDetails.POAttchments.length == 0 || this.EnquiryObj.EnquiryDetails.PO_filename == undefined || this.EnquiryObj.EnquiryDetails.PO_filename==null)) {\n //return;\n }\n }\n\n\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x => x.Status == 'OrdersentforMngmtApproval_SalesDirector')[0]?.Pk_Id) {\n if (this.isPOAttacmentDelete) {\n if ((this.EnquiryObj.EnquiryDetails.POAttchments == undefined || this.EnquiryObj.EnquiryDetails.POAttchments == null || this.EnquiryObj.EnquiryDetails.POAttchments.length == 0)) {\n //return;\n \n }\n }\n\n }\n\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x => x.Status == 'OrderConfirmedbyCustomerServiceSendSO')[0]?.Pk_Id) {\n if (this.isPOAttacmentDelete) {\n if ((this.EnquiryObj.EnquiryDetails.POAttchments == undefined || this.EnquiryObj.EnquiryDetails.POAttchments == null || this.EnquiryObj.EnquiryDetails.POAttchments.length == 0)) {\n return;\n }\n }\n }\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x => x.Status == 'AccountsConfirmInvoiceNo')[0]?.Pk_Id) {\n if (this.EnquiryObj.EnquiryDetails.InvoiceAttachment == undefined) {\n this.EnquiryObj.EnquiryDetails.Status = this.enquiryStatusList.filter(x => x.Status == 'MaterialReadyForDispatch')[0]?.Pk_Id\n return;\n }\n }\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x => x.Status == 'OrdersentforMngmtApproval_SalesDirector')[0]?.Pk_Id ||\n this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x => x.Status == 'OrderConfirmedbyCustomerServiceSendSO')[0]?.Pk_Id) {\n let sum: number = 0;\n this.EnquiryObj.POValues.forEach(element => {\n element.ProductModelPOValue = (element.ProductModelPOValue == null || element.ProductModelPOValue == '' || element.ProductModelPOValue == undefined)\n ? '0' : element.ProductModelPOValue;\n sum = sum + parseInt(element.ProductModelPOValue);\n element.QUotationValueValidation = false;\n });\n if (sum.toString() != this.EnquiryObj.EnquiryDetails.POValue) {\n document.getElementById(\"povalue0\").focus();\n this.toastr.info('Total PO value and product wise PO values are not matching.');\n this.EnquiryObj.EnquiryDetails.Status = this.PreviousStatus;\n this.UpdatePO = false;\n return;\n }\n }\n\n setTimeout(() => this.openPopup());\n }\n openPopup() {\n var confimrmsg = this.AppGlobals.successMessages.filter(x => x.id == this.EnquiryObj.EnquiryDetails.Status)[0];\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"You want to proceed?\"\n }\n });\n dialogRef.afterClosed().subscribe(dialogResult => {\n if (dialogResult) {\n this.updateLoaderEvent.emit(true);\n const frmData = new FormData();\n this.EnquiryObj.RFQObject.forEach(item => {\n item.IsRowDeleted = false;\n });\n if (this.EnquiryObj.EnquiryDetails.EnquiryDate != undefined) {\n this.EnquiryObj.EnquiryDetails.EnquiryDateISO = new Date(this.convertDate(new NgbDate(this.EnquiryObj.EnquiryDetails.EnquiryDate.year, this.EnquiryObj.EnquiryDetails.EnquiryDate.month, this.EnquiryObj.EnquiryDetails.EnquiryDate.day))).toDateString();\n }\n if (this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate != undefined) {\n this.EnquiryObj.EnquiryDetails.TentativeDeliveryDateISO = new Date(this.convertDate(new NgbDate(this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate.year, this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate.month, this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate.day))).toDateString();\n }\n if (this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate != undefined) {\n this.EnquiryObj.EnquiryDetails.RequestedDeliveryDateISO = new Date(this.convertDate(new NgbDate(this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate.year, this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate.month, this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate.day))).toDateString();\n }\n if (this.EnquiryObj.EnquiryDetails.EnquiryDate != undefined) {\n this.EnquiryObj.EnquiryDetails.EnquiryDate = new Date(this.convertDate(new NgbDate(this.EnquiryObj.EnquiryDetails.EnquiryDate.year, this.EnquiryObj.EnquiryDetails.EnquiryDate.month, this.EnquiryObj.EnquiryDetails.EnquiryDate.day)));\n }\n if (this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate != undefined) {\n this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate = new Date(this.convertDate(new NgbDate(this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate.year, this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate.month, this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate.day)));\n }\n if (this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate != undefined) {\n this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate = new Date(this.convertDate(new NgbDate(this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate.year, this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate.month, this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate.day)));\n }\n\n if (this.EnquiryObj.EnquiryDetails.RFQTermsAndCondition == \"Customized\") {\n this.EnquiryObj.TermsAndConditions = null;\n\n if (this.QGRFQEditable == true) {\n this.EnquiryObj.CustomTermsAndConditions;\n\n } else {\n this.EnquiryObj.CustomTermsAndConditions = this.custtermscond;\n }\n }\n\n let EnquiryObj = JSON.stringify(this.EnquiryObj);\n frmData.append(\"EnquiryModel\", EnquiryObj);\n\n\n if (this.EnquiryObj.EnquiryDetails.QuoteGenAttachments != null) {\n for (let i = 0; i < this.EnquiryObj.EnquiryDetails.QuoteGenAttachments.length; i++) {\n frmData.append(\"QuoteGenAttachments[\" + i + \"]\", this.EnquiryObj.EnquiryDetails.QuoteGenAttachments[i]);\n }\n }\n for (let i = 0; i < this.EnquiryObj.RFQObject.length; i++) {\n if (this.EnquiryObj.RFQObject[i].MDSAttachment != undefined) {\n frmData.append(\"MDSAttachment[\" + i + \"]\", this.EnquiryObj.RFQObject[i].MDSAttachment[0]);\n }\n if (this.EnquiryObj.RFQObject[i].ITCAttachment != undefined) {\n frmData.append(\"ITCAttachment[\" + i + \"]\", this.EnquiryObj.RFQObject[i].ITCAttachment[0]);\n }\n if (this.EnquiryObj.RFQObject[i].CustomerAttachment != undefined) {\n frmData.append(\"CustomerAttachment[\" + i + \"]\", this.EnquiryObj.RFQObject[i].CustomerAttachment[0]);\n }\n if (this.EnquiryObj.RFQObject[i].WeissAttachment != undefined) {\n frmData.append(\"WeissAttachment[\" + i + \"]\", this.EnquiryObj.RFQObject[i].WeissAttachment[0]);\n }\n }\n if (this.EnquiryObj.EnquiryDetails.BOMAttachment) {\n frmData.append(\"BOMAttachment\", this.EnquiryObj.EnquiryDetails.BOMAttachment[0]);\n }\n if (this.EnquiryObj.EnquiryDetails.InvoiceAttachment) {\n frmData.append(\"InvoiceAttachment\", this.EnquiryObj.EnquiryDetails.InvoiceAttachment[0]);\n }\n if (this.EnquiryObj.EnquiryDetails.POAttchments) {\n frmData.append(\"POAttchments\", this.EnquiryObj.EnquiryDetails.POAttchments[0]);\n }\n\n this.commonService.PostData(\"Enquiry\", \"Add\", frmData, null).subscribe((data: any) => {\n this.customerDrpdnDetails = data;\n this.EnquiryObj.EnquiryDetails.EnquiryId = data;\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x => x.Status == 'OANoGenerated')[0]?.Pk_Id) {\n this.toastr.success(\"OA Number generated successfully\");\n }\n else {\n this.toastr.success(confimrmsg.successmsg);\n }\n\n this.updateLoaderEvent.emit(false);\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x => x.Status == 'RFQAcceptedbyL1')[0]?.Pk_Id ||\n this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x => x.Status == 'QuotationRevision')[0]?.Pk_Id ||\n this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x => x.Status == 'RFQSubmittedbyL1')[0]?.Pk_Id ||\n this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x => x.Status == 'RFQSubmittedbyL2')[0]?.Pk_Id ||\n this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x => x.Status == 'RFQSubmittedbyL3')[0]?.Pk_Id ||\n this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x => x.Status == 'RFQSubmittedbyCustomerService')[0]?.Pk_Id ||\n this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x => x.Status == 'OANoGenerated')[0]?.Pk_Id) {\n // this.router.navigate(['/EditViewEnquiry/' + this.EnquiryObj.EnquiryDetails.EnquiryId]);\n window.location.reload();\n } else {\n this.router.navigate(['/Enquiry']);\n //this.backtoList();\n }\n }, error => {\n this.toastr.error(confimrmsg.errormsg);\n this.updateLoaderEvent.emit(false);\n });\n } else {\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x => x.Status == 'QuotationRevision')[0]?.Pk_Id) {\n this.chosenItem = \"2\";\n this.quoterevcomments = this.EnquiryObj.EnquiryDetails.Comments;\n this.EnquiryObj.EnquiryDetails.Comments = \"\";\n }\n else {\n\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x => x.Status == 'OrdersentforMngmtApproval_SalesDirector')[0]?.Pk_Id ||\n this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x => x.Status == 'OrderConfirmedbyCustomerServiceSendSO')[0]?.Pk_Id) {\n this.UpdatePO = false;\n }\n if (this.PreviousStatus > 0) {\n this.EnquiryObj.EnquiryDetails.Status = this.PreviousStatus;\n }\n\n }\n\n }\n });\n\n }\n povalueChange(i) {\n var povalue: number = parseFloat(this.EnquiryObj.POValues[i].ProductModelPOValue);\n if (povalue == undefined || povalue == null) {\n this.EnquiryObj.POValues[i].QUotationValueValidation = true;\n this.IsPODataValid = false;\n } else if (povalue < 0) {\n this.EnquiryObj.POValues[i].QUotationValueValidation = true;\n this.IsPODataValid = false;\n } else if (povalue % 1 != 0) {\n this.EnquiryObj.POValues[i].QUotationValueValidation = true;\n this.IsPODataValid = false;\n } else if (this.EnquiryObj.POValues[i].ProductModelPOValue.toString().includes(\".\")) {\n this.EnquiryObj.POValues[i].QUotationValueValidation = true;\n this.IsPODataValid = false;\n }\n else {\n this.EnquiryObj.POValues[i].QUotationValueValidation = false;\n }\n }\n \n \n convertDate(date: any) {\n let year = date.year;\n let month = date.month;\n let day = date.day;\n return year + \"-\" + month + \"-\" + day;\n }\n\n\n downloadPDF() {\n const url = this.QuotationPdfGenerationHostPath + 'uploads/pdf/' + this.EnquiryObj.EnquiryDetails.QuotationPdf_filename;\n window.open(url, \"download\");\n }\n\n DownloadPDFfromServer(Filename: any) {\n this.commonService.gereatePDF('Enquiry', 'DownloadPDF', Filename).subscribe((data: any) => {\n\n importedSaveAs(data, Filename);\n });\n }\n \n\n onSelectDate(date: NgbDateStruct, dateType: string) {\n if (date != null) {\n if (dateType == 'RequestedDeliveryDate') {\n this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate = date;\n this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate = this.ngbDateParserFormatter.format(date);\n }\n else if (dateType == 'EnquiryDate') {\n this.EnquiryObj.EnquiryDetails.EnquiryDate = date;\n this.EnquiryObj.EnquiryDetails.EnquiryDate = this.ngbDateParserFormatter.format(date);\n }\n\n }\n }\n\n onIndustrySegmentSelect(value) {\n if (value != null) {\n this.SubSegment = this.FinalSubSegment.filter(x => x.SegmentId == value);\n this.Application = [];\n // this.EnquiryObj.EnquiryDetails.subSegment = undefined;\n // this.EnquiryObj.EnquiryDetails.application = undefined;\n }\n }\n onSubSegmentSelect(value) {\n if (value != null) {\n this.Application = this.FinalApplication.filter(x => x.SubSegmentId == value);\n }\n }\n\n\n\n openCloseOppReasonPopup() {\n const modalRef = this.modalService.open(CloseOppReasonComponent, {\n size: 'lg', backdrop: 'static', keyboard: false\n });\n\n var enquiObj = {\n EnquiryId: this.EnquiryObj.EnquiryDetails.EnquiryId,\n // EnquiryStatus: this.EnquiryObj.EnquiryDetails.Status,\n // EnqTermsConditionSelected: this.EnquiryObj.EnquiryDetails.RFQTermsAndCondition,\n // IsQuotationPriceOnRequest: this.EnquiryObj.EnquiryDetails.IsQuotationPriceOnRequest,\n // TermsAndCondition: this.EnquiryObj.TermsAndConditions,\n // CustomTermsAndCondition: this.EnquiryObj.CustomTermsAndConditions,\n // PendingAtRoleId: this.EnquiryObj.EnquiryDetails.PendingAtRoleId\n }\n\n modalRef.componentInstance.enquiryDataObj = enquiObj;\n modalRef.result.then((result) => {\n this.closeResult = `Closed with:${result}`;\n if (this.closeResult !== 'Closed with:Close click') {\n this.ngOnInit();\n }\n });\n }\n\n\n maxCharLimit: any = 50;\n remCharLimit: any = 50;\n maxappdescLimit: any = 1500;\n remappdescLimit: any = 1500;\n\n limitTextOnKeyUpDown2(event: any) {\n let goalText = event.target.value;\n if (goalText.length > this.maxCharLimit) {\n this.varLongTermGoal = goalText.substring(0, this.maxCharLimit);\n } else {\n this.remCharLimit = this.maxCharLimit - goalText.length;\n }\n }\n\n limitTextOnKeyUpDown3(event: any) {\n let goalText = event.target.value;\n if (goalText.length > this.maxappdescLimit) {\n this.varLongTermGoal = goalText.substring(0, this.maxappdescLimit);\n } else {\n this.remappdescLimit = this.maxappdescLimit - goalText.length;\n }\n }\n\n AddNewRow(index) {\n if (this.EnquiryObj.CompetitorDetailObj[index].CompetitorName != undefined &&\n this.EnquiryObj.CompetitorDetailObj[index].ModelName != undefined &&\n this.EnquiryObj.CompetitorDetailObj[index].Price != undefined) {\n this.EnquiryObj.CompetitorDetailObj[index].IsRowDeleted = true;\n var obj = new CompetitorDetails();\n this.EnquiryObj.CompetitorDetailObj.push(obj);\n }\n else {\n this.toastr.info(\"Please fill mandatory details before adding new row.\");\n }\n }\n\n\n deleterow(index: any) {\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Do you want to delete this row?\"\n }\n });\n dialogRef.afterClosed().subscribe(dialogResult => {\n if (dialogResult) {\n if (index != null) {\n this.EnquiryObj.CompetitorDetailObj.splice(index, 1);\n } else {\n this.EnquiryObj.CompetitorDetailObj.pop();\n }\n }\n });\n }\n\n getAllWorkFlow() {\n this.commonService.GetData(\"Workflow\", \"GetAll\", null).subscribe((data: any) => {\n \n if(data!=null){\n var workflowData = data;\n this.workflowId=workflowData.filter(x=>x.document_type_code == \"ENQUIRY_CONFIRMATION\")[0].workflow_id;\n this.getWorkflowActions(this.workflowId);\n }\n this.updateLoaderEvent.emit(false);\n }, error => {\n this.updateLoaderEvent.emit(false);\n });\n }\n\n getWorkflowActions(workflowId:any) {\n let queryString = \"\";\n queryString = \"enquiryId=\" + this.EnquiryObj.EnquiryDetails.EnquiryId + \"&workflowId=\" + workflowId;\n this.updateLoaderEvent.emit(true);\n this.commonService.GetData(\"EnquiryWorkflowTransitionRules\", \"GetTransitionRulesByStatus\", queryString).subscribe((data: any) => {\n if(data!=null)\n {\n var filteredArray:any[]=[];\n data.forEach(element => {\n if(!filteredArray.includes(element.workflowActionCode))\n {\n filteredArray.push(element);\n }\n });\n this.workflowActionList = filteredArray; \n } \n this.chosenItem = \"1\"; \n \n this.filterRule = this.workflowActionList.filter(x => x.workflowActionCode == 'Submit');\n this.updateLoaderEvent.emit(false);\n }, error => {\n this.updateLoaderEvent.emit(false);\n });\n }\n\n getEnquiryStatus() {\n this.commonService.GetData(\"Enquiry\", \"GetEnquiryStatus\", null).subscribe((data: any) => {\n this.enquiryStatusList = data;\n this.updateLoaderEvent.emit(false);\n }, error => {\n this.updateLoaderEvent.emit(false);\n });\n }\n\n OnWorkflowAction(myform5: NgForm, workflowActionId: number) {\n var rule = this.workflowActionList.filter(x => x.workflowActionId == workflowActionId);\n myform5.control.markAllAsTouched();\n if (myform5.invalid) {\n this.toastr.error(\"Please fill required information\");\n return;\n }\n this.SetStatus(rule, myform5);\n }\n getUserRoles(){\n this.commonService.GetData(\"Account\", \"GetAll\", null).subscribe((data: any) => {\n this.UserRolesData = data;\n \n this.updateLoaderEvent.emit(false);\n }, error => {\n this.updateLoaderEvent.emit(false);\n });\n }\n\n sendbackRules:EnquirySendBack[]=[];\n getSendbackWorkfow()\n {\n this.updateLoaderEvent.emit(true);\n this.commonService.GetData(\"EnquiryWorkflowTransitionRules\",\"GetWorkflowSendbackRule\", null).subscribe((data: any) => {\n this.sendbackRules=data;\n this.updateLoaderEvent.emit(false);\n }, error => {\n this.updateLoaderEvent.emit(false);\n });\n }\n\n rule:EnquirySendBack;\n SendBack()\n { \n var quotationRule= this.sendbackRules.filter(x=>x.WorkflowId==this.workflowId);\n this.rule=quotationRule[0];\n //this.rule.EnquiryId=this.EnquiryObj.EnquiryDetails.EnquiryId;\n const modalRef = this.modalService.open(SendBackCommentComponent, {\n size: 'lg', backdrop: 'static', keyboard: false\n });\n var sendBackObj = {\n EnquiryId: this.EnquiryObj.EnquiryDetails.EnquiryId,\n workflowId: this.workflowId,\n finalrule: this.rule\n }\n modalRef.componentInstance.sendBackObj = sendBackObj;\n modalRef.result.then((result) => {\n this.closeResult = `Closed with:${result}`;\n if (this.closeResult !== 'Closed with:Close click') {\n this.ngOnInit();\n }\n }); \n }\n\n getAllCategoryRegion() {\n this.showLoader = true;\n this.commonService.GetData(\"ReasonEnquiryWinLoss\", \"GetAllReasonCategory\", null).subscribe((data: any) => {\n this.CategoryRegion = data;\n this.DupCategoryRegion = data;\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n\n \n editFileDetails(event, index) {\n let file = event.target.files[0];\n let isValidFile = true;\n if (((file.size) / 1000000) <= 5) {\n isValidFile = this.allowedFileType.includes(file.type);\n if (!isValidFile) {\n this.toastr.warning(\"Invalid file attached!\");\n switch (event.target.name) {\n case \"mdsfile\":\n this.EnquiryObj.RFQObject[index].MDSAttachment = [];\n this.EnquiryObj.RFQObject[index].isMDSAttachment = false;\n break;\n case \"itcfile\":\n this.EnquiryObj.RFQObject[index].ITCAttachment = [];\n this.EnquiryObj.RFQObject[index].isITCAttachment = false;\n break;\n case \"customerfile\":\n this.EnquiryObj.RFQObject[index].CustomerAttachment = [];\n this.EnquiryObj.RFQObject[index].isCustomerAttachment = false;\n break;\n case \"weissfile\":\n this.EnquiryObj.RFQObject[index].WeissAttachment = [];\n this.EnquiryObj.RFQObject[index].isWeissAttachment = false;\n break;\n case \"bomfile\":\n this.EnquiryObj.EnquiryDetails.BOMAttachment = [];\n this.isBOMAttachment = false;\n break;\n case \"ecfile\":\n this.EnquiryObj.EnquiryDetails.POAttchments = [];\n break;\n case \"accfile\":\n this.EnquiryObj.EnquiryDetails.InvoiceAttachment = [];\n this.isInvoiceAttachment = false;\n break;\n case \"activityfile\":\n this.activityDetails[index].Attachment = [];\n this.activityDetails[index].isActivityAttachment = false;\n break;\n }\n event.target.value = null;\n isValidFile = false;\n } else if (file.name.length > 50) {\n this.toastr.warning(\"The file name with more than 50 characters are not allowed.\");\n switch (event.target.name) {\n case \"mdsfile\":\n this.EnquiryObj.RFQObject[index].MDSAttachment = [];\n this.EnquiryObj.RFQObject[index].isMDSAttachment = false;\n break;\n case \"itcfile\":\n this.EnquiryObj.RFQObject[index].ITCAttachment = [];\n this.EnquiryObj.RFQObject[index].isITCAttachment = false;\n break;\n case \"customerfile\":\n this.EnquiryObj.RFQObject[index].CustomerAttachment = [];\n this.EnquiryObj.RFQObject[index].isCustomerAttachment = false;\n break;\n case \"weissfile\":\n this.EnquiryObj.RFQObject[index].WeissAttachment = [];\n this.EnquiryObj.RFQObject[index].isWeissAttachment = false;\n break;\n case \"bomfile\":\n this.EnquiryObj.EnquiryDetails.BOMAttachment = [];\n this.isBOMAttachment = false;\n break;\n case \"ecfile\":\n this.EnquiryObj.EnquiryDetails.POAttchments = [];\n break;\n case \"accfile\":\n this.EnquiryObj.EnquiryDetails.InvoiceAttachment = [];\n this.isInvoiceAttachment = false;\n break;\n case \"activityfile\":\n this.activityDetails[index].Attachment = [];\n this.activityDetails[index].isActivityAttachment = false;\n break;\n }\n event.target.value = null;\n isValidFile = false;\n }\n }\n else {\n this.toastr.warning(\"File size must be less than or equal to 5MB!\");\n switch (event.target.name) {\n case \"mdsfile\":\n this.EnquiryObj.RFQObject[index].MDSAttachment = [];\n this.EnquiryObj.RFQObject[index].isMDSAttachment = false;\n break;\n case \"itcfile\":\n this.EnquiryObj.RFQObject[index].ITCAttachment = [];\n this.EnquiryObj.RFQObject[index].isITCAttachment = false;\n break;\n case \"customerfile\":\n this.EnquiryObj.RFQObject[index].CustomerAttachment = [];\n this.EnquiryObj.RFQObject[index].isCustomerAttachment = false;\n break;\n case \"weissfile\":\n this.EnquiryObj.RFQObject[index].WeissAttachment = [];\n this.EnquiryObj.RFQObject[index].isWeissAttachment = false;\n break;\n case \"bomfile\":\n this.EnquiryObj.EnquiryDetails.BOMAttachment = [];\n this.isBOMAttachment = false;\n break;\n case \"ecfile\":\n this.EnquiryObj.EnquiryDetails.POAttchments = [];\n break;\n case \"accfile\":\n this.EnquiryObj.EnquiryDetails.InvoiceAttachment = [];\n this.isInvoiceAttachment = false;\n break;\n case \"activityfile\":\n this.activityDetails[index].Attachment = [];\n this.activityDetails[index].isActivityAttachment = false;\n break;\n }\n event.target.value = null;\n isValidFile = false;\n }\n if (isValidFile) {\n //CHECK IF THE FILE NAME IS NOT TOO BIG\n\n switch (event.target.name) {\n case \"mdsfile\":\n this.EnquiryObj.RFQObject[index].MDSAttachment = [];\n this.EnquiryObj.RFQObject[index].MDSAttachment.push(file);\n this.EnquiryObj.RFQObject[index].isMDSAttachment = true;\n break;\n case \"itcfile\":\n if (!(file.type == 'application/xml' || file.type == 'text/xml')) {\n this.toastr.warning(\"Only xml file supported!\");\n this.EnquiryObj.RFQObject[index].ITCAttachment = [];\n this.EnquiryObj.RFQObject[index].isITCAttachment = false;\n event.target.value = null;\n isValidFile = false;\n }\n else {\n // const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n // maxWidth: \"400px\",\n // data: {\n // title: \"Are you sure?\",\n // message: 'Please make sure that the entered Product and ITC Product are being matched. Do you want to continue?'\n // }\n // });\n // dialogRef.afterClosed().subscribe(dialogResult => {\n // if (dialogResult) {\n this.EnquiryObj.RFQObject[index].ITCAttachment = [];\n this.EnquiryObj.RFQObject[index].ITCAttachment.push(file);\n this.EnquiryObj.RFQObject[index].isITCAttachment = true;\n // }\n // });\n\n }\n break;\n case \"customerfile\":\n this.EnquiryObj.RFQObject[index].CustomerAttachment = [];\n this.EnquiryObj.RFQObject[index].CustomerAttachment.push(file);\n this.EnquiryObj.RFQObject[index].isCustomerAttachment = true;\n break;\n case \"weissfile\":\n this.EnquiryObj.RFQObject[index].WeissAttachment = [];\n this.EnquiryObj.RFQObject[index].WeissAttachment.push(file);\n this.EnquiryObj.RFQObject[index].isWeissAttachment = true;\n break;\n case \"bomfile\":\n this.EnquiryObj.EnquiryDetails.BOMAttachment = [];\n this.EnquiryObj.EnquiryDetails.BOMAttachment.push(file);\n this.isBOMAttachment = true;\n break;\n case \"ecfile\":\n this.EnquiryObj.EnquiryDetails.POAttchments = [];\n this.EnquiryObj.EnquiryDetails.POAttchments.push(file);\n this.isPOAttachment = true;\n break;\n case \"accfile\":\n this.EnquiryObj.EnquiryDetails.InvoiceAttachment = [];\n this.EnquiryObj.EnquiryDetails.InvoiceAttachment.push(file);\n this.isInvoiceAttachment = true;\n break;\n case \"activityfile\":\n this.activityDetails[index].Attachment = [];\n this.activityDetails[index].Attachment.push(file);\n this.activityDetails[index].isActivityAttachment = true;\n break;\n }\n }\n }\n deletePOAttachment(flag: any) {\n // this.EnquiryObj.EnquiryDetails.POAttchments = [];\n // this.isPOAttachment = false;\n if (flag == 1) {\n this.EnquiryObj.RemoveFiles.push(this.EnquiryObj.EnquiryDetails.PO_filepath);\n this.isPOAttacmentDelete = true;\n }\n this.isBOMAttachment = false;\n this.EnquiryObj.EnquiryDetails.POAttchments = [];\n this.EnquiryObj.EnquiryDetails.PO_filename = null;\n this.EnquiryObj.EnquiryDetails.PO_filepath = null;\n this.isPOAttachment = false;\n }\n}\n","\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n Enquiry Confirmation\n

    \n
    \n
    \n
    \n \n
    \n
    \n
    \n * Marked fields are\n mandatory\n
    \n
    \n
    \n \n \n Enquiry\n Confirmation\n   \n Quotation\n Revision\n \n

    \n
    \n\n
    \n \n
    \n \n Limit {{maxLimit}} characters,\n {{remLimit}} characters\n remaining.\n
    \n
    \n Comment is\n required\n
    \n
    \n
    \n
    \n\n\n
    \n
    \n \n \n
    \n \n \n
    \n
    \n \n
    \n \n
    \n
    \n Enquiry status is\n required\n
    \n
    \n
    \n
    \n\n \n\n
    \n \n
    \n
    \n Reason Category is required\n
    \n
    \n
    \n\n
    \n\n
    \n \n
    \n \n
    \n
    \n Reason is\n required\n
    \n
    \n
    \n
    \n\n
    \n\n \n
    \n \n
    \n
    \n PO Value must be an integer\n
    \n
    \n PO value is\n required\n
    \n
    \n
    \n
    \n \n\n
    \n
    \n Attach PO/LOI\n \n
    \n
    \n {{AppGlobals.supportedFileFormatsForOtherAttachments}}\n
    \n PO attachment is\n required\n
    \n
    \n {{EnquiryObj.EnquiryDetails.POAttchments\n != undefined &&\n EnquiryObj.EnquiryDetails.POAttchments[0]\n != undefined ?\n EnquiryObj.EnquiryDetails.POAttchments[0].name:\n \"\"}}\n
    \n
    \n\n
    \n \n\n\n
    \n\n
    \n \n Application\n
    \n
    \n \n
    \n \n
    \n
    \n Industry segment is required\n
    \n
    \n
    \n\n
    \n\n \n
    \n \n
    \n
    \n Sub segment is required
    \n
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n Application name is required\n
    \n
    \n\n
    \n\n
    \n\n \n
    \n \n Limit {{maxCharLimit}}\n characters,\n {{remCharLimit}} characters\n remaining.\n
    \n
    \n End Customer is\n required\n
    \n
    \n
    \n
    \n
    \n \n\n
    \n \n Limit {{maxappdescLimit}}\n characters,\n {{remappdescLimit}} characters\n remaining.\n
    \n
    \n Application Description is\n required\n
    \n
    \n
    \n
    \n
    \n \n Competitor Details\n \n
    \n\n
    \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n\n \n
    \n Competitor Name\n \n Model Number\n \n Competitor Price\n \n Action\n
    \n\n \n\n
    \n \n Competitor Name is required\n \n
    \n\n
    \n \n
    \n \n Model Name is required\n \n
    \n\n
    \n \n
    \n Price is\n required\n Please enter\n an integer value\n
    \n
    \n \n
    \n
    \n\n
    \n \n
    \n \n Limit {{maxLimit}} characters,\n {{remLimit}} characters\n remaining.\n
    \n
    \n Comment is\n required\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n    \n \n \n \n
    \n\n\n
    \n
    \n
    \n
    \n\n
    ","import { Component, Input, OnInit } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { NgbActiveModal, NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { ToastrService } from 'ngx-toastr';\nimport { CommonService } from 'src/app/Service/common.service';\n\n@Component({\n selector: 'app-pass-on',\n templateUrl: './pass-on.component.html',\n styleUrls: ['./pass-on.component.scss']\n})\nexport class PassOnComponent implements OnInit {\n @Input() showLoader: boolean = false;\n @Input() enqObj: any;\n userid: any;\n salesEnggList: any;\n selectedSalesEngg: any;\n seList: any[];\n currentSalesEngg: any;\n selectedRegion: any = 0;\n SelectedEnquiryID: any;\n salesRegionValidation: boolean;\n salesEnggValidation: boolean;\n constructor(private toastr: ToastrService,private activeModal: NgbActiveModal,\n private commonService: CommonService,private modalService: NgbModal, public dialog: MatDialog) { }\n\n ngOnInit(): void {\n this.getAllSalesEngg();\n }\n getAllSalesEngg() {\n this.showLoader = true;\n\n this.commonService.GetData('Enquiry', 'GetSalesEnggList', null).subscribe((data: any) => {\n this.salesEnggList = data;\n \n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n\n onRegionChange() {\n this.seList = [];\n this.selectedSalesEngg = undefined;\n this.salesRegionValidation = false;\n this.seList = this.salesEnggList.filter(x=>x.Region.Id==this.selectedRegion)[0]?.SalesEnggList;\n if (!(this.seList==null || this.seList==undefined)) {\n this.seList = this.seList.filter(x=>x.Id!=this.enqObj.Initiator_Id);\n }\n \n }\n onEnggChange() {\n this.salesEnggValidation= false;\n }\n\n PassonToPerson() {\n if (this.selectedRegion==undefined || this.selectedRegion==null || this.selectedRegion==0) {\n this.salesRegionValidation = true;\n this.salesEnggValidation = true;\n return;\n }\n if (this.selectedSalesEngg==undefined || this.selectedSalesEngg==null || this.selectedSalesEngg==0) {\n this.salesEnggValidation = true;\n return;\n }\n var PassOnViewModel = {\n EnquiryId:this.enqObj.EnquiryId,\n User: this.selectedSalesEngg\n }\n this.showLoader = true;\n this.commonService.PostData(\"Enquiry\",\"PassOn\",PassOnViewModel,null).subscribe(res =>{\n this.toastr.success('Enquiry passed on successfully!');\n this.showLoader = false;\n this.activeModal.close('Close Click');\n },error=>{\n this.toastr.error('Failed to Pass on the enquiry.');\n this.showLoader = false;\n })\n }\n closePopup() {\n this.activeModal.close('Close Click');\n }\n\n\n}\n","\n
    \n \n\n
    \n\n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n

    \n Enquiry Forward\n

    \n
    \n
    \n
    \n
    \n \n
    \n\n \n
    \n \n
    \n Region is required\n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n Sales Engineer is required\n
    \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n
    \n   \n \n
    \n
    \n\n \n
    \n
    \n
    \n","import { Component, OnInit, Input, EventEmitter, Output, ChangeDetectorRef, ViewChild } from '@angular/core';\nimport { Sort } from '@angular/material/sort';\nimport { CommonService } from 'src/app/Service/common.service';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { ToastrService } from 'ngx-toastr';\nimport { ConfirmDialogComponent } from 'src/app/confirm-dialog/confirm-dialog.component';\nimport { MatDialog } from '@angular/material/dialog';\nimport { string } from '@amcharts/amcharts4/core';\nimport { EnquiryExportToExcelModel, EnquiryGridFilterList, EnquiryGridModel, EnquiryModel, EnquiryPaginationGrid } from 'src/app/Model/EnquiryModel';\nimport { UserRoles } from 'src/app/UserRoles';\nimport { ActivityDetailsComponent } from '../activity-details/activity-details.component';\nimport { NgbCalendar, NgbDate, NgbDateParserFormatter, NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { PassOnComponent } from '../pass-on/pass-on.component';\nimport { ActivatedRoute } from '@angular/router';\nimport { Title } from '@angular/platform-browser';\nimport { AppGlobals } from 'src/app/app.global';\nimport { DatePipe } from '@angular/common';\nimport { AddActivityComponent } from '../../customer-engagement/activity/add-activity/add-activity.component';\nimport { AppConfigService } from 'src/app/Service/app-config.service';\n\n\n@Component({\n selector: 'app-pending-enquiry',\n templateUrl: './pending-enquiry.component.html',\n styleUrls: ['./pending-enquiry.component.scss']\n})\nexport class PendingEnquiryComponent implements OnInit {\n\n displayedColumns: string[] = ['EnquiryId', 'EnquiryDate', 'CustomerName', 'QuotationNumber', 'Products',\n 'EnquiryValue', 'Discount', 'EnquiryWinLostOpenStatus', 'EstimatedProductvalue', 'RegionName',\n 'IndustrySegment', 'SubSegment', 'CustomerClassification',\n 'ActivityType', 'Activity_Subject', 'ActivityStatus', 'ActivityPurpose', 'ActivityPurposeDesc', 'Activity_Outcome', 'Activity_OutcomeDesc',\n 'EnquiryStatus', 'InitiatorName', 'Action'];\n\n\n EnquiryGridFilterList: EnquiryGridFilterList = new EnquiryGridFilterList();\n minDate: NgbDate;\n maxDate: NgbDate;\n datePipe = new DatePipe('en-US');\n\n dataSource: MatTableDataSource;\n disabled: boolean = false;\n @Input()\n EnquiryId: number;\n AppRoles = UserRoles;\n AppGlobals = AppGlobals;\n QuotationDownloadPath = this.AppGlobals.QuotationFileDownloadUrl;\n EnquiryngbDateFromFiter: NgbDate | null;\n EnquiryngbDateToFiter: NgbDate | null;\n hoveredDate: NgbDate | null = null;\n charCode: any;\n ExportToExcelData: EnquiryExportToExcelModel[] = [];\n TempEnquiryData: any[] = [];\n\n /*************************************************************************\n Server side Pagination purpose\n *************************************************************************/\n pageNumber: number = 1;\n @Input() pageSize: number = 100;\n @Input() length: number;\n @Input() pageIndex: number = this.pageNumber - 1;\n direction: string = 'desc';\n ColumnName: string = 'ModifiedOn';\n SearchText: string = \"\";\n @Output('matSortChange') sortChange: EventEmitter\n @ViewChild(MatPaginator) paginator: MatPaginator;\n SearchColname: string = \"\";\n SearchColKeyword: string = \"\";\n\n PaginationModel: EnquiryPaginationGrid = new EnquiryPaginationGrid();\n /*************************************************************************\n End here\n *************************************************************************/\n\n @Input()\n showLoader: boolean = false;\n data: any[] = [];\n alldata: any;\n role: string;\n userid: string;\n closeResult: string;\n salesEnggList: any;\n selectedRegion: any;\n seList: any;\n SelectedEnquiryID: any;\n selectedSalesEngg: any;\n salesRegionValidation: boolean;\n salesEnggValidation: boolean;\n currentSalesEngg: any;\n\n /************************USED FOR ROWSPAN************************/\n gridData: any[] = [];\n spans = [];\n tempRowId = null;\n tempRowCount = null;\n /************************USED FOR ROWSPAN END************************/\n\n constructor(private toastr: ToastrService,\n private cd: ChangeDetectorRef, private commonService: CommonService, private modalService: NgbModal, public dialog: MatDialog\n , private titleService: Title, private route: ActivatedRoute, private calendar: NgbCalendar, public formatter: NgbDateParserFormatter,\n private appConfigService: AppConfigService) {\n this.minDate = new NgbDate(2018, 1, 1);\n this.maxDate = new NgbDate(new Date().getFullYear(), new Date().getMonth() + 1, new Date().getDate());\n }\n\n ngOnInit() {\n this.commonService.RefreshHeaderFun();\n const appConfig = this.appConfigService.getConfig();\n const dynamicTitle = this.route.snapshot.data['title'];\n this.titleService.setTitle(`${dynamicTitle} - ${appConfig.titleName}`);\n //this.titleService.setTitle(this.route.snapshot.data['title'] + \" - ECOTECH\");\n this.role = localStorage.getItem(\"UserRole\");\n this.userid = localStorage.getItem(\"UserID\");\n this.GetAllEnquiryGridFilterList();\n this.GetAllEnquiry();\n }\n\n\n /*************************************************************************\n * Below function used for Server side Pagination,Sorting and Searching\n * (1)GetAllEmployeeDetails() - To get data for grid\n * (2)SearchParam() - searching\n * (3)sortData() - Sorting\n * (4)pageEvent() - Pagination\n * \n * ***********************************************************************/\n\n GetAllEnquiry() {\n // var x = document.getElementsByClassName(\"table-responsive\");\n // var i;\n // for (i = 0; i < x.length; i++) {\n // x[i].scrollLeft = 0;\n\n // }\n this.showLoader = true;\n\n this.PaginationModel.pageNumber = this.pageNumber;\n this.PaginationModel.pageSize = this.pageSize;\n this.PaginationModel.SearchText = this.SearchText;\n this.PaginationModel.direction = this.direction;\n this.PaginationModel.ColumnName = this.ColumnName;\n\n if (this.EnquiryngbDateToFiter != undefined && this.EnquiryngbDateToFiter != null) {\n this.PaginationModel.EnquiryDateToFiter = (this.ConvertNgbDateToDate(this.EnquiryngbDateToFiter)).toDateString();\n }\n else {\n this.PaginationModel.EnquiryDateToFiter = null;\n }\n\n if (this.EnquiryngbDateFromFiter != undefined && this.EnquiryngbDateFromFiter != null) {\n this.PaginationModel.EnquiryDateFromFiter = (this.ConvertNgbDateToDate(this.EnquiryngbDateFromFiter)).toDateString();\n }\n else {\n this.PaginationModel.EnquiryDateFromFiter = null;\n }\n\n let QuotationValueFromFilter: number = +this.PaginationModel.QuotationValueFromFilter;\n let QuotationValueToFilter: number = +this.PaginationModel.QuotationValueToFilter;\n if (this.PaginationModel.QuotationValueFromFilter != null && QuotationValueFromFilter > 0 && QuotationValueToFilter > 0 && this.PaginationModel.QuotationValueToFilter != null) {\n if (QuotationValueToFilter < QuotationValueFromFilter) {\n alert(\"To Quotation value should be greater than From Quotation value.\")\n this.PaginationModel.QuotationValueFromFilter = null;\n }\n }\n\n\n let DiscountFromFilter: number = +this.PaginationModel.DiscountFromFilter;\n let DiscounToFilter: number = +this.PaginationModel.DiscounToFilter;\n if (this.PaginationModel.DiscountFromFilter != null && DiscountFromFilter > 0 && DiscounToFilter > 0 && this.PaginationModel.DiscounToFilter != null) {\n if (DiscounToFilter < DiscountFromFilter) {\n alert(\"To Discount should be greater than From Discount.\")\n this.PaginationModel.DiscountFromFilter = null;\n\n }\n }\n\n this.commonService.PostData('Enquiry', 'GetAllPagination_Pending', this.PaginationModel, null).subscribe((data: any) => {\n this.data = data.Data;\n if (data.Data != null) {\n this.BindGridData();\n\n }\n\n this.length = data.Total;\n this.dataSource = new MatTableDataSource(this.gridData);\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n\n SearchParam(event: any) {\n this.SearchText = event.target.value;\n this.pageNumber = 1;\n this.paginator.pageIndex = 0;\n var x = document.getElementsByClassName(\"table-responsive\");\n var i;\n for (i = 0; i < x.length; i++) {\n x[i].scrollLeft = 0;\n\n }\n this.GetAllEnquiry();\n }\n\n sortData(event: any) {\n if (this.dataSource.filteredData != null) {\n this.direction = event.direction;\n this.ColumnName = event.active;\n this.GetAllEnquiry();\n }\n }\n\n pageEvent(event: any) {\n window.scroll({\n top: 0,\n left: 0,\n behavior: 'smooth'\n });\n var x = document.getElementsByClassName(\"table-responsive\");\n var i;\n for (i = 0; i < x.length; i++) {\n x[i].scrollLeft = 0;\n\n }\n this.pageNumber = event.pageIndex + 1;\n this.pageSize = event.pageSize;\n this.GetAllEnquiry();\n }\n /************************************************************************\n * Grid Code End \n * **********************************************************************/\n SetEnquiryId(EnquiryId) {\n this.EnquiryId = EnquiryId;\n }\n\n convertDate(date: any) {\n date = date.split('T')[0];\n return date;\n }\n openQuotationPopup(enqid, enqNo, initiatorID, status, PendingAtRoleId) {\n\n const modalRef = this.modalService.open(ActivityDetailsComponent, {\n size: 'lg', backdrop: 'static', keyboard: false\n });\n\n var EnquiryId = {\n enqid: enqid,\n endNo: enqNo,\n initID: initiatorID,\n status: status,\n PendingAtRoleId: PendingAtRoleId\n };\n\n modalRef.componentInstance.EnquiryId = EnquiryId;\n modalRef.result.then((result) => {\n this.closeResult = `Closed with:${result}`;\n if (this.closeResult !== 'Closed with:Close click') {\n // this.GetAllEnquiry();\n // if (flag === 1) {\n // } else {\n // // this.saveQuoteLimit(this.QuotationNumber, result);\n // }\n }\n });\n }\n openPassOn(rowObject) {\n const modalRef = this.modalService.open(PassOnComponent, {\n size: 'lg', backdrop: 'static', keyboard: false\n });\n\n var EnquiryId = rowObject;\n\n modalRef.componentInstance.enqObj = EnquiryId;\n modalRef.result.then((result) => {\n this.closeResult = `Closed with:${result}`;\n if (this.closeResult !== 'Closed with:Close click') {\n this.GetAllEnquiry();\n }\n });\n }\n\n /************************************************************************\n * Grid RowSpan Methods \n * **********************************************************************/\n\n BindGridData() {\n this.showLoader = true;\n this.gridData = [];\n this.spans = [];\n this.data.forEach(item => {\n item.EnquiryDate = this.convertDate(item.EnquiryDate);\n if (item.QuotationDetailsList != null && item.QuotationDetailsList.length > 0 && item.QuotationDetailsList.length != null && item.QuotationDetailsList.length != undefined) {\n for (let i = 0; i < item.QuotationDetailsList.length; i++) {\n var obj = {\n \"Products\": item.QuotationDetailsList[i].ModelName,\n \"EnquiryValue\": item.QuotationDetailsList[i].FinalAmount,\n \"Discount\": item.QuotationDetailsList[i].Discount,\n \"EnquiryId\": item.EnquiryId,\n \"Initiator_Id\": item.Initiator_Id,\n \"InitiatorName\": item.InitiatorName,\n \"RoleName\": item.RoleName,\n \"CustomerId\": item.CustomerId,\n \"CustomerName\": item.CustomerName,\n \"CustomerCode\": item.CustomerCode,\n \"IndustrySegment\": item.IndustrySegment,\n \"SubSegment\": item.SubSegment,\n \"CustomerType\": item.CustomerType,\n \"CustomerClassification\": item.CustomerClassification,\n \"CustomerCategory\": item.CustomerCategory,\n \"RegionName\": item.RegionName,\n \"Country\": item.Country,\n \"EstimatedProductvalue\": item.EstimatedProductvalue,\n \"EnquiryNumber\": item.EnquiryNumber,\n \"EnquiryDate\": item.EnquiryDate,\n \"EnquirySourceId\": item.EnquirySourceId,\n \"EnquirySource\": item.EnquirySource,\n \"EnquiryDescription\": item.EnquiryDescription,\n \"Status\": item.Status,\n \"PendingAtRoleId\": item.PendingAtRoleId,\n \"EnquiryStatus\": item.EnquiryStatus,\n \"EnquiryWinLostOpenStatus\": item.EnquiryWinLostOpenStatus,\n \"CreatedOn\": item.CreatedOn,\n \"RFQNumber\": item.RFQNumber,\n \"RFQTermsAndCondition\": item.RFQTermsAndCondition,\n \"POValue\": item.POValue,\n \"EnquiryConfirmStatus\": item.EnquiryConfirmStatus,\n \"POStdReason\": item.POStdReason,\n \"OrdAcknowledgeNumber\": item.OrdAcknowledgeNumber,\n \"SupplyChainType\": item.SupplyChainType,\n \"TentativeDeliveryDate\": item.TentativeDeliveryDate,\n \"ModifiedOn\": item.ModifiedOn,\n \"EnquiryYear\": item.EnquiryYear,\n \"QuotationNumber\": item.QuotationNumber,\n \"QuotationPdf_filename\": item.QuotationPdf_filename,\n // \"Activity_Updates\": item.Activity_Updates,\n // \"Activity_ActionPlan\": item.Activity_ActionPlan\n \"ActivityType\": item.ActivityType,\n \"Activity_Subject\": item.Activity_Subject,\n \"ActivityStatus\": item.ActivityStatus,\n \"ActivityPurpose\": item.ActivityPurpose,\n \"ActivityPurposeDesc\": item.ActivityPurposeDesc,\n \"Activity_Outcome\": item.Activity_Outcome,\n \"Activity_OutcomeDesc\": item.Activity_OutcomeDesc\n }\n\n this.gridData.push(obj);\n\n }\n }\n else {\n var obj1 = {\n \"Products\": null,\n \"EnquiryValue\": null,\n \"Discount\": null,\n \"EnquiryId\": item.EnquiryId,\n \"Initiator_Id\": item.Initiator_Id,\n \"InitiatorName\": item.InitiatorName,\n \"RoleName\": item.RoleName,\n \"CustomerId\": item.CustomerId,\n \"CustomerName\": item.CustomerName,\n \"CustomerCode\": item.CustomerCode,\n \"IndustrySegment\": item.IndustrySegment,\n \"SubSegment\": item.SubSegment,\n \"CustomerType\": item.CustomerType,\n \"CustomerClassification\": item.CustomerClassification,\n \"CustomerCategory\": item.CustomerCategory,\n \"RegionName\": item.RegionName,\n \"Country\": item.Country,\n \"EstimatedProductvalue\": item.EstimatedProductvalue,\n \"EnquiryNumber\": item.EnquiryNumber,\n \"EnquiryDate\": item.EnquiryDate,\n \"EnquirySourceId\": item.EnquirySourceId,\n \"EnquirySource\": item.EnquirySource,\n \"EnquiryDescription\": item.EnquiryDescription,\n \"Status\": item.Status,\n \"PendingAtRoleId\": item.PendingAtRoleId,\n \"EnquiryStatus\": item.EnquiryStatus,\n \"EnquiryWinLostOpenStatus\": item.EnquiryWinLostOpenStatus,\n \"CreatedOn\": item.CreatedOn,\n \"RFQNumber\": item.RFQNumber,\n \"RFQTermsAndCondition\": item.RFQTermsAndCondition,\n \"POValue\": item.POValue,\n \"EnquiryConfirmStatus\": item.EnquiryConfirmStatus,\n \"POStdReason\": item.POStdReason,\n \"OrdAcknowledgeNumber\": item.OrdAcknowledgeNumber,\n \"SupplyChainType\": item.SupplyChainType,\n \"TentativeDeliveryDate\": item.TentativeDeliveryDate,\n \"ModifiedOn\": item.ModifiedOn,\n \"EnquiryYear\": item.EnquiryYear,\n \"QuotationNumber\": item.QuotationNumber,\n \"QuotationPdf_filename\": item.QuotationPdf_filename,\n // \"Activity_Updates\": item.Activity_Updates,\n // \"Activity_ActionPlan\": item.Activity_ActionPlan\n \"ActivityType\": item.ActivityType,\n \"Activity_Subject\": item.Activity_Subject,\n \"ActivityStatus\": item.ActivityStatus,\n \"ActivityPurpose\": item.ActivityPurpose,\n \"ActivityPurposeDesc\": item.ActivityPurposeDesc,\n \"Activity_Outcome\": item.Activity_Outcome,\n \"Activity_OutcomeDesc\": item.Activity_OutcomeDesc\n }\n\n this.gridData.push(obj1);\n\n }\n\n\n });\n this.RowSpanData();\n }\n\n RowSpanData() {\n this.cacheSpan('EnquiryNo', d => d.EnquiryId);\n this.cacheSpan('EnquiryDate', d => d.EnquiryId);\n this.cacheSpan('EstimatedProductvalue', d => d.EnquiryId);\n this.cacheSpan('IndustrySegment', d => d.EnquiryId);\n this.cacheSpan('SubSegment', d => d.EnquiryId);\n this.cacheSpan('RegionName', d => d.EnquiryId);\n this.cacheSpan('CustomerClassification', d => d.EnquiryId);\n this.cacheSpan('QuotationNumber', d => d.EnquiryId);\n this.cacheSpan('CustomerName', d => d.EnquiryId);\n this.cacheSpan('EnquiryStatus', d => d.EnquiryId);\n this.cacheSpan('EnquiryWinLostOpenStatus', d => d.EnquiryId);\n this.cacheSpan('ActivityType', d => d.EnquiryId);\n this.cacheSpan('Activity_Subject', d => d.EnquiryId);\n this.cacheSpan('ActivityStatus', d => d.EnquiryId);\n this.cacheSpan('ActivityPurpose', d => d.EnquiryId);\n this.cacheSpan('ActivityPurposeDesc', d => d.EnquiryId);\n this.cacheSpan('Activity_Outcome', d => d.EnquiryId);\n this.cacheSpan('Activity_OutcomeDesc', d => d.EnquiryId);\n this.cacheSpan('InitiatorName', d => d.EnquiryId);\n this.cacheSpan('Action', d => d.EnquiryId);\n this.showLoader = false;\n }\n cacheSpan(key, accessor) {\n for (let i = 0; i < this.gridData.length;) {\n let currentValue = accessor(this.gridData[i]);\n let count = 1;\n\n for (let j = i + 1; j < this.gridData.length; j++) {\n if (currentValue != accessor(this.gridData[j])) {\n break;\n }\n\n count++;\n }\n\n if (!this.spans[i]) {\n this.spans[i] = {};\n }\n\n this.spans[i][key] = count;\n i += count;\n\n }\n }\n\n getRowSpan(col, index) {\n return this.spans[index] && this.spans[index][col];\n }\n\n\n /************************************************************************\n * Grid RowSpan Methods End \n * **********************************************************************/\n\n /************************************************************************\n * Grid filter\n * **********************************************************************/\n OnFromDateFilterChange() {\n let EnquiryDateFromFiter = this.ConvertNgbDateToDate(this.EnquiryngbDateFromFiter)\n let EnquiryDateToFiter = this.ConvertNgbDateToDate(this.EnquiryngbDateToFiter)\n if (EnquiryDateToFiter < EnquiryDateFromFiter) {\n this.EnquiryngbDateToFiter = this.EnquiryngbDateFromFiter;\n this.cd.detectChanges();\n\n }\n //this.GetAllEnquiry();\n\n }\n\n OnToDateFilterChange() {\n\n // this.GetAllEnquiry();\n }\n\n ConvertNgbDateToDate(ngbdate: any) {\n if (ngbdate != null) {\n return new Date(ngbdate.year, ngbdate.month - 1, ngbdate.day)\n }\n\n }\n\n convertDateToString(date: any) {\n let year = date.year;\n let month = date.month;\n let day = date.day;\n return year + \"-\" + month + \"-\" + day;\n }\n\n\n OnQuotationValueFilterChange(CallFrom: any) {\n let QuotationValueFromFilter: number = +this.PaginationModel.QuotationValueFromFilter;\n let QuotationValueToFilter: number = +this.PaginationModel.QuotationValueToFilter;\n if (CallFrom == 'From') {\n if (QuotationValueFromFilter == null || isNaN(QuotationValueFromFilter)) {\n this.PaginationModel.QuotationValueFromFilter = null;\n }\n // if (QuotationValueToFilter < QuotationValueFromFilter) {\n // this.PaginationModel.QuotationValueToFilter = null;\n\n // }\n\n }\n else {\n if (QuotationValueToFilter == null || isNaN(QuotationValueToFilter)) {\n this.PaginationModel.QuotationValueToFilter = null;\n }\n // if (QuotationValueToFilter < QuotationValueFromFilter) {\n // this.PaginationModel.QuotationValueFromFilter = null;\n\n // }\n\n }\n this.cd.detectChanges();\n // this.GetAllEnquiry();\n\n }\n\n onDiscountChange(callType: any) {\n let DiscountFromFilter: number = +this.PaginationModel.DiscountFromFilter;\n let DiscounToFilter: number = +this.PaginationModel.DiscounToFilter;\n\n if (callType == 'From') {\n\n if (DiscountFromFilter > 100 || isNaN(DiscountFromFilter)) {\n this.PaginationModel.DiscountFromFilter = null;\n }\n // if ( DiscounToFilter < DiscountFromFilter) {\n // this.PaginationModel.DiscounToFilter = null;\n // }\n }\n else {\n if (DiscounToFilter > 100 || isNaN(DiscounToFilter)) {\n this.PaginationModel.DiscounToFilter = null;\n }\n // if (DiscounToFilter < DiscountFromFilter) {\n // this.PaginationModel.DiscountFromFilter = null;\n\n // }\n }\n this.cd.detectChanges();\n // this.GetAllEnquiry();\n }\n\n\n GetAllEnquiryGridFilterList() {\n this.commonService.GetData(\"Enquiry\", \"EnquiryGridFilterList\", null).subscribe((data: any) => {\n this.EnquiryGridFilterList.EstimatedEnquiryValue = data.EstimatedEnquiryValue;\n this.EnquiryGridFilterList.Segment = data.Segment;\n this.EnquiryGridFilterList.MicroSegment = data.MicroSegment;\n this.EnquiryGridFilterList.OrignaleMicroSegment = data.MicroSegment;\n this.EnquiryGridFilterList.CusomterName = data.CusomterName;\n this.EnquiryGridFilterList.CusomterClass = data.CusomterClass;\n this.EnquiryGridFilterList.ProductModels = data.ProductModels;\n this.EnquiryGridFilterList.Region = data.region;\n this.EnquiryGridFilterList.InitiatorName = data.InitiatorName;\n\n });\n\n }\n\n ResetAllFilters() {\n this.PaginationModel.EnquiryDateFromFiter = null;\n this.PaginationModel.EnquiryDateToFiter = null;\n this.PaginationModel.EstimatedEnquiryValueFilter = [];\n this.PaginationModel.SegmentFilter = [];\n this.PaginationModel.MicroSegmentFilter = [];\n this.PaginationModel.CusomterNameFilter = [];\n this.PaginationModel.CusomterClassFilter = [];\n this.PaginationModel.ProdcutFilter = [];\n this.PaginationModel.QuotationValueToFilter = null;\n this.PaginationModel.QuotationValueFromFilter = null;\n this.PaginationModel.DiscountFromFilter = null;\n this.PaginationModel.DiscounToFilter = null;\n this.PaginationModel.QuotationStatusFilter = [];\n this.PaginationModel.RegionFilter = [];\n this.PaginationModel.InitiatorNameFilter = [];\n this.EnquiryngbDateFromFiter = null;\n this.EnquiryngbDateToFiter = null;\n this.OnSegmentChangeGetMiCroSegment();\n this.GetAllEnquiry();\n\n }\n OnSegmentChangeGetMiCroSegment() {\n this.EnquiryGridFilterList.MicroSegment = [];\n if (this.PaginationModel.SegmentFilter != null && this.PaginationModel.SegmentFilter != undefined && this.PaginationModel.SegmentFilter.length > 0) {\n this.EnquiryGridFilterList.MicroSegment = this.EnquiryGridFilterList.OrignaleMicroSegment.filter((o) => this.PaginationModel.SegmentFilter.includes(o.Fk_Name));\n\n }\n else {\n this.EnquiryGridFilterList.MicroSegment = this.EnquiryGridFilterList.OrignaleMicroSegment;\n }\n\n\n }\n\n\n\n\n\n /************************Date Range*************************************** */\n\n onDateSelection(date: NgbDate) {\n if (!this.EnquiryngbDateFromFiter && !this.EnquiryngbDateToFiter) {\n this.EnquiryngbDateFromFiter = date;\n } else if (this.EnquiryngbDateFromFiter && !this.EnquiryngbDateToFiter && date && date.after(this.EnquiryngbDateFromFiter)) {\n this.EnquiryngbDateToFiter = date;\n } else {\n this.EnquiryngbDateToFiter = null;\n this.EnquiryngbDateFromFiter = date;\n }\n }\n\n isHovered(date: NgbDate) {\n return this.EnquiryngbDateFromFiter && !this.EnquiryngbDateToFiter && this.hoveredDate && date.after(this.EnquiryngbDateFromFiter) && date.before(this.hoveredDate);\n }\n\n isInside(date: NgbDate) {\n return this.EnquiryngbDateToFiter && date.after(this.EnquiryngbDateFromFiter) && date.before(this.EnquiryngbDateToFiter);\n }\n\n isRange(date: NgbDate) {\n return date.equals(this.EnquiryngbDateFromFiter) || (this.EnquiryngbDateToFiter && date.equals(this.EnquiryngbDateToFiter)) || this.isInside(date) || this.isHovered(date);\n }\n\n validateInput(currentValue: NgbDate | null, input: string): NgbDate | null {\n const parsed = this.formatter.parse(input);\n return parsed && this.calendar.isValid(NgbDate.from(parsed)) ? NgbDate.from(parsed) : currentValue;\n }\n\n\n\n\n /************************End Date Range*************************************** */\n\n /************************************************************************\n * Grid filter\n * **********************************************************************/\n\n\n /*******************************************************************************\n * Form validation method\n * ******************************************************************************/\n\n isNumberKey(evt: any) {\n this.charCode = (evt.which) ? evt.which : evt.keyCode;\n if (this.charCode != 46 && this.charCode > 31\n && (this.charCode < 48 || this.charCode > 57)) {\n return false;\n }\n else {\n return true;\n }\n }\n\n isintNumberKey(evt: any) {\n this.charCode = (evt.which) ? evt.which : evt.keyCode;\n if ((this.charCode == 46 || this.charCode == 45 || this.charCode == 43) && this.charCode > 31\n && (this.charCode < 48 || this.charCode > 57)) {\n return false;\n }\n else {\n return true;\n }\n }\n\n AvoidSpace(event: any) {\n if (event.which === 32 && !event.target.value.length) {\n event.preventDefault();\n }\n }\n\n\n /*******************************************************************************\n * End Form validation method \n * ******************************************************************************/\n\n addEnquiryPopup(enqid, custid) {\n // this.router.navigate(['/Add-Activity/Enquiry/' + enqid]);\n\n const modalRef = this.modalService.open(AddActivityComponent, {\n size: 'xl', backdrop: 'static', keyboard: false\n });\n\n var ActivityEntity = {\n enqId: enqid,\n custId: custid,\n inPopUpMode: true,\n entityType: 'Enquiry',\n };\n\n modalRef.componentInstance.ActivityEntity = ActivityEntity;\n }\n}\n","\n\n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n Enquiry Listing - Pending\n

    \n
    \n
    \n
    \n \n
    \n
    \n \n \n \n \n \n expand_more\n \n \n \n \n
    \n
    \n\n
    \n\n
    \n\n
    \n \n \n \n {{ date.day }}\n \n \n
    \n
    \n
    \n \n
    \n \n \n
    \n \n \n \n\n
    \n
    \n \n \n \n
    \n
    \n
    \n\n \n
    \n\n \n
    \n\n
    \n\n \n\n\n\n \n\n
    \n \n
    \n 0 && PaginationModel.CusomterNameFilter != []) ? 'InputFiledWithbtn' : 'GridFilter'\"\n [multiple]=\"true\" appendTo=\"body\" bindLabel=\"Name\"\n [selectableGroup]=\"true\" [selectableGroupAsModel]=\"false\"\n [closeOnSelect]=\"false\" [clearable]=\"false\" bindValue=\"Name\"\n placeholder=\"Select Customer\"\n [(ngModel)]=\"PaginationModel.CusomterNameFilter\">\n\n \n \n {{item.Name}}\n \n\n \n
    0 && PaginationModel.CusomterNameFilter != [])\"\n (click)=\"PaginationModel.CusomterNameFilter=[];\">\n \n \n \n
    \n\n
    \n
    \n\n
    \n \n
    \n 0 && PaginationModel.EstimatedEnquiryValueFilter != []) ? 'InputFiledWithbtn' : 'GridFilter'\"\n [multiple]=\"true\" appendTo=\"body\" [clearable]=\"false\"\n bindLabel=\"Name\" [selectableGroup]=\"true\"\n [selectableGroupAsModel]=\"false\" [closeOnSelect]=\"false\"\n bindValue=\"Name\" placeholder=\"Select Estimated Enquiry Value\"\n [(ngModel)]=\"PaginationModel.EstimatedEnquiryValueFilter\">\n\n \n \n {{item.Name}}\n \n\n \n\n
    0 && PaginationModel.EstimatedEnquiryValueFilter != [])\"\n (click)=\"PaginationModel.EstimatedEnquiryValueFilter=[];\">\n \n \n \n
    \n
    \n
    \n\n
    \n \n
    \n 0 && PaginationModel.InitiatorNameFilter != []) ? 'InputFiledWithbtn' : 'GridFilter'\"\n [multiple]=\"true\" appendTo=\"body\" bindLabel=\"Name\"\n [clearable]=\"false\" [selectableGroup]=\"true\"\n [selectableGroupAsModel]=\"false\" [closeOnSelect]=\"false\"\n bindValue=\"Name\" placeholder=\"Select Initiator\"\n [(ngModel)]=\"PaginationModel.InitiatorNameFilter\">\n\n \n \n {{item.Name}}\n \n\n \n
    0 && PaginationModel.InitiatorNameFilter != [])\"\n (click)=\"PaginationModel.InitiatorNameFilter=[];\">\n \n \n \n
    \n\n
    \n
    \n\n\n
    \n\n
    \n
    \n \n
    \n 0 && PaginationModel.SegmentFilter != []) ? 'InputFiledWithbtn' : 'GridFilter'\"\n [multiple]=\"true\" appendTo=\"body\" bindLabel=\"Name\"\n [clearable]=\"false\" [selectableGroup]=\"true\"\n [selectableGroupAsModel]=\"false\" [closeOnSelect]=\"false\"\n bindValue=\"Name\" placeholder=\"Select Segment\"\n [(ngModel)]=\"PaginationModel.SegmentFilter\"\n (change)=\"OnSegmentChangeGetMiCroSegment()\">\n\n \n \n {{item.Name}}\n \n\n \n
    0 && PaginationModel.SegmentFilter != [])\"\n (click)=\"PaginationModel.SegmentFilter=[];OnSegmentChangeGetMiCroSegment()\">\n \n \n \n
    \n\n
    \n
    \n\n
    \n \n
    \n 0 && PaginationModel.MicroSegmentFilter != []) ? 'InputFiledWithbtn' : 'GridFilter'\"\n [multiple]=\"true\" appendTo=\"body\" [clearable]=\"false\"\n bindLabel=\"Name\" [selectableGroup]=\"true\"\n [selectableGroupAsModel]=\"false\" [closeOnSelect]=\"false\"\n bindValue=\"Name\" placeholder=\"Select Micro-Segment\"\n [(ngModel)]=\"PaginationModel.MicroSegmentFilter\">\n\n \n \n {{item.Name}}\n \n\n \n
    0 && PaginationModel.MicroSegmentFilter != [])\"\n (click)=\"PaginationModel.MicroSegmentFilter=[];\">\n \n \n \n
    \n\n
    \n
    \n\n
    \n \n
    \n 0 && PaginationModel.RegionFilter != []) ? 'InputFiledWithbtn' : 'GridFilter'\"\n [multiple]=\"true\" appendTo=\"body\" bindLabel=\"Name\"\n [selectableGroup]=\"true\" [selectableGroupAsModel]=\"false\"\n [closeOnSelect]=\"false\" [clearable]=\"false\" bindValue=\"Name\"\n placeholder=\"Select Region\"\n [(ngModel)]=\"PaginationModel.RegionFilter\">\n\n \n \n {{item.Name}}\n \n\n \n
    0 && PaginationModel.RegionFilter != [])\"\n (click)=\"PaginationModel.RegionFilter=[];\">\n \n \n \n
    \n\n
    \n
    \n\n
    \n \n
    \n 0 && PaginationModel.CusomterClassFilter != []) ? 'InputFiledWithbtn' : 'GridFilter'\"\n [multiple]=\"true\" appendTo=\"body\" [clearable]=\"false\"\n bindLabel=\"Name\" [selectableGroup]=\"true\"\n [selectableGroupAsModel]=\"false\" [closeOnSelect]=\"false\"\n bindValue=\"Name\" placeholder=\"Select Customer Classification\"\n [(ngModel)]=\"PaginationModel.CusomterClassFilter\">\n\n \n \n {{item.Name}}\n \n\n \n
    0 && PaginationModel.CusomterClassFilter != [])\"\n (click)=\"PaginationModel.CusomterClassFilter=[];\">\n \n \n \n
    \n\n
    \n
    \n\n\n
    \n\n
    \n
    \n \n
    \n 0 && PaginationModel.ProdcutFilter != []) ? 'InputFiledWithbtn' : 'GridFilter'\"\n [multiple]=\"true\" appendTo=\"body\" bindLabel=\"Name\"\n [selectableGroup]=\"true\" [selectableGroupAsModel]=\"false\"\n [closeOnSelect]=\"false\" [clearable]=\"false\" bindValue=\"Name\"\n placeholder=\"Select Product\"\n [(ngModel)]=\"PaginationModel.ProdcutFilter\">\n\n \n \n {{item.Name}}\n \n\n \n
    0 && PaginationModel.ProdcutFilter != [])\"\n (click)=\"PaginationModel.ProdcutFilter=[];\">\n \n \n \n
    \n\n
    \n
    \n\n
    \n \n
    \n \n\n \n
    \n \n \n \n
    \n
    \n
    \n\n \n\n
    \n \n
    \n 0 && PaginationModel.QuotationStatusFilter != []) ? 'InputFiledWithbtn' : 'GridFilter'\"\n [multiple]=\"true\" appendTo=\"body\" bindLabel=\"item\"\n [selectableGroup]=\"true\" [selectableGroupAsModel]=\"false\"\n [closeOnSelect]=\"false\" [clearable]=\"false\" bindValue=\"item\"\n placeholder=\"Select Status\"\n [(ngModel)]=\"PaginationModel.QuotationStatusFilter\">\n\n \n \n {{item}}\n \n\n \n
    0 && PaginationModel.QuotationStatusFilter != [])\"\n (click)=\"PaginationModel.QuotationStatusFilter=[];\">\n \n \n \n
    \n\n
    \n
    \n\n
    \n \n\n
    \n \n\n \n\n
    \n \n \n \n

    \n
    \n
    \n\n
    \n\n
    \n\n\n\n \n\n\n\n
    \n
    \n\n       \n\n\n \n
    \n\n\n\n\n
    \n\n
    \n\n\n
    \n
    \n
    \n
    \n\n
    \n
    \n\n
    \n
    \n \n\n Search\n \n \n\n
    \n\n
    \n\n
    \n
    \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n \n \n \n \n\n \n \n \n \n\n \n \n \n \n \n \n \n \n\n \n\n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n\n \n\n \n \n \n \n\n \n \n \n \n\n \n\n\n \n \n \n \n\n \n \n\n
    Enquiry No. \n\n {{row.EnquiryNumber}}\n Enquiry Date\n {{row.EnquiryDate | date: \"dd-MMM-yyyy\"}} Customer\n Name/Code\n \n {{row.CustomerName}}
    {{row.CustomerCode}}
    Estimated Enquiry\n Value\n \n {{row.EstimatedProductvalue}} Segment\n \n {{row.IndustrySegment}} Micro - Segment\n \n {{row.SubSegment}} Region\n {{row.RegionName}} Customer Class.\n \n {{row.CustomerClassification}} Quotation No.\n \n \n {{row.QuotationNumber}}\n \n Products\n \n {{row.Products}}\n\n Quotation Amount (€)\n \n {{row.EnquiryValue==null?'':row.EnquiryValue| indianCurrency}}\n Discount (%)\n \n\n {{row.Discount}}\n\n Quotation Status\n \n {{row.EnquiryWinLostOpenStatus}} Activity Type\n \n {{row.ActivityType}} Activity Subject\n \n {{row.Activity_Subject}} Activity Status\n \n {{row.ActivityStatus}} Activity Purpose\n \n {{row.ActivityPurpose}} Purpose Desc\n \n \n Activity Outcome\n \n {{row.Activity_Outcome}} Outcome Desc\n \n \n CRM updates \n {{row.EnquiryStatus}} Initiator Name\n \n {{row.InitiatorName}} Action \n \n \n \n \n
    \n
    No records found
    \n
    \n\n \n \n
    \n\n\n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n\n","import { Component, Input, OnInit } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { CommonService } from 'src/app/Service/common.service';\nimport { DomSanitizer, SafeHtml, SafeResourceUrl } from \"@angular/platform-browser\";\nimport { AppGlobals } from 'src/app/app.global';\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\nimport { AppConfigService } from 'src/app/Service/app-config.service';\n\n@Component({\n selector: 'app-quotation-preview',\n templateUrl: './quotation-preview.component.html',\n styleUrls: ['./quotation-preview.component.scss']\n})\nexport class QuotationPreviewComponent implements OnInit {\n\n previewHtml:SafeHtml;\n quotationPdfPreviewUrl:SafeResourceUrl;\n @Input() enquiryObj;\n enqId: any;\n QuotationPdfGenerationHostPath:any;\n\n constructor(private activeModal: NgbActiveModal,\n private commonService: CommonService,\n private route: ActivatedRoute,\n private sanitizer: DomSanitizer,\n private appConfigService: AppConfigService) { }\n\n ngOnInit(): void { \n this.enqId = this.enquiryObj.EnquiryId; \n const appConfig = this.appConfigService.getConfig();\n this.QuotationPdfGenerationHostPath=appConfig.QuotationPdfGenerationHostPath;\n // this.quotationPdfPreviewUrl = this.sanitizer.bypassSecurityTrustHtml(\"

    Please wait while we generate Quotation Preview...

    \");\n this.loadPreview();\n }\n\n loadPreview(){ \n let queryString = \"enquiryId=\" + this.enqId;\n this.quotationPdfPreviewUrl = this.sanitizer.bypassSecurityTrustResourceUrl(this.QuotationPdfGenerationHostPath+\"PrintPdf/GetQuotationPrintPreviewAsPdf?\"+queryString);\n \n // this.commonService.getPrintPreview(\"PrintPdf\", \"GetQuotationPrintPreviewAsHtml\", queryString).subscribe((data: any) => { \n // // console.log(data);\n // this.previewHtml = this.sanitizer.bypassSecurityTrustHtml(data);\n\n // },(error: any) =>{\n // // console.log(error);\n // });\n }\n\n closePopup() {\n this.activeModal.close('Close Click');\n }\n\n\n}\n","\n\n\n\n\n\n\n\n","import { Component, OnInit, ViewChild, Input, ɵclearResolutionOfComponentResourcesQueue, ElementRef, Output, EventEmitter } from '@angular/core';\nimport { EmployeeGuestModel } from 'src/app/Model/EmployeeGuestModel';\nimport { ActivatedRoute, NavigationEnd, Router, RoutesRecognized } from '@angular/router';\nimport { ToastrService } from 'ngx-toastr';\nimport { CommonService } from 'src/app/Service/common.service';\nimport { MatDialog } from '@angular/material/dialog';\nimport * as FileSaver from 'file-saver';\nimport { BasicCustomerInformationModel } from 'src/app/Model/CustomerModel';\nimport { EnquiryModel, CustomerDrpdnDetails, CustomerDetails, ProductDrpdnDetails, EnquiryDetailsModel, ProductDetails, Comments, removefiles, TermsAndCondition, ActivityModel, ProductModelPOValues, CustomTermsAndCondition } from 'src/app/Model/EnquiryModel';\nimport { ConfirmDialogComponent } from 'src/app/confirm-dialog/confirm-dialog.component';\nimport { NgbDate, NgbModal, NgbActiveModal, NgbDatepickerConfig, NgbDateStruct } from '@ng-bootstrap/ng-bootstrap';\nimport { AppGlobals } from 'src/app/app.global';\nimport { EnquiryStatus, EnquiryStatusCode } from \"src/app/EnquiryStatus\";\nimport { UserRoles } from \"src/app/UserRoles\";\nimport { SingleFieldModel } from 'src/app/Model/SingleFieldModel';\nimport { MatTableDataSource } from '@angular/material/table';\nimport {MatTabsModule} from '@angular/material/tabs';\nimport { EnquiryModalComponent } from '../enquiry-modal/enquiry-modal.component';\nimport { MatStepper } from '@angular/material/stepper';\nimport { FormControl, NgForm, Validators } from '@angular/forms';\nimport { HttpHeaders, HttpClient, HttpErrorResponse, HttpResponse } from '@angular/common/http';\nimport { QuotationDetailsModel, QuotationCustomerDetails } from 'src/app/Model/QuotationModel';\nimport { Title } from '@angular/platform-browser';\nimport { Location } from '@angular/common';\nimport {\n saveAs as importedSaveAs\n} from \"file-saver\";\nimport { ClassGetter } from '@angular/compiler/src/output/output_ast';\nimport { TechnicalDiscardComponent } from '../technical-discard/technical-discard.component';\nimport { CloseOppReasonComponent } from '../close-opp-reason/close-opp-reason.component';\nimport { EnquiryStatusList } from 'src/app/Model/EnquiryStatus';\nimport { EngagementReportServiceService } from 'src/app/Service/engagement-report-service.service';\nimport { EnquirySendBack } from 'src/app/Model/EnquirySendBack';\nimport { forkJoin, Observable } from 'rxjs';\nimport { tap } from 'rxjs/operators';\nimport { QuotationPreviewComponent } from '../quotation-preview/quotation-preview.component';\ndeclare var require: any\nimport { SendBackCommentComponent } from '../send-back-comment/send-back-comment.component';\nimport { AppConfigService } from 'src/app/Service/app-config.service';\n\n\n\n@Component({\n selector: 'app-quotation',\n templateUrl: './quotation.component.html',\n styleUrls: ['./quotation.component.scss']\n})\nexport class QuotationComponent implements OnInit {\n\n @ViewChild('myform3') myform3: NgForm;\n @ViewChild('myform5') myform5: NgForm;\n @ViewChild('myInput') myInputVariable: ElementRef;\n @ViewChild('editpovalue', { static: false }) editpovalue: ElementRef;\n standardTC:any[] = [];\n customTCValues:any[] =[];\n\n userInfo: EmployeeGuestModel = new EmployeeGuestModel();\n CustomerList: BasicCustomerInformationModel[] = [];\n EnquiryObj: EnquiryDetailsModel = new EnquiryDetailsModel();\n newRFQDetails: any = {};\n productListdropdownData = [];\n customerDrpdnDetails: CustomerDrpdnDetails = new CustomerDrpdnDetails();\n productDrpdnDetails: ProductDrpdnDetails = new ProductDrpdnDetails();\n customerData: CustomerDetails;\n activityDetails: ActivityModel[] = Array();\n CustomerDetailsObj: QuotationCustomerDetails = new QuotationCustomerDetails();\n QuotationData: QuotationDetailsModel = new QuotationDetailsModel();\n singleFieldObj: SingleFieldModel = new SingleFieldModel();\n allowedFileType: string[] = [\n 'image/bmp',\n 'image/jpeg',\n 'image/png',\n 'application/pdf',\n 'text/plain',\n 'text/csv',\n 'application/xml',\n 'text/xml',\n 'application/vnd.ms-excel',\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\n 'application/msword',\n 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',\n 'application/zip',\n 'application/x-zip-compressed',\n ];\n\n showEditRFQForInitiator: boolean;\n UserRole: any;\n isTechnicalDiscardVisible: boolean =false;\n isEnquiryFormVisible: boolean = false;\n isRFQVisible: boolean = false;\n isQuoteGenerationVisible: boolean = false;\n isManagementApprovalVisible: boolean = false;\n isSOVisible: boolean = false;\n isOrderAcknowledgementVisible: boolean = false;\n EnquiryConfirmationVisible: boolean = false;\n isSupplychainVisible: boolean = false;\n isAccountsVisible: boolean = false;\n iseditable:boolean=false;\n isOAGenerationVisible: boolean = false;\n isBOMAttachment: boolean;\n isInvoiceAttachment: boolean;\n isPOAttachment: boolean;\n IsRFQDataValid: boolean = true;\n selectedIndexForStatus: any = 1;\n remLimit: any = 1500;\n maxLimit: any = 1500;\n varLongTermGoal: any;\n DiscountFromrange:any;\n Discounttorange:any;\n isTermsConditionsDisabled : boolean;\n newCustomiseArr: any = [];\n Currencylist: any[] = [];\n filtercurrency:any[]=[];\n documentOfWhichComapany : any;\n\n @Input()\n showLoader: boolean = false;\n charCode: number;\n //enquiryStatus = EnquiryStatus;\n AppRoles = UserRoles;\n enquirySource: SingleFieldModel[] = [];\n TnCStandardFromDropDown: any[] = [];\n TnCCustomizedFromDropDown: any[] = [];\n TnCCustomizedDropDownForEditRfq1: any[] = [];\n TnCCustomizedDropDownForEditRfq2: any[] = [];\n newCustomTc: any;\n product: any = {};\n isEnquirySubmit: boolean = false;\n charCode1: any;\n pageNumber: number = 1;\n @Input() pageSize: number = 5;\n @Input() length: number;\n @Input() pageIndex: number = this.pageNumber - 1;\n dataSource: MatTableDataSource;\n enquiryStatusCode = EnquiryStatusCode;\n\n @ViewChild('stepper') stepper: MatStepper;\n AppGlobals = AppGlobals;\n fileDownloadPath = this.AppGlobals.baseFileDownloadUrl;\n QuotationDownloadPath = this.AppGlobals.QuotationFileDownloadUrl;\n isEnquiryLoaded: boolean;\n role: string;\n isStandardCondition: boolean;\n isStandardConditionForQuote : boolean;\n closeResult: string;\n isCEOApprovalVisible: boolean;\n demoObject: any;\n demoCTCObject: any;\n WinLossDropdownData: any[] = [];\n WinLossDropdownDataForStatus: any;\n isPoValueDisable: boolean;\n isCustomerCommentVisible: any;\n isOAGenerated: boolean;\n isAcceptClick: boolean;\n dataPassed: any;\n dropdownData: any;\n showQuotationLink: boolean=false;\n userid: string;\n isprocessing: boolean = true;\n rfqattpresent: boolean;\n QuotationDataForPO: any[] = [];\n chosenItem: string = \"1\";\n quoterevcomments: any;\n QGRFQEditable: boolean = false;\n IsActivityDataValid: boolean;\n today: Date;\n fc = new FormControl();\n minDate: NgbDate;\n showEditRFQ: boolean;\n isTantativeDateEditable: boolean;\n tempRFQ: ProductDetails[];\n IsPODataValid: boolean;\n isEditactivity: boolean = true;\n PreviousStatus: number = 0;\n tempfile: any;\n ngbDateParserFormatter: any;\n UpdatePO: boolean = false;\n isPOAttacmentDelete: boolean = false;\n RevisedQuotationFileNameList: string[] = [];\n emailPattern: string = \"^[a-zA-Z0-9_\\\\.-]+@([a-zA-Z0-9-]+\\\\.)+[a-zA-Z]{2,6}$\";\n StartDate: NgbDate;\n EndDate: NgbDate;\n RoleWiseScreenDisplay: any;\n previousUrl: string = null;\n IndustrySegment: any[] = [];\n SubSegment: any[] = [];\n Application: any[] = [];\n FinalIndustrySegment: any[] = [];\n FinalSubSegment: any[] = [];\n FinalApplication: any[] = [];\n transitionRule:any;\n workflowActionList:any[] = [];\n enquiryStatusList: EnquiryStatusList[]=[];\n workflowId:number=4;\n @Output() updateLoaderEvent = new EventEmitter();\n isQuoteGenerationEditable:boolean = false;\n sendbackRules:EnquirySendBack[]=[];\n authorityLevels: any;\n maxDiscount:number=0;\n level1: boolean;\n UserRolesData: any;\n showWorkflowButtonsForAuthorities: boolean=false;\n roleOfAdmin : any;\n showPreviewLink: boolean=false;\n showquotationPreview: boolean = true;\n isPricesRequestedBeforeSubmit: boolean;\n IsQuotationPriceOnRequest: any;\n isPriceOnRequestValid: boolean;\n WinLossDataForStatus: any;\n QuotationPdfGenerationHostPath:any;\n\n constructor(private toastr: ToastrService, private commonService: CommonService, public dialog: MatDialog,private http: HttpClient,\n private _location: Location,\n private config: NgbDatepickerConfig,\n private modalService: NgbModal, private activeModel: NgbActiveModal,\n private workflowService:EngagementReportServiceService,\n private router: Router, private route: ActivatedRoute, private titleService: Title, private appConfigService: AppConfigService) {\n this.today = new Date();\n this.minDate = new NgbDate(this.today.getFullYear(), this.today.getMonth() + 1, this.today.getDate());\n this.StartDate = new NgbDate(2018, 1, 1);\n this.EndDate = new NgbDate(this.today.getFullYear() + 1, 12, 31);\n }\n ngAfterViewInit() {\n this.updateLoaderEvent.emit(true);\n setTimeout(() => {\n this.isprocessing = false;\n this.chosenItem = \"1\";\n this.updateLoaderEvent.emit(false);\n }, 2000);\n //this.stepper.selectedIndex = this.selectedIndexForStatus; \n }\n ngOnInit() {\n this.commonService.previousUrl$.subscribe((previousUrl: string) => {\n this.previousUrl = previousUrl;\n });\n\n this.isEnquiryLoaded = false;\n let tempRoleWiseScreenDisplay = localStorage.getItem(\"WorkFlowRoleWiseScreenAccess\");\n this.RoleWiseScreenDisplay = tempRoleWiseScreenDisplay.split(\",\");\n const appConfig = this.appConfigService.getConfig();\n this.QuotationPdfGenerationHostPath=appConfig.QuotationPdfGenerationHostPath;\n const dynamicTitle = this.route.snapshot.data['title'];\n this.titleService.setTitle(`${dynamicTitle} - ${appConfig.titleName}`);\n //this.titleService.setTitle(this.route.snapshot.data['title'] + \" - ECOTECH\");\n this.documentOfWhichComapany = appConfig.documentOfWhichComapany;\n this.commonService.RefreshHeaderFun();\n this.EnquiryObj.EnquiryDetails.EnquiryId = this.route.snapshot.params[\"id\"];\n this.GetListOfCurrency();\n forkJoin([\n this.getUserRoles(),\n this.getRFQProduct(),\n this.getEnquirySourceDetails(),\n this.getCustomerList(),\n this.getEnquiryStatus(),\n this.getWorkflowActions()\n ]).pipe(tap(res => { \n // this.getPriceDiscountApprovalAuthority();\n // this.getWorkflowActions();\n\n this.EnquiryObj.EnquiryDetails.EstimatedProductValue = null;\n this.EnquiryObj.EnquiryDetails.InvoiceAttachment = undefined; \n this.getEnquiryDetailsById(); \n\n var functonDetails = this.workflowActionList.filter(x=>x.workflowActionCode.toLowerCase() == \"editrfq\");\n \n if(this.UserRole != UserRoles.Admin && this.UserRole != UserRoles.CustomerService)\n {\n this.isTermsConditionsDisabled = true; \n }\n else\n {\n if (functonDetails.length == 0)\n {\n this.isTermsConditionsDisabled = true;\n }\n }\n })).subscribe(x=>{\n this.updateLoaderEvent.emit(false);\n });\n this.getSendbackWorkfow();\n this.UserRole = localStorage.getItem(\"UserRole\");\n this.isTechnicalDiscardVisible = AppGlobals.QuoteGenearation_Enquiry_TechnicalDiscardArray.filter(x => x.role == this.UserRole)[0]?.isEditable;\n\n this.roleOfAdmin = UserRoles.Admin;\n }\n\n \n limitTextOnKeyUpDown1(event: any) {\n let goalText = event.target.value;\n if (goalText.length > this.maxLimit) {\n this.varLongTermGoal = goalText.substring(0, this.maxLimit);\n } else {\n this.remLimit = this.maxLimit - goalText.length;\n }\n }\n\n\n toggleAttchments(i) {\n\n this.EnquiryObj.Comments[i].showAttachments = !this.EnquiryObj.Comments[i].showAttachments;\n }\n\n checkActivityValidations() {\n this.IsActivityDataValid = true;\n this.activityDetails.forEach(element => {\n if (element.Activity == undefined || element.Activity == null || element.Activity == \"\") {\n element.ActivityValidation = true;\n this.IsActivityDataValid = false;\n }\n if (element.ActivityDate == undefined || element.ActivityDate == null || element.ActivityDate == \"\") {\n element.ActivityDateValidation = true;\n this.IsActivityDataValid = false;\n }\n });\n }\n editActivity() {\n this.isEditactivity = true;\n }\n cancelEditActivity() {\n this.isEditactivity = false;\n }\n SaveActivityDetails() {\n this.checkActivityValidations();\n if (!this.IsActivityDataValid) {\n return;\n }\n this.updateLoaderEvent.emit(true);\n this.activityDetails.forEach(element => {\n if (element.ActivityDate != undefined) {\n element.ActivityDateISO = new Date(this.convertDate(new NgbDate(element.ActivityDate.year, element.ActivityDate.month, element.ActivityDate.day))).toDateString();\n }\n if (element.ActivityDate != undefined) {\n element.ActivityDate = new Date(this.convertDate(new NgbDate(element.ActivityDate.year, element.ActivityDate.month, element.ActivityDate.day)));\n }\n element.EnquiryId = this.EnquiryObj.EnquiryDetails.EnquiryId;\n });\n\n let activityDetails = JSON.stringify(this.activityDetails);\n const frmData = new FormData();\n frmData.append(\"ActivityObj\", activityDetails);\n var i = 0;\n this.activityDetails.forEach(element => {\n if (element.Attachment != undefined) {\n frmData.append(\"Attachment[\" + i + \"]\", this.activityDetails[i].Attachment[0]);\n }\n i++;\n });\n\n this.commonService.PostData(\"Enquiry\", \"AddActivity\", frmData, null).subscribe((data: any) => {\n this.activityDetails.forEach(element => {\n element.ActivityDate = new NgbDate(new Date(element.ActivityDate).getFullYear(), new Date(element.ActivityDate).getMonth() + 1, new Date(element.ActivityDate).getDate());\n });\n //this.isEditactivity = false;\n this.toastr.success(\"Activity details added successfully!\");\n this.updateLoaderEvent.emit(false);\n }, error => {\n this.toastr.error(\"Failed to add activity details!\");\n this.updateLoaderEvent.emit(false);\n });\n\n }\n\n getQuotationData() {\n this.updateLoaderEvent.emit(true);\n let queryString = \"\";\n queryString = \"id=\" + this.EnquiryObj.EnquiryDetails.EnquiryId;\n this.commonService.GetData('Enquiry', 'GetQuotationByEnquiryId', queryString).subscribe((data: any) => {\n this.QuotationDataForPO = data.QuotationObj;\n this.QuotationDataForPO.forEach(element => {\n var obj = new ProductModelPOValues();\n obj.ProductId = element.ProductId;\n obj.ProductModelName = element.ProductModelName;\n if (element.Variant1Name != undefined) obj.ProductModelName = obj.ProductModelName + ' (' + element.Variant1Name;\n if (element.Variant2Name != undefined) obj.ProductModelName = obj.ProductModelName + ', ' + element.Variant2Name;\n if (element.Variant3Name != undefined) obj.ProductModelName = obj.ProductModelName + ', ' + element.Variant3Name;\n if (element.Variant4Name != undefined) obj.ProductModelName = obj.ProductModelName + ', ' + element.Variant4Name;\n obj.ProductModelName = obj.ProductModelName + ')'\n obj.QUotationValue = element.FinalAmount;\n obj.ProductModelPOValue = \"\";\n this.EnquiryObj.POValues.push(obj);\n });\n });\n }\n\n getEnquiryDetailsById() {\n \n this.updateLoaderEvent.emit(true);\n \n let queryString = \"\";\n queryString = \"id=\" + this.EnquiryObj.EnquiryDetails?.EnquiryId;\n \n this.commonService.GetData('Enquiry', 'GetById', queryString).subscribe((data: any) => {\n\n this.EnquiryObj.EnquiryDetails = data.EnquiryDetails;\n\n if(data.POValues.length==0)\n {\n this.showquotationPreview=false;\n \n }\n else\n {\n this.showquotationPreview=true;\n }\n if (this.EnquiryObj.EnquiryDetails?.QuotationRevisionNo != null && this.EnquiryObj.EnquiryDetails?.QuotationRevisionNo > 0) {\n this.getRevisedQuotationFileNamelist(this.EnquiryObj.EnquiryDetails?.QuotationNumber, this.EnquiryObj.EnquiryDetails?.QuotationRevisionNo);\n }\n\n this.EnquiryObj.EnquiryDetails.EnquiryDate = new NgbDate(new Date(this.EnquiryObj.EnquiryDetails?.EnquiryDate).getFullYear(), new Date(this.EnquiryObj.EnquiryDetails?.EnquiryDate).getMonth() + 1, new Date(this.EnquiryObj.EnquiryDetails?.EnquiryDate).getDate());\n if (this.EnquiryObj.EnquiryDetails?.TentativeDeliveryDate != null) {\n this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate = new NgbDate(new Date(this.EnquiryObj.EnquiryDetails?.TentativeDeliveryDate).getFullYear(), new Date(this.EnquiryObj.EnquiryDetails?.TentativeDeliveryDate).getMonth() + 1, new Date(this.EnquiryObj.EnquiryDetails?.TentativeDeliveryDate).getDate());\n }\n if (this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate != null) {\n this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate = new NgbDate(new Date(this.EnquiryObj.EnquiryDetails?.RequestedDeliveryDate).getFullYear(), new Date(this.EnquiryObj.EnquiryDetails?.RequestedDeliveryDate).getMonth() + 1, new Date(this.EnquiryObj.EnquiryDetails?.RequestedDeliveryDate).getDate());\n }\n this.EnquiryObj.EnqCustomerDetails = data.CustomerDetails;\n this.EnquiryObj.RFQObject = data.RFQObject;\n this.EnquiryObj.CustomerServiceComments_Quotation = data.CustomerServiceComments_Quotation;\n this.EnquiryObj.CustomerServiceComments_Order = data.CustomerServiceComments_Order;\n this.EnquiryObj.SalesDirectorComments_Quotation = data.SalesDirectorComments_Quotation;\n\n this.EnquiryObj.SalesDirectorComments_Order = data.SalesDirectorComments_Order;\n this.EnquiryObj.Comments = data.Comments == undefined ? [] : data.Comments;\n this.EnquiryObj.POValues = data.POValues;\n\n this.WinLossDropdownData = data.ReasonEnquiryWinLossObj;\n this.WinLossDropdownDataForStatus = this.WinLossDropdownData.filter(x => x.Value == this.EnquiryObj.EnquiryDetails.EnquiryConfirmStatus);\n \n if (data.EnquiryDetails.RFQTermsAndCondition == \"Standard\" || data.EnquiryDetails.RFQTermsAndCondition == \"\") {\n\n //if there are no existing Standard T&C assigned for Enquiry\n if (data.TermsAndConditions.length == 0) {\n this.EnquiryObj.EnquiryDetails.RFQTermsAndCondition = \"Standard\";\n this.EnquiryObj.TermsAndConditions = [...this.TnCStandardFromDropDown];\n } else {\n //if already assigned some T&C then use those\n this.EnquiryObj.TermsAndConditions = data.TermsAndConditions;\n }\n\n this.isStandardCondition = true;\n this.isStandardConditionForQuote = true;\n }else if (data.EnquiryDetails.RFQTermsAndCondition == \"Non-Standard\") {\n\n //if there are no existing Custom Standard T&C assigned for Enquiry\n if (data.CustomTermsAndConditions.length == 0) { \n this.EnquiryObj.EnquiryDetails.RFQTermsAndCondition = \"Non-Standard\";\n this.EnquiryObj.CustomTermsAndConditions = [...this.TnCCustomizedFromDropDown];\n this.TnCCustomizedDropDownForEditRfq1 = [...this.TnCCustomizedFromDropDown];\n } else {\n this.EnquiryObj.CustomTermsAndConditions = [...data.CustomTermsAndConditions];\n this.TnCCustomizedDropDownForEditRfq2 = [...data.CustomTermsAndConditions];\n }\n\n this.isStandardCondition = false;\n this.isStandardConditionForQuote = false;\n }\n\n this.activityDetails = data.ActivityDetails;\n this.activityDetails.forEach(element => {\n element.ActivityDate = new NgbDate(new Date(element.ActivityDate).getFullYear(), new Date(element.ActivityDate).getMonth() + 1, new Date(element.ActivityDate).getDate());\n\n //element.ActivityDateISO = new NgbDate(new Date(element.ActivityDate).getFullYear(), new Date(element.ActivityDate).getMonth() + 1, new Date(element.ActivityDate).getDate());\n });\n\n //TO POPULATE A SINGLE ROW ON PAGE INIT\n if (this.EnquiryObj.RFQObject.length == 0) {\n var obj = new ProductDetails();\n this.EnquiryObj.RFQObject.push(obj);\n }\n\n //TO POPULATE A SINGLE ROW ON PAGE INIT\n if (this.activityDetails.length == 0) {\n var obj1 = new ActivityModel();\n obj1.ActivityDate = new NgbDate(new Date().getFullYear(), new Date().getMonth() + 1, new Date().getDate());\n obj1.uniqueid = this.makeRandom();\n this.activityDetails.push(obj1);\n }\n\n this.role = localStorage.getItem('UserRole');\n // this.ScreenAccessSpecifier(localStorage.getItem('UserRole'), this.EnquiryObj.EnquiryDetails.Status);\n if(this.EnquiryObj.EnquiryDetails.segment!=undefined)\n {\n this.SubSegment = this.FinalSubSegment.filter(x=>x.SegmentId==this.EnquiryObj.EnquiryDetails.segment);\n this.Application= this.FinalApplication.filter(x=>x.SubSegmentId==this.EnquiryObj.EnquiryDetails.subSegment);\n }\n \n this.EnquiryObj.EnquiryDetails.IsFetchFromKYC=data.EnquiryDetails.IsFetchFromKYC;\n\n if (!(this.EnquiryObj.EnquiryDetails.QuotationPdf_filename == null ||\n this.EnquiryObj.EnquiryDetails.QuotationPdf_filename == undefined ||\n this.EnquiryObj.EnquiryDetails.QuotationPdf_filename == \"\")) {\n this.showQuotationLink = true;\n } else {\n this.showQuotationLink = false;\n \n }\n \n }, error => {\n this.updateLoaderEvent.emit(false);\n });\n\n }\n\n getRevisedQuotationFileNamelist(QuotationNumber: string, QuotationRevision: number) {\n let QTNNumber = QuotationNumber.replace(\"QTN/\", \"\");\n QTNNumber = QTNNumber.split(\"/\").join(\"_\");\n let filename = \"Quotation_\" + QTNNumber;\n let pdffilename = filename.split('_R')[0];\n for (let i = 0; i < QuotationRevision; i++) {\n if (i == 0) {\n this.RevisedQuotationFileNameList.push(pdffilename + \".pdf\")\n }\n else {\n this.RevisedQuotationFileNameList.push(pdffilename + \"_R\" + i + \".pdf\")\n }\n }\n\n }\n // replaceAll(str, term, replacement) {\n // return str.replace(new RegExp(escapeRegExp(term), 'g'), replacement);\n // }\n makeRandom() {\n let text = \"\";\n var possible: string = \"ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890,./;'[]\\=-)(*&^%$#@!~\";\n const lengthOfCode = 40;\n for (let i = 0; i < lengthOfCode; i++) {\n text += possible.charAt(Math.floor(Math.random() * possible.length));\n }\n return text;\n }\n\n getRFQProduct() {\n this.updateLoaderEvent.emit(true);\n let tracker = this.commonService.GetData(\"Enquiry\", \"GetEnquiryRFQDropdownData\", null);\n\n tracker.subscribe((data: any) => {\n this.product = data;\n this.productDrpdnDetails.MDSOptions = data.MDS;\n this.productDrpdnDetails.SalesPrice = data.Salesprice;\n this.productDrpdnDetails.EstimatedProductValue = data.EstimatedProductValue;\n this.IndustrySegment = data.segment; \n this.SubSegment = [];\n this.Application= []; \n this.FinalIndustrySegment = data.segment;\n this.FinalSubSegment = data.subSegment;\n this.FinalApplication= data.application;\n data.TermsAndConditions.forEach(element => {\n var obj = new TermsAndCondition();\n obj.TnCId = element.Id;\n obj.TnCName = element.Name;\n obj.TnCValue = element.Value;\n this.TnCStandardFromDropDown.push(obj);\n });\n\n this.demoObject = data.TermsAndConditions;\n\n this.demoCTCObject = data.CustomTermsAndCondition;\n \n for (let i = 0; i < data.CustomTermsAndCondition.length; i++) {\n var obj1 = new CustomTermsAndCondition();\n obj1.StandardTC = data.CustomTermsAndCondition[i].StandardTC.Id;\n obj1.StandardTCName = data.CustomTermsAndCondition[i].StandardTC.Name;\n // this.standardTC.push(data.CustomTermsAndCondition[i].StandardTC);\n\n for (let j = 0; j < data.CustomTermsAndCondition[i].CustomValues.length; j++) {\n obj1.CustomValues.push(data.CustomTermsAndCondition[i].CustomValues[j]);\n }\n this.TnCCustomizedFromDropDown.push(obj1);\n }\n\n this.demoCTCObject = data.CustomTermsAndCondition;\n \n // this.updateLoaderEvent.emit(false);\n });\n\n return tracker;\n }\n\n custtermscond: any = [];\n OnCustomValueChange(index, id) {\n let CustTcObj: CustomTermsAndCondition = new CustomTermsAndCondition();\n CustTcObj.StandardTC = this.EnquiryObj.CustomTermsAndConditions[index].StandardTC;\n CustTcObj.StandardTCName = this.EnquiryObj.CustomTermsAndConditions[index].StandardTCName;\n CustTcObj.CustValue = this.EnquiryObj.CustomTermsAndConditions[index].CustomValues.find(x => x.Id == id).Name;\n CustTcObj.CustTCId = id;\n \n this.newCustomiseArr = this.EnquiryObj.CustomTermsAndConditions\n this.newCustomiseArr[index].CustTCId = CustTcObj.CustTCId;\n this.newCustomiseArr[index].CustValue = CustTcObj.CustValue;\n // this.custtermscond.push(CustTcObj)\n // console.log(this.custtermscond);\n }\n\n getProductModel(Id, ind) {\n this.EnquiryObj.RFQObject[ind].ProductLineValidation = false;\n this.product.Product.forEach((element, index) => {\n if (element.ProductLine.Id == Id) {\n this.productDrpdnDetails.ProductModel = element.ProductModels;\n this.newRFQDetails.ProductModelList = element.ProductModels;\n this.EnquiryObj.RFQObject[ind].isProductLineChangeClick = true;\n this.EnquiryObj.RFQObject[ind].ProductModelList = this.productDrpdnDetails.ProductModel;\n }\n });\n }\n OnProductModelChange(index) {\n this.EnquiryObj.RFQObject[index].ProductModelValidation = false;\n }\n OnQuantityChange(index) {\n if (this.EnquiryObj.RFQObject[index].Quantity < 1) {\n //alert('Quantity cannot be 0 or negative.');\n this.toastr.info('Quantity cannot be 0 or negative.');\n this.EnquiryObj.RFQObject[index].Quantity = null;\n return;\n } else if (this.EnquiryObj.RFQObject[index].Quantity % 1 != 0) {\n // alert('Please enter the valid Quantity');\n this.toastr.info('Please enter the valid Quantity');\n\n this.EnquiryObj.RFQObject[index].Quantity = null;\n return;\n }\n this.EnquiryObj.RFQObject[index].QuantityValidation = false;\n }\n OnMDSOptionChange(index) {\n this.EnquiryObj.RFQObject[index].MDSOptionValidation = false;\n }\n OnSalesPriceChange(index) {\n\n this.EnquiryObj.RFQObject[index].SalesPriceValidation = false;\n\n // have to specify the id for Customer Special Discount /Contract Frame Agrrement \n\n if( this.EnquiryObj.RFQObject[index].SalesPrice==4)\n {\n this.updateLoaderEvent.emit(true);\n let queryString = \"\";\n queryString = \"id=\" + this.EnquiryObj.EnqCustomerDetails.CustomerId;\n this.commonService.GetData(\"CustomerSpecialDiscount\", \"GetById\", queryString).subscribe((data: any) => {\n this.EnquiryObj.CustomerSpecialDiscountdtls = data;\n if(this.EnquiryObj.CustomerSpecialDiscountdtls?.length==0)\n { \n this.toastr.info('Customer Special Discount is not assigned to this Customer');\n this.EnquiryObj.RFQObject[index].SalesDiscount=\"0\";\n this.iseditable=false;\n \n }\n this.EnquiryObj.CustomerSpecialDiscountdtls.forEach(element => {\n if(element.Fk_ProductModel==this.EnquiryObj.RFQObject[index].ProductModel)\n {\n this.EnquiryObj.RFQObject[index].SalesDiscount=element.ProductDiscount.toString();\n \n this.iseditable=false\n }\n });\n \n }, error => {\n this.toastr.error(\"Failed to load data!\");\n\n });\n this.showLoader=false;\n \n }\n\n if(this.EnquiryObj.RFQObject[index].SalesPrice!=4)\n {\n //this.getSalespricediscount(this.EnquiryObj.RFQObject[index].SalesPrice);\n\n this.updateLoaderEvent.emit(true);\n let queryString = \"\";\n queryString = \"id=\" + this.EnquiryObj.RFQObject[index].SalesPrice;\n this.commonService.GetData(\"SalesPrice\", \"GetById\", queryString).subscribe((data: any) => {\n \n this.EnquiryObj.RFQObject[index].SalesDiscount = data.DiscountFrom +\"-\"+ data.DiscountTo;\n this.DiscountFromrange=data.DiscountFrom;\n this.Discounttorange=data.DiscountTo;\n this.iseditable=true;\n this.toastr.info(\"Enter the Sales Price in Range \"+this.EnquiryObj.RFQObject[index].SalesDiscount);\n\n if(parseInt(this.EnquiryObj.RFQObject[index].SalesDiscount)==0-0)\n {\n this.EnquiryObj.RFQObject[index].SalesDiscount = \"0\";\n return;\n }\n }, error => {\n this.toastr.error(\"Failed to load data\");\n\n });\n this.updateLoaderEvent.emit(false);\n \n }\n\n }\n OnSalesDiscountChange(index) {\n if (parseInt(this.EnquiryObj.RFQObject[index].SalesDiscount) < 0) {\n //this.toastr.info('Sales Discount cannot be negative.');\n this.EnquiryObj.RFQObject[index].SalesDiscount = null;\n return;\n }\n else if (parseInt(this.EnquiryObj.RFQObject[index].SalesDiscount) > 100) {\n //this.toastr.info('Discount cannot be greater than 100.');\n this.EnquiryObj.RFQObject[index].SalesDiscount = null;\n return;\n }//10<23 && 23<20 10<18<20\n else if(!(this.DiscountFromrange<=this.EnquiryObj.RFQObject[index].SalesDiscount && this.EnquiryObj.RFQObject[index].SalesDiscount<=this.Discounttorange))\n {\n this.toastr.info('Discount must be in range from'+' '+this.DiscountFromrange+' '+'to'+' '+this.Discounttorange);\n return\n }\n \n else if (parseInt(this.EnquiryObj.RFQObject[index].SalesDiscount) % 1 != 0) {\n if (this.EnquiryObj.RFQObject[index].SalesDiscount.toString().split(\".\")[1].length > 2 || this.EnquiryObj.RFQObject[index].SalesDiscount.toString().split(\".\")[0].length > 2) {\n this.toastr.info(\"Only two numbers are allowed after decimal point\")\n // this.EnquiryObj.RFQObject[index].SalesDiscount = Math.round((this.EnquiryObj.RFQObject[index].SalesDiscount + Number.EPSILON) * 100) / 100;\n this.EnquiryObj.RFQObject[index].SalesDiscount = null;\n }\n }\n this.EnquiryObj.RFQObject[index].SalesDiscountValidation = false;\n }\n\n\n deleteAttachDocument(index, attachemntType) {\n switch (attachemntType) {\n case \"MDS\":\n this.EnquiryObj.RFQObject[index].MDSAttachment = [];\n this.EnquiryObj.RFQObject[index].isMDSAttachment = false;\n break;\n case \"ITC\":\n this.EnquiryObj.RFQObject[index].ITCAttachment = [];\n this.EnquiryObj.RFQObject[index].isITCAttachment = false;\n break;\n case \"Customer\":\n this.EnquiryObj.RFQObject[index].CustomerAttachment = [];\n this.EnquiryObj.RFQObject[index].isCustomerAttachment = false;\n break;\n case \"Weiss\":\n this.EnquiryObj.RFQObject[index].WeissAttachment = [];\n this.EnquiryObj.RFQObject[index].isWeissAttachment = false;\n break;\n }\n\n }\n\n deleteActivityAttachments(index) {\n this.activityDetails[index].Attachment = [];\n this.activityDetails[index].isActivityAttachment = false;\n }\n\n deleteActivityAttachmentsFromDB(index) {\n this.activityDetails[index].fileName = null;\n this.activityDetails[index].filePath = null;\n this.EnquiryObj.RemoveFiles.push(this.activityDetails[index].filePath);\n }\n\n\n deleteAttachDocumentFromDB(index, attachemntType) {\n switch (attachemntType) {\n case \"MDS\":\n var fileObj = new removefiles();\n fileObj.ProductId = this.EnquiryObj.RFQObject[index].ProductId;\n fileObj.filetype = \"MDS\";\n this.EnquiryObj.RemoveFiles.push(this.EnquiryObj.RFQObject[index].MDS_filepath);\n this.EnquiryObj.RFQObject[index].MDS_filename = null;\n this.EnquiryObj.RFQObject[index].MDS_filepath = null;\n break;\n case \"ITC\":\n var fileObj = new removefiles();\n fileObj.ProductId = this.EnquiryObj.RFQObject[index].ProductId;\n fileObj.filetype = \"ITC\";\n this.EnquiryObj.RemoveFiles.push(this.EnquiryObj.RFQObject[index].ITC_filepath);\n this.EnquiryObj.RFQObject[index].deleted_ITC_filename = this.EnquiryObj.RFQObject[index].ITC_filename;\n this.EnquiryObj.RFQObject[index].deleted_ITC_filepath = this.EnquiryObj.RFQObject[index].ITC_filepath;\n this.EnquiryObj.RFQObject[index].ITC_filename = null;\n this.EnquiryObj.RFQObject[index].ITC_filepath = null;\n\n break;\n case \"Customer\":\n var fileObj = new removefiles();\n fileObj.ProductId = this.EnquiryObj.RFQObject[index].ProductId;\n fileObj.filetype = \"Customer\";\n this.EnquiryObj.RemoveFiles.push(this.EnquiryObj.RFQObject[index].Customer_filepath);\n this.EnquiryObj.RFQObject[index].Customer_filename = null;\n this.EnquiryObj.RFQObject[index].Customer_filepath = null;\n break;\n case \"Weiss\":\n var fileObj = new removefiles();\n fileObj.ProductId = this.EnquiryObj.RFQObject[index].ProductId;\n fileObj.filetype = \"Weiss\";\n this.EnquiryObj.RemoveFiles.push(this.EnquiryObj.RFQObject[index].Weiss_filepath);\n this.EnquiryObj.RFQObject[index].Weiss_filename = null;\n this.EnquiryObj.RFQObject[index].Weiss_filepath = null;\n break;\n }\n\n }\n\n deleteActivityDetails(index) {\n if (index != null) {\n this.activityDetails.splice(index, 1);\n }\n }\n addActivityDetails(index) {\n if (!(this.activityDetails[index].Activity == undefined || this.activityDetails[index].Activity == null || this.activityDetails[index].Activity == \"\")\n &&\n !(this.activityDetails[index].ActivityDate == undefined || this.activityDetails[index].ActivityDate == null || this.activityDetails[index].ActivityDate == \"\")) {\n var obj = new ActivityModel();\n obj.ActivityDate = new NgbDate(new Date().getFullYear(), new Date().getMonth() + 1, new Date().getDate());\n obj.uniqueid = this.makeRandom();\n obj.ISNewActivityAdded = true;\n this.activityDetails.push(obj);\n }\n }\n\n getCustomerList() {\n\n this.updateLoaderEvent.emit(true);\n\n let tracker = this.commonService.GetData(\"Customer\", \"GetAll\", null);\n tracker.subscribe((data: any) => {\n this.CustomerList = data;\n\n this.updateLoaderEvent.emit(false);\n });\n\n return tracker;\n }\n\n getEnquirySourceDetails() {\n\n this.updateLoaderEvent.emit(true);\n\n let tracker = this.commonService.GetData(\"Enquiry\", \"GetEnquiryDropdownData\", null);\n tracker.subscribe((data: any) => {\n this.enquirySource = data.EnquirySource;\n this.updateLoaderEvent.emit(false);\n });\n\n return tracker;\n }\n\n getProductDetails() {\n\n this.updateLoaderEvent.emit(true);\n\n let tracker = this.commonService.GetData(\"Product\", \"GetRFQProductDetails\", null);\n\n this.commonService.GetData(\"Product\", \"GetRFQProductDetails\", null).subscribe((data: any) => {\n this.CustomerList = data;\n // this.updateLoaderEvent.emit(false);\n });\n\n return tracker;\n }\n\n\n AvoidSpace(event: any) {\n if ((event.which === 46 || event.which === 32) && !event.target.value.length) {\n event.preventDefault();\n }\n }\n\n isNumberKey(evt: any) {\n this.charCode = (evt.which) ? evt.which : evt.keyCode;\n if ((this.charCode == 45 || this.charCode == 43) && this.charCode > 31\n && (this.charCode < 48 || this.charCode > 57)) {\n return false;\n }\n else {\n return true;\n }\n }\n\n isintNumberKey(evt: any) {\n this.charCode = (evt.which) ? evt.which : evt.keyCode;\n if ((this.charCode == 46 || this.charCode == 45 || this.charCode == 43) && this.charCode > 31\n && (this.charCode < 48 || this.charCode > 57)) {\n return false;\n }\n else {\n return true;\n }\n }\n\n AddRFQDetails(index) {\n if (this.EnquiryObj.RFQObject[index].ProductLine != undefined && this.EnquiryObj.RFQObject[index].ProductModel != undefined &&\n this.EnquiryObj.RFQObject[index].Quantity != undefined) {\n\n this.EnquiryObj.RFQObject[index].IsRowDeleted = true;\n\n var obj = new ProductDetails();\n this.EnquiryObj.RFQObject.push(obj);\n\n }\n }\n\n openCSComments() {\n this.isCustomerCommentVisible = !this.isCustomerCommentVisible;\n }\n\n openQuotationPopup() {\n const frmData = new FormData();\n if (this.EnquiryObj.EnquiryDetails.BOMAttachment) {\n this.updateLoaderEvent.emit(true);\n if (this.EnquiryObj.EnquiryDetails.EnquiryDate != undefined) {\n this.EnquiryObj.EnquiryDetails.EnquiryDateISO = new Date(this.convertDate(new NgbDate(this.EnquiryObj.EnquiryDetails.EnquiryDate.year, this.EnquiryObj.EnquiryDetails.EnquiryDate.month, this.EnquiryObj.EnquiryDetails.EnquiryDate.day))).toDateString();\n }\n if (this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate != undefined) {\n this.EnquiryObj.EnquiryDetails.RequestedDeliveryDateISO = new Date(this.convertDate(new NgbDate(this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate.year, this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate.month, this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate.day))).toDateString();\n }\n if (this.EnquiryObj.EnquiryDetails.EnquiryDate != undefined) {\n this.EnquiryObj.EnquiryDetails.EnquiryDate = new Date(this.convertDate(new NgbDate(this.EnquiryObj.EnquiryDetails.EnquiryDate.year, this.EnquiryObj.EnquiryDetails.EnquiryDate.month, this.EnquiryObj.EnquiryDetails.EnquiryDate.day)));\n }\n if (this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate != undefined) {\n this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate = new Date(this.convertDate(new NgbDate(this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate.year, this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate.month, this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate.day)));\n }\n frmData.append(\"BOMAttachment\", this.EnquiryObj.EnquiryDetails.BOMAttachment[0]);\n\n let EnquiryObj = JSON.stringify(this.EnquiryObj);\n frmData.append(\"EnquiryModel\", EnquiryObj);\n\n this.commonService.PostData(\"Enquiry\", \"AddBOM\", frmData, null).subscribe((data: any) => {\n this.updateLoaderEvent.emit(false);\n }, error => {\n this.updateLoaderEvent.emit(false);\n });\n }\n\n const modalRef = this.modalService.open(EnquiryModalComponent, {\n size: 'lg', backdrop: 'static', keyboard: false\n });\n var enquiObj = {\n EnquiryId: this.EnquiryObj.EnquiryDetails.EnquiryId,\n EnquiryStatus: this.EnquiryObj.EnquiryDetails.Status,\n EnqTermsConditionSelected: this.EnquiryObj.EnquiryDetails.RFQTermsAndCondition,\n IsQuotationPriceOnRequest: this.EnquiryObj.EnquiryDetails.IsQuotationPriceOnRequest,\n TermsAndCondition: this.EnquiryObj.TermsAndConditions,\n CustomTermsAndCondition: this.EnquiryObj.CustomTermsAndConditions,\n PendingAtRoleId: this.EnquiryObj.EnquiryDetails.PendingAtRoleId\n }\n modalRef.componentInstance.enquiObj = enquiObj;\n modalRef.result.then((result) => {\n this.closeResult = `Closed with:${result}`;\n if (this.closeResult !== 'Closed with:Close click') {\n }\n }, error => {\n this.updateLoaderEvent.emit(false);\n });\n }\n\n backtoList() {\n // this._location.back();\n if (this.previousUrl == null || this.previousUrl == \"\" || this.previousUrl == undefined) {\n this.router.navigate(['/Enquiry']);\n }\n else if (this.previousUrl.includes(\"PendingEnquiry\")) {\n this.router.navigate(['/PendingEnquiry']);\n }\n else {\n this.router.navigate(['/Enquiry']);\n }\n\n }\n\n\n deleteRFQDetails(index: any) {\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Do you want to delete this row?\"\n }\n });\n dialogRef.afterClosed().subscribe(dialogResult => {\n if (dialogResult) {\n if (index != null) {\n this.EnquiryObj.RFQObject.splice(index, 1);\n } else {\n this.EnquiryObj.RFQObject.pop();\n }\n }\n });\n }\n\n setTermsAndConditions() {\n if (this.EnquiryObj.EnquiryDetails.RFQTermsAndCondition == 'Standard') {\n this.isStandardCondition = true; \n this.EnquiryObj.TermsAndConditions = [...this.TnCStandardFromDropDown]; \n this.EnquiryObj.TermsAndConditions.forEach(element => { \n var tnc = this.demoObject.filter(x => x.Id == element.TnCId)[0]; \n element.TnCValue = tnc?.Value; \n });\n } else { \n this.isStandardCondition = false; \n this.EnquiryObj.CustomTermsAndConditions = [...this.TnCCustomizedFromDropDown];\n this.EnquiryObj.CustomTermsAndConditions.forEach(element => {\n var ctnc = this.demoCTCObject.filter(x => x.StandardTC.Id == element.StandardTC)[0];\n element.CustomValues = ctnc?.CustomValues;\n });\n \n }\n }\n\n setTermsAndConditionsEditRfq() {\n \n if (this.EnquiryObj.EnquiryDetails.RFQTermsAndCondition == 'Standard') {\n this.isStandardCondition = true;\n this.isStandardConditionForQuote = true;\n //this.EnquiryObj.TnCObject = this.demoObject; \n this.EnquiryObj.TermsAndConditions = [...this.TnCStandardFromDropDown];\n\n this.EnquiryObj.TermsAndConditions.forEach(element => {\n var tnc = this.demoObject.filter(x => x.Id == element.TnCId)[0];\n element.TnCValue = tnc?.Value;\n \n });\n } \n else {\n this.isStandardCondition = false;\n this.isStandardConditionForQuote = false;\n\n //if there is no custom t&c yet selected then load default custom T&C\n if (this.EnquiryObj.CustomTermsAndConditions.length == 0) {\n this.EnquiryObj.CustomTermsAndConditions = [...this.TnCCustomizedFromDropDown];\n\n } else if (this.TnCCustomizedDropDownForEditRfq2.length > 0) {\n this.EnquiryObj.CustomTermsAndConditions = [...this.TnCCustomizedDropDownForEditRfq2];\n }\n\n this.EnquiryObj.CustomTermsAndConditions.forEach(element => {\n var ctnc = this.demoCTCObject.filter(x => x.StandardTC.Id == element.StandardTC)[0];\n element.CustomValues = ctnc?.CustomValues;\n\n });\n }\n }\n\n editFileDetails(event, index) {\n let file = event.target.files[0];\n let isValidFile = true;\n if (((file.size) / 1000000) <= 5) {\n isValidFile = this.allowedFileType.includes(file.type);\n if (!isValidFile) {\n this.toastr.warning(\"Invalid file attached!\");\n switch (event.target.name) {\n case \"mdsfile\":\n this.EnquiryObj.RFQObject[index].MDSAttachment = [];\n this.EnquiryObj.RFQObject[index].isMDSAttachment = false;\n break;\n case \"itcfile\":\n this.EnquiryObj.RFQObject[index].ITCAttachment = [];\n this.EnquiryObj.RFQObject[index].isITCAttachment = false;\n break;\n case \"customerfile\":\n this.EnquiryObj.RFQObject[index].CustomerAttachment = [];\n this.EnquiryObj.RFQObject[index].isCustomerAttachment = false;\n break;\n case \"weissfile\":\n this.EnquiryObj.RFQObject[index].WeissAttachment = [];\n this.EnquiryObj.RFQObject[index].isWeissAttachment = false;\n break;\n case \"bomfile\":\n this.EnquiryObj.EnquiryDetails.BOMAttachment = [];\n this.isBOMAttachment = false;\n break;\n case \"ecfile\":\n this.EnquiryObj.EnquiryDetails.POAttchments = [];\n break;\n case \"accfile\":\n this.EnquiryObj.EnquiryDetails.InvoiceAttachment = [];\n this.isInvoiceAttachment = false;\n break;\n case \"activityfile\":\n this.activityDetails[index].Attachment = [];\n this.activityDetails[index].isActivityAttachment = false;\n break;\n }\n event.target.value = null;\n isValidFile = false;\n } else if (file.name.length > 50) {\n this.toastr.warning(\"The file name with more than 50 characters are not allowed.\");\n switch (event.target.name) {\n case \"mdsfile\":\n this.EnquiryObj.RFQObject[index].MDSAttachment = [];\n this.EnquiryObj.RFQObject[index].isMDSAttachment = false;\n break;\n case \"itcfile\":\n this.EnquiryObj.RFQObject[index].ITCAttachment = [];\n this.EnquiryObj.RFQObject[index].isITCAttachment = false;\n break;\n case \"customerfile\":\n this.EnquiryObj.RFQObject[index].CustomerAttachment = [];\n this.EnquiryObj.RFQObject[index].isCustomerAttachment = false;\n break;\n case \"weissfile\":\n this.EnquiryObj.RFQObject[index].WeissAttachment = [];\n this.EnquiryObj.RFQObject[index].isWeissAttachment = false;\n break;\n case \"bomfile\":\n this.EnquiryObj.EnquiryDetails.BOMAttachment = [];\n this.isBOMAttachment = false;\n break;\n case \"ecfile\":\n this.EnquiryObj.EnquiryDetails.POAttchments = [];\n break;\n case \"accfile\":\n this.EnquiryObj.EnquiryDetails.InvoiceAttachment = [];\n this.isInvoiceAttachment = false;\n break;\n case \"activityfile\":\n this.activityDetails[index].Attachment = [];\n this.activityDetails[index].isActivityAttachment = false;\n break;\n }\n event.target.value = null;\n isValidFile = false;\n }\n }\n else {\n this.toastr.warning(\"File size must be less than or equal to 5MB!\");\n switch (event.target.name) {\n case \"mdsfile\":\n this.EnquiryObj.RFQObject[index].MDSAttachment = [];\n this.EnquiryObj.RFQObject[index].isMDSAttachment = false;\n break;\n case \"itcfile\":\n this.EnquiryObj.RFQObject[index].ITCAttachment = [];\n this.EnquiryObj.RFQObject[index].isITCAttachment = false;\n break;\n case \"customerfile\":\n this.EnquiryObj.RFQObject[index].CustomerAttachment = [];\n this.EnquiryObj.RFQObject[index].isCustomerAttachment = false;\n break;\n case \"weissfile\":\n this.EnquiryObj.RFQObject[index].WeissAttachment = [];\n this.EnquiryObj.RFQObject[index].isWeissAttachment = false;\n break;\n case \"bomfile\":\n this.EnquiryObj.EnquiryDetails.BOMAttachment = [];\n this.isBOMAttachment = false;\n break;\n case \"ecfile\":\n this.EnquiryObj.EnquiryDetails.POAttchments = [];\n break;\n case \"accfile\":\n this.EnquiryObj.EnquiryDetails.InvoiceAttachment = [];\n this.isInvoiceAttachment = false;\n break;\n case \"activityfile\":\n this.activityDetails[index].Attachment = [];\n this.activityDetails[index].isActivityAttachment = false;\n break;\n }\n event.target.value = null;\n isValidFile = false;\n }\n if (isValidFile) {\n //CHECK IF THE FILE NAME IS NOT TOO BIG\n\n switch (event.target.name) {\n case \"mdsfile\":\n this.EnquiryObj.RFQObject[index].MDSAttachment = [];\n this.EnquiryObj.RFQObject[index].MDSAttachment.push(file);\n this.EnquiryObj.RFQObject[index].isMDSAttachment = true;\n break;\n case \"itcfile\":\n if (!(file.type == 'application/xml' || file.type == 'text/xml')) {\n this.toastr.warning(\"Only xml file supported!\");\n this.EnquiryObj.RFQObject[index].ITCAttachment = [];\n this.EnquiryObj.RFQObject[index].isITCAttachment = false;\n event.target.value = null;\n isValidFile = false;\n }\n else {\n // const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n // maxWidth: \"400px\",\n // data: {\n // title: \"Are you sure?\",\n // message: 'Please make sure that the entered Product and ITC Product are being matched. Do you want to continue?'\n // }\n // });\n // dialogRef.afterClosed().subscribe(dialogResult => {\n // if (dialogResult) {\n this.EnquiryObj.RFQObject[index].ITCAttachment = [];\n this.EnquiryObj.RFQObject[index].ITCAttachment.push(file);\n this.EnquiryObj.RFQObject[index].isITCAttachment = true;\n // }\n // });\n\n }\n break;\n case \"customerfile\":\n this.EnquiryObj.RFQObject[index].CustomerAttachment = [];\n this.EnquiryObj.RFQObject[index].CustomerAttachment.push(file);\n this.EnquiryObj.RFQObject[index].isCustomerAttachment = true;\n break;\n case \"weissfile\":\n this.EnquiryObj.RFQObject[index].WeissAttachment = [];\n this.EnquiryObj.RFQObject[index].WeissAttachment.push(file);\n this.EnquiryObj.RFQObject[index].isWeissAttachment = true;\n break;\n case \"bomfile\":\n this.EnquiryObj.EnquiryDetails.BOMAttachment = [];\n this.EnquiryObj.EnquiryDetails.BOMAttachment.push(file);\n this.isBOMAttachment = true;\n break;\n case \"ecfile\":\n this.EnquiryObj.EnquiryDetails.POAttchments = [];\n this.EnquiryObj.EnquiryDetails.POAttchments.push(file);\n this.isPOAttachment = true;\n break;\n case \"accfile\":\n this.EnquiryObj.EnquiryDetails.InvoiceAttachment = [];\n this.EnquiryObj.EnquiryDetails.InvoiceAttachment.push(file);\n this.isInvoiceAttachment = true;\n break;\n case \"activityfile\":\n this.activityDetails[index].Attachment = [];\n this.activityDetails[index].Attachment.push(file);\n this.activityDetails[index].isActivityAttachment = true;\n break;\n }\n }\n }\n\n getMultipleFileDetails(event) {\n for (let i = 0; i < event.target.files.length; i++) {\n let file = event.target.files[i];\n let isValidFile = true;\n if (((file.size) / 1000000) <= 5) {\n\n isValidFile = this.allowedFileType.includes(file.type);\n if (!isValidFile) {\n this.toastr.warning(\"Invalid file attached!\");\n //event.target.value = null;\n isValidFile = false;\n } else if (file.name.length > 50) {\n this.toastr.warning(\"The file name with more than 50 characters are not allowed.\");\n isValidFile = false;\n }\n }\n else {\n this.toastr.warning(\"File size must be less than or equal to 5MB!\");\n //event.target.value = null;\n isValidFile = false;\n }\n if (isValidFile) {\n switch (event.target.name) {\n case \"quotefiles\":\n if (this.EnquiryObj.EnquiryDetails.QuoteGenAttachments == undefined || this.EnquiryObj.EnquiryDetails.QuoteGenAttachments.length == 0) {\n this.EnquiryObj.EnquiryDetails.QuoteGenAttachments = [];\n }\n this.EnquiryObj.EnquiryDetails.QuoteGenAttachments.push(file);\n break;\n case \"mafile\":\n if (this.EnquiryObj.EnquiryDetails.QuoteGenAttachments == undefined || this.EnquiryObj.EnquiryDetails.QuoteGenAttachments.length == 0) {\n this.EnquiryObj.EnquiryDetails.QuoteGenAttachments = [];\n }\n this.EnquiryObj.EnquiryDetails.QuoteGenAttachments.push(file);\n break;\n case \"ceofile\":\n if (this.EnquiryObj.EnquiryDetails.QuoteGenAttachments == undefined || this.EnquiryObj.EnquiryDetails.QuoteGenAttachments.length == 0) {\n this.EnquiryObj.EnquiryDetails.QuoteGenAttachments = [];\n }\n this.EnquiryObj.EnquiryDetails.QuoteGenAttachments.push(file);\n break;\n case \"maofile\":\n if (this.EnquiryObj.EnquiryDetails.QuoteGenAttachments == undefined || this.EnquiryObj.EnquiryDetails.QuoteGenAttachments.length == 0) {\n this.EnquiryObj.EnquiryDetails.QuoteGenAttachments = [];\n }\n this.EnquiryObj.EnquiryDetails.QuoteGenAttachments.push(file);\n break;\n }\n }\n }\n }\n\n removeQuoteGenAttachments(index) {\n this.EnquiryObj.EnquiryDetails.QuoteGenAttachments.splice(index, 1);\n this.myInputVariable.nativeElement.value = \"\";\n\n }\n removeQuoteGenAttachmentsDB(index) {\n this.EnquiryObj.RemoveFiles.push(this.EnquiryObj.EnquiryDetails.QuoteAttachmentsArray[index].FilePath);\n this.EnquiryObj.EnquiryDetails.QuoteAttachmentsArray[index].FileName = null;\n this.EnquiryObj.EnquiryDetails.QuoteAttachmentsArray[index].FilePath = null;\n this.EnquiryObj.EnquiryDetails.QuoteAttachmentsArray.splice(index, 1);\n }\n removeBOMAttachments(flag) {\n if (flag == 1) {\n this.EnquiryObj.RemoveFiles.push(this.EnquiryObj.EnquiryDetails.BOM_filepath);\n }\n this.isBOMAttachment = false;\n this.EnquiryObj.EnquiryDetails.BOMAttachment = [];\n this.EnquiryObj.EnquiryDetails.BOM_filename = null;\n this.EnquiryObj.EnquiryDetails.BOM_filepath = null;\n }\n\n removeInvoiceAttachments() {\n this.isInvoiceAttachment = false;\n this.myInputVariable.nativeElement.value = \"\";\n this.EnquiryObj.EnquiryDetails.InvoiceAttachment = undefined;\n }\n\n SetStatus(rule, myform: any) { \n this.updateLoaderEvent.emit(true);\n this.PreviousStatus = this.EnquiryObj.EnquiryDetails.Status; \n\n this.EnquiryObj.EnquiryDetails.Status = rule[0].workflowNextStatusId; \n this.AddEnquiry();\n\n if (rule[0].workflowNextStatusId == this.enquiryStatusList.filter(x=>x.Status=='RFQAcceptedbyL1')[0]?.Pk_Id) {\n this.isAcceptClick = true;\n } else {\n if (this.isQuoteGenerationEditable && this.isQuoteGenerationVisible) {\n if (!(this.EnquiryObj.EnquiryDetails.Comments == '.' \n || this.EnquiryObj.EnquiryDetails.Comments == undefined \n || this.EnquiryObj.EnquiryDetails.Comments == null \n || this.EnquiryObj.EnquiryDetails.Comments.trim() == \"\")) \n {\n this.myform3.controls['quotecomments'].setValue(this.EnquiryObj.EnquiryDetails.Comments);\n } else {\n if (this.isAcceptClick) {\n this.myform3.controls['quotecomments'].setValue(null);\n }\n }\n }\n } \n }\n\n AddEnquiry() {\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='EnquiryAdded')[0]?.Pk_Id\n || this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='RFQSaveAsDraft')[0]?.Pk_Id\n || this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='RFQSubmittedbySalesEngg')[0]?.Pk_Id\n ) {\n \n this.checkRFQGridValidation();\n if (!this.IsRFQDataValid) {\n this.updateLoaderEvent.emit(false);\n return;\n }\n if (this.EnquiryObj.EnquiryDetails.RFQTermsAndCondition == 'Standard')\n {\n let tnc = this.EnquiryObj.TermsAndConditions.filter(x => (x.TnCValue == undefined || x.TnCValue == null || x.TnCValue == ''));\n if (tnc.length > 0) {\n this.updateLoaderEvent.emit(false);\n return;\n }\n this.EnquiryObj.CustomTermsAndConditions=null;\n }\n \n if (this.EnquiryObj.EnquiryDetails.RFQTermsAndCondition == 'Non-Standard')\n {\n let ctnc = this.EnquiryObj.CustomTermsAndConditions.filter(x => (x.CustomValues == undefined || x.CustomValues == null))\n if (ctnc.length > 0) {\n this.updateLoaderEvent.emit(false);\n return;\n } \n this.EnquiryObj.TermsAndConditions=null;\n } \n \n \n }\n // Dont proceed if the BOM attachment is not present\n // if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='SendBOMandProposal')[0]?.Pk_Id \n // || this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='QuotationSenttoCustomerService')[0]?.Pk_Id \n // || this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='RFQsentbyL1toL2')[0]?.Pk_Id) {\n // if ((this.EnquiryObj.EnquiryDetails.BOMAttachment == null || this.EnquiryObj.EnquiryDetails.BOMAttachment == undefined || this.EnquiryObj.EnquiryDetails.BOMAttachment.length == 0) &&\n // (this.EnquiryObj.EnquiryDetails.BOM_filename == null || this.EnquiryObj.EnquiryDetails.BOM_filename == undefined || this.EnquiryObj.EnquiryDetails.BOM_filename == \"\")) {\n // this.toastr.info('BOM attachment is required.');\n // this.updateLoaderEvent.emit(false);\n // return;\n // }\n // }\n\n // //Dont proceed if the Po attachment is not present\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='EnquiryOrderConfirmedbySalesEngg')[0]?.Pk_Id) {\n if ((this.EnquiryObj.EnquiryDetails.POAttchments == null || this.EnquiryObj.EnquiryDetails.POAttchments == undefined || this.EnquiryObj.EnquiryDetails.POAttchments.length == 0) &&\n (this.EnquiryObj.EnquiryDetails.PO_filename == null || this.EnquiryObj.EnquiryDetails.PO_filename == undefined || this.EnquiryObj.EnquiryDetails.PO_filename == \"\")) {\n this.toastr.info('PO attachment is required.');\n this.updateLoaderEvent.emit(false);\n return;\n }\n }\n\n // //Dont proceed if the Invoice attachment is not present\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='AccountsConfirmInvoiceNo')[0]?.Pk_Id) {\n if ((this.EnquiryObj.EnquiryDetails.InvoiceAttachment == null || this.EnquiryObj.EnquiryDetails.InvoiceAttachment == undefined || this.EnquiryObj.EnquiryDetails.InvoiceAttachment.length == 0) &&\n (this.EnquiryObj.EnquiryDetails.Invoice_filename == null || this.EnquiryObj.EnquiryDetails.Invoice_filename == undefined || this.EnquiryObj.EnquiryDetails.Invoice_filename == \"\")) {\n this.EnquiryObj.EnquiryDetails.Status = this.enquiryStatusList.filter(x=>x.Status=='MaterialReadyForDispatch')[0]?.Pk_Id;\n this.toastr.info('Invoice attachment is required.');\n this.updateLoaderEvent.emit(false);\n return;\n }\n }\n\n\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='EnquiryOrderConfirmedbySalesEngg')[0]?.Pk_Id) {\n if ((this.EnquiryObj.EnquiryDetails.POAttchments == undefined || this.EnquiryObj.EnquiryDetails.POAttchments == null || this.EnquiryObj.EnquiryDetails.POAttchments.length==0)) {\n this.updateLoaderEvent.emit(false);\n return;\n }\n }\n\n\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='OrdersentforMngmtApproval_SalesDirector')[0]?.Pk_Id) {\n if (this.isPOAttacmentDelete) {\n if ((this.EnquiryObj.EnquiryDetails.POAttchments == undefined || this.EnquiryObj.EnquiryDetails.POAttchments == null || this.EnquiryObj.EnquiryDetails.POAttchments.length == 0)) {\n this.updateLoaderEvent.emit(false);\n return;\n }\n }\n\n }\n\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='OrderConfirmedbyCustomerServiceSendSO')[0]?.Pk_Id) {\n if (this.isPOAttacmentDelete) {\n if ((this.EnquiryObj.EnquiryDetails.POAttchments == undefined || this.EnquiryObj.EnquiryDetails.POAttchments == null || this.EnquiryObj.EnquiryDetails.POAttchments.length == 0)) {\n \n this.updateLoaderEvent.emit(false);\n return;\n }\n }\n }\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='AccountsConfirmInvoiceNo')[0]?.Pk_Id) {\n if (this.EnquiryObj.EnquiryDetails.InvoiceAttachment == undefined) {\n this.EnquiryObj.EnquiryDetails.Status = this.enquiryStatusList.filter(x=>x.Status=='MaterialReadyForDispatch')[0]?.Pk_Id\n this.updateLoaderEvent.emit(false);\n return;\n }\n }\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='OrdersentforMngmtApproval_SalesDirector')[0]?.Pk_Id ||\n this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='OrderConfirmedbyCustomerServiceSendSO')[0]?.Pk_Id) {\n let sum: number = 0;\n this.EnquiryObj.POValues.forEach(element => {\n element.ProductModelPOValue = (element.ProductModelPOValue == null || element.ProductModelPOValue == '' || element.ProductModelPOValue == undefined)\n ? '0' : element.ProductModelPOValue;\n sum = sum + parseInt(element.ProductModelPOValue);\n element.QUotationValueValidation = false;\n });\n if (sum.toString() != this.EnquiryObj.EnquiryDetails.POValue) {\n document.getElementById(\"povalue0\").focus();\n this.toastr.info('Total PO value and product wise PO values are not matching.');\n this.EnquiryObj.EnquiryDetails.Status = this.PreviousStatus;\n this.UpdatePO = false;\n this.updateLoaderEvent.emit(false);\n return;\n }\n }\n\n setTimeout(() => this.openPopup());\n }\n openPopup() {\n // var confimrmsg = this.AppGlobals.successMessages.filter(x => x.id == this.EnquiryObj.EnquiryDetails.Status)[0];\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"You want to proceed?\"\n }\n });\n dialogRef.afterClosed().subscribe(dialogResult => {\n if (dialogResult) {\n this.updateLoaderEvent.emit(true);\n const frmData = new FormData();\n this.EnquiryObj.RFQObject.forEach(item => {\n item.IsRowDeleted = false;\n });\n if (this.EnquiryObj.EnquiryDetails.EnquiryDate != undefined) {\n this.EnquiryObj.EnquiryDetails.EnquiryDateISO = new Date(this.convertDate(new NgbDate(this.EnquiryObj.EnquiryDetails.EnquiryDate.year, this.EnquiryObj.EnquiryDetails.EnquiryDate.month, this.EnquiryObj.EnquiryDetails.EnquiryDate.day))).toDateString();\n }\n if (this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate != undefined) {\n this.EnquiryObj.EnquiryDetails.TentativeDeliveryDateISO = new Date(this.convertDate(new NgbDate(this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate.year, this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate.month, this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate.day))).toDateString();\n }\n if (this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate != undefined) {\n this.EnquiryObj.EnquiryDetails.RequestedDeliveryDateISO = new Date(this.convertDate(new NgbDate(this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate.year, this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate.month, this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate.day))).toDateString();\n }\n if (this.EnquiryObj.EnquiryDetails.EnquiryDate != undefined) {\n this.EnquiryObj.EnquiryDetails.EnquiryDate = new Date(this.convertDate(new NgbDate(this.EnquiryObj.EnquiryDetails.EnquiryDate.year, this.EnquiryObj.EnquiryDetails.EnquiryDate.month, this.EnquiryObj.EnquiryDetails.EnquiryDate.day)));\n }\n if (this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate != undefined) {\n this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate = new Date(this.convertDate(new NgbDate(this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate.year, this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate.month, this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate.day)));\n }\n if (this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate != undefined) {\n this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate = new Date(this.convertDate(new NgbDate(this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate.year, this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate.month, this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate.day)));\n }\n\n if (this.EnquiryObj.EnquiryDetails.RFQTermsAndCondition == \"Non-Standard\") {\n this.EnquiryObj.TermsAndConditions = null;\n \n this.EnquiryObj.CustomTermsAndConditions = this.newCustomiseArr;\n \n }\n\n let EnquiryObj = JSON.stringify(this.EnquiryObj);\n frmData.append(\"EnquiryModel\", EnquiryObj);\n\n\n if (this.EnquiryObj.EnquiryDetails.QuoteGenAttachments != null) {\n for (let i = 0; i < this.EnquiryObj.EnquiryDetails.QuoteGenAttachments.length; i++) {\n frmData.append(\"QuoteGenAttachments[\" + i + \"]\", this.EnquiryObj.EnquiryDetails.QuoteGenAttachments[i]);\n }\n }\n for (let i = 0; i < this.EnquiryObj.RFQObject.length; i++) {\n if (this.EnquiryObj.RFQObject[i].MDSAttachment != undefined) {\n frmData.append(\"MDSAttachment[\" + i + \"]\", this.EnquiryObj.RFQObject[i].MDSAttachment[0]);\n }\n if (this.EnquiryObj.RFQObject[i].ITCAttachment != undefined) {\n frmData.append(\"ITCAttachment[\" + i + \"]\", this.EnquiryObj.RFQObject[i].ITCAttachment[0]);\n }\n if (this.EnquiryObj.RFQObject[i].CustomerAttachment != undefined) {\n frmData.append(\"CustomerAttachment[\" + i + \"]\", this.EnquiryObj.RFQObject[i].CustomerAttachment[0]);\n }\n if (this.EnquiryObj.RFQObject[i].WeissAttachment != undefined) {\n frmData.append(\"WeissAttachment[\" + i + \"]\", this.EnquiryObj.RFQObject[i].WeissAttachment[0]);\n }\n }\n if (this.EnquiryObj.EnquiryDetails.BOMAttachment) {\n frmData.append(\"BOMAttachment\", this.EnquiryObj.EnquiryDetails.BOMAttachment[0]);\n }\n if (this.EnquiryObj.EnquiryDetails.InvoiceAttachment) {\n frmData.append(\"InvoiceAttachment\", this.EnquiryObj.EnquiryDetails.InvoiceAttachment[0]);\n }\n if (this.EnquiryObj.EnquiryDetails.POAttchments) {\n frmData.append(\"POAttchments\", this.EnquiryObj.EnquiryDetails.POAttchments[0]);\n }\n \n \n this.commonService.PostData(\"Enquiry\", \"Add\", frmData, null).subscribe((data: any) => {\n this.customerDrpdnDetails = data;\n this.EnquiryObj.EnquiryDetails.EnquiryId = data; \n this.toastr.success(\"Quotation updated successfully\"); \n\n this.updateLoaderEvent.emit(false);\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='RFQAcceptedbyL1')[0]?.Pk_Id ||\n this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='QuotationRevision')[0]?.Pk_Id ||\n this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='RFQSubmittedbyL1')[0]?.Pk_Id ||\n this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='RFQSubmittedbyL2')[0]?.Pk_Id ||\n this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='RFQSubmittedbyL3')[0]?.Pk_Id ||\n this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='RFQSubmittedbyCustomerService')[0]?.Pk_Id ||\n this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='OANoGenerated')[0]?.Pk_Id) {\n // this.router.navigate(['/EditViewEnquiry/' + this.EnquiryObj.EnquiryDetails.EnquiryId]);\n window.location.reload();\n } else {\n this.router.navigate(['/Enquiry']);\n //this.backtoList();\n }\n }, error => {\n this.toastr.error(\"Failed to update quotation\");\n this.updateLoaderEvent.emit(false);\n });\n } else {\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='QuotationRevision')[0]?.Pk_Id) {\n this.chosenItem = \"2\";\n this.quoterevcomments = this.EnquiryObj.EnquiryDetails.Comments;\n this.EnquiryObj.EnquiryDetails.Comments = \"\";\n }\n else {\n\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='OrdersentforMngmtApproval_SalesDirector')[0]?.Pk_Id ||\n this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='OrderConfirmedbyCustomerServiceSendSO')[0]?.Pk_Id) {\n this.UpdatePO = false;\n }\n if (this.PreviousStatus > 0) {\n this.EnquiryObj.EnquiryDetails.Status = this.PreviousStatus;\n }\n\n }\n this.updateLoaderEvent.emit(false);\n\n }\n });\n\n }\n\n editRFQ() {\n if (this.showQuotationLink) {\n this.toastr.info('Please note that editing the RFQ will reset the quotation.');\n }\n this.EnquiryObj.RFQObject.forEach(element => {\n element.deleted_MDS_filename = element.MDS_filename;\n element.deleted_MDS_filepath = element.MDS_filepath;\n\n element.deleted_ITC_filename = element.ITC_filename;\n element.deleted_ITC_filepath = element.ITC_filepath;\n\n element.deleted_Customer_filename = element.Customer_filename;\n element.deleted_Customer_filepath = element.Customer_filepath;\n\n element.deleted_Weiss_filename = element.Weiss_filename;\n element.deleted_Weiss_filepath = element.Weiss_filepath;\n });\n this.QGRFQEditable = true;\n }\n cancelEditingRFQ() {\n\n window.location.reload();\n this.QGRFQEditable = false;\n this.EnquiryObj.RFQObject.forEach(element => {\n element.MDSAttachment = [];\n element.ITCAttachment = [];\n element.CustomerAttachment = [];\n element.WeissAttachment = [];\n element.isMDSAttachment = false;\n element.isITCAttachment = false;\n element.isCustomerAttachment = false;\n element.isWeissAttachment = false;\n element.MDS_filename = element.deleted_MDS_filename;\n element.MDS_filepath = element.deleted_MDS_filepath;\n\n element.ITC_filename = element.deleted_ITC_filename;\n element.ITC_filepath = element.deleted_ITC_filepath;\n\n element.Customer_filename = element.deleted_Customer_filename;\n element.Customer_filepath = element.deleted_Customer_filepath;\n\n element.Weiss_filename = element.deleted_Weiss_filename;\n element.Weiss_filepath = element.deleted_Weiss_filepath;\n });\n }\n\n onActivityChange(i) {\n if (this.activityDetails[i].Activity == undefined || this.activityDetails[i].Activity == null || this.activityDetails[i].Activity == \"\") {\n this.activityDetails[i].ActivityValidation = true;\n this.IsActivityDataValid = false;\n } else {\n this.activityDetails[i].ActivityValidation = false;\n }\n }\n onActivityDateChange(i) {\n if (this.activityDetails[i].ActivityDate == undefined || this.activityDetails[i].ActivityDate == null || this.activityDetails[i].ActivityDate == \"\") {\n this.activityDetails[i].ActivityDateValidation = true;\n this.IsActivityDataValid = false;\n } else {\n this.activityDetails[i].ActivityDateValidation = false;\n }\n }\n\n checkRFQGridValidation() {\n var inde = 0;\n this.IsRFQDataValid = true;\n this.EnquiryObj.RFQObject.forEach((element, index) => {\n if (element.ProductLine == undefined || element.ProductLine == null || element.ProductLine == 0) {\n document.getElementById(\"productline\" + index).focus();\n element.ProductLineValidation = true;\n this.IsRFQDataValid = false;\n }\n if (element.ProductModel == undefined || element.ProductModel == null || element.ProductModel == 0) {\n document.getElementById(\"productmodel\" + index).focus();\n element.ProductModelValidation = true;\n this.IsRFQDataValid = false;\n }\n if (element.Quantity == undefined || element.Quantity == null || element.Quantity == 0) {\n document.getElementById(\"quantity\" + index).focus();\n element.QuantityValidation = true;\n this.IsRFQDataValid = false;\n }\n if (element.MDSOption == undefined || element.MDSOption == null || element.MDSOption == 0) {\n document.getElementById(\"mdsoption\" + index).focus();\n element.MDSOptionValidation = true;\n this.IsRFQDataValid = false;\n }\n if (element.SalesPrice == undefined || element.SalesPrice == null || element.SalesPrice == 0) {\n document.getElementById(\"salesprice\" + index).focus();\n element.SalesPriceValidation = true;\n this.IsRFQDataValid = false;\n }\n if (element.SalesDiscount == undefined || element.SalesDiscount == null) {\n document.getElementById(\"salesdiscount\" + index).focus();\n element.SalesDiscountValidation = true;\n this.IsRFQDataValid = false;\n }\n\n });\n\n }\n\n convertDate(date: any) {\n let year = date.year;\n let month = date.month;\n let day = date.day;\n return year + \"-\" + month + \"-\" + day;\n }\n\n\n downloadPDF() {\n const url = this.QuotationPdfGenerationHostPath+ 'uploads/pdf/' + this.EnquiryObj.EnquiryDetails.QuotationPdf_filename;\n window.open(url, \"download\");\n }\n\n DownloadPDFfromServer(Filename: any) {\n this.commonService.gereatePDF('Enquiry', 'DownloadPDF', Filename).subscribe((data: any) => {\n\n importedSaveAs(data, Filename);\n });\n }\n checkattachment() {\n this.rfqattpresent = false;\n this.EnquiryObj.RFQObject.forEach(element => {\n if (!(element.MDS_filename == null || element.MDS_filename == undefined || element.MDS_filename == '')) {\n this.rfqattpresent = true;\n }\n if (!(element.ITC_filename == null || element.ITC_filename == undefined || element.ITC_filename == '')) {\n this.rfqattpresent = true;\n }\n if (!(element.Weiss_filename == null || element.Weiss_filename == undefined || element.Weiss_filename == '')) {\n this.rfqattpresent = true;\n }\n if (!(element.Customer_filename == null || element.Customer_filename == undefined || element.Customer_filename == '')) {\n this.rfqattpresent = true;\n }\n });\n }\n DownloadAllAttachments() {\n this.checkattachment();\n if (!this.rfqattpresent) {\n this.toastr.info('No attachment present.');\n return;\n }\n this.updateLoaderEvent.emit(true);\n let queryString = \"\";\n queryString = \"id=\" + this.EnquiryObj.EnquiryDetails.EnquiryId;\n this.commonService.GetData('Enquiry', 'Download', queryString).subscribe((data: any) => {\n var url = AppGlobals.ZipDownloadUrl + data + '.zip';\n window.open(url, \"_blank\");\n this.updateLoaderEvent.emit(false);\n }, error => {\n this.updateLoaderEvent.emit(false);\n });\n }\n\n\n\n public saveAsFile(pdfurl: any, fileName: string): void {\n //const data: Blob = new Blob([buffer], { type: EXCEL_TYPE });\n FileSaver.saveAs(this.fileDownloadPath + pdfurl, fileName);\n }\n\n onSelectDate(date: NgbDateStruct, dateType: string) {\n if (date != null) {\n if (dateType == 'RequestedDeliveryDate') {\n this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate = date;\n this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate = this.ngbDateParserFormatter.format(date);\n }\n else if (dateType == 'EnquiryDate') {\n this.EnquiryObj.EnquiryDetails.EnquiryDate = date;\n this.EnquiryObj.EnquiryDetails.EnquiryDate = this.ngbDateParserFormatter.format(date);\n }\n\n }\n }\n \n\n\n openTechnicalDiscardPopup(technicalDiscardStatus) {\n const modalRef = this.modalService.open(TechnicalDiscardComponent, {\n size: 'lg', backdrop: 'static', keyboard: false\n });\n\n var enquiObj = {\n EnquiryId: this.EnquiryObj.EnquiryDetails.EnquiryId,\n EnquiryStatus: technicalDiscardStatus\n }\n\n modalRef.componentInstance.enquiryDataObj = enquiObj;\n modalRef.result.then((result) => {\n this.closeResult = `Closed with:${result}`;\n if (this.closeResult !== 'Closed with:Close click') {\n this.ngOnInit();\n }\n });\n }\n \n\n openTechnicalDiscardPopupByWorkflow(enquiryStatusId:any) {\n const modalRef = this.modalService.open(TechnicalDiscardComponent, {\n size: 'lg', backdrop: 'static', keyboard: false\n });\n\n var enquiObj = {\n EnquiryId: this.EnquiryObj.EnquiryDetails.EnquiryId,\n // EnquiryStatus: this.EnquiryObj.EnquiryDetails.Status,\n // EnqTermsConditionSelected: this.EnquiryObj.EnquiryDetails.RFQTermsAndCondition,\n // IsQuotationPriceOnRequest: this.EnquiryObj.EnquiryDetails.IsQuotationPriceOnRequest,\n // TermsAndCondition: this.EnquiryObj.TermsAndConditions,\n // CustomTermsAndCondition: this.EnquiryObj.CustomTermsAndConditions,\n PendingAtRoleId: this.EnquiryObj.EnquiryDetails.PendingAtRoleId,\n EnquiryStatusId: enquiryStatusId\n \n }\n\n modalRef.componentInstance.enquiryDataObj = enquiObj;\n modalRef.result.then((result) => {\n this.closeResult = `Closed with:${result}`;\n if (this.closeResult !== 'Closed with:Close click') {\n this.ngOnInit();\n }\n });\n }\n \n onIndustrySegmentSelect(value)\n {\n if(value!=null)\n {\n this.SubSegment=this.FinalSubSegment.filter(x=>x.SegmentId==value); \n this.Application=[];\n this.EnquiryObj.EnquiryDetails.subSegment=undefined;\n this.EnquiryObj.EnquiryDetails.application=undefined;\n }\n } \n onSubSegmentSelect(value)\n {\n if(value!=null)\n {\n this.Application=this.FinalApplication.filter(x=>x.SubSegmentId==value); \n }\n }\n \n \n \n openCloseOppReasonPopup() {\n const modalRef = this.modalService.open(CloseOppReasonComponent, {\n size: 'lg', backdrop: 'static', keyboard: false\n });\n\n var enquiObj = {\n EnquiryId: this.EnquiryObj.EnquiryDetails.EnquiryId,\n // EnquiryStatus: this.EnquiryObj.EnquiryDetails.Status,\n // EnqTermsConditionSelected: this.EnquiryObj.EnquiryDetails.RFQTermsAndCondition,\n // IsQuotationPriceOnRequest: this.EnquiryObj.EnquiryDetails.IsQuotationPriceOnRequest,\n // TermsAndCondition: this.EnquiryObj.TermsAndConditions,\n // CustomTermsAndCondition: this.EnquiryObj.CustomTermsAndConditions,\n // PendingAtRoleId: this.EnquiryObj.EnquiryDetails.PendingAtRoleId\n }\n\n modalRef.componentInstance.enquiryDataObj = enquiObj;\n modalRef.result.then((result) => {\n this.closeResult = `Closed with:${result}`;\n if (this.closeResult !== 'Closed with:Close click') {\n this.ngOnInit();\n }\n });\n }\n \n getWorkflowActions(){\n\n let queryString = \"\";\n queryString = \"enquiryId=\" + this.EnquiryObj.EnquiryDetails.EnquiryId +\"&workflowId=\" + this.workflowId ;\n let tracker = this.commonService.GetData(\"EnquiryWorkflowTransitionRules\",\"GetTransitionRulesByStatus\",queryString);\n\n tracker.subscribe((data: any) => {\n if(data!=null)\n { \n this.workflowActionList=data; \n if(this.workflowActionList.length>0)\n {\n this.isQuoteGenerationEditable=true;\n }\n //this.checkApprovalNeededOrNot(); \n this.checkPriceOnRequestCostsAndUnits();\n if (!this.isPricesRequestedBeforeSubmit) {\n this.workflowActionList=this.workflowActionList.filter(x=>x.workflowActionCode.toLowerCase()!=\"sendforapproval\");\n } \n }\n this.updateLoaderEvent.emit(false);\n }, error => {\n this.updateLoaderEvent.emit(false);\n });\n\n return tracker;\n }\n\n getEnquiryStatus()\n {\n let tracker = this.commonService.GetData(\"Enquiry\",\"GetEnquiryStatus\", null)\n tracker.subscribe((data: any) => {\n this.enquiryStatusList=data;\n this.updateLoaderEvent.emit(false);\n }, error => {\n this.updateLoaderEvent.emit(false);\n });\n return tracker;\n }\n\n OnWorkflowAction(myform3:NgForm,workflowActionId:number)\n { \n var rule= this.workflowActionList.filter(x=>x.workflowActionId==workflowActionId);\n var technicalDiscardRule= this.workflowActionList.filter(x=>x.workflowActionCode==\"TechncialDiscard\"); \n var generateQuote= this.workflowActionList.filter(x=>x.workflowActionCode==\"GenerateQuote\"); \n\n if(technicalDiscardRule.length>0 && rule[0].workflowActionId == technicalDiscardRule[0].workflowActionId){\n this.openTechnicalDiscardPopupByWorkflow(technicalDiscardRule[0].workflowNextStatusId);\n }\n else if(generateQuote.length>0 && rule[0].workflowActionId == generateQuote[0].workflowActionId)\n {\n this.openQuotationPopup();\n }\n else{\n myform3.control.markAllAsTouched();\n if(myform3.invalid)\n {\n this.toastr.error(\"Please fill required information\");\n return;\n } \n this.SetStatus(rule,myform3); \n } \n }\n\n getSendbackWorkfow()\n {\n this.updateLoaderEvent.emit(true);\n this.commonService.GetData(\"EnquiryWorkflowTransitionRules\",\"GetWorkflowSendbackRule\", null).subscribe((data: any) => {\n this.sendbackRules=data;\n this.updateLoaderEvent.emit(false);\n }, error => {\n this.updateLoaderEvent.emit(false);\n });\n }\n\n rule:EnquirySendBack;\n SendBack()\n { \n var quotationRule= this.sendbackRules.filter(x=>x.WorkflowId==this.workflowId);\n this.rule=quotationRule[0];\n const modalRef = this.modalService.open(SendBackCommentComponent, {\n size: 'lg', backdrop: 'static', keyboard: false\n });\n var sendBackObj = {\n EnquiryId: this.EnquiryObj.EnquiryDetails.EnquiryId,\n workflowId: this.workflowId,\n finalrule: this.rule\n }\n modalRef.componentInstance.sendBackObj = sendBackObj;\n modalRef.result.then((result) => {\n this.closeResult = `Closed with:${result}`;\n if (this.closeResult !== 'Closed with:Close click') {\n this.ngOnInit();\n }\n });\n\n }\n \n// getPriceDiscountApprovalAuthority()\n// {\n// let queryString = \"\";\n\n// queryString = \"enquiryId=\"+this.EnquiryObj?.EnquiryDetails?.EnquiryId;\n\n// let tracker = this.commonService.GetData(\"EnquiryWorkflowTransitionRules\", \"getPriceDiscountApprovalAuthority\", queryString);\n\n// this.updateLoaderEvent.emit(true);\n\n// tracker.subscribe((data: any) => {\n// this.authorityLevels = data; \n// //this.getWorkflowActions();\n// this.updateLoaderEvent.emit(false);\n// }, error => {\n// this.updateLoaderEvent.emit(false);\n// });\n\n// return tracker;\n// }\n getUserRoles(){\n\n let tracker = this.commonService.GetData(\"Account\", \"GetAll\", null);\n\n tracker.subscribe((data: any) => {\n this.UserRolesData = data;\n \n this.updateLoaderEvent.emit(false);\n }, error => {\n this.updateLoaderEvent.emit(false);\n });\n\n return tracker;\n }\n checkApprovalNeededOrNot()\n { \n if(this.EnquiryObj.EnquiryDetails.RFQTermsAndCondition.toLowerCase()==\"standard\")\n {\n this.workflowActionList=this.workflowActionList.filter(x=>x.workflowActionCode.toLowerCase()!='sendforapproval');\n }\n }\n \n OpenPreview()\n { \n const modalRef = this.modalService.open(QuotationPreviewComponent, {\n size: 'lg', backdrop: 'static', keyboard: false\n }); \n var enquiryObj = {\n EnquiryId: this.EnquiryObj.EnquiryDetails.EnquiryId \n } \n modalRef.componentInstance.enquiryObj = enquiryObj;\n modalRef.result.then((result) => {\n this.closeResult = `Closed with:${result}`; \n }); \n }\n checkPriceOnRequestCostsAndUnits() {\n this.isPricesRequestedBeforeSubmit = true;\n \n this.QuotationData.QuotationObj.forEach(element => {\n // {\n ele.Option_Discount = element.Option_Discount;\n ele.Option_FinalDiscount = element.Option_FinalDiscount;\n });\n });\n\n }\n\n getQuotationDetailsById() {\n this.updateLoaderEvent.emit(true);\n let queryString = \"\";\n queryString = \"id=\" + this.EnquiryObj.EnquiryDetails.EnquiryId;\n this.commonService.GetData('Enquiry', 'GetQuotationByEnquiryId', queryString).subscribe((data: any) => {\n\n this.QuotationData.QuotationInfo = data.QuotationInfo;\n this.QuotationData.QuotationObj = data.QuotationObj;\n this.checkifPORPresent();\n if(!this.isPriceOnRequestValid)\n {\n // console.log(\"Price on request applicable\");\n }\n this.updateLoaderEvent.emit(false);\n }, error => {\n this.toastr.error(\"Failed to load data.\");\n this.updateLoaderEvent.emit(false);\n });\n }\n checkifPORPresent() {\n this.isPriceOnRequestValid = false;\n this.QuotationData.QuotationObj.forEach(element => {\n if (element.IsPriceOnRequest_Variant1) {\n this.isPriceOnRequestValid = true;\n }\n if (element.IsPriceOnRequest_Variant2) {\n this.isPriceOnRequestValid = true;\n }\n if (element.IsPriceOnRequest_Variant3) {\n this.isPriceOnRequestValid = true;\n }\n if (element.IsPriceOnRequest_Variant4) {\n this.isPriceOnRequestValid = true;\n }\n if (element.IsPriceOnRequest_Option) {\n this.isPriceOnRequestValid = true;\n }\n\n });\n }\n\n GetListOfCurrency()\n{\n this.commonService.GetData(\"Currency\", \"GetAll\", null).subscribe((data: any) => {\n this.Currencylist = data; \n });\n}\n\nonCurrencyselection(data:any)\n{\n var Id=this.singleFieldObj.Id;\n \n //this.generatePDF(Id);\n \n}\ngeneratePDF() {\n this.showLoader=true;\n let queryString = \"\";\n let url:string = this.QuotationPdfGenerationHostPath + \"PrintPdf/DownloadPdfInCurrency?EnquiryId=\" + this.EnquiryObj.EnquiryDetails.EnquiryId + \"¤cyId=\" + this.singleFieldObj.Id;\n queryString = \"Url=\" + url;\n \n this.commonService.GetPdfInCurrency('Enquiry', 'GeneratePdfInCurrency', queryString).subscribe(\n // Create a Blob from the response data\n (data: Blob) => {\n const blob = new Blob([data], { type: 'application/pdf' });\n const url = window.URL.createObjectURL(blob);\n window.open(url);\n },\n error => {\n console.error('Error downloading file', error);\n });\n \n}\n\n\n}","\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n Quote Generation\n

    \n\n\n
    \n
    \n\n
    \n\n   \n\n
    \n
    \n
    \n * Marked fields are\n mandatory\n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n\n
    \n\n
    \n \n \n \n \n Product Line\n \n \n Product Model\n \n \n Quantity\n \n \n MDS Option\n \n \n Attachment\n \n \n Sales Price\n \n \n Sales Discount\n \n\n\n \n \n \n MDS\n \n \n ITC\n \n \n Customer\n \n \n \n {{documentOfWhichComapany}}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n \n \n
    \n\n
    \n {{(field.MDSAttachment\n != undefined &&\n field.MDSAttachment[0]\n != undefined) ?\n field.MDSAttachment[0].name:\n \"\"}}\n
    \n
    \n \n {{field.MDS_filename}}\n
    \n
    \n \n \n
    \n \n \n
    \n\n
    \n {{(field.ITCAttachment\n != undefined &&\n field.ITCAttachment[0]\n != undefined) ?\n field.ITCAttachment[0].name:\n \"\"}}\n
    \n
    \n \n {{field.ITC_filename}}\n
    \n
    \n \n \n
    \n \n \n
    \n\n
    \n {{(field.CustomerAttachment\n != undefined &&\n field.CustomerAttachment[0]\n != undefined) ?\n field.CustomerAttachment[0].name:\n \"\"}}\n
    \n
    \n \n {{field.Customer_filename}}\n
    \n
    \n\n\n \n \n
    \n \n \n
    \n\n
    \n {{(field.WeissAttachment\n != undefined &&\n field.WeissAttachment[0]\n != undefined) ?\n field.WeissAttachment[0].name:\n \"\"}}\n
    \n
    \n \n {{field.Weiss_filename}}\n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n\n
    \n\n
    \n\n
    \n
    \n\n\n \n \n \n
    \n\n
    \n\n \n
    \n
    \n \n \n
    \n {{AppGlobals.supportedFileFormatsForOtherAttachments}}\n
    \n
    \n {{(EnquiryObj.EnquiryDetails.BOMAttachment\n != undefined &&\n EnquiryObj.EnquiryDetails.BOMAttachment[0]\n != undefined) ?\n EnquiryObj.EnquiryDetails.BOMAttachment[0].name:\n \"\"}}  \n
    \n
    \n \n
    \n
    \n \n
    0\">\n \n
    \n
    \n\n
    \n \n \n \n \n \n
    \n \n
    \n \n\n \n \n
    \n \n \n
    \n \n
    \n
      \n
    • \n \n \n
    • \n
    \n
    \n
    \n\n
    \n\n \n
    \n \n Limit {{maxLimit}} characters,\n {{remLimit}} characters\n remaining.\n
    \n
    \n Comment is\n required\n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n Upload\n \n
    \n
    \n {{AppGlobals.supportedFileFormatsForOtherMultipleAttachments}}\n 0\">\n
      \n \n
    • \n {{item.name}}  \n
    • \n \n
    \n\n \n
    \n
    \n\n
    \n \n Terms and Condition Details\n
    \n\n
    \n\n \n
    \n \n
    \n
    \n Terms & conditions is\n required\n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n \n
    \n

    \n
    \n
    \n \n
    \n\n
    \n \n \n \n\n
    \n
    \n Non standard value is required\n
    \n
    \n
    \n
    \n
    \n \n\n
    \n
    \n \n  \n \n \n \n
    \n
    \n \n \n \n\n \n \n \n ","import { Component, OnInit, ViewChild, Input, ɵclearResolutionOfComponentResourcesQueue, ElementRef, Output, EventEmitter ,ChangeDetectionStrategy, ChangeDetectorRef } from '@angular/core';\nimport { EmployeeGuestModel } from 'src/app/Model/EmployeeGuestModel';\nimport { ActivatedRoute, NavigationEnd, Router, RoutesRecognized } from '@angular/router';\nimport { ToastrService } from 'ngx-toastr';\nimport { CommonService } from 'src/app/Service/common.service';\nimport { MatDialog } from '@angular/material/dialog';\nimport * as FileSaver from 'file-saver';\nimport { BasicCustomerInformationModel } from 'src/app/Model/CustomerModel';\nimport { EnquiryModel, CustomerDrpdnDetails, CustomerDetails, ProductDrpdnDetails, EnquiryDetailsModel, ProductDetails, Comments, removefiles, TermsAndCondition, ActivityModel, ProductModelPOValues, CustomTermsAndCondition } from 'src/app/Model/EnquiryModel';\nimport { ConfirmDialogComponent } from 'src/app/confirm-dialog/confirm-dialog.component';\nimport { NgbDate, NgbModal, NgbActiveModal, NgbDatepickerConfig, NgbDateStruct } from '@ng-bootstrap/ng-bootstrap';\nimport { AppGlobals } from 'src/app/app.global';\nimport { EnquiryStatus, EnquiryStatusCode } from \"src/app/EnquiryStatus\";\nimport { UserRoles } from \"src/app/UserRoles\";\nimport { SingleFieldModel } from 'src/app/Model/SingleFieldModel';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { EnquiryModalComponent } from '../enquiry-modal/enquiry-modal.component';\nimport { MatStepper } from '@angular/material/stepper';\nimport { FormControl, NgForm, Validators } from '@angular/forms';\nimport { HttpHeaders, HttpClient, HttpErrorResponse } from '@angular/common/http';\nimport { QuotationDetailsModel, QuotationCustomerDetails } from 'src/app/Model/QuotationModel';\nimport { Title } from '@angular/platform-browser';\nimport { Location } from '@angular/common';\nimport {\n saveAs as importedSaveAs\n} from \"file-saver\";\nimport { ClassGetter } from '@angular/compiler/src/output/output_ast';\nimport { TechnicalDiscardComponent } from '../technical-discard/technical-discard.component';\nimport { CloseOppReasonComponent } from '../close-opp-reason/close-opp-reason.component';\nimport { EnquiryStatusList } from 'src/app/Model/EnquiryStatus';\nimport { forkJoin } from 'rxjs';\nimport { tap } from 'rxjs/operators';\nimport { EnquirySendBack } from 'src/app/Model/EnquirySendBack';\nimport { SendBackCommentComponent } from '../send-back-comment/send-back-comment.component';\nimport { AppConfigService } from 'src/app/Service/app-config.service';\ndeclare var require: any\n@Component({\n selector: 'app-rfq',\n templateUrl: './rfq.component.html',\n styleUrls: ['./rfq.component.scss']\n})\nexport class RfqComponent implements OnInit {\n @ViewChild('myform3') myform3: NgForm;\n @ViewChild('myform5') myform5: NgForm;\n @ViewChild('myInput') myInputVariable: ElementRef;\n @ViewChild('editpovalue', { static: false }) editpovalue: ElementRef;\n standardTC:any[] = [];\n customTCValues:any[] =[];\n\n userInfo: EmployeeGuestModel = new EmployeeGuestModel();\n CustomerList: BasicCustomerInformationModel[] = [];\n EnquiryObj: EnquiryDetailsModel = new EnquiryDetailsModel();\n newRFQDetails: any = {};\n productListdropdownData = [];\n customerDrpdnDetails: CustomerDrpdnDetails = new CustomerDrpdnDetails();\n productDrpdnDetails: ProductDrpdnDetails = new ProductDrpdnDetails();\n customerData: CustomerDetails;\n activityDetails: ActivityModel[] = Array();\n CustomerDetailsObj: QuotationCustomerDetails = new QuotationCustomerDetails();\n QuotationData: QuotationDetailsModel = new QuotationDetailsModel();\n allowedFileType: string[] = [\n 'image/bmp',\n 'image/jpeg',\n 'image/png',\n 'application/pdf',\n 'text/plain',\n 'text/csv',\n 'application/xml',\n 'text/xml',\n 'application/vnd.ms-excel',\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\n 'application/msword',\n 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',\n 'application/zip',\n 'application/x-zip-compressed',\n ];\n\n showEditRFQForInitiator: boolean;\n UserRole: any;\n isTechnicalDiscardVisible: boolean =false;\n isEnquiryFormVisible: boolean = false;\n isRFQVisible: boolean = false;\n isQuoteGenerationVisible: boolean = false;\n isManagementApprovalVisible: boolean = false;\n isSOVisible: boolean = false;\n isOrderAcknowledgementVisible: boolean = false;\n EnquiryConfirmationVisible: boolean = false;\n isSupplychainVisible: boolean = false;\n isAccountsVisible: boolean = false;\n iseditable:boolean=false;\n isOAGenerationVisible: boolean = false;\n isBOMAttachment: boolean;\n isInvoiceAttachment: boolean;\n isPOAttachment: boolean;\n IsRFQDataValid: boolean = true;\n selectedIndexForStatus: any = 1;\n remLimit: any = 1500;\n maxLimit: any = 1500;\n varLongTermGoal: any;\n DiscountFromrange:any;\n Discounttorange:any;\n maxCharLimit: any = 50;\n remCharLimit: any = 50;\n maxappdescLimit: any = 1500;\n remappdescLimit: any = 1500;\n newCustomiseArr: any = [];\n\n @Input()\n //showLoader: boolean = false;\n charCode: number;\n //enquiryStatus = EnquiryStatus;\n AppRoles = UserRoles;\n enquirySource: SingleFieldModel[] = [];\n TnCStandardFromDropDown: any[] = [];\n TnCCustomizedFromDropDown: any[] = [];\n TnCCustomizedDropDownForEditRfq1: any[] = [];\n TnCCustomizedDropDownForEditRfq2: any[] = [];\n newCustomTc: any;\n product: any = {};\n isEnquirySubmit: boolean = false;\n charCode1: any;\n pageNumber: number = 1;\n @Input() pageSize: number = 5;\n @Input() length: number;\n @Input() pageIndex: number = this.pageNumber - 1;\n dataSource: MatTableDataSource;\n enquiryStatusCode = EnquiryStatusCode;\n\n @ViewChild('stepper') stepper: MatStepper;\n AppGlobals = AppGlobals;\n fileDownloadPath = this.AppGlobals.baseFileDownloadUrl;\n QuotationDownloadPath = this.AppGlobals.QuotationFileDownloadUrl;\n isEnquiryLoaded: boolean;\n role: string;\n isStandardCondition: boolean;\n closeResult: string;\n isCEOApprovalVisible: boolean;\n demoObject: any;\n demoCTCObject: any;\n WinLossDropdownData: any[] = [];\n WinLossDropdownDataForStatus: any;\n isPoValueDisable: boolean;\n isCustomerCommentVisible: any;\n isOAGenerated: boolean;\n isAcceptClick: boolean;\n dataPassed: any;\n dropdownData: any;\n showQuotationLink: boolean;\n userid: string;\n isprocessing: boolean = true;\n rfqattpresent: boolean;\n QuotationDataForPO: any[] = [];\n chosenItem: string = \"1\";\n quoterevcomments: any;\n QGRFQEditable: boolean = false;\n IsActivityDataValid: boolean;\n today: Date;\n fc = new FormControl();\n minDate: NgbDate;\n showEditRFQ: boolean;\n isTantativeDateEditable: boolean;\n tempRFQ: ProductDetails[];\n IsPODataValid: boolean;\n isEditactivity: boolean = true;\n PreviousStatus: number = 0;\n tempfile: any;\n ngbDateParserFormatter: any;\n UpdatePO: boolean = false;\n isPOAttacmentDelete: boolean = false;\n RevisedQuotationFileNameList: string[] = [];\n emailPattern: string = \"^[a-zA-Z0-9_\\\\.-]+@([a-zA-Z0-9-]+\\\\.)+[a-zA-Z]{2,6}$\";\n StartDate: NgbDate;\n EndDate: NgbDate;\n RoleWiseScreenDisplay: any;\n previousUrl: string = null;\n IndustrySegment: any[] = [];\n SubSegment: any[] = [];\n Application: any[] = [];\n\n FinalIndustrySegment: any[] = [];\n FinalSubSegment: any[] = [];\n FinalApplication: any[] = [];\n custtermscond: any = [];\n transitionRule:any;\n workflowActionList:any[] = [];\n enquiryStatusList: EnquiryStatusList[]=[];\n workflowId:number=3;\n @Output() updateLoaderEvent = new EventEmitter();\n isRFQEditable: boolean;\n roleOfAdmin : any;\n sendbackRules:EnquirySendBack[]=[];\n WinLossDataForStatus: any;\n mailIdFormat : any;\n documentOfWhichComapany : any;\n QuotationPdfGenerationHostPath:any;\n\n constructor(\n private toastr: ToastrService,\n private commonService: CommonService, \n public dialog: MatDialog,\n private _location: Location,\n private config: NgbDatepickerConfig,\n private modalService: NgbModal, \n private activeModel: NgbActiveModal,\n private router: Router, \n private route: ActivatedRoute, \n private cd: ChangeDetectorRef,\n private titleService: Title,\n private appConfigService: AppConfigService) {\n this.today = new Date();\n this.minDate = new NgbDate(this.today.getFullYear(), this.today.getMonth() + 1, this.today.getDate());\n this.StartDate = new NgbDate(2018, 1, 1);\n this.EndDate = new NgbDate(this.today.getFullYear() + 1, 12, 31);\n }\n \n ngAfterViewInit() {\n this.updateLoaderEvent.emit(true);\n setTimeout(() => {\n this.isprocessing = false;\n this.chosenItem = \"1\";\n this.updateLoaderEvent.emit(false);\n }, 2000); \n }\n ngOnInit() {\n this.commonService.previousUrl$.subscribe((previousUrl: string) => {\n this.previousUrl = previousUrl;\n });\n\n let tempRoleWiseScreenDisplay = localStorage.getItem(\"WorkFlowRoleWiseScreenAccess\");\n this.RoleWiseScreenDisplay = tempRoleWiseScreenDisplay.split(\",\");\n const appConfig = this.appConfigService.getConfig();\n this.QuotationPdfGenerationHostPath=appConfig.QuotationPdfGenerationHostPath;\n const dynamicTitle = this.route.snapshot.data['title'];\n this.titleService.setTitle(`${dynamicTitle} - ${appConfig.titleName}`);\n this.mailIdFormat = appConfig.mailIdFormat;\n this.documentOfWhichComapany = appConfig.documentOfWhichComapany;\n //this.titleService.setTitle(this.route.snapshot.data['title'] + \" - ECOTECH\");\n this.commonService.RefreshHeaderFun();\n this.EnquiryObj.EnquiryDetails.EnquiryId = this.route.snapshot.params[\"id\"];\n this.EnquiryObj.EnquiryDetails.EstimatedProductValue = null;\n this.EnquiryObj.EnquiryDetails.InvoiceAttachment = undefined;\n this.getRFQProduct();\n this.getEnquirySourceDetails();\n this.getCustomerList();\n this.getEnquiryDetailsById();\n this.getEnquiryStatus();\n this.getWorkflowActions();\n this.getSendbackWorkfow();\n this.UserRole = localStorage.getItem(\"UserRole\");\n this.roleOfAdmin = UserRoles.Admin;\n this.isEnquiryLoaded = false;\n }\n\n\n \n limitTextOnKeyUpDown1(event: any) {\n let goalText = event.target.value;\n if (goalText.length > this.maxLimit) {\n this.varLongTermGoal = goalText.substring(0, this.maxLimit);\n } else {\n this.remLimit = this.maxLimit - goalText.length;\n }\n }\n\n ScreenAccessSpecifier(role, enquirystatus) {\n //MAKE SCREENS VISIBLE ACCORDING TO LOGGED IN USER\n this.isEnquiryFormVisible = true;\n this.isRFQVisible = true;\n this.userid = localStorage.getItem(\"UserID\");\n\n //ADD CONDITION TO CHECK IF THE LOGGED IN USER IS INITIATOR OF THE ENQUIRY\n // SCREENS OPRN IN EDITABLE MODE TO INITIATOR OF THE ENQUIRY AND ADMIN\n this.isRFQEditable= false;\n if ((enquirystatus == this.enquiryStatusList.filter(x=>x.Status=='EnquiryAdded')[0]?.Pk_Id\n || enquirystatus == this.enquiryStatusList.filter(x=>x.Status=='RFQSaveAsDraft')[0]?.Pk_Id \n || enquirystatus == this.enquiryStatusList.filter(x=>x.Status=='RFQReworkbyL1')[0]?.Pk_Id//OrderRejectedbyMngmt_SalesDirector\n || enquirystatus == this.enquiryStatusList.filter(x=>x.Status=='QuotationRejectedbyMngmt_SalesDirector')[0]?.Pk_Id \n || enquirystatus == this.enquiryStatusList.filter(x=>x.Status=='QuotationRejectedbyMngmt_CEO')[0]?.Pk_Id \n || enquirystatus == this.enquiryStatusList.filter(x=>x.Status=='QuotationRevision')[0]?.Pk_Id\n || enquirystatus == this.enquiryStatusList.filter(x=>x.Status=='EnquiryCloseRejectedBySalesDirector')[0]?.Pk_Id\n || enquirystatus == this.enquiryStatusList.filter(x=>x.Status=='EnquiryCloseRejectedByCS')[0]?.Pk_Id\n || enquirystatus == this.enquiryStatusList.filter(x=>x.Status=='OrderRejectedbyMngmt_SalesDirector')[0]?.Pk_Id\n || enquirystatus == this.enquiryStatusList.filter(x=>x.Status=='OrderRejectedbyMngmt_CEO')[0]?.Pk_Id) \n && \n ( this.userid == this.EnquiryObj.EnquiryDetails.Initiator_Id ||role == UserRoles.Admin || role==UserRoles.SalesEngineer)) \n { \n this.isRFQEditable = true;\n } else \n {\n this.isRFQEditable = false;\n }\n }\n\n toggleAttchments(i) {\n\n this.EnquiryObj.Comments[i].showAttachments = !this.EnquiryObj.Comments[i].showAttachments;\n }\n\n editActivity() {\n this.isEditactivity = true;\n }\n \n getQuotationData() {\n this.updateLoaderEvent.emit(true);\n let queryString = \"\";\n queryString = \"id=\" + this.EnquiryObj.EnquiryDetails.EnquiryId;\n this.commonService.GetData('Enquiry', 'GetQuotationByEnquiryId', queryString).subscribe((data: any) => {\n this.QuotationDataForPO = data.QuotationObj;\n this.QuotationDataForPO.forEach(element => {\n var obj = new ProductModelPOValues();\n obj.ProductId = element.ProductId;\n obj.ProductModelName = element.ProductModelName;\n if (element.Variant1Name != undefined) obj.ProductModelName = obj.ProductModelName + ' (' + element.Variant1Name;\n if (element.Variant2Name != undefined) obj.ProductModelName = obj.ProductModelName + ', ' + element.Variant2Name;\n if (element.Variant3Name != undefined) obj.ProductModelName = obj.ProductModelName + ', ' + element.Variant3Name;\n if (element.Variant4Name != undefined) obj.ProductModelName = obj.ProductModelName + ', ' + element.Variant4Name;\n obj.ProductModelName = obj.ProductModelName + ')'\n obj.QUotationValue = element.FinalAmount;\n obj.ProductModelPOValue = \"\";\n this.EnquiryObj.POValues.push(obj);\n });\n });\n }\n\n getEnquiryDetailsById() {\n this.updateLoaderEvent.emit(true);\n let queryString = \"\";\n queryString = \"id=\" + this.EnquiryObj.EnquiryDetails.EnquiryId;\n this.commonService.GetData('Enquiry', 'GetById', queryString).subscribe((data: any) => {\n this.EnquiryObj.EnquiryDetails = data.EnquiryDetails; \n this.ScreenAccessSpecifier(localStorage.getItem('UserRole'), this.EnquiryObj.EnquiryDetails.Status);\n this.remCharLimit = this.maxCharLimit - data.EnquiryDetails.EndCustomer?.length;\n this.remappdescLimit = this.maxappdescLimit - data.EnquiryDetails.ApplicationDescription?.length;\n if (this.EnquiryObj.EnquiryDetails.QuotationRevisionNo != null && this.EnquiryObj.EnquiryDetails.QuotationRevisionNo > 0) {\n this.getRevisedQuotationFileNamelist(this.EnquiryObj.EnquiryDetails.QuotationNumber, this.EnquiryObj.EnquiryDetails.QuotationRevisionNo);\n }\n\n this.EnquiryObj.EnquiryDetails.EnquiryDate = new NgbDate(new Date(this.EnquiryObj.EnquiryDetails.EnquiryDate).getFullYear(), new Date(this.EnquiryObj.EnquiryDetails.EnquiryDate).getMonth() + 1, new Date(this.EnquiryObj.EnquiryDetails.EnquiryDate).getDate());\n if (this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate != null) {\n this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate = new NgbDate(new Date(this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate).getFullYear(), new Date(this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate).getMonth() + 1, new Date(this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate).getDate());\n }\n if (this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate != null) {\n this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate = new NgbDate(new Date(this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate).getFullYear(), new Date(this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate).getMonth() + 1, new Date(this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate).getDate());\n }\n this.EnquiryObj.EnqCustomerDetails = data.CustomerDetails;\n this.EnquiryObj.RFQObject = data.RFQObject;\n this.EnquiryObj.CustomerServiceComments_Quotation = data.CustomerServiceComments_Quotation;\n this.EnquiryObj.CustomerServiceComments_Order = data.CustomerServiceComments_Order;\n this.EnquiryObj.SalesDirectorComments_Quotation = data.SalesDirectorComments_Quotation;\n\n this.EnquiryObj.SalesDirectorComments_Order = data.SalesDirectorComments_Order;\n this.EnquiryObj.Comments = data.Comments == undefined ? [] : data.Comments;\n this.EnquiryObj.POValues = data.POValues;\n\n this.WinLossDropdownData = data.ReasonEnquiryWinLossObj;\n this.WinLossDropdownDataForStatus = this.WinLossDropdownData.filter(x => x.Value == this.EnquiryObj.EnquiryDetails.EnquiryConfirmStatus);\n \n if (data.EnquiryDetails.RFQTermsAndCondition == \"Standard\" || data.EnquiryDetails.RFQTermsAndCondition == \"\" || data.EnquiryDetails.RFQTermsAndCondition == null) {\n\n if (data.TermsAndConditions.length == 0) {\n this.EnquiryObj.EnquiryDetails.RFQTermsAndCondition = \"Standard\";\n this.EnquiryObj.TermsAndConditions = this.TnCStandardFromDropDown;\n } else {\n this.EnquiryObj.TermsAndConditions = data.TermsAndConditions;\n\n }\n this.isStandardCondition = true;\n } \n else if (data.EnquiryDetails.RFQTermsAndCondition == \"Non-Standard\") {\n\n if (data.CustomTermsAndConditions.length == 0) {\n this.EnquiryObj.EnquiryDetails.RFQTermsAndCondition = \"Non-Standard\";\n this.EnquiryObj.CustomTermsAndConditions = this.TnCCustomizedFromDropDown;\n this.TnCCustomizedDropDownForEditRfq1 = this.TnCCustomizedFromDropDown;\n } else {\n this.QGRFQEditable=true;\n this.EnquiryObj.CustomTermsAndConditions = data.CustomTermsAndConditions;\n this.TnCCustomizedDropDownForEditRfq2 = data.CustomTermsAndConditions;\n }\n\n this.isStandardCondition = false;\n }\n\n this.activityDetails = data.ActivityDetails;\n this.activityDetails.forEach(element => {\n element.ActivityDate = new NgbDate(new Date(element.ActivityDate).getFullYear(), new Date(element.ActivityDate).getMonth() + 1, new Date(element.ActivityDate).getDate());\n\n //element.ActivityDateISO = new NgbDate(new Date(element.ActivityDate).getFullYear(), new Date(element.ActivityDate).getMonth() + 1, new Date(element.ActivityDate).getDate());\n });\n\n //TO POPULATE A SINGLE ROW ON PAGE INIT\n if (this.EnquiryObj.RFQObject.length == 0) {\n var obj = new ProductDetails();\n this.EnquiryObj.RFQObject.push(obj);\n }\n\n //TO POPULATE A SINGLE ROW ON PAGE INIT\n if (this.activityDetails.length == 0) {\n var obj1 = new ActivityModel();\n obj1.ActivityDate = new NgbDate(new Date().getFullYear(), new Date().getMonth() + 1, new Date().getDate());\n obj1.uniqueid = this.makeRandom();\n this.activityDetails.push(obj1);\n }\n\n this.role = localStorage.getItem('UserRole');\n \n if(this.EnquiryObj.EnquiryDetails.segment!=undefined)\n {\n this.onIndustrySegmentSelect(this.EnquiryObj.EnquiryDetails.segment);\n this.onSubSegmentSelect(this.EnquiryObj.EnquiryDetails.subSegment);\n }\n this.EnquiryObj.EnquiryDetails.IsFetchFromKYC = data.EnquiryDetails.IsFetchFromKYC;\n }, error => {\n this.updateLoaderEvent.emit(false);\n });\n\n }\n\n getRevisedQuotationFileNamelist(QuotationNumber: string, QuotationRevision: number) {\n let QTNNumber = QuotationNumber.replace(\"QTN/\", \"\");\n QTNNumber = QTNNumber.split(\"/\").join(\"_\");\n let filename = \"Quotation_\" + QTNNumber;\n let pdffilename = filename.split('_R')[0];\n for (let i = 0; i < QuotationRevision; i++) {\n if (i == 0) {\n this.RevisedQuotationFileNameList.push(pdffilename + \".pdf\")\n }\n else {\n this.RevisedQuotationFileNameList.push(pdffilename + \"_R\" + i + \".pdf\")\n }\n }\n\n }\n \n makeRandom() {\n let text = \"\";\n var possible: string = \"ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890,./;'[]\\=-)(*&^%$#@!~\";\n const lengthOfCode = 40;\n for (let i = 0; i < lengthOfCode; i++) {\n text += possible.charAt(Math.floor(Math.random() * possible.length));\n }\n return text;\n }\n\n getRFQProduct() {\n this.updateLoaderEvent.emit(true);\n this.commonService.GetData(\"Enquiry\", \"GetEnquiryRFQDropdownData\", null).subscribe((data: any) => {\n this.product = data;\n this.productDrpdnDetails.MDSOptions = data.MDS;\n this.productDrpdnDetails.SalesPrice = data.Salesprice;\n this.productDrpdnDetails.EstimatedProductValue = data.EstimatedProductValue;\n this.IndustrySegment = data.segment; \n this.SubSegment = [];\n this.Application= []; \n this.FinalIndustrySegment = data.segment;\n this.FinalSubSegment = data.subSegment;\n this.FinalApplication= data.application;\n data.TermsAndConditions.forEach(element => {\n var obj = new TermsAndCondition();\n obj.TnCId = element.Id;\n obj.TnCName = element.Name;\n obj.TnCValue = element.Value;\n this.TnCStandardFromDropDown.push(obj);\n });\n\n this.demoObject = data.TermsAndConditions;\n\n this.demoCTCObject = data.CustomTermsAndCondition;\n \n for (let i = 0; i < data.CustomTermsAndCondition.length; i++) {\n var obj1 = new CustomTermsAndCondition();\n obj1.StandardTC = data.CustomTermsAndCondition[i].StandardTC.Id;\n obj1.StandardTCName = data.CustomTermsAndCondition[i].StandardTC.Name;\n \n for (let j = 0; j < data.CustomTermsAndCondition[i].CustomValues.length; j++) {\n obj1.CustomValues.push(data.CustomTermsAndCondition[i].CustomValues[j]);\n }\n this.TnCCustomizedFromDropDown.push(obj1);\n }\n\n this.demoCTCObject = data.CustomTermsAndCondition;\n \n //this.updateLoaderEvent.emit(false);\n });\n }\n \n OnCustomValueChange(index, id) {\n let CustTcObj: CustomTermsAndCondition = new CustomTermsAndCondition();\n CustTcObj.StandardTC = this.EnquiryObj.CustomTermsAndConditions[index].StandardTC;\n CustTcObj.StandardTCName = this.EnquiryObj.CustomTermsAndConditions[index].StandardTCName;\n CustTcObj.CustValue = this.EnquiryObj.CustomTermsAndConditions[index].CustomValues.find(x => x.Id == id).Name;\n CustTcObj.CustTCId = id; \n\n this.newCustomiseArr = this.EnquiryObj.CustomTermsAndConditions\n this.newCustomiseArr[index].CustTCId = CustTcObj.CustTCId;\n this.newCustomiseArr[index].CustValue = CustTcObj.CustValue;\n //this.custtermscond.push(CustTcObj)\n \n }\n\n getProductModel(Id, ind) {\n this.EnquiryObj.RFQObject[ind].ProductLineValidation = false;\n this.product.Product.forEach((element, index) => {\n if (element.ProductLine.Id == Id) {\n this.productDrpdnDetails.ProductModel = element.ProductModels;\n this.newRFQDetails.ProductModelList = element.ProductModels;\n this.EnquiryObj.RFQObject[ind].isProductLineChangeClick = true;\n this.EnquiryObj.RFQObject[ind].ProductModelList = this.productDrpdnDetails.ProductModel;\n }\n });\n }\n OnProductModelChange(index) {\n this.EnquiryObj.RFQObject[index].ProductModelValidation = false;\n let queryString = \"\";\n queryString = \"id=\" + this.EnquiryObj.EnqCustomerDetails.CustomerId;\n this.commonService.GetData(\"CustomerSpecialDiscount\", \"GetById\", queryString).subscribe((data: any) => {\n this.EnquiryObj.CustomerSpecialDiscountdtls = data;\n \n \n var test=data.filter(x=>x.Fk_ProductModel==this.EnquiryObj.RFQObject[index].ProductModel);\n if(test.length >0)\n {\n if(test[0].ProductDiscount>=0)\n {\n this.EnquiryObj.RFQObject[index].SalesDiscount=test[0].ProductDiscount.toString();\n this.EnquiryObj.RFQObject[index].SalesPrice = this.productDrpdnDetails.SalesPrice.filter(x=>x.Name=='Customer Frame Agreement')[0].Id;\n \n this.iseditable=false\n }\n else\n {\n this.EnquiryObj.RFQObject[index].SalesDiscount=null;\n this.EnquiryObj.RFQObject[index].SalesPrice=undefined;\n this.iseditable=true;\n }\n }\n else\n {\n this.EnquiryObj.RFQObject[index].SalesDiscount=null;\n this.EnquiryObj.RFQObject[index].SalesPrice=undefined;\n this.iseditable=true;\n }\n \n });\n\n }\n OnQuantityChange(index) {\n if (this.EnquiryObj.RFQObject[index].Quantity < 1) {\n alert('Quantity cannot be 0 or negative.');\n this.EnquiryObj.RFQObject[index].Quantity = null;\n return;\n } else if (this.EnquiryObj.RFQObject[index].Quantity % 1 != 0) {\n alert('Please enter the valid Quantity');\n this.EnquiryObj.RFQObject[index].Quantity = null;\n return;\n }\n this.EnquiryObj.RFQObject[index].QuantityValidation = false;\n }\n OnMDSOptionChange(index) {\n this.EnquiryObj.RFQObject[index].MDSOptionValidation = false;\n }\n OnSalesPriceChange(index) {\n this.EnquiryObj.RFQObject[index].SalesPriceValidation = false;\n\n // have to specify the id for Customer Special Discount /Contract Frame Agrrement\n if(this.productDrpdnDetails.SalesPrice.filter(x=>x.Name=='Customer Frame Agreement').length>0)\n {\n if( this.EnquiryObj.RFQObject[index].SalesPrice==this.productDrpdnDetails.SalesPrice.filter(x=>x.Name=='Customer Frame Agreement')[0].Id)\n {\n this.EnquiryObj.RFQObject[index].SalesPrice=undefined;\n this.cd.detectChanges();\n }\n else\n {\n this.updateLoaderEvent.emit(true);\n let queryString = \"\";\n queryString = \"id=\" + this.EnquiryObj.RFQObject[index].SalesPrice;\n this.commonService.GetData(\"SalesPrice\", \"GetById\", queryString).subscribe((data: any) => {\n\n this.EnquiryObj.RFQObject[index].DiscountFromrange=data.DiscountFrom;\n this.EnquiryObj.RFQObject[index].Discounttorange=data.DiscountTo;\n this.iseditable=true;\n alert('Discount must be in range from'+' '+this.EnquiryObj.RFQObject[index].DiscountFromrange+' '+'to'+' '+this.EnquiryObj.RFQObject[index].Discounttorange);\n\n if(parseInt(this.EnquiryObj.RFQObject[index].SalesDiscount)==0-0)\n {\n this.EnquiryObj.RFQObject[index].SalesDiscount = \"0\";\n return;\n }\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n\n });\n }\n\n this.updateLoaderEvent.emit(false);\n }\n else\n {\n this.updateLoaderEvent.emit(true);\n let queryString = \"\";\n queryString = \"id=\" + this.EnquiryObj.RFQObject[index].SalesPrice;\n this.commonService.GetData(\"SalesPrice\", \"GetById\", queryString).subscribe((data: any) => {\n\n this.EnquiryObj.RFQObject[index].DiscountFromrange=data.DiscountFrom;\n this.EnquiryObj.RFQObject[index].Discounttorange=data.DiscountTo;\n this.iseditable=true;\n alert('Discount must be in range from'+' '+this.EnquiryObj.RFQObject[index].DiscountFromrange+' '+'to'+' '+this.EnquiryObj.RFQObject[index].Discounttorange);\n\n if(parseInt(this.EnquiryObj.RFQObject[index].SalesDiscount)==0-0)\n {\n this.EnquiryObj.RFQObject[index].SalesDiscount = \"0\";\n return;\n }\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n\n });\n this.updateLoaderEvent.emit(false);\n }\n }\n OnSalesDiscountChange(index) {\n if (parseInt(this.EnquiryObj.RFQObject[index].SalesDiscount) < 0) {\n this.EnquiryObj.RFQObject[index].SalesDiscount = null;\n return;\n }\n else if (parseInt(this.EnquiryObj.RFQObject[index].SalesDiscount) > 100) {\n this.EnquiryObj.RFQObject[index].SalesDiscount = null;\n return;\n }\n else if(!(this.EnquiryObj.RFQObject[index].DiscountFromrange<=parseInt(this.EnquiryObj.RFQObject[index].SalesDiscount) && parseInt(this.EnquiryObj.RFQObject[index].SalesDiscount)<= this.EnquiryObj.RFQObject[index].Discounttorange))\n {\n alert('Discount must be in range from'+' '+this.EnquiryObj.RFQObject[index].DiscountFromrange+' '+'to'+' '+this.EnquiryObj.RFQObject[index].Discounttorange);\n this.EnquiryObj.RFQObject[index].SalesDiscount=null;\n return;\n }\n \n else if (parseInt(this.EnquiryObj.RFQObject[index].SalesDiscount) % 1 != 0) {\n if (this.EnquiryObj.RFQObject[index].SalesDiscount.toString().split(\".\")[1].length > 2 || this.EnquiryObj.RFQObject[index].SalesDiscount.toString().split(\".\")[0].length > 2) {\n this.toastr.info(\"Only two numbers are allowed after decimal point\")\n // this.EnquiryObj.RFQObject[index].SalesDiscount = Math.round((this.EnquiryObj.RFQObject[index].SalesDiscount + Number.EPSILON) * 100) / 100;\n this.EnquiryObj.RFQObject[index].SalesDiscount = null;\n }\n }\n this.EnquiryObj.RFQObject[index].SalesDiscountValidation = false;\n }\n\n\n deleteAttachDocument(index, attachemntType) {\n switch (attachemntType) {\n case \"MDS\":\n this.EnquiryObj.RFQObject[index].MDSAttachment = [];\n this.EnquiryObj.RFQObject[index].isMDSAttachment = false;\n break;\n case \"ITC\":\n this.EnquiryObj.RFQObject[index].ITCAttachment = [];\n this.EnquiryObj.RFQObject[index].isITCAttachment = false;\n break;\n case \"Customer\":\n this.EnquiryObj.RFQObject[index].CustomerAttachment = [];\n this.EnquiryObj.RFQObject[index].isCustomerAttachment = false;\n break;\n case \"Weiss\":\n this.EnquiryObj.RFQObject[index].WeissAttachment = [];\n this.EnquiryObj.RFQObject[index].isWeissAttachment = false;\n break;\n }\n\n }\n\n deleteActivityAttachments(index) {\n this.activityDetails[index].Attachment = [];\n this.activityDetails[index].isActivityAttachment = false;\n }\n\n deleteActivityAttachmentsFromDB(index) {\n this.activityDetails[index].fileName = null;\n this.activityDetails[index].filePath = null;\n this.EnquiryObj.RemoveFiles.push(this.activityDetails[index].filePath);\n }\n\n\n deleteAttachDocumentFromDB(index, attachemntType) {\n switch (attachemntType) {\n case \"MDS\":\n var fileObj = new removefiles();\n fileObj.ProductId = this.EnquiryObj.RFQObject[index].ProductId;\n fileObj.filetype = \"MDS\";\n this.EnquiryObj.RemoveFiles.push(this.EnquiryObj.RFQObject[index].MDS_filepath);\n this.EnquiryObj.RFQObject[index].MDS_filename = null;\n this.EnquiryObj.RFQObject[index].MDS_filepath = null;\n break;\n case \"ITC\":\n var fileObj = new removefiles();\n fileObj.ProductId = this.EnquiryObj.RFQObject[index].ProductId;\n fileObj.filetype = \"ITC\";\n this.EnquiryObj.RemoveFiles.push(this.EnquiryObj.RFQObject[index].ITC_filepath);\n this.EnquiryObj.RFQObject[index].deleted_ITC_filename = this.EnquiryObj.RFQObject[index].ITC_filename;\n this.EnquiryObj.RFQObject[index].deleted_ITC_filepath = this.EnquiryObj.RFQObject[index].ITC_filepath;\n this.EnquiryObj.RFQObject[index].ITC_filename = null;\n this.EnquiryObj.RFQObject[index].ITC_filepath = null;\n\n break;\n case \"Customer\":\n var fileObj = new removefiles();\n fileObj.ProductId = this.EnquiryObj.RFQObject[index].ProductId;\n fileObj.filetype = \"Customer\";\n this.EnquiryObj.RemoveFiles.push(this.EnquiryObj.RFQObject[index].Customer_filepath);\n this.EnquiryObj.RFQObject[index].Customer_filename = null;\n this.EnquiryObj.RFQObject[index].Customer_filepath = null;\n break;\n case \"Weiss\":\n var fileObj = new removefiles();\n fileObj.ProductId = this.EnquiryObj.RFQObject[index].ProductId;\n fileObj.filetype = \"Weiss\";\n this.EnquiryObj.RemoveFiles.push(this.EnquiryObj.RFQObject[index].Weiss_filepath);\n this.EnquiryObj.RFQObject[index].Weiss_filename = null;\n this.EnquiryObj.RFQObject[index].Weiss_filepath = null;\n break;\n }\n\n }\n\n \n getCustomerList() {\n this.updateLoaderEvent.emit(true);\n this.commonService.GetData(\"Customer\", \"GetAll\", null).subscribe((data: any) => {\n this.CustomerList = data;\n\n this.updateLoaderEvent.emit(false);\n });\n }\n\n getEnquirySourceDetails() {\n this.updateLoaderEvent.emit(true);\n this.commonService.GetData(\"Enquiry\", \"GetEnquiryDropdownData\", null).subscribe((data: any) => {\n this.enquirySource = data.EnquirySource;\n this.updateLoaderEvent.emit(false);\n });\n }\n\n\n AvoidSpace(event: any) {\n if ((event.which === 46 || event.which === 32) && !event.target.value.length) {\n event.preventDefault();\n }\n }\n\n isNumberKey(evt: any) {\n this.charCode = (evt.which) ? evt.which : evt.keyCode;\n if ((this.charCode == 45 || this.charCode == 43) && this.charCode > 31\n && (this.charCode < 48 || this.charCode > 57)) {\n return false;\n }\n else {\n return true;\n }\n }\n\n isintNumberKey(evt: any) {\n this.charCode = (evt.which) ? evt.which : evt.keyCode;\n if ((this.charCode == 46 || this.charCode == 45 || this.charCode == 43) && this.charCode > 31\n && (this.charCode < 48 || this.charCode > 57)) {\n return false;\n }\n else {\n return true;\n }\n }\n\n AddRFQDetails(index) {\n if (this.EnquiryObj.RFQObject[index].ProductLine != undefined && this.EnquiryObj.RFQObject[index].ProductModel != undefined &&\n this.EnquiryObj.RFQObject[index].Quantity != undefined && this.EnquiryObj.RFQObject[index].SalesPrice != undefined && this.EnquiryObj.RFQObject[index].SalesDiscount != undefined) {\n this.EnquiryObj.RFQObject[index].IsRowDeleted = true;\n var obj = new ProductDetails();\n this.EnquiryObj.RFQObject.push(obj);\n }\n else{\n this.toastr.info(\"Please fill mandatory details before adding new row.\");\n }\n }\n\n openCSComments() {\n this.isCustomerCommentVisible = !this.isCustomerCommentVisible;\n }\n\n backtoList() {\n // this._location.back();\n if (this.previousUrl == null || this.previousUrl == \"\" || this.previousUrl == undefined) {\n this.router.navigate(['/Enquiry']);\n }\n else if (this.previousUrl.includes(\"PendingEnquiry\")) {\n this.router.navigate(['/PendingEnquiry']);\n }\n else {\n this.router.navigate(['/Enquiry']);\n }\n\n } \n\n deleteRFQDetails(index: any) {\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Do you want to delete this row?\"\n }\n });\n dialogRef.afterClosed().subscribe(dialogResult => {\n if (dialogResult) {\n if (index != null) {\n this.EnquiryObj.RFQObject.splice(index, 1);\n } else {\n this.EnquiryObj.RFQObject.pop();\n }\n }\n });\n }\n\n setTermsAndConditions() {\n if (this.EnquiryObj.EnquiryDetails.RFQTermsAndCondition == 'Standard') {\n this.isStandardCondition = true; \n this.EnquiryObj.TermsAndConditions = this.TnCStandardFromDropDown; \n this.EnquiryObj.TermsAndConditions.forEach(element => { \n var tnc = this.demoObject.filter(x => x.Id == element.TnCId)[0]; \n element.TnCValue = tnc?.Value; \n });\n } else { \n this.isStandardCondition = false; \n this.EnquiryObj.CustomTermsAndConditions = this.TnCCustomizedFromDropDown;\n this.EnquiryObj.CustomTermsAndConditions.forEach(element => {\n var ctnc = this.demoCTCObject.filter(x => x.StandardTC.Id == element.StandardTC)[0];\n element.CustomValues = ctnc?.CustomValues;\n });\n \n }\n }\n\n setTermsAndConditionsEditRfq() {\n \n if (this.EnquiryObj.EnquiryDetails.RFQTermsAndCondition == 'Standard') {\n this.isStandardCondition = true;\n //this.EnquiryObj.TnCObject = this.demoObject; \n this.EnquiryObj.TermsAndConditions = this.TnCStandardFromDropDown;\n\n this.EnquiryObj.TermsAndConditions.forEach(element => {\n var tnc = this.demoObject.filter(x => x.Id == element.TnCId)[0];\n element.TnCValue = tnc?.Value;\n \n });\n } \n else {\n this.isStandardCondition = false;\n\n if (this.EnquiryObj.CustomTermsAndConditions.length == 0) {\n this.EnquiryObj.CustomTermsAndConditions = this.TnCCustomizedFromDropDown;\n\n } else {\n this.EnquiryObj.CustomTermsAndConditions = this.TnCCustomizedDropDownForEditRfq2\n }\n\n this.EnquiryObj.CustomTermsAndConditions.forEach(element => {\n var ctnc = this.demoCTCObject.filter(x => x.StandardTC.Id == element.StandardTC)[0];\n element.CustomValues = ctnc?.CustomValues;\n\n });\n }\n }\n\n editFileDetails(event, index) {\n let file = event.target.files[0];\n let isValidFile = true;\n if (((file.size) / 1000000) <= 5) {\n isValidFile = this.allowedFileType.includes(file.type);\n if (!isValidFile) {\n this.toastr.warning(\"Invalid file attached!\");\n switch (event.target.name) {\n case \"mdsfile\":\n this.EnquiryObj.RFQObject[index].MDSAttachment = [];\n this.EnquiryObj.RFQObject[index].isMDSAttachment = false;\n break;\n case \"itcfile\":\n this.EnquiryObj.RFQObject[index].ITCAttachment = [];\n this.EnquiryObj.RFQObject[index].isITCAttachment = false;\n break;\n case \"customerfile\":\n this.EnquiryObj.RFQObject[index].CustomerAttachment = [];\n this.EnquiryObj.RFQObject[index].isCustomerAttachment = false;\n break;\n case \"weissfile\":\n this.EnquiryObj.RFQObject[index].WeissAttachment = [];\n this.EnquiryObj.RFQObject[index].isWeissAttachment = false;\n break;\n case \"bomfile\":\n this.EnquiryObj.EnquiryDetails.BOMAttachment = [];\n this.isBOMAttachment = false;\n break;\n case \"ecfile\":\n this.EnquiryObj.EnquiryDetails.POAttchments = [];\n break;\n case \"accfile\":\n this.EnquiryObj.EnquiryDetails.InvoiceAttachment = [];\n this.isInvoiceAttachment = false;\n break;\n case \"activityfile\":\n this.activityDetails[index].Attachment = [];\n this.activityDetails[index].isActivityAttachment = false;\n break;\n }\n event.target.value = null;\n isValidFile = false;\n } else if (file.name.length > 50) {\n this.toastr.warning(\"The file name with more than 50 characters are not allowed.\");\n switch (event.target.name) {\n case \"mdsfile\":\n this.EnquiryObj.RFQObject[index].MDSAttachment = [];\n this.EnquiryObj.RFQObject[index].isMDSAttachment = false;\n break;\n case \"itcfile\":\n this.EnquiryObj.RFQObject[index].ITCAttachment = [];\n this.EnquiryObj.RFQObject[index].isITCAttachment = false;\n break;\n case \"customerfile\":\n this.EnquiryObj.RFQObject[index].CustomerAttachment = [];\n this.EnquiryObj.RFQObject[index].isCustomerAttachment = false;\n break;\n case \"weissfile\":\n this.EnquiryObj.RFQObject[index].WeissAttachment = [];\n this.EnquiryObj.RFQObject[index].isWeissAttachment = false;\n break;\n case \"bomfile\":\n this.EnquiryObj.EnquiryDetails.BOMAttachment = [];\n this.isBOMAttachment = false;\n break;\n case \"ecfile\":\n this.EnquiryObj.EnquiryDetails.POAttchments = [];\n break;\n case \"accfile\":\n this.EnquiryObj.EnquiryDetails.InvoiceAttachment = [];\n this.isInvoiceAttachment = false;\n break;\n case \"activityfile\":\n this.activityDetails[index].Attachment = [];\n this.activityDetails[index].isActivityAttachment = false;\n break;\n }\n event.target.value = null;\n isValidFile = false;\n }\n }\n else {\n this.toastr.warning(\"File size must be less than or equal to 5MB!\");\n switch (event.target.name) {\n case \"mdsfile\":\n this.EnquiryObj.RFQObject[index].MDSAttachment = [];\n this.EnquiryObj.RFQObject[index].isMDSAttachment = false;\n break;\n case \"itcfile\":\n this.EnquiryObj.RFQObject[index].ITCAttachment = [];\n this.EnquiryObj.RFQObject[index].isITCAttachment = false;\n break;\n case \"customerfile\":\n this.EnquiryObj.RFQObject[index].CustomerAttachment = [];\n this.EnquiryObj.RFQObject[index].isCustomerAttachment = false;\n break;\n case \"weissfile\":\n this.EnquiryObj.RFQObject[index].WeissAttachment = [];\n this.EnquiryObj.RFQObject[index].isWeissAttachment = false;\n break;\n case \"bomfile\":\n this.EnquiryObj.EnquiryDetails.BOMAttachment = [];\n this.isBOMAttachment = false;\n break;\n case \"ecfile\":\n this.EnquiryObj.EnquiryDetails.POAttchments = [];\n break;\n case \"accfile\":\n this.EnquiryObj.EnquiryDetails.InvoiceAttachment = [];\n this.isInvoiceAttachment = false;\n break;\n case \"activityfile\":\n this.activityDetails[index].Attachment = [];\n this.activityDetails[index].isActivityAttachment = false;\n break;\n }\n event.target.value = null;\n isValidFile = false;\n }\n if (isValidFile) {\n //CHECK IF THE FILE NAME IS NOT TOO BIG\n\n switch (event.target.name) {\n case \"mdsfile\":\n this.EnquiryObj.RFQObject[index].MDSAttachment = [];\n this.EnquiryObj.RFQObject[index].MDSAttachment.push(file);\n this.EnquiryObj.RFQObject[index].isMDSAttachment = true;\n break;\n case \"itcfile\":\n if (!(file.type == 'application/xml' || file.type == 'text/xml')) {\n this.toastr.warning(\"Only xml file supported!\");\n this.EnquiryObj.RFQObject[index].ITCAttachment = [];\n this.EnquiryObj.RFQObject[index].isITCAttachment = false;\n event.target.value = null;\n isValidFile = false;\n }\n else {\n // const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n // maxWidth: \"400px\",\n // data: {\n // title: \"Are you sure?\",\n // message: 'Please make sure that the entered Product and ITC Product are being matched. Do you want to continue?'\n // }\n // });\n // dialogRef.afterClosed().subscribe(dialogResult => {\n // if (dialogResult) {\n this.EnquiryObj.RFQObject[index].ITCAttachment = [];\n this.EnquiryObj.RFQObject[index].ITCAttachment.push(file);\n this.EnquiryObj.RFQObject[index].isITCAttachment = true;\n // }\n // });\n\n }\n break;\n case \"customerfile\":\n this.EnquiryObj.RFQObject[index].CustomerAttachment = [];\n this.EnquiryObj.RFQObject[index].CustomerAttachment.push(file);\n this.EnquiryObj.RFQObject[index].isCustomerAttachment = true;\n break;\n case \"weissfile\":\n this.EnquiryObj.RFQObject[index].WeissAttachment = [];\n this.EnquiryObj.RFQObject[index].WeissAttachment.push(file);\n this.EnquiryObj.RFQObject[index].isWeissAttachment = true;\n break;\n case \"bomfile\":\n this.EnquiryObj.EnquiryDetails.BOMAttachment = [];\n this.EnquiryObj.EnquiryDetails.BOMAttachment.push(file);\n this.isBOMAttachment = true;\n break;\n case \"ecfile\":\n this.EnquiryObj.EnquiryDetails.POAttchments = [];\n this.EnquiryObj.EnquiryDetails.POAttchments.push(file);\n this.isPOAttachment = true;\n break;\n case \"accfile\":\n this.EnquiryObj.EnquiryDetails.InvoiceAttachment = [];\n this.EnquiryObj.EnquiryDetails.InvoiceAttachment.push(file);\n this.isInvoiceAttachment = true;\n break;\n case \"activityfile\":\n this.activityDetails[index].Attachment = [];\n this.activityDetails[index].Attachment.push(file);\n this.activityDetails[index].isActivityAttachment = true;\n break;\n }\n }\n }\n\n getMultipleFileDetails(event) {\n for (let i = 0; i < event.target.files.length; i++) {\n let file = event.target.files[i];\n let isValidFile = true;\n if (((file.size) / 1000000) <= 5) {\n\n isValidFile = this.allowedFileType.includes(file.type);\n if (!isValidFile) {\n this.toastr.warning(\"Invalid file attached!\");\n //event.target.value = null;\n isValidFile = false;\n } else if (file.name.length > 50) {\n this.toastr.warning(\"The file name with more than 50 characters are not allowed.\");\n isValidFile = false;\n }\n }\n else {\n this.toastr.warning(\"File size must be less than or equal to 5MB!\");\n //event.target.value = null;\n isValidFile = false;\n }\n if (isValidFile) {\n switch (event.target.name) {\n case \"quotefiles\":\n if (this.EnquiryObj.EnquiryDetails.QuoteGenAttachments == undefined || this.EnquiryObj.EnquiryDetails.QuoteGenAttachments.length == 0) {\n this.EnquiryObj.EnquiryDetails.QuoteGenAttachments = [];\n }\n this.EnquiryObj.EnquiryDetails.QuoteGenAttachments.push(file);\n break;\n case \"mafile\":\n if (this.EnquiryObj.EnquiryDetails.QuoteGenAttachments == undefined || this.EnquiryObj.EnquiryDetails.QuoteGenAttachments.length == 0) {\n this.EnquiryObj.EnquiryDetails.QuoteGenAttachments = [];\n }\n this.EnquiryObj.EnquiryDetails.QuoteGenAttachments.push(file);\n break;\n case \"ceofile\":\n if (this.EnquiryObj.EnquiryDetails.QuoteGenAttachments == undefined || this.EnquiryObj.EnquiryDetails.QuoteGenAttachments.length == 0) {\n this.EnquiryObj.EnquiryDetails.QuoteGenAttachments = [];\n }\n this.EnquiryObj.EnquiryDetails.QuoteGenAttachments.push(file);\n break;\n case \"maofile\":\n if (this.EnquiryObj.EnquiryDetails.QuoteGenAttachments == undefined || this.EnquiryObj.EnquiryDetails.QuoteGenAttachments.length == 0) {\n this.EnquiryObj.EnquiryDetails.QuoteGenAttachments = [];\n }\n this.EnquiryObj.EnquiryDetails.QuoteGenAttachments.push(file);\n break;\n }\n }\n }\n }\n\n removeQuoteGenAttachments(index) {\n this.EnquiryObj.EnquiryDetails.QuoteGenAttachments.splice(index, 1);\n this.myInputVariable.nativeElement.value = \"\";\n\n }\n removeQuoteGenAttachmentsDB(index) {\n this.EnquiryObj.RemoveFiles.push(this.EnquiryObj.EnquiryDetails.QuoteAttachmentsArray[index].FilePath);\n this.EnquiryObj.EnquiryDetails.QuoteAttachmentsArray[index].FileName = null;\n this.EnquiryObj.EnquiryDetails.QuoteAttachmentsArray[index].FilePath = null;\n this.EnquiryObj.EnquiryDetails.QuoteAttachmentsArray.splice(index, 1);\n }\n removeBOMAttachments(flag) {\n if (flag == 1) {\n this.EnquiryObj.RemoveFiles.push(this.EnquiryObj.EnquiryDetails.BOM_filepath);\n }\n this.isBOMAttachment = false;\n this.EnquiryObj.EnquiryDetails.BOMAttachment = [];\n this.EnquiryObj.EnquiryDetails.BOM_filename = null;\n this.EnquiryObj.EnquiryDetails.BOM_filepath = null;\n }\n\n \n SetStatus(rule, myform: any) {\n if (myform.valid) {\n this.PreviousStatus = this.EnquiryObj.EnquiryDetails.Status;\n this.EnquiryObj.EnquiryDetails.Status = rule[0].workflowNextStatusId; \n }\n this.AddEnquiry();\n }\n\n AddEnquiry() {\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='EnquiryAdded')[0]?.Pk_Id\n || this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='RFQSaveAsDraft')[0]?.Pk_Id\n || this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='RFQSubmittedbySalesEngg')[0]?.Pk_Id) {\n \n this.checkRFQGridValidation();\n if (!this.IsRFQDataValid) {\n return;\n }\n \n if (this.EnquiryObj.EnquiryDetails.RFQTermsAndCondition == 'Standard')\n {\n let tnc = this.EnquiryObj.TermsAndConditions.filter(x => (x.TnCValue == undefined || x.TnCValue == null || x.TnCValue == ''));\n if (tnc.length > 0) {\n return;\n }\n this.EnquiryObj.CustomTermsAndConditions=null;\n }\n \n if (this.EnquiryObj.EnquiryDetails.RFQTermsAndCondition == 'Non-Standard')\n {\n let ctnc = this.EnquiryObj.CustomTermsAndConditions.filter(x => (x.CustomValues == undefined || x.CustomValues == null))\n if (ctnc.length > 0) {\n return;\n } \n this.EnquiryObj.TermsAndConditions=null;\n } \n }\n //Dont proceed if the BOM attachment is not present\n // if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatus.SendBOMandProposal || this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatus.QuotationSenttoCustomerService ||\n // this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatus.RFQsentbyL1toL2) \n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='SendBOMandProposal')[0]?.Pk_Id \n || this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='QuotationSenttoCustomerService')[0]?.Pk_Id\n || this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='RFQsentbyL1toL2')[0]?.Pk_Id) \n {\n if ((this.EnquiryObj.EnquiryDetails.BOMAttachment.length == 0 \n || this.EnquiryObj.EnquiryDetails.BOMAttachment == undefined \n || this.EnquiryObj.EnquiryDetails.BOMAttachment.length == 0) \n &&(this.EnquiryObj.EnquiryDetails.BOM_filename == null \n || this.EnquiryObj.EnquiryDetails.BOM_filename == undefined \n || this.EnquiryObj.EnquiryDetails.BOM_filename == \"\")) {\n alert('BOM attachment is required.');\n return;\n }\n }\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='EnquiryOrderConfirmedbySalesEngg')[0]?.Pk_Id) {\n if ((this.EnquiryObj.EnquiryDetails.POAttchments == undefined || this.EnquiryObj.EnquiryDetails.POAttchments.length == 0 )) {\n return;\n }\n }\n\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='OrdersentforMngmtApproval_SalesDirector')[0]?.Pk_Id) {\n if (this.isPOAttacmentDelete) {\n if ((this.EnquiryObj.EnquiryDetails.POAttchments == undefined || this.EnquiryObj.EnquiryDetails.POAttchments.length == 0 || this.EnquiryObj.EnquiryDetails.POAttchments.length == 0)) {\n return;\n }\n }\n\n }\n\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='OrderConfirmedbyCustomerServiceSendSO')[0]?.Pk_Id) {\n if (this.isPOAttacmentDelete) {\n if ((this.EnquiryObj.EnquiryDetails.POAttchments == undefined || this.EnquiryObj.EnquiryDetails.POAttchments.length == 0 || this.EnquiryObj.EnquiryDetails.POAttchments.length == 0)) {\n return;\n }\n }\n }\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='AccountsConfirmInvoiceNo')[0]?.Pk_Id) {\n if (this.EnquiryObj.EnquiryDetails.InvoiceAttachment == undefined) {\n this.EnquiryObj.EnquiryDetails.Status = this.enquiryStatusList.filter(x=>x.Status=='MaterialReadyForDispatch')[0]?.Pk_Id\n return;\n }\n }\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='OrdersentforMngmtApproval_SalesDirector')[0]?.Pk_Id ||\n this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='OrderConfirmedbyCustomerServiceSendSO')[0]?.Pk_Id) {\n let sum: number = 0;\n this.EnquiryObj.POValues.forEach(element => {\n element.ProductModelPOValue = (element.ProductModelPOValue == null || element.ProductModelPOValue == '' || element.ProductModelPOValue == undefined)\n ? '0' : element.ProductModelPOValue;\n sum = sum + parseInt(element.ProductModelPOValue);\n element.QUotationValueValidation = false;\n });\n if (sum.toString() != this.EnquiryObj.EnquiryDetails.POValue) {\n document.getElementById(\"povalue0\").focus();\n alert('Total PO Value and PO Value product wise are not matching.');\n this.EnquiryObj.EnquiryDetails.Status = this.PreviousStatus;\n this.UpdatePO = false;\n return;\n }\n }\n\n setTimeout(() => this.openPopup());\n }\n openPopup() {\n var confimrmsg = this.AppGlobals.successMessages.filter(x => x.id == this.EnquiryObj.EnquiryDetails.Status)[0];\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: confimrmsg.confirmmsg\n }\n });\n dialogRef.afterClosed().subscribe(dialogResult => {\n if (dialogResult) {\n //this.showLoader = true;\n this.updateLoaderEvent.emit(true);\n\n const frmData = new FormData();\n this.EnquiryObj.RFQObject.forEach(item => {\n item.IsRowDeleted = false;\n });\n if (this.EnquiryObj.EnquiryDetails.EnquiryDate != undefined) {\n this.EnquiryObj.EnquiryDetails.EnquiryDateISO = new Date(this.convertDate(new NgbDate(this.EnquiryObj.EnquiryDetails.EnquiryDate.year, this.EnquiryObj.EnquiryDetails.EnquiryDate.month, this.EnquiryObj.EnquiryDetails.EnquiryDate.day))).toDateString();\n }\n if (this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate != undefined) {\n this.EnquiryObj.EnquiryDetails.TentativeDeliveryDateISO = new Date(this.convertDate(new NgbDate(this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate.year, this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate.month, this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate.day))).toDateString();\n }\n if (this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate != undefined) {\n this.EnquiryObj.EnquiryDetails.RequestedDeliveryDateISO = new Date(this.convertDate(new NgbDate(this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate.year, this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate.month, this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate.day))).toDateString();\n }\n if (this.EnquiryObj.EnquiryDetails.EnquiryDate != undefined) {\n this.EnquiryObj.EnquiryDetails.EnquiryDate = new Date(this.convertDate(new NgbDate(this.EnquiryObj.EnquiryDetails.EnquiryDate.year, this.EnquiryObj.EnquiryDetails.EnquiryDate.month, this.EnquiryObj.EnquiryDetails.EnquiryDate.day)));\n }\n if (this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate != undefined) {\n this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate = new Date(this.convertDate(new NgbDate(this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate.year, this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate.month, this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate.day)));\n }\n if (this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate != undefined) {\n this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate = new Date(this.convertDate(new NgbDate(this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate.year, this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate.month, this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate.day)));\n }\n\n if (this.EnquiryObj.EnquiryDetails.RFQTermsAndCondition == \"Non-Standard\") {\n this.EnquiryObj.TermsAndConditions = null;\n\n this.EnquiryObj.CustomTermsAndConditions = this.newCustomiseArr;\n \n // if(this.QGRFQEditable == false)\n // { \n // this.EnquiryObj.CustomTermsAndConditions = this.custtermscond;\n // }\n }\n // else{\n // this.EnquiryObj.CustomTermsAndConditions=null;\n // }\n\n let EnquiryObj = JSON.stringify(this.EnquiryObj);\n frmData.append(\"EnquiryModel\", EnquiryObj);\n\n\n if (this.EnquiryObj.EnquiryDetails.QuoteGenAttachments != null) {\n for (let i = 0; i < this.EnquiryObj.EnquiryDetails.QuoteGenAttachments.length; i++) {\n frmData.append(\"QuoteGenAttachments[\" + i + \"]\", this.EnquiryObj.EnquiryDetails.QuoteGenAttachments[i]);\n }\n }\n for (let i = 0; i < this.EnquiryObj.RFQObject.length; i++) {\n if (this.EnquiryObj.RFQObject[i].MDSAttachment != undefined) {\n frmData.append(\"MDSAttachment[\" + i + \"]\", this.EnquiryObj.RFQObject[i].MDSAttachment[0]);\n }\n if (this.EnquiryObj.RFQObject[i].ITCAttachment != undefined) {\n frmData.append(\"ITCAttachment[\" + i + \"]\", this.EnquiryObj.RFQObject[i].ITCAttachment[0]);\n }\n if (this.EnquiryObj.RFQObject[i].CustomerAttachment != undefined) {\n frmData.append(\"CustomerAttachment[\" + i + \"]\", this.EnquiryObj.RFQObject[i].CustomerAttachment[0]);\n }\n if (this.EnquiryObj.RFQObject[i].WeissAttachment != undefined) {\n frmData.append(\"WeissAttachment[\" + i + \"]\", this.EnquiryObj.RFQObject[i].WeissAttachment[0]);\n }\n }\n if (this.EnquiryObj.EnquiryDetails.BOMAttachment) {\n frmData.append(\"BOMAttachment\", this.EnquiryObj.EnquiryDetails.BOMAttachment[0]);\n }\n if (this.EnquiryObj.EnquiryDetails.InvoiceAttachment) {\n frmData.append(\"InvoiceAttachment\", this.EnquiryObj.EnquiryDetails.InvoiceAttachment[0]);\n }\n if (this.EnquiryObj.EnquiryDetails.POAttchments) {\n frmData.append(\"POAttchments\", this.EnquiryObj.EnquiryDetails.POAttchments[0]);\n }\n\n\n this.commonService.PostData(\"Enquiry\", \"Add\", frmData, null).subscribe((data: any) => {\n this.customerDrpdnDetails = data;\n this.EnquiryObj.EnquiryDetails.EnquiryId = data;\n \n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='OANoGenerated')[0]?.Pk_Id) {\n alert(\"OA Number generated successfully!\");\n }\n else {\n this.toastr.success(confimrmsg.successmsg);\n }\n\n //this.showLoader = false;\n this.updateLoaderEvent.emit(false);\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='RFQAcceptedbyL1')[0]?.Pk_Id ||\n this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='QuotationRevision')[0]?.Pk_Id ||\n this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='RFQSubmittedbyL1')[0]?.Pk_Id ||\n this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='RFQSubmittedbyL2')[0]?.Pk_Id ||\n this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='RFQSubmittedbyL3')[0]?.Pk_Id ||\n this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='RFQSubmittedbyCustomerService')[0]?.Pk_Id ||\n this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='OANoGenerated')[0]?.Pk_Id) \n {\n // this.router.navigate(['/EditViewEnquiry/' + this.EnquiryObj.EnquiryDetails.EnquiryId]);\n window.location.reload();\n \n //this.router.navigate(['/addQuoation/'+this.EnquiryObj.EnquiryDetails.EnquiryId]);\n } else {\n //this.router.navigate(['/addQuoation/'+this.EnquiryObj.EnquiryDetails.EnquiryId]);\n this.router.navigate(['/Enquiry']);\n //this.backtoList();\n }\n\n }, error => {\n this.toastr.error(confimrmsg.errormsg);\n \n this.updateLoaderEvent.emit(false);\n });\n } else {\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='QuotationRevision')[0]?.Pk_Id) {\n this.chosenItem = \"2\";\n this.quoterevcomments = this.EnquiryObj.EnquiryDetails.Comments;\n this.EnquiryObj.EnquiryDetails.Comments = \"\";\n }\n else {\n\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='OrdersentforMngmtApproval_SalesDirector')[0]?.Pk_Id ||\n this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='OrderConfirmedbyCustomerServiceSendSO')[0]?.Pk_Id) {\n this.UpdatePO = false;\n }\n if (this.PreviousStatus > 0) {\n this.EnquiryObj.EnquiryDetails.Status = this.PreviousStatus;\n }\n\n }\n\n }\n });\n\n }\n\n editRFQ() {\n if (this.showQuotationLink) {\n alert('Please note that editing the RFQ will reset the quotation.');\n }\n this.EnquiryObj.RFQObject.forEach(element => {\n element.deleted_MDS_filename = element.MDS_filename;\n element.deleted_MDS_filepath = element.MDS_filepath;\n\n element.deleted_ITC_filename = element.ITC_filename;\n element.deleted_ITC_filepath = element.ITC_filepath;\n\n element.deleted_Customer_filename = element.Customer_filename;\n element.deleted_Customer_filepath = element.Customer_filepath;\n\n element.deleted_Weiss_filename = element.Weiss_filename;\n element.deleted_Weiss_filepath = element.Weiss_filepath;\n });\n\n\n this.QGRFQEditable = true;\n\n }\n cancelEditingRFQ() {\n\n window.location.reload();\n this.QGRFQEditable = false;\n this.EnquiryObj.RFQObject.forEach(element => {\n element.MDSAttachment = [];\n element.ITCAttachment = [];\n element.CustomerAttachment = [];\n element.WeissAttachment = [];\n element.isMDSAttachment = false;\n element.isITCAttachment = false;\n element.isCustomerAttachment = false;\n element.isWeissAttachment = false;\n element.MDS_filename = element.deleted_MDS_filename;\n element.MDS_filepath = element.deleted_MDS_filepath;\n\n element.ITC_filename = element.deleted_ITC_filename;\n element.ITC_filepath = element.deleted_ITC_filepath;\n\n element.Customer_filename = element.deleted_Customer_filename;\n element.Customer_filepath = element.deleted_Customer_filepath;\n\n element.Weiss_filename = element.deleted_Weiss_filename;\n element.Weiss_filepath = element.deleted_Weiss_filepath;\n });\n }\n checkRFQGridValidation() {\n var inde = 0;\n this.IsRFQDataValid = true;\n this.EnquiryObj.RFQObject.forEach((element, index) => {\n if (element.ProductLine == undefined || element.ProductLine == null || element.ProductLine == 0) {\n document.getElementById(\"productline\" + index).focus();\n element.ProductLineValidation = true;\n this.IsRFQDataValid = false;\n }\n if (element.ProductModel == undefined || element.ProductModel == null || element.ProductModel == 0) {\n document.getElementById(\"productmodel\" + index).focus();\n element.ProductModelValidation = true;\n this.IsRFQDataValid = false;\n }\n if (element.Quantity == undefined || element.Quantity == null || element.Quantity == 0) {\n document.getElementById(\"quantity\" + index).focus();\n element.QuantityValidation = true;\n this.IsRFQDataValid = false;\n }\n if (element.MDSOption == undefined || element.MDSOption == null || element.MDSOption == 0) {\n document.getElementById(\"mdsoption\" + index).focus();\n element.MDSOptionValidation = true;\n this.IsRFQDataValid = false;\n }\n if (element.SalesPrice == undefined || element.SalesPrice == null || element.SalesPrice == 0) {\n document.getElementById(\"salesprice\" + index).focus();\n element.SalesPriceValidation = true;\n this.IsRFQDataValid = false;\n }\n if (element.SalesDiscount == undefined || element.SalesDiscount == null) {\n document.getElementById(\"salesdiscount\" + index).focus();\n element.SalesDiscountValidation = true;\n this.IsRFQDataValid = false;\n }\n\n });\n\n }\n\n convertDate(date: any) {\n let year = date.year;\n let month = date.month;\n let day = date.day;\n return year + \"-\" + month + \"-\" + day;\n }\n\n downloadPDF() {\n const url = this.QuotationPdfGenerationHostPath + 'uploads/pdf/' + this.EnquiryObj.EnquiryDetails.QuotationPdf_filename;\n window.open(url, \"download\");\n }\n\n checkattachment() {\n this.rfqattpresent = false;\n this.EnquiryObj.RFQObject.forEach(element => {\n if (!(element.MDS_filename == null || element.MDS_filename == undefined || element.MDS_filename == '')) {\n this.rfqattpresent = true;\n }\n if (!(element.ITC_filename == null || element.ITC_filename == undefined || element.ITC_filename == '')) {\n this.rfqattpresent = true;\n }\n if (!(element.Weiss_filename == null || element.Weiss_filename == undefined || element.Weiss_filename == '')) {\n this.rfqattpresent = true;\n }\n if (!(element.Customer_filename == null || element.Customer_filename == undefined || element.Customer_filename == '')) {\n this.rfqattpresent = true;\n }\n });\n }\n DownloadAllAttachments() {\n this.checkattachment();\n if (!this.rfqattpresent) {\n alert('No attachment present.');\n return;\n }\n this.updateLoaderEvent.emit(true);\n let queryString = \"\";\n queryString = \"id=\" + this.EnquiryObj.EnquiryDetails.EnquiryId;\n this.commonService.GetData('Enquiry', 'Download', queryString).subscribe((data: any) => {\n var url = AppGlobals.ZipDownloadUrl + data + '.zip';\n window.open(url, \"_blank\");\n this.updateLoaderEvent.emit(false);\n }, error => {\n this.updateLoaderEvent.emit(false);\n });\n }\n onSelectDate(date: NgbDateStruct, dateType: string) {\n if (date != null) {\n if (dateType == 'RequestedDeliveryDate') {\n this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate = date;\n this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate = this.ngbDateParserFormatter.format(date);\n }\n else if (dateType == 'EnquiryDate') {\n this.EnquiryObj.EnquiryDetails.EnquiryDate = date;\n this.EnquiryObj.EnquiryDetails.EnquiryDate = this.ngbDateParserFormatter.format(date);\n }\n\n }\n }\n\n onIndustrySegmentSelect(value)\n {\n if(value!=null)\n {\n this.SubSegment=this.FinalSubSegment.filter(x=>x.SegmentId==value); \n this.Application=[];\n // this.EnquiryObj.EnquiryDetails.subSegment=undefined;\n // this.EnquiryObj.EnquiryDetails.application=undefined;\n }\n } \n onSubSegmentSelect(value)\n {\n if(value!=null)\n {\n this.Application=this.FinalApplication.filter(x=>x.SubSegmentId==value); \n }\n }\n \n openCloseOppReasonPopup(enquiryStatusId:any) {\n const modalRef = this.modalService.open(CloseOppReasonComponent, {\n size: 'lg', backdrop: 'static', keyboard: false\n });\n\n var enquiObj = {\n EnquiryId: this.EnquiryObj.EnquiryDetails.EnquiryId,\n EnquiryStatusId: enquiryStatusId,\n EnqTermsConditionSelected: this.EnquiryObj.EnquiryDetails.RFQTermsAndCondition,\n IsQuotationPriceOnRequest: this.EnquiryObj.EnquiryDetails.IsQuotationPriceOnRequest,\n TermsAndCondition: this.EnquiryObj.TermsAndConditions,\n CustomTermsAndCondition: this.EnquiryObj.CustomTermsAndConditions,\n PendingAtRoleId: this.EnquiryObj.EnquiryDetails.PendingAtRoleId\n }\n\n modalRef.componentInstance.enquiryDataObj = enquiObj;\n modalRef.result.then((result) => {\n this.closeResult = `Closed with:${result}`;\n if (this.closeResult !== 'Closed with:Close click') {\n this.ngOnInit();\n }\n });\n }\n\n limitTextOnKeyUpDown2(event: any) {\n let goalText = event.target.value;\n if (goalText.length > this.maxCharLimit) {\n this.varLongTermGoal = goalText.substring(0, this.maxCharLimit);\n } else {\n this.remCharLimit = this.maxCharLimit - goalText.length;\n }\n }\n\n limitTextOnKeyUpDown3(event: any) {\n let goalText = event.target.value;\n if (goalText.length > this.maxappdescLimit) {\n this.varLongTermGoal = goalText.substring(0, this.maxappdescLimit);\n } else {\n this.remappdescLimit = this.maxappdescLimit - goalText.length;\n }\n }\n\n getWorkflowActions()\n { \n let queryString = \"\";\n queryString = \"enquiryId=\" + this.EnquiryObj.EnquiryDetails.EnquiryId +\"&workflowId=\" + this.workflowId ;\n\n this.updateLoaderEvent.emit(true);\n this.commonService.GetData(\"EnquiryWorkflowTransitionRules\",\"GetTransitionRulesByStatus\",queryString).subscribe((data: any) => {\n if(data!=null)\n {\n this.workflowActionList=data;\n //this.workflowActionList=this.workflowActionList.filter(x=>x.workflowActionCode!='CloseEnquiry');\n }\n this.updateLoaderEvent.emit(false);\n }, error => {\n this.updateLoaderEvent.emit(false);\n });\n }\n\n getEnquiryStatus()\n {\n this.commonService.GetData(\"Enquiry\",\"GetEnquiryStatus\", null).subscribe((data: any) => {\n this.enquiryStatusList=data;\n this.updateLoaderEvent.emit(false);\n }, error => {\n this.updateLoaderEvent.emit(false);\n });\n }\n\n\n OnWorkflowAction(myform2:NgForm,workflowActionId:number)\n { \n var rule= this.workflowActionList.filter(x=>x.workflowActionId==workflowActionId);\n var closeEnquiryRule= this.workflowActionList.filter(x=>x.workflowActionCode==\"CloseEnquiry\"); \n\n if(closeEnquiryRule.length>0 && rule[0].workflowActionId == closeEnquiryRule[0].workflowActionId){\n this.openCloseOppReasonPopup(closeEnquiryRule[0].workflowNextStatusId);\n }else{\n myform2.control.markAllAsTouched();\n if(myform2.invalid)\n {\n this.toastr.error(\"Please fill required information\");\n return;\n } \n this.SetStatus(rule,myform2); \n } \n }\n\n rule:EnquirySendBack;\n SendBack()\n { \n var quotationRule= this.sendbackRules.filter(x=>x.WorkflowId==this.workflowId);\n this.rule=quotationRule[0];\n const modalRef = this.modalService.open(SendBackCommentComponent, {\n size: 'lg', backdrop: 'static', keyboard: false\n });\n var sendBackObj = {\n EnquiryId: this.EnquiryObj.EnquiryDetails.EnquiryId,\n workflowId: this.workflowId,\n finalrule: this.rule\n }\n modalRef.componentInstance.sendBackObj = sendBackObj;\n modalRef.result.then((result) => {\n this.closeResult = `Closed with:${result}`;\n if (this.closeResult !== 'Closed with:Close click') {\n this.ngOnInit();\n }\n });\n\n }\n\n getSendbackWorkfow()\n {\n this.updateLoaderEvent.emit(true);\n this.commonService.GetData(\"EnquiryWorkflowTransitionRules\",\"GetWorkflowSendbackRule\", null).subscribe((data: any) => {\n this.sendbackRules=data;\n this.updateLoaderEvent.emit(false);\n }, error => {\n this.updateLoaderEvent.emit(false);\n });\n }\n\n \n radioChange(value) {\n if(value == true)\n {\n this.EnquiryObj.EnquiryDetails.KindAttention = this.EnquiryObj.EnqCustomerDetails.Name;\n this.EnquiryObj.EnquiryDetails.KindAttContactNo = this.EnquiryObj.EnqCustomerDetails.ContactNo;\n this.EnquiryObj.EnquiryDetails.KindAttEmailId = this.EnquiryObj.EnqCustomerDetails.MailAddress;\n this.EnquiryObj.EnquiryDetails.IsFetchFromKYC = true;\n }else{\n this.EnquiryObj.EnquiryDetails.KindAttention = null;\n this.EnquiryObj.EnquiryDetails.KindAttContactNo = null;\n this.EnquiryObj.EnquiryDetails.KindAttEmailId = null;\n this.EnquiryObj.EnquiryDetails.IsFetchFromKYC = false;\n }\n }\n \n\n}\n\n","\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n RFQ (Request For Quote)\n

    \n
    \n
    \n
    \n   \n
    \n
    \n\n
    \n * Marked fields are\n mandatory\n
    \n
    \n\n
    \n \n \n \n \n Product Line  *\n \n \n Product Model  *\n \n \n Quantity  *\n \n \n MDS Option  *\n \n \n Attachment\n \n \n Sales Price  *\n \n \n Sales Discount  *\n \n\n \n Action\n \n\n \n \n \n MDS\n \n \n ITC\n \n \n Customer\n \n \n \n {{documentOfWhichComapany}}\n \n \n \n \n \n \n \n \n
    \n \n Product Line is\n required\n
    \n \n \n \n \n
    \n \n Product Model is\n required\n
    \n \n \n \n
    \n \n Quantity is\n required\n
    \n \n \n \n
    \n \n MDS Option is\n required\n
    \n \n \n
    \n \n \n
    \n\n
    \n {{(field.MDSAttachment\n != undefined &&\n field.MDSAttachment[0]\n != undefined) ?\n field.MDSAttachment[0].name:\n \"\"}}\n
    \n
    \n \n \n \n
    \n \n \n
    \n\n
    \n {{(field.ITCAttachment\n != undefined &&\n field.ITCAttachment[0]\n != undefined) ?\n field.ITCAttachment[0].name:\"\"}}\n
    \n
    \n \n \n \n
    \n \n \n
    \n\n
    \n {{(field.CustomerAttachment\n != undefined &&\n field.CustomerAttachment[0]\n != undefined) ?\n field.CustomerAttachment[0].name:\"\"}}\n
    \n
    \n \n {{field.Customer_filename}}\n
    \n
    \n\n\n \n \n
    \n \n \n
    \n\n
    \n {{(field.WeissAttachment\n != undefined &&\n field.WeissAttachment[0]\n != undefined) ?\n field.WeissAttachment[0].name:\n \"\"}}\n
    \n
    \n \n {{field.Weiss_filename}}\n
    \n
    \n \n \n \n
    \n \n Sales Price is\n required\n
    \n \n\n \n \n\n
    \n \n Sales Discount is\n required\n
    \n\n \n\n \n \n \n \n \n \n \n\n
    \n
    \n [File Format: txt, pdf,\n doc,\n docx, xls, xlsx, jpg, jpeg, png, bmp, zip,\n csv, xml] [Max 5 MB]
    \n
    \n \n
    \n \n
    \n \n
    \n
    \n Estimated RFQ Value is\n required\n
    \n
    \n
    \n
    \n\n
    \n \n
    \n
    \n \n
    \n \n \n \n
    \n
    \n
    \n Date is\n required\n
    \n
    \n\n
    \n \n
    \n
    \n Upload\n \n
    \n
    \n {{AppGlobals.supportedFileFormatsForOtherMultipleAttachments}}\n\n 0\">\n
      \n \n
    • \n {{item.name}}  \n
    • \n \n
    \n\n \n
    \n
    \n\n
    \n \n
    \n \n Limit {{maxLimit}} characters,\n {{remLimit}} characters\n remaining.\n
    \n
    \n Comment is\n required\n
    \n
    \n
    \n
    \n\n
    \n \n Application\n
    \n
    \n \n
    \n \n
    \n
    \n Industry segment is required
    \n
    \n
    \n\n
    \n\n \n
    \n \n
    \n
    \n Sub segment is required
    \n
    \n
    \n
    \n
    \n \n
    \n \n\n \n \n\n
    \n
    \n\n \n
    \n \n Limit {{maxCharLimit}} characters,\n {{remCharLimit}} characters\n remaining.\n
    \n
    \n
    \n \n\n
    \n \n Limit {{maxappdescLimit}} characters,\n {{remappdescLimit}} characters\n remaining.\n \n
    \n
    \n\n\n\n
    \n \n Kind Attention\n
    \n\n
    \n \n Enter\n Manually\n \n   \n \n From KYC\n \n

    \n
    \n\n\n
    \n \n
    \n \n\n
    \n
    \n Kind attention is\n required\n
    \n
    \n
    \n\n
    \n\n \n
    \n \n\n
    \n
    \n Contact number is\n required\n
    \n
    \n Please enter valid contact number\n
    \n
    \n Contact number should be 10-15\n digits
    \n
    \n
    \n\n
    \n\n\n
    \n \n
    \n \n\n
    \n
    \n Email is\n required\n
    \n
    \n \n Should be in Email Id format ({{mailIdFormat}})\n
    \n
    \n
    \n\n
    \n\n
    \n\n
    \n \n Terms and Condition Details\n
    \n \n
    \n \n
    \n \n
    \n
    \n Terms & conditions is\n required\n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n \n
    \n

    \n
    \n
    \n \n
    \n
    \n\n \n \n\n
    \n
    \n Non standard value is required\n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n\n
    \n \n    \n \n \n
    \n\n
    \n
    \n \n \n \n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { NgForm } from '@angular/forms';\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\nimport { ToastrService } from 'ngx-toastr';\nimport { EnquirySendBack } from 'src/app/Model/EnquirySendBack';\nimport { CommonService } from 'src/app/Service/common.service';\n\n@Component({\n selector: 'app-send-back-comment',\n templateUrl: './send-back-comment.component.html',\n styleUrls: ['./send-back-comment.component.scss']\n})\nexport class SendBackCommentComponent implements OnInit {\n remLimit: any = 1500;\n maxLimit: any = 1500;\n varLongTermGoal: any;\n sendbackRules: EnquirySendBack[] = [];\n showLoader: boolean = false;\n Comment: any;\n @Input() sendBackObj;\n @Output() updateLoaderEvent = new EventEmitter();\n sendbackComment: any;\n constructor(\n private activeModal: NgbActiveModal,\n private commonService: CommonService,\n private toastr: ToastrService) { }\n\n ngOnInit(): void {\n }\n\n closePopup() {\n this.activeModal.close('Close Click');\n }\n limitTextOnKeyUpDown1(event: any) {\n let goalText = event.target.value;\n if (goalText.length > this.maxLimit) {\n this.varLongTermGoal = goalText.substring(0, this.maxLimit);\n } else {\n this.remLimit = this.maxLimit - goalText.length;\n }\n }\n\n rule: EnquirySendBack;\n SendBackSubmit(sendBackCommentForm: NgForm) {\n sendBackCommentForm.control.markAllAsTouched();\n if (sendBackCommentForm.invalid) {\n return;\n }\n this.rule = this.sendBackObj.finalrule;\n this.rule.EnquiryId = this.sendBackObj.EnquiryId;\n this.rule.Comment = this.sendbackComment;\n this.showLoader = true;\n let rules = JSON.stringify(this.rule);\n const frmData = new FormData();\n frmData.append(\"rule\", rules);\n this.commonService.PostData(\"EnquiryWorkflowTransitionRules\", \"SetStatus\", frmData, \"\", null).subscribe(data => {\n this.showLoader = false;\n this.toastr.success(\"Enquiry sent one step back\");\n window.location.reload();\n }, error => {\n this.toastr.error(\"Failed to Enquiry sent one step back\");\n this.showLoader = false;\n });\n\n }\n\n}\n","\n\n
    \n
    \n\n
    \n\n
    \n
    \n
    \n
    \n

    \n Send Back Comment\n

    \n
    \n
    \n
    \n
    \n
    \n
    \n\n \n
    \n \n Limit {{maxLimit}} characters,\n {{remLimit}} characters\n remaining.\n
    \n
    \n Comment is required\n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n\n \n
    \n
    ","\nimport { Component, OnInit, ViewChild, Input, ɵclearResolutionOfComponentResourcesQueue, ElementRef, EventEmitter, Output, ChangeDetectorRef } from '@angular/core';\nimport { EmployeeGuestModel } from 'src/app/Model/EmployeeGuestModel';\nimport { ActivatedRoute, NavigationEnd, Router, RoutesRecognized } from '@angular/router';\nimport { ToastrService } from 'ngx-toastr';\nimport { CommonService } from 'src/app/Service/common.service';\nimport { MatDialog } from '@angular/material/dialog';\nimport * as FileSaver from 'file-saver';\nimport { BasicCustomerInformationModel } from 'src/app/Model/CustomerModel';\nimport { EnquiryModel, CustomerDrpdnDetails, CustomerDetails, ProductDrpdnDetails, EnquiryDetailsModel, ProductDetails, Comments, removefiles, TermsAndCondition, ActivityModel, ProductModelPOValues, CustomTermsAndCondition, DynamicTermsAndCondition } from 'src/app/Model/EnquiryModel';\nimport { ConfirmDialogComponent } from 'src/app/confirm-dialog/confirm-dialog.component';\nimport { NgbDate, NgbModal, NgbActiveModal, NgbDatepickerConfig, NgbDateStruct } from '@ng-bootstrap/ng-bootstrap';\nimport { AppGlobals } from 'src/app/app.global';\nimport { UserRoles } from \"src/app/UserRoles\";\nimport { SingleFieldModel } from 'src/app/Model/SingleFieldModel';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { EnquiryModalComponent } from '../enquiry-modal/enquiry-modal.component';\nimport { MatStepper } from '@angular/material/stepper';\nimport { FormControl, NgForm, Validators } from '@angular/forms';\nimport { HttpHeaders, HttpClient, HttpErrorResponse } from '@angular/common/http';\nimport { QuotationDetailsModel, QuotationCustomerDetails } from 'src/app/Model/QuotationModel';\nimport { Title } from '@angular/platform-browser';\nimport { Location } from '@angular/common';\nimport {\n saveAs as importedSaveAs\n} from \"file-saver\";\nimport { ClassGetter } from '@angular/compiler/src/output/output_ast';\nimport { TechnicalDiscardComponent } from '../technical-discard/technical-discard.component';\nimport { CloseOppReasonComponent } from '../close-opp-reason/close-opp-reason.component';\nimport { EnquiryStatus, EnquiryStatusCode } from \"src/app/EnquiryStatus\";\nimport { EnquiryStatusList } from 'src/app/Model/EnquiryStatus';\nimport { EngagementReportServiceService } from 'src/app/Service/engagement-report-service.service';\nimport { EnquirySendBack } from 'src/app/Model/EnquirySendBack';\nimport { SendBackCommentComponent } from '../send-back-comment/send-back-comment.component';\nimport { forkJoin, pipe } from 'rxjs';\nimport { tap } from 'rxjs/operators';\nimport { AppConfigService } from 'src/app/Service/app-config.service';\ndeclare var require: any\n\n\n@Component({\n selector: 'app-so-generation',\n templateUrl: './so-generation.component.html',\n styleUrls: ['./so-generation.component.scss']\n})\nexport class SoGenerationComponent implements OnInit {\n\n @ViewChild('myform3') myform3: NgForm;\n @ViewChild('myform5') myform5: NgForm;\n @ViewChild('myInput') myInputVariable: ElementRef;\n @ViewChild('editpovalue', { static: false }) editpovalue: ElementRef;\n standardTC: any[] = [];\n customTCValues: any[] = [];\n CustomerAddressList: any;\n\n userInfo: EmployeeGuestModel = new EmployeeGuestModel();\n CustomerList: BasicCustomerInformationModel[] = [];\n EnquiryObj: EnquiryDetailsModel = new EnquiryDetailsModel();\n newRFQDetails: any = {};\n productListdropdownData = [];\n customerDrpdnDetails: CustomerDrpdnDetails = new CustomerDrpdnDetails();\n productDrpdnDetails: ProductDrpdnDetails = new ProductDrpdnDetails();\n customerData: CustomerDetails;\n activityDetails: ActivityModel[] = Array();\n CustomerDetailsObj: QuotationCustomerDetails = new QuotationCustomerDetails();\n QuotationData: QuotationDetailsModel = new QuotationDetailsModel();\n allowedFileType: string[] = [\n 'image/bmp',\n 'image/jpeg',\n 'image/png',\n 'application/pdf',\n 'text/plain',\n 'text/csv',\n 'application/xml',\n 'text/xml',\n 'application/vnd.ms-excel',\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\n 'application/msword',\n 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',\n 'application/zip',\n 'application/x-zip-compressed',\n ];\n\n showEditRFQForInitiator: boolean;\n UserRole: any;\n isTechnicalDiscardVisible: boolean = false;\n isEnquiryFormVisible: boolean = false;\n isRFQVisible: boolean = false;\n isQuoteGenerationVisible: boolean = false;\n isManagementApprovalVisible: boolean = false;\n isSOVisible: boolean = false;\n isOrderAcknowledgementVisible: boolean = false;\n EnquiryConfirmationVisible: boolean = false;\n isSupplychainVisible: boolean = false;\n isAccountsVisible: boolean = false;\n iseditable: boolean = false;\n isOAGenerationVisible: boolean = false;\n isBOMAttachment: boolean;\n isInvoiceAttachment: boolean;\n isPOAttachment: boolean;\n IsRFQDataValid: boolean = true;\n selectedIndexForStatus: any = 1;\n remLimit: any = 1500;\n maxLimit: any = 1500;\n varLongTermGoal: any;\n DiscountFromrange: any;\n Discounttorange: any;\n calculatedTotalPrice: any;\n IsIncludedAllSOChargesResult: boolean = false;\n totalCalculatedPriceAfterIncludingAllCharges: number = 0;\n totalsum: number = 0;\n totalCalculatedPriceOfAllProductModel: number = 0;\n tempTotalCalculatedPriceOfAllProductModel : number = 0;\n\n @Input()\n showLoader: boolean = false;\n charCode: number;\n enquiryStatus = EnquiryStatus;\n AppRoles = UserRoles;\n enquirySource: SingleFieldModel[] = [];\n TnCStandardFromDropDown: any[] = [];\n TnCCustomizedFromDropDown: any[] = [];\n TnCCustomizedDropDownForEditRfq1: any[] = [];\n TnCCustomizedDropDownForEditRfq2: any[] = [];\n TndCFromDropDown: any[] = [];\n newCustomTc: any;\n product: any = {};\n isEnquirySubmit: boolean = false;\n charCode1: any;\n pageNumber: number = 1;\n specialPkgDiscount: number;\n poPrice: number = 0;\n @Input() pageSize: number = 5;\n @Input() length: number;\n @Input() pageIndex: number = this.pageNumber - 1;\n dataSource: MatTableDataSource;\n enquiryStatusCode = EnquiryStatusCode;\n\n @ViewChild('stepper') stepper: MatStepper;\n AppGlobals = AppGlobals;\n fileDownloadPath = this.AppGlobals.baseFileDownloadUrl;\n QuotationDownloadPath = this.AppGlobals.QuotationFileDownloadUrl;\n isEnquiryLoaded: boolean;\n role: string;\n isStandardCondition: boolean;\n closeResult: string;\n isCEOApprovalVisible: boolean;\n demoObject: any;\n demoDynamicObject: any;\n demoCTCObject: any;\n WinLossDropdownData: any[] = [];\n WinLossDropdownDataForStatus: any;\n isPoValueDisable: boolean;\n isCustomerCommentVisible: any;\n isOAGenerated: boolean;\n isAcceptClick: boolean;\n dataPassed: any;\n dropdownData: any;\n showQuotationLink: boolean;\n userid: string;\n isprocessing: boolean = true;\n rfqattpresent: boolean;\n QuotationDataForPO: any[] = [];\n chosenItem: string = \"1\";\n quoterevcomments: any;\n QGRFQEditable: boolean = false;\n IsActivityDataValid: boolean;\n today: Date;\n fc = new FormControl();\n minDate: NgbDate;\n showEditRFQ: boolean;\n isTantativeDateEditable: boolean;\n tempRFQ: ProductDetails[];\n IsPODataValid: boolean;\n isEditactivity: boolean = true;\n PreviousStatus: number = 0;\n tempfile: any;\n ngbDateParserFormatter: any;\n UpdatePO: boolean = false;\n isPOAttacmentDelete: boolean = false;\n RevisedQuotationFileNameList: string[] = [];\n emailPattern: string = \"^[a-zA-Z0-9_\\\\.-]+@([a-zA-Z0-9-]+\\\\.)+[a-zA-Z]{2,6}$\";\n StartDate: NgbDate;\n EndDate: NgbDate;\n RoleWiseScreenDisplay: any;\n previousUrl: string = null;\n IndustrySegment: any[] = [];\n SubSegment: any[] = [];\n Application: any[] = [];\n\n FinalIndustrySegment: any[] = [];\n FinalSubSegment: any[] = [];\n FinalApplication: any[] = [];\n workflowActionList: any[] = [];\n enquiryStatusList: EnquiryStatusList[] = [];\n workflowId: number;\n roleOfAdmin : any;\n\n @Output() updateLoaderEvent = new EventEmitter();\n UserRolesData:any[]=[];\n WinLossDataForStatus: any;\n isSOEditable: boolean=false;\n QuotationPdfGenerationHostPath:any;\n\n constructor(private toastr: ToastrService, private commonService: CommonService, public dialog: MatDialog,\n private _location: Location,\n private config: NgbDatepickerConfig,\n private modalService: NgbModal, private activeModel: NgbActiveModal,\n private workflowService: EngagementReportServiceService,\n private router: Router, private route: ActivatedRoute, private titleService: Title, private cd: ChangeDetectorRef,\n private appConfigService: AppConfigService) {\n this.today = new Date();\n this.minDate = new NgbDate(this.today.getFullYear(), this.today.getMonth() + 1, this.today.getDate());\n this.StartDate = new NgbDate(2018, 1, 1);\n this.EndDate = new NgbDate(this.today.getFullYear() + 1, 12, 31);\n\n\n }\n ngAfterViewInit() {\n this.updateLoaderEvent.emit(true);\n setTimeout(() => {\n this.isprocessing = false;\n this.chosenItem = \"1\";\n this.updateLoaderEvent.emit(false);\n }, 2000);\n \n }\n ngOnInit() {\n this.commonService.previousUrl$.subscribe((previousUrl: string) => {\n this.previousUrl = previousUrl;\n });\n\n let tempRoleWiseScreenDisplay = localStorage.getItem(\"WorkFlowRoleWiseScreenAccess\");\n this.RoleWiseScreenDisplay = tempRoleWiseScreenDisplay.split(\",\");\n const appConfig = this.appConfigService.getConfig();\n this.QuotationPdfGenerationHostPath=appConfig.QuotationPdfGenerationHostPath;\n const dynamicTitle = this.route.snapshot.data['title'];\n this.titleService.setTitle(`${dynamicTitle} - ${appConfig.titleName}`);\n //this.titleService.setTitle(this.route.snapshot.data['title'] + \" - ECOTECH\");\n this.commonService.RefreshHeaderFun();\n this.EnquiryObj.EnquiryDetails.EnquiryId = this.route.snapshot.params[\"id\"];\n this.EnquiryObj.EnquiryDetails.EstimatedProductValue = null;\n this.EnquiryObj.EnquiryDetails.InvoiceAttachment = undefined;\n this.getRFQProduct();\n this.getEnquirySourceDetails();\n this.getCustomerList();\n //this.getEnquiryDetailsById();\n this.isEnquiryLoaded = false;\n this.getEnquiryStatus(); \n this.getUserRoles();\n this.getSendbackWorkfow();\n this.UserRole = localStorage.getItem(\"UserRole\");\n this.isTechnicalDiscardVisible = AppGlobals.QuoteGenearation_Enquiry_TechnicalDiscardArray.filter(x => x.role\n == this.UserRole)[0]?.isEditable;\n\n this.roleOfAdmin = UserRoles.Admin;\n // this.getAllWorkFlow()\n // .subscribe(x=>{\n // this.getWorkflowActions(this.workflowId);\n // this.getEnquiryDetailsById(); \n // });\n forkJoin([\n this.getAllWorkFlow()\n ]).pipe(tap(res => { \n this.getEnquiryDetailsById(); \n })).subscribe(x=>{\n // this.getEnquiryDetailsById(); \n });\n }\n limitTextOnKeyUpDown1(event: any) {\n let goalText = event.target.value;\n if (goalText.length > this.maxLimit) {\n this.varLongTermGoal = goalText.substring(0, this.maxLimit);\n } else {\n this.remLimit = this.maxLimit - goalText.length;\n }\n }\n\n\n toggleAttchments(i) {\n\n this.EnquiryObj.Comments[i].showAttachments = !this.EnquiryObj.Comments[i].showAttachments;\n }\n deletePOAttachment(flag: any) {\n // this.EnquiryObj.EnquiryDetails.POAttchments = [];\n // this.isPOAttachment = false;\n if (flag == 1) {\n this.EnquiryObj.RemoveFiles.push(this.EnquiryObj.EnquiryDetails.PO_filepath);\n this.isPOAttacmentDelete = true;\n }\n this.isBOMAttachment = false;\n this.EnquiryObj.EnquiryDetails.POAttchments = [];\n this.EnquiryObj.EnquiryDetails.PO_filename = null;\n this.EnquiryObj.EnquiryDetails.PO_filepath = null;\n this.isPOAttachment = false;\n }\n checkActivityValidations() {\n this.IsActivityDataValid = true;\n this.activityDetails.forEach(element => {\n if (element.Activity == undefined || element.Activity == null || element.Activity == \"\") {\n element.ActivityValidation = true;\n this.IsActivityDataValid = false;\n }\n if (element.ActivityDate == undefined || element.ActivityDate == null || element.ActivityDate == \"\") {\n element.ActivityDateValidation = true;\n this.IsActivityDataValid = false;\n }\n });\n }\n editActivity() {\n this.isEditactivity = true;\n }\n cancelEditActivity() {\n this.isEditactivity = false;\n }\n SaveActivityDetails() {\n this.checkActivityValidations();\n if (!this.IsActivityDataValid) {\n return;\n }\n this.updateLoaderEvent.emit(true);\n this.activityDetails.forEach(element => {\n if (element.ActivityDate != undefined) {\n element.ActivityDateISO = new Date(this.convertDate(new NgbDate(element.ActivityDate.year, element.ActivityDate.month, element.ActivityDate.day))).toDateString();\n }\n if (element.ActivityDate != undefined) {\n element.ActivityDate = new Date(this.convertDate(new NgbDate(element.ActivityDate.year, element.ActivityDate.month, element.ActivityDate.day)));\n }\n element.EnquiryId = this.EnquiryObj.EnquiryDetails.EnquiryId;\n });\n\n let activityDetails = JSON.stringify(this.activityDetails);\n const frmData = new FormData();\n frmData.append(\"ActivityObj\", activityDetails);\n var i = 0;\n this.activityDetails.forEach(element => {\n if (element.Attachment != undefined) {\n frmData.append(\"Attachment[\" + i + \"]\", this.activityDetails[i].Attachment[0]);\n }\n i++;\n });\n\n this.commonService.PostData(\"Enquiry\", \"AddActivity\", frmData, null).subscribe((data: any) => {\n this.activityDetails.forEach(element => {\n element.ActivityDate = new NgbDate(new Date(element.ActivityDate).getFullYear(), new Date(element.ActivityDate).getMonth() + 1, new Date(element.ActivityDate).getDate());\n });\n //this.isEditactivity = false;\n this.toastr.success(\"Activity details added successfully!\");\n this.updateLoaderEvent.emit(false);\n }, error => {\n this.toastr.error(\"Failed to add activity details!\");\n this.updateLoaderEvent.emit(false);\n });\n\n }\n\n getQuotationData() {\n this.updateLoaderEvent.emit(true);\n let queryString = \"\";\n queryString = \"id=\" + this.EnquiryObj.EnquiryDetails.EnquiryId;\n this.commonService.GetData('Enquiry', 'GetQuotationByEnquiryId', queryString).subscribe((data: any) => {\n this.QuotationDataForPO = data.QuotationObj;\n this.QuotationDataForPO.forEach(element => {\n var obj = new ProductModelPOValues();\n obj.ProductId = element.ProductId;\n obj.ProductModelName = element.ProductModelName;\n if (element.Variant1Name != undefined) obj.ProductModelName = obj.ProductModelName + ' (' + element.Variant1Name;\n if (element.Variant2Name != undefined) obj.ProductModelName = obj.ProductModelName + ', ' + element.Variant2Name;\n if (element.Variant3Name != undefined) obj.ProductModelName = obj.ProductModelName + ', ' + element.Variant3Name;\n if (element.Variant4Name != undefined) obj.ProductModelName = obj.ProductModelName + ', ' + element.Variant4Name;\n obj.ProductModelName = obj.ProductModelName + ')'\n obj.QUotationValue = element.FinalAmount;\n obj.ProductModelPOValue = \"\";\n this.EnquiryObj.POValues.push(obj);\n });\n });\n }\n\n getEnquiryDetailsById() {\n this.updateLoaderEvent.emit(true);\n let queryString = \"\";\n queryString = \"id=\" + this.EnquiryObj.EnquiryDetails.EnquiryId;\n let tracker=this.commonService.GetData('Enquiry', 'GetById', queryString);\n tracker.subscribe((data: any) => {\n this.EnquiryObj.EnquiryDetails = data.EnquiryDetails;\n if (this.EnquiryObj.EnquiryDetails.QuotationRevisionNo != null && this.EnquiryObj.EnquiryDetails.QuotationRevisionNo > 0) {\n this.getRevisedQuotationFileNamelist(this.EnquiryObj.EnquiryDetails.QuotationNumber, this.EnquiryObj.EnquiryDetails.QuotationRevisionNo);\n }\n\n this.EnquiryObj.EnquiryDetails.EnquiryDate = new NgbDate(new Date(this.EnquiryObj.EnquiryDetails.EnquiryDate).getFullYear(), new Date(this.EnquiryObj.EnquiryDetails.EnquiryDate).getMonth() + 1, new Date(this.EnquiryObj.EnquiryDetails.EnquiryDate).getDate());\n if (this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate != null) {\n this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate = new NgbDate(new Date(this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate).getFullYear(), new Date(this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate).getMonth() + 1, new Date(this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate).getDate());\n }\n if (this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate != null) {\n this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate = new NgbDate(new Date(this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate).getFullYear(), new Date(this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate).getMonth() + 1, new Date(this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate).getDate());\n }\n this.EnquiryObj.EnqCustomerDetails = data.CustomerDetails;\n this.EnquiryObj.RFQObject = data.RFQObject;\n this.EnquiryObj.CustomerServiceComments_Quotation = data.CustomerServiceComments_Quotation;\n this.EnquiryObj.CustomerServiceComments_Order = data.CustomerServiceComments_Order;\n this.EnquiryObj.SalesDirectorComments_Quotation = data.SalesDirectorComments_Quotation;\n\n this.EnquiryObj.SalesDirectorComments_Order = data.SalesDirectorComments_Order;\n this.EnquiryObj.Comments = data.Comments == undefined ? [] : data.Comments;\n this.EnquiryObj.POValues = data.POValues;\n\n this.EnquiryObj.CustomerServiceDetails = data.CustomerServiceDetails;\n this.WinLossDropdownData = data.ReasonEnquiryWinLossObj;\n this.WinLossDropdownDataForStatus = this.WinLossDropdownData.filter(x => x.Value == this.EnquiryObj.EnquiryDetails.EnquiryConfirmStatus);\n this.EnquiryObj.DynamicTCDetailObj = data.DynamicTCDetailObj;\n\n if (data.EnquiryDetails.RFQTermsAndCondition == \"Standard\" || data.EnquiryDetails.RFQTermsAndCondition == \"\") {\n\n if (data.TermsAndConditions.length == 0) {\n this.EnquiryObj.EnquiryDetails.RFQTermsAndCondition = \"Standard\";\n this.EnquiryObj.TermsAndConditions = this.TnCStandardFromDropDown;\n } else {\n this.EnquiryObj.TermsAndConditions = data.TermsAndConditions;\n\n }\n this.isStandardCondition = true;\n } else if (data.EnquiryDetails.RFQTermsAndCondition == \"Customized\") {\n\n if (data.CustomTermsAndConditions.length == 0) {\n this.EnquiryObj.EnquiryDetails.RFQTermsAndCondition = \"Customized\";\n this.EnquiryObj.CustomTermsAndConditions = this.TnCCustomizedFromDropDown;\n this.TnCCustomizedDropDownForEditRfq1 = this.TnCCustomizedFromDropDown;\n } else {\n this.EnquiryObj.CustomTermsAndConditions = data.CustomTermsAndConditions;\n this.TnCCustomizedDropDownForEditRfq2 = data.CustomTermsAndConditions;\n }\n\n this.isStandardCondition = false;\n }\n\n this.activityDetails = data.ActivityDetails;\n this.activityDetails.forEach(element => {\n element.ActivityDate = new NgbDate(new Date(element.ActivityDate).getFullYear(), new Date(element.ActivityDate).getMonth() + 1, new Date(element.ActivityDate).getDate());\n\n //element.ActivityDateISO = new NgbDate(new Date(element.ActivityDate).getFullYear(), new Date(element.ActivityDate).getMonth() + 1, new Date(element.ActivityDate).getDate());\n });\n\n //TO POPULATE A SINGLE ROW ON PAGE INIT\n if (this.EnquiryObj.RFQObject.length == 0) {\n var obj = new ProductDetails();\n this.EnquiryObj.RFQObject.push(obj);\n }\n\n if (this.EnquiryObj.DynamicTCDetailObj.length == 0) {\n var object = new DynamicTermsAndCondition();\n this.EnquiryObj.DynamicTCDetailObj.push(object);\n }\n //TO POPULATE A SINGLE ROW ON PAGE INIT\n if (this.activityDetails.length == 0) {\n var obj1 = new ActivityModel();\n obj1.ActivityDate = new NgbDate(new Date().getFullYear(), new Date().getMonth() + 1, new Date().getDate());\n obj1.uniqueid = this.makeRandom();\n this.activityDetails.push(obj1);\n }\n\n this.role = localStorage.getItem('UserRole');\n // this.ScreenAccessSpecifier(localStorage.getItem('UserRole'), this.EnquiryObj.EnquiryDetails.Status);\n //SET DISABLE PROPERTIES\n if(this.workflowActionList.length>0 )\n {\n this.isSOEditable=true;\n }\n else{\n this.isSOEditable=false;\n }\n\n if (this.EnquiryObj.EnquiryDetails.segment != undefined) {\n this.SubSegment = this.FinalSubSegment.filter(x => x.SegmentId == this.EnquiryObj.EnquiryDetails.segment);\n this.Application = this.FinalApplication.filter(x => x.SubSegmentId == this.EnquiryObj.EnquiryDetails.subSegment);\n }\n if (this.EnquiryObj.EnquiryDetails.segment == null || this.EnquiryObj.EnquiryDetails.subSegment == null || this.EnquiryObj.EnquiryDetails.application == null) {\n this.EnquiryObj.EnquiryDetails.segment = undefined;\n this.EnquiryObj.EnquiryDetails.subSegment = undefined;\n this.EnquiryObj.EnquiryDetails.application = undefined;\n }\n\n this.EnquiryObj.EnquiryDetails.IsFetchFromKYC = data.EnquiryDetails.IsFetchFromKYC;\n this.getCustomerAddresses(this.EnquiryObj.EnqCustomerDetails.CustomerId);\n\n this.totalCalculatedPriceOfAllProductModel = parseFloat(this.EnquiryObj.EnquiryDetails.POValue);\n\n }, error => {\n this.updateLoaderEvent.emit(false);\n });\n\n return tracker;\n }\n\n getRevisedQuotationFileNamelist(QuotationNumber: string, QuotationRevision: number) {\n let QTNNumber = QuotationNumber.replace(\"QTN/\", \"\");\n QTNNumber = QTNNumber.split(\"/\").join(\"_\");\n let filename = \"Quotation_\" + QTNNumber;\n let pdffilename = filename.split('_R')[0];\n for (let i = 0; i < QuotationRevision; i++) {\n if (i == 0) {\n this.RevisedQuotationFileNameList.push(pdffilename + \".pdf\")\n }\n else {\n this.RevisedQuotationFileNameList.push(pdffilename + \"_R\" + i + \".pdf\")\n }\n }\n\n }\n // replaceAll(str, term, replacement) {\n // return str.replace(new RegExp(escapeRegExp(term), 'g'), replacement);\n // }\n makeRandom() {\n let text = \"\";\n var possible: string = \"ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890,./;'[]\\=-)(*&^%$#@!~\";\n const lengthOfCode = 40;\n for (let i = 0; i < lengthOfCode; i++) {\n text += possible.charAt(Math.floor(Math.random() * possible.length));\n }\n return text;\n }\n\n getRFQProduct() {\n this.updateLoaderEvent.emit(true);\n this.commonService.GetData(\"Enquiry\", \"GetEnquiryRFQDropdownData\", null).subscribe((data: any) => {\n this.product = data;\n this.productDrpdnDetails.MDSOptions = data.MDS;\n this.productDrpdnDetails.SalesPrice = data.Salesprice;\n this.productDrpdnDetails.EstimatedProductValue = data.EstimatedProductValue;\n this.IndustrySegment = data.segment;\n this.SubSegment = [];\n this.Application = [];\n this.FinalIndustrySegment = data.segment;\n this.FinalSubSegment = data.subSegment;\n this.FinalApplication = data.application;\n data.TermsAndConditions.forEach(element => {\n var obj = new TermsAndCondition();\n obj.TnCId = element.Id;\n obj.TnCName = element.Name;\n obj.TnCValue = element.Value;\n this.TnCStandardFromDropDown.push(obj);\n });\n\n this.demoObject = data.TermsAndConditions;\n\n this.demoCTCObject = data.CustomTermsAndCondition;\n\n for (let i = 0; i < data.CustomTermsAndCondition.length; i++) {\n var obj1 = new CustomTermsAndCondition();\n obj1.StandardTC = data.CustomTermsAndCondition[i].StandardTC.Id;\n obj1.StandardTCName = data.CustomTermsAndCondition[i].StandardTC.Name;\n // this.standardTC.push(data.CustomTermsAndCondition[i].StandardTC);\n\n for (let j = 0; j < data.CustomTermsAndCondition[i].CustomValues.length; j++) {\n obj1.CustomValues.push(data.CustomTermsAndCondition[i].CustomValues[j]);\n }\n this.TnCCustomizedFromDropDown.push(obj1);\n }\n\n this.demoCTCObject = data.CustomTermsAndCondition;\n\n //this.updateLoaderEvent.emit(false);\n });\n }\n\n custtermscond: any = [];\n OnCustomValueChange(index, id) {\n let CustTcObj: CustomTermsAndCondition = new CustomTermsAndCondition();\n CustTcObj.StandardTC = this.EnquiryObj.CustomTermsAndConditions[index].StandardTC;\n CustTcObj.StandardTCName = this.EnquiryObj.CustomTermsAndConditions[index].StandardTCName;\n CustTcObj.CustValue = this.EnquiryObj.CustomTermsAndConditions[index].CustomValues.find(x => x.Id == id).Name;\n CustTcObj.CustTCId = id;\n\n this.custtermscond.push(CustTcObj)\n // console.log(this.custtermscond);\n }\n\n\n OnCustomValueChange1(index, id) {\n let CustTcObj1: CustomTermsAndCondition = new CustomTermsAndCondition();\n CustTcObj1.StandardTC = this.EnquiryObj.CustomTermsAndConditions[index].StandardTC;\n CustTcObj1.StandardTCName = this.EnquiryObj.CustomTermsAndConditions[index].StandardTCName;\n CustTcObj1.CustValue = this.EnquiryObj.CustomTermsAndConditions[index].CustomValues.find(x => x.Id == id).Name;\n CustTcObj1.CustTCId = id;\n\n let newCustomiseArr = this.EnquiryObj.CustomTermsAndConditions\n this.newCustomTc = newCustomiseArr.map((item, index) => {\n\n return {\n ...item,\n CustTCId: item.StandardTC == CustTcObj1.StandardTC ? Number(CustTcObj1.CustTCId) : Number(item.CustTCId),\n CustValue: item.StandardTC == CustTcObj1.StandardTC ? CustTcObj1.CustValue : item.CustValue\n }\n\n });\n this.EnquiryObj.CustomTermsAndConditions = this.newCustomTc;\n }\n\n\n getProductModel(Id, ind) {\n this.EnquiryObj.RFQObject[ind].ProductLineValidation = false;\n this.product.Product.forEach((element, index) => {\n if (element.ProductLine.Id == Id) {\n this.productDrpdnDetails.ProductModel = element.ProductModels;\n this.newRFQDetails.ProductModelList = element.ProductModels;\n this.EnquiryObj.RFQObject[ind].isProductLineChangeClick = true;\n this.EnquiryObj.RFQObject[ind].ProductModelList = this.productDrpdnDetails.ProductModel;\n }\n });\n }\n OnProductModelChange(index) {\n this.EnquiryObj.RFQObject[index].ProductModelValidation = false;\n }\n OnQuantityChange(index) {\n if (this.EnquiryObj.RFQObject[index].Quantity < 1) {\n //alert('Quantity cannot be 0 or negative.');\n this.toastr.info('Quantity cannot be 0 or negative.');\n this.EnquiryObj.RFQObject[index].Quantity = null;\n return;\n } else if (this.EnquiryObj.RFQObject[index].Quantity % 1 != 0) {\n // alert('Please enter the valid Quantity');\n this.toastr.info('Please enter the valid Quantity');\n\n this.EnquiryObj.RFQObject[index].Quantity = null;\n return;\n }\n this.EnquiryObj.RFQObject[index].QuantityValidation = false;\n }\n\n\n deleteAttachDocument(index, attachemntType) {\n switch (attachemntType) {\n case \"MDS\":\n this.EnquiryObj.RFQObject[index].MDSAttachment = [];\n this.EnquiryObj.RFQObject[index].isMDSAttachment = false;\n break;\n case \"ITC\":\n this.EnquiryObj.RFQObject[index].ITCAttachment = [];\n this.EnquiryObj.RFQObject[index].isITCAttachment = false;\n break;\n case \"Customer\":\n this.EnquiryObj.RFQObject[index].CustomerAttachment = [];\n this.EnquiryObj.RFQObject[index].isCustomerAttachment = false;\n break;\n case \"Weiss\":\n this.EnquiryObj.RFQObject[index].WeissAttachment = [];\n this.EnquiryObj.RFQObject[index].isWeissAttachment = false;\n break;\n }\n\n }\n\n deleteActivityAttachments(index) {\n this.activityDetails[index].Attachment = [];\n this.activityDetails[index].isActivityAttachment = false;\n }\n\n deleteActivityAttachmentsFromDB(index) {\n this.activityDetails[index].fileName = null;\n this.activityDetails[index].filePath = null;\n this.EnquiryObj.RemoveFiles.push(this.activityDetails[index].filePath);\n }\n\n\n deleteAttachDocumentFromDB(index, attachemntType) {\n switch (attachemntType) {\n case \"MDS\":\n var fileObj = new removefiles();\n fileObj.ProductId = this.EnquiryObj.RFQObject[index].ProductId;\n fileObj.filetype = \"MDS\";\n this.EnquiryObj.RemoveFiles.push(this.EnquiryObj.RFQObject[index].MDS_filepath);\n this.EnquiryObj.RFQObject[index].MDS_filename = null;\n this.EnquiryObj.RFQObject[index].MDS_filepath = null;\n break;\n case \"ITC\":\n var fileObj = new removefiles();\n fileObj.ProductId = this.EnquiryObj.RFQObject[index].ProductId;\n fileObj.filetype = \"ITC\";\n this.EnquiryObj.RemoveFiles.push(this.EnquiryObj.RFQObject[index].ITC_filepath);\n this.EnquiryObj.RFQObject[index].deleted_ITC_filename = this.EnquiryObj.RFQObject[index].ITC_filename;\n this.EnquiryObj.RFQObject[index].deleted_ITC_filepath = this.EnquiryObj.RFQObject[index].ITC_filepath;\n this.EnquiryObj.RFQObject[index].ITC_filename = null;\n this.EnquiryObj.RFQObject[index].ITC_filepath = null;\n\n break;\n case \"Customer\":\n var fileObj = new removefiles();\n fileObj.ProductId = this.EnquiryObj.RFQObject[index].ProductId;\n fileObj.filetype = \"Customer\";\n this.EnquiryObj.RemoveFiles.push(this.EnquiryObj.RFQObject[index].Customer_filepath);\n this.EnquiryObj.RFQObject[index].Customer_filename = null;\n this.EnquiryObj.RFQObject[index].Customer_filepath = null;\n break;\n case \"Weiss\":\n var fileObj = new removefiles();\n fileObj.ProductId = this.EnquiryObj.RFQObject[index].ProductId;\n fileObj.filetype = \"Weiss\";\n this.EnquiryObj.RemoveFiles.push(this.EnquiryObj.RFQObject[index].Weiss_filepath);\n this.EnquiryObj.RFQObject[index].Weiss_filename = null;\n this.EnquiryObj.RFQObject[index].Weiss_filepath = null;\n break;\n }\n\n }\n\n deleteActivityDetails(index) {\n if (index != null) {\n this.activityDetails.splice(index, 1);\n }\n }\n addActivityDetails(index) {\n if (!(this.activityDetails[index].Activity == undefined || this.activityDetails[index].Activity == null || this.activityDetails[index].Activity == \"\")\n &&\n !(this.activityDetails[index].ActivityDate == undefined || this.activityDetails[index].ActivityDate == null || this.activityDetails[index].ActivityDate == \"\")) {\n var obj = new ActivityModel();\n obj.ActivityDate = new NgbDate(new Date().getFullYear(), new Date().getMonth() + 1, new Date().getDate());\n obj.uniqueid = this.makeRandom();\n obj.ISNewActivityAdded = true;\n this.activityDetails.push(obj);\n }\n }\n\n getCustomerList() {\n this.updateLoaderEvent.emit(true);\n this.commonService.GetData(\"Customer\", \"GetAll\", null).subscribe((data: any) => {\n this.CustomerList = data;\n\n this.updateLoaderEvent.emit(false);\n });\n }\n\n getEnquirySourceDetails() {\n this.updateLoaderEvent.emit(true);\n this.commonService.GetData(\"Enquiry\", \"GetEnquiryDropdownData\", null).subscribe((data: any) => {\n this.enquirySource = data.EnquirySource;\n this.updateLoaderEvent.emit(false);\n });\n }\n\n getProductDetails() {\n this.updateLoaderEvent.emit(true);\n this.commonService.GetData(\"Product\", \"GetRFQProductDetails\", null).subscribe((data: any) => {\n this.CustomerList = data;\n //this.updateLoaderEvent.emit(false);\n });\n }\n\n\n AvoidSpace(event: any) {\n if ((event.which === 46 || event.which === 32) && !event.target.value.length) {\n event.preventDefault();\n }\n }\n\n isNumberKey(evt: any) {\n this.charCode = (evt.which) ? evt.which : evt.keyCode;\n if ((this.charCode == 45 || this.charCode == 43) && this.charCode > 31\n && (this.charCode < 48 || this.charCode > 57)) {\n return false;\n }\n else {\n return true;\n }\n }\n\n isintNumberKey(evt: any) {\n this.charCode = (evt.which) ? evt.which : evt.keyCode;\n if ((this.charCode == 46 || this.charCode == 45 || this.charCode == 43) && this.charCode > 31\n && (this.charCode < 48 || this.charCode > 57)) {\n return false;\n }\n else {\n return true;\n }\n }\n\n openCSComments() {\n this.isCustomerCommentVisible = !this.isCustomerCommentVisible;\n }\n\n backtoList() {\n // this._location.back();\n if (this.previousUrl == null || this.previousUrl == \"\" || this.previousUrl == undefined) {\n this.router.navigate(['/Enquiry']);\n }\n else if (this.previousUrl.includes(\"PendingEnquiry\")) {\n this.router.navigate(['/PendingEnquiry']);\n }\n else {\n this.router.navigate(['/Enquiry']);\n }\n\n }\n\n\n editFileDetails(event, index) {\n let file = event.target.files[0];\n let isValidFile = true;\n if (((file.size) / 1000000) <= 5) {\n isValidFile = this.allowedFileType.includes(file.type);\n if (!isValidFile) {\n this.toastr.warning(\"Invalid file attached!\");\n switch (event.target.name) {\n case \"mdsfile\":\n this.EnquiryObj.RFQObject[index].MDSAttachment = [];\n this.EnquiryObj.RFQObject[index].isMDSAttachment = false;\n break;\n case \"itcfile\":\n this.EnquiryObj.RFQObject[index].ITCAttachment = [];\n this.EnquiryObj.RFQObject[index].isITCAttachment = false;\n break;\n case \"customerfile\":\n this.EnquiryObj.RFQObject[index].CustomerAttachment = [];\n this.EnquiryObj.RFQObject[index].isCustomerAttachment = false;\n break;\n case \"weissfile\":\n this.EnquiryObj.RFQObject[index].WeissAttachment = [];\n this.EnquiryObj.RFQObject[index].isWeissAttachment = false;\n break;\n case \"bomfile\":\n this.EnquiryObj.EnquiryDetails.BOMAttachment = [];\n this.isBOMAttachment = false;\n break;\n case \"ecfile\":\n this.EnquiryObj.EnquiryDetails.POAttchments = [];\n break;\n case \"accfile\":\n this.EnquiryObj.EnquiryDetails.InvoiceAttachment = [];\n this.isInvoiceAttachment = false;\n break;\n case \"activityfile\":\n this.activityDetails[index].Attachment = [];\n this.activityDetails[index].isActivityAttachment = false;\n break;\n }\n event.target.value = null;\n isValidFile = false;\n } else if (file.name.length > 50) {\n this.toastr.warning(\"The file name with more than 50 characters are not allowed.\");\n switch (event.target.name) {\n case \"mdsfile\":\n this.EnquiryObj.RFQObject[index].MDSAttachment = [];\n this.EnquiryObj.RFQObject[index].isMDSAttachment = false;\n break;\n case \"itcfile\":\n this.EnquiryObj.RFQObject[index].ITCAttachment = [];\n this.EnquiryObj.RFQObject[index].isITCAttachment = false;\n break;\n case \"customerfile\":\n this.EnquiryObj.RFQObject[index].CustomerAttachment = [];\n this.EnquiryObj.RFQObject[index].isCustomerAttachment = false;\n break;\n case \"weissfile\":\n this.EnquiryObj.RFQObject[index].WeissAttachment = [];\n this.EnquiryObj.RFQObject[index].isWeissAttachment = false;\n break;\n case \"bomfile\":\n this.EnquiryObj.EnquiryDetails.BOMAttachment = [];\n this.isBOMAttachment = false;\n break;\n case \"ecfile\":\n this.EnquiryObj.EnquiryDetails.POAttchments = [];\n break;\n case \"accfile\":\n this.EnquiryObj.EnquiryDetails.InvoiceAttachment = [];\n this.isInvoiceAttachment = false;\n break;\n case \"activityfile\":\n this.activityDetails[index].Attachment = [];\n this.activityDetails[index].isActivityAttachment = false;\n break;\n }\n event.target.value = null;\n isValidFile = false;\n }\n }\n else {\n this.toastr.warning(\"File size must be less than or equal to 5MB!\");\n switch (event.target.name) {\n case \"mdsfile\":\n this.EnquiryObj.RFQObject[index].MDSAttachment = [];\n this.EnquiryObj.RFQObject[index].isMDSAttachment = false;\n break;\n case \"itcfile\":\n this.EnquiryObj.RFQObject[index].ITCAttachment = [];\n this.EnquiryObj.RFQObject[index].isITCAttachment = false;\n break;\n case \"customerfile\":\n this.EnquiryObj.RFQObject[index].CustomerAttachment = [];\n this.EnquiryObj.RFQObject[index].isCustomerAttachment = false;\n break;\n case \"weissfile\":\n this.EnquiryObj.RFQObject[index].WeissAttachment = [];\n this.EnquiryObj.RFQObject[index].isWeissAttachment = false;\n break;\n case \"bomfile\":\n this.EnquiryObj.EnquiryDetails.BOMAttachment = [];\n this.isBOMAttachment = false;\n break;\n case \"ecfile\":\n this.EnquiryObj.EnquiryDetails.POAttchments = [];\n break;\n case \"accfile\":\n this.EnquiryObj.EnquiryDetails.InvoiceAttachment = [];\n this.isInvoiceAttachment = false;\n break;\n case \"activityfile\":\n this.activityDetails[index].Attachment = [];\n this.activityDetails[index].isActivityAttachment = false;\n break;\n }\n event.target.value = null;\n isValidFile = false;\n }\n if (isValidFile) {\n //CHECK IF THE FILE NAME IS NOT TOO BIG\n\n switch (event.target.name) {\n case \"mdsfile\":\n this.EnquiryObj.RFQObject[index].MDSAttachment = [];\n this.EnquiryObj.RFQObject[index].MDSAttachment.push(file);\n this.EnquiryObj.RFQObject[index].isMDSAttachment = true;\n break;\n case \"itcfile\":\n if (!(file.type == 'application/xml' || file.type == 'text/xml')) {\n this.toastr.warning(\"Only xml file supported!\");\n this.EnquiryObj.RFQObject[index].ITCAttachment = [];\n this.EnquiryObj.RFQObject[index].isITCAttachment = false;\n event.target.value = null;\n isValidFile = false;\n }\n else {\n // const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n // maxWidth: \"400px\",\n // data: {\n // title: \"Are you sure?\",\n // message: 'Please make sure that the entered Product and ITC Product are being matched. Do you want to continue?'\n // }\n // });\n // dialogRef.afterClosed().subscribe(dialogResult => {\n // if (dialogResult) {\n this.EnquiryObj.RFQObject[index].ITCAttachment = [];\n this.EnquiryObj.RFQObject[index].ITCAttachment.push(file);\n this.EnquiryObj.RFQObject[index].isITCAttachment = true;\n // }\n // });\n\n }\n break;\n case \"customerfile\":\n this.EnquiryObj.RFQObject[index].CustomerAttachment = [];\n this.EnquiryObj.RFQObject[index].CustomerAttachment.push(file);\n this.EnquiryObj.RFQObject[index].isCustomerAttachment = true;\n break;\n case \"weissfile\":\n this.EnquiryObj.RFQObject[index].WeissAttachment = [];\n this.EnquiryObj.RFQObject[index].WeissAttachment.push(file);\n this.EnquiryObj.RFQObject[index].isWeissAttachment = true;\n break;\n case \"bomfile\":\n this.EnquiryObj.EnquiryDetails.BOMAttachment = [];\n this.EnquiryObj.EnquiryDetails.BOMAttachment.push(file);\n this.isBOMAttachment = true;\n break;\n case \"ecfile\":\n this.EnquiryObj.EnquiryDetails.POAttchments = [];\n this.EnquiryObj.EnquiryDetails.POAttchments.push(file);\n this.isPOAttachment = true;\n break;\n case \"accfile\":\n this.EnquiryObj.EnquiryDetails.InvoiceAttachment = [];\n this.EnquiryObj.EnquiryDetails.InvoiceAttachment.push(file);\n this.isInvoiceAttachment = true;\n break;\n case \"activityfile\":\n this.activityDetails[index].Attachment = [];\n this.activityDetails[index].Attachment.push(file);\n this.activityDetails[index].isActivityAttachment = true;\n break;\n }\n }\n }\n\n getMultipleFileDetails(event) {\n for (let i = 0; i < event.target.files.length; i++) {\n let file = event.target.files[i];\n let isValidFile = true;\n if (((file.size) / 1000000) <= 5) {\n\n isValidFile = this.allowedFileType.includes(file.type);\n if (!isValidFile) {\n this.toastr.warning(\"Invalid file attached!\");\n //event.target.value = null;\n isValidFile = false;\n } else if (file.name.length > 50) {\n this.toastr.warning(\"The file name with more than 50 characters are not allowed.\");\n isValidFile = false;\n }\n }\n else {\n this.toastr.warning(\"File size must be less than or equal to 5MB!\");\n //event.target.value = null;\n isValidFile = false;\n }\n if (isValidFile) {\n switch (event.target.name) {\n case \"quotefiles\":\n if (this.EnquiryObj.EnquiryDetails.QuoteGenAttachments == undefined || this.EnquiryObj.EnquiryDetails.QuoteGenAttachments.length == 0) {\n this.EnquiryObj.EnquiryDetails.QuoteGenAttachments = [];\n }\n this.EnquiryObj.EnquiryDetails.QuoteGenAttachments.push(file);\n break;\n case \"mafile\":\n if (this.EnquiryObj.EnquiryDetails.QuoteGenAttachments == undefined || this.EnquiryObj.EnquiryDetails.QuoteGenAttachments.length == 0) {\n this.EnquiryObj.EnquiryDetails.QuoteGenAttachments = [];\n }\n this.EnquiryObj.EnquiryDetails.QuoteGenAttachments.push(file);\n break;\n case \"ceofile\":\n if (this.EnquiryObj.EnquiryDetails.QuoteGenAttachments == undefined || this.EnquiryObj.EnquiryDetails.QuoteGenAttachments.length == 0) {\n this.EnquiryObj.EnquiryDetails.QuoteGenAttachments = [];\n }\n this.EnquiryObj.EnquiryDetails.QuoteGenAttachments.push(file);\n break;\n case \"maofile\":\n if (this.EnquiryObj.EnquiryDetails.QuoteGenAttachments == undefined || this.EnquiryObj.EnquiryDetails.QuoteGenAttachments.length == 0) {\n this.EnquiryObj.EnquiryDetails.QuoteGenAttachments = [];\n }\n this.EnquiryObj.EnquiryDetails.QuoteGenAttachments.push(file);\n break;\n }\n }\n }\n }\n\n removeQuoteGenAttachments(index) {\n this.EnquiryObj.EnquiryDetails.QuoteGenAttachments.splice(index, 1);\n this.myInputVariable.nativeElement.value = \"\";\n\n }\n removeQuoteGenAttachmentsDB(index) {\n this.EnquiryObj.RemoveFiles.push(this.EnquiryObj.EnquiryDetails.QuoteAttachmentsArray[index].FilePath);\n this.EnquiryObj.EnquiryDetails.QuoteAttachmentsArray[index].FileName = null;\n this.EnquiryObj.EnquiryDetails.QuoteAttachmentsArray[index].FilePath = null;\n this.EnquiryObj.EnquiryDetails.QuoteAttachmentsArray.splice(index, 1);\n }\n removeBOMAttachments(flag) {\n if (flag == 1) {\n this.EnquiryObj.RemoveFiles.push(this.EnquiryObj.EnquiryDetails.BOM_filepath);\n }\n this.isBOMAttachment = false;\n this.EnquiryObj.EnquiryDetails.BOMAttachment = [];\n this.EnquiryObj.EnquiryDetails.BOM_filename = null;\n this.EnquiryObj.EnquiryDetails.BOM_filepath = null;\n }\n\n removeInvoiceAttachments() {\n this.isInvoiceAttachment = false;\n this.myInputVariable.nativeElement.value = \"\";\n this.EnquiryObj.EnquiryDetails.InvoiceAttachment = undefined;\n }\n\n SetStatus(rule, myform: any) {\n this.PreviousStatus = this.EnquiryObj.EnquiryDetails.Status;\n this.EnquiryObj.EnquiryDetails.Status = rule[0].workflowNextStatusId;\n this.AddEnquiry();\n }\n\n AddEnquiry() {\n\n // Input field validation in row of CA\n let inputs = document.querySelectorAll('.socss')\n inputs.forEach(input => {\n input.classList.add('error') \n })\n\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x => x.Status == 'EnquiryAdded')[0]?.Pk_Id\n || this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x => x.Status == 'RFQSaveAsDraft')[0]?.Pk_Id\n || this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x => x.Status == 'RFQSubmittedbySalesEngg')[0]?.Pk_Id) {\n\n this.checkRFQGridValidation();\n if (!this.IsRFQDataValid) {\n return;\n }\n if (this.EnquiryObj.EnquiryDetails.RFQTermsAndCondition == 'Standard') {\n let tnc = this.EnquiryObj.TermsAndConditions.filter(x => (x.TnCValue == undefined || x.TnCValue == null || x.TnCValue == ''));\n if (tnc.length > 0) {\n return;\n }\n this.EnquiryObj.CustomTermsAndConditions = null;\n }\n\n if (this.EnquiryObj.EnquiryDetails.RFQTermsAndCondition == 'Customized') {\n let ctnc = this.EnquiryObj.CustomTermsAndConditions.filter(x => (x.CustomValues == undefined || x.CustomValues == null))\n if (ctnc.length > 0) {\n return;\n }\n this.EnquiryObj.TermsAndConditions = null;\n }\n\n\n }\n //Dont proceed if the BOM attachment is not present\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x => x.Status == 'SendBOMandProposal')[0]?.Pk_Id || this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x => x.Status == 'QuotationSenttoCustomerService')[0]?.Pk_Id ||\n this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x => x.Status == 'RFQsentbyL1toL2')[0]?.Pk_Id) {\n if ((this.EnquiryObj.EnquiryDetails.BOMAttachment == null || this.EnquiryObj.EnquiryDetails.BOMAttachment == undefined || this.EnquiryObj.EnquiryDetails.BOMAttachment.length == 0) &&\n (this.EnquiryObj.EnquiryDetails.BOM_filename == null || this.EnquiryObj.EnquiryDetails.BOM_filename == undefined || this.EnquiryObj.EnquiryDetails.BOM_filename == \"\")) {\n this.toastr.info('BOM attachment is required.');\n return;\n }\n }\n\n // //Dont proceed if the Po attachment is not present\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x => x.Status == 'EnquiryOrderConfirmedbySalesEngg')[0]?.Pk_Id) {\n if ((this.EnquiryObj.EnquiryDetails.POAttchments == null || this.EnquiryObj.EnquiryDetails.POAttchments == undefined || this.EnquiryObj.EnquiryDetails.POAttchments.length == 0) &&\n (this.EnquiryObj.EnquiryDetails.PO_filename == null || this.EnquiryObj.EnquiryDetails.PO_filename == undefined || this.EnquiryObj.EnquiryDetails.PO_filename == \"\")) {\n this.toastr.info('PO attachment is required.');\n return;\n }\n }\n\n // //Dont proceed if the Invoice attachment is not present\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x => x.Status == 'AccountsConfirmInvoiceNo')[0]?.Pk_Id) {\n if ((this.EnquiryObj.EnquiryDetails.InvoiceAttachment == null || this.EnquiryObj.EnquiryDetails.InvoiceAttachment == undefined || this.EnquiryObj.EnquiryDetails.InvoiceAttachment.length == 0) &&\n (this.EnquiryObj.EnquiryDetails.Invoice_filename == null || this.EnquiryObj.EnquiryDetails.Invoice_filename == undefined || this.EnquiryObj.EnquiryDetails.Invoice_filename == \"\")) {\n this.EnquiryObj.EnquiryDetails.Status = this.enquiryStatusList.filter(x => x.Status == 'MaterialReadyForDispatch')[0]?.Pk_Id;\n this.toastr.info('Invoice attachment is required.');\n return;\n }\n }\n\n\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x => x.Status == 'EnquiryOrderConfirmedbySalesEngg')[0]?.Pk_Id) {\n if ((this.EnquiryObj.EnquiryDetails.POAttchments == undefined || this.EnquiryObj.EnquiryDetails.POAttchments == null || this.EnquiryObj.EnquiryDetails.POAttchments.length == 0)) {\n return;\n }\n }\n\n\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x => x.Status == 'OrdersentforMngmtApproval_SalesDirector')[0]?.Pk_Id) {\n if (this.isPOAttacmentDelete) {\n if ((this.EnquiryObj.EnquiryDetails.POAttchments == undefined || this.EnquiryObj.EnquiryDetails.POAttchments == null || this.EnquiryObj.EnquiryDetails.POAttchments.length == 0)) {\n return;\n }\n }\n\n }\n\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x => x.Status == 'OrderConfirmedbyCustomerServiceSendSO')[0]?.Pk_Id) {\n if (this.isPOAttacmentDelete) {\n if ((this.EnquiryObj.EnquiryDetails.POAttchments == undefined || this.EnquiryObj.EnquiryDetails.POAttchments == null || this.EnquiryObj.EnquiryDetails.POAttchments.length == 0)) {\n return;\n }\n }\n }\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x => x.Status == 'AccountsConfirmInvoiceNo')[0]?.Pk_Id) {\n if (this.EnquiryObj.EnquiryDetails.InvoiceAttachment == undefined) {\n this.EnquiryObj.EnquiryDetails.Status = this.enquiryStatusList.filter(x => x.Status == 'MaterialReadyForDispatch')[0]?.Pk_Id\n return;\n }\n }\n // if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x => x.Status == 'OrdersentforMngmtApproval_SalesDirector')[0]?.Pk_Id ||\n // this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x => x.Status == 'OrderConfirmedbyCustomerServiceSendSO')[0]?.Pk_Id) {\n // let sum: number = 0;\n // this.EnquiryObj.POValues.forEach(element => {\n // element.ProductModelPOValue = (element.ProductModelPOValue == null || element.ProductModelPOValue == '' || element.ProductModelPOValue == undefined)\n // ? '0' : element.ProductModelPOValue;\n // sum = sum + parseInt(element.ProductModelPOValue);\n // element.QUotationValueValidation = false;\n // });\n // if (sum.toString() != this.EnquiryObj.EnquiryDetails.POValue) {\n // document.getElementById(\"povalue0\").focus();\n // this.toastr.error('Total PO Value should match with Product wise PO Value.');\n // // info('Total PO Value should match with Product wise PO Value.');\n // this.EnquiryObj.EnquiryDetails.Status = this.PreviousStatus;\n // this.UpdatePO = false;\n // return;\n // }\n // }\n\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x => x.Status == 'OrdersentforMngmtApproval_SalesDirector')[0]?.Pk_Id ||\n this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x => x.Status == 'OrderConfirmedbyCustomerServiceSendSO')[0]?.Pk_Id) {\n\n if (this.totalCalculatedPriceOfAllProductModel.toString() != this.EnquiryObj.EnquiryDetails.POValue) {\n document.getElementById(\"povalue0\").focus();\n this.toastr.error('Total PO Value should match with Final PO Value including all charges.');\n // info('Total PO Value should match with Product wise PO Value.');\n this.EnquiryObj.EnquiryDetails.Status = this.PreviousStatus;\n this.UpdatePO = false;\n return;\n }\n\n \n\n // this.EnquiryObj.DynamicTCDetailObj.forEach(element => {\n // if (element.TndCName == undefined || element.TndCName == null || element.TndCName == \"\") {\n // element.TndCNameValidation = true;\n // }\n // if (element.TndCValue == undefined || element.TndCValue == null || element.TndCValue == \"\") {\n // element.TndCValueValidation = true;\n // }\n // });\n \n }\n\n setTimeout(() => this.openPopup());\n }\n openPopup() {\n var confimrmsg = this.AppGlobals.successMessages.filter(x => x.id == this.EnquiryObj.EnquiryDetails.Status)[0];\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: confimrmsg.confirmmsg\n }\n });\n dialogRef.afterClosed().subscribe(dialogResult => {\n if (dialogResult) {\n this.updateLoaderEvent.emit(true);\n const frmData = new FormData();\n this.EnquiryObj.RFQObject.forEach(item => {\n item.IsRowDeleted = false;\n });\n if (this.EnquiryObj.EnquiryDetails.EnquiryDate != undefined) {\n this.EnquiryObj.EnquiryDetails.EnquiryDateISO = new Date(this.convertDate(new NgbDate(this.EnquiryObj.EnquiryDetails.EnquiryDate.year, this.EnquiryObj.EnquiryDetails.EnquiryDate.month, this.EnquiryObj.EnquiryDetails.EnquiryDate.day))).toDateString();\n }\n if (this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate != undefined) {\n this.EnquiryObj.EnquiryDetails.TentativeDeliveryDateISO = new Date(this.convertDate(new NgbDate(this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate.year, this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate.month, this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate.day))).toDateString();\n }\n if (this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate != undefined) {\n this.EnquiryObj.EnquiryDetails.RequestedDeliveryDateISO = new Date(this.convertDate(new NgbDate(this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate.year, this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate.month, this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate.day))).toDateString();\n }\n if (this.EnquiryObj.EnquiryDetails.EnquiryDate != undefined) {\n this.EnquiryObj.EnquiryDetails.EnquiryDate = new Date(this.convertDate(new NgbDate(this.EnquiryObj.EnquiryDetails.EnquiryDate.year, this.EnquiryObj.EnquiryDetails.EnquiryDate.month, this.EnquiryObj.EnquiryDetails.EnquiryDate.day)));\n }\n if (this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate != undefined) {\n this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate = new Date(this.convertDate(new NgbDate(this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate.year, this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate.month, this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate.day)));\n }\n if (this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate != undefined) {\n this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate = new Date(this.convertDate(new NgbDate(this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate.year, this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate.month, this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate.day)));\n }\n\n if (this.EnquiryObj.EnquiryDetails.RFQTermsAndCondition == \"Customized\") {\n this.EnquiryObj.TermsAndConditions = null;\n\n if (this.QGRFQEditable == true) {\n this.EnquiryObj.CustomTermsAndConditions;\n\n } else {\n this.EnquiryObj.CustomTermsAndConditions = this.custtermscond;\n }\n }\n\n let EnquiryObj = JSON.stringify(this.EnquiryObj);\n frmData.append(\"EnquiryModel\", EnquiryObj);\n\n\n if (this.EnquiryObj.EnquiryDetails.QuoteGenAttachments != null) {\n for (let i = 0; i < this.EnquiryObj.EnquiryDetails.QuoteGenAttachments.length; i++) {\n frmData.append(\"QuoteGenAttachments[\" + i + \"]\", this.EnquiryObj.EnquiryDetails.QuoteGenAttachments[i]);\n }\n }\n for (let i = 0; i < this.EnquiryObj.RFQObject.length; i++) {\n if (this.EnquiryObj.RFQObject[i].MDSAttachment != undefined) {\n frmData.append(\"MDSAttachment[\" + i + \"]\", this.EnquiryObj.RFQObject[i].MDSAttachment[0]);\n }\n if (this.EnquiryObj.RFQObject[i].ITCAttachment != undefined) {\n frmData.append(\"ITCAttachment[\" + i + \"]\", this.EnquiryObj.RFQObject[i].ITCAttachment[0]);\n }\n if (this.EnquiryObj.RFQObject[i].CustomerAttachment != undefined) {\n frmData.append(\"CustomerAttachment[\" + i + \"]\", this.EnquiryObj.RFQObject[i].CustomerAttachment[0]);\n }\n if (this.EnquiryObj.RFQObject[i].WeissAttachment != undefined) {\n frmData.append(\"WeissAttachment[\" + i + \"]\", this.EnquiryObj.RFQObject[i].WeissAttachment[0]);\n }\n }\n if (this.EnquiryObj.EnquiryDetails.BOMAttachment) {\n frmData.append(\"BOMAttachment\", this.EnquiryObj.EnquiryDetails.BOMAttachment[0]);\n }\n if (this.EnquiryObj.EnquiryDetails.InvoiceAttachment) {\n frmData.append(\"InvoiceAttachment\", this.EnquiryObj.EnquiryDetails.InvoiceAttachment[0]);\n }\n if (this.EnquiryObj.EnquiryDetails.POAttchments) {\n frmData.append(\"POAttchments\", this.EnquiryObj.EnquiryDetails.POAttchments[0]);\n }\n\n this.commonService.PostData(\"Enquiry\", \"Add\", frmData, null).subscribe((data: any) => {\n this.customerDrpdnDetails = data;\n this.EnquiryObj.EnquiryDetails.EnquiryId = data;\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x => x.Status == 'OANoGenerated')[0]?.Pk_Id) {\n this.toastr.success(\"OA Number generated successfully\");\n }\n else {\n this.toastr.success(confimrmsg.successmsg);\n }\n\n this.updateLoaderEvent.emit(false);\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x => x.Status == 'RFQAcceptedbyL1')[0]?.Pk_Id ||\n this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x => x.Status == 'QuotationRevision')[0]?.Pk_Id ||\n this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x => x.Status == 'RFQSubmittedbyL1')[0]?.Pk_Id ||\n this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x => x.Status == 'RFQSubmittedbyL2')[0]?.Pk_Id ||\n this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x => x.Status == 'RFQSubmittedbyL3')[0]?.Pk_Id ||\n this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x => x.Status == 'RFQSubmittedbyCustomerService')[0]?.Pk_Id ||\n this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x => x.Status == 'OANoGenerated')[0]?.Pk_Id) {\n // this.router.navigate(['/EditViewEnquiry/' + this.EnquiryObj.EnquiryDetails.EnquiryId]);\n window.location.reload();\n } else {\n this.router.navigate(['/Enquiry']);\n //this.backtoList();\n }\n }, error => {\n this.toastr.error(confimrmsg.errormsg);\n this.updateLoaderEvent.emit(false);\n });\n } else {\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x => x.Status == 'QuotationRevision')[0]?.Pk_Id) {\n this.chosenItem = \"2\";\n this.quoterevcomments = this.EnquiryObj.EnquiryDetails.Comments;\n this.EnquiryObj.EnquiryDetails.Comments = \"\";\n }\n else {\n\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x => x.Status == 'OrdersentforMngmtApproval_SalesDirector')[0]?.Pk_Id ||\n this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x => x.Status == 'OrderConfirmedbyCustomerServiceSendSO')[0]?.Pk_Id) {\n this.UpdatePO = false;\n }\n if (this.PreviousStatus > 0) {\n this.EnquiryObj.EnquiryDetails.Status = this.PreviousStatus;\n }\n\n }\n\n }\n });\n\n }\n povalueChange(i) {\n var povalue: number = parseFloat(this.EnquiryObj.POValues[i].ProductModelPOValue);\n if (povalue == undefined || povalue == null) {\n this.EnquiryObj.POValues[i].QUotationValueValidation = true;\n this.IsPODataValid = false;\n } else if (povalue < 0) {\n this.EnquiryObj.POValues[i].QUotationValueValidation = true;\n this.IsPODataValid = false;\n } else if (povalue % 1 != 0) {\n this.EnquiryObj.POValues[i].QUotationValueValidation = true;\n this.IsPODataValid = false;\n } else if (this.EnquiryObj.POValues[i].ProductModelPOValue.toString().includes(\".\")) {\n this.EnquiryObj.POValues[i].QUotationValueValidation = true;\n this.IsPODataValid = false;\n }\n else {\n this.EnquiryObj.POValues[i].QUotationValueValidation = false;\n }\n }\n\n\n\n checkRFQGridValidation() {\n var inde = 0;\n this.IsRFQDataValid = true;\n this.EnquiryObj.RFQObject.forEach((element, index) => {\n if (element.ProductLine == undefined || element.ProductLine == null || element.ProductLine == 0) {\n document.getElementById(\"productline\" + index).focus();\n element.ProductLineValidation = true;\n this.IsRFQDataValid = false;\n }\n if (element.ProductModel == undefined || element.ProductModel == null || element.ProductModel == 0) {\n document.getElementById(\"productmodel\" + index).focus();\n element.ProductModelValidation = true;\n this.IsRFQDataValid = false;\n }\n if (element.Quantity == undefined || element.Quantity == null || element.Quantity == 0) {\n document.getElementById(\"quantity\" + index).focus();\n element.QuantityValidation = true;\n this.IsRFQDataValid = false;\n }\n if (element.MDSOption == undefined || element.MDSOption == null || element.MDSOption == 0) {\n document.getElementById(\"mdsoption\" + index).focus();\n element.MDSOptionValidation = true;\n this.IsRFQDataValid = false;\n }\n if (element.SalesPrice == undefined || element.SalesPrice == null || element.SalesPrice == 0) {\n document.getElementById(\"salesprice\" + index).focus();\n element.SalesPriceValidation = true;\n this.IsRFQDataValid = false;\n }\n if (element.SalesDiscount == undefined || element.SalesDiscount == null) {\n document.getElementById(\"salesdiscount\" + index).focus();\n element.SalesDiscountValidation = true;\n this.IsRFQDataValid = false;\n }\n\n });\n\n }\n\n convertDate(date: any) {\n let year = date.year;\n let month = date.month;\n let day = date.day;\n return year + \"-\" + month + \"-\" + day;\n }\n\n downloadPDF() {\n const url = this.QuotationPdfGenerationHostPath + 'uploads/pdf/' + this.EnquiryObj.EnquiryDetails.QuotationPdf_filename;\n window.open(url, \"download\");\n }\n\n DownloadPDFfromServer(Filename: any) {\n this.commonService.gereatePDF('Enquiry', 'DownloadPDF', Filename).subscribe((data: any) => {\n\n importedSaveAs(data, Filename);\n });\n }\n checkattachment() {\n this.rfqattpresent = false;\n this.EnquiryObj.RFQObject.forEach(element => {\n if (!(element.MDS_filename == null || element.MDS_filename == undefined || element.MDS_filename == '')) {\n this.rfqattpresent = true;\n }\n if (!(element.ITC_filename == null || element.ITC_filename == undefined || element.ITC_filename == '')) {\n this.rfqattpresent = true;\n }\n if (!(element.Weiss_filename == null || element.Weiss_filename == undefined || element.Weiss_filename == '')) {\n this.rfqattpresent = true;\n }\n if (!(element.Customer_filename == null || element.Customer_filename == undefined || element.Customer_filename == '')) {\n this.rfqattpresent = true;\n }\n });\n }\n DownloadAllAttachments() {\n this.checkattachment();\n if (!this.rfqattpresent) {\n this.toastr.info('No attachment present.');\n return;\n }\n this.updateLoaderEvent.emit(true);\n let queryString = \"\";\n queryString = \"id=\" + this.EnquiryObj.EnquiryDetails.EnquiryId;\n this.commonService.GetData('Enquiry', 'Download', queryString).subscribe((data: any) => {\n var url = AppGlobals.ZipDownloadUrl + data + '.zip';\n window.open(url, \"_blank\");\n this.updateLoaderEvent.emit(false);\n }, error => {\n this.updateLoaderEvent.emit(false);\n });\n }\n\n\n\n public saveAsFile(pdfurl: any, fileName: string): void {\n //const data: Blob = new Blob([buffer], { type: EXCEL_TYPE });\n FileSaver.saveAs(this.fileDownloadPath + pdfurl, fileName);\n }\n\n EditPO() {\n this.UpdatePO = true;\n\n setTimeout(() => {\n this.editpovalue.nativeElement.focus();\n }, 0);\n }\n\n\n\n onPOQuatityChange(index) {\n //let strquantity = this.EnquiryObj.POValues[index].POQuantity.toString(); \n if ((this.EnquiryObj.POValues[index].POQuantity == 0 || this.EnquiryObj.POValues[index].POQuantity == null || this.EnquiryObj.POValues[index].POQuantity == undefined)) {\n this.EnquiryObj.POValues[index].POQuantity = 0;\n }\n else if (this.EnquiryObj.POValues[index].POQuantity % 1 != 0) {\n this.EnquiryObj.POValues[index].QuantityValidation = true;\n return;\n }\n else {\n this.EnquiryObj.POValues[index].QuantityValidation = false;\n }\n if (this.EnquiryObj.POValues[index].POQuantity > 1000) {\n this.EnquiryObj.POValues[index].QuantityRangeValidation = true;\n return;\n }\n else {\n this.EnquiryObj.POValues[index].QuantityRangeValidation = false;\n }\n\n this.calculateTotalPricesForProduct(index, 1);\n }\n\n\n calculateTotalPricesForProduct(index, flag) {\n this.poPrice = 0;\n var POValues = this.EnquiryObj.POValues[index];\n\n POValues.POUnitPrice = POValues?.POUnitPrice == undefined ? 0 : POValues.POUnitPrice;\n POValues.ProductModelPOValue = POValues?.ProductModelPOValue == undefined ? 0 : POValues.ProductModelPOValue;\n\n var percent = 100 - POValues.PODiscount;\n this.poPrice = POValues.POUnitPrice * POValues.POQuantity;\n POValues.ProductModelPOValue = POValues.POUnitPrice * POValues.POQuantity * (percent / 100);\n var finalpoValue = this.poPrice;\n var finalProductModelPOValue = POValues.ProductModelPOValue\n\n this.poPrice = Math.round(finalpoValue);\n POValues.ProductModelPOValue = Math.round(finalProductModelPOValue);\n\n // let ProductModelWisePOValue = POValues.ProductModelPOValue;\n // this.totalCalculatedPriceOfAllProductModel = this.totalCalculatedPriceOfAllProductModel + ProductModelWisePOValue;\n //this.totalCalculatedPriceAfterIncludingAllCharges = POValues.ProductModelPOValue;\n\n this.calculateTotalProductWisePOValue();\n }\n\n onPODiscountChange(i) {\n if (this.EnquiryObj.POValues[i].PODiscount < 0) {\n this.EnquiryObj.POValues[i].PODiscount = 0;\n }\n else if (this.EnquiryObj.POValues[i].PODiscount > 100) {\n this.EnquiryObj.POValues[i].PODiscount = 0;\n return;\n }\n \n else if (this.EnquiryObj.POValues[i].PODiscount != 0) {\n \n this.calculateTotalPricesForProduct(i,1);\n\n }\n else if (this.EnquiryObj.POValues[i].PODiscount == 0) {\n \n this.calculateTotalPricesForProduct(i,1);\n }\n }\n\n onPOUnitPriceChange(index) {\n let strprice = this.EnquiryObj.POValues[index].POUnitPrice.toString();\n if ((this.EnquiryObj.POValues[index].POUnitPrice == 0 || this.EnquiryObj.POValues[index].POUnitPrice == null || this.EnquiryObj.POValues[index].POUnitPrice == undefined)) {\n this.EnquiryObj.POValues[index].POUnitPrice = 0;\n }\n // else if (this.EnquiryObj.POValues[index].POUnitPrice > 9999999) {\n // this.EnquiryObj.POValues[index].PoUnitPriceValidation = true;\n // return;\n // }\n else if (strprice.includes(\".\")) {\n alert('PO unit price must be an integer');\n this.EnquiryObj.POValues[index].POUnitPrice = 0;\n this.calculateTotalPricesForProduct(index, 1);\n return;\n }\n else {\n this.EnquiryObj.POValues[index].PoUnitPriceValidation = false;\n }\n\n this.calculateTotalPricesForProduct(index, 1);\n }\n\n getAllWorkFlow() {\n let tracker=this.commonService.GetData(\"Workflow\", \"GetAll\", null);\n tracker.subscribe((data: any) => { \n //handle null\n if(data!=null) {\n var workflowData = data;\n this.workflowId=workflowData.filter(x=>x.document_type_code == \"SALES_ORDER\")[0].workflow_id;\n this.getWorkflowActions(this.workflowId);\n }\n this.updateLoaderEvent.emit(false);\n }, error => {\n this.updateLoaderEvent.emit(false);\n });\n return tracker;\n }\n\n getWorkflowActions(workflowId:any) {\n let queryString = \"\";\n queryString = \"enquiryId=\" + this.EnquiryObj.EnquiryDetails.EnquiryId + \"&workflowId=\" + workflowId;\n\n this.updateLoaderEvent.emit(true);\n this.commonService.GetData(\"EnquiryWorkflowTransitionRules\", \"GetTransitionRulesByStatus\", queryString).subscribe((data: any) => {\n this.workflowActionList = data;\n this.cd.detectChanges();\n this.updateLoaderEvent.emit(false);\n }, error => {\n this.updateLoaderEvent.emit(false);\n });\n }\n\n getEnquiryStatus() {\n this.commonService.GetData(\"Enquiry\", \"GetEnquiryStatus\", null).subscribe((data: any) => {\n this.enquiryStatusList = data;\n this.updateLoaderEvent.emit(false);\n }, error => {\n this.updateLoaderEvent.emit(false);\n });\n }\n\n OnWorkflowAction(myform7: NgForm, workflowActionId: number) {\n var rule = this.workflowActionList.filter(x => x.workflowActionId == workflowActionId);\n myform7.control.markAllAsTouched();\n if (myform7.invalid) {\n this.toastr.error(\"Please fill required information\");\n return;\n }\n \n var emptyPOModels = this.EnquiryObj.POValues.filter(x=>x.POQuantity<=0);\n if(emptyPOModels.length == this.EnquiryObj.POValues.length)\n {\n this.toastr.error(\"Please fill PO quantity greater than 0, at least one product model required to continue further process.\");\n return;\n }\n \n this.SetStatus(rule, myform7);\n\n }\n\n getUserRoles(){\n this.commonService.GetData(\"Account\", \"GetAll\", null).subscribe((data: any) => {\n this.UserRolesData = data;\n this.updateLoaderEvent.emit(false);\n }, error => {\n this.updateLoaderEvent.emit(false);\n });\n }\n\n sendbackRules:EnquirySendBack[]=[];\n getSendbackWorkfow()\n {\n this.updateLoaderEvent.emit(true);\n this.commonService.GetData(\"EnquiryWorkflowTransitionRules\",\"GetWorkflowSendbackRule\", null).subscribe((data: any) => {\n this.sendbackRules=data;\n this.updateLoaderEvent.emit(false);\n }, error => {\n this.updateLoaderEvent.emit(false);\n });\n }\n\n rule:EnquirySendBack;\n SendBack()\n {\n var quotationRule= this.sendbackRules.filter(x=>x.WorkflowId==this.workflowId);\n this.rule=quotationRule[0];\n\n const modalRef = this.modalService.open(SendBackCommentComponent, {\n size: 'lg', backdrop: 'static', keyboard: false\n });\n\n var sendBackObj = {\n EnquiryId: this.EnquiryObj.EnquiryDetails.EnquiryId,\n workflowId: this.workflowId,\n finalrule: this.rule\n }\n modalRef.componentInstance.sendBackObj = sendBackObj;\n modalRef.result.then((result) => {\n this.closeResult = `Closed with:${result}`;\n if (this.closeResult !== 'Closed with:Close click') {\n this.ngOnInit();\n }\n });\n // this.rule.EnquiryId=this.EnquiryObj.EnquiryDetails.EnquiryId;\n\n // let rules = JSON.stringify(this.rule);\n // const frmData = new FormData();\n // frmData.append(\"rule\", rules);\n // this.commonService.PostData(\"EnquiryWorkflowTransitionRules\",\"SetStatus\",frmData,\"\",null).subscribe(data=>{\n // this.toastr.success(\"Enquiry sent one step back\");\n // window.location.reload();\n // }); \n }\n\n getCustomerAddresses(CustomerId : number)\n {\n this.showLoader = true;\n let queryString = \"\";\n queryString = \"id=\" + CustomerId;\n this.commonService.GetData('Customer', 'GetAddressesById', queryString).subscribe((data: any) => {\n this.CustomerAddressList = data;\n this.showLoader = false;\n });\n }\n\n AddNewRow(index)\n {\n if (this.EnquiryObj.DynamicTCDetailObj[index].TndCName != undefined && this.EnquiryObj.DynamicTCDetailObj[index].TndCName != \"\" &&\n this.EnquiryObj.DynamicTCDetailObj[index].TndCValue != undefined && this.EnquiryObj.DynamicTCDetailObj[index].TndCValue != \"\")\n {\n this.EnquiryObj.DynamicTCDetailObj[index].IsRowDeleted = true;\n var obj = new DynamicTermsAndCondition();\n this.EnquiryObj.DynamicTCDetailObj.push(obj);\n }\n else{\n this.toastr.info(\"Please fill mandatory details before adding new row.\");\n }\n }\n\n\n deleterow(index:any)\n {\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Do you want to delete this row?\"\n }\n });\n dialogRef.afterClosed().subscribe(dialogResult => {\n if (dialogResult) {\n if (index != null) {\n this.EnquiryObj.DynamicTCDetailObj.splice(index, 1);\n } else {\n this.EnquiryObj.DynamicTCDetailObj.pop();\n }\n }\n });\n }\n\n onClick_IncludeAllSOCharges(value : any)\n {\n if(value == true)\n { \n this.EnquiryObj.EnquiryDetails.IsIncludedAllSOCharges = true;\n }\n else\n {\n this.EnquiryObj.EnquiryDetails.IsIncludedAllSOCharges = false;\n }\n }\n\n calculateTotalPriceWithAllSOCharges(value: boolean)\n {\n this.IsIncludedAllSOChargesResult = value\n this.calculatedTotalPrice = 0;\n this.calculatedTotalPrice = this.EnquiryObj.EnquiryDetails.PackageAndForward +\n this.EnquiryObj.EnquiryDetails.TransferCharge +\n this.EnquiryObj.EnquiryDetails.OtherTax\n\n if(this.IsIncludedAllSOChargesResult == true && this.EnquiryObj.EnquiryDetails.SalesOrderSpecialPkgDiscount == 0)\n {\n //this.totalCalculatedPriceAfterIncludingAllCharges = this.calculatedTotalPrice + parseFloat(this.EnquiryObj.EnquiryDetails.POValue);\n this.totalCalculatedPriceOfAllProductModel = this.calculatedTotalPrice + this.totalCalculatedPriceAfterIncludingAllCharges;\n }\n else if(this.IsIncludedAllSOChargesResult == false && this.EnquiryObj.EnquiryDetails.SalesOrderSpecialPkgDiscount == 0)\n {\n //this.totalCalculatedPriceAfterIncludingAllCharges = parseFloat(this.EnquiryObj.EnquiryDetails.POValue);\n this.totalCalculatedPriceOfAllProductModel = this.totalCalculatedPriceAfterIncludingAllCharges;\n }\n else if(this.IsIncludedAllSOChargesResult == true && this.EnquiryObj.EnquiryDetails.SalesOrderSpecialPkgDiscount != 0)\n {\n this.totalCalculatedPriceOfAllProductModel = this.calculatedTotalPrice + this.tempTotalCalculatedPriceOfAllProductModel;\n }\n else if(this.IsIncludedAllSOChargesResult == false && this.EnquiryObj.EnquiryDetails.SalesOrderSpecialPkgDiscount != 0)\n {\n this.totalCalculatedPriceOfAllProductModel = this.tempTotalCalculatedPriceOfAllProductModel;\n }\n }\n\n calculateTotalProductWisePOValue() {\n this.totalCalculatedPriceOfAllProductModel = 0;\n this.EnquiryObj.POValues.forEach(element => {\n element.ProductModelPOValue = (element.ProductModelPOValue == null || element.ProductModelPOValue == '' || element.ProductModelPOValue == undefined)\n ? '0' : element.ProductModelPOValue;\n\n this.totalCalculatedPriceOfAllProductModel = this.totalCalculatedPriceOfAllProductModel + parseInt(element.ProductModelPOValue);\n //element.QUotationValueValidation = false;\n });\n\n this.totalCalculatedPriceAfterIncludingAllCharges = this.totalCalculatedPriceOfAllProductModel;\n\n this.onSalesOrderSpecialPkgDiscountChange();\n\n }\n\n \n allowDecimal(event: any) {\n // Allow decimal point and only two decimal places\n const regex = /^[0-9]+(\\.[0-9]{0,2})?$/;\n const inputChar = String.fromCharCode(event.charCode);\n if (!regex.test(event.target.value + inputChar)) {\n event.preventDefault();\n }\n if ((this.specialPkgDiscount > 100)) {\n //alert(\"Discount cannot be Greater than 100\");\n this.specialPkgDiscount = 0;\n return;\n }\n }\n\n onSalesOrderSpecialPkgDiscountChange()\n {\n if ((this.EnquiryObj.EnquiryDetails.SalesOrderSpecialPkgDiscount < 0))\n {\n this.EnquiryObj.EnquiryDetails.SalesOrderSpecialPkgDiscount = 0;\n return;\n }\n else if ((this.EnquiryObj.EnquiryDetails.SalesOrderSpecialPkgDiscount > 100)) \n {\n this.EnquiryObj.EnquiryDetails.SalesOrderSpecialPkgDiscount = 0;\n return;\n }\n else if (this.EnquiryObj.EnquiryDetails.SalesOrderSpecialPkgDiscount != 0)\n {\n var percent = 100 - this.EnquiryObj.EnquiryDetails.SalesOrderSpecialPkgDiscount;\n var calculate = this.totalCalculatedPriceAfterIncludingAllCharges * (percent / 100);\n \n this.tempTotalCalculatedPriceOfAllProductModel = Math.round(calculate);\n \n this.calculateTotalPriceWithAllSOCharges(this.EnquiryObj.EnquiryDetails.IsIncludedAllSOCharges);\n }\n else if (this.EnquiryObj.EnquiryDetails.SalesOrderSpecialPkgDiscount == 0)\n {\n \n this.calculateTotalPriceWithAllSOCharges(this.EnquiryObj.EnquiryDetails.IsIncludedAllSOCharges);\n\n }\n\n }\n\n}\n","
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n Sales Order(SO) Generation\n

    \n
    \n
    \n
    \n \n
    \n
    \n
    \n * Marked fields are\n mandatory\n
    \n
    \n
    \n\n \n \n\n
    \n \n \n
    \n
    \n\n \n \n\n
    \n\n \n
    \n {{EnquiryObj.EnquiryDetails.POSubmittedOn | date}}\n\n
    \n
    \n\n\n
    \n \n
    \n \n
    \n
    \n PO Value must be an integer\n
    \n
    \n PO value is\n required\n
    \n
    \n
    \n
    \n \n\n
    \n
    \n Attach PO/LOI\n \n
    \n
    \n {{AppGlobals.supportedFileFormatsForOtherAttachments}}\n
    \n PO attachment is\n required\n
    \n\n
    \n {{EnquiryObj.EnquiryDetails.POAttchments\n != undefined &&\n EnquiryObj.EnquiryDetails.POAttchments[0]\n != undefined ?\n EnquiryObj.EnquiryDetails.POAttchments[0].name:\n \"\"}}\n
    \n
    \n\n\n\n
    \n \n\n
    \n\n
    \n\n \n
    \n €\n {{EnquiryObj.EnquiryDetails.POValue |\n indianCurrency}}/-\n
    \n (The PO value\n to be entered product wise below. Please\n note that total PO Value should matched\n with product wise.)\n
    \n\n
    \n\n \n\n
    \n \n
    \n
    \n Purchase Order Number is required
    \n
    \n
    \n
    \n\n
    \n \n\n
    \n \n
    \n
    \n Bill to address is\n required\n
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n Ship to address is\n required\n
    \n
    \n
    \n\n\n
    \n\n
    \n \n\n
    \n \n\n
    \n
    \n \n\n
    \n \n\n
    \n
    \n
    \n \n
    \n \n\n
    \n\n
    \n\n \n
    \n \n\n
    \n
    \n\n\n
    \n \n
    \n\n
    \n \n \n \n Product Model\n Qty\n Disc(%)\n Quote Value(€)\n Variant1 Discount\n Variant2 Discount\n Variant3 Discount\n Variant4 Discount\n PO Qty\n PO Unit Price\n PO Disc(%)\n PO Value(€)\n \n \n \n \n\n \n {{item.ProductModelName}}\n \n \n {{item.QuotationQuantity}}\n \n \n {{item.QuotationDiscount}}\n \n \n {{item.QUotationValue | indianCurrency }}\n \n \n {{item.Variant1_Discount}}\n \n \n {{item.Variant2_Discount}}\n \n \n {{item.Variant3_Discount}}\n \n \n {{item.Variant4_Discount}}\n \n \n \n
    \n \n Quantity is not valid\n
    \n
    \n \n Quantity should be in between 0 to 1000\n
    \n \n \n \n
    \n
    \n PO unit price must be an integer\n
    \n\n
    \n\n \n\n \n \n \n \n \n
    \n
    \n PO Value must be an\n integer
    \n
    \n \n\n \n\n \n \n
    \n
    \n \n\n
    \n\n \n\n
    \n {{EnquiryObj.POValues[0]?.Special_pkg_Discount}}% \n
    - From Quotation
    \n \n
    \n\n
    \n
    \n
    \n \n Other Charges Details\n
    \n\n
    \n \n\n
    \n \n \n
    \n\n
    \n\n \n
    \n \n €{{totalCalculatedPriceOfAllProductModel|\n indianCurrency}}/-\n
    \n
    \n\n
    \n \n
    \n \n
    \n
    \n Packaging and forwarding price is required
    \n
    \n Packaging and forwarding price must be an integer
    \n
    \n
    \n\n \n
    \n \n
    \n
    \n Transfer charge price is required
    \n
    \n Transfer charge price must be an integer
    \n
    \n
    \n\n \n
    \n \n
    \n
    \n Other tax price is required
    \n
    \n Other tax price must be an integer
    \n
    \n
    \n
    \n\n
    \n \n OA Terms and Condition Details\n
    \n\n
    \n
    \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n
    \n OA Terms & Condition *\n \n Value *\n \n Action\n
    \n \n
    \n \n Term is required\n \n
    \n
    \n \n
    \n \n Value is required\n \n
    \n
    \n \n
    \n
    \n
    \n\n
    \n \n
    \n \n Limit {{maxLimit}} characters,\n {{remLimit}} characters\n remaining.\n
    \n
    \n Comment is\n required\n
    \n
    \n
    \n
    \n
    \n
    \n\n
    \n
    \n \n \n    \n \n \n \n
    \n\n
    \n
    \n
    \n
    \n
    ","\nimport { Component, OnInit, ViewChild, Input, ɵclearResolutionOfComponentResourcesQueue, ElementRef, EventEmitter, Output } from '@angular/core';\nimport { EmployeeGuestModel } from 'src/app/Model/EmployeeGuestModel';\nimport { ActivatedRoute, NavigationEnd, Router, RoutesRecognized } from '@angular/router';\nimport { ToastrService } from 'ngx-toastr';\nimport { CommonService } from 'src/app/Service/common.service';\nimport { MatDialog } from '@angular/material/dialog';\nimport * as FileSaver from 'file-saver';\nimport { BasicCustomerInformationModel } from 'src/app/Model/CustomerModel';\nimport { EnquiryModel, CustomerDrpdnDetails, CustomerDetails, ProductDrpdnDetails, EnquiryDetailsModel, ProductDetails, Comments, removefiles, TermsAndCondition, ActivityModel, ProductModelPOValues, CustomTermsAndCondition } from 'src/app/Model/EnquiryModel';\nimport { ConfirmDialogComponent } from 'src/app/confirm-dialog/confirm-dialog.component';\nimport { NgbDate, NgbModal, NgbActiveModal, NgbDatepickerConfig, NgbDateStruct } from '@ng-bootstrap/ng-bootstrap';\nimport { AppGlobals } from 'src/app/app.global';\n\nimport { UserRoles } from \"src/app/UserRoles\";\nimport { SingleFieldModel } from 'src/app/Model/SingleFieldModel';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { EnquiryModalComponent } from '../enquiry-modal/enquiry-modal.component';\nimport { MatStepper } from '@angular/material/stepper';\nimport { FormControl, NgForm, Validators } from '@angular/forms';\nimport { HttpHeaders, HttpClient, HttpErrorResponse } from '@angular/common/http';\nimport { QuotationDetailsModel, QuotationCustomerDetails } from 'src/app/Model/QuotationModel';\nimport { Title } from '@angular/platform-browser';\nimport { Location } from '@angular/common';\nimport {\n saveAs as importedSaveAs\n} from \"file-saver\";\nimport { ClassGetter } from '@angular/compiler/src/output/output_ast';\nimport { TechnicalDiscardComponent } from '../technical-discard/technical-discard.component';\nimport { CloseOppReasonComponent } from '../close-opp-reason/close-opp-reason.component';\nimport { EnquiryStatus, EnquiryStatusCode } from \"src/app/EnquiryStatus\";\nimport { EnquiryStatusList } from 'src/app/Model/EnquiryStatus';\nimport { EnquirySendBack } from 'src/app/Model/EnquirySendBack';\nimport { element } from 'protractor';\nimport { SendBackCommentComponent } from '../send-back-comment/send-back-comment.component';\nimport { AppConfigService } from 'src/app/Service/app-config.service';\ndeclare var require: any\n\n@Component({\n selector: 'app-supply-chain',\n templateUrl: './supply-chain.component.html',\n styleUrls: ['./supply-chain.component.scss']\n})\nexport class SupplyChainComponent implements OnInit {\n\n @ViewChild('myform3') myform3: NgForm;\n @ViewChild('myform5') myform5: NgForm;\n @ViewChild('myInput') myInputVariable: ElementRef;\n @ViewChild('editpovalue', { static: false }) editpovalue: ElementRef;\n standardTC:any[] = [];\n customTCValues:any[] =[];\n\n userInfo: EmployeeGuestModel = new EmployeeGuestModel();\n CustomerList: BasicCustomerInformationModel[] = [];\n EnquiryObj: EnquiryDetailsModel = new EnquiryDetailsModel();\n newRFQDetails: any = {};\n productListdropdownData = [];\n customerDrpdnDetails: CustomerDrpdnDetails = new CustomerDrpdnDetails();\n productDrpdnDetails: ProductDrpdnDetails = new ProductDrpdnDetails();\n customerData: CustomerDetails;\n activityDetails: ActivityModel[] = Array();\n CustomerDetailsObj: QuotationCustomerDetails = new QuotationCustomerDetails();\n QuotationData: QuotationDetailsModel = new QuotationDetailsModel();\n allowedFileType: string[] = [\n 'image/bmp',\n 'image/jpeg',\n 'image/png',\n 'application/pdf',\n 'text/plain',\n 'text/csv',\n 'application/xml',\n 'text/xml',\n 'application/vnd.ms-excel',\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\n 'application/msword',\n 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',\n 'application/zip',\n 'application/x-zip-compressed',\n ];\n\n showEditRFQForInitiator: boolean;\n UserRole: any;\n isTechnicalDiscardVisible: boolean =false;\n isEnquiryFormVisible: boolean = false;\n isRFQVisible: boolean = false;\n isQuoteGenerationVisible: boolean = false;\n isManagementApprovalVisible: boolean = false;\n isSOVisible: boolean = false;\n isOrderAcknowledgementVisible: boolean = false;\n EnquiryConfirmationVisible: boolean = false;\n isSupplychainVisible: boolean = false;\n isAccountsVisible: boolean = false;\n iseditable:boolean=false;\n isOAGenerationVisible: boolean = false;\n isBOMAttachment: boolean;\n isInvoiceAttachment: boolean;\n isPOAttachment: boolean;\n IsRFQDataValid: boolean = true;\n selectedIndexForStatus: any = 1;\n remLimit: any = 1500;\n maxLimit: any = 1500;\n varLongTermGoal: any;\n DiscountFromrange:any;\n Discounttorange:any;\n\n @Input()\n showLoader: boolean = false;\n charCode: number;\n enquiryStatus = EnquiryStatus;\n AppRoles = UserRoles;\n enquirySource: SingleFieldModel[] = [];\n TnCStandardFromDropDown: any[] = [];\n TnCCustomizedFromDropDown: any[] = [];\n TnCCustomizedDropDownForEditRfq1: any[] = [];\n TnCCustomizedDropDownForEditRfq2: any[] = [];\n newCustomTc: any;\n product: any = {};\n isEnquirySubmit: boolean = false;\n charCode1: any;\n pageNumber: number = 1;\n @Input() pageSize: number = 5;\n @Input() length: number;\n @Input() pageIndex: number = this.pageNumber - 1;\n dataSource: MatTableDataSource;\n enquiryStatusCode = EnquiryStatusCode;\n\n @ViewChild('stepper') stepper: MatStepper;\n AppGlobals = AppGlobals;\n fileDownloadPath = this.AppGlobals.baseFileDownloadUrl;\n QuotationDownloadPath = this.AppGlobals.QuotationFileDownloadUrl;\n isEnquiryLoaded: boolean;\n role: string;\n isStandardCondition: boolean;\n closeResult: string;\n isCEOApprovalVisible: boolean;\n demoObject: any;\n demoCTCObject: any;\n WinLossDropdownData: any[] = [];\n WinLossDropdownDataForStatus: any;\n isPoValueDisable: boolean;\n isCustomerCommentVisible: any;\n isOAGenerated: boolean;\n isAcceptClick: boolean;\n dataPassed: any;\n dropdownData: any;\n showQuotationLink: boolean;\n userid: string;\n isprocessing: boolean = true;\n rfqattpresent: boolean;\n QuotationDataForPO: any[] = [];\n chosenItem: string = \"1\";\n quoterevcomments: any;\n QGRFQEditable: boolean = false;\n IsActivityDataValid: boolean;\n today: Date;\n fc = new FormControl();\n minDate: NgbDate;\n showEditRFQ: boolean;\n isTantativeDateEditable: boolean;\n tempRFQ: ProductDetails[];\n IsPODataValid: boolean;\n isEditactivity: boolean = true;\n PreviousStatus: number = 0;\n tempfile: any;\n ngbDateParserFormatter: any;\n UpdatePO: boolean = false;\n isPOAttacmentDelete: boolean = false;\n RevisedQuotationFileNameList: string[] = [];\n emailPattern: string = \"^[a-zA-Z0-9_\\\\.-]+@([a-zA-Z0-9-]+\\\\.)+[a-zA-Z]{2,6}$\";\n StartDate: NgbDate;\n EndDate: NgbDate;\n RoleWiseScreenDisplay: any;\n previousUrl: string = null;\n IndustrySegment: any[] = [];\n SubSegment: any[] = [];\n Application: any[] = [];\n\n FinalIndustrySegment: any[] = [];\n FinalSubSegment: any[] = [];\n FinalApplication: any[] = [];\n workflowActionList:any[] = [];\n enquiryStatusList: EnquiryStatusList[]=[];\n workflowId:number;\n @Output() updateLoaderEvent = new EventEmitter();\n UserRolesData:any[]=[];\n roleOfAdmin : any;\n WinLossDataForStatus: any;\n QuotationPdfGenerationHostPath:any;\n\n constructor(private toastr: ToastrService, private commonService: CommonService, public dialog: MatDialog,\n private _location: Location,\n private config: NgbDatepickerConfig,\n private modalService: NgbModal, private activeModel: NgbActiveModal,\n private router: Router, private route: ActivatedRoute, private titleService: Title,\n private appConfigService: AppConfigService) {\n this.today = new Date();\n this.minDate = new NgbDate(this.today.getFullYear(), this.today.getMonth() + 1, this.today.getDate());\n this.StartDate = new NgbDate(2018, 1, 1);\n this.EndDate = new NgbDate(this.today.getFullYear() + 1, 12, 31);\n\n\n }\n ngAfterViewInit() {\n this.showLoader = true;\n setTimeout(() => {\n this.isprocessing = false;\n this.chosenItem = \"1\";\n this.showLoader = false;\n }, 2000);\n //this.stepper.selectedIndex = this.selectedIndexForStatus; \n }\n ngOnInit() {\n this.commonService.previousUrl$.subscribe((previousUrl: string) => {\n this.previousUrl = previousUrl;\n });\n\n let tempRoleWiseScreenDisplay = localStorage.getItem(\"WorkFlowRoleWiseScreenAccess\");\n this.RoleWiseScreenDisplay = tempRoleWiseScreenDisplay.split(\",\");\n const appConfig = this.appConfigService.getConfig();\n this.QuotationPdfGenerationHostPath=appConfig.QuotationPdfGenerationHostPath;\n const dynamicTitle = this.route.snapshot.data['title'];\n this.titleService.setTitle(`${dynamicTitle} - ${appConfig.titleName}`);\n //this.titleService.setTitle(this.route.snapshot.data['title'] + \" - ECOTECH\");\n this.commonService.RefreshHeaderFun();\n this.EnquiryObj.EnquiryDetails.EnquiryId = this.route.snapshot.params[\"id\"];\n this.EnquiryObj.EnquiryDetails.EstimatedProductValue = null;\n this.EnquiryObj.EnquiryDetails.InvoiceAttachment = undefined;\n //this.getRFQProduct();\n this.getEnquirySourceDetails();\n this.getCustomerList();\n this.getEnquiryDetailsById();\n this.getEnquiryStatus();\n this.getAllWorkFlow();\n this.getUserRoles();\n this.isEnquiryLoaded = false;\n this.getSendbackWorkfow();\n this.UserRole = localStorage.getItem(\"UserRole\");\n this.isTechnicalDiscardVisible = AppGlobals.QuoteGenearation_Enquiry_TechnicalDiscardArray.filter(x => x.role\n == this.UserRole)[0]?.isEditable;\n\n this.roleOfAdmin = UserRoles.Admin;\n }\n limitTextOnKeyUpDown1(event: any) {\n let goalText = event.target.value;\n if (goalText.length > this.maxLimit) {\n this.varLongTermGoal = goalText.substring(0, this.maxLimit);\n } else {\n this.remLimit = this.maxLimit - goalText.length;\n }\n }\n\n \n\n toggleAttchments(i) {\n\n this.EnquiryObj.Comments[i].showAttachments = !this.EnquiryObj.Comments[i].showAttachments;\n }\n\n\n getEnquiryDetailsById() {\n this.showLoader = true;\n let queryString = \"\";\n queryString = \"id=\" + this.EnquiryObj.EnquiryDetails.EnquiryId;\n this.commonService.GetData('Enquiry', 'GetById', queryString).subscribe((data: any) => {\n this.EnquiryObj.EnquiryDetails = data.EnquiryDetails;\n if (this.EnquiryObj.EnquiryDetails.QuotationRevisionNo != null && this.EnquiryObj.EnquiryDetails.QuotationRevisionNo > 0) {\n this.getRevisedQuotationFileNamelist(this.EnquiryObj.EnquiryDetails.QuotationNumber, this.EnquiryObj.EnquiryDetails.QuotationRevisionNo);\n }\n\n this.EnquiryObj.EnquiryDetails.EnquiryDate = new NgbDate(new Date(this.EnquiryObj.EnquiryDetails.EnquiryDate).getFullYear(), new Date(this.EnquiryObj.EnquiryDetails.EnquiryDate).getMonth() + 1, new Date(this.EnquiryObj.EnquiryDetails.EnquiryDate).getDate());\n if (this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate != null) {\n this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate = new NgbDate(new Date(this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate).getFullYear(), new Date(this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate).getMonth() + 1, new Date(this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate).getDate());\n }\n if (this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate != null) {\n this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate = new NgbDate(new Date(this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate).getFullYear(), new Date(this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate).getMonth() + 1, new Date(this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate).getDate());\n }\n this.EnquiryObj.EnqCustomerDetails = data.CustomerDetails;\n this.EnquiryObj.RFQObject = data.RFQObject;\n this.EnquiryObj.CustomerServiceComments_Quotation = data.CustomerServiceComments_Quotation;\n this.EnquiryObj.CustomerServiceComments_Order = data.CustomerServiceComments_Order;\n this.EnquiryObj.SalesDirectorComments_Quotation = data.SalesDirectorComments_Quotation;\n\n this.EnquiryObj.SalesDirectorComments_Order = data.SalesDirectorComments_Order;\n this.EnquiryObj.Comments = data.Comments == undefined ? [] : data.Comments;\n\n data.POValues.forEach(ele => \n {\n if(ele.POQuantity > 0)\n {\n if(ele.ScheduledShipmentDate != null)\n {\n ele.ScheduledShipmentDate = new NgbDate(new Date(ele.ScheduledShipmentDate).getFullYear(), new Date(ele.ScheduledShipmentDate).getMonth() + 1, new Date(ele.ScheduledShipmentDate).getDate());\n }\n this.EnquiryObj.POValues.push(ele);\n // console.log( this.EnquiryObj.POValues );\n }\n });\n\n this.WinLossDropdownData = data.ReasonEnquiryWinLossObj;\n this.WinLossDropdownDataForStatus = this.WinLossDropdownData.filter(x => x.Value == this.EnquiryObj.EnquiryDetails.EnquiryConfirmStatus);\n \n if (data.EnquiryDetails.RFQTermsAndCondition == \"Standard\" || data.EnquiryDetails.RFQTermsAndCondition == \"\") {\n\n if (data.TermsAndConditions.length == 0) {\n this.EnquiryObj.EnquiryDetails.RFQTermsAndCondition = \"Standard\";\n this.EnquiryObj.TermsAndConditions = this.TnCStandardFromDropDown;\n } else {\n this.EnquiryObj.TermsAndConditions = data.TermsAndConditions;\n\n }\n this.isStandardCondition = true;\n } else if (data.EnquiryDetails.RFQTermsAndCondition == \"Customized\") {\n\n if (data.CustomTermsAndConditions.length == 0) {\n this.EnquiryObj.EnquiryDetails.RFQTermsAndCondition = \"Customized\";\n this.EnquiryObj.CustomTermsAndConditions = this.TnCCustomizedFromDropDown;\n this.TnCCustomizedDropDownForEditRfq1 = this.TnCCustomizedFromDropDown;\n } else {\n this.EnquiryObj.CustomTermsAndConditions = data.CustomTermsAndConditions;\n this.TnCCustomizedDropDownForEditRfq2 = data.CustomTermsAndConditions;\n }\n\n this.isStandardCondition = false;\n }\n\n this.activityDetails = data.ActivityDetails;\n this.activityDetails.forEach(element => {\n element.ActivityDate = new NgbDate(new Date(element.ActivityDate).getFullYear(), new Date(element.ActivityDate).getMonth() + 1, new Date(element.ActivityDate).getDate());\n\n //element.ActivityDateISO = new NgbDate(new Date(element.ActivityDate).getFullYear(), new Date(element.ActivityDate).getMonth() + 1, new Date(element.ActivityDate).getDate());\n });\n\n //TO POPULATE A SINGLE ROW ON PAGE INIT\n if (this.EnquiryObj.RFQObject.length == 0) {\n var obj = new ProductDetails();\n this.EnquiryObj.RFQObject.push(obj);\n }\n\n //TO POPULATE A SINGLE ROW ON PAGE INIT\n if (this.activityDetails.length == 0) {\n var obj1 = new ActivityModel();\n obj1.ActivityDate = new NgbDate(new Date().getFullYear(), new Date().getMonth() + 1, new Date().getDate());\n obj1.uniqueid = this.makeRandom();\n this.activityDetails.push(obj1);\n }\n\n this.role = localStorage.getItem('UserRole');\n \n if(this.EnquiryObj.EnquiryDetails.segment!=undefined)\n {\n this.SubSegment = this.FinalSubSegment.filter(x=>x.SegmentId==this.EnquiryObj.EnquiryDetails.segment);\n this.Application= this.FinalApplication.filter(x=>x.SubSegmentId==this.EnquiryObj.EnquiryDetails.subSegment);\n }\n if(this.EnquiryObj.EnquiryDetails.segment==null|| this.EnquiryObj.EnquiryDetails.subSegment==null || this.EnquiryObj.EnquiryDetails.application==null)\n {\n this.EnquiryObj.EnquiryDetails.segment=undefined;\n this.EnquiryObj.EnquiryDetails.subSegment=undefined;\n this.EnquiryObj.EnquiryDetails.application=undefined;\n }\n\n this.EnquiryObj.EnquiryDetails.IsFetchFromKYC=data.EnquiryDetails.IsFetchFromKYC;\n \n }, error => {\n this.showLoader = false;\n });\n\n }\n\n getRevisedQuotationFileNamelist(QuotationNumber: string, QuotationRevision: number) {\n let QTNNumber = QuotationNumber.replace(\"QTN/\", \"\");\n QTNNumber = QTNNumber.split(\"/\").join(\"_\");\n let filename = \"Quotation_\" + QTNNumber;\n let pdffilename = filename.split('_R')[0];\n for (let i = 0; i < QuotationRevision; i++) {\n if (i == 0) {\n this.RevisedQuotationFileNameList.push(pdffilename + \".pdf\")\n }\n else {\n this.RevisedQuotationFileNameList.push(pdffilename + \"_R\" + i + \".pdf\")\n }\n }\n\n }\n \n makeRandom() {\n let text = \"\";\n var possible: string = \"ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890,./;'[]\\=-)(*&^%$#@!~\";\n const lengthOfCode = 40;\n for (let i = 0; i < lengthOfCode; i++) {\n text += possible.charAt(Math.floor(Math.random() * possible.length));\n }\n return text;\n }\n\n // getRFQProduct() {\n // this.showLoader = true;\n // this.commonService.GetData(\"Enquiry\", \"GetEnquiryRFQDropdownData\", null).subscribe((data: any) => {\n // this.product = data;\n // this.productDrpdnDetails.MDSOptions = data.MDS;\n // this.productDrpdnDetails.SalesPrice = data.Salesprice;\n // this.productDrpdnDetails.EstimatedProductValue = data.EstimatedProductValue;\n // this.IndustrySegment = data.segment; \n // this.SubSegment = [];\n // this.Application= []; \n // this.FinalIndustrySegment = data.segment;\n // this.FinalSubSegment = data.subSegment;\n // this.FinalApplication= data.application;\n // data.TermsAndConditions.forEach(element => {\n // var obj = new TermsAndCondition();\n // obj.TnCId = element.Id;\n // obj.TnCName = element.Name;\n // obj.TnCValue = element.Value;\n // this.TnCStandardFromDropDown.push(obj);\n // });\n\n // this.demoObject = data.TermsAndConditions;\n\n // this.demoCTCObject = data.CustomTermsAndCondition;\n \n // for (let i = 0; i < data.CustomTermsAndCondition.length; i++) {\n // var obj1 = new CustomTermsAndCondition();\n // obj1.StandardTC = data.CustomTermsAndCondition[i].StandardTC.Id;\n // obj1.StandardTCName = data.CustomTermsAndCondition[i].StandardTC.Name;\n // // this.standardTC.push(data.CustomTermsAndCondition[i].StandardTC);\n\n // for (let j = 0; j < data.CustomTermsAndCondition[i].CustomValues.length; j++) {\n // obj1.CustomValues.push(data.CustomTermsAndCondition[i].CustomValues[j]);\n // }\n // this.TnCCustomizedFromDropDown.push(obj1);\n // }\n\n // this.demoCTCObject = data.CustomTermsAndCondition;\n \n // //this.showLoader = false;\n // });\n // }\n\n custtermscond: any = [];\n OnCustomValueChange(index, id) {\n let CustTcObj: CustomTermsAndCondition = new CustomTermsAndCondition();\n CustTcObj.StandardTC = this.EnquiryObj.CustomTermsAndConditions[index].StandardTC;\n CustTcObj.StandardTCName = this.EnquiryObj.CustomTermsAndConditions[index].StandardTCName;\n CustTcObj.CustValue = this.EnquiryObj.CustomTermsAndConditions[index].CustomValues.find(x => x.Id == id).Name;\n CustTcObj.CustTCId = id;\n \n this.custtermscond.push(CustTcObj)\n // console.log(this.custtermscond);\n }\n\n \n OnCustomValueChange1(index, id) {\n let CustTcObj1: CustomTermsAndCondition = new CustomTermsAndCondition();\n CustTcObj1.StandardTC = this.EnquiryObj.CustomTermsAndConditions[index].StandardTC;\n CustTcObj1.StandardTCName = this.EnquiryObj.CustomTermsAndConditions[index].StandardTCName;\n CustTcObj1.CustValue = this.EnquiryObj.CustomTermsAndConditions[index].CustomValues.find(x => x.Id == id).Name;\n CustTcObj1.CustTCId = id;\n \n let newCustomiseArr = this.EnquiryObj.CustomTermsAndConditions\n this.newCustomTc = newCustomiseArr.map((item,index)=>{\n \n return {\n ...item,\n CustTCId : item.StandardTC == CustTcObj1.StandardTC ? Number(CustTcObj1.CustTCId) :Number(item.CustTCId) ,\n CustValue :item.StandardTC == CustTcObj1.StandardTC ? CustTcObj1.CustValue: item.CustValue\n }\n \n });\n this.EnquiryObj.CustomTermsAndConditions = this.newCustomTc;\n }\n \n\n getCustomerList() {\n this.showLoader = true;\n this.commonService.GetData(\"Customer\", \"GetAll\", null).subscribe((data: any) => {\n this.CustomerList = data;\n\n this.showLoader = false;\n });\n }\n\n getEnquirySourceDetails() {\n this.showLoader = true;\n this.commonService.GetData(\"Enquiry\", \"GetEnquiryDropdownData\", null).subscribe((data: any) => {\n this.enquirySource = data.EnquirySource;\n this.showLoader = false;\n });\n }\n\n getProductDetails() {\n this.showLoader = true;\n this.commonService.GetData(\"Product\", \"GetRFQProductDetails\", null).subscribe((data: any) => {\n this.CustomerList = data;\n //this.showLoader = false;\n });\n }\n\n\n AvoidSpace(event: any) {\n if ((event.which === 46 || event.which === 32) && !event.target.value.length) {\n event.preventDefault();\n }\n }\n\n isNumberKey(evt: any) {\n this.charCode = (evt.which) ? evt.which : evt.keyCode;\n if ((this.charCode == 45 || this.charCode == 43) && this.charCode > 31\n && (this.charCode < 48 || this.charCode > 57)) {\n return false;\n }\n else {\n return true;\n }\n }\n\n isintNumberKey(evt: any) {\n this.charCode = (evt.which) ? evt.which : evt.keyCode;\n if ((this.charCode == 46 || this.charCode == 45 || this.charCode == 43) && this.charCode > 31\n && (this.charCode < 48 || this.charCode > 57)) {\n return false;\n }\n else {\n return true;\n }\n }\n\n\n openCSComments() {\n this.isCustomerCommentVisible = !this.isCustomerCommentVisible;\n }\n\n\n backtoList() {\n // this._location.back();\n if (this.previousUrl == null || this.previousUrl == \"\" || this.previousUrl == undefined) {\n this.router.navigate(['/Enquiry']);\n }\n else if (this.previousUrl.includes(\"PendingEnquiry\")) {\n this.router.navigate(['/PendingEnquiry']);\n }\n else {\n this.router.navigate(['/Enquiry']);\n }\n\n }\n\n\n setTermsAndConditions() {\n if (this.EnquiryObj.EnquiryDetails.RFQTermsAndCondition == 'Standard') {\n this.isStandardCondition = true; \n this.EnquiryObj.TermsAndConditions = this.TnCStandardFromDropDown; \n this.EnquiryObj.TermsAndConditions.forEach(element => { \n var tnc = this.demoObject.filter(x => x.Id == element.TnCId)[0]; \n element.TnCValue = tnc?.Value; \n });\n } else { \n this.isStandardCondition = false; \n this.EnquiryObj.CustomTermsAndConditions = this.TnCCustomizedFromDropDown;\n this.EnquiryObj.CustomTermsAndConditions.forEach(element => {\n var ctnc = this.demoCTCObject.filter(x => x.StandardTC.Id == element.StandardTC)[0];\n element.CustomValues = ctnc?.CustomValues;\n });\n \n }\n }\n\n setTermsAndConditionsEditRfq() {\n \n if (this.EnquiryObj.EnquiryDetails.RFQTermsAndCondition == 'Standard') {\n this.isStandardCondition = true;\n //this.EnquiryObj.TnCObject = this.demoObject; \n this.EnquiryObj.TermsAndConditions = this.TnCStandardFromDropDown;\n\n this.EnquiryObj.TermsAndConditions.forEach(element => {\n var tnc = this.demoObject.filter(x => x.Id == element.TnCId)[0];\n element.TnCValue = tnc?.Value;\n \n });\n } \n else {\n this.isStandardCondition = false;\n\n if (this.EnquiryObj.CustomTermsAndConditions.length == 0) {\n this.EnquiryObj.CustomTermsAndConditions = this.TnCCustomizedFromDropDown;\n\n } else {\n this.EnquiryObj.CustomTermsAndConditions = this.TnCCustomizedDropDownForEditRfq2\n }\n\n this.EnquiryObj.CustomTermsAndConditions.forEach(element => {\n var ctnc = this.demoCTCObject.filter(x => x.StandardTC.Id == element.StandardTC)[0];\n element.CustomValues = ctnc?.CustomValues;\n\n });\n }\n }\n\n editFileDetails(event, index) {\n let file = event.target.files[0];\n let isValidFile = true;\n if (((file.size) / 1000000) <= 5) {\n isValidFile = this.allowedFileType.includes(file.type);\n if (!isValidFile) {\n this.toastr.warning(\"Invalid file attached!\");\n switch (event.target.name) {\n case \"mdsfile\":\n this.EnquiryObj.RFQObject[index].MDSAttachment = [];\n this.EnquiryObj.RFQObject[index].isMDSAttachment = false;\n break;\n case \"itcfile\":\n this.EnquiryObj.RFQObject[index].ITCAttachment = [];\n this.EnquiryObj.RFQObject[index].isITCAttachment = false;\n break;\n case \"customerfile\":\n this.EnquiryObj.RFQObject[index].CustomerAttachment = [];\n this.EnquiryObj.RFQObject[index].isCustomerAttachment = false;\n break;\n case \"weissfile\":\n this.EnquiryObj.RFQObject[index].WeissAttachment = [];\n this.EnquiryObj.RFQObject[index].isWeissAttachment = false;\n break;\n case \"bomfile\":\n this.EnquiryObj.EnquiryDetails.BOMAttachment = [];\n this.isBOMAttachment = false;\n break;\n case \"ecfile\":\n this.EnquiryObj.EnquiryDetails.POAttchments = [];\n break;\n case \"accfile\":\n this.EnquiryObj.EnquiryDetails.InvoiceAttachment = [];\n this.isInvoiceAttachment = false;\n break;\n case \"activityfile\":\n this.activityDetails[index].Attachment = [];\n this.activityDetails[index].isActivityAttachment = false;\n break;\n }\n event.target.value = null;\n isValidFile = false;\n } else if (file.name.length > 50) {\n this.toastr.warning(\"The file name with more than 50 characters are not allowed.\");\n switch (event.target.name) {\n case \"mdsfile\":\n this.EnquiryObj.RFQObject[index].MDSAttachment = [];\n this.EnquiryObj.RFQObject[index].isMDSAttachment = false;\n break;\n case \"itcfile\":\n this.EnquiryObj.RFQObject[index].ITCAttachment = [];\n this.EnquiryObj.RFQObject[index].isITCAttachment = false;\n break;\n case \"customerfile\":\n this.EnquiryObj.RFQObject[index].CustomerAttachment = [];\n this.EnquiryObj.RFQObject[index].isCustomerAttachment = false;\n break;\n case \"weissfile\":\n this.EnquiryObj.RFQObject[index].WeissAttachment = [];\n this.EnquiryObj.RFQObject[index].isWeissAttachment = false;\n break;\n case \"bomfile\":\n this.EnquiryObj.EnquiryDetails.BOMAttachment = [];\n this.isBOMAttachment = false;\n break;\n case \"ecfile\":\n this.EnquiryObj.EnquiryDetails.POAttchments = [];\n break;\n case \"accfile\":\n this.EnquiryObj.EnquiryDetails.InvoiceAttachment = [];\n this.isInvoiceAttachment = false;\n break;\n case \"activityfile\":\n this.activityDetails[index].Attachment = [];\n this.activityDetails[index].isActivityAttachment = false;\n break;\n }\n event.target.value = null;\n isValidFile = false;\n }\n }\n else {\n this.toastr.warning(\"File size must be less than or equal to 5MB!\");\n switch (event.target.name) {\n case \"mdsfile\":\n this.EnquiryObj.RFQObject[index].MDSAttachment = [];\n this.EnquiryObj.RFQObject[index].isMDSAttachment = false;\n break;\n case \"itcfile\":\n this.EnquiryObj.RFQObject[index].ITCAttachment = [];\n this.EnquiryObj.RFQObject[index].isITCAttachment = false;\n break;\n case \"customerfile\":\n this.EnquiryObj.RFQObject[index].CustomerAttachment = [];\n this.EnquiryObj.RFQObject[index].isCustomerAttachment = false;\n break;\n case \"weissfile\":\n this.EnquiryObj.RFQObject[index].WeissAttachment = [];\n this.EnquiryObj.RFQObject[index].isWeissAttachment = false;\n break;\n case \"bomfile\":\n this.EnquiryObj.EnquiryDetails.BOMAttachment = [];\n this.isBOMAttachment = false;\n break;\n case \"ecfile\":\n this.EnquiryObj.EnquiryDetails.POAttchments = [];\n break;\n case \"accfile\":\n this.EnquiryObj.EnquiryDetails.InvoiceAttachment = [];\n this.isInvoiceAttachment = false;\n break;\n case \"activityfile\":\n this.activityDetails[index].Attachment = [];\n this.activityDetails[index].isActivityAttachment = false;\n break;\n }\n event.target.value = null;\n isValidFile = false;\n }\n if (isValidFile) {\n //CHECK IF THE FILE NAME IS NOT TOO BIG\n\n switch (event.target.name) {\n case \"mdsfile\":\n this.EnquiryObj.RFQObject[index].MDSAttachment = [];\n this.EnquiryObj.RFQObject[index].MDSAttachment.push(file);\n this.EnquiryObj.RFQObject[index].isMDSAttachment = true;\n break;\n case \"itcfile\":\n if (!(file.type == 'application/xml' || file.type == 'text/xml')) {\n this.toastr.warning(\"Only xml file supported!\");\n this.EnquiryObj.RFQObject[index].ITCAttachment = [];\n this.EnquiryObj.RFQObject[index].isITCAttachment = false;\n event.target.value = null;\n isValidFile = false;\n }\n else {\n // const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n // maxWidth: \"400px\",\n // data: {\n // title: \"Are you sure?\",\n // message: 'Please make sure that the entered Product and ITC Product are being matched. Do you want to continue?'\n // }\n // });\n // dialogRef.afterClosed().subscribe(dialogResult => {\n // if (dialogResult) {\n this.EnquiryObj.RFQObject[index].ITCAttachment = [];\n this.EnquiryObj.RFQObject[index].ITCAttachment.push(file);\n this.EnquiryObj.RFQObject[index].isITCAttachment = true;\n // }\n // });\n\n }\n break;\n case \"customerfile\":\n this.EnquiryObj.RFQObject[index].CustomerAttachment = [];\n this.EnquiryObj.RFQObject[index].CustomerAttachment.push(file);\n this.EnquiryObj.RFQObject[index].isCustomerAttachment = true;\n break;\n case \"weissfile\":\n this.EnquiryObj.RFQObject[index].WeissAttachment = [];\n this.EnquiryObj.RFQObject[index].WeissAttachment.push(file);\n this.EnquiryObj.RFQObject[index].isWeissAttachment = true;\n break;\n case \"bomfile\":\n this.EnquiryObj.EnquiryDetails.BOMAttachment = [];\n this.EnquiryObj.EnquiryDetails.BOMAttachment.push(file);\n this.isBOMAttachment = true;\n break;\n case \"ecfile\":\n this.EnquiryObj.EnquiryDetails.POAttchments = [];\n this.EnquiryObj.EnquiryDetails.POAttchments.push(file);\n this.isPOAttachment = true;\n break;\n case \"accfile\":\n this.EnquiryObj.EnquiryDetails.InvoiceAttachment = [];\n this.EnquiryObj.EnquiryDetails.InvoiceAttachment.push(file);\n this.isInvoiceAttachment = true;\n break;\n case \"activityfile\":\n this.activityDetails[index].Attachment = [];\n this.activityDetails[index].Attachment.push(file);\n this.activityDetails[index].isActivityAttachment = true;\n break;\n }\n }\n }\n\n getMultipleFileDetails(event) {\n for (let i = 0; i < event.target.files.length; i++) {\n let file = event.target.files[i];\n let isValidFile = true;\n if (((file.size) / 1000000) <= 5) {\n\n isValidFile = this.allowedFileType.includes(file.type);\n if (!isValidFile) {\n this.toastr.warning(\"Invalid file attached!\");\n //event.target.value = null;\n isValidFile = false;\n } else if (file.name.length > 50) {\n this.toastr.warning(\"The file name with more than 50 characters are not allowed.\");\n isValidFile = false;\n }\n }\n else {\n this.toastr.warning(\"File size must be less than or equal to 5MB!\");\n //event.target.value = null;\n isValidFile = false;\n }\n if (isValidFile) {\n switch (event.target.name) {\n case \"quotefiles\":\n if (this.EnquiryObj.EnquiryDetails.QuoteGenAttachments == undefined || this.EnquiryObj.EnquiryDetails.QuoteGenAttachments.length == 0) {\n this.EnquiryObj.EnquiryDetails.QuoteGenAttachments = [];\n }\n this.EnquiryObj.EnquiryDetails.QuoteGenAttachments.push(file);\n break;\n case \"mafile\":\n if (this.EnquiryObj.EnquiryDetails.QuoteGenAttachments == undefined || this.EnquiryObj.EnquiryDetails.QuoteGenAttachments.length == 0) {\n this.EnquiryObj.EnquiryDetails.QuoteGenAttachments = [];\n }\n this.EnquiryObj.EnquiryDetails.QuoteGenAttachments.push(file);\n break;\n case \"ceofile\":\n if (this.EnquiryObj.EnquiryDetails.QuoteGenAttachments == undefined || this.EnquiryObj.EnquiryDetails.QuoteGenAttachments.length == 0) {\n this.EnquiryObj.EnquiryDetails.QuoteGenAttachments = [];\n }\n this.EnquiryObj.EnquiryDetails.QuoteGenAttachments.push(file);\n break;\n case \"maofile\":\n if (this.EnquiryObj.EnquiryDetails.QuoteGenAttachments == undefined || this.EnquiryObj.EnquiryDetails.QuoteGenAttachments.length == 0) {\n this.EnquiryObj.EnquiryDetails.QuoteGenAttachments = [];\n }\n this.EnquiryObj.EnquiryDetails.QuoteGenAttachments.push(file);\n break;\n }\n }\n }\n }\n\n removeQuoteGenAttachments(index) {\n this.EnquiryObj.EnquiryDetails.QuoteGenAttachments.splice(index, 1);\n this.myInputVariable.nativeElement.value = \"\";\n\n }\n removeQuoteGenAttachmentsDB(index) {\n this.EnquiryObj.RemoveFiles.push(this.EnquiryObj.EnquiryDetails.QuoteAttachmentsArray[index].FilePath);\n this.EnquiryObj.EnquiryDetails.QuoteAttachmentsArray[index].FileName = null;\n this.EnquiryObj.EnquiryDetails.QuoteAttachmentsArray[index].FilePath = null;\n this.EnquiryObj.EnquiryDetails.QuoteAttachmentsArray.splice(index, 1);\n }\n removeBOMAttachments(flag) {\n if (flag == 1) {\n this.EnquiryObj.RemoveFiles.push(this.EnquiryObj.EnquiryDetails.BOM_filepath);\n }\n this.isBOMAttachment = false;\n this.EnquiryObj.EnquiryDetails.BOMAttachment = [];\n this.EnquiryObj.EnquiryDetails.BOM_filename = null;\n this.EnquiryObj.EnquiryDetails.BOM_filepath = null;\n }\n\n removeInvoiceAttachments() {\n this.isInvoiceAttachment = false;\n this.myInputVariable.nativeElement.value = \"\";\n this.EnquiryObj.EnquiryDetails.InvoiceAttachment = undefined;\n }\n\n\n\n GenerateOANumber() {\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Once OA Number Generated, can't be altered. Do you want to continue?\"\n }\n });\n dialogRef.afterClosed().subscribe(dialogResult => {\n if (dialogResult) {\n this.showLoader = true;\n let queryString = \"\";\n queryString = \"id=\" + this.EnquiryObj.EnquiryDetails.EnquiryId;\n this.commonService.GetData('Enquiry', 'GenerateOANo', queryString).subscribe((data: any) => {\n\n this.EnquiryObj.EnquiryDetails.OrdAcknowledgeNumber = data;\n this.isOAGenerated = true;\n this.showLoader = false;\n this.toastr.success('Order Acknowledgement Number generated successfully!');\n\n }, error => {\n this.EnquiryObj.EnquiryDetails.OrdAcknowledgeNumber = undefined;\n this.toastr.error('Failed to Order Acknowledgement Number!');\n this.isOAGenerated = false;\n this.showLoader = false;\n });\n }\n });\n }\n\n \n\n\n SetStatus(rule, myform: any) {\n this.PreviousStatus = this.EnquiryObj.EnquiryDetails.Status;\n this.EnquiryObj.EnquiryDetails.Status = rule[0].workflowNextStatusId;\n this.AddEnquiry();\n\n }\n\n AddEnquiry() {\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='EnquiryAdded')[0]?.Pk_Id\n || this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='RFQSaveAsDraft')[0]?.Pk_Id\n || this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='RFQSubmittedbySalesEngg')[0]?.Pk_Id) {\n \n this.checkRFQGridValidation();\n if (!this.IsRFQDataValid) {\n return;\n }\n if (this.EnquiryObj.EnquiryDetails.RFQTermsAndCondition == 'Standard')\n {\n let tnc = this.EnquiryObj.TermsAndConditions.filter(x => (x.TnCValue == undefined || x.TnCValue == null || x.TnCValue == ''));\n if (tnc.length > 0) {\n return;\n }\n this.EnquiryObj.CustomTermsAndConditions=null;\n }\n \n if (this.EnquiryObj.EnquiryDetails.RFQTermsAndCondition == 'Customized')\n {\n let ctnc = this.EnquiryObj.CustomTermsAndConditions.filter(x => (x.CustomValues == undefined || x.CustomValues == null))\n if (ctnc.length > 0) {\n return;\n } \n this.EnquiryObj.TermsAndConditions=null;\n } \n \n \n }\n //Dont proceed if the BOM attachment is not present\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='SendBOMandProposal')[0]?.Pk_Id || this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='QuotationSenttoCustomerService')[0]?.Pk_Id ||\n this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='RFQsentbyL1toL2')[0]?.Pk_Id) {\n if ((this.EnquiryObj.EnquiryDetails.BOMAttachment == null || this.EnquiryObj.EnquiryDetails.BOMAttachment == undefined || this.EnquiryObj.EnquiryDetails.BOMAttachment.length == 0) &&\n (this.EnquiryObj.EnquiryDetails.BOM_filename == null || this.EnquiryObj.EnquiryDetails.BOM_filename == undefined || this.EnquiryObj.EnquiryDetails.BOM_filename == \"\")) {\n this.toastr.info('BOM attachment is required.');\n return;\n }\n }\n\n // //Dont proceed if the Po attachment is not present\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='EnquiryOrderConfirmedbySalesEngg')[0]?.Pk_Id) {\n if ((this.EnquiryObj.EnquiryDetails.POAttchments == null || this.EnquiryObj.EnquiryDetails.POAttchments == undefined || this.EnquiryObj.EnquiryDetails.POAttchments.length == 0) &&\n (this.EnquiryObj.EnquiryDetails.PO_filename == null || this.EnquiryObj.EnquiryDetails.PO_filename == undefined || this.EnquiryObj.EnquiryDetails.PO_filename == \"\")) {\n this.toastr.info('PO attachment is required.');\n return;\n }\n }\n\n // //Dont proceed if the Invoice attachment is not present\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='AccountsConfirmInvoiceNo')[0]?.Pk_Id) {\n if ((this.EnquiryObj.EnquiryDetails.InvoiceAttachment == null || this.EnquiryObj.EnquiryDetails.InvoiceAttachment == undefined || this.EnquiryObj.EnquiryDetails.InvoiceAttachment.length == 0) &&\n (this.EnquiryObj.EnquiryDetails.Invoice_filename == null || this.EnquiryObj.EnquiryDetails.Invoice_filename == undefined || this.EnquiryObj.EnquiryDetails.Invoice_filename == \"\")) {\n this.EnquiryObj.EnquiryDetails.Status = this.enquiryStatusList.filter(x=>x.Status=='MaterialReadyForDispatch')[0]?.Pk_Id;\n this.toastr.info('Invoice attachment is required.');\n return;\n }\n }\n\n\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='EnquiryOrderConfirmedbySalesEngg')[0]?.Pk_Id) {\n if ((this.EnquiryObj.EnquiryDetails.POAttchments == undefined || this.EnquiryObj.EnquiryDetails.POAttchments == null || this.EnquiryObj.EnquiryDetails.POAttchments.length==0)) {\n return;\n }\n }\n\n\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='OrdersentforMngmtApproval_SalesDirector')[0]?.Pk_Id) {\n if (this.isPOAttacmentDelete) {\n if ((this.EnquiryObj.EnquiryDetails.POAttchments == undefined || this.EnquiryObj.EnquiryDetails.POAttchments == null || this.EnquiryObj.EnquiryDetails.POAttchments.length == 0)) {\n return;\n }\n }\n\n }\n\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='OrderConfirmedbyCustomerServiceSendSO')[0]?.Pk_Id) {\n if (this.isPOAttacmentDelete) {\n if ((this.EnquiryObj.EnquiryDetails.POAttchments == undefined || this.EnquiryObj.EnquiryDetails.POAttchments == null || this.EnquiryObj.EnquiryDetails.POAttchments.length == 0)) {\n return;\n }\n }\n }\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='AccountsConfirmInvoiceNo')[0]?.Pk_Id) {\n if (this.EnquiryObj.EnquiryDetails.InvoiceAttachment == undefined) {\n this.EnquiryObj.EnquiryDetails.Status = this.enquiryStatusList.filter(x=>x.Status=='MaterialReadyForDispatch')[0]?.Pk_Id\n return;\n }\n }\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='OrdersentforMngmtApproval_SalesDirector')[0]?.Pk_Id ||\n this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='OrderConfirmedbyCustomerServiceSendSO')[0]?.Pk_Id) {\n let sum: number = 0;\n this.EnquiryObj.POValues.forEach(element => {\n element.ProductModelPOValue = (element.ProductModelPOValue == null || element.ProductModelPOValue == '' || element.ProductModelPOValue == undefined)\n ? '0' : element.ProductModelPOValue;\n sum = sum + parseInt(element.ProductModelPOValue);\n element.QUotationValueValidation = false;\n });\n if (sum.toString() != this.EnquiryObj.EnquiryDetails.POValue) {\n document.getElementById(\"povalue0\").focus();\n this.toastr.info('Total PO value and product wise PO values are not matching.');\n this.EnquiryObj.EnquiryDetails.Status = this.PreviousStatus;\n this.UpdatePO = false;\n return;\n }\n }\n\n setTimeout(() => this.openPopup());\n }\n openPopup() {\n var confimrmsg = this.AppGlobals.successMessages.filter(x => x.id == this.EnquiryObj.EnquiryDetails.Status)[0];\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: confimrmsg.confirmmsg\n }\n });\n dialogRef.afterClosed().subscribe(dialogResult => {\n if (dialogResult) {\n // this.showLoader = true;\n this.updateLoaderEvent.emit(true);\n const frmData = new FormData();\n this.EnquiryObj.RFQObject.forEach(item => {\n item.IsRowDeleted = false;\n });\n if (this.EnquiryObj.EnquiryDetails.EnquiryDate != undefined) {\n this.EnquiryObj.EnquiryDetails.EnquiryDateISO = new Date(this.convertDate(new NgbDate(this.EnquiryObj.EnquiryDetails.EnquiryDate.year, this.EnquiryObj.EnquiryDetails.EnquiryDate.month, this.EnquiryObj.EnquiryDetails.EnquiryDate.day))).toDateString();\n }\n // if (this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate != undefined) {\n // this.EnquiryObj.EnquiryDetails.TentativeDeliveryDateISO = new Date(this.convertDate(new NgbDate(this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate.year, this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate.month, this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate.day))).toDateString();\n // }\n if (this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate != undefined) {\n this.EnquiryObj.EnquiryDetails.RequestedDeliveryDateISO = new Date(this.convertDate(new NgbDate(this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate.year, this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate.month, this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate.day))).toDateString();\n }\n if (this.EnquiryObj.EnquiryDetails.EnquiryDate != undefined) {\n this.EnquiryObj.EnquiryDetails.EnquiryDate = new Date(this.convertDate(new NgbDate(this.EnquiryObj.EnquiryDetails.EnquiryDate.year, this.EnquiryObj.EnquiryDetails.EnquiryDate.month, this.EnquiryObj.EnquiryDetails.EnquiryDate.day)));\n }\n // if (this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate != undefined) {\n // this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate = new Date(this.convertDate(new NgbDate(this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate.year, this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate.month, this.EnquiryObj.EnquiryDetails.TentativeDeliveryDate.day)));\n // }\n if (this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate != undefined) {\n this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate = new Date(this.convertDate(new NgbDate(this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate.year, this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate.month, this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate.day)));\n }\n\n if(this.EnquiryObj.POValues.length > 0)\n {\n this.EnquiryObj.POValues.forEach(ele => {\n ele.ScheduledShipmentDate = new Date(this.convertDate(new NgbDate(ele.ScheduledShipmentDate.year, ele.ScheduledShipmentDate.month, ele.ScheduledShipmentDate.day))).toDateString();\n });\n }\n\n if (this.EnquiryObj.EnquiryDetails.RFQTermsAndCondition == \"Customized\") {\n this.EnquiryObj.TermsAndConditions = null;\n \n if(this.QGRFQEditable == true)\n {\n this.EnquiryObj.CustomTermsAndConditions;\n \n }else{\n this.EnquiryObj.CustomTermsAndConditions = this.custtermscond;\n }\n }\n \n let EnquiryObj = JSON.stringify(this.EnquiryObj);\n frmData.append(\"EnquiryModel\", EnquiryObj);\n\n // this.showLoader = true;\n //this.updateLoaderEvent.emit(true);\n if (this.EnquiryObj.EnquiryDetails.QuoteGenAttachments != null) {\n for (let i = 0; i < this.EnquiryObj.EnquiryDetails.QuoteGenAttachments.length; i++) {\n frmData.append(\"QuoteGenAttachments[\" + i + \"]\", this.EnquiryObj.EnquiryDetails.QuoteGenAttachments[i]);\n }\n }\n for (let i = 0; i < this.EnquiryObj.RFQObject.length; i++) {\n if (this.EnquiryObj.RFQObject[i].MDSAttachment != undefined) {\n frmData.append(\"MDSAttachment[\" + i + \"]\", this.EnquiryObj.RFQObject[i].MDSAttachment[0]);\n }\n if (this.EnquiryObj.RFQObject[i].ITCAttachment != undefined) {\n frmData.append(\"ITCAttachment[\" + i + \"]\", this.EnquiryObj.RFQObject[i].ITCAttachment[0]);\n }\n if (this.EnquiryObj.RFQObject[i].CustomerAttachment != undefined) {\n frmData.append(\"CustomerAttachment[\" + i + \"]\", this.EnquiryObj.RFQObject[i].CustomerAttachment[0]);\n }\n if (this.EnquiryObj.RFQObject[i].WeissAttachment != undefined) {\n frmData.append(\"WeissAttachment[\" + i + \"]\", this.EnquiryObj.RFQObject[i].WeissAttachment[0]);\n }\n }\n if (this.EnquiryObj.EnquiryDetails.BOMAttachment) {\n frmData.append(\"BOMAttachment\", this.EnquiryObj.EnquiryDetails.BOMAttachment[0]);\n }\n if (this.EnquiryObj.EnquiryDetails.InvoiceAttachment) {\n frmData.append(\"InvoiceAttachment\", this.EnquiryObj.EnquiryDetails.InvoiceAttachment[0]);\n }\n if (this.EnquiryObj.EnquiryDetails.POAttchments) {\n frmData.append(\"POAttchments\", this.EnquiryObj.EnquiryDetails.POAttchments[0]);\n }\n \n this.commonService.PostData(\"Enquiry\", \"Add\", frmData, null).subscribe((data: any) => {\n this.customerDrpdnDetails = data;\n // this.EnquiryObj.EnquiryDetails.EnquiryId = data;\n \n // if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='EnquiryAdded')[0]?.Pk_Id.SupplyChainConfirmedDeliveryDate) {\n // this.generateOAPDF();\n // }\n\t // else {\n // this.showLoader = false;\n this.updateLoaderEvent.emit(false);\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='RFQAcceptedbyL1')[0]?.Pk_Id ||\n this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='QuotationRevision')[0]?.Pk_Id ||\n this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='RFQSubmittedbyL1')[0]?.Pk_Id ||\n this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='RFQSubmittedbyL2')[0]?.Pk_Id ||\n this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='RFQSubmittedbyL3')[0]?.Pk_Id ||\n this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='RFQSubmittedbyCustomerService')[0]?.Pk_Id ||\n this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='OANoGenerated')[0]?.Pk_Id) {\n // this.router.navigate(['/EditViewEnquiry/' + this.EnquiryObj.EnquiryDetails.EnquiryId]);\n // this.toastr.success(confimrmsg.successmsg);\n window.location.reload();\n } else {\n // this.showLoader = false;\n this.router.navigate(['/Enquiry']);\n this.toastr.success(confimrmsg.successmsg);\n //this.backtoList();\n }\n //}\n }, error => {\n this.toastr.error(confimrmsg.errormsg);\n //this.showLoader = false;\n this.updateLoaderEvent.emit(false);\n });\n } else {\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='QuotationRevision')[0]?.Pk_Id) {\n this.chosenItem = \"2\";\n this.quoterevcomments = this.EnquiryObj.EnquiryDetails.Comments;\n this.EnquiryObj.EnquiryDetails.Comments = \"\";\n }\n else {\n\n if (this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='OrdersentforMngmtApproval_SalesDirector')[0]?.Pk_Id ||\n this.EnquiryObj.EnquiryDetails.Status == this.enquiryStatusList.filter(x=>x.Status=='OrderConfirmedbyCustomerServiceSendSO')[0]?.Pk_Id) {\n this.UpdatePO = false;\n }\n if (this.PreviousStatus > 0) {\n this.EnquiryObj.EnquiryDetails.Status = this.PreviousStatus;\n }\n\n }\n\n }\n });\n\n }\n\n \n\n\n checkRFQGridValidation() {\n var inde = 0;\n this.IsRFQDataValid = true;\n this.EnquiryObj.RFQObject.forEach((element, index) => {\n if (element.ProductLine == undefined || element.ProductLine == null || element.ProductLine == 0) {\n document.getElementById(\"productline\" + index).focus();\n element.ProductLineValidation = true;\n this.IsRFQDataValid = false;\n }\n if (element.ProductModel == undefined || element.ProductModel == null || element.ProductModel == 0) {\n document.getElementById(\"productmodel\" + index).focus();\n element.ProductModelValidation = true;\n this.IsRFQDataValid = false;\n }\n if (element.Quantity == undefined || element.Quantity == null || element.Quantity == 0) {\n document.getElementById(\"quantity\" + index).focus();\n element.QuantityValidation = true;\n this.IsRFQDataValid = false;\n }\n if (element.MDSOption == undefined || element.MDSOption == null || element.MDSOption == 0) {\n document.getElementById(\"mdsoption\" + index).focus();\n element.MDSOptionValidation = true;\n this.IsRFQDataValid = false;\n }\n if (element.SalesPrice == undefined || element.SalesPrice == null || element.SalesPrice == 0) {\n document.getElementById(\"salesprice\" + index).focus();\n element.SalesPriceValidation = true;\n this.IsRFQDataValid = false;\n }\n if (element.SalesDiscount == undefined || element.SalesDiscount == null) {\n document.getElementById(\"salesdiscount\" + index).focus();\n element.SalesDiscountValidation = true;\n this.IsRFQDataValid = false;\n }\n\n });\n\n }\n\n convertDate(date: any) {\n let year = date.year;\n let month = date.month;\n let day = date.day;\n return year + \"-\" + month + \"-\" + day;\n }\n\n\n\n downloadPDF() {\n const url = this.QuotationPdfGenerationHostPath+ 'uploads/pdf/' + this.EnquiryObj.EnquiryDetails.QuotationPdf_filename;\n window.open(url, \"download\");\n }\n\n DownloadPDFfromServer(Filename: any) {\n this.commonService.gereatePDF('Enquiry', 'DownloadPDF', Filename).subscribe((data: any) => {\n\n importedSaveAs(data, Filename);\n });\n }\n checkattachment() {\n this.rfqattpresent = false;\n this.EnquiryObj.RFQObject.forEach(element => {\n if (!(element.MDS_filename == null || element.MDS_filename == undefined || element.MDS_filename == '')) {\n this.rfqattpresent = true;\n }\n if (!(element.ITC_filename == null || element.ITC_filename == undefined || element.ITC_filename == '')) {\n this.rfqattpresent = true;\n }\n if (!(element.Weiss_filename == null || element.Weiss_filename == undefined || element.Weiss_filename == '')) {\n this.rfqattpresent = true;\n }\n if (!(element.Customer_filename == null || element.Customer_filename == undefined || element.Customer_filename == '')) {\n this.rfqattpresent = true;\n }\n });\n }\n DownloadAllAttachments() {\n this.checkattachment();\n if (!this.rfqattpresent) {\n this.toastr.info('No attachment present.');\n return;\n }\n this.showLoader = true;\n let queryString = \"\";\n queryString = \"id=\" + this.EnquiryObj.EnquiryDetails.EnquiryId;\n this.commonService.GetData('Enquiry', 'Download', queryString).subscribe((data: any) => {\n var url = AppGlobals.ZipDownloadUrl + data + '.zip';\n window.open(url, \"_blank\");\n this.showLoader = false;\n }, error => {\n this.showLoader = false;\n });\n }\n\n\n\n public saveAsFile(pdfurl: any, fileName: string): void {\n //const data: Blob = new Blob([buffer], { type: EXCEL_TYPE });\n FileSaver.saveAs(this.fileDownloadPath + pdfurl, fileName);\n }\n\n onSelectDate(date: NgbDateStruct, dateType: string) {\n if (date != null) {\n if (dateType == 'RequestedDeliveryDate') {\n this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate = date;\n this.EnquiryObj.EnquiryDetails.RequestedDeliveryDate = this.ngbDateParserFormatter.format(date);\n }\n else if (dateType == 'EnquiryDate') {\n this.EnquiryObj.EnquiryDetails.EnquiryDate = date;\n this.EnquiryObj.EnquiryDetails.EnquiryDate = this.ngbDateParserFormatter.format(date);\n }\n\n }\n }\n\n\n generateOAPDF() {\n this.showLoader = true;\n let queryString = \"\";\n\n let url = AppGlobals.baseAppUrl + \"PrintPdf/GenerateOAPdf?EnquiryId=\" + this.EnquiryObj.EnquiryDetails.EnquiryId;\n queryString += \"Url=\" + url;\n queryString += \"&EnquiryId=\" + this.EnquiryObj.EnquiryDetails.EnquiryId;\n\n this.commonService.GetData('Enquiry', 'GenerateOAPdf', queryString).subscribe((data: any) => {\n let res = data;\n this.toastr.success('OA Generated Successfully!');\n window.location.reload();\n this.showLoader = false;\n }, error => {\n this.toastr.error('OA not generated successfully!');\n this.showLoader = false;\n });\n }\n\n getAllWorkFlow() {\n this.commonService.GetData(\"Workflow\", \"GetAll\", null).subscribe((data: any) => {\n \n if(data!=null){\n var workflowData = data;\n this.workflowId=workflowData.filter(x=>x.document_type_code == \"SUPPLY_CHAIN\")[0].workflow_id;\n this.getWorkflowActions(this.workflowId);\n }\n this.updateLoaderEvent.emit(false);\n }, error => {\n this.updateLoaderEvent.emit(false);\n });\n }\n\n getWorkflowActions(workflowId:any)\n { \n let queryString = \"\";\n queryString = \"enquiryId=\" + this.EnquiryObj.EnquiryDetails.EnquiryId +\"&workflowId=\" + workflowId ;\n\n this.updateLoaderEvent.emit(true);\n this.commonService.GetData(\"EnquiryWorkflowTransitionRules\",\"GetTransitionRulesByStatus\",queryString).subscribe((data: any) => {\n this.workflowActionList=data;\n this.updateLoaderEvent.emit(false);\n }, error => {\n this.updateLoaderEvent.emit(false);\n });\n }\n\n getEnquiryStatus()\n {\n this.commonService.GetData(\"Enquiry\",\"GetEnquiryStatus\", null).subscribe((data: any) => {\n this.enquiryStatusList=data;\n this.updateLoaderEvent.emit(false);\n }, error => {\n this.updateLoaderEvent.emit(false);\n });\n }\n\n OnWorkflowAction(myform9:NgForm,workflowActionId:number)\n { \n var rule= this.workflowActionList.filter(x=>x.workflowActionId==workflowActionId);\n \n myform9.control.markAllAsTouched();\n if(myform9.invalid)\n {\n this.toastr.error(\"Please fill required information\");\n return;\n } \n this.SetStatus(rule,myform9); \n }\n\n getUserRoles(){\n this.commonService.GetData(\"Account\", \"GetAll\", null).subscribe((data: any) => {\n this.UserRolesData = data;\n \n this.updateLoaderEvent.emit(false);\n }, error => {\n this.updateLoaderEvent.emit(false);\n });\n }\n\n \n sendbackRules:EnquirySendBack[]=[];\n getSendbackWorkfow()\n {\n this.updateLoaderEvent.emit(true);\n this.commonService.GetData(\"EnquiryWorkflowTransitionRules\",\"GetWorkflowSendbackRule\", null).subscribe((data: any) => {\n this.sendbackRules=data;\n this.updateLoaderEvent.emit(false);\n }, error => {\n this.updateLoaderEvent.emit(false);\n });\n }\n\n rule:EnquirySendBack;\n SendBack()\n { \n var quotationRule= this.sendbackRules.filter(x=>x.WorkflowId==this.workflowId);\n this.rule=quotationRule[0];\n\n const modalRef = this.modalService.open(SendBackCommentComponent, {\n size: 'lg', backdrop: 'static', keyboard: false\n });\n\n var sendBackObj = {\n EnquiryId: this.EnquiryObj.EnquiryDetails.EnquiryId,\n workflowId: this.workflowId,\n finalrule: this.rule\n }\n modalRef.componentInstance.sendBackObj = sendBackObj;\n modalRef.result.then((result) => {\n this.closeResult = `Closed with:${result}`;\n if (this.closeResult !== 'Closed with:Close click') {\n this.ngOnInit();\n }\n });\n }\n}\n","\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n Supply Chain\n

    \n
    \n
    \n
    \n \n
    \n
    \n
    \n * Marked fields are\n mandatory\n
    \n
    \n\n
    \n \n
    \n {{EnquiryObj.EnqCustomerDetails.CustomerName}}\n
    \n
    \n \n
    \n {{EnquiryObj.EnqCustomerDetails.IndustrySegment}}\n
    \n
    \n
    \n \n
    \n {{EnquiryObj.EnqCustomerDetails.CustomerType}}\n
    \n
    \n \n
    \n {{EnquiryObj.EnqCustomerDetails.Region}}\n
    \n
    \n
    \n \n
    \n {{EnquiryObj.EnquiryDetails.RFQTermsAndCondition}}\n
    \n
    \n \n
    \n €\n {{EnquiryObj.EnquiryDetails.FinalAmount |\n indianCurrency}}/-\n
    \n
    \n
    \n \n
    \n {{EnquiryObj.EnquiryDetails.KindAttention}}\n
    \n
    \n \n \n
    \n
    \n \n
    \n € {{EnquiryObj.EnquiryDetails.POValue |\n indianCurrency}}/-\n
    \n
    \n \n \n\n
    \n\n
    \n \n \n
    \n \n
    \n \n
    \n\n\n
    \n\n
    \n \n
    \n \n\n
    \n
    \n Type is\n required\n
    \n
    \n
    \n\n
    \n\n\n \n
    \n
    \n Upload\n \n
    \n
    \n {{AppGlobals.supportedFileFormatsForOtherMultipleAttachments}}\n 0\">\n
      \n \n
    • \n {{item.name}}  \n
    • \n \n
    \n\n \n
    \n\n
    \n\n
    \n\n
    \n \n \n \n Product Model\n PO Quantity\n Scheduled Shipment Date *\n \n \n \n \n\n \n {{item.ProductModelName}}\n \n {{item.POQuantity}}\n \n \n
    \n \n
    \n \n \n \n
    \n
    \n\n \n \n \n \n
    \n\n
    \n\n
    \n \n
    \n \n Limit {{maxLimit}} characters,\n {{remLimit}} characters\n remaining.\n
    \n
    \n Comment is\n required\n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n \n    \n \n\n \n    \n \n
    \n\n
    \n
    \n
    \n
    \n
    \n ","import { Component, Input, OnInit } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { NgbActiveModal, NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { ToastrService } from 'ngx-toastr';\nimport { AppGlobals } from 'src/app/app.global';\nimport { ConfirmDialogComponent } from 'src/app/confirm-dialog/confirm-dialog.component';\nimport { EnquiryStatus } from 'src/app/EnquiryStatus';\nimport { EnquiryDetailsModel } from 'src/app/Model/EnquiryModel';\nimport { SingleFieldModel } from 'src/app/Model/SingleFieldModel';\nimport { CommonService } from 'src/app/Service/common.service';\nimport { UserRoles } from 'src/app/UserRoles';\nimport { Router } from '@angular/router';\nimport { NgForm } from '@angular/forms';\n\n\n@Component({\n selector: 'app-technical-discard',\n templateUrl: './technical-discard.component.html',\n styleUrls: ['./technical-discard.component.scss']\n})\nexport class TechnicalDiscardComponent implements OnInit {\n\n EnquiryObj: EnquiryDetailsModel = new EnquiryDetailsModel();\n\n @Input() showLoader: boolean = false;\n @Input() enquiryDataObj;\n //technicalDiscardReasonList: any;\n technicalDiscardReasonList: SingleFieldModel[] = [];\n enqId: any;\n selectedTCReason: any = 0;\n technicalDiscardReasonValidation: boolean;\n role: string;\n enquiryStatus = EnquiryStatus;\n btnforL1: boolean = false;\n btnforL2: boolean = false;\n btnforL3: boolean = false;\n enqNextStatusId:any;\n remLimit: any = 1500;\n maxLimit: any = 1500;\n varLongTermGoal: any;\n\n constructor(private toastr: ToastrService, private activeModal: NgbActiveModal,\n private commonService: CommonService, private modalService: NgbModal, public dialog: MatDialog,\n private router: Router) { }\n\n ngOnInit(): void {\n this.role = localStorage.getItem(\"UserRole\");\n // console.log(\"openTechnicalDiscardPopup data --->\", this.enquiryDataObj);\n this.enqId = this.enquiryDataObj.EnquiryId;\n this.enqNextStatusId= this.enquiryDataObj.EnquiryStatusId;\n this.getAllTechnicalDiscardReason();\n this.getEnquiryDetailsById(this.enqId);\n this.ButtonsAccess();\n }\n\n\n // getAllTechnicalDiscardReason() {\n // this.showLoader = true;\n\n // this.commonService.GetData('Enquiry', 'GetTechnicalDiscardDropdownData', null).subscribe((data: any) => {\n // this.technicalDiscardReasonList = data.TechnicalDiscard;\n // // console.log(\"technicalDiscardReasonList\", this.technicalDiscardReasonList);\n // this.showLoader = false;\n // }, error => {\n // this.toastr.error(\"Failed to load data!\");\n // this.showLoader = false;\n // });\n\n // }\n\n getAllTechnicalDiscardReason() {\n this.showLoader = true;\n let reasoncode = 'TECH_CAT'\n let queryString = \"\";\n queryString = \"reasonCatCode=\" + reasoncode;\n this.commonService.GetData(\"ReasonEnquiryWinLoss\", \"GetAllReason\", queryString).subscribe((data: any) => {\n this.technicalDiscardReasonList = data;\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n\n }\n\n getEnquiryDetailsById(id) {\n let queryString = \"\";\n queryString = \"id=\" + id;\n this.commonService.GetData('Enquiry', 'GetById', queryString).subscribe((data: any) => {\n this.EnquiryObj.EnquiryDetails = data.EnquiryDetails;\n if(this.EnquiryObj.EnquiryDetails.TechnicalDiscardId==null)\n {\n this.EnquiryObj.EnquiryDetails.TechnicalDiscardId=undefined;\n }\n },error => {\n this.showLoader = false;\n });\n }\n\n onTCReasonChange(id) {\n this.technicalDiscardReasonValidation = false;\n this.selectedTCReason = id;\n console.log(\"id of selected tc--->\", this.selectedTCReason);\n\n }\n\n closePopup() {\n this.activeModal.close('Close Click');\n }\n\n ButtonsAccess() {\n //this.isQuotationEditable = true;\n /**************************Admin Access******************************* */\n if (this.role == UserRoles.Admin) {\n if (this.enquiryDataObj.PendingAtRoleId == UserRoles.L1) {\n this.btnforL1 = true;\n }\n if (this.enquiryDataObj.PendingAtRoleId == UserRoles.L2) {\n this.btnforL2 = true;\n }\n if (this.enquiryDataObj.PendingAtRoleId == UserRoles.L3) {\n this.btnforL3 = true;\n }\n\n }\n /**************************End Admin Access******************************* */\n if (this.role == UserRoles.L1) {\n this.btnforL1 = true;\n }\n if (this.role == UserRoles.L2) {\n this.btnforL2 = true;\n }\n if (this.role == UserRoles.L3) {\n this.btnforL3 = true;\n }\n }\n\n EnquiryTechnicalDiscard(technicalDiscardForm : NgForm) {\n \n // if (this.EnquiryObj.EnquiryDetails.EnquiryConfirmReason == undefined || this.EnquiryObj.EnquiryDetails.EnquiryConfirmReason == null ||\n // this.EnquiryObj.EnquiryDetails.EnquiryConfirmReason == 0) {\n // return;\n // }\n\n technicalDiscardForm.control.markAllAsTouched();\n if (technicalDiscardForm.invalid) {\n this.toastr.error(\"Please fill required information\");\n return;\n }\n\n var technicaldiscardclosereasondetails = this.technicalDiscardReasonList.filter(x => x.Id == this.EnquiryObj.EnquiryDetails.EnquiryConfirmReason)\n this.EnquiryObj.EnquiryDetails.EnquiryConfirmStatus = technicaldiscardclosereasondetails[0].Name; \n this.EnquiryObj.EnquiryDetails.ReasonCategory = technicaldiscardclosereasondetails[0].ReasonCategoryId;\n\n this.EnquiryObj.EnquiryDetails.Status = this.enqNextStatusId;\n var confimrmsg = AppGlobals.successMessages.filter(x => x.id == this.enqNextStatusId)[0];\n this.showLoader = true;\n let enquiryDetails = JSON.stringify(this.EnquiryObj);\n const frmData = new FormData();\n frmData.append(\"enquiryDetails\", enquiryDetails);\n\n this.commonService.PostData(\"Enquiry\", \"TechnicalDiscardUpdate\", frmData, null).subscribe((data: any) => {\n this.EnquiryObj.EnquiryDetails.EnquiryId = data;\n\n this.showLoader = false;\n this.toastr.success(confimrmsg.successmsg);\n this.router.navigate(['/Enquiry']);\n this.closePopup();\n\n }, error => {\n this.toastr.error(confimrmsg.errormsg);\n this.showLoader = false;\n });\n\n // const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n // maxWidth: \"400px\",\n // data: {\n // title: \"Are you sure?\",\n // message: confimrmsg.confirmmsg\n // }\n // });\n\n // dialogRef.afterClosed().subscribe(dialogResult => {\n // if (dialogResult) {\n // this.showLoader = true;\n\n // let enquiryDetails = JSON.stringify(this.EnquiryObj);\n // const frmData = new FormData();\n // frmData.append(\"enquiryDetails\", enquiryDetails);\n\n // this.commonService.PostData(\"Enquiry\", \"TechnicalDiscardUpdate\", frmData, null).subscribe((data: any) => {\n // this.EnquiryObj.EnquiryDetails.EnquiryId = data;\n\n // this.showLoader = false;\n // this.toastr.success(confimrmsg.successmsg);\n // this.router.navigate(['/Enquiry']);\n // this.closePopup();\n\n // }, error => {\n // this.toastr.error(confimrmsg.errormsg);\n // this.showLoader = false;\n // });\n // }\n // });\n }\n\n limitTextOnKeyUpDown1(event: any) {\n let goalText = event.target.value;\n if (goalText.length > this.maxLimit) {\n this.varLongTermGoal = goalText.substring(0, this.maxLimit);\n } else {\n this.remLimit = this.maxLimit - goalText.length;\n }\n }\n\n}\n","\n
    \n \n\n
    \n\n
    \n\n
    \n
    \n
    \n
    \n

    \n Enquiry Technical Discard\n

    \n
    \n
    \n
    \n
    \n
    \n\n
    \n \n
    \n \n
    \n
    \n Technical Discard reason is required\n
    \n
    \n
    \n
    \n\n
    \n \n
    \n \n Limit {{maxLimit}} characters,\n {{remLimit}} characters\n remaining.\n
    \n
    \n Comment is required\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n\n \n
    \n
    ","import { Component, OnInit, ViewChild, Input, Output, EventEmitter } from '@angular/core';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort, Sort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { SingleFieldModel } from 'src/app/Model/SingleFieldModel';\nimport { UpdateStatus } from 'src/app/Model/CommonModel';\nimport { ToastrService } from 'ngx-toastr';\nimport { CommonService } from 'src/app/Service/common.service';\nimport { MatDialog } from '@angular/material/dialog';\nimport { ConfirmDialogComponent } from 'src/app/confirm-dialog/confirm-dialog.component';\nimport { ProductLine } from 'src/app/Model/ProductModel';\nimport { AppGlobals } from 'src/app/app.global';\nimport { Title } from '@angular/platform-browser';\nimport { ActivatedRoute } from '@angular/router';\nimport { AlertsModel } from 'src/app/Model/AlertsModel';\nimport { AccessPermissionModel } from 'src/app/Model/WorkFlowScreenAccessModel';\nimport { AccessPermissionService } from 'src/app/Service/access-permission.service';\nimport { AppConfigService } from 'src/app/Service/app-config.service';\n\n@Component({\n selector: 'app-alerts-details',\n templateUrl: './alerts-details.component.html',\n styleUrls: ['./alerts-details.component.scss']\n})\nexport class AlertsDetailsComponent implements OnInit {\n\n displayedColumns: string[] = ['EnquiryStatus','First_Rem','First_Rem_ToWhom','Second_Rem','Second_Rem_ToWhom','Third_Rem','Third_Rem_ToWhom','Escalation','Escalation_ToWhom','CC_Rem_toWhom', 'Action'];\n dataSource: MatTableDataSource;\n disabled: boolean = false;\n UserRole: any;\n isAlertsEditable: boolean = false;\n accesspermissionobj:AccessPermissionModel[]=Array();\n AccesspermissionForRole:any[]=[];\n\n /*************************************************************************\n Server side Pagination purpose\n *************************************************************************/\n pageNumber: number = 1;\n @Input() pageSize: number = 5;\n @Input() length: number;\n @Input() pageIndex: number = this.pageNumber - 1;\n direction: string = 'desc';\n ColumnName: string = 'ModifiedOn';\n SearchText: string = \"\";\n @Output('matSortChange') sortChange: EventEmitter;\n @ViewChild(MatPaginator) paginator: MatPaginator;\n /*************************************************************************\n End here\n *************************************************************************/\n\n showLoader: boolean;\n data: any[] = [];\n constructor(private toastr: ToastrService, private CommonService: CommonService, public dialog: MatDialog, private titleService: Title, private route: ActivatedRoute,private accessservice: AccessPermissionService,\n private appConfigService: AppConfigService) {\n }\n\n ngOnInit(): void {\n const appConfig = this.appConfigService.getConfig();\n const dynamicTitle = this.route.snapshot.data['title'];\n this.titleService.setTitle(`${dynamicTitle} - ${appConfig.titleName}`);\n //this.titleService.setTitle(this.route.snapshot.data['title'] + \" - ECOTECH\");\n this.UserRole = localStorage.getItem(\"UserRole\");\n this.getAccess();\n\n // this.isAlertsEditable = AppGlobals.AlertsAccessEditableAccessArray.filter(x => x.role == this.UserRole)[0]?.isEditable;\n\n this.GetAllAlertsDetails();\n }\n\n /*************************************************************************\n * Below function used for Server side Pagination,Sorting and Searching\n * (1)GetAllAlertsDetails() - To get data for grid\n * (2)SearchParam() - searching\n * (3)sortData() - Sorting\n * (4)pageEvent() - Pagination\n * \n * ***********************************************************************/\n\n GetAllAlertsDetails() {\n this.showLoader = true;\n let queryString = \"\";\n queryString = \"pageNumber=\" + this.pageNumber;\n queryString += \"&pageSize=\" + this.pageSize;\n queryString += \"&searchText=\" + this.SearchText;\n queryString += \"&direction=\" + this.direction;\n queryString += \"&columnName=\" + this.ColumnName;\n\n this.CommonService.GetData('Alerts', 'GetAllPagination', queryString).subscribe((data: any) => {\n this.data = data.Data;\n this.length = data.Total;\n this.dataSource = new MatTableDataSource(this.data);\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n\n }\n\n SearchParam(event: any) {\n this.SearchText = event.target.value;\n this.pageNumber = 1;\n this.paginator.pageIndex = 0;\n this.GetAllAlertsDetails();\n }\n\n sortData(event: any) {\n if (this.dataSource.filteredData != null) {\n this.direction = event.direction;\n this.ColumnName = event.active == 'EnquiryStatus1'?'EnquiryStatus': event.active;\n this.GetAllAlertsDetails();\n }\n }\n\n pageEvent(event: any) {\n window.scroll({\n top: 0,\n left: 0,\n behavior: 'smooth'\n });\n this.pageNumber = event.pageIndex + 1;\n this.pageSize = event.pageSize;\n this.GetAllAlertsDetails();\n }\n /************************************************************************\n * Grid Code End \n * **********************************************************************/\n\n /*******************************************************************************\n * Form validation method\n * ******************************************************************************/\n\n AvoidSpace(event: any) {\n if (event.which === 32 && !event.target.value.length) {\n event.preventDefault();\n }\n }\n\n /*******************************************************************************\n * End Form validation method \n * ******************************************************************************/\n\n\n UpdateAlertStatusById(Id: number, CurrentStatus: boolean) {\n\n if (CurrentStatus == true) {\n //Create ConfirmDialogRef \n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Do you want to deactivate this alert?\"\n }\n });\n // listen to response from ConfirmDialogRef\n dialogRef.afterClosed().subscribe(dialogResult => {\n // if user pressed yes dialogResult will be true, \n // if he pressed no - it will be false\n if (dialogResult) {\n this.pageNumber = 1;\n this.paginator.pageIndex = 0;\n this.length = 0;\n this.direction = 'desc';\n this.ColumnName = 'ModifiedOn';\n this.showLoader = true;\n\n let queryString = \"\";\n queryString = \"id=\" + Id;\n\n this.CommonService.PostData('Alerts', 'UpdateStatus', null, queryString).subscribe((data: any) => {\n this.showLoader = false;\n if (data.ResponseCode == 1) {\n this.toastr.success(\"Alert deactivated successfully!\");\n }\n else if (data.ResponseCode == 0) {\n this.toastr.warning(\"Failed to deactivate this alert because it has some dependency!\");\n }\n else {\n this.toastr.info(\"Failed to deactivate alert!\");\n }\n this.GetAllAlertsDetails();\n }, error => {\n this.toastr.error(\"Failed to deactivate alert!\");\n this.GetAllAlertsDetails();\n this.showLoader = false;\n });\n\n }\n else {\n this.GetAllAlertsDetails();\n this.showLoader = false;\n let element: HTMLElement = document.getElementsByClassName('slideToogle')[0] as HTMLElement;\n element.click();\n }\n });\n\n }\n else {\n //Create ConfirmDialogRef\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Do you want to activate this alert?\"\n }\n });\n // listen to response from ConfirmDialogRef\n dialogRef.afterClosed().subscribe(dialogResult => {\n // if user pressed yes dialogResult will be true, \n // if he pressed no - it will be false\n if (dialogResult) {\n this.pageNumber = 1;\n this.paginator.pageIndex = 0;\n this.length = 0;\n this.direction = 'desc';\n this.ColumnName = 'ModifiedOn';\n this.showLoader = true;\n\n let queryString = \"\";\n queryString = \"id=\" + Id;\n\n this.CommonService.PostData('Alerts', 'UpdateStatus', null, queryString).subscribe((data: any) => {\n this.showLoader = false;\n if (data.ResponseCode == 1) {\n this.toastr.success(\"Alert activated successfully!\");\n }\n else {\n this.toastr.info(\"Failed to activate alert!\");\n }\n this.GetAllAlertsDetails();\n }, error => {\n this.toastr.error(\"Failed to activate alert!\");\n this.GetAllAlertsDetails();\n this.showLoader = false;\n });\n\n }\n else {\n this.GetAllAlertsDetails();\n this.showLoader = false;\n let element: HTMLElement = document.getElementsByClassName('slideToogle')[0] as HTMLElement;\n element.click();\n }\n });\n }\n }\n\n getAccess()\n {\n this.accessservice.GetAll().subscribe((data:any)=> {\n this.accesspermissionobj=data;\n this.isAlertsEditable=this.accesspermissionobj.filter(x => x.Fk_RoleId == this.UserRole && x.ElementKey=='isAlertsManagement')[0]?.IsEditable;\n \n });\n \n }\n\n}\n","\n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n Reminder Configuration\n

    \n
    \n
    \n
    \n
      \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n\n Search\n \n \n\n
    \n\n
    \n\n
    \n
    \n \n\n \n \n \n \n\n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n \n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n\n\n \n \n \n\n \n \n \n\n \n \n \n\n \n \n \n\n \n\n \n \n\n\n
    Enquiry Status {{row.EnquiryStatus}} Enquiry StatusReminder (In Days) {{row.First_Rem}} To Whom {{row.First_Rem_ToWhom}} Reminder (In Days) {{row.Second_Rem}} To Whom {{row.Second_Rem_ToWhom}} Reminder (In Days) {{row.Third_Rem}} To Whom {{row.Third_Rem_ToWhom}} Reminder (In Days) {{row.Escalation}} To Whom {{row.Escalation_ToWhom}} CC {{row.CC_Rem_toWhom}} Action \n \n \n     \n\n \n   {{row.Status==true ? 'Active': 'Inactive'}}\n Action First Reminder Second Reminder Third Reminder Escalation
    \n No records found
    \n
    \n \n \n \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n \n","import { Component, OnInit, Input } from '@angular/core';\nimport { SingleFieldModel } from 'src/app/Model/SingleFieldModel';\nimport { ConfirmDialogComponent } from 'src/app/confirm-dialog/confirm-dialog.component';\nimport { MatDialog } from '@angular/material/dialog';\nimport { CommonService } from 'src/app/Service/common.service';\nimport { ToastrService } from 'ngx-toastr';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { AppGlobals } from 'src/app/app.global';\nimport { Title } from '@angular/platform-browser';\nimport { AlertsModel } from 'src/app/Model/AlertsModel';\nimport { first } from '@amcharts/amcharts4/.internal/core/utils/Array';\nimport { EnquiryStatus } from 'src/app/EnquiryStatus';\nimport { UserRoles } from 'src/app/UserRoles';\nimport { AccessPermissionModel } from 'src/app/Model/WorkFlowScreenAccessModel';\nimport { AccessPermissionService } from 'src/app/Service/access-permission.service';\nimport { AppConfigService } from 'src/app/Service/app-config.service';\n\n@Component({\n selector: 'app-edit-view-alerts',\n templateUrl: './edit-view-alerts.component.html',\n styleUrls: ['./edit-view-alerts.component.scss']\n})\nexport class EditViewAlertsComponent implements OnInit {\n isEditable: boolean = true;\n FormStatus: string = \"View\";\n AlertsObject: AlertsModel = new AlertsModel();\n charCode: any;\n UserRole: any;\n isAlertsEditable: boolean = false;\n @Input()\n showLoader: boolean = false;\n Roles: any[] = [];\n enquiryStatus = EnquiryStatus;\n AppRoles = UserRoles;\n accesspermissionobj:AccessPermissionModel[]=Array();\n AccesspermissionForRole:any[]=[];\n\n constructor(private router: Router, private route: ActivatedRoute, private toastr: ToastrService, private CommonService: CommonService, public dialog: MatDialog, private titleService: Title,private accessservice: AccessPermissionService,\n private appConfigService: AppConfigService) { }\n\n ngOnInit(): void {\n const appConfig = this.appConfigService.getConfig();\n const dynamicTitle = this.route.snapshot.data['title'];\n this.titleService.setTitle(`${dynamicTitle} - ${appConfig.titleName}`);\n //this.titleService.setTitle(this.route.snapshot.data['title'] + \" - ECOTECH\");\n this.UserRole = localStorage.getItem(\"UserRole\");\n this.getAccess();\n // this.isAlertsEditable = AppGlobals.AlertsAccessEditableAccessArray.filter(x => x.role == this.UserRole)[0]?.isEditable;\n this.AlertsObject.Pk_Id = this.route.snapshot.params[\"id\"];\n this.getAlertsIdDetailsById(this.AlertsObject.Pk_Id);\n\n }\n\n getAlertsIdDetailsById(AlertsId: number) {\n this.showLoader = true;\n\n let queryString = \"\";\n queryString = \"id=\" + AlertsId;\n\n this.CommonService.GetData('Alerts', 'GetById', queryString).subscribe((data: any) => {\n this.AlertsObject = data;\n\n\n this.Roles = data.Roles;\n this.AlertsObject.First_Rem_ToWhomList.forEach(towhom => {\n if (towhom != null) {\n this.Roles.forEach(el => {\n if (el.Id == towhom) {\n this.AlertsObject.First_Rem_ToWhomList = el.Name;\n }\n });\n }\n });\n this.AlertsObject.Second_Rem_ToWhomList.forEach(towhom => {\n if (towhom != null) {\n this.Roles.forEach(el => {\n if (el.Id == towhom) {\n this.AlertsObject.Second_Rem_ToWhomList = el.Name;\n }\n });\n }\n });\n this.AlertsObject.Third_Rem_ToWhomList.forEach(towhom => {\n if (towhom != null) {\n this.Roles.forEach(el => {\n if (el.Id == towhom) {\n this.AlertsObject.Third_Rem_ToWhomList = el.Name;\n }\n });\n }\n });\n this.AlertsObject.Escalation_ToWhomList.forEach(towhom => {\n if (towhom != null) {\n this.Roles.forEach(el => {\n if (el.Id == towhom) {\n this.AlertsObject.Escalation_ToWhomList = el.Name;\n }\n });\n }\n });\n\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n\n });\n\n }\n\n // getAllRoles() {\n // this.showLoader = true;\n // this.CommonService.GetData('Account', 'GetAllRoles', null).subscribe((data: any) => {\n // this.Roles = data;\n // this.showLoader = false;\n // }, error => {\n // this.toastr.error(\"Failed to load data!\");\n // this.showLoader = false;\n // });\n\n // }\n\n EditDetails() {\n this.isEditable = false;\n this.FormStatus = \"Edit\";\n const appConfig = this.appConfigService.getConfig();\n this.titleService.setTitle(`Edit Alerts - ${appConfig.titleName}`);\n //this.titleService.setTitle(\"Edit Alerts - ECOTECH\");\n }\n\n\n /*******************************************************************************\n * Form validation method\n * ******************************************************************************/\n\n isNumberKey(evt: any) {\n this.charCode = (evt.which) ? evt.which : evt.keyCode;\n if ((this.charCode == 46 || this.charCode == 45 || this.charCode == 43) && this.charCode > 31\n && (this.charCode < 48 || this.charCode > 57)) {\n return false;\n }\n else {\n return true;\n }\n }\n\n AvoidSpace(event: any) {\n if (event.which === 32 && !event.target.value.length) {\n event.preventDefault();\n }\n }\n\n OnReminderDaysChange(frm: any, fieldname: string) {\n var First_Rem = Number(this.AlertsObject.First_Rem);\n var Second_Rem = Number(this.AlertsObject.Second_Rem);\n var Third_Rem = Number(this.AlertsObject.Third_Rem);\n var Escalation = Number(this.AlertsObject.Escalation);\n\n var firstfield_seterror: boolean = false;\n var secondfield_seterror: boolean = false;\n var thirdfield_seterror: boolean = false;\n var escalationfield_seterror: boolean = false;\n\n if (First_Rem > 0) {\n\n if (First_Rem >= Second_Rem || First_Rem >= Third_Rem || First_Rem >= Escalation) {\n firstfield_seterror = true;\n }\n\n if (firstfield_seterror == true) {\n frm.controls['first_rem_nm'].setErrors({ RemValidation: true });\n }\n else {\n frm.controls['first_rem_nm'].setErrors(null);\n }\n }\n\n if (Second_Rem > 0) {\n\n if (First_Rem >= Second_Rem || Second_Rem >= Third_Rem || Second_Rem >= Escalation) {\n secondfield_seterror = true;\n }\n\n if (secondfield_seterror == true) {\n frm.controls['second_rem_nm'].setErrors({ RemValidation: true });\n }\n else {\n frm.controls['second_rem_nm'].setErrors(null);\n }\n }\n\n if (Third_Rem > 0) {\n\n if (First_Rem >= Third_Rem || Second_Rem >= Third_Rem ||Third_Rem >= Escalation) {\n thirdfield_seterror = true;\n }\n\n if (thirdfield_seterror == true) {\n frm.controls['third_rem_nm'].setErrors({ RemValidation: true });\n }\n else {\n frm.controls['third_rem_nm'].setErrors(null);\n }\n }\n\n if (Escalation > 0) {\n\n if (Escalation <= First_Rem || Escalation <= Second_Rem || Escalation <= Third_Rem) {\n escalationfield_seterror = true;\n }\n if (escalationfield_seterror == true) {\n frm.controls['escalation'].setErrors({ RemValidation: true });\n }\n else {\n frm.controls['escalation'].setErrors(null);\n }\n }\n\n }\n /*******************************************************************************\n * End Form validation method \n * ******************************************************************************/\n\n onSubmit(myform: any) {\n\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Do you want to update this alerts?\"\n }\n });\n\n dialogRef.afterClosed().subscribe(dialogResult => {\n\n if (dialogResult) {\n this.showLoader = true;\n this.CommonService.PostData('Alerts', 'Update', this.AlertsObject, null).subscribe((data: any) => {\n let result = data;\n\n if (result.ResponseCode == 1) {\n this.toastr.success('Alert updated successfully!');\n this.router.navigate(['/Reminders-config']);\n this.showLoader = false;\n }\n else if (result.ResponseCode == 0) {\n this.toastr.warning('Alert already exists!');\n this.showLoader = false;\n }\n else {\n this.toastr.error('Failed to update alerts!');\n this.router.navigate(['/Reminders-config']);\n this.showLoader = false;\n }\n\n\n }, error => {\n this.toastr.error('Failed to update alerts!');\n this.showLoader = false;\n this.router.navigate(['/Reminders-config']);\n });\n }\n });\n }\n\n getAccess()\n {\n this.accessservice.GetAll().subscribe((data:any)=> {\n this.accesspermissionobj=data;\n this.isAlertsEditable=this.accesspermissionobj.filter(x => x.Fk_RoleId == this.UserRole && x.ElementKey=='isAlertsManagement')[0]?.IsEditable;\n \n });\n \n }\n\n\n}\n","\n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n {{FormStatus}} Alert\n

    \n
    \n
    \n\n
    \n
    \n * Marked fields are\n mandatory\n \n\n
    \n\n\n \n
    \n
    \n\n
    \n\n
    \n
    \n","import { Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\nimport { CommonService } from 'src/app/Service/common.service';\nimport { MatDialog } from '@angular/material/dialog';\nimport { ToastrService } from 'ngx-toastr';\nimport { MatSort, Sort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { SingleFieldModel } from 'src/app/Model/SingleFieldModel';\nimport { ActivatedRoute } from '@angular/router';\nimport { Title } from '@angular/platform-browser';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { BusinessPlanModel } from 'src/app/Model/BusinessPlanModel';\nimport { AppGlobals } from 'src/app/app.global';\nimport { ConfirmDialogComponent } from 'src/app/confirm-dialog/confirm-dialog.component';\nimport { AccessPermissionModel } from 'src/app/Model/WorkFlowScreenAccessModel';\nimport { AccessPermissionService } from 'src/app/Service/access-permission.service';\nimport { AppConfigService } from 'src/app/Service/app-config.service';\n\n\n@Component({\n selector: 'app-business-plan-details',\n templateUrl: './business-plan-details.component.html',\n styleUrls: ['./business-plan-details.component.scss']\n})\nexport class BusinessPlanDetailsComponent implements OnInit {\n showLoader: boolean = false;\n businessPlanDetails: BusinessPlanModel[] = [];\n displayedColumns: string[] = ['UserName', 'Region', 'RoleName', 'TargetYear', 'TargetFor', 'Action'];\n dataSource: MatTableDataSource;\n disabled: boolean = false;\n UserRole: any;\n accesspermissionobj:AccessPermissionModel[]=Array();\n AccesspermissionForRole:any[]=[];\n\n /*************************************************************************\n Server side Pagination purpose\n *************************************************************************/\n pageNumber: number = 1;\n @Input() pageSize: number = 5;\n @Input() length: number;\n @Input() pageIndex: number = this.pageNumber - 1;\n direction: string = 'desc';\n\n ColumnName: string = 'ModifiedOn';\n SearchText: string = \"\";\n @Output('matSortChange') sortChange: EventEmitter\n @ViewChild(MatPaginator) paginator: MatPaginator;\n isBPMasterEditable: boolean = false;\n constructor(\n public dialog: MatDialog,\n private Service: CommonService,\n private toastr: ToastrService,\n private route: ActivatedRoute,\n private titleService: Title,\n private accessservice: AccessPermissionService,\n private appConfigService: AppConfigService\n ) { }\n\n ngOnInit(): void {\n const appConfig = this.appConfigService.getConfig();\n const dynamicTitle = this.route.snapshot.data['title'];\n this.titleService.setTitle(`${dynamicTitle} - ${appConfig.titleName}`);\n //this.titleService.setTitle(this.route.snapshot.data['title'] + \" - ECOTECH\");\n this.UserRole = localStorage.getItem(\"UserRole\");\n this.getAccess();\n\n // this.isBPMasterEditable = AppGlobals.BusinessPlanEditableAccessArray.filter(x => x.role == this.UserRole)[0]?.isEditable;\n this.getAllBusinessPlandetails();\n }\n\n getAllBusinessPlandetails() {\n let queryString = \"\";\n queryString = \"pageNumber=\" + this.pageNumber;\n queryString += \"&pageSize=\" + this.pageSize;\n queryString += \"&searchText=\" + this.SearchText;\n queryString += \"&direction=\" + this.direction;\n queryString += \"&columnName=\" + this.ColumnName;\n this.showLoader = true;\n this.Service.GetData('BusinessPlanSalesTarget', 'GetAllPagination', queryString).subscribe((data: any) => {\n this.businessPlanDetails = data.Data;\n this.length = data.Total;\n this.dataSource = new MatTableDataSource(this.businessPlanDetails);\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n sortData(event: any) {\n if (this.dataSource.filteredData != null) {\n this.direction = event.direction;\n this.ColumnName = event.active;\n this.getAllBusinessPlandetails();\n }\n }\n pageEvent(event: any) {\n window.scroll({\n top: 0,\n left: 0,\n behavior: 'smooth'\n });\n this.pageNumber = event.pageIndex + 1;\n this.pageSize = event.pageSize;\n this.getAllBusinessPlandetails();\n }\n SearchParam(event: any) {\n this.SearchText = event.target.value;\n this.pageNumber = 1;\n this.paginator.pageIndex = 0;\n this.getAllBusinessPlandetails();\n }\n AvoidSpace(event: any) {\n if (event.which === 32 && !event.target.value.length) {\n event.preventDefault();\n }\n }\n\n UpdateBPStatusById(data: BusinessPlanModel, CurrentStatus: boolean) {\n\n if (CurrentStatus == true) {\n //Create ConfirmDialogRef \n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Do you want to deactivate this business plan for sales and orders?\",\n }\n });\n // listen to response from ConfirmDialogRef\n dialogRef.afterClosed().subscribe(dialogResult => {\n // if user pressed yes dialogResult will be true, \n // if he pressed no - it will be false\n if (dialogResult) {\n this.pageNumber = 1;\n this.paginator.pageIndex = 0;\n this.length = 0;\n this.direction = 'desc';\n this.ColumnName = 'ModifiedOn';\n this.showLoader = true;\n this.Service.PostData('BusinessPlanSalesTarget', 'UpdateStatus', data, null).subscribe((data: any) => {\n this.showLoader = false;\n if (data.ResponseCode == 1) {\n this.toastr.success(\"Business plan for sales and orders deactivated successfully!\");\n }\n else if (data.ResponseCode == 0) {\n this.toastr.warning(\"Failed to deactivate this business plan for sales and orders because it has some dependency!\");\n }\n else {\n this.toastr.info(\"Failed to deactivate business plan for sales and orders!\");\n }\n this.getAllBusinessPlandetails();\n }, error => {\n this.toastr.error(\"Failed to deactivate business plan for sales and orders!\");\n this.getAllBusinessPlandetails();\n this.showLoader = false;\n });\n\n }\n else {\n this.getAllBusinessPlandetails();\n this.showLoader = false;\n let element: HTMLElement = document.getElementsByClassName('slideToogle')[0] as HTMLElement;\n\n }\n });\n\n }\n else {\n //Create ConfirmDialogRef\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Do you want to activate this business plan for sales and orders?\"\n }\n });\n // listen to response from ConfirmDialogRef\n dialogRef.afterClosed().subscribe(dialogResult => {\n // if user pressed yes dialogResult will be true, \n // if he pressed no - it will be false\n if (dialogResult) {\n this.pageNumber = 1;\n this.paginator.pageIndex = 0;\n this.length = 0;\n this.direction = 'desc';\n this.ColumnName = 'ModifiedOn';\n this.showLoader = true;\n\n this.Service.PostData('BusinessPlanSalesTarget', 'UpdateStatus', data, null).subscribe((data: any) => {\n this.showLoader = false;\n if (data.ResponseCode == 1) {\n this.toastr.success(\"Business plan for sales and orders activated successfully!\");\n }\n else {\n this.toastr.info(\"Failed to activate business plan for sales and orders!\");\n }\n this.getAllBusinessPlandetails();\n }, error => {\n this.toastr.error(\"Failed to activate business plan for sales and orders!\");\n this.getAllBusinessPlandetails();\n this.showLoader = false;\n });\n\n }\n else {\n this.getAllBusinessPlandetails();\n this.showLoader = false;\n let element: HTMLElement = document.getElementsByClassName('slideToogle')[0] as HTMLElement;\n element.click();\n }\n });\n }\n }\n\n getAccess()\n {\n this.accessservice.GetAll().subscribe((data:any)=> {\n this.accesspermissionobj=data;\n this.isBPMasterEditable=this.accesspermissionobj.filter(x => x.Fk_RoleId == this.UserRole && x.ElementKey=='isBusinessPlanforSalesandOrder')[0]?.IsEditable;\n \n });\n \n }\n}\n","\n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n Business Plan for Sales and Order\n

    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n\n Search\n \n \n\n
    \n\n
    \n\n
    \n \n\n \n\n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n\n
    Employee Name\n {{row.UserName}} Region\n \n \n {{item.Name}}{{i === row.Regions.length -1 ? '': ',' }}\n \n Employee Role\n {{row.RoleName}} Target Year\n \n {{row.TargetYear}} Target For {{row.TargetFor}} Action \n \n \n     \n\n \n   {{row.Status==true ? 'Active':\n 'Inactive'}}\n
    \n
    No records found
    \n\n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n","import { Component, OnInit } from '@angular/core';\nimport { CommonService } from 'src/app/Service/common.service';\nimport { MatDialog } from '@angular/material/dialog';\nimport { ConfirmDialogComponent } from 'src/app/confirm-dialog/confirm-dialog.component';\nimport { ToastrService } from 'ngx-toastr';\nimport { SalesOrderBusinesPlan } from 'src/app/Model/SalesOrderBusinessPlan';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { Title } from '@angular/platform-browser';\nimport { UserRoles } from 'src/app/UserRoles';\nimport { BusinessPlanModel, PlanModel } from 'src/app/Model/BusinessPlanModel';\nimport { AppConfigService } from 'src/app/Service/app-config.service';\n\n@Component({\n selector: 'app-business-plan-for-sales-and-order',\n templateUrl: './business-plan-for-sales-and-order.component.html',\n styleUrls: ['./business-plan-for-sales-and-order.component.scss']\n})\nexport class BusinessPlanForSalesAndOrderComponent implements OnInit {\n BusnessPlan: SalesOrderBusinesPlan = new SalesOrderBusinesPlan();\n showLoader: boolean = false;\n // targetYears = [\"2020\", \"2021\", \"2022\", \"2023\", \"2024\", \"2025\", \"2026\", \"2027\", \"2028\", \"2029\", \"2030\",\n // \"2031\", \"2032\", \"2033\", \"2034\", \"2035\", \"2036\", \"2037\", \"2038\", \"2039\", \"2040\",\n // \"2041\", \"2042\", \"2043\", \"2044\", \"2045\", \"2046\", \"2047\", \"2048\", \"2049\",\n // ];\n targetYears:any[]=[];\n currYear: number = new Date().getFullYear();\n targets = ['BP Sales', 'BP Order Intake'];\n allEmployees: any;\n roleName: any;\n item: any;\n allExistingData: any[];\n planExist: boolean;\n FinalModel: any[];\n name: any;\n selectedUserData: any;\n zeroValues: boolean;\n charCode: any;\n BusinessPlanobje: BusinessPlanModel = new BusinessPlanModel();\n IsBPDataValid: boolean = true;\n\n constructor(\n public dialog: MatDialog,\n private Service: CommonService,\n private toastr: ToastrService,\n private router: Router,\n private route: ActivatedRoute,\n private titleService: Title,\n private appConfigService: AppConfigService\n ) { }\n\n ngOnInit(): void {\n const appConfig = this.appConfigService.getConfig();\n const dynamicTitle = this.route.snapshot.data['title'];\n this.titleService.setTitle(`${dynamicTitle} - ${appConfig.titleName}`);\n //this.titleService.setTitle(this.route.snapshot.data['title'] + \" - ECOTECH\");\n let k = 1;\n for (let i = 2018; i <= this.currYear; i++) {\n let batch =i;\n this.targetYears.push(batch);\n k++;\n }\n this.getAllUsers();\n }\n\n setName(event: any) {\n this.BusinessPlanobje.RegionName = event.target.value;\n\n }\n onUnitsChange(i) {\n var povalue: number = parseFloat(this.BusinessPlanobje.PlanList[i].Units.toString(0));\n if (povalue == undefined || povalue == null) {\n this.BusinessPlanobje.PlanList[i].UnitsValidation = true;\n this.IsBPDataValid = false;\n } else if (povalue < 0) {\n this.BusinessPlanobje.PlanList[i].UnitsValidation = true;\n this.IsBPDataValid = false;\n } else if (povalue % 1 != 0) {\n this.BusinessPlanobje.PlanList[i].UnitsValidation = true;\n this.IsBPDataValid = false;\n } else if (this.BusinessPlanobje.PlanList[i].Units.toString().indexOf('.') > -1) {\n this.BusinessPlanobje.PlanList[i].UnitsValidation = true;\n this.IsBPDataValid = false;\n } else if (isNaN(this.BusinessPlanobje.PlanList[i].Units)) {\n this.BusinessPlanobje.PlanList[i].UnitsValidation = true;\n this.IsBPDataValid = false;\n } else {\n this.BusinessPlanobje.PlanList[i].UnitsValidation = false;\n }\n }\n onAmountChange(i) {\n\n var povalue: number = parseFloat(this.BusinessPlanobje.PlanList[i].Amount.toString());\n if (povalue == undefined || povalue == null) {\n this.BusinessPlanobje.PlanList[i].AmountValidation = true;\n this.IsBPDataValid = false;\n } else if (povalue < 0) {\n this.BusinessPlanobje.PlanList[i].AmountValidation = true;\n this.IsBPDataValid = false;\n } else if (povalue % 1 != 0 || povalue.toString().indexOf('.') > -1) {\n this.BusinessPlanobje.PlanList[i].AmountValidation = true;\n this.IsBPDataValid = false;\n } else if (this.BusinessPlanobje.PlanList[i].Amount.toString().indexOf('.') > -1) {\n this.BusinessPlanobje.PlanList[i].AmountValidation = true;\n this.IsBPDataValid = false;\n } else if (isNaN(this.BusinessPlanobje.PlanList[i].Amount)) {\n this.BusinessPlanobje.PlanList[i].AmountValidation = true;\n this.IsBPDataValid = false;\n }else {\n this.BusinessPlanobje.PlanList[i].AmountValidation = false;\n }\n }\n onFC1Change(i)\n {\n var povalue: number = parseFloat(this.BusinessPlanobje.PlanList[i].FC1Amount.toString());\n if (povalue == undefined || povalue == null) {\n this.BusinessPlanobje.PlanList[i].FC1Validation = true;\n this.IsBPDataValid = false;\n } else if (povalue < 0) {\n this.BusinessPlanobje.PlanList[i].FC1Validation = true;\n this.IsBPDataValid = false;\n } else if (povalue % 1 != 0 || povalue.toString().indexOf('.') > -1) {\n this.BusinessPlanobje.PlanList[i].FC1Validation = true;\n this.IsBPDataValid = false;\n } else if (this.BusinessPlanobje.PlanList[i].FC1Amount.toString().indexOf('.') > -1) {\n this.BusinessPlanobje.PlanList[i].FC1Validation = true;\n this.IsBPDataValid = false;\n } else if (isNaN(this.BusinessPlanobje.PlanList[i].FC1Amount)) {\n this.BusinessPlanobje.PlanList[i].FC1Validation = true;\n this.IsBPDataValid = false;\n }else {\n this.BusinessPlanobje.PlanList[i].FC1Validation = false;\n }\n }\n onFC2Change(i)\n {\n var povalue: number = parseFloat(this.BusinessPlanobje.PlanList[i].FC2Amount.toString());\n if (povalue == undefined || povalue == null) {\n this.BusinessPlanobje.PlanList[i].FC2Validation = true;\n this.IsBPDataValid = false;\n } else if (povalue < 0) {\n this.BusinessPlanobje.PlanList[i].FC2Validation = true;\n this.IsBPDataValid = false;\n } else if (povalue % 1 != 0 || povalue.toString().indexOf('.') > -1) {\n this.BusinessPlanobje.PlanList[i].FC2Validation = true;\n this.IsBPDataValid = false;\n } else if (this.BusinessPlanobje.PlanList[i].FC2Amount.toString().indexOf('.') > -1) {\n this.BusinessPlanobje.PlanList[i].FC2Validation = true;\n this.IsBPDataValid = false;\n } else if (isNaN(this.BusinessPlanobje.PlanList[i].FC2Amount)) {\n this.BusinessPlanobje.PlanList[i].FC2Validation = true;\n this.IsBPDataValid = false;\n }else {\n this.BusinessPlanobje.PlanList[i].FC2Validation = false;\n }\n }\n onFC3Change(i)\n {\n var povalue: number = parseFloat(this.BusinessPlanobje.PlanList[i].FC3Amount.toString());\n if (povalue == undefined || povalue == null) {\n this.BusinessPlanobje.PlanList[i].FC3Validation = true;\n this.IsBPDataValid = false;\n } else if (povalue < 0) {\n this.BusinessPlanobje.PlanList[i].FC3Validation = true;\n this.IsBPDataValid = false;\n } else if (povalue % 1 != 0 || povalue.toString().indexOf('.') > -1) {\n this.BusinessPlanobje.PlanList[i].FC3Validation = true;\n this.IsBPDataValid = false;\n } else if (this.BusinessPlanobje.PlanList[i].FC3Amount.toString().indexOf('.') > -1) {\n this.BusinessPlanobje.PlanList[i].FC3Validation = true;\n this.IsBPDataValid = false;\n } else if (isNaN(this.BusinessPlanobje.PlanList[i].FC3Amount)) {\n this.BusinessPlanobje.PlanList[i].FC3Validation = true;\n this.IsBPDataValid = false;\n }else {\n this.BusinessPlanobje.PlanList[i].FC3Validation = false;\n }\n }\n /*******************************************************************************\n * Form validation method\n * ******************************************************************************/\n\n isNumberKey(evt: any) {\n this.charCode = (evt.which) ? evt.which : evt.keyCode;\n if (this.charCode != 46 && this.charCode > 31\n && (this.charCode < 48 || this.charCode > 57)) {\n return false;\n }\n else {\n return true;\n }\n }\n\n AvoidSpace(event: any) {\n if (event.which === 32 && !event.target.value.length) {\n event.preventDefault();\n }\n }\n checkValidBusinessPlan() {\n this.BusinessPlanobje.PlanList.forEach(element => {\n // var povalue: number = parseFloat(element.Units.toString());\n // if (povalue == undefined || povalue == null) {\n // element.UnitsValidation = true;\n // this.IsBPDataValid = false;\n // } else if (povalue < 0) {\n // element.UnitsValidation = true;\n // this.IsBPDataValid = false;\n // } else if (povalue % 1 != 0) {\n // element.UnitsValidation = true;\n // this.IsBPDataValid = false;\n // } else if (element.Units.toString().indexOf('.') > -1) {\n // element.UnitsValidation = true;\n // this.IsBPDataValid = false;\n // } else {\n // element.UnitsValidation = false;\n // }\n\n var povalue: number = parseFloat(element.Amount.toString());\n if (povalue == undefined || povalue == null) {\n element.AmountValidation = true;\n this.IsBPDataValid = false;\n } else if (povalue < 0) {\n element.AmountValidation = true;\n this.IsBPDataValid = false;\n } else if (povalue % 1 != 0) {\n element.AmountValidation = true;\n this.IsBPDataValid = false;\n } else if (element.Amount.toString().indexOf('.') > -1) {\n element.AmountValidation = true;\n this.IsBPDataValid = false;\n } else {\n element.AmountValidation = false;\n }\n\n var povalue: number = parseFloat(element.FC1Amount.toString());\n if (povalue == undefined || povalue == null) {\n element.FC1Validation = true;\n this.IsBPDataValid = false;\n } else if (povalue < 0) {\n element.FC1Validation = true;\n this.IsBPDataValid = false;\n } else if (povalue % 1 != 0) {\n element.FC1Validation = true;\n this.IsBPDataValid = false;\n } else if (element.FC1Amount.toString().indexOf('.') > -1) {\n element.FC1Validation = true;\n this.IsBPDataValid = false;\n } else {\n element.FC1Validation = false;\n }\n\n var povalue: number = parseFloat(element.FC2Amount.toString());\n if (povalue == undefined || povalue == null) {\n element.FC2Validation = true;\n this.IsBPDataValid = false;\n } else if (povalue < 0) {\n element.FC2Validation = true;\n this.IsBPDataValid = false;\n } else if (povalue % 1 != 0) {\n element.FC2Validation = true;\n this.IsBPDataValid = false;\n } else if (element.FC2Amount.toString().indexOf('.') > -1) {\n element.FC2Validation = true;\n this.IsBPDataValid = false;\n } else {\n element.FC2Validation = false;\n }\n\n var povalue: number = parseFloat(element.FC3Amount.toString());\n if (povalue == undefined || povalue == null) {\n element.FC3Validation = true;\n this.IsBPDataValid = false;\n } else if (povalue < 0) {\n element.FC3Validation = true;\n this.IsBPDataValid = false;\n } else if (povalue % 1 != 0) {\n element.FC3Validation = true;\n this.IsBPDataValid = false;\n } else if (element.FC3Amount.toString().indexOf('.') > -1) {\n element.FC3Validation = true;\n this.IsBPDataValid = false;\n } else {\n element.FC3Validation = false;\n }\n\n \n });\n }\n /*******************************************************************************\n * End Form validation method \n * ******************************************************************************/\n onSubmit(myform: any) {\n // var unit = this.BusinessPlanobje.PlanList.filter(x => x.Units != 0);\n var amt = this.BusinessPlanobje.PlanList.filter(x => x.Amount != 0);\n // if (unit.length == 0) {\n // this.zeroValues = true;\n // alert(\"Units cannot be 0 for all the months.\")\n // return;\n // }\n\n if (amt.length == 0) {\n this.zeroValues = true;\n alert(\"Amount cannot be 0 for all the months.\")\n return;\n }\n\n this.IsBPDataValid = true;\n this.checkValidBusinessPlan();\n if (!this.IsBPDataValid) {\n return;\n }\n\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Do you want to add this business plan for sales and orders?\"\n }\n });\n dialogRef.afterClosed().subscribe(dialogResult => {\n if (dialogResult) {\n this.showLoader = true;\n this.FinalModel = [];\n this.zeroValues = false;\n\n if (this.allExistingData == null) {\n this.showLoader = true;\n this.Service.PostData('BusinessPlanSalesTarget', 'Add', this.BusinessPlanobje, null).subscribe((data: any) => {\n let result = data;\n if (result.ResponseCode == 1) {\n this.toastr.success('Business plan added successfully!');\n this.router.navigate(['/BusinessPlanDetails']);\n this.showLoader = false;\n }\n\n }, error => {\n this.toastr.error('Failed to add business plan');\n this.showLoader = false;\n this.router.navigate(['/BusinessPlanDetails']);\n });\n }\n else {\n this.showLoader = true;\n this.Service.PostData('BusinessPlanSalesTarget', 'Update', this.BusinessPlanobje, null).subscribe((data: any) => {\n let result = data;\n if (result.ResponseCode == 1) {\n this.toastr.success('Business plan updated successfully!');\n this.router.navigate(['/BusinessPlanDetails']);\n this.showLoader = false;\n }\n\n }, error => {\n this.toastr.error('Failed to update business plan');\n this.showLoader = false;\n this.router.navigate(['/BusinessPlanDetails']);\n });\n }\n }\n });\n }\n\n getAllUsers() {\n this.showLoader = true;\n this.Service.GetData(\"Employee\", \"GetAllsalesengg\", null).subscribe((data: any) => {\n this.allEmployees = data;\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n\n onselectChange() {\n if (this.BusnessPlan.UserName != undefined) {\n this.selectedUserData = this.allEmployees.filter(x => x.Fk_User_Id == this.BusinessPlanobje.EmployeeId);\n if (this.selectedUserData.length > 0) {\n this.BusinessPlanobje.RoleName = this.selectedUserData[0].RoleName;\n\n }\n }\n if (this.BusnessPlan.TargetFor == undefined || this.BusnessPlan.Year == undefined || this.BusnessPlan.UserName == undefined) {\n return;\n }\n\n\n let queryString = \"\";\n queryString = \"TargetYear=\" + this.BusinessPlanobje.TargetYear;\n queryString += \"&TargetFor=\" + this.BusinessPlanobje.TargetFor;\n queryString += \"&EmployeeId=\" + this.BusinessPlanobje.EmployeeId;\n\n this.Service.GetData(\"BusinessPlanSalesTarget\", \"GetExistingPlan\", queryString).subscribe((data: any) => {\n this.allExistingData = data;\n if (data != null) {\n this.allExistingData = data.PlanList;\n var i = 0;\n data.PlanList.forEach(element => {\n this.BusinessPlanobje.PlanList[i].Id = element.Id;\n // this.BusinessPlanobje.PlanList[i].Units = element.Units;\n this.BusinessPlanobje.PlanList[i].Amount = element.Amount;\n this.BusinessPlanobje.PlanList[i].FC1Amount = element.FC1Amount==null?0:element.FC1Amount;\n this.BusinessPlanobje.PlanList[i].FC2Amount = element.FC2Amount==null?0:element.FC2Amount;\n this.BusinessPlanobje.PlanList[i].FC3Amount = element.FC3Amount==null?0:element.FC3Amount;\n i = i + 1;\n });\n }\n else {\n var i = 0;\n this.BusinessPlanobje.PlanList.forEach(element => {\n this.BusinessPlanobje.PlanList[i].Id = 0;\n // this.BusinessPlanobje.PlanList[i].Units = 0;\n this.BusinessPlanobje.PlanList[i].Amount = 0;\n this.BusinessPlanobje.PlanList[i].FC1Amount = 0;\n this.BusinessPlanobje.PlanList[i].FC2Amount = 0;\n this.BusinessPlanobje.PlanList[i].FC3Amount = 0;\n i = i + 1;\n });\n }\n });\n }\n\n}\n","\n\n
    \n\n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n Add Business Plan for Sales and Order\n

    \n
    \n
    \n\n
    \n
    \n * Marked fields are\n mandatory\n
    \n \n
    \n
    \n
    \n
    \n
    \n","import { number, string } from '@amcharts/amcharts4/core';\nimport { Component, OnInit } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { Title } from '@angular/platform-browser';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { ToastrService } from 'ngx-toastr';\nimport { AppGlobals } from 'src/app/app.global';\nimport { ConfirmDialogComponent } from 'src/app/confirm-dialog/confirm-dialog.component';\nimport { BusinessPlanModel } from 'src/app/Model/BusinessPlanModel';\nimport { SalesOrderBusinesPlan } from 'src/app/Model/SalesOrderBusinessPlan';\nimport { AccessPermissionModel } from 'src/app/Model/WorkFlowScreenAccessModel';\nimport { AccessPermissionService } from 'src/app/Service/access-permission.service';\nimport { AppConfigService } from 'src/app/Service/app-config.service';\nimport { CommonService } from 'src/app/Service/common.service';\n\n@Component({\n selector: 'app-edit-business-plan',\n templateUrl: './edit-business-plan.component.html',\n styleUrls: ['./edit-business-plan.component.scss']\n})\nexport class EditBusinessPlanComponent implements OnInit {\n BusinessPlan: SalesOrderBusinesPlan = new SalesOrderBusinesPlan();\n showLoader: boolean;\n allExistingData: any;\n FinalModel: any[];\n selectedUserData: any;\n allEmployees: any;\n name: any;\n zeroValues: boolean;\n isEditable: boolean = true;\n FormStatus: string = \"View\";\n charCode: any;\n BusinessPlanobje: BusinessPlanModel = new BusinessPlanModel();\n isBPMasterEditable: boolean = false;\n UserRole: any;\n IsBPDataValid: boolean = true;\n accesspermissionobj:AccessPermissionModel[]=Array();\n AccesspermissionForRole:any[]=[];\n\n constructor(private route: ActivatedRoute,\n private Service: CommonService,\n private toastr: ToastrService,\n public dialog: MatDialog,\n private router: Router,\n private titleService: Title,\n private accessservice: AccessPermissionService,\n private appConfigService: AppConfigService\n) { }\n\n // targetYears = [\"2020\", \"2021\", \"2022\", \"2023\", \"2024\", \"2025\", \"2026\", \"2027\", \"2028\", \"2029\", \"2030\",\n // \"2031\", \"2032\", \"2033\", \"2034\", \"2035\", \"2036\", \"2037\", \"2038\", \"2039\", \"2040\",\n // \"2041\", \"2042\", \"2043\", \"2044\", \"2045\", \"2046\", \"2047\", \"2048\", \"2049\",\n // ];\n targetYears:any[]=[];\n currYear: number = new Date().getFullYear();\n targets = ['BP Sales', 'BP Order Booked'];\n\n ngOnInit(): void {\n const appConfig = this.appConfigService.getConfig();\n const dynamicTitle = this.route.snapshot.data['title'];\n this.titleService.setTitle(`${dynamicTitle} - ${appConfig.titleName}`);\n //this.titleService.setTitle(this.route.snapshot.data['title'] + \" - ECOTECH\");\n let k = 1;\n for (let i = 2018; i <= this.currYear; i++) {\n let batch =i;\n this.targetYears.push(batch);\n k++;\n }\n this.UserRole = localStorage.getItem(\"UserRole\");\n this.getAccess();\n\n //this.isBPMasterEditable = AppGlobals.BusinessPlanEditableAccessArray.filter(x => x.role == this.UserRole)[0]?.isEditable;\n this.getAllUsers();\n\n this.BusinessPlanobje.TargetYear = this.route.snapshot.params[1];\n this.BusinessPlanobje.TargetFor = this.route.snapshot.params[2];\n this.BusinessPlanobje.EmployeeId = this.route.snapshot.params[3];\n this.GetBusinessPlan();\n }\n\n getAllUsers() {\n this.showLoader = true;\n this.Service.GetData(\"Employee\", \"GetAll\", null).subscribe((data: any) => {\n this.allEmployees = data;\n if (this.BusinessPlan.UserName != undefined) {\n this.selectedUserData = this.allEmployees.filter(x => x.Fk_User_Id == this.BusinessPlan.Fk_UserId_Target);\n if (this.selectedUserData.length > 0) {\n this.name = this.selectedUserData[0].RoleName;\n }\n }\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n\n GetBusinessPlan() {\n this.showLoader = true;\n\n let queryString = \"\";\n queryString = \"TargetYear=\" + this.BusinessPlanobje.TargetYear;\n queryString += \"&TargetFor=\" + this.BusinessPlanobje.TargetFor;\n queryString += \"&EmployeeId=\" + this.BusinessPlanobje.EmployeeId;\n\n\n this.Service.GetData(\"BusinessPlanSalesTarget\", \"GetExistingPlan\", queryString).subscribe((data: any) => {\n this.BusinessPlanobje.EmployeeId = data?.EmployeeId;\n this.BusinessPlanobje.TargetFor = data?.TargetFor;\n this.BusinessPlanobje.TargetYear = data?.TargetYear;\n this.BusinessPlanobje.RoleName = data?.RoleName;\n\n if (data.PlanList != null) {\n\n var i = 0;\n data.PlanList.forEach(element => {\n this.BusinessPlanobje.PlanList[i].Id = element.Id;\n // this.BusinessPlanobje.PlanList[i].Units = element.Units;\n this.BusinessPlanobje.PlanList[i].Amount = element.Amount;\n this.BusinessPlanobje.PlanList[i].FC1Amount = element.FC1Amount==null?0:element.FC1Amount;\n this.BusinessPlanobje.PlanList[i].FC2Amount = element.FC2Amount==null?0:element.FC2Amount;\n this.BusinessPlanobje.PlanList[i].FC3Amount = element.FC3Amount==null?0:element.FC3Amount;\n i = i + 1;\n }, error => {\n this.toastr.error(\"Failed to load existing plan!\");\n this.showLoader = false;\n });\n\n this.showLoader = false;\n }\n else {\n var i = 0;\n this.BusinessPlanobje.PlanList.forEach(element => {\n this.BusinessPlanobje.PlanList[i].Id = 0;\n // this.BusinessPlanobje.PlanList[i].Units = 0;\n this.BusinessPlanobje.PlanList[i].Amount = 0;\n this.BusinessPlanobje.PlanList[i].FC1Amount = 0;\n this.BusinessPlanobje.PlanList[i].FC2Amount = 0;\n this.BusinessPlanobje.PlanList[i].FC3Amount = 0;\n i = i + 1;\n });\n }\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n\n\n\n setName(event: any) {\n this.name = event.target.value;\n }\n\n /*******************************************************************************\n * Form validation method\n * ******************************************************************************/\n\n isNumberKey(evt: any) {\n this.charCode = (evt.which) ? evt.which : evt.keyCode;\n if (this.charCode != 46 && this.charCode > 31\n && (this.charCode < 48 || this.charCode > 57)) {\n return false;\n }\n else {\n return true;\n }\n }\n\n AvoidSpace(event: any) {\n if (event.which === 32 && !event.target.value.length) {\n event.preventDefault();\n }\n }\n onUnitsChange(i) {\n\n var povalue: number = parseFloat(this.BusinessPlanobje.PlanList[i].Units.toString());\n if (povalue == undefined || povalue == null) {\n this.BusinessPlanobje.PlanList[i].UnitsValidation = true;\n this.IsBPDataValid = false;\n } else if (povalue < 0) {\n this.BusinessPlanobje.PlanList[i].UnitsValidation = true;\n this.IsBPDataValid = false;\n } else if (povalue % 1 != 0) {\n this.BusinessPlanobje.PlanList[i].UnitsValidation = true;\n this.IsBPDataValid = false;\n } else if (this.BusinessPlanobje.PlanList[i].Units.toString().indexOf('.') > -1) {\n this.BusinessPlanobje.PlanList[i].UnitsValidation = true;\n this.IsBPDataValid = false;\n }\n else if (isNaN(this.BusinessPlanobje.PlanList[i].Units)) {\n this.BusinessPlanobje.PlanList[i].UnitsValidation = true;\n this.IsBPDataValid = false;\n }\n else {\n this.BusinessPlanobje.PlanList[i].UnitsValidation = false;\n }\n\n }\n onAmountChange(i) {\n\n var povalue: number = parseFloat(this.BusinessPlanobje.PlanList[i].Amount.toString());\n if (povalue == undefined || povalue == null) {\n this.BusinessPlanobje.PlanList[i].AmountValidation = true;\n this.IsBPDataValid = false;\n } else if (povalue < 0) {\n this.BusinessPlanobje.PlanList[i].AmountValidation = true;\n this.IsBPDataValid = false;\n } else if (povalue % 1 != 0) {\n this.BusinessPlanobje.PlanList[i].AmountValidation = true;\n this.IsBPDataValid = false;\n } else if (this.BusinessPlanobje.PlanList[i].Amount.toString().indexOf('.') > -1) {\n this.BusinessPlanobje.PlanList[i].AmountValidation = true;\n this.IsBPDataValid = false;\n }\n else if (isNaN(this.BusinessPlanobje.PlanList[i].Amount)) {\n this.BusinessPlanobje.PlanList[i].AmountValidation = true;\n this.IsBPDataValid = false;\n } else {\n this.BusinessPlanobje.PlanList[i].AmountValidation = false;\n }\n }\n\n onFC1Change(i)\n {\n var povalue: number = parseFloat(this.BusinessPlanobje.PlanList[i].FC1Amount.toString());\n if (povalue == undefined || povalue == null) {\n this.BusinessPlanobje.PlanList[i].FC1Validation = true;\n this.IsBPDataValid = false;\n } else if (povalue < 0) {\n this.BusinessPlanobje.PlanList[i].FC1Validation = true;\n this.IsBPDataValid = false;\n } else if (povalue % 1 != 0 || povalue.toString().indexOf('.') > -1) {\n this.BusinessPlanobje.PlanList[i].FC1Validation = true;\n this.IsBPDataValid = false;\n } else if (this.BusinessPlanobje.PlanList[i].FC1Amount.toString().indexOf('.') > -1) {\n this.BusinessPlanobje.PlanList[i].FC1Validation = true;\n this.IsBPDataValid = false;\n } else if (isNaN(this.BusinessPlanobje.PlanList[i].FC1Amount)) {\n this.BusinessPlanobje.PlanList[i].FC1Validation = true;\n this.IsBPDataValid = false;\n }else {\n this.BusinessPlanobje.PlanList[i].FC1Validation = false;\n }\n }\n onFC2Change(i)\n {\n var povalue: number = parseFloat(this.BusinessPlanobje.PlanList[i].FC2Amount.toString());\n if (povalue == undefined || povalue == null) {\n this.BusinessPlanobje.PlanList[i].FC2Validation = true;\n this.IsBPDataValid = false;\n } else if (povalue < 0) {\n this.BusinessPlanobje.PlanList[i].FC2Validation = true;\n this.IsBPDataValid = false;\n } else if (povalue % 1 != 0 || povalue.toString().indexOf('.') > -1) {\n this.BusinessPlanobje.PlanList[i].FC2Validation = true;\n this.IsBPDataValid = false;\n } else if (this.BusinessPlanobje.PlanList[i].FC2Amount.toString().indexOf('.') > -1) {\n this.BusinessPlanobje.PlanList[i].FC2Validation = true;\n this.IsBPDataValid = false;\n } else if (isNaN(this.BusinessPlanobje.PlanList[i].FC2Amount)) {\n this.BusinessPlanobje.PlanList[i].FC2Validation = true;\n this.IsBPDataValid = false;\n }else {\n this.BusinessPlanobje.PlanList[i].FC2Validation = false;\n }\n }\n onFC3Change(i)\n {\n var povalue: number = parseFloat(this.BusinessPlanobje.PlanList[i].FC3Amount.toString());\n if (povalue == undefined || povalue == null) {\n this.BusinessPlanobje.PlanList[i].FC3Validation = true;\n this.IsBPDataValid = false;\n } else if (povalue < 0) {\n this.BusinessPlanobje.PlanList[i].FC3Validation = true;\n this.IsBPDataValid = false;\n } else if (povalue % 1 != 0 || povalue.toString().indexOf('.') > -1) {\n this.BusinessPlanobje.PlanList[i].FC3Validation = true;\n this.IsBPDataValid = false;\n } else if (this.BusinessPlanobje.PlanList[i].FC3Amount.toString().indexOf('.') > -1) {\n this.BusinessPlanobje.PlanList[i].FC3Validation = true;\n this.IsBPDataValid = false;\n } else if (isNaN(this.BusinessPlanobje.PlanList[i].FC3Amount)) {\n this.BusinessPlanobje.PlanList[i].FC3Validation = true;\n this.IsBPDataValid = false;\n }else {\n this.BusinessPlanobje.PlanList[i].FC3Validation = false;\n }\n }\n \n checkValidBusinessPlan() {\n this.BusinessPlanobje.PlanList.forEach(element => {\n // var povalue: number = parseFloat(element.Units.toString());\n // if (povalue == undefined || povalue == null) {\n // element.UnitsValidation = true;\n // this.IsBPDataValid = false;\n // } else if (povalue < 0) {\n // element.UnitsValidation = true;\n // this.IsBPDataValid = false;\n // } else if (povalue % 1 != 0) {\n // element.UnitsValidation = true;\n // this.IsBPDataValid = false;\n // } else if (element.Units.toString().indexOf('.') > -1) {\n // element.UnitsValidation = true;\n // this.IsBPDataValid = false;\n // } else {\n // element.UnitsValidation = false;\n // }\n\n var povalue: number = parseFloat(element.Amount.toString());\n if (povalue == undefined || povalue == null) {\n element.AmountValidation = true;\n this.IsBPDataValid = false;\n } else if (povalue < 0) {\n element.AmountValidation = true;\n this.IsBPDataValid = false;\n } else if (povalue % 1 != 0) {\n element.AmountValidation = true;\n this.IsBPDataValid = false;\n } else if (element.Amount.toString().indexOf('.') > -1) {\n element.AmountValidation = true;\n this.IsBPDataValid = false;\n } else {\n element.AmountValidation = false;\n }\n\n\n var povalue: number = parseFloat(element.FC1Amount.toString());\n if (povalue == undefined || povalue == null) {\n element.FC1Validation = true;\n this.IsBPDataValid = false;\n } else if (povalue < 0) {\n element.FC1Validation = true;\n this.IsBPDataValid = false;\n } else if (povalue % 1 != 0) {\n element.FC1Validation = true;\n this.IsBPDataValid = false;\n } else if (element.FC1Amount.toString().indexOf('.') > -1) {\n element.FC1Validation = true;\n this.IsBPDataValid = false;\n } else {\n element.FC1Validation = false;\n }\n\n var povalue: number = parseFloat(element.FC2Amount.toString());\n if (povalue == undefined || povalue == null) {\n element.FC2Validation = true;\n this.IsBPDataValid = false;\n } else if (povalue < 0) {\n element.FC2Validation = true;\n this.IsBPDataValid = false;\n } else if (povalue % 1 != 0) {\n element.FC2Validation = true;\n this.IsBPDataValid = false;\n } else if (element.FC2Amount.toString().indexOf('.') > -1) {\n element.FC2Validation = true;\n this.IsBPDataValid = false;\n } else {\n element.FC2Validation = false;\n }\n\n var povalue: number = parseFloat(element.FC3Amount.toString());\n if (povalue == undefined || povalue == null) {\n element.FC3Validation = true;\n this.IsBPDataValid = false;\n } else if (povalue < 0) {\n element.FC3Validation = true;\n this.IsBPDataValid = false;\n } else if (povalue % 1 != 0) {\n element.FC3Validation = true;\n this.IsBPDataValid = false;\n } else if (element.FC3Amount.toString().indexOf('.') > -1) {\n element.FC3Validation = true;\n this.IsBPDataValid = false;\n } else {\n element.FC3Validation = false;\n }\n });\n }\n /*******************************************************************************\n * End Form validation method \n * ******************************************************************************/\n onSubmit(myform: any) {\n // var unit = this.BusinessPlanobje.PlanList.filter(x => x.Units != 0);\n var amt = this.BusinessPlanobje.PlanList.filter(x => x.Amount != 0);\n // if (unit.length == 0) {\n // this.zeroValues = true;\n // alert(\"Units cannot be 0 for all the months.\")\n // return;\n // }\n\n if (amt.length == 0) {\n this.zeroValues = true;\n alert(\"Amount cannot be 0 for all the months.\")\n return;\n }\n this.IsBPDataValid = true;\n this.checkValidBusinessPlan();\n if (!this.IsBPDataValid) {\n return;\n }\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Do you want to update this business plan for sales and orders?\"\n }\n });\n dialogRef.afterClosed().subscribe(dialogResult => {\n if (dialogResult) {\n this.showLoader = true;\n this.Service.PostData('BusinessPlanSalesTarget', 'Update', this.BusinessPlanobje, null).subscribe((data: any) => {\n let result = data;\n this.showLoader = false;\n this.toastr.success('Business plan updated successfully!');\n this.router.navigate(['/BusinessPlanDetails']);\n }, error => {\n this.toastr.error('Failed to update business plan');\n this.showLoader = false;\n this.router.navigate(['/BusinessPlanDetails']);\n });\n }\n });\n\n\n }\n\n EditDetails() {\n this.isEditable = false;\n this.FormStatus = \"Edit\";\n const appConfig = this.appConfigService.getConfig();\n this.titleService.setTitle(`Edit Business Plan - ${appConfig.titleName}`);\n //this.titleService.setTitle(\"Edit Business Plan - ECOTECH\"); \n }\n\n getAccess()\n {\n this.accessservice.GetAll().subscribe((data:any)=> {\n this.accesspermissionobj=data;\n this.isBPMasterEditable=this.accesspermissionobj.filter(x => x.Fk_RoleId == this.UserRole && x.ElementKey=='isBusinessPlanforSalesandOrder')[0]?.IsEditable;\n \n });\n \n }\n}\n","\n\n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n {{FormStatus}} Business Plan for Sales and Order\n

    \n
    \n
    \n
    \n
    \n * Marked fields are\n mandatory\n
    \n \n
    \n
    \n
    \n
    \n
    \n","import { Component, Input, OnInit } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { Title } from '@angular/platform-browser';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { NgbCalendar, NgbDate, NgbDateParserFormatter } from '@ng-bootstrap/ng-bootstrap';\nimport { ToastrService } from 'ngx-toastr';\nimport { ConfirmDialogComponent } from 'src/app/confirm-dialog/confirm-dialog.component';\nimport { AddCustomerOpportunityModel } from 'src/app/Model/AddCustomerOpportunityModel';\nimport { EnquiryDetailsModel } from 'src/app/Model/EnquiryModel';\nimport { LeadModel } from 'src/app/Model/LeadModel';\nimport { SingleFieldModel } from 'src/app/Model/SingleFieldModel';\nimport { CommonService } from 'src/app/Service/common.service';\n\n@Component({\n selector: 'app-add-lead',\n templateUrl: './add-lead.component.html',\n styleUrls: ['./add-lead.component.scss']\n})\nexport class AddLeadComponent implements OnInit {\n\n AddCustomerOpportunityModel = new AddCustomerOpportunityModel();\n EnquiryObj: EnquiryDetailsModel = new EnquiryDetailsModel();\n Country: any[] = [];\n Region: any[] = [];\n IndustrySegment: any[] = [];\n // Typeofcustomer: any[] = [];\n enquirySource: SingleFieldModel[] = [];\n CustomerType: any[] = [];\n showLoader: boolean = false;\n minDate: NgbDate;\n maxDate: NgbDate;\n remLimit: any = 1500;\n maxLimit: any = 1500;\n varLongTermGoal: any;\n\n LeadObj: LeadModel = new LeadModel();\n Id: any;\n @Input()\n EnquiryngbDateToFiter: NgbDate | null;\n EnquiryngbDateFromFiter: NgbDate | null;\n\n constructor(private router: Router,\n private toastr: ToastrService,\n private Service: CommonService,\n public dialog: MatDialog,\n private calendar: NgbCalendar,\n public formatter: NgbDateParserFormatter,\n private CommonService: CommonService) {\n this.minDate = new NgbDate(2018, 1, 1);\n this.maxDate = new NgbDate(new Date().getFullYear(), new Date().getMonth() + 1, new Date().getDate());\n }\n\n ngOnInit(): void {\n this.GetCustomerDropdownData();\n this.getEnquirySourceDetails();\n }\n\n AvoidSpace(event: any) {\n if (event.which === 32 && !event.target.value.length) {\n event.preventDefault();\n }\n }\n\n limitTextOnKeyUpDown1(event: any) {\n let goalText = event.target.value;\n if (goalText.length > this.maxLimit) {\n this.varLongTermGoal = goalText.substring(0, this.maxLimit);\n } else {\n this.remLimit = this.maxLimit - goalText.length;\n }\n }\n onSubmit(myform: any) {\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"You want to add this Lead?\"\n }\n\n });\n dialogRef.afterClosed().subscribe(dialogResult => {\n if (dialogResult) {\n this.showLoader = true;\n const frmData = new FormData();\n\n if (this.LeadObj.LeadDate != undefined) {\n this.LeadObj.LeadDate = new Date(this.convertDate(new NgbDate(this.LeadObj.LeadDate.year, this.LeadObj.LeadDate.month, this.LeadObj.LeadDate.day))).toDateString();\n }\n\n let LeadDatails = JSON.stringify(this.LeadObj);\n frmData.append(\"LeadModel\", LeadDatails);\n this.CommonService.PostData('Lead', 'Add', frmData, null).subscribe((data: any) => {\n let result = data;\n\n if (result.ResponseCode == 1) {\n this.toastr.success('Lead added successfully!');\n this.CommonService.RefreshHeaderFun();\n this.router.navigate(['/Lead']);\n this.showLoader = false;\n }\n else {\n this.toastr.error('Failed to add Lead!');\n this.router.navigate(['/Lead']);\n this.showLoader = false;\n }\n\n }, error => {\n this.toastr.error('Failed to add Lead!');\n this.showLoader = false;\n this.router.navigate(['/Lead']);\n });\n }\n\n\n });\n }\n GetCustomerDropdownData() {\n this.showLoader = true;\n this.Service.GetData(\"Customer\", \"GetCustomerDropdownDetails\", null).subscribe((data: any) => {\n //this.Country = data.Country;\n this.Region = data.Region;\n this.IndustrySegment = data.IndustrySegment;\n this.CustomerType = data.CustomerType;\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n convertDate(date: any) {\n let year = date.year;\n let month = date.month;\n let day = date.day;\n return year + \"-\" + month + \"-\" + day;\n }\n validateInput(currentValue: NgbDate | null, input: string): NgbDate | null { const parsed = this.formatter.parse(input); return parsed && this.calendar.isValid(NgbDate.from(parsed)) ? NgbDate.from(parsed) : currentValue; }\n\n getEnquirySourceDetails() {\n this.showLoader = true;\n this.CommonService.GetData(\"Enquiry\", \"GetEnquiryDropdownData\", null).subscribe((data: any) => {\n this.enquirySource = data.EnquirySource;\n this.showLoader = false;\n });\n }\n}\n","\n\n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n Add Lead\n

    \n
    \n
    \n\n
    \n\n \n
    \n
    \n
    \n
    \n
    \n","import { Component, Input, OnInit } from '@angular/core';\nimport { NgForm } from '@angular/forms';\nimport { MatDialog } from '@angular/material/dialog';\nimport { Router } from '@angular/router';\nimport { NgbActiveModal, NgbDate } from '@ng-bootstrap/ng-bootstrap';\nimport { ToastrService } from 'ngx-toastr';\nimport { AppGlobals } from 'src/app/app.global';\nimport { ConfirmDialogComponent } from 'src/app/confirm-dialog/confirm-dialog.component';\nimport { EnquiryStatus } from 'src/app/EnquiryStatus';\nimport { LeadModel } from 'src/app/Model/LeadModel';\nimport { SingleFieldModel } from 'src/app/Model/SingleFieldModel';\nimport { CommonService } from 'src/app/Service/common.service';\n\n@Component({\n selector: 'app-close-lead',\n templateUrl: './close-lead.component.html',\n styleUrls: ['./close-lead.component.scss']\n})\n\n\n\nexport class CloseLeadComponent implements OnInit {\n LeadObj: LeadModel = new LeadModel();\n // EnquiryObj: EnquiryDetailsModel = new EnquiryDetailsModel();\n\n @Input() showLoader: boolean = false;\n @Input() leadDataObj;\n closeOpportunityList: SingleFieldModel[] = [];\n leadId: any;\n enquiryStatus = EnquiryStatus;\n\n OppCloseId: any;\n role: string;\n remLimit: any = 1500;\n maxLimit: any = 1500;\n varLongTermGoal: any;\n Comment: any;\n\n constructor(private toastr: ToastrService,\n private activeModal: NgbActiveModal,\n private commonService: CommonService,\n private Service: CommonService,\n public dialog: MatDialog,\n private router: Router) { }\n\n\n ngOnInit(): void {\n this.role = localStorage.getItem(\"UserRole\");\n this.leadId = this.leadDataObj.Lead_Id;\n this.getAllCloseOpportunityReason();\n this.getLeadDetailsById(this.leadId);\n\n }\n\n\n getAllCloseOpportunityReason() {\n this.commonService.GetData(\"OpportunityCloseReason\", \"GetAll\", null).subscribe((data: any) => {\n this.closeOpportunityList = data;\n this.OppCloseId = undefined;\n },\n error => {\n this.toastr.error(\"Failed to load Data!\");\n this.showLoader = false;\n });\n }\n\n\n closePopup() {\n this.activeModal.close('Close Click');\n }\n\n\n // getEnquiryDetailsById(id) {\n // let queryString = \"\";\n // queryString = \"id=\" + id;\n // this.commonService.GetData('Enquiry', 'GetById', queryString).subscribe((data: any) => {\n // this.EnquiryObj.EnquiryDetails = data.EnquiryDetails;\n // });\n // }\n getLeadDetailsById(Lead_Id: number) {\n //this.showLoader = true;\n\n let queryString = \"\";\n queryString = \"Lead_Id=\" + Lead_Id;\n this.Service.GetData('Lead', 'GetById', queryString).subscribe((data: any) => {\n this.LeadObj = data;\n\n // this.LeadObj.LeadDate = new NgbDate(new Date(this.LeadObj.LeadDate).getFullYear(), new Date(this.LeadObj.LeadDate).getMonth() + 1, new Date(this.LeadObj.LeadDate).getDate());\n\n\n });\n\n }\n\n CloseLeadReason(Status, closeLeadForm: NgForm) {\n\n this.LeadObj.Fk_LeadCloseReason = this.OppCloseId;\n\n\n // if (this.LeadObj.Fk_LeadCloseReason == undefined || this.LeadObj.Fk_LeadCloseReason == null ||\n // this.LeadObj.Fk_LeadCloseReason == 0) {\n // return;\n // }\n closeLeadForm.control.markAllAsTouched();\n if (closeLeadForm.invalid) {\n return;\n }\n\n var confimrmsg = AppGlobals.successMessages.filter(x => x.id == Status)[0];\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: confimrmsg.confirmmsg\n }\n });\n\n dialogRef.afterClosed().subscribe(dialogResult => {\n if (dialogResult) {\n this.showLoader = true;\n\n let leadDetails = JSON.stringify(this.LeadObj);\n const frmData = new FormData();\n frmData.append(\"leadDetails\", leadDetails);\n\n\n this.commonService.PostData(\"Lead\", \"CloseLead\", frmData, null).subscribe((data: any) => {\n this.LeadObj.Lead_Id = data;\n\n this.showLoader = false;\n this.toastr.success(confimrmsg.successmsg);\n this.router.navigate(['/Lead']);\n this.closePopup();\n\n\n }, error => {\n this.toastr.error(confimrmsg.errormsg);\n this.showLoader = false;\n //this.router.navigate(['/Enquiry']);\n });\n }\n });\n }\n limitTextOnKeyUpDown1(event: any) {\n let goalText = event.target.value;\n if (goalText.length > this.maxLimit) {\n this.varLongTermGoal = goalText.substring(0, this.maxLimit);\n } else {\n this.remLimit = this.maxLimit - goalText.length;\n }\n }\n}\n","\n
    \n\n\n
    \n\n
    \n\n
    \n
    \n
    \n
    \n

    \n Close Lead Reason\n

    \n
    \n
    \n
    \n
    \n
    \n\n
    \n \n
    \n \n
    \n
    \n Close Lead reason is required\n
    \n
    \n
    \n
    \n
    \n
    \n\n \n
    \n \n Limit {{maxLimit}} characters,\n {{remLimit}} characters\n remaining.\n
    \n
    \n Comment is required\n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n\n \n
    \n
    ","import { Location } from '@angular/common';\nimport { Component, OnInit } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { Title } from '@angular/platform-browser';\nimport { ActivatedRoute, Router, RouterLinkWithHref } from '@angular/router';\nimport { NgbDate, NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { ToastrService } from 'ngx-toastr';\nimport { AppGlobals } from 'src/app/app.global';\nimport { ConfirmDialogComponent } from 'src/app/confirm-dialog/confirm-dialog.component';\nimport { EnquiryDetailsModel } from 'src/app/Model/EnquiryModel';\nimport { LeadModel } from 'src/app/Model/LeadModel';\nimport { SingleFieldModel } from 'src/app/Model/SingleFieldModel';\nimport { CommonService } from 'src/app/Service/common.service';\nimport { CloseLeadComponent } from '../../close-lead/close-lead.component';\nimport { AppConfigService } from 'src/app/Service/app-config.service';\n@Component({\n selector: 'app-edit-view-lead',\n templateUrl: './edit-view-lead.component.html',\n styleUrls: ['./edit-view-lead.component.scss']\n})\n\nexport class EditViewLeadComponent implements OnInit {\n LeadObj: LeadModel = new LeadModel();\n // EnquiryObj: EnquiryDetailsModel = new EnquiryDetailsModel();\n Id: any;\n Country: any[] = [];\n Region: any[] = [];\n IndustrySegment: any[] = [];\n FK_EnquirySourceId : any[] = [];\n Typeofcustomer: any[] = [];\n enquirySource: any[] = [];\n showLoader: boolean = false;\n minDate: NgbDate;\n maxDate: NgbDate;\n remLimit: any = 1500;\n maxLimit: any = 1500;\n varLongTermGoal: any;\n isEditable: boolean = true;\n FormStatus: string = \"View\";\n isLeadEditable: boolean = false;\n UserRole: any;\n AppGlobals = AppGlobals;\n closeResult: string;\n type=\"lead\";\n leadStatus:any;\n constructor(\n private router: Router,\n private location: Location,\n public dialog: MatDialog,\n private Service: CommonService,\n private toastr: ToastrService,\n private route: ActivatedRoute,\n private modalService: NgbModal,\n private CommonService: CommonService,\n private titleService: Title,\n private appConfigService : AppConfigService) {\n this.minDate = new NgbDate(2018, 1, 1);\n this.maxDate = new NgbDate(new Date().getFullYear(), new Date().getMonth() + 1, new Date().getDate());\n }\n ngOnInit(): void {\n this.UserRole = localStorage.getItem(\"UserRole\");\n this.isLeadEditable = AppGlobals.LeadMasterEditableAccessArray.filter(x => x.role == this.UserRole)[0]?.isEditable;\n this.Id = this.route.snapshot.params[\"id\"];\n this.getLeadDetailsById(this.Id);\n this.GetCustomerDropdownData();\n this.getEnquirySourceDetails();\n\n }\n GetCustomerDropdownData() {\n this.showLoader = true;\n this.Service.GetData(\"Customer\", \"GetCustomerDropdownDetails\", null).subscribe((data: any) => {\n //this.Country = data.Country;\n this.Region = data.Region;\n this.IndustrySegment = data.IndustrySegment;\n this.Typeofcustomer = data.CustomerType;\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n\n getLeadDetailsById(Lead_Id: number) {\n this.showLoader = true;\n\n let queryString = \"\";\n queryString = \"Lead_Id=\" + Lead_Id;\n this.Service.GetData('Lead', 'GetById', queryString).subscribe((data: any) => {\n this.LeadObj = data;\n this.LeadObj.LeadDate = new NgbDate(new Date(this.LeadObj.LeadDate).getFullYear(), new Date(this.LeadObj.LeadDate).getMonth() + 1, new Date(this.LeadObj.LeadDate).getDate());\n this.remLimit = this.maxLimit - data.Description.length;\n if(this.LeadObj!=null)\n {\n if(this.LeadObj.IsConvertToProspect)\n {\n this.leadStatus=\"Converted to prospect\"; \n }\n \n if(this.LeadObj.Fk_LeadCloseReason!=null)\n {\n this.leadStatus=\"Lead is closed with reason : \" + this.LeadObj.closeReason;\n }\n if(this.LeadObj.Fk_LeadCloseReason==null && !this.LeadObj.IsConvertToProspect)\n {\n this.leadStatus=\"Lead is active\";\n }\n }\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n\n });\n\n }\n AvoidSpace(event: any) {\n if (event.which === 32 && !event.target.value.length) {\n event.preventDefault();\n }\n }\n limitTextOnKeyUpDown1(event: any) {\n let goalText = event.target.value;\n if (goalText.length > this.maxLimit) {\n this.varLongTermGoal = goalText.substring(0, this.maxLimit);\n } else {\n this.remLimit = this.maxLimit - goalText.length;\n }\n }\n EditDetails() {\n this.isEditable = false;\n this.FormStatus = \"Edit\";\n const appConfig = this.appConfigService.getConfig();\n this.titleService.setTitle(`Edit Lead - ${appConfig.titleName}`);\n //this.titleService.setTitle(\"Edit Lead - ECOTECH\");\n }\n onSubmit(myform: any) {\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"You want to Update this Lead?\"\n }\n\n });\n dialogRef.afterClosed().subscribe(dialogResult => {\n if (dialogResult) {\n this.showLoader = true;\n if (this.LeadObj.LeadDate != undefined) {\n this.LeadObj.LeadDate = new Date(this.convertDate(new NgbDate(this.LeadObj.LeadDate.year, this.LeadObj.LeadDate.month, this.LeadObj.LeadDate.day))).toDateString();\n }\n \n const frmData = new FormData();\n let LeadDatails = JSON.stringify(this.LeadObj);\n frmData.append(\"LeadModel\", LeadDatails);\n if (this.LeadObj.Id != undefined) {\n frmData.append(\"Lead\", this.Id);\n }\n\n this.CommonService.PostData('Lead', 'Update', frmData, null).subscribe((data: any) => {\n let result = data;\n\n if (result.ResponseCode == 1) {\n this.toastr.success('Lead Update successfully!');\n this.CommonService.RefreshHeaderFun();\n this.router.navigate(['/Lead']);\n this.showLoader = false;\n }\n else {\n this.toastr.error('Failed to Update Lead!');\n this.router.navigate(['/Lead']);\n this.showLoader = false;\n }\n\n }, error => {\n this.toastr.error('Failed to Update Lead!');\n this.showLoader = false;\n this.router.navigate(['/Lead']);\n });\n }\n\n\n });\n\n }\n openLeadReasonPopup() {\n const modalRef = this.modalService.open(CloseLeadComponent, {\n size: 'lg', backdrop: 'static', keyboard: false\n });\n\n var leadObj = {\n Lead_Id: this.LeadObj.Lead_Id,\n // EnquiryStatus: this.EnquiryObj.EnquiryDetails.Status,\n // EnqTermsConditionSelected: this.EnquiryObj.EnquiryDetails.RFQTermsAndCondition,\n // IsQuotationPriceOnRequest: this.EnquiryObj.EnquiryDetails.IsQuotationPriceOnRequest,\n // TermsAndCondition: this.EnquiryObj.TermsAndConditions,\n // CustomTermsAndCondition: this.EnquiryObj.CustomTermsAndConditions,\n // PendingAtRoleId: this.EnquiryObj.EnquiryDetails.PendingAtRoleId\n }\n\n modalRef.componentInstance.leadDataObj = leadObj;\n modalRef.result.then((result) => {\n this.closeResult = `Closed with:${result}`;\n if (this.closeResult !== 'Closed with:Close click') {\n this.ngOnInit();\n }\n });\n }\n convertDate(date: any) {\n let year = date.year;\n let month = date.month;\n let day = date.day;\n return year + \"-\" + month + \"-\" + day;\n }\n convert()\n {\n this.router.navigate( ['EditViewCustomer', {id: this.LeadObj.Lead_Id, type: \"lead\"}]); \n }\n \n getEnquirySourceDetails() {\n this.showLoader = true;\n this.CommonService.GetData(\"Enquiry\", \"GetEnquiryDropdownData\", null).subscribe((data: any) => {\n this.enquirySource = data.EnquirySource;\n this.showLoader = false;\n });\n }\n\n goBack() {\n this.location.back();\n }\n}\n","\n\n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n {{FormStatus}} Lead\n

    \n
    \n
    \n\n
    \n\n \n
    \n
    \n
    \n
    \n
    \n","import { Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { Sort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { ActivatedRoute } from '@angular/router';\nimport { ToastrService } from 'ngx-toastr';\nimport { ConfirmDialogComponent } from 'src/app/confirm-dialog/confirm-dialog.component';\nimport { SingleFieldComponent, SingleFieldModel } from 'src/app/Model/SingleFieldModel';\nimport { CommonService } from 'src/app/Service/common.service';\n\n@Component({\n selector: 'app-lead-details',\n templateUrl: './lead-details.component.html',\n styleUrls: ['./lead-details.component.scss']\n})\nexport class LeadDetailsComponent implements OnInit {\n\n displayedColumns: string[] = ['CustomerName', 'CustomerAddress', 'Region', 'LeadStatus','EnquiryNumber','CustomerCode','Action'];\n dataSource: MatTableDataSource;\n singleFieldComponent: SingleFieldComponent = new SingleFieldComponent();\n singleFieldObj: SingleFieldModel = new SingleFieldModel();\n Role: any;\n UserRoles: any;\n disabled: boolean = false;\n isImageEditable: boolean = false;\n /*************************************************************************\n Server side Pagination purpose\n *************************************************************************/\n pageNumber: number = 1;\n @Input() pageSize: number = 5;\n @Input() length: number;\n @Input() pageIndex: number = this.pageNumber - 1;\n direction: string = 'desc';\n ColumnName: string = 'ModifiedOn';\n SearchText: string = \"\";\n @Output('matSortChange') sortChange: EventEmitter;\n @ViewChild(MatPaginator) paginator: MatPaginator;\n\n\n /*************************************************************************/\n constructor(\n private toastr: ToastrService,\n private Service: CommonService,\n public dialog: MatDialog,\n private route: ActivatedRoute\n ) { }\n @Input()\n showLoader: boolean = false;\n data: any[] = [];\n\n ngOnInit(): void {\n this.singleFieldObj.Id = this.route.snapshot.params[\"id\"];\n this.Role = localStorage.getItem(\"UserRole\");\n this.GetAllLeadDetails(); \n }\n\n GetAllLeadDetails() { \n this.showLoader = true;\n let queryString = \"\";\n queryString = \"pageNumber=\" + this.pageNumber;\n queryString += \"&pageSize=\" + this.pageSize;\n queryString += \"&searchText=\" + this.SearchText;\n queryString += \"&direction=\" + this.direction;\n queryString += \"&columnName=\" + this.ColumnName;\n\n this.Service.GetData('Lead', 'GetAllPagination', queryString).subscribe((data: any) => {\n this.data = data.Data;\n this.length = data.Total;\n\n this.dataSource = new MatTableDataSource(this.data);\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n sortData(event: any) {\n if (this.dataSource.filteredData != null) {\n this.direction = event.direction;\n this.ColumnName = event.active;\n this.GetAllLeadDetails();\n }\n }\n AvoidSpace(event: any) {\n if (event.which === 32 && !event.target.value.length) {\n event.preventDefault();\n }\n }\n\n SearchParam(event: any) {\n this.SearchText = event.target.value;\n this.pageNumber = 1;\n this.paginator.pageIndex = 0;\n this.GetAllLeadDetails();\n }\n pageEvent(event: any) {\n\n window.scroll({\n top: 0,\n left: 0,\n behavior: 'smooth'\n });\n\n this.pageNumber = event.pageIndex + 1;\n this.pageSize = event.pageSize;\n this.GetAllLeadDetails();\n }\n\n UpdateLeadById(Lead_Id: number, CurrentStatus: boolean) {\n if (CurrentStatus == true) {\n //Create ConfirmDialogRef \n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Do you want to deactivate this lead?\"\n }\n });\n // listen to response from ConfirmDialogRef\n dialogRef.afterClosed().subscribe(dialogResult => {\n // if user pressed yes dialogResult will be true, \n // if he pressed no - it will be false\n if (dialogResult) {\n this.pageNumber = 1;\n this.paginator.pageIndex = 0;\n this.length = 0;\n this.direction = 'desc';\n this.ColumnName = 'ModifiedOn';\n this.showLoader = true;\n\n let queryString = \"\";\n queryString = \"id=\" + Lead_Id;\n\n this.Service.PostData('Lead', 'UpdateStatus', null, queryString).subscribe((data: any) => {\n this.showLoader = false;\n if (data.ResponseCode == 1) {\n this.toastr.success(\"Lead deactivated successfully!\");\n }\n else {\n this.toastr.info(\"Failed to deactivate lead!\");\n }\n this.GetAllLeadDetails();\n }, error => {\n this.toastr.error(\"Failed to deactivate lead!\");\n this.GetAllLeadDetails();\n this.showLoader = false;\n });\n }\n else {\n this.GetAllLeadDetails();\n this.showLoader = false;\n let element: HTMLElement = document.getElementsByClassName('slideToogle')[0] as HTMLElement;\n element.click();\n }\n });\n\n }\n else {\n //Create ConfirmDialogRef\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Do you want to activate this lead?\"\n }\n });\n // listen to response from ConfirmDialogRef\n dialogRef.afterClosed().subscribe(dialogResult => {\n // if user pressed yes dialogResult will be true, \n // if he pressed no - it will be false\n if (dialogResult) {\n this.pageNumber = 1;\n this.paginator.pageIndex = 0;\n this.length = 0;\n this.direction = 'desc';\n this.ColumnName = 'ModifiedOn';\n this.showLoader = true;\n\n let queryString = \"\";\n queryString = \"id=\" + Lead_Id;\n\n this.Service.PostData('Lead', 'UpdateStatus', null, queryString).subscribe((data: any) => {\n this.showLoader = false;\n if (data.ResponseCode == 1) {\n this.toastr.success(\"Lead activated successfully!\");\n }\n else {\n this.toastr.info(\"Failed to activate lead!\");\n }\n this.GetAllLeadDetails();\n }, error => {\n this.toastr.error(\"Failed to activate lead!\");\n this.GetAllLeadDetails();\n this.showLoader = false;\n });\n\n }\n else {\n this.GetAllLeadDetails();\n this.showLoader = false;\n let element: HTMLElement = document.getElementsByClassName('slideToogle')[0] as HTMLElement;\n element.click();\n }\n });\n }\n }\n}\n","\n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    Lead Listing\n

    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n \n Search\n \n \n\n
    \n\n
    \n\n
    \n \n\n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n\n\n \n \n\n
    Id {{row.id} Customer Name {{row.CustomerName}} Organization {{row.Organization}} Customer Address {{row.CustomerAddress}} Region {{row.RegionName}} Status {{row.LeadStatus}} Enquiry Number {{row.EnquiryNumber}} Customer Code {{row.CustomerCode}} Action \n \n \n     \n\n \n
    \n
    No records found
    \n\n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n\n","import { Component, ElementRef, Input, OnInit, ViewChild } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { Title } from '@angular/platform-browser';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { ToastrService } from 'ngx-toastr';\nimport { ConfirmDialogComponent } from 'src/app/confirm-dialog/confirm-dialog.component';\nimport { CommonService } from 'src/app/Service/common.service';\nimport { NgbDate } from '@ng-bootstrap/ng-bootstrap';\nimport { StockInventoryModel } from 'src/app/Model/StockInventoryModel';\nimport { AppConfigService } from 'src/app/Service/app-config.service';\n\n@Component({\n selector: 'app-add-stock-inventory',\n templateUrl: './add-stock-inventory.component.html',\n styleUrls: ['./add-stock-inventory.component.scss']\n})\nexport class AddStockInventoryComponent implements OnInit {\n StockInventoryObj: StockInventoryModel = new StockInventoryModel();\n StockDatevar: Date = new Date();\n minDate: NgbDate;\n maxDate:NgbDate;\n currYear: number = new Date().getFullYear();\n StockFile: any[] = [];\n @Input()\n showLoader: boolean = false;\n tempfile: any;\n @ViewChild('myInput')\n myInputVariable: ElementRef;\n allowedFileType: string[] = [\n 'image/bmp', 'image/jpeg', 'image/png', 'application/pdf', 'text/plain', 'text/csv', 'application/xml', 'text/xml',\n 'application/msword', 'image/jpg', 'application/msword', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',\n , 'application/zip', 'application/x-zip-compressed', 'text/csv', 'application/vnd.ms-excel', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\n 'application/zip', 'application/x-zip-compressed', 'application/vnd.ms-powerpoint', 'application/vnd.openxmlformats-officedocument.presentationml.presentation'];\n \n constructor(private toastr: ToastrService, public dialog: MatDialog, private commonService: CommonService,\n private router: Router, private route: ActivatedRoute, private titleService: Title, private appConfigService : AppConfigService) {\n this.minDate = new NgbDate(2018, 1, 1);\n this.maxDate = new NgbDate(this.currYear,12,31);\n }\n\n ngOnInit(): void {\n const appConfig = this.appConfigService.getConfig();\n const dynamicTitle = this.route.snapshot.data['title'];\n this.titleService.setTitle(`${dynamicTitle} - ${appConfig.titleName}`);\n // this.titleService.setTitle(this.route.snapshot.data['title'] + \" - ECOTECH\");\n }\n\n getMultipleFileDetails(event) {\n for (let i = 0; i < event.target.files.length; i++) {\n let file = event.target.files[i];\n let isValidFile = true;\n if (((file.size) / 1000000) <= 5) {\n\n isValidFile = this.allowedFileType.includes(file.type);\n if (!isValidFile) {\n this.toastr.warning(\"Please attach the file having extension :\\n\\n .bmp, .jpeg, .jpg, .png, .pdf, .xml, .txt, .doc, .docx, .xls, .xlsx, .zip, .ppt, .pptx\");\n //event.target.value = null;\n isValidFile = false;\n } else if (file.name.length > 50) {\n this.toastr.warning(\"The file name with more than 50 characters are not allowed.\");\n isValidFile = false;\n }\n }\n else {\n this.toastr.warning(\"File size must be less than or equal to 5MB!\");\n //event.target.value = null;\n isValidFile = false;\n }\n if (isValidFile) {\n this.StockFile.push(file);\n }\n }\n console.log(this.myInputVariable.nativeElement.files);\n }\n\n removeAttachments(index) {\n this.myInputVariable.nativeElement.value = \"\";\n this.StockFile.splice(index, 1);\n }\n\n convertDate(date: any) {\n let year = date.year;\n let month = date.month;\n let day = date.day;\n return year + \"-\" + month + \"-\" + day;\n }\n\n onSubmit(form: any) {\n if (this.StockFile.length == 0 || this.StockFile == null) {\n form.controls['stockfiles'].setErrors(true);\n }\n else {\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Do you want to add this stock inventory details?\"\n }\n });\n\n dialogRef.afterClosed().subscribe(dialogResult => {\n // if user pressed yes dialogResult will be true, \n // if he pressed no - it will be false\n if (dialogResult) {\n this.showLoader = true;\n const frmData = new FormData();\n if (this.StockInventoryObj.StockDate != undefined) {\n this.StockInventoryObj.StockDate = new Date(this.convertDate(new NgbDate(this.StockInventoryObj.StockDate.year, this.StockInventoryObj.StockDate.month, this.StockInventoryObj.StockDate.day))).toDateString();\n this.StockInventoryObj.StockDateISO = new Date(this.convertDate(new NgbDate(this.StockInventoryObj.StockDate.year, this.StockInventoryObj.StockDate.month, this.StockInventoryObj.StockDate.day))).toDateString();\n }\n let StockInventoryObj = JSON.stringify(this.StockInventoryObj);\n frmData.append(\"StockInventory\", StockInventoryObj);\n\n if (this.StockFile != null) {\n for (let i = 0; i < this.StockFile.length; i++) {\n frmData.append(\"StockAttachments[\" + i + \"]\", this.StockFile[i]);\n }\n }\n this.commonService.PostData('StockInventory', 'Add', frmData, null).subscribe((data: any) => {\n\n if (data.ResponseCode == 1) {\n this.toastr.success(\"Stock inventory details added successfully!\");\n this.router.navigate(['/StockInventory']);\n this.showLoader = false;\n }\n else {\n this.toastr.error(\"Failed to stock inventory details!\");\n this.router.navigate(['/StockInventory']);\n this.showLoader = false;\n }\n\n\n }, error => {\n this.toastr.error(\"Failed to add stock inventory details!\");\n this.showLoader = false;\n this.router.navigate(['/StockInventory']);\n });\n\n }\n });\n }\n }\n\n}\n\n\n","\n\n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n Add Stock Inventory\n

    \n
    \n
    \n\n
    \n
    \n * Marked fields are\n mandatory\n
    \n
    \n
    \n
    \n \n
    \n
    \n \n
    \n \n \n \n
    \n
    \n\n
    \n Stock date is required\n
    \n
    \n
    \n \n
    \n
    \n Upload\n \n\n
    \n
    \n Stock file is required\n
    \n \n
    \n\n \n [File Format: .bmp, .jpeg, .jpg, .png, .pdf, .xml, .txt, .doc, .docx, .xls,\n .xlsx, .zip, .ppt, .pptx] [Max 5 MB]\n 0\">\n
      \n \n
    • {{item.name}}  \n
    • \n
      \n
    \n\n
    \n
    \n\n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n   \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n\n
    \n\n
    \n
    \n","import { Component, OnInit, Input, EventEmitter, Output, ViewChild } from '@angular/core';\nimport { ConfirmDialogComponent } from 'src/app/confirm-dialog/confirm-dialog.component';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { ToastrService } from 'ngx-toastr';\nimport { CommonService } from 'src/app/Service/common.service';\nimport { MatDialog } from '@angular/material/dialog';\nimport { Sort } from '@angular/material/sort';\nimport { AppGlobals } from 'src/app/app.global';\nimport { ActivatedRoute } from '@angular/router';\nimport { Title } from '@angular/platform-browser';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { StockInventoryModel } from 'src/app/Model/StockInventoryModel';\nimport { AccessPermissionModel } from 'src/app/Model/WorkFlowScreenAccessModel';\nimport { AccessPermissionService } from 'src/app/Service/access-permission.service';\nimport { AppConfigService } from 'src/app/Service/app-config.service';\n\n@Component({\n selector: 'app-stock-inventory-details',\n templateUrl: './stock-inventory-details.component.html',\n styleUrls: ['./stock-inventory-details.component.scss']\n})\nexport class StockInventoryDetailsComponent implements OnInit {\n displayedColumns: string[] = ['StockDateISO', 'Action'];\n dataSource: MatTableDataSource;\n disabled: boolean = false;\n accesspermissionobj:AccessPermissionModel[]=Array();\n AccesspermissionForRole:any[]=[];\n\n\n\n /*************************************************************************\n Server side Pagination purpose\n *************************************************************************/\n pageNumber: number = 1;\n @Input() pageSize: number = 5;\n @Input() length: number;\n @Input() pageIndex: number = this.pageNumber - 1;\n direction: string = 'desc';\n ColumnName: string = 'ModifiedOn';\n SearchText: string = \"\";\n @Output('matSortChange') sortChange: EventEmitter;\n @ViewChild(MatPaginator) paginator: MatPaginator;\n /*************************************************************************\n End here\n *************************************************************************/\n\n @Input()\n showLoader: boolean = false;\n data: any[] = [];\n UserRole: any;\n isStockInventoryEditable: boolean = false;\n\n constructor(private toastr: ToastrService, private commonService: CommonService, public dialog: MatDialog, private route: ActivatedRoute, private titleService: Title,private accessservice: AccessPermissionService,\n private appConfigService : AppConfigService) {\n }\n\n ngOnInit() {\n this.UserRole = localStorage.getItem(\"UserRole\");\n const appConfig = this.appConfigService.getConfig();\n const dynamicTitle = this.route.snapshot.data['title'];\n this.titleService.setTitle(`${dynamicTitle} - ${appConfig.titleName}`);\n // this.titleService.setTitle(this.route.snapshot.data['title'] + \" - ECOTECH\");\n this.getAccess();\n //this.isStockInventoryEditable = AppGlobals.StockInventoryEditableAccessArray.filter(x => x.role == this.UserRole)[0]?.isEditable;\n this.GetAllStockInventory();\n }\n\n /*************************************************************************\n * Below function used for Server side Pagination,Sorting and Searching\n * (1)GetAllEmployeeDetails() - To get data for grid\n * (2)SearchParam() - searching\n * (3)sortData() - Sorting\n * (4)pageEvent() - Pagination\n * \n * ***********************************************************************/\n\n GetAllStockInventory() {\n this.showLoader = true;\n\n let queryString = \"\";\n queryString = \"pageNumber=\" + this.pageNumber;\n queryString += \"&pageSize=\" + this.pageSize;\n queryString += \"&searchText=\" + this.SearchText;\n queryString += \"&direction=\" + this.direction;\n queryString += \"&columnName=\" + this.ColumnName;\n\n this.commonService.GetData('StockInventory', 'GetAllPagination', queryString).subscribe((data: any) => {\n this.data = data.Data;\n if (data.Data != null) {\n this.data.forEach(item => {\n item.StockDate = this.convertDate(item.StockDate);\n });\n }\n this.length = data.Total;\n this.dataSource = new MatTableDataSource(this.data);\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n\n }\n\n SearchParam(event: any) {\n this.SearchText = event.target.value;\n this.pageNumber = 1;\n this.paginator.pageIndex = 0;\n this.GetAllStockInventory();\n }\n\n sortData(event: any) {\n if (this.dataSource.filteredData != null) {\n this.direction = event.direction;\n this.ColumnName = event.active;\n this.GetAllStockInventory();\n }\n }\n\n pageEvent(event: any) {\n window.scroll({\n top: 0,\n left: 0,\n behavior: 'smooth'\n });\n this.pageNumber = event.pageIndex + 1;\n this.pageSize = event.pageSize;\n this.GetAllStockInventory();\n }\n /************************************************************************\n * Grid Code End \n * **********************************************************************/\n convertDate(date: any) {\n date = date.split('T')[0];\n date = date.split('-').join('/');\n return date;\n }\n\n getAccess()\n {\n this.accessservice.GetAll().subscribe((data:any)=> {\n this.accesspermissionobj=data;\n this.isStockInventoryEditable=this.accesspermissionobj.filter(x => x.Fk_RoleId == this.UserRole && x.ElementKey=='isStockInventory')[0]?.IsEditable;\n \n });\n \n }\n\n\n}\n","\n\n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n Stock Inventory Listing\n

    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n\n
    \n
    \n \n Search\n \n\n \n
    \n\n
    \n\n
    \n \n\n \n \n \n \n\n \n \n \n \n\n\n \n \n\n
    Stock Date {{row.StockDate | date: \"dd-MMM-yyyy\"}} Action \n \n \n     \n\n
    \n
    No records found
    \n\n \n \n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n","import { Component, OnInit, Input } from '@angular/core';\nimport { EmployeeGuestModel } from 'src/app/Model/EmployeeGuestModel';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { ToastrService } from 'ngx-toastr';\n\nimport { CommonService } from 'src/app/Service/common.service';\nimport { ConfirmDialogComponent } from 'src/app/confirm-dialog/confirm-dialog.component';\nimport { MatDialog } from '@angular/material/dialog';\nimport { AppGlobals } from 'src/app/app.global';\nimport { Title } from '@angular/platform-browser';\nimport { StockInventoryModel } from 'src/app/Model/StockInventoryModel';\nimport { AccessPermissionModel } from 'src/app/Model/WorkFlowScreenAccessModel';\nimport { AccessPermissionService } from 'src/app/Service/access-permission.service';\nimport { AppConfigService } from 'src/app/Service/app-config.service';\n\n@Component({\n selector: 'app-view-stock-inventory',\n templateUrl: './view-stock-inventory.component.html',\n styleUrls: ['./view-stock-inventory.component.scss']\n})\nexport class ViewStockInventoryComponent implements OnInit {\n accesspermissionobj:AccessPermissionModel[]=Array();\n AccesspermissionForRole:any[]=[];\n StockInventoryObj: StockInventoryModel[] = [];\n UserRole: any;\n isEmployeeEditable: boolean = false;\n @Input()\n showLoader: boolean = false;\n fileUrl = AppGlobals.baseFileDownloadUrl + \"StockInventory/\";\n constructor(private router: Router, private route: ActivatedRoute, \n private toastr: ToastrService, private Service: CommonService, \n public dialog: MatDialog, private titleService: Title,\n private accessservice: AccessPermissionService,\n private appConfigService : AppConfigService) { }\n\n ngOnInit(): void {\n const appConfig = this.appConfigService.getConfig();\n const dynamicTitle = this.route.snapshot.data['title'];\n this.titleService.setTitle(`${dynamicTitle} - ${appConfig.titleName}`);\n // this.titleService.setTitle(this.route.snapshot.data['title'] + \" - ECOTECH\");\n this.UserRole = localStorage.getItem(\"UserRole\");\n this.getAccess();\n // this.isEmployeeEditable = AppGlobals.EmployeeMastersEditableAccessArray.filter(x => x.role == this.UserRole)[0]?.isEditable;\n var Id = this.route.snapshot.params[\"id\"];\n this.getInventoryDetailsById(Id);\n }\n\n getInventoryDetailsById(Id: number) {\n this.showLoader = true;\n\n let queryString = \"\";\n queryString = \"id=\" + Id;\n\n this.Service.GetData('StockInventory', 'GetById', queryString).subscribe((data: any) => {\n this.StockInventoryObj = data;\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n\n });\n }\n\n DownloadFile(Path: any) {\n let link = document.createElement('a');\n let path = this.fileUrl + Path\n link.setAttribute('href', path);\n link.setAttribute('target', '_blank');\n document.body.appendChild(link);\n link.click();\n link.remove();\n return false;\n }\n\n getAccess()\n {\n this.accessservice.GetAll().subscribe((data:any)=> {\n this.accesspermissionobj=data;\n this.isEmployeeEditable=this.accesspermissionobj.filter(x => x.Fk_RoleId == this.UserRole && x.ElementKey=='isEmployee')[0]?.IsEditable;\n \n });\n \n }\n\n}\n","\n\n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n View Stock Inventory\n

    \n
    \n
    \n\n
    \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n \n
    Sr. No.Stock File NameAction
    {{i+1}}\n {{Attach.StockFileName}}\n \n Preview\n
    \n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n\n
    \n\n
    \n
    \n","import { query } from '@angular/animations';\nimport { ChangeDetectorRef, Component, Input, OnInit, Pipe, PipeTransform} from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { Title } from '@angular/platform-browser';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { ToastrService } from 'ngx-toastr';\nimport { exit } from 'process';\nimport { AppGlobals } from 'src/app/app.global';\nimport { ConfirmDialogComponent } from 'src/app/confirm-dialog/confirm-dialog.component';\nimport { ProductMatrixModel } from 'src/app/Model/ProductMatrixModel';\nimport { ProductSeries } from 'src/app/Model/ProductModel';\nimport { AccessPermissionModel, DefaultViewModel, ElementTypeList, WorkFlowScreenAccessModel } from 'src/app/Model/WorkFlowScreenAccessModel';\nimport { AccessPermissionService } from 'src/app/Service/access-permission.service';\nimport { AppConfigService } from 'src/app/Service/app-config.service';\nimport { CommonService } from 'src/app/Service/common.service';\nimport { UserRoles } from 'src/app/UserRoles';\n\n\n\n@Component({\n selector: 'app-edit-view-work-flow-screen-access',\n templateUrl: './edit-view-work-flow-screen-access.component.html',\n styleUrls: ['./edit-view-work-flow-screen-access.component.scss']\n})\nexport class EditViewWorkFlowScreenAccessComponent implements OnInit {\n @Input()\n showLoader: boolean = false;\n WorkFlowScreenData:WorkFlowScreenAccessModel[]=[];\n UserRole: any;\n WorkFlowScreenAccessEditable: boolean = false;\n isEditable: boolean = true;\n FormStatus: string = \"View\";\n AppRoles = UserRoles;\n Roles: any[] = [];\n isMenu:boolean=true;\n isScreen:boolean=true;\n isButton:boolean=true;\n isField:boolean=true;\n accesspermissioninfo:any[]=[];\n testaccessinfo:any[]=[];\n DefaultScreenViewAccess:any[]=[];\n Defaultobj:DefaultViewModel=new DefaultViewModel();\n accesspermissionobj:AccessPermissionModel[]=Array();\n elementTypeObj:ElementTypeList[]=Array();\n ArrayofElementType:ElementTypeList[]=Array();\n \n AccesspermissionForRole:any[]=[];\n\n \n constructor(private toastr: ToastrService, private commonService: CommonService, private router: Router,private cd: ChangeDetectorRef,\n public dialog: MatDialog,private route: ActivatedRoute,private titleService: Title,private accessservice: AccessPermissionService,\n private appConfigService : AppConfigService) {\n }\n\n ngOnInit(): void {\n this.DefaultScreenViewAccess = this.Defaultobj.WorkflowDefaultViewAccessArray;\n const appConfig = this.appConfigService.getConfig();\n const dynamicTitle = this.route.snapshot.data['title'];\n this.titleService.setTitle(`${dynamicTitle} - ${appConfig.titleName}`);\n // this.titleService.setTitle(this.route.snapshot.data['title'] + \" - ECOTECH\");\n this.UserRole = localStorage.getItem(\"UserRole\");\n this.getAccess();\n // this.WorkFlowScreenAccessEditable = AppGlobals.WorkFlowScreenAccessEditableAccessArray.filter(x => x.role == this.UserRole)[0]?.isEditable;\n // this.getAllWorkFlowScreen();\n this.getAllAccessPermission();\n this.GetAllElementType();\n this.getAllRoles();\n }\n\n getAllWorkFlowScreen()\n {\n this.showLoader = true;\n this.commonService.GetData(\"WorkFlowScreenAccess\", \"GetAll\", null).subscribe((data: any) => {\n this.WorkFlowScreenData=data;\n\n\n /**********************************Add Default View Access******************************** */\n\n // this.WorkFlowScreenData.forEach(element => {\n \n // let DefaultData = this.getDefaultAccessbyRoleID(element.RoleId);\n\n // element.isEnquiryForm_Default = DefaultData.isEnquiryForm_Default;\n // element.isRFQ_Default = DefaultData.isRFQ_Default;\n // element.isQuoteGeneration_Default = DefaultData.isQuoteGeneration_Default;\n // element.isManagementApproval_Default = DefaultData.isManagementApproval_Default;\n // element.isCEOApproval_Default = DefaultData.isCEOApproval_Default;\n // element.isEnquiryConfirmation_Default = DefaultData.isEnquiryConfirmation_Default;\n // element.isSOGeneration_Default = DefaultData.isSOGeneration_Default;\n // element.isOrderAcknowledgement_Default = DefaultData.isOrderAcknowledgement_Default;\n // element.isSupplyChain_Default = DefaultData.isSupplyChain_Default;\n // element.isAccounts_Default = DefaultData.isAccounts_Default;\n \n // });\n\n /**********************************End Add Default View Access******************************** */\n\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n\n EditDetails() {\n if(this.isEditable)\n {\n this.isEditable = false;\n // window.scroll({\n // top: 0,\n // left: 0,\n // behavior: 'smooth'\n // });\n this.FormStatus = \"Edit\";\n const appConfig = this.appConfigService.getConfig();\n const dynamicTitle = this.route.snapshot.data['title'];\n this.titleService.setTitle(`${dynamicTitle} - ${appConfig.titleName}`);\n // this.titleService.setTitle(this.route.snapshot.data['title'] + \" - ECOTECH\");\n }\n else{\n this.isEditable = true;\n // window.scroll({\n // top: 0,\n // left: 0,\n // behavior: 'smooth'\n // });\n this.FormStatus = \"View\";\n const appConfig = this.appConfigService.getConfig();\n const dynamicTitle = this.route.snapshot.data['title'];\n this.titleService.setTitle(`${dynamicTitle} - ${appConfig.titleName}`);\n // this.titleService.setTitle(this.route.snapshot.data['title'] + \" - ECOTECH\");\n }\n \n }\n\n getWorkFlowScreenAccessbyRoleId()\n {\n this.showLoader = true;\n let queryString = \"\";\n queryString = \"RoleId=\" + this.UserRole;\n\n this.commonService.GetData('WorkFlowScreenAccess', 'GetByRoleId', queryString).subscribe((data: any) => {\n let Workflowscreens= data.toString();\n localStorage.setItem(\"WorkFlowRoleWiseScreenAccess\", Workflowscreens);\n \n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n\n });\n }\n\n getDefaultAccessbyRoleID(RoleId:any)\n {\n return this.DefaultScreenViewAccess.find(x => x.role === RoleId);\n }\n\n Cancel()\n {\n this.EditDetails();\n this.getAllWorkFlowScreen();\n\n }\n\n onSubmit(myform:any)\n {\n \n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Do you want to update Access and Permission?\"\n }\n });\n dialogRef.afterClosed().subscribe(dialogResult => {\n this.showLoader = true;\n if (dialogResult) {\n const newAcessPermission = Object.values(this.accesspermissioninfo).reduce((acc, permissions) => {\n Object.values(permissions).forEach(val => {\n acc.push(...(val as any[]));\n });\n return acc;\n }, []);\n \n this.commonService.PostData(\"ElementAccessPermission\", \"Update\", newAcessPermission, null).subscribe((data: any) => {\n let result = data;\n\n if (result.ResponseCode == 1) {\n this.toastr.success(\"Access Permission updated successfully!\");\n this.isEditable = true;\n this.FormStatus = \"View\";\n const appConfig = this.appConfigService.getConfig();\n const dynamicTitle = this.route.snapshot.data['title'];\n this.titleService.setTitle(`${dynamicTitle} - ${appConfig.titleName}`);\n // this.titleService.setTitle(this.route.snapshot.data['title'] + \" - ECOTECH\");\n this.getAllAccessPermission(); \n this.GetAllElementType();\n this.getAllRoles();\n this.refreshAccessPermission();\n //this.isMenu=true;this.isScreen=true;this.isButton=true;this.isField=true;\n this.showLoader = false;\n }\n else {\n this.toastr.error(\"Failed to update Access Permission!\");\n this.showLoader = false;\n }\n }, error => {\n this.toastr.error(\"Failed to update Access Permission!\");\n this.showLoader = false;\n });\n window.scroll({\n top: 0,\n left: 0,\n behavior: 'smooth'\n });\n }\n else {\n this.showLoader = false;\n }\n });\n }\n\n getAllAccessPermission()\n {\n this.showLoader = true;\n let querstring=null;\n this.commonService.GetData(\"AccessPermission\",\"GetAll\",querstring).subscribe((data: any) => {\n this.convertdataintoobj(data);\n this.cd.detectChanges();\n this.showLoader = false;\n\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n \n });\n \n }\n\n convertdataintoobj(data:any)\n {\n this.showLoader = true\n this.commonService.convertArrayToObject(data).subscribe((datalist:any)=>\n {\n this.accesspermissioninfo=datalist;\n this.cd.detectChanges();\n this.testaccessinfo=this.accesspermissioninfo;\n console.log(\"datalist==>\",this.accesspermissioninfo);\n this.showLoader = true\n });\n\n this.showLoader = false;\n \n }\n \n GetAllElementType()\n {\n let querstring=\"\";\n this.commonService.GetData(\"ElementTypeForPermission\",\"GetListOfElementType\",querstring).subscribe((data: any) => {\n this.elementTypeObj=data;\n this.ArrayofElementType=this.elementTypeObj;\n \n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n\n });\n }\n\n OnElementTypechange(ElementType:string)\n {\n\n if(ElementType==\"Menu\"){\n this.isMenu=true;this.isScreen=false;this.isButton=false;this.isField=false;\n }\n if(ElementType==\"WorkFlowScreen\"){\n this.isScreen=true; this.isMenu=false;this.isButton=false;this.isField=false;\n }\n if(ElementType==\"Button\"){\n this.isScreen=false; this.isMenu=false;this.isButton=true;this.isField=false;\n }\n if(ElementType==\"Field\"){\n this.isField=true; this.isScreen=false; this.isMenu=false;this.isButton=false;\n }\n if(ElementType==\"\"){\n this.isField=true; this.isScreen=true; this.isMenu=true;this.isButton=true;\n }\n\n}\n\n getAllRoles() {\n this.showLoader = true;\n this.commonService.GetData(\"Account\", \"GetAllRoles\", null).subscribe((data: any) => {\n this.Roles = data;\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n\n }\n\n OnSelectRole(RoleName:any)\n {\n if(RoleName!=\"\")\n {\n const filteredAccountObject = {};\n const filteredKeys = Object.keys(this.testaccessinfo).filter(key => key === RoleName);\n \n filteredKeys.forEach(key => {\n filteredAccountObject[key] = this.testaccessinfo[key];\n this.accesspermissioninfo=[];\n this.accesspermissioninfo[key] = filteredAccountObject[key];\n console.log(\"Modified one \",this.accesspermissioninfo);\n });\n }else{\n this.accesspermissioninfo=this.testaccessinfo;\n }\n \n }\n \n// converttoArray()\n// {\n// const newAcessPermission = Object.values(this.accesspermissioninfo).reduce((acc, permissions) => {\n// Object.values(permissions).forEach(val => {\n// acc.push(...(val as any[]));\n// });\n// return acc;\n// }, []);\n \n// console.log(\"------->\",newAcessPermission);\n// }\n \ngetAccess()\n {\n \n this.accessservice.GetAll().subscribe((data:any)=> {\n this.accesspermissionobj=data;\n this.WorkFlowScreenAccessEditable=this.accesspermissionobj.filter(x => x.Fk_RoleId == this.UserRole && x.ElementKey=='isWorkflowScreenAccess')[0]?.IsEditable;\n \n });\n \n }\n\n refreshAccessPermission()\n {\n this.accessservice.GetAll().subscribe((data:any)=>\n {\n this.accesspermissionobj=data;\n localStorage.setItem(\"accesspermissionobj\", JSON.stringify(this.accesspermissionobj));\n console.log(\"Localstorage\",localStorage.getItem(\"accesspermissionobj\"));\n \n });\n }\n\n}\n","\n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n {{FormStatus}} Access and Permission Listing\n

    \n
    \n
    \n
    \n \n \n
    \n \n
    \n \n
    \n
    \n \n
    \n\n
    \n
    \n
    \n
    \n
    \n\n\n","import { Component, Input, OnInit } from '@angular/core';\nimport { NgForm } from '@angular/forms';\nimport { MatDialog } from '@angular/material/dialog';\nimport { Title } from '@angular/platform-browser';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { ToastrService } from 'ngx-toastr';\nimport { element } from 'protractor';\nimport { AppGlobals } from 'src/app/app.global';\nimport { ConfirmDialogComponent } from 'src/app/confirm-dialog/confirm-dialog.component';\nimport { SingleFieldComponent, SingleFieldModel } from 'src/app/Model/SingleFieldModel';\nimport { CommonService } from 'src/app/Service/common.service';\nimport { Location } from '@angular/common';\nimport { AccessPermissionModel } from 'src/app/Model/WorkFlowScreenAccessModel';\nimport { AccessPermissionService } from 'src/app/Service/access-permission.service';\n\n@Component({\n selector: 'app-add-contract-frame-agreement',\n templateUrl: './add-contract-frame-agreement.component.html',\n styleUrls: ['./add-contract-frame-agreement.component.scss']\n})\nexport class AddContractFrameAgreementComponent implements OnInit {\n\n singleFieldObj: SingleFieldModel = new SingleFieldModel();\n singleFieldComponent: SingleFieldComponent = new SingleFieldComponent();\n isdropdowninactive: boolean = false;\n Customer: any[] = [];\n tempProductModel: any[] = [];\n accesspermissionobj:AccessPermissionModel[]=Array();\n AccesspermissionForRole:any[]=[];\n\n @Input()\n showLoader: boolean = false;\n Roles: any[] = [];\n \n ProductModel: any[] = [];\n \n NewArr: any[] = [];\n temp_ProductModel: any[] = [];\n ProductModelDiscountArr: SingleFieldModel[] = [];\n productModelrequired: boolean=false;\n productDiscountrequired: boolean;\n ProductModelDiscount:any[]=[];\n workflowActionList:any[] = [];\n WorkflowStatus:number;\n UserRole: any;\n isConfigureEditable: boolean = false;\n product:any[]=[];\n charCode: any;\n constructor(private router: Router, private toastr: ToastrService, private CommonService: CommonService,\n public dialog: MatDialog, private route: ActivatedRoute, private titleService: Title ,private location: Location,private accessservice: AccessPermissionService) { }\n\n ngOnInit(): void {\n this.UserRole = localStorage.getItem(\"UserRole\");\n //this.isConfigureEditable = AppGlobals.ConfigureMastesrsEditableAccessArray.filter(x => x.role == this.UserRole)[0]?.isEditable;\n this.AddNewRow(0);\n this.getAccess();\n this.getAllTransitionrules();\n this.getAllCustomer(\"Customer\", \"GetAll\");\n this.getAllProductModel(\"ProductModel\", \"GetAllModel\");\n this.singleFieldObj.Fk_Customer = this.route.snapshot.params[\"id\"];\n this.getDetailsById(this.singleFieldObj.Fk_Customer);\n // console.log(this.singleFieldObj.Fk_Customer);\n if (this.singleFieldObj.Fk_Customer != undefined && this.singleFieldObj.Fk_Customer!=0) {\n this.isdropdowninactive = true;\n }\n else this.isdropdowninactive = false\n \n }\n\n testing:any[]=[];\n showItems: Array<{ id: number, value: any[] }>;\n OnSelectProductModel(selectedValue, index) {\n var selectedItem = this.tempProductModel.filter(x => x.Id != selectedValue);\n this.testing.push(selectedItem);\n this.showItems[index].value = this.tempProductModel.filter(x => x.Id == selectedValue);\n\n }\n onCompanyselection(data:any)\n {\n var Id=this.singleFieldObj.Fk_Customer;\n this.getDetailsById(Id);\n }\n\n getDetailsById(Id: number) {\n this.showLoader = true;\n let queryString = \"\";\n queryString = \"id=\" + Id;\n\n this.CommonService.GetData('CustomerSpecialDiscount', 'GetById', queryString).subscribe((data: any) => {\n this.singleFieldObj.customerSpecialDiscountInfo= data;\n if(this.singleFieldObj.customerSpecialDiscountInfo.length==0)\n {\n this.AddNewRow(0);\n }\n \n }, error => {\n this.toastr.error(\"Failed to load data!\");\n\n });\n this.showLoader = false;\n }\n\n onSubmit(myform: any) {\n\n this.productModelrequired=false;\n if (this.singleFieldComponent.ismultiplerecords) {\n if (this.singleFieldObj.customerSpecialDiscountInfo.length == 0) {\n this.singleFieldObj.customerSpecialDiscountInfo[0].ProductModelRequired = true;\n this.showLoader = false;\n return;\n }\n else {\n this.singleFieldObj.customerSpecialDiscountInfo.forEach(element => {\n if (element.Fk_ProductModel == null || element.Fk_ProductModel == undefined || element.Fk_ProductModel == 0 ) {\n element.ProductModelRequired = true;\n }\n else {\n element.ProductModelRequired = false;\n } \n });\n }\n }\n this.singleFieldObj.customerSpecialDiscountInfo.forEach(element => {\n if (element.ProductModelRequired) {\n this.productModelrequired=true;\n this.showLoader = false;\n return;\n }\n });\n if (this.productModelrequired == false) {\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"You want to add this this Customer Frame Agreement ?\"\n }\n });\n if (dialogRef) {\n dialogRef.afterClosed().subscribe(dialogResult => {\n\n if (dialogResult) {\n this.showLoader = true;\n let queryString = \"\";\n this.singleFieldObj.customerSpecialDiscountInfo.forEach(element=>\n {\n element.Fk_Customer=this.singleFieldObj.Fk_Customer\n }); \n queryString = \"id=\" +this.WorkflowStatus;\n this.CommonService.PostData('CustomerSpecialDiscount', 'Add', this.singleFieldObj.customerSpecialDiscountInfo, queryString,null).subscribe((data: any) => {\n let result = data;\n\n this.showLoader = false;\n if (result.ResponseCode == 1) {\n this.toastr.success('Customer Frame Agreement added successfully!');\n this.router.navigate(['/CustomerFrameAgreementDetails']);\n }\n else if (data.ResponseCode == 0) {\n // myform.controls['fieldtitle'].setErrors({ AlreadyPresent: true });\n this.toastr.warning( 'Customer Frame Agreement already exists!');\n this.showLoader = false;\n }\n else {\n this.toastr.error('Failed to add Customer Frame Agreement!');\n this.router.navigate(['/CustomerFrameAgreementDetails']);\n }\n }, error => {\n this.toastr.error('Failed to add Customer Frame Agreement!');\n this.showLoader = false;\n this.router.navigate(['/CustomerFrameAgreementDetails']);\n })\n \n }\n });\n }\n }\n }\n\n getAllCustomer(ControllerName: string, ActionName: string) {\n this.showLoader = true;\n this.CommonService.GetData(ControllerName, ActionName, null).subscribe((data: any) => {\n this.Customer = data;\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n\n getAllProductModel(ControllerName: string, ActionName: string) {\n this.showLoader = true;\n this.CommonService.GetData(ControllerName, ActionName, null).subscribe((data: any) => {\n this.ProductModel = data;\n this.tempProductModel = data;\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n\n OnDiscountChange(index) {\n\n if(this.singleFieldObj.customerSpecialDiscountInfo[index].UnapprovedProductDiscount==undefined || this.singleFieldObj.customerSpecialDiscountInfo[index].Fk_ProductModel==null)\n {\n this.singleFieldObj.customerSpecialDiscountInfo[index].UnapprovedProductDiscount=0;\n }\n\n if (this.singleFieldObj.customerSpecialDiscountInfo[index].UnapprovedProductDiscount < 0) {\n this.toastr.info(' Discount cannot be negative.');\n this.singleFieldObj.customerSpecialDiscountInfo[index].UnapprovedProductDiscount = 0;\n return;\n }\n else if (this.singleFieldObj.customerSpecialDiscountInfo[index].UnapprovedProductDiscount > 100) {\n this.toastr.info('Discount cannot be greater than 100.');\n this.singleFieldObj.customerSpecialDiscountInfo[index].UnapprovedProductDiscount = 0;\n return;\n }\n }\n\n OnProductModelChange(index)\n {\n \n if(this.singleFieldObj.customerSpecialDiscountInfo[index].Fk_ProductModel!=0 || this.singleFieldObj.customerSpecialDiscountInfo[index].Fk_ProductModel!=undefined || this.singleFieldObj.customerSpecialDiscountInfo[index].Fk_ProductModel!=null)\n {\n this.singleFieldObj.customerSpecialDiscountInfo[index].ProductModelRequired=false;\n }\n else{\n this.singleFieldObj.customerSpecialDiscountInfo[index].ProductModelRequired=true;\n }\n\n }\n \n \n AddNewRow(index) {\n if (this.singleFieldObj.Fk_ProductModel != undefined\n && this.singleFieldObj.UnapprovedProductDiscount != undefined) {\n\n this.singleFieldObj.IsRowDeleted = true;\n var obj = new SingleFieldModel();\n obj.Fk_ProductModel = this.singleFieldObj.Fk_ProductModel;\n obj.UnapprovedProductDiscount = this.singleFieldObj.UnapprovedProductDiscount\n\n this.singleFieldObj.UnapprovedProductDiscount = 0;\n this.singleFieldObj.Fk_ProductModel = 0;\n this.singleFieldObj.customerSpecialDiscountInfo.push(obj);\n }\n else{\n if(this.singleFieldObj.customerSpecialDiscountInfo[index].Fk_ProductModel!=0 || this.singleFieldObj.customerSpecialDiscountInfo[index].Fk_ProductModel!=undefined || this.singleFieldObj.customerSpecialDiscountInfo[index].Fk_ProductModel!=null)\n {\n this.singleFieldObj.customerSpecialDiscountInfo[index].ProductModelRequired=false;\n }\n \n }\n }\n\n deleterow(index: any) {\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Do you want to delete this row?\"\n }\n });\n dialogRef.afterClosed().subscribe(dialogResult => {\n if (dialogResult) {\n if (index != null) {\n this.singleFieldObj.customerSpecialDiscountInfo.splice(index, 1);\n } else {\n this.singleFieldObj.customerSpecialDiscountInfo.pop();\n }\n }\n });\n }\n\n getAllTransitionrules()\n {\n this.showLoader = true;\n this.CommonService.GetData('WorkFlowTransitionRule', 'GetAll', null).subscribe((data: any) => {\n this.singleFieldObj.tranisitionrulesobj = data;\n this.singleFieldObj.tranisitionrulesobj.forEach(element=>\n {\n if(element.condition_code=='DiscountSaveAsDraft'&&element.action_by_role_id==this.UserRole)\n {\n this.workflowActionList.push(element);\n var rule= this.workflowActionList.filter(x=>x.action_id==element.action_id);\n console.log(rule);\n }\n\n });\n\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n\n OnWorkflowAction(myform:NgForm,nextstateid:number){ \n \n var rule= this.workflowActionList.filter(x=>x.next_state_id==nextstateid);\n this.WorkflowStatus=rule[0].next_state_id;\n this.singleFieldObj.customerSpecialDiscountInfo.forEach(element => {\n element.action_id=rule[0].action_id;\n \n });\n\n // this.EnquiryObj.EnquiryDetails.FK_transitionrule_id=rule[0].transition_rule_id;\n // this.SetStatus(rule[0].next_state_id,myform2); \n // this.onSubmit(myform);\n } \n \n /* getWorkflowActions()\n { \n let queryString = \"\";\n this.showLoader = true;\n this.CommonService.GetData(\"WorkFlowTransitionRule\",\"GetActionsforFrameAgreement\",queryString).subscribe((data: any) => {\n this.workflowActionList=data;\n this.showLoader = false;\n }, error => {\n this.showLoader = false;\n });\n }\n */\n goBack() {\n this.location.back();\n }\n\n getAccess()\n {\n this.accessservice.GetAll().subscribe((data:any)=> {\n this.accesspermissionobj=data;\n this.isConfigureEditable=this.accesspermissionobj.filter(x => x.Fk_RoleId == this.UserRole && x.ElementKey=='IsCustomerFrameAgreement')[0]?.IsEditable;\n console.log(\"IsConfigure-\",this.isConfigureEditable);\n \n });\n \n }\n \n isintNumberKey(evt: any) {\n this.charCode = (evt.which) ? evt.which : evt.keyCode;\n if\n (this.charCode != 46 && this.charCode > 31\n && (this.charCode < 48 || this.charCode > 57)) {\n return false;\n\n }\n else {\n return true;\n }\n }\n AvoidSpace(event: any) {\n if (event.which === 32 && !event.target.value.length) {\n event.preventDefault();\n }\n }\n}\n","\n\n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n Add Customer Frame Agreement\n

    \n
    \n
    \n\n
    \n
    \n * Marked fields are\n mandatory\n
    \n \n
    \n
    \n \n
    \n \n
    \n
    \n \n","import { Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { Sort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { Title } from '@angular/platform-browser';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { ToastrService } from 'ngx-toastr';\nimport { ConfirmDialogComponent } from 'src/app/confirm-dialog/confirm-dialog.component';\nimport { UpdateStatus } from 'src/app/Model/CommonModel';\nimport { SingleFieldComponent, SingleFieldModel } from 'src/app/Model/SingleFieldModel';\nimport { AccessPermissionModel } from 'src/app/Model/WorkFlowScreenAccessModel';\nimport { AccessPermissionService } from 'src/app/Service/access-permission.service';\nimport { CommonService } from 'src/app/Service/common.service';\n\n@Component({\n selector: 'app-customer-frame-agreement-details',\n templateUrl: './customer-frame-agreement-details.component.html',\n styleUrls: ['./customer-frame-agreement-details.component.scss']\n})\nexport class CustomerFrameAgreementDetailsComponent implements OnInit {\n dataSource: MatTableDataSource;\n displayedColumns: string[] = ['Companyname', 'Value', 'Action'];\n Customer: any[] = [];\n disabled: boolean = false;\n singleFieldComponent: SingleFieldComponent = new SingleFieldComponent();\n UserRole: any;\n isConfigureEditable: boolean = false;\n RouteName : string ='';\n someCondition : boolean = false;\n viewedit:boolean=true;\n isAddframeAgreementAccess:boolean=false;\n\n IsCustomerFrameAgreementEditable:boolean;\n accesspermissionobj:AccessPermissionModel[]=Array();\n AccesspermissionForRole:any[]=[];\n\n /*************************************************************************\n Server side Pagination purpose\n *************************************************************************/\n pageNumber: number = 1;\n @Input() pageSize: number = 5;\n @Input() length: number;\n @Input() pageIndex: number = this.pageNumber - 1;\n direction: string = 'desc';\n ColumnName: string = 'ModifiedOn';\n SearchText: string = \"\";\n @Output('matSortChange') sortChange: EventEmitter;\n @ViewChild(MatPaginator) paginator: MatPaginator;\n /*************************************************************************\n End here\n *************************************************************************/\n\n @Input()\n showLoader: boolean = false;\n data: any[] = [];\n UpdateStatus: UpdateStatus = new UpdateStatus();\n \n\n constructor(private toastr: ToastrService, private CommonService: CommonService, public dialog: MatDialog,\n private route: ActivatedRoute, private router: Router, private titleService: Title,private accessservice: AccessPermissionService) { }\n\n ngOnInit(): void {\n this.UserRole = localStorage.getItem(\"UserRole\");\n this.GetAll();\n this.getAccess();\n }\n \n GetAll() {\n this.showLoader = true;\n let queryString = \"\";\n this.length = 0;\n queryString = \"pageNumber=\" + this.pageNumber;\n queryString += \"&pageSize=\" + this.pageSize;\n queryString += \"&searchText=\" + this.SearchText;\n queryString += \"&direction=\" + this.direction;\n queryString += \"&columnName=\" + this.ColumnName;\n\n this.CommonService.GetData('CustomerSpecialDiscount', 'GetAllPagination', queryString).subscribe((data: any) => {\n this.data = data.Data;\n \n this.length = data.Total;\n this.dataSource = new MatTableDataSource(this.data);\n \n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n\n }\n\n SearchParam(event: any) {\n this.SearchText = event.target.value;\n this.pageNumber = 1;\n this.paginator.pageIndex = 0;\n this.GetAll();\n }\n\n sortData(event: any) {\n if (this.dataSource.filteredData != null) {\n this.direction = event.direction;\n this.ColumnName = event.active;\n this.GetAll();\n }\n }\n\n pageEvent(event: any) {\n window.scroll({\n top: 0,\n left: 0,\n behavior: 'smooth'\n });\n this.pageNumber = event.pageIndex + 1;\n this.pageSize = event.pageSize;\n this.GetAll();\n }\n\n \n AvoidSpace(event: any) {\n if (event.which === 32 && !event.target.value.length) {\n event.preventDefault();\n }\n }\n\n UpdateStatusById(Id: number, CurrentStatus: boolean) {\n\n if (CurrentStatus == true) {\n //Create ConfirmDialogRef \n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Do you want to deactivate this Customer Frame Agreement?\"\n }\n });\n // listen to response from ConfirmDialogRef\n dialogRef.afterClosed().subscribe(dialogResult => {\n // if user pressed yes dialogResult will be true, \n // if he pressed no - it will be false\n if (dialogResult) {\n this.pageNumber = 1;\n this.paginator.pageIndex = 0;\n this.length = 0;\n this.direction = 'desc';\n this.ColumnName = 'ModifiedOn';\n this.showLoader = true;\n\n let queryString = \"\";\n queryString = \"id=\" + Id;\n\n this.CommonService.PostData('CustomerSpecialDiscount', 'UpdateStatus', null, queryString).subscribe((data: any) => {\n this.showLoader = false;\n if (data.ResponseCode == 1) {\n this.toastr.success( \"Customer Frame Agreement deactivated successfully!\");\n }\n else if (data.ResponseCode == 0) {\n this.toastr.warning(\"Failed to deactivate this Customer Frame Agreement because it has some dependency!\");\n }\n else {\n this.toastr.info(\"Failed to deactivate Customer Frame Agreement!\");\n }\n this.GetAll();\n }, error => {\n this.toastr.error(\"Failed to deactivate Customer Frame Agreement!\");\n this.GetAll();\n this.showLoader = false;\n });\n }\n else {\n this.GetAll();\n }\n });\n\n }\n else {\n //Create ConfirmDialogRef\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Do you want to activate this Customer Frame Agreement?\"\n }\n });\n // listen to response from ConfirmDialogRef\n dialogRef.afterClosed().subscribe(dialogResult => {\n // if user pressed yes dialogResult will be true, \n // if he pressed no - it will be false\n if (dialogResult) {\n this.pageNumber = 1;\n this.paginator.pageIndex = 0;\n this.length = 0;\n this.direction = 'desc';\n this.ColumnName = 'ModifiedOn';\n this.showLoader = true;\n\n let queryString = \"\";\n queryString = \"id=\" + Id;\n\n this.CommonService.PostData('CustomerSpecialDiscount', 'UpdateStatus', null, queryString).subscribe((data: any) => {\n this.showLoader = false;\n if (data.ResponseCode == 1) {\n this.toastr.success(\"Customer Frame Agreement activated successfully!\");\n }\n else {\n this.toastr.info(\"Failed to activate Customer Frame Agreement!\");\n }\n this.GetAll();\n }, error => {\n this.toastr.error(\"Failed to activate Customer Frame Agreement!\");\n this.GetAll();\n this.showLoader = false;\n });\n\n }\n else {\n this.GetAll();\n }\n });\n }\n }\n \n getAccess()\n {\n this.accessservice.GetAll().subscribe((data:any)=> {\n this.accesspermissionobj=data;\n this.IsCustomerFrameAgreementEditable=this.accesspermissionobj.filter(x => x.Fk_RoleId == this.UserRole && x.ElementKey=='IsCustomerFrameAgreement')[0]?.IsEditable;\n \n });\n \n }\n\n}\n","\n\n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n

    \n Customer Frame Agreement Listing\n

    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
     
    \n
    \n \n\n Search\n \n \n\n
    \n\n
    \n
    \n \n \n \n \n
    \n
    \n \n \n\n \n\n \n
    \n
    \n \n \n \n \n \n \n \n \n
    \n
    \n \n \n \n \n\n \n
    \n Customer Name {{row.Companyname}}\n \n WorkFlow Status \n {{row.Value}} Action \n \n \n     \n\n \n  \n {{row.Status==true ? 'Active': 'Inactive'}}\n
    \n \n\n
    No records found
    \n\n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n","import { Component, Input, OnInit } from '@angular/core';\nimport { NgForm } from '@angular/forms';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { Title } from '@angular/platform-browser';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { NgbActiveModal, NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { el } from 'date-fns/locale';\nimport { ToastrService } from 'ngx-toastr';\nimport { AppGlobals } from 'src/app/app.global';\nimport { ConfirmDialogComponent } from 'src/app/confirm-dialog/confirm-dialog.component';\nimport { SingleFieldComponent, SingleFieldModel } from 'src/app/Model/SingleFieldModel';\nimport { AccessPermissionModel } from 'src/app/Model/WorkFlowScreenAccessModel';\nimport { AccessPermissionService } from 'src/app/Service/access-permission.service';\nimport { AppConfigService } from 'src/app/Service/app-config.service';\nimport { CommonService } from 'src/app/Service/common.service';\n\n@Component({\n selector: 'app-edit-view-contract-frame-agreement',\n templateUrl: './edit-view-contract-frame-agreement.component.html',\n styleUrls: ['./edit-view-contract-frame-agreement.component.scss']\n})\nexport class EditViewContractFrameAgreementComponent implements OnInit {\n @Input()\n showLoader: boolean = false;\n singleFieldObj: SingleFieldModel = new SingleFieldModel();\n singleFieldComponent: SingleFieldComponent = new SingleFieldComponent();\n editFormValues: boolean = false;\n IsNotApproveRejectButton: boolean = false;\n editFormStatus: string = \"\";\n UserRole: any;\n isConfigureEditable: boolean = false;\n IndustrySegment: any[] = [];\n SubSegment: any[] = [];\n Roles: any[] = [];\n TermsAndConditions: any[] = [];\n Customer:any[] =[];\n CustomerNameDetails:any[] =[];\n isotheroute:boolean;\n closeResult: string;\n\n ProductModel:any[]=[];\n ProductModelDiscount:any[]=[];\n tempProductModel: any[] = [];\n ProductModelDiscountArr:SingleFieldModel[]=[];\n productModelrequired: boolean=false;\n workflowActionList:any[] = [];\n workflowActionListforApproval:any[] = [];\n workflowActions:any[] = [];\n WorkflowStatus:number;\n dataList: any[] = [];\n currentstateid:number;\n currentWorkFlowStatus:number;\n FK_Workflow_Status:any;\n CompanyName:any;\n remLimit: any = 1500;\n maxLimit: any = 1500;\n varLongTermGoal: any;\n data: any[] = [];\n displayedColumns: string[] = ['Action By', 'Action By Role', 'action_name', 'Action On', 'Comment']\n dataSource: MatTableDataSource;\n historydata: any;\n accesspermissionobj:AccessPermissionModel[]=Array();\n AccesspermissionForRole:any[]=[];\n isCustomerFrameAgreementEditable:boolean;\n action_id: number;\n charCode: any;\n appConfig : any;\n\n constructor(private toastr: ToastrService, private commonService: CommonService, public dialog: MatDialog,\n private router: Router, private route: ActivatedRoute, private titleService: Title, private modalService: NgbModal,private accessservice: AccessPermissionService,\n private appConfigService: AppConfigService) { }\n\n ngOnInit(): void {\n //this.AddNewRow(0);\n this.appConfig = this.appConfigService.getConfig();\n this.getAllTransitionrules();\n let loginDetails = JSON.parse(localStorage.getItem(\"loginDetails\"));\n this.UserRole = localStorage.getItem(\"UserRole\");\n this.isConfigureEditable = AppGlobals.CustomerFrameAgreementWorkFlowEditableAccessArray.filter(x => x.role == this.UserRole)[0]?.isEditable;\n this.singleFieldObj.Id = this.route.snapshot.params[\"id\"];\n \n this.getAccess();\n\n this.GetTransitionRuleForCurrentStateById(this.singleFieldObj.Id);\n this.getDetailsById(this.singleFieldObj.Id);\n this.getWorkFlowActionHistoryById(this.singleFieldObj.Id);\n // this.getaccesinfotoCancel(this.UserRole);\n this.getAllProductModel(\"ProductModel\", \"GetAllModel\");\n }\n\n getWorkFlowActionHistoryById(CustId:number) {\n this.showLoader = true;\n let queryString = \"\";\n queryString = \"id=\" + CustId;\n\n this.commonService.GetData('WorkflowActionHistory', 'GetById', queryString).subscribe((data: any) => {\n \n //this.data=data;\n this.historydata= data;\n \n \n }, error => {\n this.toastr.error(\"Failed to load data!\");\n\n });\n this.showLoader = false;\n }\n\n GetTransitionRuleForCurrentStateById(customerid:number)\n { \n let queryString = \"\";\n queryString=\"customerid=\"+customerid;\n this.commonService.GetData('CustomerSpecialDiscount','GetTransitionRuleForCurrentStateById',queryString).subscribe((data:any)=>\n {\n this.singleFieldObj.tranisitionrulesobj=data;\n this.workflowActionListforApproval.push(this.singleFieldObj.tranisitionrulesobj);\n this.GetAll(customerid);\n });\n }\n\n GetAll(customerid:number)\n {\n let queryString = \"\";\n queryString=\"customerid=\"+customerid;\n this.commonService.GetData('CustomerSpecialDiscount', 'GetAll', queryString).subscribe((data: any) => {\n this.dataList = data;\n this.showLoader = true;\n\n var record=this.dataList.filter(x=>x.FK_CustomerId==customerid);\n //this.commonService.GetData('')\n this.currentWorkFlowStatus=record[0]?.FK_Workflow_Status;\n\n var actionlist=this.singleFieldObj.tranisitionrulesobj.filter(x=>x.current_state_id==this.currentWorkFlowStatus&&x.action_by_role_id==this.UserRole);\n\n actionlist.forEach(ele=>\n {\n if(ele.condition_code!=\"DiscountSaveAsDraft\")\n {\n if(ele.actionname!=\"Edit\")\n {\n this.workflowActions.push(ele);\n \n }\n }\n \n this.showLoader=true;\n });\n\n this.getAllCustomer(\"Customer\", \"GetAll\"); \n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n\n \n Update(myform: any) {\n\n this.productModelrequired=false;\n if (this.singleFieldComponent.ismultiplerecords) {\n if (this.singleFieldObj.customerSpecialDiscountInfo.length == 0) {\n this.singleFieldObj.customerSpecialDiscountInfo[0].ProductModelRequired = true;\n this.showLoader = false;\n return;\n }\n else {\n this.singleFieldObj.customerSpecialDiscountInfo.forEach(element => {\n if (element.Fk_ProductModel == null || element.Fk_ProductModel == undefined || element.Fk_ProductModel == 0 ) {\n element.ProductModelRequired = true;\n }\n else {\n element.ProductModelRequired = false;\n } \n });\n }\n }\n this.singleFieldObj.customerSpecialDiscountInfo.forEach(element => {\n if (element.ProductModelRequired) {\n this.productModelrequired=true;\n this.showLoader = false;\n return;\n }\n });\n\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"You want to update this Customer Frame Agreement ?\"\n }\n });\n\n dialogRef.afterClosed().subscribe(dialogResult => {\n // if user pressed yes dialogResult will be true, \n // if he pressed no - it will be false\n if (dialogResult) {\n this.showLoader = true;\n \n if(this.productModelrequired==false){\n let queryString = \"\";\n this.singleFieldObj.customerSpecialDiscountInfo.forEach(element=>\n {\n element.Fk_Customer=this.singleFieldObj.Id \n element.Comment=this.singleFieldObj.Comment\n }); \n queryString = \"id=\" +this.WorkflowStatus;\n \n this.commonService.PostData('CustomerSpecialDiscount', 'Add', this.singleFieldObj.customerSpecialDiscountInfo, queryString,null).subscribe((data: any) => {\n let result = data;\n\n this.showLoader = false;\n //if(this.UserRole==\"1\"){\n if (result.ResponseCode == 1) {\n this.toastr.success('Customer Frame Agreement Updated successfully!');\n this.router.navigate(['/CustomerFrameAgreementDetails']);\n \n }\n else if (data.ResponseCode == 0) {\n // myform.controls['fieldtitle'].setErrors({ AlreadyPresent: true });\n this.toastr.warning('Customer Frame Agreement already exists!');\n this.showLoader = false;\n }\n else {\n this.toastr.error('Failed to Update Customer Frame Agreement!');\n this.router.navigate(['/CustomerFrameAgreementDetails']);\n }\n \n }, error => {\n this.toastr.error('Failed to Update Customer Frame Agreement!');\n this.showLoader = false;\n this.router.navigate(['/Dashboard']);\n });\n }\n }\n });\n\n }\n\n getDetailsById(Id: number) {\n this.showLoader = true;\n let queryString = \"\";\n queryString = \"id=\" + Id;\n\n this.commonService.GetData('CustomerSpecialDiscount', 'GetById', queryString).subscribe((data: any) => {\n //this.ProductModelDiscount = data;\n this.singleFieldObj.customerSpecialDiscountInfo=data;\n this.editFormValues=false;\n \n }, error => {\n this.toastr.error(\"Failed to load data!\");\n\n });\n this.showLoader = false;\n }\n\n editForm() {\n if (this.editFormValues == false) {\n this.editFormValues = true;\n this.editFormStatus = \"Edit\";\n this.IsNotApproveRejectButton=true;\n this.titleService.setTitle(this.editFormStatus + \" \" + \"Customer Frame Agreement\"+ \" - \" + this.appConfig.titleName);\n //this.titleService.setTitle(this.editFormStatus + \" \" + \"Customer Frame Agreement\"+ \" - ECOTECH\");\n }\n else {\n this.editFormValues = false;\n this.editFormStatus = \"View\";\n this.IsNotApproveRejectButton=false;\n this.titleService.setTitle(this.editFormStatus + \" \" + \"Customer Frame Agreement\"+ \" - \" + this.appConfig.titleName);\n //this.titleService.setTitle(this.editFormStatus + \" \" + \"Customer Frame Agreement\"+ \" - ECOTECH\");\n }\n }\n\n OnDiscountChange(index)\n {\n \n if (this.singleFieldObj.customerSpecialDiscountInfo[index].ProductDiscount < 0) {\n this.toastr.info('Sales Discount cannot be negative.');\n this.singleFieldObj.customerSpecialDiscountInfo[index].ProductDiscount = null;\n return;\n }\n else if (this.singleFieldObj.customerSpecialDiscountInfo[index].ProductDiscount > 100) {\n this.toastr.info('Discount cannot be greater than 100.');\n this.singleFieldObj.customerSpecialDiscountInfo[index].ProductDiscount= null;\n return;\n }\n }\n\n OnProductModelChange(index)\n {\n if(this.singleFieldObj.customerSpecialDiscountInfo[index].Fk_ProductModel!=0 || this.singleFieldObj.customerSpecialDiscountInfo[index].Fk_ProductModel!=undefined || this.singleFieldObj.customerSpecialDiscountInfo[index].Fk_ProductModel!=null)\n {\n this.singleFieldObj.customerSpecialDiscountInfo[index].ProductModelRequired=false;\n }\n else{\n this.singleFieldObj.customerSpecialDiscountInfo[index].ProductModelRequired=true;\n }\n\n }\n\n testing: any[] = [];\n\n showItems: Array<{ id: number, value: any[] }>;\n OnSelectProductModel(selectedValue, index) {\n var selectedItem = this.tempProductModel.filter(x => x.Id != selectedValue);\n this.testing.push(selectedItem);\n this.showItems[index].value = this.tempProductModel.filter(x => x.Id == selectedValue);\n\n }\n\n getAllCustomer(ControllerName: string, ActionName: string) {\n this.showLoader = true;\n this.commonService.GetData(ControllerName, ActionName, null).subscribe((data: any) => {\n this.Customer = data;\n this.CustomerNameDetails=this.Customer.filter(x=>x.Id==this.singleFieldObj.Id);\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n\n getAllProductModel(ControllerName: string, ActionName: string) {\n this.showLoader = true;\n this.commonService.GetData(ControllerName, ActionName, null).subscribe((data: any) => {\n this.ProductModel = data;\n this.tempProductModel = data;\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n\n AddNewRow(index) {\n if (this.singleFieldObj.Fk_ProductModel != undefined\n && this.singleFieldObj.UnapprovedProductDiscount != undefined) {\n\n this.singleFieldObj.IsRowDeleted = true;\n var obj = new SingleFieldModel();\n obj.Fk_ProductModel = this.singleFieldObj.Fk_ProductModel;\n obj.UnapprovedProductDiscount = this.singleFieldObj.UnapprovedProductDiscount\n\n this.singleFieldObj.UnapprovedProductDiscount = 0;\n this.singleFieldObj.Fk_ProductModel = 0; \n this.singleFieldObj.customerSpecialDiscountInfo.push(obj);\n }\n else{\n if(this.singleFieldObj.customerSpecialDiscountInfo[index].Fk_ProductModel!=0 || this.singleFieldObj.customerSpecialDiscountInfo[index].Fk_ProductModel!=undefined || this.singleFieldObj.customerSpecialDiscountInfo[index].Fk_ProductModel!=null)\n {\n this.singleFieldObj.customerSpecialDiscountInfo[index].ProductModelRequired=false;\n }\n \n }\n }\n\n deleterow(index: any) {\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Do you want to delete this row?\"\n }\n });\n dialogRef.afterClosed().subscribe(dialogResult => {\n if (dialogResult) {\n if (index != null) {\n this.singleFieldObj.customerSpecialDiscountInfo.splice(index, 1);\n } else {\n this.singleFieldObj.customerSpecialDiscountInfo.pop();\n }\n }\n });\n }\n\n getAllTransitionrules()\n {\n this.showLoader = true;\n this.commonService.GetData('WorkFlowTransitionRule', 'GetAll', null).subscribe((data: any) => {\n this.singleFieldObj.tranisitionrulesobj = data;\n this.singleFieldObj.tranisitionrulesobj.forEach(element=>\n {\n // if(element.condition_code=='DiscountSaveAsDraftAfterEdit')\n // {\n // this.workflowActionList.push(element); \n // }\n if(element.actionname=='Edit'&& element.action_by_role_id==this.UserRole)\n {\n this.workflowActionList.push(element); \n }\n \n });\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n\n \n\n getActionListbyId()\n {\n this.showLoader = true;\n this.commonService.GetData('WorkFlowTransitionRule', 'GetActionsbyId', null).subscribe((data: any) => {\n this.singleFieldObj.tranisitionrulesobj = data;\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n\n OnWorkflowAction(myform:NgForm,nextstateid:number){ \n \n var rule= this.workflowActionList.filter(x=>x.next_state_id==nextstateid && x.action_by_role_id==this.UserRole);\n this.WorkflowStatus=rule[0].next_state_id;\n // this.EnquiryObj.EnquiryDetails.FK_transitionrule_id=rule[0].transition_rule_id;\n // this.SetStatus(rule[0].next_state_id,myform2); \n this.singleFieldObj.customerSpecialDiscountInfo.forEach(element => {\n element.action_id=rule[0].action_id;\n }); \n this.Update(myform);\n } \n\n OnWorkflowActionForApproval(myform:NgForm,nextstateid:number)\n {\n var rule= this.workflowActions.filter(x=>x.next_state_id==nextstateid);\n this.WorkflowStatus=rule[0].next_state_id;\n this.action_id=rule[0].action_id;\n \n this.UpdateStatusForWorkFlow(this.singleFieldObj.Id ,this.WorkflowStatus); \n }\n\n UpdateStatusForWorkFlow(Customerid:any,WorkflowStatus:any)\n {\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"You want to Continue with this Action ?\"\n }\n });\n\n dialogRef.afterClosed().subscribe(dialogResult => {\n // if user pressed yes dialogResult will be true, \n // if he pressed no - it will be false\n if (dialogResult) {\n this.showLoader = true;\n \n let queryString=\"\";\n queryString = \"WorkflowStatus=\" +this.WorkflowStatus + \"&action_id=\"+ this.action_id + \"&Comment=\"+ this.singleFieldObj.Comment;\n this.commonService.PostStatus('CustomerSpecialDiscount', 'UpdateStatusForWorkFlow', queryString,this.singleFieldObj.Id).subscribe((data: any) => {\n let result = data;\n\n this.showLoader = false;\n //if(this.UserRole==\"1\"){\n if (result.ResponseCode == 1) {\n this.toastr.success('Customer Frame Agreement Updated successfully!');\n this.router.navigate(['/CustomerFrameAgreementDetails']);\n \n }\n \n else {\n this.toastr.error('Failed to Update Customer Frame Agreement!');\n this.router.navigate(['/CustomerFrameAgreementDetails']);\n }\n \n }, error => {\n this.toastr.error('Failed to Update Customer Frame Agreement!');\n this.showLoader = false;\n this.router.navigate(['/Dashboard']);\n });\n \n }\n });\n\n }\n\n limitTextOnKeyUpDown1(event: any) {\n let goalText = event.target.value;\n if (goalText.length > this.maxLimit) {\n this.varLongTermGoal = goalText.substring(0, this.maxLimit);\n } else {\n this.remLimit = this.maxLimit - goalText.length;\n }\n }\n\n getAccess()\n {\n this.accessservice.GetAll().subscribe((data:any)=> {\n this.accesspermissionobj=data;\n this.isCustomerFrameAgreementEditable=this.accesspermissionobj.filter(x => x.Fk_RoleId == this.UserRole && x.ElementKey=='IsCustomerFrameAgreement')[0]?.IsEditable; \n }); \n }\n\n isintNumberKey(evt: any) {\n this.charCode = (evt.which) ? evt.which : evt.keyCode;\n if\n (this.charCode != 46 && this.charCode > 31\n && (this.charCode < 48 || this.charCode > 57)) {\n return false;\n\n }\n else {\n return true;\n }\n }\n AvoidSpace(event: any) {\n if (event.which === 32 && !event.target.value.length) {\n event.preventDefault();\n }\n }\n}\n","\n\n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n Customer Frame Agreement For : {{CustomerNameDetails[0]?.CompanyName}}\n

    \n
    \n
    \n\n
    \n\n\n
    \n\n
    \n
    \n    \n
    \n \n
    \n\n\n
    \n \n\n \n \n\n \n Product Model\n \n \n Existing Frame Agreement Discount\n \n \n New Frame Agreement Discount\n \n \n Action\n \n\n \n \n\n \n\n \n \n \n \n \n
    \n \n Product Model is required\n
    \n \n \n \n\n \n\n \n \n \n \n\n \n\n 0) && ((singleFieldObj.customerSpecialDiscountInfo.length - 1 ) == i)\"\n (click)=\"AddNewRow(singleFieldObj.customerSpecialDiscountInfo.length+1)\"\n style=\"color:#000000;width: 25px;height: 25px;float: right;\"\n class=\"btn btn-primary m-btn m-btn--icon m-btn--icon-only mr-2\">\n \n \n 1) && ((singleFieldObj.customerSpecialDiscountInfo.length - 1 ) == i)\"\n (click)=\"deleterow(i)\"\n style=\"color:#ffffff;width: 25px;height: 25px;\"\n class=\"btn btn-metal m-btn m-btn--icon m-btn--icon-only mr-2\">\n \n \n\n\n\n \n \n\n\n \n\n \n\n
    \n\n \n
    \n\n \n Limit {{maxLimit}} characters,\n {{remLimit}} characters\n remaining.\n
    \n
    \n\n
    \n
    \n\n\n
    \n
    \n
    \n
    \n
    \n \n    \n   \n \n\n \n\n \n
    \n
    \n
    \n
    \n
    \n\n
    \n\n\n
    \n\n
    \n
    \n
    \n
    \n
    \n

    Workflow Action History\n

    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    CustomerId\n {{row.CustomerId}} Action By\n {{row.userName}} Action By Role\n {{row.userrole}}Action\n {{row.action_name}} Action On\n \n {{row.ActionOn | date: \"dd-MMM-yyyy h:mm a\"}} Comment {{row.Comment}}
    \n
    \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n","import { Component, OnInit, Input } from '@angular/core';\nimport { SingleFieldModel, SingleFieldComponent } from 'src/app/Model/SingleFieldModel';\nimport { ConfirmDialogComponent } from 'src/app/confirm-dialog/confirm-dialog.component';\nimport { MatDialog } from '@angular/material/dialog';\nimport { CommonService } from 'src/app/Service/common.service';\nimport { ToastrService } from 'ngx-toastr';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { Title } from '@angular/platform-browser';\nimport { element } from 'protractor';\nimport { AppConfigService } from 'src/app/Service/app-config.service';\n\n@Component({\n selector: 'app-add-configuration',\n templateUrl: './add-configuration.component.html',\n styleUrls: ['./add-configuration.component.scss']\n})\nexport class AddConfigurationComponent implements OnInit {\n\n singleFieldObj: SingleFieldModel = new SingleFieldModel();\n singleFieldComponent: SingleFieldComponent = new SingleFieldComponent();\n //CustomerSpecialDiscountObject:SingleFieldModel [] = Array();\n charCode: any;\n IndustrySegment: any[] = [];\n CategoryRegion: any[] = [];\n\n isdropdowninactive: boolean = false;\n\n\n SubSegment: any[] = [];\n TermsAndConditions: any[] = []\n @Input()\n showLoader: boolean = false;\n Roles: any[] = [];\n Customer: any[] = [];\n ProductModel: any[] = [];\n tempProductModel: any[] = [];\n NewArr: any[] = [];\n temp_ProductModel: any[] = [];\n ProductModelDiscountArr: SingleFieldModel[] = [];\n productModelrequired: boolean=false;\n productDiscountrequired: boolean;\n OtherComponent: boolean;\n constructor(private router: Router, private toastr: ToastrService, private CommonService: CommonService,\n public dialog: MatDialog, private route: ActivatedRoute, private titleService: Title, private appConfigService: AppConfigService) { }\n ngOnInit() {\n // alert(this.singleFieldObj.CustomerSpecialDiscountObject);\n this.AddNewRow(0);\n this.singleFieldComponent.RoutingParam = this.route.snapshot.params[\"heading\"];\n if (this.singleFieldComponent.RoutingParam == \"CustomerSpecialDiscount\") {\n this.singleFieldObj.Fk_Customer = this.route.snapshot.params[\"id\"]\n if (this.singleFieldObj.Fk_Customer != undefined) {\n this.isdropdowninactive = true;\n }\n else this.isdropdowninactive = false\n }\n\n this.showLoader = true;\n this.OtherComponent=true;\n switch (this.singleFieldComponent.RoutingParam) {\n case \"MDSOption\":\n this.singleFieldComponent.Heading = \"MDS Option\";\n this.singleFieldComponent.RoutingParam = \"MDSOption\";\n this.singleFieldComponent.ButtonText = \"Add MDS Option\";\n this.singleFieldComponent.ConfirmationText = \"MDS option\";\n this.singleFieldComponent.ControllerName = \"MDSOptions\";\n this.singleFieldComponent.ActionName = \"Add\";\n this.singleFieldComponent.SuccessText = \"MDS option\";\n this.singleFieldComponent.firstFiledLabel = \"MDS Option\";\n this.singleFieldComponent.firstFieldValidationMsg = \"MDS option\";\n this.singleFieldComponent.isDoubleField = false;\n this.singleFieldComponent.isDropdownrequird = false;\n this.singleFieldComponent.FirstFieldMaxLen = 100;\n this.singleFieldComponent.Pattern = \"\";\n this.singleFieldComponent.FirstFiledPattern = \"\";\n this.singleFieldComponent.FirstFiledPatternValidationMessage = \"\";\n break;\n case \"SalesPrice\":\n this.singleFieldComponent.Heading = \"Sales Price Discount\";\n this.singleFieldComponent.RoutingParam = \"SalesPrice\";\n this.singleFieldComponent.ButtonText = \"Add Sales Price Discount\";\n this.singleFieldComponent.ConfirmationText = \"sales price\";\n this.singleFieldComponent.ControllerName = \"SalesPrice\";\n this.singleFieldComponent.ActionName = \"Add\";\n this.singleFieldComponent.SuccessText = \"Sales price\";\n this.singleFieldComponent.firstFiledLabel = \"Sales Price\";\n this.singleFieldComponent.firstFieldValidationMsg = \"Sales price\";\n this.singleFieldComponent.isDoubleField = false;\n this.singleFieldComponent.isExtraFields = true;\n this.singleFieldComponent.isDropdownrequird = false;\n this.singleFieldComponent.FirstFieldMaxLen = 100;\n this.singleFieldComponent.Pattern = \"\";\n this.singleFieldComponent.FirstFiledPattern = '';\n this.getAllRoles();\n // this.singleFieldComponent.FirstFiledPatternValidationMessage = \"Please enter alphanumeric values ​​only\";\n // this.singleFieldComponent.FirstFiledPatternValidationMessage = \"Please enter alphanumeric values ​​only\";\n // this.singleFieldComponent.FirstFiledPatternValidationMessage = \"Please enter alphanumeric values ​​only\";\n break;\n case \"Country\":\n this.singleFieldComponent.Heading = \"Country\";\n this.singleFieldComponent.RoutingParam = \"Country\";\n this.singleFieldComponent.ButtonText = \"Add Country\";\n this.singleFieldComponent.ConfirmationText = \"country\";\n this.singleFieldComponent.ControllerName = \"Country\";\n this.singleFieldComponent.ActionName = \"Add\";\n this.singleFieldComponent.SuccessText = \"Country\";\n this.singleFieldComponent.SuccessText2 = \"Country Code\";\n this.singleFieldComponent.firstFiledLabel = \"Country\";\n this.singleFieldComponent.secondFiledLabel = \"Country Code\";\n this.singleFieldComponent.firstFieldValidationMsg = \"Country\";\n this.singleFieldComponent.SecondFieldValidationMsg = \"Country Code\";\n this.singleFieldComponent.isDoubleField = true;\n this.singleFieldComponent.isDropdownrequird = false;\n this.singleFieldComponent.FirstFieldMaxLen = 100;\n this.singleFieldComponent.SecondFieldMaxLen = 10;\n this.singleFieldComponent.Pattern = \"\";\n this.singleFieldComponent.FirstFiledPattern = \"\";\n this.singleFieldComponent.FirstFiledPatternValidationMessage = \"Invalid\";\n break;\n\n case \"CustomerCategory\":\n this.singleFieldComponent.Heading = \"Customer Category\";\n this.singleFieldComponent.RoutingParam = \"CustomerCategory\";\n this.singleFieldComponent.ButtonText = \"Add Customer Category\";\n this.singleFieldComponent.ConfirmationText = \"customer category\";\n this.singleFieldComponent.ControllerName = \"CustomerCategory\";\n this.singleFieldComponent.ActionName = \"Add\";\n this.singleFieldComponent.SuccessText = \"Customer category\";\n this.singleFieldComponent.firstFiledLabel = \"Customer Category\";\n this.singleFieldComponent.firstFieldValidationMsg = \"Customer category\";\n this.singleFieldComponent.isDoubleField = false;\n this.singleFieldComponent.isDropdownrequird = false;\n this.singleFieldComponent.FirstFieldMaxLen = 150;\n this.singleFieldComponent.Pattern = \"\";\n this.singleFieldComponent.FirstFiledPattern = \"\";\n this.singleFieldComponent.FirstFiledPatternValidationMessage = \"\";\n break;\n case \"CustomerClassification\":\n this.singleFieldComponent.Heading = \"Customer Classification\";\n this.singleFieldComponent.RoutingParam = \"CustomerClassification\";\n this.singleFieldComponent.ButtonText = \"Add Customer Classification\";\n this.singleFieldComponent.ConfirmationText = \"customer classification\";\n this.singleFieldComponent.ControllerName = \"CustomerClassification\";\n this.singleFieldComponent.ActionName = \"Add\";\n this.singleFieldComponent.SuccessText = \"Customer classification\";\n this.singleFieldComponent.firstFiledLabel = \"Customer Classification\";\n this.singleFieldComponent.firstFieldValidationMsg = \"Customer classification\";\n this.singleFieldComponent.isDoubleField = false;\n this.singleFieldComponent.isDropdownrequird = false;\n this.singleFieldComponent.FirstFieldMaxLen = 150;\n this.singleFieldComponent.Pattern = \"\";\n this.singleFieldComponent.FirstFiledPattern = \"\";\n this.singleFieldComponent.FirstFiledPatternValidationMessage = \"\";\n break;\n case \"EnquirySource\":\n this.singleFieldComponent.Heading = \"Enquiry Source\";\n this.singleFieldComponent.RoutingParam = \"EnquirySource\";\n this.singleFieldComponent.ButtonText = \"Add Enquiry Source\";\n this.singleFieldComponent.ConfirmationText = \"enquiry source\";\n this.singleFieldComponent.ControllerName = \"EnquirySource\";\n this.singleFieldComponent.ActionName = \"Add\";\n this.singleFieldComponent.SuccessText = \"Enquiry source\";\n this.singleFieldComponent.firstFiledLabel = \"Enquiry Source\";\n this.singleFieldComponent.firstFieldValidationMsg = \"Enquiry source\";\n this.singleFieldComponent.isDoubleField = false;\n this.singleFieldComponent.isDropdownrequird = false;\n this.singleFieldComponent.FirstFieldMaxLen = 150;\n this.singleFieldComponent.Pattern = \"\";\n this.singleFieldComponent.FirstFiledPattern = \"\";\n this.singleFieldComponent.FirstFiledPatternValidationMessage = \"\";\n break;\n case \"IndustrySegment\":\n this.singleFieldComponent.Heading = \"Industry Segment\";\n this.singleFieldComponent.RoutingParam = \"IndustrySegment\";\n this.singleFieldComponent.ButtonText = \"Add Industry Segment\";\n this.singleFieldComponent.ConfirmationText = \"industry segment\";\n this.singleFieldComponent.ControllerName = \"IndustrySegment\";\n this.singleFieldComponent.ActionName = \"Add\";\n this.singleFieldComponent.SuccessText = \"Industry segment\";\n this.singleFieldComponent.firstFiledLabel = \"Industry Segment\";\n this.singleFieldComponent.firstFieldValidationMsg = \"Industry segment\";\n this.singleFieldComponent.isDoubleField = false;\n this.singleFieldComponent.isDropdownrequird = false;\n this.singleFieldComponent.FirstFieldMaxLen = 100;\n this.singleFieldComponent.Pattern = \"\";\n this.singleFieldComponent.FirstFiledPattern = \"\";\n this.singleFieldComponent.FirstFiledPatternValidationMessage = \"\";\n break;\n case \"SubSegment\":\n this.singleFieldComponent.Heading = \"Sub Segment\";\n this.singleFieldComponent.RoutingParam = \"SubSegment\";\n this.singleFieldComponent.ButtonText = \"Add Sub Segment\";\n this.singleFieldComponent.ConfirmationText = \"sub segment\";\n this.singleFieldComponent.ControllerName = \"SubSegment\";\n this.singleFieldComponent.ActionName = \"Add\";\n this.singleFieldComponent.SuccessText = \"Sub segment\";\n this.singleFieldComponent.firstFiledLabel = \"Industry Segment\";\n this.singleFieldComponent.secondFiledLabel = \"Sub Segment\";\n this.singleFieldComponent.firstFieldValidationMsg = \"Industry segment\";\n this.singleFieldComponent.SecondFieldValidationMsg = \"Sub segment\";\n this.singleFieldComponent.isDoubleField = true;\n this.singleFieldComponent.isDropdownrequird = true;\n this.singleFieldComponent.Pattern = \"\";\n this.singleFieldComponent.SecondFieldMaxLen = 100;\n this.singleFieldComponent.FirstFiledPattern = \"\";\n this.singleFieldComponent.FirstFiledPatternValidationMessage = \"\";\n this.GetData(\"IndustrySegment\", \"GetAll\");\n break;\n case \"Region\":\n this.singleFieldComponent.Heading = \"Region\";\n this.singleFieldComponent.RoutingParam = \"Region\";\n this.singleFieldComponent.ButtonText = \"Add Region\";\n this.singleFieldComponent.ConfirmationText = \"region\";\n this.singleFieldComponent.ControllerName = \"Region\";\n this.singleFieldComponent.ActionName = \"Add\";\n this.singleFieldComponent.SuccessText = \"Region\";\n this.singleFieldComponent.SuccessText2 = \"Region Code\";\n this.singleFieldComponent.firstFiledLabel = \"Region\";\n this.singleFieldComponent.secondFiledLabel = \"Region Code\";\n this.singleFieldComponent.firstFieldValidationMsg = \"Region\";\n this.singleFieldComponent.SecondFieldValidationMsg = \"Region Code\";\n this.singleFieldComponent.isDoubleField = true;\n this.singleFieldComponent.isDropdownrequird = false;\n this.singleFieldComponent.FirstFieldMaxLen = 100;\n this.singleFieldComponent.SecondFieldMaxLen = 10;\n this.singleFieldComponent.Pattern = \"\";\n this.singleFieldComponent.FirstFiledPattern = \"\";\n this.singleFieldComponent.FirstFiledPatternValidationMessage = \"\";\n break;\n case \"TypeofCustomer\":\n this.singleFieldComponent.Heading = \"Type of Customer\";\n this.singleFieldComponent.RoutingParam = \"TypeofCustomer\";\n this.singleFieldComponent.ButtonText = \"Add Type of Customer\";\n this.singleFieldComponent.ConfirmationText = \"type of customer\";\n this.singleFieldComponent.ControllerName = \"CustomerType\";\n this.singleFieldComponent.ActionName = \"Add\";\n this.singleFieldComponent.SuccessText = \"Type of customer\";\n this.singleFieldComponent.firstFiledLabel = \"Type of Customer\";\n this.singleFieldComponent.firstFieldValidationMsg = \"Type of customer\";\n this.singleFieldComponent.isDoubleField = false;\n this.singleFieldComponent.isDropdownrequird = false;\n this.singleFieldComponent.Pattern = \"\";\n this.singleFieldComponent.FirstFieldMaxLen = 100;\n this.singleFieldComponent.FirstFiledPattern = \"\";\n this.singleFieldComponent.FirstFiledPatternValidationMessage = \"\";\n break;\n case \"EstimatedProductValue\":\n this.singleFieldComponent.Heading = \"Estimated Product Value\";\n this.singleFieldComponent.RoutingParam = \"EstimatedProductValue\";\n this.singleFieldComponent.ButtonText = \"Add Estimated Product Value\";\n this.singleFieldComponent.ConfirmationText = \"estimated product value\";\n this.singleFieldComponent.ControllerName = \"EstimatedProductValue\";\n this.singleFieldComponent.ActionName = \"Add\";\n this.singleFieldComponent.SuccessText = \"Estimated product value\";\n this.singleFieldComponent.firstFiledLabel = \"Estimated Product Value\";\n this.singleFieldComponent.firstFieldValidationMsg = \"Estimated product value\";\n this.singleFieldComponent.secondFiledLabel = \"Role\";\n this.singleFieldComponent.SecondFieldValidationMsg = \"Role\"\n this.singleFieldComponent.isDoubleField = true;\n this.singleFieldComponent.isDropdownrequird = false;\n this.singleFieldComponent.Pattern = \"\";\n this.singleFieldComponent.FirstFieldMaxLen = 50;\n this.singleFieldComponent.FirstFiledPattern = \"\";\n this.singleFieldComponent.FirstFiledPatternValidationMessage = \"\";\n this.getAllRoles();\n break;\n case \"Currency\":\n this.singleFieldComponent.Heading = \"Currency\";\n this.singleFieldComponent.RoutingParam = \"Currency\";\n this.singleFieldComponent.ButtonText = \"Add Currency\";\n this.singleFieldComponent.ConfirmationText = \"currency\";\n this.singleFieldComponent.ControllerName = \"Currency\";\n this.singleFieldComponent.ActionName = \"Add\";\n this.singleFieldComponent.SuccessText = \"Currency\";\n this.singleFieldComponent.firstFiledLabel = \"Currency\";\n this.singleFieldComponent.secondFiledLabel = \"Exchange Rate (€)\";\n this.singleFieldComponent.firstFieldValidationMsg = \"Currency\";\n this.singleFieldComponent.SecondFieldValidationMsg = \"Exchange rate\";\n this.singleFieldComponent.isDoubleField = true;\n this.singleFieldComponent.isDropdownrequird = false;\n this.singleFieldComponent.Pattern = /^[0-9]\\d*(\\.\\d+)?$/;\n this.singleFieldComponent.FirstFieldMaxLen = 50;\n this.singleFieldComponent.SecondFieldMaxLen = 6;\n this.singleFieldComponent.FirstFiledPattern = \"\";\n this.singleFieldComponent.FirstFiledPatternValidationMessage = \"\";\n break;\n case \"TermsConditions\":\n this.singleFieldComponent.Heading = \"Terms & Conditions\";\n this.singleFieldComponent.RoutingParam = \"TermsConditions\";\n this.singleFieldComponent.ButtonText = \"Add Terms & Conditions\";\n this.singleFieldComponent.ConfirmationText = \"terms & conditions\";\n this.singleFieldComponent.ControllerName = \"TermsAndConditions\";\n this.singleFieldComponent.ActionName = \"Add\";\n this.singleFieldComponent.SuccessText = \"Terms & conditions\";\n this.singleFieldComponent.firstFiledLabel = \"Terms & Condition\";\n this.singleFieldComponent.secondFiledLabel = \"Standard Value\";\n this.singleFieldComponent.firstFieldValidationMsg = \"Terms & condition\";\n this.singleFieldComponent.SecondFieldValidationMsg = \"Standard Value\";\n this.singleFieldComponent.isDoubleField = true;\n this.singleFieldComponent.isDropdownrequird = false;\n this.singleFieldComponent.Pattern = \"\";\n this.singleFieldComponent.FirstFieldMaxLen = 50;\n this.singleFieldComponent.SecondFieldMaxLen = 100;\n this.singleFieldComponent.FirstFiledPattern = \"\";\n this.singleFieldComponent.FirstFiledPatternValidationMessage = \"\";\n break;\n case \"StandardReasonforWinningLosing\":\n this.singleFieldComponent.Heading = \"Standard Reason\";\n this.singleFieldComponent.RoutingParam = \"StandardReasonforWinningLosing\";\n this.singleFieldComponent.ButtonText = \"Add Standard Reason\";\n this.singleFieldComponent.ConfirmationText = \"standard reason for winning/losing\";\n this.singleFieldComponent.ControllerName = \"ReasonEnquiryWinLoss\";\n this.singleFieldComponent.ActionName = \"Add\";\n this.singleFieldComponent.SuccessText = \"Standard reason for winning/losing\";\n this.singleFieldComponent.firstFiledLabel = \"Enquiry Status\";\n this.singleFieldComponent.secondFiledLabel = \"Select Catagory\";\n this.singleFieldComponent.thirdFieldLabel = \"Reason for Winning/Losing\";\n this.singleFieldComponent.firstFieldValidationMsg = \"Enquiry status\";\n this.singleFieldComponent.SecondFieldValidationMsg = \"Required\";\n this.singleFieldComponent.ThirdFieldValidationMsg = \"Reason for winning/losing\";\n this.singleFieldComponent.isDoubleField = true;\n this.singleFieldComponent.isTripleField = true;\n this.singleFieldComponent.isDropdownrequird = true;\n this.singleFieldComponent.Pattern = \"\";\n this.singleFieldComponent.FirstFieldMaxLen = 10;\n this.singleFieldComponent.SecondFieldMaxLen = 100;\n this.singleFieldComponent.ThirdFieldMaxLen = 100;\n this.singleFieldComponent.FirstFiledPattern = \"\";\n this.singleFieldComponent.FirstFiledPatternValidationMessage = \"\";\n this.getAllCategoryRegion();\n break;\n case \"EnquiryCloseReason\":\n this.singleFieldComponent.Heading = \"Enquiry Close Reason\";\n this.singleFieldComponent.RoutingParam = \"EnquiryCloseReason\";\n this.singleFieldComponent.ButtonText = \"Add Enquiry Close Reason\";\n this.singleFieldComponent.ConfirmationText = \"Enquiry Close Reason\";\n this.singleFieldComponent.ControllerName = \"EnquiryCloseReason\";\n this.singleFieldComponent.ActionName = \"Add\";\n this.singleFieldComponent.SuccessText = \"Enquiry Close Reason\";\n this.singleFieldComponent.firstFiledLabel = \"Enquiry Close Reason\";\n this.singleFieldComponent.firstFieldValidationMsg = \"Enquiry Close Reason\";\n this.singleFieldComponent.isDoubleField = false;\n this.singleFieldComponent.isDropdownrequird = false;\n this.singleFieldComponent.FirstFieldMaxLen = 100;\n this.singleFieldComponent.SecondFieldMaxLen = 100;\n this.singleFieldComponent.Pattern = \"\";\n this.singleFieldComponent.FirstFiledPattern = \"\";\n this.singleFieldComponent.FirstFiledPatternValidationMessage = \"\";\n break;\n\n case \"LeadCloseReason\":\n this.singleFieldComponent.Heading = \"Lead Close Reason\";\n this.singleFieldComponent.RoutingParam = \"LeadCloseReason\";\n this.singleFieldComponent.ButtonText = \"Add Lead Close Reason\";\n this.singleFieldComponent.ConfirmationText = \"Lead close reason\";\n this.singleFieldComponent.ControllerName = \"OpportunityCloseReason\";\n this.singleFieldComponent.ActionName = \"Add\";\n this.singleFieldComponent.SuccessText = \"Lead close reason\";\n this.singleFieldComponent.firstFiledLabel = \"Lead Close Reason\";\n this.singleFieldComponent.firstFieldValidationMsg = \"Lead Close Reason\";\n this.singleFieldComponent.isDoubleField = false;\n this.singleFieldComponent.isDropdownrequird = false;\n this.singleFieldComponent.FirstFieldMaxLen = 100;\n this.singleFieldComponent.SecondFieldMaxLen = 100;\n this.singleFieldComponent.Pattern = \"\";\n this.singleFieldComponent.FirstFiledPattern = \"\";\n this.singleFieldComponent.FirstFiledPatternValidationMessage = \"\";\n break;\n\n case \"EnquiryCompetitor\":\n this.singleFieldComponent.Heading = \"Enquiry Competitor\";\n this.singleFieldComponent.RoutingParam = \"EnquiryCompetitor\";\n this.singleFieldComponent.ButtonText = \"Add Enquiry Competitor\";\n this.singleFieldComponent.ConfirmationText = \"Enquiry Competitor\";\n this.singleFieldComponent.ControllerName = \"EnquiryCompetitor\";\n this.singleFieldComponent.ActionName = \"Add\";\n this.singleFieldComponent.SuccessText = \"Enquiry Competitor\";\n this.singleFieldComponent.firstFiledLabel = \"Enquiry Competitor\";\n this.singleFieldComponent.firstFieldValidationMsg = \"Enquiry Competitor\";\n this.singleFieldComponent.isDoubleField = false;\n this.singleFieldComponent.isDropdownrequird = false;\n this.singleFieldComponent.FirstFieldMaxLen = 100;\n this.singleFieldComponent.Pattern = \"\";\n this.singleFieldComponent.FirstFiledPattern = \"\";\n this.singleFieldComponent.FirstFiledPatternValidationMessage = \"\";\n break;\n\n case \"CustomerGroup\":\n this.singleFieldComponent.Heading = \"Customer Group\";\n this.singleFieldComponent.RoutingParam = \"CustomerGroup\";\n this.singleFieldComponent.ButtonText = \"Add Customer Group\";\n this.singleFieldComponent.ConfirmationText = \"customer group\";\n this.singleFieldComponent.ControllerName = \"CustomerGroup\";\n this.singleFieldComponent.ActionName = \"Add\";\n this.singleFieldComponent.SuccessText = \"Customer group\";\n this.singleFieldComponent.firstFiledLabel = \"Customer Group\";\n this.singleFieldComponent.secondFiledLabel = \"Customer Group Code\";\n this.singleFieldComponent.firstFieldValidationMsg = \"Customer Group\";\n this.singleFieldComponent.SecondFieldValidationMsg = \"Customer Group Code\";\n this.singleFieldComponent.isDoubleField = true;\n this.singleFieldComponent.isDropdownrequird = false;\n this.singleFieldComponent.Pattern = \"\";\n this.singleFieldComponent.FirstFieldMaxLen = 150;\n this.singleFieldComponent.SecondFieldMaxLen = 150;\n this.singleFieldComponent.FirstFiledPattern = \"\";\n this.singleFieldComponent.FirstFiledPatternValidationMessage = \"\";\n break;\n\n case \"TechnicalDiscardReason\":\n this.singleFieldComponent.Heading = \"Technical Discard Reason\";\n this.singleFieldComponent.RoutingParam = \"TechnicalDiscardReason\";\n this.singleFieldComponent.ButtonText = \"Add Technical Discard Reason\";\n this.singleFieldComponent.ConfirmationText = \"Technical discard reason\";\n this.singleFieldComponent.ControllerName = \"TechnicalDiscard\";\n this.singleFieldComponent.ActionName = \"Add\";\n this.singleFieldComponent.SuccessText = \"Technical discard reason\";\n this.singleFieldComponent.firstFiledLabel = \"Technical Discard Reason\";\n this.singleFieldComponent.firstFieldValidationMsg = \"Technical Discard Reason\";\n this.singleFieldComponent.isDoubleField = false;\n this.singleFieldComponent.isDropdownrequird = false;\n this.singleFieldComponent.Pattern = \"\";\n this.singleFieldComponent.FirstFieldMaxLen = 50;\n this.singleFieldComponent.FirstFiledPattern = \"\";\n this.singleFieldComponent.FirstFiledPatternValidationMessage = \"\";\n break;\n\n\n case \"TermsConditions-NonStandard\":\n this.singleFieldComponent.Heading = \"Terms & Conditions-Non Standard\";\n this.singleFieldComponent.RoutingParam = \"TermsConditions-NonStandard\";\n this.singleFieldComponent.ButtonText = \"Add Non Standard Terms & Conditions\";\n this.singleFieldComponent.ConfirmationText = \"non standard terms & conditions\";\n this.singleFieldComponent.ControllerName = \"TermsAndConditionsCustomized\";\n this.singleFieldComponent.ActionName = \"Add\";\n this.singleFieldComponent.SuccessText = \"Terms & conditions-Non Standard\";\n this.singleFieldComponent.firstFiledLabel = \"Terms & Condition-Non Standard\";\n this.singleFieldComponent.secondFiledLabel = \"Non Standard Value\";\n this.singleFieldComponent.TableHeader1 = \"Terms & Conditions-Non Standard\";\n this.singleFieldComponent.TableHeader2 = \"Non Standard Values\";\n this.singleFieldComponent.firstFieldValidationMsg = \"Non standard term & condition\";\n this.singleFieldComponent.SecondFieldValidationMsg = \"Non standard value\";\n this.singleFieldComponent.isDoubleField = true;\n this.singleFieldComponent.isDropdownrequird = true;\n this.singleFieldComponent.Pattern = \"\";\n this.singleFieldComponent.SecondFieldMaxLen = 100;\n this.singleFieldComponent.FirstFiledPattern = \"\";\n this.singleFieldComponent.FirstFiledPatternValidationMessage = \"\";\n this.GetData(\"TermsAndConditions\", \"GetAll\");\n break;\n\n case \"Application\":\n this.singleFieldComponent.Heading = \"Application\";\n this.singleFieldComponent.RoutingParam = \"Application\";\n this.singleFieldComponent.ButtonText = \"Add Application\";\n this.singleFieldComponent.ConfirmationText = \"Application\";\n this.singleFieldComponent.ControllerName = \"Application\";\n this.singleFieldComponent.ActionName = \"Add\";\n this.singleFieldComponent.SuccessText = \"Application\";\n this.singleFieldComponent.firstFiledLabel = \"Industry Segment\";\n this.singleFieldComponent.secondFiledLabel = \"Sub Segment\";\n this.singleFieldComponent.thirdFieldLabel = \"Application Name\";\n this.singleFieldComponent.TableHeader1 = \"Industry Segment\";\n this.singleFieldComponent.TableHeader2 = \"Sub Segment\";\n this.singleFieldComponent.TableHeader3 = \"Application\";\n this.singleFieldComponent.firstFieldValidationMsg = \"Industry Segment\";\n this.singleFieldComponent.SecondFieldValidationMsg = \"Sub Segment\";\n this.singleFieldComponent.thirdFieldValidationMsg = \"Application Name\";\n this.singleFieldComponent.isDoubleField = true;\n this.singleFieldComponent.isTripleField = true;\n this.singleFieldComponent.isDropdownrequird = true;\n this.singleFieldComponent.Pattern = \"\";\n this.singleFieldComponent.ThirdFieldMaxLen = 250;\n this.singleFieldComponent.FirstFiledPattern = \"\";\n this.singleFieldComponent.FirstFiledPatternValidationMessage = \"\";\n this.singleFieldComponent.SecondFieldPattern = \"\";\n this.singleFieldComponent.SecondFieldPatternValidationMessage = \"\";\n this.singleFieldComponent.ThirdFieldPattern = \"\";\n this.singleFieldComponent.ThirdFieldPatternValidationMessage = \"\";\n this.GetData(\"IndustrySegment\", \"GetAll\");\n \n break;\n\n\n case \"CustomerSpecialDiscount\":\n \n this.router.navigate(['/AddContractFrameAgreementComponent/0']);\n // this.singleFieldComponent.Heading = \"Customer Frame Agreement\";\n // this.singleFieldComponent.RoutingParam = \"CustomerSpecialDiscount\";\n // this.singleFieldComponent.ButtonText = \"Add Customer Frame Agreement\";\n // this.singleFieldComponent.ConfirmationText = \"Customer Frame Agreement\";\n // this.singleFieldComponent.ControllerName = \"CustomerSpecialDiscount\";\n // this.singleFieldComponent.ActionName = \"Add\";\n // this.singleFieldComponent.SuccessText = \"Customer Frame Agreement\";\n\n // this.singleFieldComponent.firstFiledLabel = \"Frame Agreement\";\n // this.singleFieldComponent.secondFiledLabel = \"Product Model\";\n // this.singleFieldComponent.thirdFiledLabel = \"Customer Name\";\n // this.singleFieldComponent.firstFieldValidationMsg = \"Customer Name\";\n // this.singleFieldComponent.SecondFieldValidationMsg = \"Product Model\";\n // this.singleFieldComponent.ThirdFieldValidationMsg = \"Product Model\";\n // this.singleFieldComponent.isDoubleField = false;\n // // this.singleFieldComponent.isDropdownrequird = false;\n // this.singleFieldComponent.isvariablediscountfield = true;\n // this.singleFieldComponent.isthirdfielddropdown = true;\n // this.singleFieldComponent.issecondfielddropdown = true;\n // this.singleFieldComponent.ismultiplerecords = true;\n // this.singleFieldComponent.Pattern = \"\";\n // this.singleFieldComponent.FirstFieldMaxLen = 100;\n // this.singleFieldComponent.SecondFieldMaxLen = 100;\n // this.singleFieldComponent.FirstFiledPattern = \"\";\n // this.singleFieldComponent.FirstFiledPatternValidationMessage = \"\";\n\n // this.getAllCustomer(\"Customer\", \"GetAll\");\n\n // this.getAllProductModel(\"ProductModel\", \"GetAllModel\");\n \n break;\n\n case \"RoleManagement\":\n this.singleFieldComponent.Heading = \"Role Management\";\n this.singleFieldComponent.RoutingParam = \"RoleManagement\";\n this.singleFieldComponent.ButtonText = \"Add Role\";\n this.singleFieldComponent.ConfirmationText = \"Role Management\";\n this.singleFieldComponent.ControllerName = \"Account\";\n this.singleFieldComponent.ActionName = \"Add\";\n this.singleFieldComponent.SuccessText = \"Role Management\";\n this.singleFieldComponent.firstFiledLabel = \"Role Management\";\n this.singleFieldComponent.firstFieldValidationMsg = \"Role Management\";\n this.singleFieldComponent.isDoubleField = false;\n this.singleFieldComponent.isDropdownrequird = false;\n this.singleFieldComponent.FirstFieldMaxLen = 150;\n this.singleFieldComponent.Pattern = \"\";\n this.singleFieldComponent.FirstFiledPattern = \"\";\n this.singleFieldComponent.FirstFiledPatternValidationMessage = \"\";\n break;\n\n\n }\n const appConfig = this.appConfigService.getConfig();\n this.titleService.setTitle(this.singleFieldComponent.ButtonText + \" - \" + appConfig.titleName);\n //this.titleService.setTitle(this.singleFieldComponent.ButtonText + \" - ECOTECH\");\n this.showLoader = false;\n }\n\n\n /*******************************************************************************\n * Get data\n * ******************************************************************************/\n GetData(ControllerName: string, ActionName: string) {\n this.showLoader = true;\n\n this.CommonService.GetData(ControllerName, ActionName, null).subscribe((data: any) => {\n if (ControllerName === 'IndustrySegment') { this.IndustrySegment = data; }\n else if (ControllerName === 'SubSegment') { this.SubSegment = data; }\n else { this.TermsAndConditions = data; }\n\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n\n\n getAllCustomer(ControllerName: string, ActionName: string) {\n this.showLoader = true;\n this.CommonService.GetData(ControllerName, ActionName, null).subscribe((data: any) => {\n this.Customer = data;\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n\n getAllProductModel(ControllerName: string, ActionName: string) {\n this.showLoader = true;\n this.CommonService.GetData(ControllerName, ActionName, null).subscribe((data: any) => {\n this.ProductModel = data;\n this.tempProductModel = data;\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n\n getAllRoles() {\n this.showLoader = true;\n this.CommonService.GetData(\"Account\", \"GetAllEmployeeRoles\", null).subscribe((data: any) => {\n this.Roles = data;\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n\n\n\n // **************************** For Validation of Discount ******************************\n\n OnDiscountChange(index) {\n\n if(this.singleFieldObj.customerSpecialDiscountInfo[index].ProductDiscount==undefined || this.singleFieldObj.customerSpecialDiscountInfo[index].Fk_ProductModel==null)\n {\n this.singleFieldObj.customerSpecialDiscountInfo[index].ProductDiscount=0;\n }\n\n if (this.singleFieldObj.customerSpecialDiscountInfo[index].ProductDiscount < 0) {\n this.toastr.info(' Discount cannot be negative.');\n this.singleFieldObj.customerSpecialDiscountInfo[index].ProductDiscount = 0;\n return;\n }\n else if (this.singleFieldObj.customerSpecialDiscountInfo[index].ProductDiscount > 100) {\n this.toastr.info('Discount cannot be greater than 100.');\n this.singleFieldObj.customerSpecialDiscountInfo[index].ProductDiscount = 0;\n return;\n }\n }\n\n //**********************Discount change for to and from******************************** */\n\n /*OnDiscountChangeToFrom(index)\n {\n if (this.singleFieldObj[index].DiscountFrom < 0 || this.singleFieldObj[index].DiscountTo<0) {\n alert(' Discount cannot be negative.');\n this.singleFieldObj[index].DiscountFrom = null;\n return;\n }\n else if (this.singleFieldObj[index].DiscountFrom > 100|| this.singleFieldObj[index].DiscountTo > 100) {\n alert('Discount cannot be greater than 100.');\n this.singleFieldObj[index].DiscountTo = null;\n return; \n }\n else if(this.singleFieldObj[index].DiscountFrom>this.singleFieldObj[index].DiscountTo)\n {\n alert('Discount To must be less than Discount From');\n this.singleFieldObj[index].DiscountTo=null;\n }\n \n \n }\n */\n onIndustrySegmentSelect(e: any) {\n this.GetSubSegment(e.target.value);\n }\n\n //Get sub segment by industry segment id\n GetSubSegment(SegmentId: number) {\n this.showLoader = true;\n\n let queryString = \"\";\n queryString = \"SegmentId=\" + SegmentId;\n this.CommonService.GetData(\"SubSegment\", \"GetByIndustrySegmentId\", queryString).subscribe((data: any) => {\n this.SubSegment = data;\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n\n /*******************************************************************************\n * End Get data\n * ******************************************************************************/\n\n /*******************************************************************************\n * Form validation method\n * ******************************************************************************/\n\n isNumberKey(evt: any) {\n this.charCode = (evt.which) ? evt.which : evt.keyCode;\n if\n (this.charCode != 46 && this.charCode > 31\n && (this.charCode < 48 || this.charCode > 57)) {\n return false;\n\n }\n else {\n return true;\n }\n }\n\n /*******************************************************************************\n * End Form validation method \n * ******************************************************************************/\n\n onSubmit(myform: any) {\n\n this.productModelrequired=false;\n if (this.singleFieldComponent.ismultiplerecords) {\n if (this.singleFieldObj.customerSpecialDiscountInfo.length == 0) {\n this.singleFieldObj.customerSpecialDiscountInfo[0].ProductModelRequired = true;\n this.showLoader = false;\n return;\n }\n else {\n this.singleFieldObj.customerSpecialDiscountInfo.forEach(element => {\n if (element.Fk_ProductModel == null || element.Fk_ProductModel == undefined || element.Fk_ProductModel == 0 ) {\n element.ProductModelRequired = true;\n }\n else {\n element.ProductModelRequired = false;\n } \n });\n }\n }\n this.singleFieldObj.customerSpecialDiscountInfo.forEach(element => {\n if (element.ProductModelRequired) {\n this.productModelrequired=true;\n this.showLoader = false;\n return;\n }\n });\n\n if (this.productModelrequired == false) {\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"You want to add this \" + this.singleFieldComponent.ConfirmationText + \"?\"\n }\n });\n\n dialogRef.afterClosed().subscribe(dialogResult => {\n\n if (dialogResult) {\n this.showLoader = true;\n\n if (this.singleFieldComponent.ismultiplerecords) { \n this.CommonService.PostData(this.singleFieldComponent.ControllerName, 'Add', this.singleFieldObj.customerSpecialDiscountInfo, null, this.singleFieldObj.Fk_Customer).subscribe((data: any) => {\n let result = data;\n\n this.showLoader = false;\n if (result.ResponseCode == 1) {\n this.toastr.success(this.singleFieldComponent.SuccessText + ' added successfully!');\n this.router.navigate(['/ConfigureMasters', this.singleFieldComponent.RoutingParam]);\n }\n else if (data.ResponseCode == 0) {\n // myform.controls['fieldtitle'].setErrors({ AlreadyPresent: true });\n this.toastr.warning(this.singleFieldComponent.SuccessText + ' already exists!');\n this.showLoader = false;\n }\n else {\n this.toastr.error('Failed to add ' + this.singleFieldComponent.ConfirmationText + '!');\n this.router.navigate(['/ConfigureMasters', this.singleFieldComponent.RoutingParam]);\n }\n }, error => {\n this.toastr.error('Failed to add ' + this.singleFieldComponent.ConfirmationText + '!');\n this.showLoader = false;\n this.router.navigate(['/ConfigureMasters', this.singleFieldComponent.RoutingParam]);\n });\n }\n else\n this.CommonService.PostData(this.singleFieldComponent.ControllerName, 'Add', this.singleFieldObj, null).subscribe((data: any) => {\n let result = data;\n\n this.showLoader = false;\n if (result.ResponseCode == 1) {\n this.toastr.success(this.singleFieldComponent.SuccessText + ' added successfully!');\n this.router.navigate(['/ConfigureMasters', this.singleFieldComponent.RoutingParam]);\n }\n else if (data.ResponseCode == 0) {\n // myform.controls['fieldtitle'].setErrors({ AlreadyPresent: true });\n this.toastr.warning(this.singleFieldComponent.SuccessText + ' already exists!');\n this.showLoader = false;\n }\n else if (data.ResponseCode == 2) {\n // myform.controls['fieldtitle'].setErrors({ AlreadyPresent: true });\n this.toastr.warning(this.singleFieldComponent.SuccessText2 + ' already exists!');\n this.showLoader = false;\n }\n\n else {\n this.toastr.error('Failed to add ' + this.singleFieldComponent.ConfirmationText + '!');\n this.router.navigate(['/ConfigureMasters', this.singleFieldComponent.RoutingParam]);\n }\n }, error => {\n this.toastr.error('Failed to add ' + this.singleFieldComponent.ConfirmationText + '!');\n this.showLoader = false;\n this.router.navigate(['/ConfigureMasters', this.singleFieldComponent.RoutingParam]);\n });\n }\n });\n }\n\n }\n\n deleterow(index: any) {\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Do you want to delete this row?\"\n }\n });\n dialogRef.afterClosed().subscribe(dialogResult => {\n if (dialogResult) {\n if (index != null) {\n this.singleFieldObj.customerSpecialDiscountInfo.splice(index, 1);\n } else {\n this.singleFieldObj.customerSpecialDiscountInfo.pop();\n }\n }\n });\n }\n\n testing: any[] = [];\n\n showItems: Array<{ id: number, value: any[] }>;\n OnSelectProductModel(selectedValue, index) {\n var selectedItem = this.tempProductModel.filter(x => x.Id != selectedValue);\n this.testing.push(selectedItem);\n this.showItems[index].value = this.tempProductModel.filter(x => x.Id == selectedValue);\n\n }\n\n AddNewRow(index) {\n if (this.singleFieldObj.Fk_ProductModel != undefined\n && this.singleFieldObj.ProductDiscount != undefined) {\n\n this.singleFieldObj.IsRowDeleted = true;\n var obj = new SingleFieldModel();\n obj.Fk_ProductModel = this.singleFieldObj.Fk_ProductModel;\n obj.ProductDiscount = this.singleFieldObj.ProductDiscount\n\n this.singleFieldObj.ProductDiscount = 0;\n this.singleFieldObj.Fk_ProductModel = 0;\n this.singleFieldObj.customerSpecialDiscountInfo.push(obj);\n }\n else{\n if(this.singleFieldObj.customerSpecialDiscountInfo[index].Fk_ProductModel!=0 || this.singleFieldObj.customerSpecialDiscountInfo[index].Fk_ProductModel!=undefined || this.singleFieldObj.customerSpecialDiscountInfo[index].Fk_ProductModel!=null)\n {\n this.singleFieldObj.customerSpecialDiscountInfo[index].ProductModelRequired=false;\n }\n \n }\n }\n\n OnProductModelChange(index)\n {\n if(this.singleFieldObj.customerSpecialDiscountInfo[index].Fk_ProductModel!=0 || this.singleFieldObj.customerSpecialDiscountInfo[index].Fk_ProductModel!=undefined || this.singleFieldObj.customerSpecialDiscountInfo[index].Fk_ProductModel!=null)\n {\n this.singleFieldObj.customerSpecialDiscountInfo[index].ProductModelRequired=false;\n }\n else{\n this.singleFieldObj.customerSpecialDiscountInfo[index].ProductModelRequired=true;\n }\n\n }\n\n fieldChange(value)\n {\n console.log('checkbox value --->',value);\n if(value == true)\n { \n this.singleFieldObj.IsCompetitorRequired = true;\n }\n else\n {\n this.singleFieldObj.IsCompetitorRequired = false;\n }\n \n }\n\n getAllCategoryRegion() {\n this.showLoader = true;\n this.CommonService.GetData(\"ReasonEnquiryWinLoss\", \"GetAllReasonCategory\", null).subscribe((data: any) => {\n this.CategoryRegion = data;\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n\n isintNumberKey(evt: any) {\n this.charCode = (evt.which) ? evt.which : evt.keyCode;\n if ((this.charCode == 46 || this.charCode == 45 || this.charCode == 43) && this.charCode > 31\n && (this.charCode < 48 || this.charCode > 57)) {\n return false;\n }\n else {\n return true;\n }\n }\n\n\n AvoidSpace(event: any) {\n if (event.which === 32 && !event.target.value.length) {\n event.preventDefault();\n }\n }\n}\n","\n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n Add {{singleFieldComponent.Heading}}\n

    \n
    \n
    \n\n
    \n
    \n * Marked fields are\n mandatory\n
    \n\n \n
    \n
    \n\n
    \n\n
    \n
    \n\n","import { Component, OnInit, Input, EventEmitter, Output } from '@angular/core';\nimport { ConfirmDialogComponent } from 'src/app/confirm-dialog/confirm-dialog.component';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { ToastrService } from 'ngx-toastr';\nimport { CommonService } from 'src/app/Service/common.service';\nimport { MatDialog } from '@angular/material/dialog';\nimport { SingleFieldModel, SingleFieldComponent } from 'src/app/Model/SingleFieldModel';\nimport { Sort } from '@angular/material/sort';\nimport { UpdateStatus } from 'src/app/Model/CommonModel';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { ViewChild } from '@angular/core';\nimport { AppGlobals } from 'src/app/app.global';\nimport { Title } from '@angular/platform-browser';\nimport { number } from '@amcharts/amcharts4/core';\nimport { AccessPermissionModel } from 'src/app/Model/WorkFlowScreenAccessModel';\nimport { AccessPermissionService } from 'src/app/Service/access-permission.service';\nimport { AppConfigService } from 'src/app/Service/app-config.service';\n\n\n@Component({\n selector: 'app-configuration-details',\n templateUrl: './configuration-details.component.html',\n styleUrls: ['./configuration-details.component.scss']\n})\nexport class ConfigurationDetailsComponent implements OnInit {\n\n displayedColumns: string[] = ['Name', 'Value', 'Action'];\n dataSource: MatTableDataSource;\n disabled: boolean = false;\n singleFieldComponent: SingleFieldComponent = new SingleFieldComponent();\n UserRole: any;\n isConfigureEditable: boolean = false;\n RouteName : string ='';\n someCondition : boolean = false;\n isReasonCategoryVisible : boolean = false;\n viewedit:boolean=true;\n accesspermissionobj:AccessPermissionModel[]=Array();\n AccesspermissionForRole:any[]=[];\n appConfig : any;\n /*************************************************************************\n Server side Pagination purpose\n *************************************************************************/\n pageNumber: number = 1;\n @Input() pageSize: number = 5;\n @Input() length: number;\n @Input() pageIndex: number = this.pageNumber - 1;\n direction: string = 'desc';\n ColumnName: string = 'ModifiedOn';\n SearchText: string = \"\";\n @Output('matSortChange') sortChange: EventEmitter;\n @ViewChild(MatPaginator) paginator: MatPaginator;\n /*************************************************************************\n End here\n *************************************************************************/\n\n @Input()\n showLoader: boolean = false;\n data: any[] = [];\n UpdateStatus: UpdateStatus = new UpdateStatus();\n configurationArray: string[] = [\"Country\", \"Customer Category\", \"Customer Classification\", \"Enquiry Source\",\n \"Industry Segment\", \"Sub Segment\", \"MDS Option\", \"Region\", \"Sales Price Discount\", \"Type of Customer\", \"Estimated Product Value\",\n \"Customer Group\", \"Technical Discard\", \"Application\",\n \"EnquiryCloseReason\",\"LeadCloseReason\",\"CustomerSpecialDiscount\",\"AddLoginImage\"];\n constructor(private toastr: ToastrService, private CommonService: CommonService, public dialog: MatDialog,\n private route: ActivatedRoute, private router: Router, private titleService: Title,private accessservice: AccessPermissionService,\n private appConfigService: AppConfigService) {\n this.router.routeReuseStrategy.shouldReuseRoute = () => false;\n }\n\n ngOnInit() {\n this.appConfig = this.appConfigService.getConfig();\n this.UserRole = localStorage.getItem(\"UserRole\");\n this.getAccess();\n // this.isConfigureEditable = AppGlobals.ConfigureMastersEditableAccessArray.filter(x => x.role == this.UserRole)[0]?.isEditable;\n this.singleFieldComponent.RoutingParam = this.route.snapshot.params[\"heading\"];\n\n this.OnSelect(this.singleFieldComponent.RoutingParam)\n \n if (this.singleFieldComponent.RoutingParam == \"\" || this.singleFieldComponent.RoutingParam == undefined) {\n this.singleFieldComponent.Heading = \"Country\";\n this.singleFieldComponent.RoutingParam = \"Country\";\n this.singleFieldComponent.ButtonText = \"Add Country\";\n this.singleFieldComponent.ConfirmationText = \"country\";\n this.singleFieldComponent.ControllerName = \"Country\";\n this.singleFieldComponent.ActionName = \"GetAllPagination\";\n this.singleFieldComponent.SuccessText = \"Country\";\n this.singleFieldComponent.firstFiledLabel = \"Country\";\n this.singleFieldComponent.secondFiledLabel = \"Country Code\";\n this.singleFieldComponent.TableHeader1 = \"Country\";\n this.singleFieldComponent.TableHeader2 = \"Country Code\";\n this.singleFieldComponent.isDoubleField = true;\n \n this.GetAll();\n\n }\n else {\n switch (this.singleFieldComponent.RoutingParam) {\n case \"MDSOption\":\n this.singleFieldComponent.Heading = \"MDS Option\";\n this.singleFieldComponent.RoutingParam = \"MDSOption\";\n this.singleFieldComponent.ButtonText = \"Add MDS Option\";\n this.singleFieldComponent.ConfirmationText = \"MDS option\";\n this.singleFieldComponent.ControllerName = \"MDSOptions\";\n this.singleFieldComponent.ActionName = \"GetAllPagination\";\n this.singleFieldComponent.SuccessText = \"MDS option\";\n this.singleFieldComponent.firstFiledLabel = \"MDS Option\";\n this.singleFieldComponent.TableHeader1 = \"MDS Option\";\n this.singleFieldComponent.isDoubleField = false;\n this.GetAll();\n break;\n case \"SalesPrice\":\n this.singleFieldComponent.Heading = \" Sales Price Discount\";\n this.singleFieldComponent.RoutingParam = \"SalesPrice\";\n this.singleFieldComponent.ButtonText = \"Add Sales Price Discount\";\n this.singleFieldComponent.ConfirmationText = \"Sales Price Discount\";\n this.singleFieldComponent.ControllerName = \"SalesPrice\";\n this.singleFieldComponent.ActionName = \"GetAllPagination\";\n this.singleFieldComponent.SuccessText = \"Sales Price Discount\";\n this.singleFieldComponent.firstFiledLabel = \"Sales Price \";\n this.singleFieldComponent.TableHeader1 = \"Sales Price\"; \n this.singleFieldComponent.TableHeader2 = \"Discount % (From - To)\";\n this.singleFieldComponent.isDoubleField = true;\n this.singleFieldComponent.isExtraFields=true;\n this.GetAll();\n break;\n case \"Country\":\n this.singleFieldComponent.Heading = \"Country\";\n this.singleFieldComponent.RoutingParam = \"Country\";\n this.singleFieldComponent.ButtonText = \"Add Country\";\n this.singleFieldComponent.ConfirmationText = \"country\";\n this.singleFieldComponent.ControllerName = \"Country\";\n this.singleFieldComponent.ActionName = \"GetAllPagination\";\n this.singleFieldComponent.SuccessText = \"Country\";\n this.singleFieldComponent.firstFiledLabel = \"Country\";\n this.singleFieldComponent.secondFiledLabel = \"Country Code\";\n this.singleFieldComponent.TableHeader1 = \"Country\";\n this.singleFieldComponent.TableHeader2 = \"Country Code\";\n this.singleFieldComponent.isDoubleField = true;\n this.GetAll();\n break;\n\n case \"CustomerCategory\":\n this.singleFieldComponent.Heading = \"Customer Category\";\n this.singleFieldComponent.RoutingParam = \"CustomerCategory\";\n this.singleFieldComponent.ButtonText = \"Add Customer Category\";\n this.singleFieldComponent.ConfirmationText = \"customer category\";\n this.singleFieldComponent.ControllerName = \"CustomerCategory\";\n this.singleFieldComponent.ActionName = \"GetAllPagination\";\n this.singleFieldComponent.SuccessText = \"Customer category\";\n this.singleFieldComponent.firstFiledLabel = \"Customer Category\";\n this.singleFieldComponent.TableHeader1 = \"Customer Category\";\n this.singleFieldComponent.isDoubleField = false;\n this.GetAll();\n break;\n case \"CustomerClassification\":\n this.singleFieldComponent.Heading = \"Customer Classification\";\n this.singleFieldComponent.RoutingParam = \"CustomerClassification\";\n this.singleFieldComponent.ButtonText = \"Add Customer Classification\";\n this.singleFieldComponent.ConfirmationText = \"customer classification\";\n this.singleFieldComponent.ControllerName = \"CustomerClassification\";\n this.singleFieldComponent.ActionName = \"GetAllPagination\";\n this.singleFieldComponent.SuccessText = \"Customer classification\";\n this.singleFieldComponent.firstFiledLabel = \"Customer Classification\";\n this.singleFieldComponent.TableHeader1 = \"Customer Classification\";\n this.singleFieldComponent.isDoubleField = false;\n this.GetAll();\n break;\n case \"EnquirySource\":\n this.singleFieldComponent.Heading = \"Enquiry Source\";\n this.singleFieldComponent.RoutingParam = \"EnquirySource\";\n this.singleFieldComponent.ButtonText = \"Add Enquiry Source\";\n this.singleFieldComponent.ConfirmationText = \"enquiry source\";\n this.singleFieldComponent.ControllerName = \"EnquirySource\";\n this.singleFieldComponent.ActionName = \"GetAllPagination\";\n this.singleFieldComponent.SuccessText = \"Enquiry source\";\n this.singleFieldComponent.firstFiledLabel = \"Enquiry Source\";\n this.singleFieldComponent.TableHeader1 = \"Enquiry Source\";\n this.singleFieldComponent.isDoubleField = false;\n this.GetAll();\n break;\n case \"IndustrySegment\":\n this.singleFieldComponent.Heading = \"Industry Segment\";\n this.singleFieldComponent.RoutingParam = \"IndustrySegment\";\n this.singleFieldComponent.ButtonText = \"Add Industry Segment\";\n this.singleFieldComponent.ConfirmationText = \"industry segment\";\n this.singleFieldComponent.ControllerName = \"IndustrySegment\";\n this.singleFieldComponent.ActionName = \"GetAllPagination\";\n this.singleFieldComponent.SuccessText = \"Industry segment\";\n this.singleFieldComponent.firstFiledLabel = \"Industry Segment\";\n this.singleFieldComponent.TableHeader1 = \"Industry Segment\";\n this.singleFieldComponent.isDoubleField = false;\n this.GetAll();\n break;\n case \"SubSegment\":\n this.singleFieldComponent.Heading = \"Sub Segment\";\n this.singleFieldComponent.RoutingParam = \"SubSegment\";\n this.singleFieldComponent.ButtonText = \"Add Sub Segment\";\n this.singleFieldComponent.ConfirmationText = \"sub segment\";\n this.singleFieldComponent.ControllerName = \"SubSegment\";\n this.singleFieldComponent.ActionName = \"GetAllPagination\";\n this.singleFieldComponent.SuccessText = \"Sub segment\";\n this.singleFieldComponent.firstFiledLabel = \"Industry Segment\";\n this.singleFieldComponent.secondFiledLabel = \"Sub Segment\";\n this.singleFieldComponent.TableHeader1 = \"Industry Segment\";\n this.singleFieldComponent.TableHeader2 = \"Sub Segment\";\n this.singleFieldComponent.isDoubleField = true;\n this.GetAll();\n break;\n case \"Region\":\n this.singleFieldComponent.Heading = \"Region\";\n this.singleFieldComponent.RoutingParam = \"Region\";\n this.singleFieldComponent.ButtonText = \"Add Region\";\n this.singleFieldComponent.ConfirmationText = \"region\";\n this.singleFieldComponent.ControllerName = \"Region\";\n this.singleFieldComponent.ActionName = \"GetAllPagination\";\n this.singleFieldComponent.SuccessText = \"Region\";\n this.singleFieldComponent.firstFiledLabel = \"Region\";\n this.singleFieldComponent.secondFiledLabel = \"Region Code\";\n this.singleFieldComponent.TableHeader1 = \"Region\";\n this.singleFieldComponent.TableHeader2 = \"Region Code\";\n this.singleFieldComponent.isDoubleField = true;\n this.GetAll();\n break;\n case \"TypeofCustomer\":\n this.singleFieldComponent.Heading = \"Type of Customer\";\n this.singleFieldComponent.RoutingParam = \"TypeofCustomer\";\n this.singleFieldComponent.ButtonText = \"Add Type of Customer\";\n this.singleFieldComponent.ConfirmationText = \"type of customer\";\n this.singleFieldComponent.ControllerName = \"CustomerType\";\n this.singleFieldComponent.ActionName = \"GetAllPagination\";\n this.singleFieldComponent.SuccessText = \"Type of customer\";\n this.singleFieldComponent.firstFiledLabel = \"Type of Customer\";\n this.singleFieldComponent.TableHeader1 = \"Type of Customer\";\n this.singleFieldComponent.isDoubleField = false;\n this.GetAll();\n break;\n case \"EstimatedProductValue\":\n this.singleFieldComponent.Heading = \"Estimated Product Value\";\n this.singleFieldComponent.RoutingParam = \"EstimatedProductValue\";\n this.singleFieldComponent.ButtonText = \"Add Estimated Product Value\";\n this.singleFieldComponent.ConfirmationText = \"estimated product value\";\n this.singleFieldComponent.ControllerName = \"EstimatedProductValue\";\n this.singleFieldComponent.ActionName = \"GetAllPagination\";\n this.singleFieldComponent.SuccessText = \"Estimated product value\";\n this.singleFieldComponent.firstFiledLabel = \"Estimated Product Value\";\n this.singleFieldComponent.TableHeader1 = \"Estimated Product Value\";\n this.singleFieldComponent.isDoubleField = true;\n this.singleFieldComponent.TableHeader2 = \"Role\";\n this.GetAll();\n break;\n case \"Currency\":\n this.singleFieldComponent.Heading = \"Currency\";\n this.singleFieldComponent.RoutingParam = \"Currency\";\n this.singleFieldComponent.ButtonText = \"Add Currency\";\n this.singleFieldComponent.ConfirmationText = \"currency\";\n this.singleFieldComponent.ControllerName = \"Currency\";\n this.singleFieldComponent.ActionName = \"GetAllPagination\";\n this.singleFieldComponent.SuccessText = \"Currency\";\n this.singleFieldComponent.firstFiledLabel = \"Currency\";\n this.singleFieldComponent.secondFiledLabel = \"Exchange Rate (€)\";\n this.singleFieldComponent.TableHeader1 = \"Currency\";\n this.singleFieldComponent.TableHeader2 = \"Exchange Rate (€)\";\n this.singleFieldComponent.isDoubleField = true;\n this.GetAll();\n break;\n case \"TermsConditions\":\n this.singleFieldComponent.Heading = \"Terms & Conditions\";\n this.singleFieldComponent.RoutingParam = \"TermsConditions\";\n this.singleFieldComponent.ButtonText = \"Add Terms & Conditions\";\n this.singleFieldComponent.ConfirmationText = \"terms & conditions\";\n this.singleFieldComponent.ControllerName = \"TermsAndConditions\";\n this.singleFieldComponent.ActionName = \"GetAllPagination\";\n this.singleFieldComponent.SuccessText = \"Terms & conditions\";\n this.singleFieldComponent.firstFiledLabel = \"Terms & Condition\";\n this.singleFieldComponent.secondFiledLabel = \"Standard Value\";\n this.singleFieldComponent.TableHeader1 = \"Terms & Conditions\";\n this.singleFieldComponent.TableHeader2 = \"Standard Values\";\n this.singleFieldComponent.isDoubleField = true;\n this.GetAll();\n break;\n case \"StandardReasonforWinningLosing\":\n this.singleFieldComponent.Heading = \"Standard Reason\";\n this.singleFieldComponent.RoutingParam = \"StandardReasonforWinningLosing\";\n this.singleFieldComponent.ButtonText = \"Add Standard Reason\";\n this.singleFieldComponent.ConfirmationText = \"standard reason for winning/losing\";\n this.singleFieldComponent.ControllerName = \"ReasonEnquiryWinLoss\";\n this.singleFieldComponent.ActionName = \"GetAllPagination\";\n this.singleFieldComponent.SuccessText = \"Standard reason for winning/losing\";\n this.singleFieldComponent.firstFiledLabel = \"Enquiry Status\";\n this.singleFieldComponent.secondFiledLabel = \"Reason for Winning/Losing\";\n this.singleFieldComponent.thirdFieldLabel = \"Reason Category\";\n this.singleFieldComponent.TableHeader1 = \"Enquiry Status\";\n this.singleFieldComponent.TableHeader2 = \"Reason for Winning/Losing\";\n this.singleFieldComponent.TableHeader3 = \"Reason Category\";\n this.singleFieldComponent.isDoubleField = true;\n this.singleFieldComponent.isTripleField = true; \n this.GetAll();\n break;\n case \"EnquiryCompetitor\":\n this.singleFieldComponent.Heading = \"Enquiry Competitor\";\n this.singleFieldComponent.RoutingParam = \"EnquiryCompetitor\";\n this.singleFieldComponent.ButtonText = \"Add Enquiry Competitor\";\n this.singleFieldComponent.ConfirmationText = \"Enquiry Competitor\";\n this.singleFieldComponent.ControllerName = \"EnquiryCompetitor\";\n this.singleFieldComponent.ActionName = \"GetAllPagination\";\n this.singleFieldComponent.SuccessText = \"Enquiry Competitor\";\n this.singleFieldComponent.firstFiledLabel = \"Enquiry Competitor\";\n this.singleFieldComponent.TableHeader1 = \"Enquiry Competitor\";\n this.singleFieldComponent.isDoubleField = false;\n this.GetAll();\n break;\n\n case \"CustomerGroup\":\n this.singleFieldComponent.Heading = \"Customer Group\";\n this.singleFieldComponent.RoutingParam = \"CustomerGroup\";\n this.singleFieldComponent.ButtonText = \"Add Customer Group\";\n this.singleFieldComponent.ConfirmationText = \"customer group\";\n this.singleFieldComponent.ControllerName = \"CustomerGroup\";\n this.singleFieldComponent.ActionName = \"GetAllPagination\";\n this.singleFieldComponent.SuccessText = \"Customer group\";\n this.singleFieldComponent.firstFiledLabel = \"Customer Group\";\n this.singleFieldComponent.secondFiledLabel = \"Customer Group Code\";\n this.singleFieldComponent.TableHeader1 = \"Customer Group \";\n this.singleFieldComponent.TableHeader2 = \"Customer Group Code\";\n this.singleFieldComponent.isDoubleField = true;\n this.GetAll();\n break;\n \n case \"TechnicalDiscardReason\":\n this.singleFieldComponent.Heading = \"Technical Discard Reason\";\n this.singleFieldComponent.RoutingParam = \"TechnicalDiscardReason\";\n this.singleFieldComponent.ButtonText = \"Add Technical Discard Reason\";\n this.singleFieldComponent.ConfirmationText = \"Technical discard reason\";\n this.singleFieldComponent.ControllerName = \"TechnicalDiscard\";\n this.singleFieldComponent.ActionName = \"GetAllPagination\";\n this.singleFieldComponent.SuccessText = \"Technical discard reason\";\n this.singleFieldComponent.firstFiledLabel = \"Technical Discard Reason\";\n this.singleFieldComponent.TableHeader1 = \"Technical Discard Reason\";\n this.singleFieldComponent.isDoubleField = false;\n this.GetAll();\n break;\n \n case \"TermsConditions-NonStandard\":\n this.singleFieldComponent.Heading = \"Terms & Conditions-Non Standard\";\n this.singleFieldComponent.RoutingParam = \"TermsConditions-NonStandard\";\n this.singleFieldComponent.ButtonText = \"Add Non Standard Terms & Conditions\";\n this.singleFieldComponent.ConfirmationText = \"non standard terms & conditions\";\n this.singleFieldComponent.ControllerName = \"TermsAndConditionsCustomized\";\n this.singleFieldComponent.ActionName = \"GetAllPagination\";\n this.singleFieldComponent.SuccessText = \"Terms & conditions-Non Standard\";\n this.singleFieldComponent.firstFiledLabel = \"Terms & Condition-Non Standard\";\n this.singleFieldComponent.secondFiledLabel = \"Non Standard Value\";\n this.singleFieldComponent.TableHeader1 = \"Terms & Conditions-Non Standard\";\n this.singleFieldComponent.TableHeader2 = \"Non Standard Values\";\n this.singleFieldComponent.isDoubleField = true;\n this.GetAll();\n break;\n case \"Application\":\n this.singleFieldComponent.Heading = \"Application\";\n this.singleFieldComponent.RoutingParam = \"Application\";\n this.singleFieldComponent.ButtonText = \"Add Application\";\n this.singleFieldComponent.ConfirmationText = \"Application\";\n this.singleFieldComponent.ControllerName = \"Application\";\n this.singleFieldComponent.ActionName = \"GetAllPagination\";\n this.singleFieldComponent.SuccessText = \"Application\";\n this.singleFieldComponent.firstFiledLabel = \"Industry Segment\";\n this.singleFieldComponent.secondFiledLabel = \"Sub Segment\";\n this.singleFieldComponent.thirdFieldLabel = \"Application Name\";\n this.singleFieldComponent.TableHeader1 = \"Industry Segment\";\n this.singleFieldComponent.TableHeader2 = \"Sub Segment\";\n this.singleFieldComponent.TableHeader3 = \"Application\";\n this.singleFieldComponent.isDoubleField = true;\n this.singleFieldComponent.isTripleField = true;\n this.GetAll();\n break;\n case \"EnquiryCloseReason\":\n this.singleFieldComponent.Heading = \"Enquiry Close Reason\";\n this.singleFieldComponent.RoutingParam = \"EnquiryCloseReason\";\n this.singleFieldComponent.ButtonText = \"Add Enquiry Close Reason\";\n this.singleFieldComponent.ConfirmationText = \"Enquiry Close Reason\";\n this.singleFieldComponent.ControllerName = \"EnquiryCloseReason\";\n this.singleFieldComponent.ActionName = \"GetAllPagination\";\n this.singleFieldComponent.SuccessText = \"Enquiry Close Reason\";\n this.singleFieldComponent.firstFiledLabel = \"Enquiry Close Reason\";\n this.singleFieldComponent.TableHeader1 = \"Enquiry Close Reason\";\n this.singleFieldComponent.isDoubleField = false;\n this.GetAll();\n break;\n\n case \"LeadCloseReason\":\n this.singleFieldComponent.Heading = \"Lead Close Reason\";\n this.singleFieldComponent.RoutingParam = \"LeadCloseReason\";\n this.singleFieldComponent.ButtonText = \"Add Lead Close Reason\";\n this.singleFieldComponent.ConfirmationText = \"Lead close reason\";\n this.singleFieldComponent.ControllerName = \"OpportunityCloseReason\";\n this.singleFieldComponent.ActionName = \"GetAllPagination\";\n this.singleFieldComponent.SuccessText = \"Lead close reason\";\n this.singleFieldComponent.firstFiledLabel = \"Lead Close Reason\";\n this.singleFieldComponent.TableHeader1 = \"Lead Close Reason\";\n this.singleFieldComponent.isDoubleField = false;\n this.GetAll();\n break;\n \n // case \"CustomerSpecialDiscount\":\n // this.singleFieldComponent.Heading = \"Customer Special Discount\";\n // this.singleFieldComponent.RoutingParam = \"CustomerSpecialDiscount\";\n // this.singleFieldComponent.ButtonText = \"Add Customer Special Discount\";\n // this.singleFieldComponent.ConfirmationText = \"Customer Special Discount\";\n // this.singleFieldComponent.ControllerName = \"CustomerSpecialDiscount\";\n // this.singleFieldComponent.ActionName = \"GetAllPagination\";\n // this.singleFieldComponent.SuccessText = \"Customer Special Discount\";\n // this.singleFieldComponent.firstFiledLabel = \"Customer Special Discount\";\n // this.singleFieldComponent.TableHeader1 = \"Customer Name\";\n // this.singleFieldComponent.isCompanynamerequired = true;\n // this.singleFieldComponent.isDoubleField = false;\n // this.GetAll();\n // break;\n\n case \"CustomerSpecialDiscount\":\n this.singleFieldComponent.Heading = \"Customer Frame Agreement\";\n this.singleFieldComponent.RoutingParam = \"CustomerSpecialDiscount\";\n this.singleFieldComponent.ButtonText = \"Add Customer Frame Agreement\";\n this.singleFieldComponent.ConfirmationText = \"Customer Frame Agreement\";\n this.singleFieldComponent.ControllerName = \"CustomerSpecialDiscount\";\n this.singleFieldComponent.ActionName = \"GetAllPagination\";\n this.singleFieldComponent.SuccessText = \"Customer Frame Agreement\";\n this.singleFieldComponent.firstFiledLabel = \"Customer Frame Agreement\";\n this.singleFieldComponent.TableHeader1 = \"Customer Name\";\n this.singleFieldComponent.isCompanynamerequired = true;\n this.singleFieldComponent.secondFiledLabel = \"WorkFlow Status\";\n \n this.singleFieldComponent.TableHeader2 = \"WorkFlow Status\";\n this.singleFieldComponent.isDoubleField = true;\n this.GetAll();\n break;\n\n case \"RoleManagement\":\n this.singleFieldComponent.Heading = \"Role Management\";\n this.singleFieldComponent.RoutingParam = \"RoleManagement\";\n this.singleFieldComponent.ButtonText = \"Add Role\";\n this.singleFieldComponent.ConfirmationText = \"Role Management\";\n this.singleFieldComponent.ControllerName = \"Account\";\n this.singleFieldComponent.ActionName = \"GetAllPagination\";\n this.singleFieldComponent.SuccessText = \"Role Management\";\n this.singleFieldComponent.firstFiledLabel = \"Role Management\";\n this.singleFieldComponent.TableHeader1 = \"Role Management\";\n this.singleFieldComponent.isDoubleField = false;\n this.GetAll();\n break;\n case \"AddLoginImage\":\n this.singleFieldComponent.Heading=\"LoginPageImage\";\n this.singleFieldComponent.RoutingParam=\"AddLoginImage\";\n this.singleFieldComponent.ButtonText = \"Add LoginPageImage\";\n this.singleFieldComponent.ConfirmationText = \"LoginPageImage \";\n this.singleFieldComponent.ControllerName = \"LoginPageImage\";\n this.singleFieldComponent.ActionName = \"GetAllPagination\";\n this.singleFieldComponent.SuccessText = \"\";\n this.singleFieldComponent.firstFiledLabel = \"LoginPageImage\";\n this.singleFieldComponent.TableHeader1 = \"LoginPageImage\";\n this.singleFieldComponent.isDoubleField = false;\n this.GetAll();\n break;\n\n\n }\n this.showLoader = false;\n\n\n }\n this.titleService.setTitle(this.singleFieldComponent.Heading + \" - \" + this.appConfig.titleName);\n //this.titleService.setTitle(this.singleFieldComponent.Heading + \" - ECOTECH\");\n }\n\n\n\n /*************************************************************************\n * Below function used for Server side Pagination,Sorting and Searching\n * (1)GetAll() - To get data for grid\n * (2)SearchParam() - searching\n * (3)sortData() - Sorting\n * (4)pageEvent() - Pagination\n * \n * ***********************************************************************/\n MasterChange() {\n this.showLoader = true;\n this.singleFieldComponent.isCompanynamerequired = false;\n this.pageNumber = 1;\n this.pageSize = 5;\n this.paginator.pageIndex = 0;\n this.length = 0;\n this.SearchText = \"\";\n this.direction = 'desc';\n this.ColumnName = 'ModifiedOn';\n\n \n this.OnSelect(this.singleFieldComponent.RoutingParam);\n this.singleFieldComponent.isExtraFields=false;\n \n switch (this.singleFieldComponent.RoutingParam) {\n case \"MDSOption\":\n this.singleFieldComponent.Heading = \"MDS Option\";\n this.singleFieldComponent.RoutingParam = \"MDSOption\";\n this.singleFieldComponent.ButtonText = \"Add MDS Option\";\n this.singleFieldComponent.ConfirmationText = \"MDS option\";\n this.singleFieldComponent.ControllerName = \"MDSOptions\";\n this.singleFieldComponent.ActionName = \"GetAllPagination\";\n this.singleFieldComponent.SuccessText = \"MDS option\";\n this.singleFieldComponent.firstFiledLabel = \"MDS Option\";\n this.singleFieldComponent.TableHeader1 = \"MDS Option\";\n this.singleFieldComponent.isDoubleField = false;\n this.GetAll();\n break;\n case \"SalesPrice\":\n this.singleFieldComponent.Heading = \"Sales Price Discount\";\n this.singleFieldComponent.RoutingParam = \"SalesPrice\";\n this.singleFieldComponent.ButtonText = \"Add Sales Price Discount\";\n this.singleFieldComponent.ConfirmationText = \"sales price Discount\";\n this.singleFieldComponent.ControllerName = \"SalesPrice\";\n this.singleFieldComponent.ActionName = \"GetAllPagination\";\n this.singleFieldComponent.SuccessText = \"Sales price Discount\";\n this.singleFieldComponent.firstFiledLabel = \"Sales Price\";\n this.singleFieldComponent.TableHeader1 = \"Sales Price\";\n this.singleFieldComponent.secondFiledLabel = \"From\";\n this.singleFieldComponent.TableHeader2 = \"Discount % (From - To)\";\n \n this.singleFieldComponent.isDoubleField = true;\n this.singleFieldComponent.isExtraFields=true;\n this.GetAll();\n break;\n case \"Country\":\n this.singleFieldComponent.Heading = \"Country\";\n this.singleFieldComponent.RoutingParam = \"Country\";\n this.singleFieldComponent.ButtonText = \"Add Country\";\n this.singleFieldComponent.ConfirmationText = \"country\";\n this.singleFieldComponent.ControllerName = \"Country\";\n this.singleFieldComponent.ActionName = \"GetAllPagination\";\n this.singleFieldComponent.SuccessText = \"Country\";\n this.singleFieldComponent.firstFiledLabel = \"Country\";\n this.singleFieldComponent.secondFiledLabel = \"Country Code\";\n this.singleFieldComponent.TableHeader1 = \"Country\";\n this.singleFieldComponent.TableHeader2 = \"Country Code\";\n this.singleFieldComponent.isDoubleField = true;\n this.GetAll();\n break;\n\n case \"CustomerCategory\":\n this.singleFieldComponent.Heading = \"Customer Category\";\n this.singleFieldComponent.RoutingParam = \"CustomerCategory\";\n this.singleFieldComponent.ButtonText = \"Add Customer Category\";\n this.singleFieldComponent.ConfirmationText = \"customer category\";\n this.singleFieldComponent.ControllerName = \"CustomerCategory\";\n this.singleFieldComponent.ActionName = \"GetAllPagination\";\n this.singleFieldComponent.SuccessText = \"Customer category\";\n this.singleFieldComponent.firstFiledLabel = \"Customer Category\";\n this.singleFieldComponent.TableHeader1 = \"Customer Category\";\n this.singleFieldComponent.isDoubleField = false;\n this.GetAll();\n break;\n case \"CustomerClassification\":\n this.singleFieldComponent.Heading = \"Customer Classification\";\n this.singleFieldComponent.RoutingParam = \"CustomerClassification\";\n this.singleFieldComponent.ButtonText = \"Add Customer Classification\";\n this.singleFieldComponent.ConfirmationText = \"customer classification\";\n this.singleFieldComponent.ControllerName = \"CustomerClassification\";\n this.singleFieldComponent.ActionName = \"GetAllPagination\";\n this.singleFieldComponent.SuccessText = \"Customer classification\";\n this.singleFieldComponent.firstFiledLabel = \"Customer Classification\";\n this.singleFieldComponent.TableHeader1 = \"Customer Classification\";\n this.singleFieldComponent.isDoubleField = false;\n this.GetAll();\n break;\n case \"EnquirySource\":\n this.singleFieldComponent.Heading = \"Enquiry Source\";\n this.singleFieldComponent.RoutingParam = \"EnquirySource\";\n this.singleFieldComponent.ButtonText = \"Add Enquiry Source\";\n this.singleFieldComponent.ConfirmationText = \"enquiry source\";\n this.singleFieldComponent.ControllerName = \"EnquirySource\";\n this.singleFieldComponent.ActionName = \"GetAllPagination\";\n this.singleFieldComponent.SuccessText = \"Enquiry source\";\n this.singleFieldComponent.firstFiledLabel = \"Enquiry Source\";\n this.singleFieldComponent.TableHeader1 = \"Enquiry Source\";\n this.singleFieldComponent.isDoubleField = false;\n this.GetAll();\n break;\n case \"IndustrySegment\":\n this.singleFieldComponent.Heading = \"Industry Segment\";\n this.singleFieldComponent.RoutingParam = \"IndustrySegment\";\n this.singleFieldComponent.ButtonText = \"Add Industry Segment\";\n this.singleFieldComponent.ConfirmationText = \"industry segment\";\n this.singleFieldComponent.ControllerName = \"IndustrySegment\";\n this.singleFieldComponent.ActionName = \"GetAllPagination\";\n this.singleFieldComponent.SuccessText = \"Industry segment\";\n this.singleFieldComponent.firstFiledLabel = \"Industry Segment\";\n this.singleFieldComponent.TableHeader1 = \"Industry Segment\";\n this.singleFieldComponent.isDoubleField = false;\n this.GetAll();\n break;\n case \"SubSegment\":\n this.singleFieldComponent.Heading = \"Sub Segment\";\n this.singleFieldComponent.RoutingParam = \"SubSegment\";\n this.singleFieldComponent.ButtonText = \"Add Sub Segment\";\n this.singleFieldComponent.ConfirmationText = \"sub segment\";\n this.singleFieldComponent.ControllerName = \"SubSegment\";\n this.singleFieldComponent.ActionName = \"GetAllPagination\";\n this.singleFieldComponent.SuccessText = \"Sub segment\";\n this.singleFieldComponent.firstFiledLabel = \"Industry Segment\";\n this.singleFieldComponent.secondFiledLabel = \"Sub Segment\";\n this.singleFieldComponent.TableHeader1 = \"Industry Segment\";\n this.singleFieldComponent.TableHeader2 = \"Sub Segment\";\n this.singleFieldComponent.isDoubleField = true;\n this.GetAll();\n break;\n case \"Region\":\n this.singleFieldComponent.Heading = \"Region\";\n this.singleFieldComponent.RoutingParam = \"Region\";\n this.singleFieldComponent.ButtonText = \"Add Region\";\n this.singleFieldComponent.ConfirmationText = \"region\";\n this.singleFieldComponent.ControllerName = \"Region\";\n this.singleFieldComponent.ActionName = \"GetAllPagination\";\n this.singleFieldComponent.SuccessText = \"Region\";\n this.singleFieldComponent.firstFiledLabel = \"Region\";\n this.singleFieldComponent.secondFiledLabel = \"Region Code\";\n this.singleFieldComponent.TableHeader1 = \"Region\";\n this.singleFieldComponent.TableHeader2 = \"Region Code\";\n this.singleFieldComponent.isDoubleField = true;\n this.GetAll();\n break;\n case \"TypeofCustomer\":\n this.singleFieldComponent.Heading = \"Type of Customer\";\n this.singleFieldComponent.RoutingParam = \"TypeofCustomer\";\n this.singleFieldComponent.ButtonText = \"Add Type of Customer\";\n this.singleFieldComponent.ConfirmationText = \"type of customer\";\n this.singleFieldComponent.ControllerName = \"CustomerType\";\n this.singleFieldComponent.ActionName = \"GetAllPagination\";\n this.singleFieldComponent.SuccessText = \"Type of customer\";\n this.singleFieldComponent.firstFiledLabel = \"Type of Customer\";\n this.singleFieldComponent.TableHeader1 = \"Type of Customer\";\n this.singleFieldComponent.isDoubleField = false;\n this.GetAll();\n break;\n case \"EstimatedProductValue\":\n this.singleFieldComponent.Heading = \"Estimated Product Value\";\n this.singleFieldComponent.RoutingParam = \"EstimatedProductValue\";\n this.singleFieldComponent.ButtonText = \"Add Estimated Product Value\";\n this.singleFieldComponent.ConfirmationText = \"estimated product value\";\n this.singleFieldComponent.ControllerName = \"EstimatedProductValue\";\n this.singleFieldComponent.ActionName = \"GetAllPagination\";\n this.singleFieldComponent.SuccessText = \"Estimated product value\";\n this.singleFieldComponent.firstFiledLabel = \"Estimated Product Value\";\n this.singleFieldComponent.TableHeader1 = \"Estimated Product Value\";\n this.singleFieldComponent.isDoubleField = true;\n this.singleFieldComponent.TableHeader2 = \"Role\";\n this.GetAll();\n break;\n case \"Currency\":\n this.singleFieldComponent.Heading = \"Currency\";\n this.singleFieldComponent.RoutingParam = \"Currency\";\n this.singleFieldComponent.ButtonText = \"Add Currency\";\n this.singleFieldComponent.ConfirmationText = \"currency\";\n this.singleFieldComponent.ControllerName = \"Currency\";\n this.singleFieldComponent.ActionName = \"GetAllPagination\";\n this.singleFieldComponent.SuccessText = \"Currency\";\n this.singleFieldComponent.firstFiledLabel = \"Currency\";\n this.singleFieldComponent.secondFiledLabel = \"Exchange Rate (€)\";\n this.singleFieldComponent.TableHeader1 = \"Currency\";\n this.singleFieldComponent.TableHeader2 = \"Exchange Rate (€)\";\n this.singleFieldComponent.isDoubleField = true;\n this.GetAll();\n break;\n case \"TermsConditions\":\n this.singleFieldComponent.Heading = \"Terms & Conditions\";\n this.singleFieldComponent.RoutingParam = \"TermsConditions\";\n this.singleFieldComponent.ButtonText = \"Add Terms & Conditions\";\n this.singleFieldComponent.ConfirmationText = \"terms & conditions\";\n this.singleFieldComponent.ControllerName = \"TermsAndConditions\";\n this.singleFieldComponent.ActionName = \"GetAllPagination\";\n this.singleFieldComponent.SuccessText = \"Terms & conditions\";\n this.singleFieldComponent.firstFiledLabel = \"Terms & Condition\";\n this.singleFieldComponent.secondFiledLabel = \"Standard Value\";\n this.singleFieldComponent.TableHeader1 = \"Terms & Conditions\";\n this.singleFieldComponent.TableHeader2 = \"Standard Values\";\n this.singleFieldComponent.isDoubleField = true;\n this.GetAll();\n break;\n case \"StandardReasonforWinningLosing\":\n this.singleFieldComponent.Heading = \"Standard Reason\";\n this.singleFieldComponent.RoutingParam = \"StandardReasonforWinningLosing\";\n this.singleFieldComponent.ButtonText = \"Add Standard Reason\";\n this.singleFieldComponent.ConfirmationText = \"standard reason for winning/losing\";\n this.singleFieldComponent.ControllerName = \"ReasonEnquiryWinLoss\";\n this.singleFieldComponent.ActionName = \"GetAllPagination\";\n this.singleFieldComponent.SuccessText = \"Standard reason for winning/losing\";\n this.singleFieldComponent.firstFiledLabel = \"Enquiry Status\";\n this.singleFieldComponent.secondFiledLabel = \"Reason for Winning/Losing\";\n this.singleFieldComponent.thirdFieldLabel = \"Reason Category\";\n this.singleFieldComponent.TableHeader1 = \"Enquiry Status\";\n this.singleFieldComponent.TableHeader2 = \"Reason for Winning/Losing\";\n this.singleFieldComponent.TableHeader3 = \"Reason Category\";\n this.singleFieldComponent.isDoubleField = true;\n this.singleFieldComponent.isTripleField = true;\n this.GetAll();\n break;\n \n case \"EnquiryCloseReason\":\n this.singleFieldComponent.Heading = \"Enquiry Close Reason\";\n this.singleFieldComponent.RoutingParam = \"EnquiryCloseReason\";\n this.singleFieldComponent.ButtonText = \"Add Enquiry Close Reason\";\n this.singleFieldComponent.ConfirmationText = \"Enquiry Close Reason\";\n this.singleFieldComponent.ControllerName = \"EnquiryCloseReason\";\n this.singleFieldComponent.ActionName = \"GetAllPagination\";\n this.singleFieldComponent.SuccessText = \"Enquiry Close Reason\";\n this.singleFieldComponent.firstFiledLabel = \"Enquiry Close Reason\";\n this.singleFieldComponent.TableHeader1 = \"Enquiry Close Reason\";\n this.singleFieldComponent.isDoubleField = false;\n this.GetAll();\n break;\n\n case \"LeadCloseReason\":\n this.singleFieldComponent.Heading = \"Lead Close Reason\";\n this.singleFieldComponent.RoutingParam = \"LeadCloseReason\";\n this.singleFieldComponent.ButtonText = \"Add Lead Close Reason\";\n this.singleFieldComponent.ConfirmationText = \"Lead close reason\";\n this.singleFieldComponent.ControllerName = \"OpportunityCloseReason\";\n this.singleFieldComponent.ActionName = \"GetAllPagination\";\n this.singleFieldComponent.SuccessText = \"Lead close reason\";\n this.singleFieldComponent.firstFiledLabel = \"Lead Close Reason\";\n this.singleFieldComponent.TableHeader1 = \"Lead Close Reason\";\n this.singleFieldComponent.isDoubleField = false;\n this.GetAll();\n break;\n // case \"CustomerSpecialDiscount\":\n \n // this.singleFieldComponent.Heading = \"Customer Special Discount\";\n // this.singleFieldComponent.RoutingParam = \"CustomerSpecialDiscount\";\n // this.singleFieldComponent.ButtonText = \"Add Customer Special Discount\";\n // this.singleFieldComponent.ConfirmationText = \"Customer Special Discount\";\n // this.singleFieldComponent.ControllerName = \"CustomerSpecialDiscount\";\n // this.singleFieldComponent.ActionName = \"GetAllPagination\";\n // this.singleFieldComponent.SuccessText = \"Customer Special Discount\";\n // this.singleFieldComponent.firstFiledLabel = \"Customer Special Discount\";\n // this.singleFieldComponent.TableHeader1 = \"Customer Name\";\n // this.singleFieldComponent.isDoubleField = false;\n // // this.singleFieldComponent.isvariablediscountfield=true;\n // this.singleFieldComponent.isCompanynamerequired = true;\n // this.GetAll();\n \n // break;\n\n case \"CustomerSpecialDiscount\":\n \n this.singleFieldComponent.Heading = \"Customer Frame Agreement\";\n this.singleFieldComponent.RoutingParam = \"CustomerSpecialDiscount\";\n this.singleFieldComponent.ButtonText = \"Add Customer Frame Agreement\";\n this.singleFieldComponent.ConfirmationText = \"Customer Frame Agreement\";\n this.singleFieldComponent.ControllerName = \"CustomerSpecialDiscount\";\n this.singleFieldComponent.ActionName = \"GetAllPagination\";\n this.singleFieldComponent.SuccessText = \"Customer Frame Agreement\";\n this.singleFieldComponent.firstFiledLabel = \"Customer Frame Agreement\";\n this.singleFieldComponent.TableHeader1 = \"Customer Name\";\n this.singleFieldComponent.isDoubleField = true;\n this.singleFieldComponent.secondFiledLabel = \" WorkFlow Status\";\n this.singleFieldComponent.TableHeader2 = \" WorkFlow Status\";\n \n // this.singleFieldComponent.isvariablediscountfield=true;\n this.singleFieldComponent.isCompanynamerequired = true;\n this.GetAll();\n \n break;\n case \"EnquiryCompetitor\":\n this.singleFieldComponent.Heading = \"Enquiry Competitor\";\n this.singleFieldComponent.RoutingParam = \"EnquiryCompetitor\";\n this.singleFieldComponent.ButtonText = \"Add Enquiry Competitor\";\n this.singleFieldComponent.ConfirmationText = \"Enquiry Competitor\";\n this.singleFieldComponent.ControllerName = \"EnquiryCompetitor\";\n this.singleFieldComponent.ActionName = \"GetAllPagination\";\n this.singleFieldComponent.SuccessText = \"Enquiry Competitor\";\n this.singleFieldComponent.firstFiledLabel = \"Enquiry Competitor\";\n this.singleFieldComponent.TableHeader1 = \"Enquiry Competitor\";\n this.singleFieldComponent.isDoubleField = false;\n this.GetAll();\n break;\n case \"CustomerGroup\":\n this.singleFieldComponent.Heading = \"Customer Group\";\n this.singleFieldComponent.RoutingParam = \"CustomerGroup\";\n this.singleFieldComponent.ButtonText = \"Add Customer Group\";\n this.singleFieldComponent.ConfirmationText = \"customer group\";\n this.singleFieldComponent.ControllerName = \"CustomerGroup\";\n this.singleFieldComponent.ActionName = \"GetAllPagination\";\n this.singleFieldComponent.SuccessText = \"Customer group\";\n this.singleFieldComponent.firstFiledLabel = \"Customer Group\";\n this.singleFieldComponent.secondFiledLabel = \"Customer Group Code\";\n this.singleFieldComponent.TableHeader1 = \"Customer Group\";\n this.singleFieldComponent.TableHeader2 = \"Customer Group Code\";\n this.singleFieldComponent.isDoubleField = true;\n this.GetAll();\n break;\n \n case \"TechnicalDiscardReason\":\n this.singleFieldComponent.Heading = \"Technical Discard Reason\";\n this.singleFieldComponent.RoutingParam = \"TechnicalDiscardReason\";\n this.singleFieldComponent.ButtonText = \"Add Technical Discard Reason\";\n this.singleFieldComponent.ConfirmationText = \"Technical discard reason\";\n this.singleFieldComponent.ControllerName = \"TechnicalDiscard\";\n this.singleFieldComponent.ActionName = \"GetAllPagination\";\n this.singleFieldComponent.SuccessText = \"Technical discard reason\";\n this.singleFieldComponent.firstFiledLabel = \"Technical Discard Reason\";\n this.singleFieldComponent.TableHeader1 = \"Technical Discard Reason\";\n this.singleFieldComponent.isDoubleField = false;\n this.GetAll();\n break;\n \n case \"TermsConditions-NonStandard\":\n this.singleFieldComponent.Heading = \"Terms & Conditions-Non Standard\";\n this.singleFieldComponent.RoutingParam = \"TermsConditions-NonStandard\";\n this.singleFieldComponent.ButtonText = \"Add Non Standard Terms & Conditions\";\n this.singleFieldComponent.ConfirmationText = \"non standard terms & conditions\";\n this.singleFieldComponent.ControllerName = \"TermsAndConditionsCustomized\";\n this.singleFieldComponent.ActionName = \"GetAllPagination\";\n this.singleFieldComponent.SuccessText = \"Terms & conditions-Non Standard\";\n this.singleFieldComponent.firstFiledLabel = \"Terms & Condition-Non Standard\";\n this.singleFieldComponent.secondFiledLabel = \"Non Standard Value\";\n this.singleFieldComponent.TableHeader1 = \"Terms & Conditions-Non Standard\";\n this.singleFieldComponent.TableHeader2 = \"Non Standard Values\";\n this.singleFieldComponent.isDoubleField = true;\n this.GetAll();\n break;\n \n case \"Application\":\n this.singleFieldComponent.Heading = \"Application\";\n this.singleFieldComponent.RoutingParam = \"Application\";\n this.singleFieldComponent.ButtonText = \"Add Application\";\n this.singleFieldComponent.ConfirmationText = \"Application\";\n this.singleFieldComponent.ControllerName = \"Application\";\n this.singleFieldComponent.ActionName = \"GetAllPagination\";\n this.singleFieldComponent.SuccessText = \"Application\";\n this.singleFieldComponent.firstFiledLabel = \"Industry Segment\";\n this.singleFieldComponent.secondFiledLabel = \"Sub Segment\";\n this.singleFieldComponent.thirdFieldLabel = \"Application Name\";\n this.singleFieldComponent.TableHeader1 = \"Industry Segment\";\n this.singleFieldComponent.TableHeader2 = \"Sub Segment\";\n this.singleFieldComponent.TableHeader3 = \"Application\";\n this.singleFieldComponent.isDoubleField = true;\n this.singleFieldComponent.isTripleField = true; \n this.GetAll();\n break;\n case \"RoleManagement\":\n this.singleFieldComponent.Heading = \"Role Management\";\n this.singleFieldComponent.RoutingParam = \"RoleManagement\";\n this.singleFieldComponent.ButtonText = \"Add Role\";\n this.singleFieldComponent.ConfirmationText = \"Role Management\";\n this.singleFieldComponent.ControllerName = \"Account\";\n this.singleFieldComponent.ActionName = \"GetAllPagination\";\n this.singleFieldComponent.SuccessText = \"Role Management\";\n this.singleFieldComponent.firstFiledLabel = \"Role Management\";\n this.singleFieldComponent.TableHeader1 = \"Role Management\";\n this.singleFieldComponent.isDoubleField = false;\n this.GetAll();\n break;\n // case \"AddLoginImage\":\n // this.singleFieldComponent.Heading=\"LoginPageImage\";\n // this.singleFieldComponent.RoutingParam=\"AddLoginImage\";\n // this.singleFieldComponent.ButtonText = \"Add LoginPageImage\";\n // this.singleFieldComponent.ConfirmationText = \"LoginPageImage \";\n // this.singleFieldComponent.ControllerName = \"LoginPageImage\";\n // this.singleFieldComponent.ActionName = \"GetAllPagination\";\n // this.singleFieldComponent.SuccessText = \"Login Page Image\";\n // this.singleFieldComponent.firstFiledLabel = \"LoginPageImage\";\n // this.singleFieldComponent.TableHeader1 = \"LoginPageImage\";\n // this.singleFieldComponent.isDoubleField = false;\n // this.GetAll();\n }\n this.titleService.setTitle(this.singleFieldComponent.Heading + \" - \" + this.appConfig.titleName);\n //this.titleService.setTitle(this.singleFieldComponent.Heading + \" - ECOTECH\");\n\n }\n\n OnSelect(dropdownOption = \"\"){\n if(dropdownOption == 'Application')\n {\n this.displayedColumns.splice(2, 0, \"Application\");\n this.someCondition=true;\n }\n else if(dropdownOption == 'StandardReasonforWinningLosing')\n {\n this.displayedColumns.splice(2, 0, \"ReasonCategory\");\n this.isReasonCategoryVisible=true;\n }\n else if (this.displayedColumns.length == 4)\n {\n this.displayedColumns.splice(2,1);\n }\n }\n\n GetAll() {\n this.showLoader = true;\n let queryString = \"\";\n \n queryString = \"pageNumber=\" + this.pageNumber;\n queryString += \"&pageSize=\" + this.pageSize;\n queryString += \"&searchText=\" + this.SearchText;\n queryString += \"&direction=\" + this.direction;\n queryString += \"&columnName=\" + this.ColumnName;\n\n this.CommonService.GetData(this.singleFieldComponent.ControllerName, this.singleFieldComponent.ActionName, queryString).subscribe((data: any) => {\n this.data = data.Data;\n \n this.length = data.Total;\n this.dataSource = new MatTableDataSource(this.data);\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n\n }\n\n SearchParam(event: any) {\n this.SearchText = event.target.value;\n this.pageNumber = 1;\n this.paginator.pageIndex = 0;\n this.GetAll();\n }\n\n sortData(event: any) {\n if (this.dataSource.filteredData != null) {\n this.direction = event.direction;\n this.ColumnName = event.active;\n this.GetAll();\n }\n }\n\n pageEvent(event: any) {\n window.scroll({\n top: 0,\n left: 0,\n behavior: 'smooth'\n });\n this.pageNumber = event.pageIndex + 1;\n this.pageSize = event.pageSize;\n this.GetAll();\n }\n /************************************************************************\n * Grid Code End \n * **********************************************************************/\n\n /*******************************************************************************\n * Form validation method\n * ******************************************************************************/\n\n AvoidSpace(event: any) {\n if (event.which === 32 && !event.target.value.length) {\n event.preventDefault();\n }\n }\n\n /*******************************************************************************\n * End Form validation method \n * ******************************************************************************/\n\n UpdateStatusById(Id: number, CurrentStatus: boolean) {\n\n if (CurrentStatus == true) {\n //Create ConfirmDialogRef \n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Do you want to deactivate this \" + this.singleFieldComponent.ConfirmationText + \"?\"\n }\n });\n // listen to response from ConfirmDialogRef\n dialogRef.afterClosed().subscribe(dialogResult => {\n // if user pressed yes dialogResult will be true, \n // if he pressed no - it will be false\n if (dialogResult) {\n this.pageNumber = 1;\n this.paginator.pageIndex = 0;\n this.length = 0;\n this.direction = 'desc';\n this.ColumnName = 'ModifiedOn';\n this.showLoader = true;\n\n let queryString = \"\";\n queryString = \"id=\" + Id;\n\n this.CommonService.PostData(this.singleFieldComponent.ControllerName, 'UpdateStatus', null, queryString).subscribe((data: any) => {\n this.showLoader = false;\n if (data.ResponseCode == 1) {\n this.toastr.success(this.singleFieldComponent.SuccessText + \" deactivated successfully!\");\n }\n else if (data.ResponseCode == 0) {\n this.toastr.warning(\"Failed to deactivate this \" + this.singleFieldComponent.ConfirmationText + \" because it has some dependency!\");\n }\n else {\n this.toastr.info(\"Failed to deactivate \" + this.singleFieldComponent.ConfirmationText + \"!\");\n }\n this.GetAll();\n }, error => {\n this.toastr.error(\"Failed to deactivate \" + this.singleFieldComponent.ConfirmationText + \"!\");\n this.GetAll();\n this.showLoader = false;\n });\n }\n else {\n this.GetAll();\n }\n });\n\n }\n else {\n //Create ConfirmDialogRef\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Do you want to activate this \" + this.singleFieldComponent.ConfirmationText + \"?\"\n }\n });\n // listen to response from ConfirmDialogRef\n dialogRef.afterClosed().subscribe(dialogResult => {\n // if user pressed yes dialogResult will be true, \n // if he pressed no - it will be false\n if (dialogResult) {\n this.pageNumber = 1;\n this.paginator.pageIndex = 0;\n this.length = 0;\n this.direction = 'desc';\n this.ColumnName = 'ModifiedOn';\n this.showLoader = true;\n\n let queryString = \"\";\n queryString = \"id=\" + Id;\n\n this.CommonService.PostData(this.singleFieldComponent.ControllerName, 'UpdateStatus', null, queryString).subscribe((data: any) => {\n this.showLoader = false;\n if (data.ResponseCode == 1) {\n this.toastr.success(this.singleFieldComponent.SuccessText + \" activated successfully!\");\n }\n else {\n this.toastr.info(\"Failed to activate \" + this.singleFieldComponent.ConfirmationText + \"!\");\n }\n this.GetAll();\n }, error => {\n this.toastr.error(\"Failed to activate \" + this.singleFieldComponent.ConfirmationText + \"!\");\n this.GetAll();\n this.showLoader = false;\n });\n\n }\n else {\n this.GetAll();\n }\n });\n }\n }\n\n getAccess()\n {\n this.accessservice.GetAll().subscribe((data:any)=> {\n this.accesspermissionobj=data;\n this.isConfigureEditable=this.accesspermissionobj.filter(x => x.Fk_RoleId == this.UserRole && x.ElementKey=='isConfigureMasters')[0]?.IsEditable;\n \n });\n \n }\n \n}\n","\n\n
    \n
    \n
    \n
    \n
    \n
    \n\n
    \n \n\n
    \n
    \n
    \n
    \n
    \n

    \n {{singleFieldComponent.Heading}} Listing\n

    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
     
    \n
    \n \n\n Search\n \n \n\n
    \n\n
    \n
    \n\n \n \n
    \n
    \n \n \n \n\n
    \n
    \n \n\n \n\n \n\n \n
    \n
    \n \n \n\n \n\n
    \n\n
    \n \n\n \n\n \n\n \n \n \n \n \n\n \n \n \n \n \n \n \n\n \n
    \n\n
    \n\n \n \n \n \n \n\n \n \n\n
    \n {{singleFieldComponent.TableHeader1}} {{row.Name}} \n {{singleFieldComponent.TableHeader1}} {{row.Companyname}}\n \n {{singleFieldComponent.TableHeader2}} \n {{row.Value}} \n {{singleFieldComponent.TableHeader2}} {{row.DiscountFrom}} - {{row.DiscountTo}}\n \n {{singleFieldComponent.TableHeader3}} \n {{row.Application}} \n {{singleFieldComponent.TableHeader3}} \n {{row.ReasonCategory}} Action \n
    \n\n \n \n     \n\n \n  \n \n {{row.Status==true ? 'Active': 'Inactive'}}\n\n
    \n
    \n \n \n     \n\n \n  \n {{row.Status==true ? 'Active': 'Inactive'}}\n
    \n\n\n
    No records found
    \n\n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n","import { Component, OnInit, Input } from '@angular/core';\nimport { SingleFieldModel, SingleFieldComponent } from 'src/app/Model/SingleFieldModel';\nimport { ConfirmDialogComponent } from 'src/app/confirm-dialog/confirm-dialog.component';\nimport { MatDialog } from '@angular/material/dialog';\nimport { CommonService } from 'src/app/Service/common.service';\nimport { ToastrService } from 'ngx-toastr';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { AppGlobals } from 'src/app/app.global';\nimport { Title } from '@angular/platform-browser';\nimport { AccessPermissionModel } from 'src/app/Model/WorkFlowScreenAccessModel';\nimport { AccessPermissionService } from 'src/app/Service/access-permission.service';\nimport { AppConfigService } from 'src/app/Service/app-config.service';\n\n@Component({\n selector: 'app-edit-view-configuration',\n templateUrl: './edit-view-configuration.component.html',\n styleUrls: ['./edit-view-configuration.component.scss']\n})\nexport class EditViewConfigurationComponent implements OnInit {\n\n @Input()\n showLoader: boolean = false;\n singleFieldObj: SingleFieldModel = new SingleFieldModel();\n singleFieldComponent: SingleFieldComponent = new SingleFieldComponent();\n editFormValues: boolean = false;\n editFormStatus: string = \"\";\n UserRole: any;\n isConfigureEditable: boolean = false;\n IndustrySegment: any[] = [];\n SubSegment: any[] = [];\n Roles: any[] = [];\n charCode: any;\n TermsAndConditions: any[] = [];\n Customer:any[] =[];\n ProductModel:any[]=[];\n ProductModelDiscount:any[]=[];\n ProductModelDiscountArr:SingleFieldModel[]=[];\n CategoryRegion: any[] = [];\n accesspermissionobj:AccessPermissionModel[]=Array();\n AccesspermissionForRole:any[]=[];\n appConfig : any;\n\n constructor(private toastr: ToastrService, private commonService: CommonService, public dialog: MatDialog,\n private router: Router, private route: ActivatedRoute, private titleService: Title,private accessservice: AccessPermissionService,\n private appConfigService: AppConfigService) { }\n\n ngOnInit() {\n this.appConfig = this.appConfigService.getConfig();\n this.UserRole = localStorage.getItem(\"UserRole\");\n this.getAccess()\n //this.isConfigureEditable = AppGlobals.ConfigureMastersEditableAccessArray.filter(x => x.role == this.UserRole)[0]?.isEditable;\n this.singleFieldObj.Id = this.route.snapshot.params[\"id\"];\n this.singleFieldComponent.RoutingParam = this.route.snapshot.params[\"heading\"];\n this.editFormStatus = \"View\";\n this.showLoader = true;\n switch (this.singleFieldComponent.RoutingParam) {\n case \"MDSOption\":\n this.singleFieldComponent.Heading = \"MDS Option\";\n this.singleFieldComponent.RoutingParam = \"MDSOption\";\n this.singleFieldComponent.ButtonText = \"Add MDS Option\";\n this.singleFieldComponent.ConfirmationText = \"MDS option\";\n this.singleFieldComponent.ControllerName = \"MDSOptions\";\n this.singleFieldComponent.ActionName = \"Update\";\n this.singleFieldComponent.SuccessText = \"MDS option\";\n this.singleFieldComponent.firstFiledLabel = \"MDS Option\";\n this.singleFieldComponent.firstFieldValidationMsg = \"MDS option\";\n this.singleFieldComponent.isDoubleField = false;\n this.singleFieldComponent.isDropdownrequird = false;\n this.singleFieldComponent.FirstFieldMaxLen = 100;\n this.singleFieldComponent.Pattern = \"\";\n this.singleFieldComponent.FirstFiledPattern = \"\";\n this.singleFieldComponent.FirstFiledPatternValidationMessage = \"\";\n this.getDetailsById(this.singleFieldObj.Id);\n break;\n case \"SalesPrice\":\n this.singleFieldComponent.Heading = \"Sales Price Discount\";\n this.singleFieldComponent.RoutingParam = \"SalesPrice\";\n this.singleFieldComponent.ButtonText = \"Add Sales Price Discount\";\n this.singleFieldComponent.ConfirmationText = \"sales price\";\n this.singleFieldComponent.ControllerName = \"SalesPrice\";\n this.singleFieldComponent.ActionName = \"Update\";\n this.singleFieldComponent.SuccessText = \"Sales price\";\n this.singleFieldComponent.firstFiledLabel = \"Sales Price\";\n this.singleFieldComponent.firstFieldValidationMsg = \"Sales price\";\n this.singleFieldComponent.isDoubleField = false;\n this.singleFieldComponent.isSalespriceDiscountFields=true;\n this.singleFieldComponent.isDropdownrequird = false;\n this.singleFieldComponent.FirstFieldMaxLen = 100;\n this.singleFieldComponent.Pattern = \"\";\n this.singleFieldComponent.FirstFiledPattern = '';\n // this.singleFieldComponent.FirstFiledPatternValidationMessage = \"Please enter alphanumeric values ​​only\";\n this.getDetailsById(this.singleFieldObj.Id);\n this.getAllRoles();\n break;\n case \"Country\":\n this.singleFieldComponent.Heading = \"Country\";\n this.singleFieldComponent.RoutingParam = \"Country\";\n this.singleFieldComponent.ButtonText = \"Add Country\";\n this.singleFieldComponent.ConfirmationText = \"country\";\n this.singleFieldComponent.ControllerName = \"Country\";\n this.singleFieldComponent.ActionName = \"Update\";\n this.singleFieldComponent.SuccessText = \"Country\";\n this.singleFieldComponent.SuccessText2 = \"Country Code\";\n this.singleFieldComponent.firstFiledLabel = \"Country\";\n this.singleFieldComponent.secondFiledLabel = \"Country Code\";\n this.singleFieldComponent.firstFieldValidationMsg = \"Country\";\n this.singleFieldComponent.SecondFieldValidationMsg = \"Country Code\";\n this.singleFieldComponent.isDoubleField = true;\n this.singleFieldComponent.isDropdownrequird = false;\n this.singleFieldComponent.Pattern = \"\";\n this.singleFieldComponent.FirstFiledPattern = \"\";\n this.singleFieldComponent.FirstFiledPatternValidationMessage = \"\";\n this.singleFieldComponent.FirstFieldMaxLen = 100;\n this.singleFieldComponent.SecondFieldMaxLen = 10;\n this.getDetailsById(this.singleFieldObj.Id);\n break;\n case \"CustomerCategory\":\n this.singleFieldComponent.Heading = \"Customer Category\";\n this.singleFieldComponent.RoutingParam = \"CustomerCategory\";\n this.singleFieldComponent.ButtonText = \"Add Customer Category\";\n this.singleFieldComponent.ConfirmationText = \"customer category\";\n this.singleFieldComponent.ControllerName = \"CustomerCategory\";\n this.singleFieldComponent.ActionName = \"Update\";\n this.singleFieldComponent.SuccessText = \"Customer category\";\n this.singleFieldComponent.firstFiledLabel = \"Customer Category\";\n this.singleFieldComponent.firstFieldValidationMsg = \"Customer category\";\n this.singleFieldComponent.isDoubleField = false;\n this.singleFieldComponent.isDropdownrequird = false;\n this.singleFieldComponent.FirstFieldMaxLen = 150;\n this.singleFieldComponent.Pattern = \"\";\n this.singleFieldComponent.FirstFiledPattern = \"\";\n this.singleFieldComponent.FirstFiledPatternValidationMessage = \"\";\n this.getDetailsById(this.singleFieldObj.Id);\n break;\n case \"CustomerClassification\":\n this.singleFieldComponent.Heading = \"Customer Classification\";\n this.singleFieldComponent.RoutingParam = \"CustomerClassification\";\n this.singleFieldComponent.ButtonText = \"Add Customer Classification\";\n this.singleFieldComponent.ConfirmationText = \"customer classification\";\n this.singleFieldComponent.ControllerName = \"CustomerClassification\";\n this.singleFieldComponent.ActionName = \"Update\";\n this.singleFieldComponent.SuccessText = \"Customer classification\";\n this.singleFieldComponent.firstFiledLabel = \"Customer Classification\";\n this.singleFieldComponent.firstFieldValidationMsg = \"Customer classification\";\n this.singleFieldComponent.isDoubleField = false;\n this.singleFieldComponent.isDropdownrequird = false;\n this.singleFieldComponent.Pattern = \"\";\n this.singleFieldComponent.FirstFieldMaxLen = 150;\n this.singleFieldComponent.FirstFiledPattern = \"\";\n this.singleFieldComponent.FirstFiledPatternValidationMessage = \"\";\n this.getDetailsById(this.singleFieldObj.Id);\n break;\n case \"EnquirySource\":\n this.singleFieldComponent.Heading = \"Enquiry Source\";\n this.singleFieldComponent.RoutingParam = \"EnquirySource\";\n this.singleFieldComponent.ButtonText = \"Add Enquiry Source\";\n this.singleFieldComponent.ConfirmationText = \"enquiry source\";\n this.singleFieldComponent.ControllerName = \"EnquirySource\";\n this.singleFieldComponent.ActionName = \"Update\";\n this.singleFieldComponent.SuccessText = \"Enquiry source\";\n this.singleFieldComponent.firstFiledLabel = \"Enquiry Source\";\n this.singleFieldComponent.firstFieldValidationMsg = \"Enquiry source\";\n this.singleFieldComponent.isDoubleField = false;\n this.singleFieldComponent.isDropdownrequird = false;\n this.singleFieldComponent.Pattern = \"\";\n this.singleFieldComponent.FirstFieldMaxLen = 150;\n this.singleFieldComponent.FirstFiledPattern = \"\";\n this.singleFieldComponent.FirstFiledPatternValidationMessage = \"\";\n this.getDetailsById(this.singleFieldObj.Id);\n break;\n case \"IndustrySegment\":\n this.singleFieldComponent.Heading = \"Industry Segment\";\n this.singleFieldComponent.RoutingParam = \"IndustrySegment\";\n this.singleFieldComponent.ButtonText = \"Add Industry Segment\";\n this.singleFieldComponent.ConfirmationText = \"industry segment\";\n this.singleFieldComponent.ControllerName = \"IndustrySegment\";\n this.singleFieldComponent.ActionName = \"Update\";\n this.singleFieldComponent.SuccessText = \"Industry segment\";\n this.singleFieldComponent.firstFiledLabel = \"Industry Segment\";\n this.singleFieldComponent.firstFieldValidationMsg = \"Industry segment\";\n this.singleFieldComponent.isDoubleField = false;\n this.singleFieldComponent.isDropdownrequird = false;\n this.singleFieldComponent.Pattern = \"\";\n this.singleFieldComponent.FirstFieldMaxLen = 100;\n this.singleFieldComponent.FirstFiledPattern = \"\";\n this.singleFieldComponent.FirstFiledPatternValidationMessage = \"\";\n this.getDetailsById(this.singleFieldObj.Id);\n break;\n\n case \"SubSegment\":\n this.singleFieldComponent.Heading = \"Sub Segment\";\n this.singleFieldComponent.RoutingParam = \"SubSegment\";\n this.singleFieldComponent.ButtonText = \"Add Sub Segment\";\n this.singleFieldComponent.ConfirmationText = \"sub segment\";\n this.singleFieldComponent.ControllerName = \"SubSegment\";\n this.singleFieldComponent.ActionName = \"Update\";\n this.singleFieldComponent.SuccessText = \"Sub segment\";\n this.singleFieldComponent.firstFiledLabel = \"Industry Segment\";\n this.singleFieldComponent.secondFiledLabel = \"Sub Segment\";\n this.singleFieldComponent.firstFieldValidationMsg = \"Industry segment\";\n this.singleFieldComponent.SecondFieldValidationMsg = \"Sub segment\";\n this.singleFieldComponent.isDoubleField = true;\n this.singleFieldComponent.FirstFiledPattern = \"\";\n this.singleFieldComponent.FirstFiledPatternValidationMessage = \"\";\n this.getDetailsById(this.singleFieldObj.Id);\n this.singleFieldComponent.isDropdownrequird = true;\n this.singleFieldComponent.Pattern = \"\";\n this.singleFieldComponent.SecondFieldMaxLen = 100;\n this.GetData(\"IndustrySegment\", \"GetAll\");\n break;\n\n case \"Region\":\n this.singleFieldComponent.Heading = \"Region\";\n this.singleFieldComponent.RoutingParam = \"Region\";\n this.singleFieldComponent.ButtonText = \"Add Region\";\n this.singleFieldComponent.ConfirmationText = \"region\";\n this.singleFieldComponent.ControllerName = \"Region\";\n this.singleFieldComponent.ActionName = \"Update\";\n this.singleFieldComponent.SuccessText = \"Region\";\n this.singleFieldComponent.SuccessText2 = \"Region Code\";\n this.singleFieldComponent.firstFiledLabel = \"Region\";\n this.singleFieldComponent.secondFiledLabel = \"Region Code\";\n this.singleFieldComponent.firstFieldValidationMsg = \"Region\";\n this.singleFieldComponent.SecondFieldValidationMsg = \"Region Code\";\n this.singleFieldComponent.isDoubleField = true;\n this.singleFieldComponent.isDropdownrequird = false;\n this.singleFieldComponent.Pattern = \"\";\n this.singleFieldComponent.FirstFiledPattern = \"\";\n this.singleFieldComponent.FirstFiledPatternValidationMessage = \"\";\n this.singleFieldComponent.FirstFieldMaxLen = 100;\n this.singleFieldComponent.SecondFieldMaxLen = 10;\n this.getDetailsById(this.singleFieldObj.Id);\n break;\n\n case \"TypeofCustomer\":\n this.singleFieldComponent.Heading = \"Type of Customer\";\n this.singleFieldComponent.RoutingParam = \"TypeofCustomer\";\n this.singleFieldComponent.ButtonText = \"Add Type of Customer\";\n this.singleFieldComponent.ConfirmationText = \"type of customer\";\n this.singleFieldComponent.ControllerName = \"CustomerType\";\n this.singleFieldComponent.ActionName = \"Update\";\n this.singleFieldComponent.SuccessText = \"Type of customer\";\n this.singleFieldComponent.firstFiledLabel = \"Type of Customer\";\n this.singleFieldComponent.firstFieldValidationMsg = \"Type of customer\";\n this.singleFieldComponent.isDoubleField = false;\n this.singleFieldComponent.isDropdownrequird = false;\n this.singleFieldComponent.Pattern = \"\";\n this.singleFieldComponent.FirstFieldMaxLen = 100;\n this.singleFieldComponent.FirstFiledPattern = \"\";\n this.singleFieldComponent.FirstFiledPatternValidationMessage = \"\";\n this.getDetailsById(this.singleFieldObj.Id);\n break;\n case \"EstimatedProductValue\":\n this.singleFieldComponent.Heading = \"Estimated Product Value\";\n this.singleFieldComponent.RoutingParam = \"EstimatedProductValue\";\n this.singleFieldComponent.ButtonText = \"Add Estimated Product Value\";\n this.singleFieldComponent.ConfirmationText = \"estimated product value\";\n this.singleFieldComponent.ControllerName = \"EstimatedProductValue\";\n this.singleFieldComponent.ActionName = \"Update\";\n this.singleFieldComponent.SuccessText = \"Estimated product value\";\n this.singleFieldComponent.firstFiledLabel = \"Estimated Product Value\";\n this.singleFieldComponent.firstFieldValidationMsg = \"Estimated product value\";\n this.singleFieldComponent.secondFiledLabel = \"Role\";\n this.singleFieldComponent.SecondFieldValidationMsg = \"Role\"\n this.singleFieldComponent.isDoubleField = true;\n this.singleFieldComponent.isDropdownrequird = false;\n this.singleFieldComponent.Pattern = \"\";\n this.singleFieldComponent.FirstFiledPattern = \"\";\n this.singleFieldComponent.FirstFiledPatternValidationMessage = \"\";\n this.singleFieldComponent.FirstFieldMaxLen = 50;\n this.getDetailsById(this.singleFieldObj.Id);\n this.getAllRoles();\n break;\n case \"Currency\":\n this.singleFieldComponent.Heading = \"Currency\";\n this.singleFieldComponent.RoutingParam = \"Currency\";\n this.singleFieldComponent.ButtonText = \"Add Currency\";\n this.singleFieldComponent.ConfirmationText = \"currency\";\n this.singleFieldComponent.ControllerName = \"Currency\";\n this.singleFieldComponent.ActionName = \"Update\";\n this.singleFieldComponent.SuccessText = \"Currency\";\n this.singleFieldComponent.firstFiledLabel = \"Currency\";\n this.singleFieldComponent.secondFiledLabel = \"Exchange Rate (€)\";\n this.singleFieldComponent.firstFieldValidationMsg = \"Currency\";\n this.singleFieldComponent.SecondFieldValidationMsg = \"Exchange rate\";\n this.singleFieldComponent.isDoubleField = true;\n this.singleFieldComponent.isDropdownrequird = false;\n this.singleFieldComponent.Pattern = /^[0-9]\\d*(\\.\\d+)?$/;\n this.singleFieldComponent.FirstFieldMaxLen = 50;\n this.singleFieldComponent.SecondFieldMaxLen = 6;\n this.singleFieldComponent.FirstFiledPattern = \"\";\n this.singleFieldComponent.FirstFiledPatternValidationMessage = \"\";\n this.getDetailsById(this.singleFieldObj.Id);\n break;\n case \"TermsConditions\":\n this.singleFieldComponent.Heading = \"Terms & Conditions\";\n this.singleFieldComponent.RoutingParam = \"TermsConditions\";\n this.singleFieldComponent.ButtonText = \"Add Terms & Conditions\";\n this.singleFieldComponent.ConfirmationText = \"terms & conditions\";\n this.singleFieldComponent.ControllerName = \"TermsAndConditions\";\n this.singleFieldComponent.ActionName = \"Update\";\n this.singleFieldComponent.SuccessText = \"Terms & conditions\";\n this.singleFieldComponent.firstFiledLabel = \"Terms & Condition\";\n this.singleFieldComponent.secondFiledLabel = \"Standard Value\";\n this.singleFieldComponent.firstFieldValidationMsg = \"Terms & condition\";\n this.singleFieldComponent.SecondFieldValidationMsg = \"Standard Value\";\n this.singleFieldComponent.isDoubleField = true;\n this.singleFieldComponent.isDropdownrequird = false;\n this.singleFieldComponent.Pattern = \"\";\n this.singleFieldComponent.FirstFieldMaxLen = 50;\n this.singleFieldComponent.SecondFieldMaxLen = 100;\n this.singleFieldComponent.FirstFiledPattern = \"\";\n this.singleFieldComponent.FirstFiledPatternValidationMessage = \"\";\n this.getDetailsById(this.singleFieldObj.Id);\n break;\n \n case \"StandardReasonforWinningLosing\":\n this.singleFieldComponent.Heading = \"Standard Reason\";\n this.singleFieldComponent.RoutingParam = \"StandardReasonforWinningLosing\";\n this.singleFieldComponent.ButtonText = \"Add Standard Reason\";\n this.singleFieldComponent.ConfirmationText = \"standard reason for winning/losing\";\n this.singleFieldComponent.ControllerName = \"ReasonEnquiryWinLoss\";\n this.singleFieldComponent.ActionName = \"Update\";\n this.singleFieldComponent.SuccessText = \"Standard reason for winning/losing\";\n this.singleFieldComponent.firstFiledLabel = \"Enquiry Status\";\n\t this.singleFieldComponent.secondFiledLabel = \"Reason Catagory\";\n\t this.singleFieldComponent.thirdFieldLabel = \"Reason for Winning/Losing\";\n this.singleFieldComponent.firstFieldValidationMsg = \"Enquiry status\";\n this.singleFieldComponent.SecondFieldValidationMsg = \"Reason Category\";\n \t this.singleFieldComponent.ThirdFieldValidationMsg = \"Reason for winning/losing\";\n this.singleFieldComponent.isDoubleField = true;\n this.singleFieldComponent.isTripleField = true;\n this.singleFieldComponent.isDropdownrequird = true;\n this.singleFieldComponent.Pattern = \"\";\n this.singleFieldComponent.FirstFieldMaxLen = 10;\n this.singleFieldComponent.SecondFieldMaxLen = 100;\n this.singleFieldComponent.ThirdFieldMaxLen = 100;\n this.singleFieldComponent.FirstFiledPattern = \"\";\n this.singleFieldComponent.FirstFiledPatternValidationMessage = \"\";\n this.getDetailsById(this.singleFieldObj.Id);\n this.getAllCategoryRegion();\n break;\n \n case \"EnquiryCloseReason\":\n this.singleFieldComponent.Heading = \"Enquiry Close Reason\";\n this.singleFieldComponent.RoutingParam = \"EnquiryCloseReason\";\n this.singleFieldComponent.ButtonText = \"Add Enquiry Close Reason\";\n this.singleFieldComponent.ConfirmationText = \"standard reason Close Enquiry\";\n this.singleFieldComponent.ControllerName = \"EnquiryCloseReason\";\n this.singleFieldComponent.ActionName = \"Update\";\n this.singleFieldComponent.SuccessText = \"Standard reason for Close Enquiry\";\n this.singleFieldComponent.firstFiledLabel = \"Reason for Close Enquiry\";\n this.singleFieldComponent.firstFieldValidationMsg = \"Reason for Close Enquiry\";\n this.singleFieldComponent.isDoubleField = false;\n this.singleFieldComponent.isDropdownrequird = false;\n this.singleFieldComponent.Pattern = \"\";\n this.singleFieldComponent.FirstFiledPattern = \"\";\n this.singleFieldComponent.FirstFiledPatternValidationMessage = \"\";\n this.singleFieldComponent.FirstFieldMaxLen = 100;\n this.getDetailsById(this.singleFieldObj.Id);\n break;\n\n case \"LeadCloseReason\":\n this.singleFieldComponent.Heading = \"Lead Close Reason\";\n this.singleFieldComponent.RoutingParam = \"LeadCloseReason\";\n this.singleFieldComponent.ButtonText = \"Add Lead Close Reason\";\n this.singleFieldComponent.ConfirmationText = \"Lead close reason\";\n this.singleFieldComponent.ControllerName = \"OpportunityCloseReason\";\n this.singleFieldComponent.ActionName = \"Update\";\n this.singleFieldComponent.SuccessText = \"Lead close reason\";\n this.singleFieldComponent.firstFiledLabel = \"Reason for Close Lead\";\n this.singleFieldComponent.firstFieldValidationMsg = \"Reason for Close Lead\";\n this.singleFieldComponent.isDoubleField = false;\n this.singleFieldComponent.isDropdownrequird = false;\n this.singleFieldComponent.Pattern = \"\";\n this.singleFieldComponent.FirstFiledPattern = \"\";\n this.singleFieldComponent.FirstFiledPatternValidationMessage = \"\";\n this.singleFieldComponent.FirstFieldMaxLen = 100;\n this.getDetailsById(this.singleFieldObj.Id);\n break;\n\n case \"EnquiryCompetitor\":\n this.singleFieldComponent.Heading = \"Enquiry Competitor\";\n this.singleFieldComponent.RoutingParam = \"EnquiryCompetitor\";\n this.singleFieldComponent.ButtonText = \"Add Enquiry Competitor\";\n this.singleFieldComponent.ConfirmationText = \"Enquiry Competitor\";\n this.singleFieldComponent.ControllerName = \"EnquiryCompetitor\";\n this.singleFieldComponent.ActionName = \"Update\";\n this.singleFieldComponent.SuccessText = \"Enquiry Competitor\";\n this.singleFieldComponent.firstFiledLabel = \"Enquiry Competitor\";\n this.singleFieldComponent.firstFieldValidationMsg = \"Enquiry Competitor\";\n this.singleFieldComponent.isDoubleField = false;\n this.singleFieldComponent.isDropdownrequird = false;\n this.singleFieldComponent.Pattern = \"\";\n this.singleFieldComponent.FirstFiledPattern = \"\";\n this.singleFieldComponent.FirstFiledPatternValidationMessage = \"\";\n this.singleFieldComponent.FirstFieldMaxLen = 100;\n this.getDetailsById(this.singleFieldObj.Id);\n break;\n\n case \"CustomerGroup\":\n this.singleFieldComponent.Heading = \"Customer Group\";\n this.singleFieldComponent.RoutingParam = \"CustomerGroup\";\n this.singleFieldComponent.ButtonText = \"Add Customer Group\";\n this.singleFieldComponent.ConfirmationText = \"customer group\";\n this.singleFieldComponent.ControllerName = \"CustomerGroup\";\n this.singleFieldComponent.ActionName = \"Update\";\n this.singleFieldComponent.SuccessText = \"Customer group\";\n this.singleFieldComponent.firstFiledLabel = \"Customer Group\";\n this.singleFieldComponent.secondFiledLabel = \"Customer Group Code\";\n this.singleFieldComponent.firstFieldValidationMsg = \"Customer Group\";\n this.singleFieldComponent.SecondFieldValidationMsg = \"Customer Group Code\";\n this.singleFieldComponent.isDoubleField = true;\n this.singleFieldComponent.isDropdownrequird = false;\n this.singleFieldComponent.Pattern = \"\";\n this.singleFieldComponent.FirstFieldMaxLen = 150;\n this.singleFieldComponent.SecondFieldMaxLen = 150;\n this.singleFieldComponent.FirstFiledPattern = \"\";\n this.singleFieldComponent.FirstFiledPatternValidationMessage = \"\";\n this.getDetailsById(this.singleFieldObj.Id);\n break;\n\n case \"TechnicalDiscardReason\":\n this.singleFieldComponent.Heading = \"Technical Discard Reason\";\n this.singleFieldComponent.RoutingParam = \"TechnicalDiscardReason\";\n this.singleFieldComponent.ButtonText = \"Add Technical Discard Reason\";\n this.singleFieldComponent.ConfirmationText = \"Technical discard reason\";\n this.singleFieldComponent.ControllerName = \"TechnicalDiscard\"; \n this.singleFieldComponent.ActionName = \"Update\";\n this.singleFieldComponent.SuccessText = \"Technical discard reason\";\n this.singleFieldComponent.firstFiledLabel = \"Technical Discard Reason\";\n this.singleFieldComponent.firstFieldValidationMsg = \"Technical Discard Reason\";\n this.singleFieldComponent.isDoubleField = false;\n this.singleFieldComponent.isDropdownrequird = false;\n this.singleFieldComponent.Pattern = \"\";\n this.singleFieldComponent.FirstFieldMaxLen = 50;\n this.singleFieldComponent.FirstFiledPattern = \"\";\n this.singleFieldComponent.FirstFiledPatternValidationMessage = \"\";\n this.getDetailsById(this.singleFieldObj.Id);\n break;\n\n case \"TermsConditions-NonStandard\":\n this.singleFieldComponent.Heading = \"Terms & Conditions-Non Standard\";\n this.singleFieldComponent.RoutingParam = \"TermsConditions-NonStandard\";\n this.singleFieldComponent.ButtonText = \"Add Non Standard Terms & Conditions\";\n this.singleFieldComponent.ConfirmationText = \"terms & conditions non standard\";\n this.singleFieldComponent.ControllerName = \"TermsAndConditionsCustomized\";\n this.singleFieldComponent.ActionName = \"Update\";\n this.singleFieldComponent.SuccessText = \"Terms & conditions-Non Standard\";\n this.singleFieldComponent.firstFiledLabel = \"Terms & Condition-Non Standard\";\n this.singleFieldComponent.secondFiledLabel = \"Non Standard Value\";\n this.singleFieldComponent.TableHeader1 = \"Terms & Conditions-Non Standard\";\n this.singleFieldComponent.TableHeader2 = \"Non Standard Values\";\n this.singleFieldComponent.firstFieldValidationMsg = \"Non standard term & condition\";\n this.singleFieldComponent.SecondFieldValidationMsg = \"Non standard value\";\n this.singleFieldComponent.isDoubleField = true;\n this.singleFieldComponent.isDropdownrequird = true;\n this.singleFieldComponent.Pattern = \"\";\n this.singleFieldComponent.SecondFieldMaxLen = 100;\n this.singleFieldComponent.FirstFiledPattern = \"\";\n this.singleFieldComponent.FirstFiledPatternValidationMessage = \"\";\n this.getDetailsById(this.singleFieldObj.Id);\n this.GetData(\"TermsAndConditions\", \"GetAll\");\n break;\n\n case \"Application\":\n this.singleFieldComponent.Heading = \"Application\";\n this.singleFieldComponent.RoutingParam = \"Application\";\n this.singleFieldComponent.ButtonText = \"Add Application\";\n this.singleFieldComponent.ConfirmationText = \"Application\";\n this.singleFieldComponent.ControllerName = \"Application\";\n this.singleFieldComponent.ActionName = \"Update\";\n this.singleFieldComponent.SuccessText = \"Application\";\n this.singleFieldComponent.firstFiledLabel = \"Industry Segment\";\n this.singleFieldComponent.secondFiledLabel = \"Sub Segment\";\n this.singleFieldComponent.thirdFieldLabel = \"Application Name\";\n this.singleFieldComponent.TableHeader1 = \"Industry Segment\";\n this.singleFieldComponent.TableHeader2 = \"Sub Segment\";\n this.singleFieldComponent.TableHeader3 = \"Application\";\n this.singleFieldComponent.firstFieldValidationMsg = \"Industry Segment\";\n this.singleFieldComponent.SecondFieldValidationMsg = \"Sub Segment\";\n this.singleFieldComponent.thirdFieldValidationMsg = \"Application Name\";\n this.singleFieldComponent.isDoubleField = true;\n this.singleFieldComponent.isTripleField = true; \n this.singleFieldComponent.isDropdownrequird = true;\n this.singleFieldComponent.Pattern = \"\";\n this.singleFieldComponent.ThirdFieldMaxLen = 250;\n this.singleFieldComponent.FirstFiledPattern = \"\";\n this.singleFieldComponent.FirstFiledPatternValidationMessage = \"\";\n this.singleFieldComponent.SecondFieldPattern = \"\";\n this.singleFieldComponent.SecondFieldPatternValidationMessage = \"\";\n this.singleFieldComponent.ThirdFieldPattern = \"\";\n this.singleFieldComponent.ThirdFieldPatternValidationMessage = \"\";\n this.getDetailsById(this.singleFieldObj.Id); \n this.GetData(\"IndustrySegment\", \"GetAll\"); \n break; \n\n case \"CustomerSpecialDiscount\":\n this.singleFieldComponent.Heading = \"Customer Frame Agreement\";\n this.singleFieldComponent.RoutingParam = \"CustomerSpecialDiscount\";\n this.singleFieldComponent.ButtonText = \"Add Customer Frame Agreement\";\n this.singleFieldComponent.ConfirmationText = \"Customer Frame Agreement\";\n this.singleFieldComponent.ControllerName = \"CustomerSpecialDiscount\";\n this.singleFieldComponent.ActionName = \"Update\";\n this.singleFieldComponent.SuccessText = \"Customer Frame Agreement\";\n this.singleFieldComponent.firstFiledLabel = \"Product Model\";\n this.singleFieldComponent.secondFiledLabel = \"Product Discount\";\n this.singleFieldComponent.thirdFiledLabel = \"Product Discount \";\n this.singleFieldComponent.firstFieldValidationMsg = \"Product Model\";\n this.singleFieldComponent.SecondFieldValidationMsg = \"Product Discount \";\n this.singleFieldComponent.ThirdFieldValidationMsg = \"Product Discount \";\n this.singleFieldComponent.isDoubleField = false;\n this.singleFieldComponent.isvariablediscountfield=true;\n this.singleFieldComponent.ismultiplerecords=true;\n \n this.singleFieldComponent.FirstFiledPattern = \"\";\n this.singleFieldComponent.FirstFiledPatternValidationMessage = \"\";\n this.getDetailsByCustomerId(this.singleFieldObj.Id);\n \n this.singleFieldComponent.Pattern = \"\";\n this.singleFieldComponent.SecondFieldMaxLen = 100;\n this.GetData(\"CustomerSpecialDiscount\", \"GetAll\");\n break;\n \n case \"RoleManagement\":\n this.singleFieldComponent.Heading = \"Role Management\";\n this.singleFieldComponent.RoutingParam = \"RoleManagement\";\n this.singleFieldComponent.ButtonText = \"Add Role\";\n this.singleFieldComponent.ConfirmationText = \"Role Management\";\n this.singleFieldComponent.ControllerName = \"Account\";\n this.singleFieldComponent.ActionName = \"Update\";\n this.singleFieldComponent.SuccessText = \"Role Management\";\n this.singleFieldComponent.firstFiledLabel = \"Role Management\";\n this.singleFieldComponent.firstFieldValidationMsg = \"Role Management\";\n this.singleFieldComponent.isDoubleField = false;\n this.singleFieldComponent.isDropdownrequird = false;\n this.singleFieldComponent.Pattern = \"\";\n this.singleFieldComponent.FirstFieldMaxLen = 150;\n this.singleFieldComponent.FirstFiledPattern = \"\";\n this.singleFieldComponent.FirstFiledPatternValidationMessage = \"\";\n this.getDetailsById(this.singleFieldObj.Id);\n break;\n }\n this.titleService.setTitle(this.editFormStatus + \" \" + this.singleFieldComponent.Heading + \" - \" + this.appConfig.titleName);\n //this.titleService.setTitle(this.editFormStatus + \" \" + this.singleFieldComponent.Heading + \" - ECOTECH\");\n this.showLoader = false;\n\n }\n\n AvoidSpace(event: any) {\n if (event.which === 32 && !event.target.value.length) {\n event.preventDefault();\n }\n }\n\n editForm() {\n if (this.editFormValues == false) {\n this.editFormValues = true;\n this.editFormStatus = \"Edit\";\n this.titleService.setTitle(this.editFormStatus + \" \" + this.singleFieldComponent.Heading + \" - \" + this.appConfig.titleName);\n //this.titleService.setTitle(this.editFormStatus + \" \" + this.singleFieldComponent.Heading + \" - ECOTECH\");\n }\n else {\n this.editFormValues = false;\n this.editFormStatus = \"View\";\n this.titleService.setTitle(this.editFormStatus + \" \" + this.singleFieldComponent.Heading + \" - \" + this.appConfig.titleName);\n //this.titleService.setTitle(this.editFormStatus + \" \" + this.singleFieldComponent.Heading + \" - ECOTECH\");\n }\n }\n\n onIndustrySegmentSelect(e: any) \n {\n this.singleFieldObj.SubSegmentId = null;\n this.GetSubSegment(e.target.value);\n console.log(\"id--\",(e.target.value))\n }\n\n //************************************Validation for discount*********************************** */\n\n OnDiscountChange(index)\n {\n if (this.ProductModelDiscount[index].ProductDiscount < 0) {\n this.toastr.info('Sales Discount cannot be negative.');\n this.ProductModelDiscount[index].ProductDiscount = null;\n return;\n }\n else if (this.ProductModelDiscount[index].ProductDiscount > 100) {\n this.toastr.info('Discount cannot be greater than 100.');\n this.ProductModelDiscount[index].ProductDiscount= null;\n return;\n }\n }\n\n getDetailsById(Id: number) {\n this.showLoader = true;\n let queryString = \"\";\n queryString = \"id=\" + Id;\n\n this.commonService.GetData(this.singleFieldComponent.ControllerName, 'GetById', queryString).subscribe((data: any) => {\n this.singleFieldObj = data;\n // console.log(\"asdf---->\",data);\n if(this.singleFieldComponent.ControllerName == 'Application')\n {\n this.GetSubSegment(this.singleFieldObj.SegmentId);\n }\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n\n });\n this.showLoader = false;\n }\n\n GetSubSegment(SegmentId: number) {\n this.showLoader = true;\n\n let queryString = \"\";\n queryString = \"SegmentId=\" + SegmentId;\n this.commonService.GetData(\"SubSegment\", \"GetByIndustrySegmentId\", queryString).subscribe((data: any) => {\n this.SubSegment = data;\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n\n getDetailsByCustomerId(Id: number) {\n this.showLoader = true;\n let queryString = \"\";\n queryString = \"id=\" + Id;\n\n this.commonService.GetData(this.singleFieldComponent.ControllerName, 'GetById', queryString).subscribe((data: any) => {\n this.ProductModelDiscount = data;\n \n }, error => {\n this.toastr.error(\"Failed to load data!\");\n\n });\n this.showLoader = false;\n }\n\n\n GetData(ControllerName: string, ActionName: string) {\n this.showLoader = true;\n this.commonService.GetData(ControllerName, ActionName, null).subscribe((data: any) => {\n if(ControllerName === 'IndustrySegment')\n {this.IndustrySegment = data;}\n else \n {this.TermsAndConditions = data;}\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n\n getAllRoles() {\n this.showLoader = true;\n this.commonService.GetData(\"Account\", \"GetAllEmployeeRoles\", null).subscribe((data: any) => {\n this.Roles = data;\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n\n }\n\n Update(myform: any) {\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"You want to update this \" + this.singleFieldComponent.ConfirmationText + \"?\"\n }\n });\n\n dialogRef.afterClosed().subscribe(dialogResult => {\n // if user pressed yes dialogResult will be true, \n // if he pressed no - it will be false\n if (dialogResult) {\n this.showLoader = true;\n if (this.singleFieldComponent.ismultiplerecords) \n {\n this.commonService.PostData(this.singleFieldComponent.ControllerName, 'Update', this.ProductModelDiscount, null, this.singleFieldObj.Id).subscribe((data: any) => {\n\n let result = data;\n if (result.ResponseCode == 1) {\n this.toastr.success(this.singleFieldComponent.SuccessText + \" updated successfully!\");\n this.showLoader = false;\n this.router.navigate(['/ConfigureMasters', this.singleFieldComponent.RoutingParam]);\n }\n else if (result.ResponseCode == 0) {\n // myform.controls['fieldtitle'].setErrors({ AlreadyPresent: true });\n this.toastr.warning(this.singleFieldComponent.SuccessText + ' already exists!');\n this.showLoader = false;\n }\n else {\n this.toastr.error(\"Failed to update \" + this.singleFieldComponent.ConfirmationText + \"!\");\n this.showLoader = false;\n this.router.navigate(['/ConfigureMasters', this.singleFieldComponent.RoutingParam]);\n }\n }, error => {\n this.toastr.error(\"Failed to update \" + this.singleFieldComponent.ConfirmationText + \"!\");\n this.showLoader = false;\n this.router.navigate(['/ConfigureMasters', this.singleFieldComponent.RoutingParam]);\n });\n\n }\n else \n {\n \n this.commonService.PostData(this.singleFieldComponent.ControllerName, 'Update', this.singleFieldObj, null).subscribe((data: any) => {\n\n if (data.ResponseCode == 1) {\n this.toastr.success(this.singleFieldComponent.SuccessText + \" updated successfully!\");\n this.showLoader = false;\n this.router.navigate(['/ConfigureMasters', this.singleFieldComponent.RoutingParam]);\n }\n else if (data.ResponseCode == 0) {\n // myform.controls['fieldtitle'].setErrors({ AlreadyPresent: true });\n this.toastr.warning(this.singleFieldComponent.SuccessText + ' already exists!');\n this.showLoader = false;\n }\n else if (data.ResponseCode == 2) {\n // myform.controls['fieldtitle'].setErrors({ AlreadyPresent: true });\n this.toastr.warning(this.singleFieldComponent.SuccessText2 + ' already exists!');\n this.showLoader = false;\n }\n else {\n this.toastr.error(\"Failed to update \" + this.singleFieldComponent.ConfirmationText + \"!\");\n this.showLoader = false;\n this.router.navigate(['/ConfigureMasters', this.singleFieldComponent.RoutingParam]);\n }\n }, error => {\n this.toastr.error(\"Failed to update \" + this.singleFieldComponent.ConfirmationText + \"!\");\n this.showLoader = false;\n this.router.navigate(['/ConfigureMasters', this.singleFieldComponent.RoutingParam]);\n });\n\n }\n }\n });\n }\n \n fieldChange(value : any)\n {\n console.log('checkbox value --->',value);\n if(value == true)\n { \n this.singleFieldObj.IsCompetitorRequired = true;\n }\n else\n {\n this.singleFieldObj.IsCompetitorRequired = false;\n }\n \n }\n\n getAllCategoryRegion() \n {\n this.showLoader = true;\n this.commonService.GetData(\"ReasonEnquiryWinLoss\", \"GetAllReasonCategory\", null).subscribe((data: any) => {\n this.CategoryRegion = data;\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n\n getAccess()\n {\n this.accessservice.GetAll().subscribe((data:any)=> {\n this.accesspermissionobj=data;\n this.isConfigureEditable=this.accesspermissionobj.filter(x => x.Fk_RoleId == this.UserRole && x.ElementKey=='isConfigureMasters')[0]?.IsEditable;\n console.log(\"IsConfigure-\",this.isConfigureEditable);\n \n }); \n\n }\n\n isintNumberKey(evt: any) {\n this.charCode = (evt.which) ? evt.which : evt.keyCode;\n if\n (this.charCode != 46 && this.charCode > 31\n && (this.charCode < 48 || this.charCode > 57)) {\n return false;\n\n }\n else {\n return true;\n }\n }\n\n}","\n\n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n {{editFormStatus}} {{singleFieldComponent.Heading}}\n

    \n
    \n
    \n\n
    \n
    \n * Marked fields are\n mandatory\n
    \n
    \n
    \n
    \n {{singleFieldComponent.firstFiledLabel}}: *\n
    \n \n\n
    \n
    \n {{singleFieldComponent.firstFieldValidationMsg}} is required
    \n
    \n {{singleFieldComponent.firstFieldValidationMsg}} already exists!\n
    \n
    \n {{singleFieldComponent.FirstFiledPatternValidationMessage}}\n
    \n
    \n
    \n
    \n\n \n
    \n \n\n
    \n
    \n {{singleFieldComponent.SecondFieldValidationMsg}} is required
    \n
    \n {{singleFieldComponent.SecondFieldValidationMsg}} already exists!\n
    \n
    \n {{singleFieldComponent.SecondFieldValidationMsg}} is invalid\n
    \n
    \n
    \n
    \n\n\n \n \n {{item.Name}}\n No\n Data Found \n \n\n
    \n
    \n {{singleFieldComponent.SecondFieldValidationMsg}} is required\n
    \n
    \n\n
    \n\n\n
    \n\n
    \n {{singleFieldComponent.firstFiledLabel}}: *\n
    \n \n
    \n
    \n {{singleFieldComponent.firstFieldValidationMsg}} is required
    \n
    \n
    \n\n \n
    \n \n
    \n
    \n {{singleFieldComponent.firstFieldValidationMsg}} is required
    \n
    \n
    \n \n \n
    \n \n
    \n
    \n {{singleFieldComponent.firstFieldValidationMsg}} is required
    \n
    \n
    \n \n\n
    \n \n
    \n
    \n {{singleFieldComponent.firstFieldValidationMsg}} is required\n
    \n
    \n
    \n\n
    \n\n \n
    \n \n\n
    \n
    \n {{singleFieldComponent.SecondFieldValidationMsg}} is required
    \n
    \n {{singleFieldComponent.SecondFieldValidationMsg}} already exists!\n
    \n
    \n
    \n\n
    \n\n \n
    \n
    \n {{singleFieldComponent.SecondFieldValidationMsg}} is required\n
    \n
    \n\n
    \n\n
    \n \n
    \n
    \n {{singleFieldComponent.SecondFieldValidationMsg}} is required\n
    \n
    \n
    \n\n
    \n \n
    \n {{singleFieldComponent.thirdFieldLabel}}: *\n
    \n \n\n
    \n
    \n {{singleFieldComponent.thirdFieldValidationMsg}} is required
    \n
    \n {{singleFieldComponent.thirdFieldValidationMsg}} already exists!\n
    \n
    \n {{singleFieldComponent.ThirdFieldPatternValidationMessage}}\n
    \n
    \n
    \n
    \n\n \n
    \n \n \n\n \n
    \n \n \n
    \n
    \n {{singleFieldComponent.ThirdFieldValidationMsg}} is required
    \n
    \n {{singleFieldComponent.ThirdFieldValidationMsg}} already exists!\n
    \n
    \n
    \n \n
    \n\n
    \n \n
    \n \n \n \n \n\n \n Product Model\n \n \n Product Discount From\n \n \n \n \n\n \n \n \n \n \n {{item.ModelName}}\n \n \n \n \n \n \n \n
    \n\n
    \n\n\n
    \n\n
    \n
    \n \n
    \n
    \n From :\n
    \n \n
    \n \n
    \n To :\n
    \n \n
    \n
    \n\n
    \n \n Approval Authority :\n \n
    \n\n
    \n Level 1:\n \n
    \n \n
    \n\n
    \n Level 2:\n \n
    \n \n
    \n
    \n
    \n Level 3:\n \n
    \n \n
    \n \n
    \n
    \n\n
    \n \n
    \n
    \n
    \n
    \n
    \n   \n   \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n\n
    \n\n
    \n
    \n\n","import { AppGlobals } from 'src/app/app.global';\nimport { Component, OnInit, Input, ViewChild, ElementRef } from '@angular/core';\nimport { CustomerModel, PlantInformationWithGSTNoModel, TopManagementModel, AttachmentModel } from 'src/app/Model/CustomerModel';\nimport { MatDialog } from '@angular/material/dialog';\nimport { CommonService } from 'src/app/Service/common.service';\nimport { ToastrService } from 'ngx-toastr';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { ConfirmDialogComponent } from 'src/app/confirm-dialog/confirm-dialog.component';\n\nimport { FormGroup } from '@angular/forms';\nimport { Title } from '@angular/platform-browser';\nimport { AccessPermissionModel } from 'src/app/Model/WorkFlowScreenAccessModel';\nimport { AccessPermissionService } from 'src/app/Service/access-permission.service';\nimport { AppConfigService } from 'src/app/Service/app-config.service';\n\n@Component({\n selector: 'app-add-customer',\n templateUrl: './add-customer.component.html',\n styleUrls: ['./add-customer.component.scss']\n})\nexport class AddCustomerComponent implements OnInit {\n accesspermissionobj:AccessPermissionModel[]=Array();\n AccesspermissionForRole:any[]=[];\n\n CustomerModel: CustomerModel = new CustomerModel();\n emailPattern: string = \"^[a-zA-Z0-9_\\\\.-]+@([a-zA-Z0-9-]+\\\\.)+[a-zA-Z]{2,6}$\";\n urlPattern_old: string = \"^http(s?)\\:\\/\\/[0-9a-zA-Z]([-.\\w]*[0-9a-zA-Z])*(:(0-9)*)*(\\/?)([a-zA-Z0-9\\-\\.\\?\\,\\'\\/\\\\\\+&%\\$#_]*)?$\";\n urlPattern: string = \"(https?://)?([\\da-z.-]+)\\.([a-z.]{2,6})[/\\w .-]*/?\";\n charCode: any;\n Country: any[] = [];\n Region: any[] = [];\n IndustrySegment: any[] = [];\n CustomerClassification: any[] = [];\n CustomerCategory: any[] = [];\n Typeofcustomer: any[] = [];\n SubSegment: any[] = [];\n InvalidExtension: boolean;\n CustomerGroup: any[] = []; //for customer group & code\n CustomerGroupCode: any[] = []; //for customer group & code\n fileType: any[] = ['image/bmp', 'image/jpeg', 'image/png', 'application/pdf', 'text/plain', 'text/csv', 'application/xml', 'text/xml',\n 'application/msword', 'image/jpg', 'application/msword', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',\n 'application/zip', 'application/x-zip-compressed', 'application/vnd.ms-powerpoint', 'application/vnd.openxmlformats-officedocument.presentationml.presentation'];\n\n KYCfileType: any[] = ['text/csv', 'application/vnd.ms-excel', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'];\n KYC1fileType: any[] = ['application/vnd.openxmlformats-officedocument.spreadsheetml.sheet']\n tempCorporatePresentation: any;\n tempOrganogram: any;\n tempKYC1: any;\n tempKYC2: any;\n tempKYC3: any;\n PlantInformationWithGSTNoobj: PlantInformationWithGSTNoModel = new PlantInformationWithGSTNoModel();\n TopmanagementObj: TopManagementModel = new TopManagementModel();\n Attachmentobj: AttachmentModel = new AttachmentModel();\n KYC1Attachment: any;\n @Input()\n showLoader: boolean = false;\n plant: any;\n\n fileUrl = AppGlobals.baseFileDownloadUrl + \"KYC/KYCTemplate.xlsx\";\n //fileUrl = AppGlobals.baseFileDownloadUrl + \"KYC/UpgatedKYCTemplate.xlsx\";\n fileUploadForm: FormGroup;\n fileInputLabel: string;\n myfile: string;\n uploadedData: any;\n industrySeg: any;\n subseg: any;\n customerClass: any;\n custCategory: any;\n custType: any;\n tempRegion: any;\n plantRegion: any;\n countryName: any;\n customergroupName: any; //for customer group & code\n customergroupCode: any; //for customer group & code\n remLimit: any = 1500;\n maxLimit: any = 1500;\n varLongTermGoal: any;\n UserRole: any;\n isCustomerEditable: boolean = false;\n type:any;\n mailIdFormat : any;\n businessOfWhichComapany : any;\n opportunitiesForWhichCompany : any;\n weissContactDetailsOfWhichCountry : any;\n weissWithAbbreviatedCountry : any;\n\n constructor(private router: Router, private toastr: ToastrService, private Service: CommonService,\n public dialog: MatDialog, private route: ActivatedRoute, private titleService: Title,private accessservice: AccessPermissionService,\n private appConfigService : AppConfigService) { }\n\n ngOnInit(): void {\n const appConfig = this.appConfigService.getConfig();\n const dynamicTitle = this.route.snapshot.data['title'];\n this.titleService.setTitle(`${dynamicTitle} - ${appConfig.titleName}`);\n this.mailIdFormat = appConfig.mailIdFormat;\n this.businessOfWhichComapany = appConfig.businessOfWhichComapany;\n this.opportunitiesForWhichCompany = appConfig.opportunitiesForWhichCompany;\n this.weissContactDetailsOfWhichCountry = appConfig.weissContactDetailsOfWhichCountry;\n this.weissWithAbbreviatedCountry = appConfig.weissWithAbbreviatedCountry;\n // this.titleService.setTitle(this.route.snapshot.data['title'] + \" - ECOTECH\");\n //this.GetCustomerCode();\n // this.GetCustomerDropdownData();\n this.UserRole = localStorage.getItem(\"UserRole\");\n this.getAccess();\n //this.isCustomerEditable = AppGlobals.CustomerMastersEditableAccessArray.filter(x => x.role == this.UserRole)[0]?.isEditable;\n this.CustomerModel.BasicCustomerInformationModel.Id = this.route.snapshot.params[\"id\"];\n this.type = this.route.snapshot.params[\"type\"];\n this.GetCustomerDropdownData();\n if(this.type=='lead')\n {\n this.getLeadDetailsById(this.CustomerModel.BasicCustomerInformationModel.Id);\n }\n }\n\n getLeadDetailsById(leadId: number) {\n this.showLoader = true;\n\n let queryString = \"\";\n queryString = \"Lead_Id=\" + leadId;\n\n this.Service.GetData('Lead', 'GetLeadByIDForCustomer', queryString).subscribe((data: any) => {\n this.CustomerModel = data;\n this.GetSubSegment(this.CustomerModel.CustomerProfile.IndustrySegment);\n this.GetCustomerGroupCode(this.CustomerModel.BasicCustomerInformationModel.CustomergroupId);\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n\n }\n\n /*******************************************************************************\n * Get data for add customer\n * ******************************************************************************/\n // GetCustomerCode() {\n // this.showLoader = true;\n // this.Service.GetData(\"Customer\", \"GetMaxId\", null).subscribe((data: any) => {\n // //this.CustomerModel.BasicCustomerInformationModel.CustomerCode = data;\n // this.CustomerCode = data;\n // this.showLoader = false;\n // }, error => {\n // this.toastr.error(\"Failed to load data!\");\n // this.showLoader = false;\n // });\n // }\n\n GetCustomerDropdownData() {\n this.showLoader = true;\n this.Service.GetData(\"Customer\", \"GetCustomerDropdownDetails\", null).subscribe((data: any) => {\n this.Country = data.Country;\n this.Region = data.Region;\n this.IndustrySegment = data.IndustrySegment;\n this.CustomerCategory = data.CustomerCategory;\n this.CustomerClassification = data.CustomerClassification;\n this.Typeofcustomer = data.CustomerType;\n this.CustomerGroup = data.CustomerGroup; //for customer group & code\n // console.log(\"CustomerGroup array---->\",this.CustomerGroup)\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n\n GetSubSegment(IndustrySegment: number) {\n this.showLoader = true;\n\n let queryString = \"\";\n queryString = \"SegmentId=\" + IndustrySegment;\n this.Service.GetData(\"SubSegment\", \"GetByIndustrySegmentId\", queryString).subscribe((data: any) => {\n this.SubSegment = data;\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n\n /*******************************************************************************\n * End get data for add customer\n * ******************************************************************************/\n\n\n /*******************************************************************************\n * File Upload and Delete section\n * ******************************************************************************/\n\n CheckFileValidation(File: any, ValidFileType: any[], MaxSize: number) {\n var Result = {\n isExtensionValid: false,\n isSizeValid: false\n };\n let FileType = File.type;\n if ((File.size) / 1000000 <= MaxSize) {\n Result.isSizeValid = true;\n for (var j = 0; j < ValidFileType.length; j++) {\n if (FileType.toLowerCase() == ValidFileType[j]) {\n Result.isExtensionValid = true;\n break;\n }\n\n }\n\n }\n else {\n Result.isSizeValid = false;\n }\n return Result;\n }\n\n NoOfEmp(myform: any) {\n if (this.CustomerModel.CompanyTurnover.Noofemployees == 0 && this.CustomerModel.CompanyTurnover.Noofemployees.toString() != \"\") {\n myform.controls['noofemployees'].setErrors({ NoGreater: true });\n }\n }\n\n getfiledetails(e: any) {\n if (e.target.files[0].name.length > 50) {\n e.target.value = null;\n this.toastr.warning(\"The file name with more than 50 characters are not allowed.\");\n }\n else {\n if (e.target.name == \"KYC1attachment\" || e.target.name == \"KYC2attachment\" || e.target.name == \"KYC3attachment\") {\n var KycResult;\n if (e.target.name == \"KYC1attachment\") {\n KycResult = this.CheckFileValidation(e.target.files[0], this.KYC1fileType, 5);\n }\n else {\n KycResult = this.CheckFileValidation(e.target.files[0], this.KYCfileType, 5);\n }\n if (KycResult.isExtensionValid == true && KycResult.isSizeValid == true) {\n if (e.target.name == \"KYC1attachment\") {\n this.showLoader = true;\n this.myfile = e.target.files[0];\n const formData = new FormData();\n formData.append('file', this.myfile);\n\n this.Service.PostData('Customer', 'AddFromFile', formData, null).subscribe((response: any) => {\n if (response == \"Invalid file.\") {\n this.toastr.warning(\"Please select valid file.\");\n }\n else {\n if (response != null) {\n this.CustomerModel = response;\n if (this.CustomerModel.CompanyTurnover.GroupTurnoverYear == 0) this.CustomerModel.CompanyTurnover.GroupTurnoverYear = null;\n if (this.CustomerModel.CompanyTurnover.DomesticTurnoverYear == 0) this.CustomerModel.CompanyTurnover.DomesticTurnoverYear = null;\n if (this.CustomerModel.CompanyTurnover.ExportTurnoverYear == 0) this.CustomerModel.CompanyTurnover.ExportTurnoverYear = null;\n if (this.CustomerModel.CompanyTurnover.IndiaunitTurnoverYear == 0) this.CustomerModel.CompanyTurnover.IndiaunitTurnoverYear = null;\n if (this.CustomerModel.CompanyTurnover.ProjectedTurnoverYear == 0) this.CustomerModel.CompanyTurnover.ProjectedTurnoverYear = null;\n if (this.CustomerModel.CompanyTurnover.Noofemployees == 0) this.CustomerModel.CompanyTurnover.Noofemployees = null;\n this.industrySeg = this.IndustrySegment.filter(x => x.Name == this.CustomerModel.CustomerProfile.IndustrySegmentName);\n if (this.industrySeg.length > 0) { this.CustomerModel.CustomerProfile.IndustrySegment = this.industrySeg[0].Id; }\n\n if (this.CustomerModel.CustomerProfile.IndustrySegment != null) {\n this.showLoader = true;\n\n let queryString = \"\";\n queryString = \"SegmentId=\" + this.CustomerModel.CustomerProfile.IndustrySegment;\n this.Service.GetData(\"SubSegment\", \"GetByIndustrySegmentId\", queryString).subscribe((data: any) => {\n this.SubSegment = data;\n if (this.CustomerModel.CustomerProfile.SubSegmentName != \"\") {\n this.subseg = this.SubSegment.filter(x => x.SubSegmentName == this.CustomerModel.CustomerProfile.SubSegmentName);\n if (this.subseg.length > 0) { this.CustomerModel.CustomerProfile.SubSegment = this.subseg[0].Id; }\n }\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n \n // for customer grp name & code\n this.customergroupName = this.CustomerGroup?.filter(x => x.Name == this.CustomerModel.BasicCustomerInformationModel.CustomergroupName);\n if (this.customergroupName?.length > 0) { this.CustomerModel.BasicCustomerInformationModel.CustomergroupId = this.customergroupName[0].Id; }\n\n if (this.CustomerModel.BasicCustomerInformationModel.CustomergroupId != null) {\n this.showLoader = true;\n\n var queryString ;\n queryString = this.CustomerModel.BasicCustomerInformationModel.CustomergroupId;\n this.CustomerGroupCode = this.CustomerGroup?.filter(x => x.Id == queryString);\n \n if (this.CustomerModel.BasicCustomerInformationModel.CustomergroupCode != \"\") \n {\n this.customergroupCode = this.CustomerGroupCode?.filter(x => x.Value == this.CustomerModel.BasicCustomerInformationModel.CustomergroupCode);\n if (this.customergroupCode.length > 0) { this.CustomerModel.BasicCustomerInformationModel.CustomergroupId = this.customergroupCode[0].Id; }\n }\n else{\n this.toastr.error(\"Failed to load data!\");\n }\n this.showLoader = false;\n }\n \n if (this.CustomerModel.CustomerProfile.CustomerClassificationName != \"\") {\n this.customerClass = this.CustomerClassification?.filter(x => x.Name == this.CustomerModel.CustomerProfile.CustomerClassificationName);\n if (this.customerClass.length > 0) { this.CustomerModel.CustomerProfile.CustomerClassification = this.customerClass[0].Id; }\n }\n\n if (this.CustomerModel.CustomerProfile.CustomerCategoryName != \"\") {\n this.custCategory = this.CustomerCategory?.filter(x => x.Name == this.CustomerModel.CustomerProfile.CustomerCategoryName);\n if (this.custCategory.length > 0) { this.CustomerModel.CustomerProfile.CustomerCategory = this.custCategory[0].Id; }\n }\n\n if (this.CustomerModel.CustomerProfile.TypeofcustomerName != \"\") {\n this.custType = this.Typeofcustomer.filter(x => x.Name == this.CustomerModel.CustomerProfile.TypeofcustomerName);\n if (this.custType.length > 0) { this.CustomerModel.CustomerProfile.Typeofcustomer = this.custType[0].Id; }\n }\n\n if (this.CustomerModel.WINWSEAContactDetails.RegionName != \"\") {\n this.tempRegion = this.Region.filter(x => x.Name == this.CustomerModel.WINWSEAContactDetails.RegionName);\n if (this.tempRegion.length > 0) { this.CustomerModel.WINWSEAContactDetails.Region = this.tempRegion[0].Id; }\n }\n\n // if()\n // this.customerClass = this.CustomerClassification.filter(x => x.Name == this.CustomerModel.CustomerProfile.CustomerClassificationName);\n // if (this.customerClass.length > 0) { this.CustomerModel.CustomerProfile.CustomerClassification = this.customerClass[0].Id; }\n if (this.CustomerModel.BasicCustomerInformationModel.CountryName != \"\") {\n this.countryName = this.Country.filter(x => x.Name == this.CustomerModel.BasicCustomerInformationModel.CountryName);\n if (this.countryName.length > 0) { this.CustomerModel.BasicCustomerInformationModel.Country = this.countryName[0].Id; }\n }\n\n\n let i = 0;\n this.CustomerModel.PlantInformationWithGSTNo.forEach(element => {\n this.plantRegion = this.Region.filter(x => x.Name == element.RegionName);\n if (this.plantRegion.length > 0) { this.CustomerModel.PlantInformationWithGSTNo[i].Region = this.plantRegion[0].Id; }\n i++;\n });\n\n\n }\n }\n this.showLoader = false;\n }, error => {\n this.toastr.error('Failed to load data!');\n this.showLoader = false;\n\n });\n }\n else if (e.target.name == \"KYC2attachment\") {\n this.Attachmentobj.KYC2Attachment = e.target.files[0];\n }\n else if (e.target.name == \"KYC3attachment\") {\n this.Attachmentobj.KYC3Attachment = e.target.files[0];\n }\n\n }\n else if (KycResult.isSizeValid == false) {\n e.target.value = null;\n this.toastr.warning(\"File size must be less than or equal to 5MB!\");\n }\n else if (KycResult.isExtensionValid == false) {\n e.target.value = null;\n if (e.target.name == \"KYC1attachment\") {\n this.toastr.warning(\"Please attach the file having extension :\\n\\n .xlsx\");\n }\n else {\n this.toastr.warning(\"Please attach the file having extension :\\n\\n .xls, .xlsx\");\n }\n }\n\n }\n\n else {\n var Result = this.CheckFileValidation(e.target.files[0], this.fileType, 5)\n if (Result.isExtensionValid == true && Result.isSizeValid == true) {\n if (e.target.name == \"corppresentation\") {\n this.Attachmentobj.CorporatePresentationAttachment = e.target.files[0];\n }\n else if (e.target.name == \"organogram\") {\n this.Attachmentobj.OrganogramAttachment = e.target.files[0];\n }\n\n }\n else if (Result.isSizeValid == false) {\n e.target.value = null;\n this.toastr.warning(\"File size must be less than or equal to 5MB!\");\n }\n else if (Result.isExtensionValid == false) {\n e.target.value = null;\n this.toastr.warning(\"Please attach the file having extension :\\n\\n .bmp, .jpeg, .jpg, .png, .pdf, .xml, .txt, .doc, .docx, .zip, .ppt, .pptx\");\n }\n\n }\n }\n }\n\n DeleteAttachments(Type: any) {\n switch (Type) {\n case \"corppresentation\":\n this.Attachmentobj.CorporatePresentationAttachment = null;\n break;\n case \"organogram\":\n this.Attachmentobj.OrganogramAttachment = null;\n break;\n case \"KYC2attachment\":\n this.Attachmentobj.KYC2Attachment = null;\n break;\n case \"KYC3attachment\":\n this.Attachmentobj.KYC3Attachment = null;\n break;\n case \"KYC1attachment\":\n this.KYC1Attachment = null;\n break;\n }\n }\n\n /*******************************************************************************\n * End File Upload section\n * ******************************************************************************/\n OnselectIndustrySegment(event: any) {\n this.CustomerModel.CustomerProfile.SubSegment = null;\n this.GetSubSegment(event.target.value);\n }\n\n //for customer grp name & code\n OnselectCustomerGroupName(event: any) {\n //this.CustomerModel.BasicCustomerInformationModel.CustomergroupId = null;\n this.GetCustomerGroupCode(event.target.value);\n \n }\n\n GetCustomerGroupCode(CustomerGroupId: number) {\n this.CustomerModel.BasicCustomerInformationModel.CustomergroupCode = null;\n this.CustomerGroupCode = this.CustomerGroup.filter(x => x.Id == CustomerGroupId);\n // console.log(\"After CustomerGroupName change---->\",this.CustomerGroupCode);\n \n }\n /*******************************************************************************\n * Form validation method\n * ******************************************************************************/\n\n isNumberKey(evt: any) {\n this.charCode = (evt.which) ? evt.which : evt.keyCode;\n if (this.charCode != 46 && this.charCode > 31\n && (this.charCode < 48 || this.charCode > 57)) {\n return false;\n }\n else {\n return true;\n }\n }\n\n AvoidSpace(event: any) {\n if (event.which === 32 && !event.target.value.length) {\n event.preventDefault();\n }\n }\n\n PercentageShareValidation(myform: any) {\n if (this.CustomerModel.FinancialDetails.PercentageShare > 100) {\n myform.controls['percentageshare'].setErrors({ PercentageGreater: true });\n }\n }\n /*******************************************************************************\n * End Form validation method \n * ******************************************************************************/\n\n /*******************************************************************************\n * Add multiple filed (Dynamic grid)\n * ******************************************************************************/\n AddNewRow(Type: any) {\n\n if (Type == 'Submitted') {\n if (this.PlantInformationWithGSTNoobj.CompanyName != \"\" || this.PlantInformationWithGSTNoobj.Region != null || this.PlantInformationWithGSTNoobj.Address != \"\" || this.PlantInformationWithGSTNoobj.GSTNo != \"\" ||\n this.PlantInformationWithGSTNoobj.KeyAccountNo != \"\" || this.PlantInformationWithGSTNoobj.ContactNo != \"\" || this.PlantInformationWithGSTNoobj.Email != \"\") {\n this.CustomerModel.PlantInformationWithGSTNo.push(this.PlantInformationWithGSTNoobj);\n this.PlantInformationWithGSTNoobj = new PlantInformationWithGSTNoModel();\n }\n if (this.TopmanagementObj.Name != \"\" || this.TopmanagementObj.Designation != \"\" || this.TopmanagementObj.ContactNo != \"\" || this.TopmanagementObj.Email != \"\") {\n this.CustomerModel.TopManagement.push(this.TopmanagementObj);\n this.TopmanagementObj = new TopManagementModel();\n }\n\n }\n else {\n\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Do you want to add another row for entering remaining details?\"\n }\n });\n\n dialogRef.afterClosed().subscribe(dialogResult => {\n\n if (dialogResult) {\n if (Type == 'Plant') {\n if (Object.keys(this.PlantInformationWithGSTNoobj).length > 0) {\n this.CustomerModel.PlantInformationWithGSTNo.push(this.PlantInformationWithGSTNoobj);\n this.PlantInformationWithGSTNoobj = new PlantInformationWithGSTNoModel();\n }\n }\n if (Type == 'TopManagement') {\n if (Object.keys(this.TopmanagementObj).length > 0) {\n this.CustomerModel.TopManagement.push(this.TopmanagementObj);\n this.TopmanagementObj = new TopManagementModel();\n }\n }\n }\n\n });\n\n }\n\n }\n\n deleteField(index: any, Type) {\n\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Do you want to delete this record?\"\n }\n });\n\n dialogRef.afterClosed().subscribe(dialogResult => {\n\n if (dialogResult) {\n if (Type == 'Plant') {\n this.CustomerModel.PlantInformationWithGSTNo.splice(index, 1);\n }\n if (Type == 'TopManagement') {\n this.CustomerModel.TopManagement.splice(index, 1);\n }\n }\n });\n }\n\n /*******************************************************************************\n * End - add multiple filed (Dynamic grid)\n * ******************************************************************************/\n\n onSubmit(myform: any) {\n\n if(this.type=='lead')\n {\n this.CustomerModel.BasicCustomerInformationModel.leadId=this.route.snapshot.params[\"id\"];\n \n }\n if (this.CustomerModel.FinancialDetails.PercentageShare > 100) {\n myform.controls['percentageshare'].setErrors({ PercentageGreater: true });\n }\n else {\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Do you want to add this customer?\"\n }\n });\n if (this.CustomerModel.CompanyTurnover.Noofemployees == 0 && this.CustomerModel.CompanyTurnover.Noofemployees.toString() != \"\") {\n myform.controls['noofemployees'].setErrors({ NoGreater: true });\n }\n\n dialogRef.afterClosed().subscribe(dialogResult => {\n\n if (dialogResult) {\n\n this.AddNewRow('Submitted');\n // this.CustomerModel.BasicCustomerInformationModel.CustomerCode = this.CustomerCode;\n const frmData = new FormData();\n frmData.append(\"KYC2Attachment\", this.Attachmentobj.KYC2Attachment);\n frmData.append(\"KYC3Attachment\", this.Attachmentobj.KYC3Attachment);\n frmData.append(\"CorporatePresentationAttachment\", this.Attachmentobj.CorporatePresentationAttachment);\n frmData.append(\"OrganogramAttachment\", this.Attachmentobj.OrganogramAttachment);\n let CustomerDetails = JSON.stringify(this.CustomerModel);\n frmData.append(\"CustomerModel\", CustomerDetails);\n this.showLoader = true;\n this.Service.PostData('Customer', 'Add', frmData, null).subscribe((data: any) => {\n let result = data;\n this.showLoader = false;\n if (result.ResponseCode == 1) {\n this.toastr.success('Customer details added successfully!');\n //this.router.navigate(['/Customer']);\n this.goBack();\n }\n else {\n this.toastr.error(\"Failed to add customer details!\");\n this.showLoader = false;\n }\n\n }, error => {\n this.toastr.error('Failed to add customer details!');\n this.showLoader = false;\n this.goBack()\n });\n }\n });\n\n }\n\n }\n limitTextOnKeyUpDown1(event: any) {\n let goalText = event.target.value;\n if (goalText.length > this.maxLimit) {\n this.varLongTermGoal = goalText.substring(0, this.maxLimit);\n } else {\n this.remLimit = this.maxLimit - goalText.length;\n }\n }\n goBack()\n {\n if(this.type==\"customer\")\n {\n this.router.navigate(['/Customer']);\n }\n else{\n this.router.navigate(['/Lead']);\n }\n }\n\n getAccess()\n {\n this.accessservice.GetAll().subscribe((data:any)=> {\n this.accesspermissionobj=data;\n this.isCustomerEditable=this.accesspermissionobj.filter(x => x.Fk_RoleId == this.UserRole && x.ElementKey=='isCustomer')[0]?.IsEditable;\n \n });\n \n }\n\n}\n","\n\n
    \n\n \n \n\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n Add Customer\n

    \n
    \n
    \n\n
    \n
    \n * Marked fields are\n mandatory\n
    \n
    \n
    \n \n\n   \n\n Download template here\n
    \n [File Format: .xlsx] [Max 5 MB]\n
    \n\n\n
    \n\n
    \n
    \n
    \n \n
    \n \n
    \n \n \n Should be in Email Id format ({{mailIdFormat}})\n
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n \n
    \n \n
    \n
    \n\n
    \n \n First Contact Commercial Person Details\n
    \n
    \n \n
    \n \n\n
    \n
    \n \n
    \n \n
    \n \n Please enter valid contact number
    \n \n Contact number should be 10-15 digits
    \n \n Contact number should be 10-15 digits\n
    \n
    \n
    \n \n
    \n \n
    \n \n
    \n\n \n \n Should be in Email Id format ({{mailIdFormat}})\n
    \n
    \n
    \n
    \n \n
    \n \n
    \n \n
    \n \n
    \n \n
    \n
    \n \n
    \n \n
    \n
    \n\n
    \n \n Financial Details\n
    \n
    \n \n
    \n \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n \n
    \n \n
    \n\n
    \n Please enter valid percentage of share
    \n \n Percentage of Share must be less than or equal to 100
    \n
    \n
    \n \n\n \n \n\n\n
    \n
    \n
    \n
    \n

    \n \n {{weissContactDetailsOfWhichCountry}} Contact Details\n

    \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n \n
    \n
    \n \n {{weissWithAbbreviatedCountry}} account manager is required
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n Region is required
    \n
    \n
    \n
    \n
    \n \n \n
    \n \n
    \n
    \n \n \n
    \n \n\n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n

    \n Customer Profile\n

    \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n Company information/history is required
    \n
    \n
    \n\n
    \n
    \n \n
    \n \n
    \n
    \n Brands/Products range is required
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n \n
    \n \n [File Format: .bmp, .jpeg, .jpg, .png, .pdf, .xml, .txt, .doc,\n .docx, .zip, .ppt, .pptx] [Max 5 MB]\n {{Attachmentobj.CorporatePresentationAttachment != undefined ?\n Attachmentobj.CorporatePresentationAttachment.name : \"\"}}\n
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n Industry segment is required
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n Sub segment is required
    \n
    \n
    \n\n
    \n
    \n \n
    \n \n
    \n
    \n Customer classification is required
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n Type of customer is required
    \n
    \n
    \n\n\n
    \n
    \n \n
    \n \n
    \n
    \n Customer category is required
    \n
    \n
    \n
    \n
    \n
    \n \n Company Turnover\n
    \n
    \n
    \n \n
    \n \n
    \n
    \n \n
    \n \n
    \n\n
    \n Please enter only numbers
    \n
    \n Year should be 4 digits
    \n
    \n Year should be 4 digits
    \n
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n \n
    \n \n
    \n\n
    \n Please enter only numbers
    \n
    \n Year should be 4 digits
    \n
    \n Year should be 4 digits
    \n
    \n
    \n
    \n
    \n \n
    \n \n\n
    \n
    \n \n
    \n \n
    \n\n
    \n Please enter only numbers
    \n
    \n Year should be 4 digits
    \n
    \n Year should be 4 digits
    \n
    \n
    \n
    \n
    \n \n
    \n \n\n
    \n
    \n \n
    \n \n
    \n\n
    \n Please enter only numbers
    \n
    \n Year should be 4 digits
    \n
    \n Year should be 4 digits
    \n
    \n
    \n
    \n
    \n \n
    \n \n\n
    \n
    \n \n
    \n \n
    \n\n
    \n Please enter only numbers
    \n
    \n Year should be 4 digits
    \n
    \n Year should be 4 digits
    \n
    \n
    \n
    \n
    \n \n
    \n\n \n
    \n\n
    \n Please enter only numbers
    \n
    \n No. of Employees must be greater than 0
    \n
    \n\n
    \n
    \n \n
    \n \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n \n
    \n \n
    \n
    \n Customer's customer is required
    \n
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n \n Plant Information With GST No.\n
    \n
    \n\n
    \n \n \n \n \n Company Name\n \n \n Region\n \n \n Address\n \n \n GST No.\n \n \n Key Account Name\n \n \n Contact No.\n \n \n Email\n \n\n \n Action\n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n\n \n \n\n \n \n \n \n \n\n \n \n \n \n\n \n \n \n\n \n \n \n
    \n \n Please enter valid contact number
    \n \n Contact number should be 10-15 digits
    \n \n Contact number should be 10-15 digits\n
    \n
    \n \n \n \n
    \n\n
    \n \n Should be in Email Id format ({{mailIdFormat}})\n
    \n
    \n \n \n \n \n \n\n \n \n \n\n \n \n\n
    \n
    \n
    \n
    \n

    \n Top Management - Board of Directors, Key Contacts\n

    \n
    \n
    \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n\n \n \n\n \n \n \n \n\n \n
    NameDesignation/ Dept.Contact No.EmailAction
    \n \n \n \n \n \n \n \n \n \n
    \n \n \n \n\n \n \n
    \n \n Please enter valid contact number
    \n \n Contact number should be 10-15 digits\n \n Contact number should be 10-15 digits\n \n \n
    \n \n
    \n\n \n \n Should be in Email Id format ({{mailIdFormat}})\n
    \n \n
    \n \n
    \n
    \n
    \n\n \n
    \n
    \n
    \n \n
    \n \n [File Format: .bmp, .jpeg, .jpg, .png, .pdf, .xml, .txt, .doc,\n .docx, .zip, .ppt, .pptx] [Max 5 MB]\n {{Attachmentobj.OrganogramAttachment != undefined ?\n Attachmentobj.OrganogramAttachment.name : \"\"}}\n
    \n
    \n
    \n
    \n
    \n\n\n
    \n
    \n
    \n
    \n

    \n \n {{businessOfWhichComapany}} Business\n

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

    \n \n Opportunities for {{opportunitiesForWhichCompany}}\n

    \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n Indexer is required
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n Heavy duty indexer is required
    \n
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n Linear transfer system is required
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n Pick and place system is required
    \n
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n Linear system is required
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n Direct drives is required
    \n
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n Delta robot is required
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n Value added solution is required
    \n
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n Accessories & spare Parts is required
    \n
    \n
    \n
    \n \n
    \n \n Limit {{maxLimit}} characters, {{remLimit}} characters remaining.\n
    \n
    \n Comments is required
    \n
    \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n

    \n Current Visible Competitors Name with USP  *\n

    \n
    \n
    \n
    \n
    \n
    \n\n
    \n \n
    \n \n Current visible competitors name with USP is required
    \n
    \n
    \n
    \n
    \n \n\n
    \n
    \n
    \n
    \n

    \n KYC Attachment\n

    \n
    \n
    \n
    \n
    \n
    \n\n \n
    \n
    \n
    \n \n
    \n \n [File Format: .xls, .xlsx] [Max 5 MB]\n {{Attachmentobj.KYC2Attachment != undefined ?\n Attachmentobj.KYC2Attachment.name : \"\"}}\n
    \n
    \n
    \n \n
    \n
    \n
    \n \n
    \n \n [File Format: .xls, .xlsx] [Max 5 MB]\n {{Attachmentobj.KYC3Attachment != undefined ?\n Attachmentobj.KYC3Attachment.name : \"\"}}\n
    \n
    \n
    \n\n \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n   \n \n Cancel\n
    \n
    \n
    \n
    \n \n \n \n \n \n \n","import { Component, OnInit, ViewChild, Input, NgZone, Output, EventEmitter } from '@angular/core';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort, Sort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { SingleFieldComponent, SingleFieldModel } from 'src/app/Model/SingleFieldModel';\nimport { UpdateStatus } from 'src/app/Model/CommonModel';\nimport { ToastrService } from 'ngx-toastr';\nimport { CommonService } from 'src/app/Service/common.service';\nimport { MatDialog } from '@angular/material/dialog';\nimport { ConfirmDialogComponent } from 'src/app/confirm-dialog/confirm-dialog.component';\nimport { AppGlobals } from 'src/app/app.global';\nimport { UserRoles } from 'src/app/UserRoles';\n\nimport * as Excel from 'exceljs/dist/exceljs'\nimport * as XLSX from 'xlsx';\nimport * as FileSaver from 'file-saver';\nimport { HttpClient } from '@angular/common/http';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { from } from 'rxjs';\nimport { Title } from '@angular/platform-browser';\nimport { AccessPermissionModel } from 'src/app/Model/WorkFlowScreenAccessModel';\nimport { AccessPermissionService } from 'src/app/Service/access-permission.service';\nimport { AppConfigService } from 'src/app/Service/app-config.service';\n\nconst EXCEL_TYPE = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8';\nconst EXCEL_EXTENSION = '.xlsx';\n\n@Component({\n selector: 'app-customer-details',\n templateUrl: './customer-details.component.html',\n styleUrls: ['./customer-details.component.scss']\n})\nexport class CustomerDetailsComponent implements OnInit {\n accesspermissionobj:AccessPermissionModel[]=Array();\n AccesspermissionForRole:any[]=[];\n\n displayedColumns: string[] = ['Id', 'CompanyName', 'RegionName', 'GroupName', 'ContactPerson', 'KYCAttachment', 'Action'];\n dataSource: MatTableDataSource;\n singleFieldComponent: SingleFieldComponent = new SingleFieldComponent();\n singleFieldObj: SingleFieldModel = new SingleFieldModel();\n disabled: boolean = false;\n Role: any;\n UserRoles: any;\n isCustomerEditable: boolean = false;\n isDownloadCustomerData: boolean = false;\n isKYCAttchmentVisible: boolean = false;\n /*************************************************************************\n Server side Pagination purpose\n *************************************************************************/\n pageNumber: number = 1;\n @Input() pageSize: number = 5;\n @Input() length: number;\n @Input() pageIndex: number = this.pageNumber - 1;\n direction: string = 'desc';\n ColumnName: string = 'ModifiedOn';\n SearchText: string = \"\";\n @Output('matSortChange') sortChange: EventEmitter;\n @ViewChild(MatPaginator) paginator: MatPaginator;\n \n /*************************************************************************\n End here\n *************************************************************************/\n\n\n @Input()\n showLoader: boolean = false;\n data: any[] = [];\n UpdateStatus: UpdateStatus = new UpdateStatus();\n myfile: any;\n customerData: any[] = [];\n type=\"customer\";\n \n constructor(private toastr: ToastrService, private Service: CommonService, public dialog: MatDialog,\n private http: HttpClient, private NgZone: NgZone, private router: Router, private route: ActivatedRoute,\n private titleService: Title,private accessservice: AccessPermissionService,\n private appConfigService : AppConfigService) {\n this.UserRoles = UserRoles;\n }\n\n ngOnInit() {\n const appConfig = this.appConfigService.getConfig();\n const dynamicTitle = this.route.snapshot.data['title'];\n this.titleService.setTitle(`${dynamicTitle} - ${appConfig.titleName}`);\n // this.titleService.setTitle(this.route.snapshot.data['title'] + \" - ECOTECH\");\n \n this.singleFieldComponent.RoutingParam = this.route.snapshot.params[\"CustomerSpecialDiscount\"];\n this.singleFieldObj.Id = this.route.snapshot.params[\"id\"];\n this.Role = localStorage.getItem(\"UserRole\");\n this.getAccess();\n // this.isCustomerEditable = AppGlobals.CustomerMastersEditableAccessArray.filter(x => x.role == this.Role)[0]?.isEditable;\n // this.isDownloadCustomerData = AppGlobals.CustomerMastersDataDownloadAccessArray.filter(x => x.role == this.Role)[0]?.isEditable;\n // this.isKYCAttchmentVisible= AppGlobals.CustomerMastersKYCAttachmentAccessArray.filter(x => x.role == this.Role)[0]?.isEditable;\n this.GetAllCustomerDetails();\n }\n\n ngOnChanges(){\n this.GetAllCustomerDetails();\n }\n\n /*************************************************************************\n * Below function used for Server side Pagination,Sorting and Searching\n * (1)GetAllCustomerDetails() - To get data for grid\n * (2)SearchParam() - searching\n * (3)sortData() - Sorting\n * (4)pageEvent() - Pagination\n * \n * ***********************************************************************/\n\n GetAllCustomerDetails() {\n this.showLoader = true;\n let queryString = \"\";\n queryString = \"pageNumber=\" + this.pageNumber;\n queryString += \"&pageSize=\" + this.pageSize;\n queryString += \"&searchText=\" + this.SearchText;\n queryString += \"&direction=\" + this.direction;\n queryString += \"&columnName=\" + this.ColumnName;\n\n this.Service.GetData('Customer', 'GetAllPagination', queryString).subscribe((data: any) => {\n this.data = data.Data;\n this.length = data.Total;\n\n this.dataSource = new MatTableDataSource(this.data);\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n\n\n }\n\n SearchParam(event: any) {\n this.SearchText = event.target.value;\n this.pageNumber = 1;\n this.paginator.pageIndex = 0;\n this.GetAllCustomerDetails();\n }\n\n sortData(event: any) {\n if (this.dataSource.filteredData != null) {\n this.direction = event.direction;\n this.ColumnName = event.active;\n this.GetAllCustomerDetails();\n }\n }\n\n pageEvent(event: any) {\n \n window.scroll({\n top: 0,\n left: 0,\n behavior: 'smooth'\n });\n \n this.pageNumber = event.pageIndex + 1;\n this.pageSize = event.pageSize;\n this.GetAllCustomerDetails();\n }\n /************************************************************************\n * Grid Code End \n * **********************************************************************/\n\n /*******************************************************************************\n * Form validation method\n * ******************************************************************************/\n\n AvoidSpace(event: any) {\n if (event.which === 32 && !event.target.value.length) {\n event.preventDefault();\n }\n }\n\n /*******************************************************************************\n * End Form validation method \n * ******************************************************************************/\n\n /*******************************************************************************\n *Download file section\n * ******************************************************************************/\n DownloadFile(Path: any) {\n let link = document.createElement('a');\n let path = AppGlobals.baseAppUrl + 'Uploads/' + Path\n link.setAttribute('href', path);\n document.body.appendChild(link);\n link.click();\n link.remove();\n return false;\n\n }\n /*******************************************************************************\n *End Download file section\n * ******************************************************************************/\n\n UpdateCustomerStatusById(Id: number, CurrentStatus: boolean) {\n\n if (CurrentStatus == true) {\n //Create ConfirmDialogRef \n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Do you want to deactivate this customer?\"\n }\n });\n // listen to response from ConfirmDialogRef\n dialogRef.afterClosed().subscribe(dialogResult => {\n // if user pressed yes dialogResult will be true, \n // if he pressed no - it will be false\n if (dialogResult) {\n this.pageNumber = 1;\n this.paginator.pageIndex = 0;\n this.length = 0;\n this.direction = 'desc';\n this.ColumnName = 'ModifiedOn';\n this.showLoader = true;\n\n let queryString = \"\";\n queryString = \"id=\" + Id;\n\n this.Service.PostData('Customer', 'UpdateStatus', null, queryString).subscribe((data: any) => {\n this.showLoader = false;\n if (data.ResponseCode == 1) {\n this.toastr.success(\"Customer deactivated successfully!\");\n }\n else {\n this.toastr.info(\"Failed to deactivate customer!\");\n }\n this.GetAllCustomerDetails();\n }, error => {\n this.toastr.error(\"Failed to deactivate customer!\");\n this.GetAllCustomerDetails();\n this.showLoader = false;\n });\n }\n else {\n this.GetAllCustomerDetails();\n this.showLoader = false;\n let element: HTMLElement = document.getElementsByClassName('slideToogle')[0] as HTMLElement;\n element.click();\n }\n });\n\n }\n else {\n //Create ConfirmDialogRef\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Do you want to activate this customer?\"\n }\n });\n // listen to response from ConfirmDialogRef\n dialogRef.afterClosed().subscribe(dialogResult => {\n // if user pressed yes dialogResult will be true, \n // if he pressed no - it will be false\n if (dialogResult) {\n this.pageNumber = 1;\n this.paginator.pageIndex = 0;\n this.length = 0;\n this.direction = 'desc';\n this.ColumnName = 'ModifiedOn';\n this.showLoader = true;\n\n let queryString = \"\";\n queryString = \"id=\" + Id;\n\n this.Service.PostData('Customer', 'UpdateStatus', null, queryString).subscribe((data: any) => {\n this.showLoader = false;\n if (data.ResponseCode == 1) {\n this.toastr.success(\"Customer activated successfully!\");\n }\n else {\n this.toastr.info(\"Failed to activate customer!\");\n }\n this.GetAllCustomerDetails();\n }, error => {\n this.toastr.error(\"Failed to activate customer!\");\n this.GetAllCustomerDetails();\n this.showLoader = false;\n });\n\n }\n else {\n this.GetAllCustomerDetails();\n this.showLoader = false;\n let element: HTMLElement = document.getElementsByClassName('slideToogle')[0] as HTMLElement;\n element.click();\n }\n });\n }\n }\n\n\n ExportData() {\n this.Service.GetData(\"Customer\", \"ExporttoExcel\", null).subscribe((data: any) => {\n this.customerData = data;\n if (this.customerData.length > 0) {\n this.exportAsXLSX(this.customerData, 'CustomerData.xlsx');\n }\n else {\n this.toastr.error(\"Failed to load data!\");\n }\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n exportAsExcelFile(json: any[], excelFileName: string): void {\n // const worksheet: XLSX.WorkSheet = XLSX.utils.json_to_sheet(json);\n // const workbook: XLSX.WorkBook = { Sheets: { 'CustomerData': worksheet }, SheetNames: ['CustomerData'] };\n\n // const excelBuffer: any = XLSX.write(workbook, { bookType: 'xlsx', type: 'array' });\n // this.saveAsExcelFile(excelBuffer, excelFileName);\n let workbook = new Excel.Workbook();\n workbook = this.getworkSheet(json, workbook);\n workbook.xlsx.writeBuffer().then((data) => {\n let blob = new Blob([data], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });\n this.saveAsExcelFile(data, excelFileName);\n });\n }\n\n getworkSheet(sheet2: any[], workbook: any) {\n\n let worksheet = workbook.addWorksheet('CustomerData');\n let header = ['CustomerCode',\t'CompanyName',\t'AddressHeadquarters',\t'AddressPlant',\t'City',\t'State',\n 'PINCode',\t'Country',\t'MailAddress',\t'WebSite',\t'HeadquarterInfo',\t'KeyManagementPerson_Name',\n 'KeyManagementPerson_ContactNo',\t'KeyManagementPerson_MailAddress',\t'WINAccountManager',\t'Region',\n 'CompanyInformation',\t'BrandsProducts',\t'IndustrySegment',\t'SubSegment',\t'CustomerClassification',\n 'TypeofcustomerName',\t'CustomerCategory',\t'CustomersCustomer',\t'Indexer',\t'HeavyDutyIndexer',\t\n 'LinearTransferSystem',\t'PickandPlaceSystem',\t'LinearSystem',\t'Directdrives',\t'DeltaRobot',\t\n 'Valueaddedsolution',\t'AccessoriesSpareParts',\t'Comments',\t'CurrentVisibleCompetitorsNamewithUSP'];\n \n let headerRow = worksheet.addRow(header);\n\n headerRow.eachCell((cell, number) => {\n cell.fill = {\n type: 'pattern',\n pattern: 'solid',\n fgColor: { argb: '74B4FE' },\n bgColor: { argb: 'FF0000FF' }\n };\n cell.font = {\n name: 'Arial',\n family: 2,\n bold: true,\n size: 10,\n };\n cell.border = { top: { style: 'thin' }, left: { style: 'thin' }, bottom: { style: 'thin' }, right: { style: 'thin' } }\n\n })\n for (let key of Object.keys(sheet2)) {\n let tmparray = [];\n let tmpobj = sheet2[key];\n\n for (let key of Object.keys(tmpobj)) {\n let tmpobj1 = tmpobj[key];\n tmparray.push(tmpobj1)\n }\n worksheet.addRow(tmparray);\n }\n return workbook;\n\n }\n\n public saveAsExcelFile(buffer: any, fileName: string): void {\n const data: Blob = new Blob([buffer], { type: EXCEL_TYPE });\n FileSaver.saveAs(data, fileName);\n }\n\n public exportAsXLSX(arrayofdata, filename: string): void {\n //const data = this.getFormatedData(arrayofdata);\n this.exportAsExcelFile(arrayofdata, filename);\n }\n\n public getFormatedData(arrayofdata) {\n const formateddata = [];\n for (let i = 0; i < arrayofdata.length; i++) {\n const obj = arrayofdata[i];\n const newobj = {\n CustomerCode: obj.CustomerCode,\n Country: obj.Country,\n CompanyName: obj.CompanyName,\n AddressOfHeadquater: obj.AddressHeadquaters,\n AddressPlant: obj.AddressPlant,\n\n }\n formateddata.push(newobj);\n };\n return formateddata\n }\n\n getAccess()\n {\n this.accessservice.GetAll().subscribe((data:any)=> {\n this.accesspermissionobj=data;\n this.isCustomerEditable=this.accesspermissionobj.filter(x => x.Fk_RoleId == this.Role && x.ElementKey=='isCustomer')[0]?.IsEditable;\n this.isDownloadCustomerData = this.accesspermissionobj.filter(x => x.Fk_RoleId == this.Role && x.ElementKey=='IsCustomerMastersDataDownloadAccess')[0]?.IsVisible;\n this.isKYCAttchmentVisible=this.accesspermissionobj.filter(x => x.Fk_RoleId == this.Role && x.ElementKey=='IsCustomerMastersKYCAttachmentAccess')[0]?.IsVisible;\n });\n \n }\n \n}\n","\n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n Customer Listing\n\n

    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n\n \n\n
    \n
    \n Customer Frame Agreements\n \n \n \n\n Search\n \n \n\n
    \n\n
    \n\n
    \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n \n \n \n \n\n\n \n \n\n
    Customer Code {{row.CustomerCode}} Company Name {{row.CompanyName}} Region {{row.RegionName}} Group {{row.GroupName}} Contact Person {{row.ContactPerson}} KYC Attachment \n \n Action \n \n \n     \n\n \n   {{row.Status==true ? 'Active' : 'Inactive'}}\n \n\n    \n\n \n\n \n
    \n No records found
    \n\n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n","import { Component, OnInit, Input } from '@angular/core';\nimport { CustomerModel, PlantInformationWithGSTNoModel, TopManagementModel, AttachmentModel } from 'src/app/Model/CustomerModel';\nimport { MatDialog } from '@angular/material/dialog';\nimport { CommonService } from 'src/app/Service/common.service';\nimport { ToastrService } from 'ngx-toastr';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { ConfirmDialogComponent } from 'src/app/confirm-dialog/confirm-dialog.component';\nimport { AppGlobals } from 'src/app/app.global';\nimport { Title } from '@angular/platform-browser';\nimport { SingleFieldModel, SingleFieldComponent } from 'src/app/Model/SingleFieldModel';\nimport { AccessPermissionService } from 'src/app/Service/access-permission.service';\nimport { AccessPermissionModel } from 'src/app/Model/WorkFlowScreenAccessModel';\nimport { AppConfigService } from 'src/app/Service/app-config.service';\n\n@Component({\n selector: 'app-edit-view-customer',\n templateUrl: './edit-view-customer.component.html',\n styleUrls: ['./edit-view-customer.component.scss']\n})\nexport class EditViewCustomerComponent implements OnInit {\n CustomerModel: CustomerModel = new CustomerModel();\n emailPattern: string = \"^[a-zA-Z0-9_\\\\.-]+@([a-zA-Z0-9-]+\\\\.)+[a-zA-Z]{2,6}$\";\n urlPattern_old: string = \"^http(s?)\\:\\/\\/[0-9a-zA-Z]([-.\\w]*[0-9a-zA-Z])*(:(0-9)*)*(\\/?)([a-zA-Z0-9\\-\\.\\?\\,\\'\\/\\\\\\+&%\\$#_]*)?$\";\n urlPattern: string = \"(https?://)?([\\da-z.-]+)\\.([a-z.]{2,6})[/\\w .-]*/?\";\n charCode: any;\n Country: any[] = [];\n Region: any[] = [];\n IndustrySegment: any[] = [];\n SubSegment: any[] = [];\n CustomerClassification: any[] = [];\n CustomerCategory: any[] = [];\n Typeofcustomer: any[] = [];\n InvalidExtension: boolean;\n CustomerGroup: any[] = []; //for customer group & code\n CustomerGroupCode: any[] = []; //for customer group & code\n\n accesspermissionobj:AccessPermissionModel[]=Array();\n AccesspermissionForRole:any[]=[];\n\n\n fileType: any[] = ['image/bmp', 'image/jpeg', 'image/png', 'application/pdf', 'text/plain', 'text/csv', 'application/xml', 'text/xml',\n 'application/msword', 'image/jpg', 'application/msword', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',\n 'application/zip', 'application/x-zip-compressed', 'application/vnd.ms-powerpoint', 'application/vnd.openxmlformats-officedocument.presentationml.presentation'];\n KYCfileType: any[] = ['text/csv', 'application/xml', 'text/xml', 'application/vnd.ms-excel', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'];\n tempCorporatePresentation: any;\n tempOrganogram: any;\n tempKYC1: any;\n tempKYC2: any;\n tempKYC3: any;\n PlantInformationWithGSTNoobj: PlantInformationWithGSTNoModel = new PlantInformationWithGSTNoModel();\n TopmanagementObj: TopManagementModel = new TopManagementModel();\n isEditable: boolean = true;\n FormStatus: string = \"View\";\n Attachmentobj: AttachmentModel = new AttachmentModel();\n KYC1Attachment: any;\n UserRole: any;\n isCustomerEditable: boolean = false;\n ProductModelDiscount:any[]=[];\n specialDiscountEnrtiesVisible:boolean;\n singleFieldObj: SingleFieldModel = new SingleFieldModel();\n singleFieldComponent: SingleFieldComponent = new SingleFieldComponent();\n remLimit: any = 1500;\n maxLimit: any = 1500;\n varLongTermGoal: any;\n Id: any;\n mailIdFormat : any;\n businessOfWhichComapany : any;\n opportunitiesForWhichCompany : any;\n weissContactDetailsOfWhichCountry : any;\n weissWithAbbreviatedCountry : any;\n\n @Input()\n showLoader: boolean = false;\n \n //leadId: any;\n constructor(private router: Router, private route: ActivatedRoute, private toastr: ToastrService, private Service: CommonService, public dialog: MatDialog, private titleService: Title,private accessservice: AccessPermissionService,\n private appConfigService : AppConfigService) { }\n\n ngOnInit(): void {\n const appConfig = this.appConfigService.getConfig();\n const dynamicTitle = this.route.snapshot.data['title'];\n this.titleService.setTitle(`${dynamicTitle} - ${appConfig.titleName}`);\n this.mailIdFormat = appConfig.mailIdFormat;\n this.businessOfWhichComapany = appConfig.businessOfWhichComapany;\n this.opportunitiesForWhichCompany = appConfig.opportunitiesForWhichCompany;\n this.weissContactDetailsOfWhichCountry = appConfig.weissContactDetailsOfWhichCountry;\n this.weissWithAbbreviatedCountry = appConfig.weissWithAbbreviatedCountry;\n //this.titleService.setTitle(this.route.snapshot.data['title'] + \" - ECOTECH\");\n this.UserRole = localStorage.getItem(\"UserRole\");\n this.getAccess();\n // this.isCustomerEditable = AppGlobals.CustomerMastersEditableAccessArray.filter(x => x.role == this.UserRole)[0]?.isEditable;\n this.CustomerModel.BasicCustomerInformationModel.Id = this.route.snapshot.params[\"id\"];\n \n this.GetCustomerDropdownData();\n this.getCustomerDetailsById(this.CustomerModel.BasicCustomerInformationModel.Id);\n // this.getLeadDetailsById(this.CustomerModel.BasicCustomerInformationModel.Id);\n this.getDetailsByCustomerId(this.CustomerModel.BasicCustomerInformationModel.Id); \n this.Id = this.route.snapshot.params[\"id\"]; \n }\n\n\n\n EditDetails() {\n this.isEditable = false;\n this.FormStatus = \"Edit\";\n const appConfig = this.appConfigService.getConfig();\n this.titleService.setTitle(`Edit Customer - ${appConfig.titleName}`);\n //this.titleService.setTitle(\"Edit Customer - ECOTECH\");\n window.scroll({\n top: 0,\n left: 0,\n behavior: 'smooth'\n });\n }\n\n\n /*******************************************************************************\n * Get data for add customer\n * ******************************************************************************/\n getCustomerDetailsById(CustomerId: number) {\n this.showLoader = true;\n\n let queryString = \"\";\n queryString = \"id=\" + CustomerId;\n\n this.Service.GetData('Customer', 'GetById', queryString).subscribe((data: any) => {\n this.CustomerModel = data;\n this.remLimit = this.maxLimit - data.OpportunitiesforWeiss.Comments.length;\n this.GetSubSegment(this.CustomerModel.CustomerProfile.IndustrySegment);\n this.GetCustomerGroupCode(this.CustomerModel.BasicCustomerInformationModel.CustomergroupId);\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n\n }\n\n getLeadDetailsById(leadId: number) {\n this.showLoader = true;\n\n let queryString = \"\";\n queryString = \"Lead_Id=\" + leadId;\n\n this.Service.GetData('Lead', 'GetLeadByIDForCustomer', queryString).subscribe((data: any) => {\n this.CustomerModel = data;\n this.GetSubSegment(this.CustomerModel.CustomerProfile.IndustrySegment);\n this.GetCustomerGroupCode(this.CustomerModel.BasicCustomerInformationModel.CustomergroupId);\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n\n }\n\n getDetailsByCustomerId(CustomerId: number) {\n this.showLoader = true;\n let queryString = \"\";\n queryString = \"id=\" + CustomerId;\n\n this.Service.GetData('CustomerSpecialDiscount', 'GetById', queryString).subscribe((data: any) => {\n this.ProductModelDiscount = data;\n \n if(this.ProductModelDiscount?.length==0||this.ProductModelDiscount?.length==undefined)\n {\n this.specialDiscountEnrtiesVisible=false;\n }\n else\n {\n this.specialDiscountEnrtiesVisible=true;\n } \n \n }, error => {\n this.toastr.error(\"Failed to load data!\");\n\n });\n this.showLoader = false;\n }\n\n GetCustomerDropdownData() {\n this.showLoader = true;\n this.Service.GetData(\"Customer\", \"GetCustomerDropdownDetails\", null).subscribe((data: any) => {\n this.Country = data.Country;\n this.Region = data.Region;\n this.IndustrySegment = data.IndustrySegment;\n this.CustomerCategory = data.CustomerCategory;\n this.CustomerClassification = data.CustomerClassification;\n this.Typeofcustomer = data.CustomerType;\n this.CustomerGroup = data.CustomerGroup; //for customer group & code\n //console.log(\"CustomerGroup array---->\",this.CustomerGroup)\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n\n GetSubSegment(IndustrySegment: number) {\n this.showLoader = true;\n\n let queryString = \"\";\n queryString = \"SegmentId=\" + IndustrySegment;\n this.Service.GetData(\"SubSegment\", \"GetByIndustrySegmentId\", queryString).subscribe((data: any) => {\n this.SubSegment = data;\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n\n /*******************************************************************************\n * End get data for add customer\n * ******************************************************************************/\n\n /*******************************************************************************\n * File Upload section\n * ******************************************************************************/\n\n CheckFileValidation(File: any, ValidFileType: any[], MaxSize: number) {\n var Result = {\n isExtensionValid: false,\n isSizeValid: false\n };\n let FileType = File.type;\n if ((File.size) / 1000000 <= MaxSize) {\n Result.isSizeValid = true;\n for (var j = 0; j < ValidFileType.length; j++) {\n if (FileType.toLowerCase() == ValidFileType[j]) {\n Result.isExtensionValid = true;\n break;\n }\n\n }\n\n }\n else {\n Result.isSizeValid = false;\n }\n return Result;\n }\n\n NoOfEmp(myform: any) {\n if (this.CustomerModel.CompanyTurnover.Noofemployees == 0 && this.CustomerModel.CompanyTurnover.Noofemployees.toString() != \"\") {\n myform.controls['noofemployees'].setErrors({ NoGreater: true });\n }\n }\n\n getfiledetails(e: any) {\n if (e.target.files[0].name.length > 50) {\n e.target.value = null;\n this.toastr.warning(\"The file name with more than 50 characters are not allowed.\");\n }\n else {\n if (e.target.name == \"KYC1attachment\" || e.target.name == \"KYC2attachment\" || e.target.name == \"KYC3attachment\") {\n let Result = this.CheckFileValidation(e.target.files[0], this.KYCfileType, 5);\n if (Result.isExtensionValid == true && Result.isSizeValid == true) {\n if (e.target.name == \"KYC1attachment\") {\n this.KYC1Attachment = e.target.files[0];\n const KYCfrmData = new FormData();\n KYCfrmData.append(\"KYC1Attachment\", this.KYC1Attachment);\n this.showLoader = true;\n this.Service.PostData('Customer', 'KYC1Attachment', KYCfrmData, null).subscribe((data: any) => {\n this.CustomerModel = data;\n this.showLoader = false;\n }, error => {\n this.toastr.error('Failed to load data!');\n this.showLoader = false;\n\n });\n }\n else if (e.target.name == \"KYC2attachment\") {\n this.Attachmentobj.KYC2Attachment = e.target.files[0];\n }\n else if (e.target.name == \"KYC3attachment\") {\n this.Attachmentobj.KYC3Attachment = e.target.files[0];\n }\n\n }\n else if (Result.isExtensionValid == false) {\n e.target.value = null;\n this.toastr.warning(\"Please attach the file having extension :\\n\\n .xls, .xlsx\");\n }\n else if (Result.isSizeValid == false) {\n e.target.value = null;\n this.toastr.warning(\"File size must be less than or equal to 5MB!\");\n }\n }\n\n else {\n var Result = this.CheckFileValidation(e.target.files[0], this.fileType, 5)\n if (Result.isExtensionValid == true && Result.isSizeValid == true) {\n if (e.target.name == \"corppresentation\") {\n this.Attachmentobj.CorporatePresentationAttachment = e.target.files[0];\n }\n else if (e.target.name == \"organogram\") {\n this.Attachmentobj.OrganogramAttachment = e.target.files[0];\n }\n\n }\n else if (Result.isExtensionValid == false) {\n e.target.value = null;\n this.toastr.warning(\"Please attach the file having extension :\\n\\n .bmp, .jpeg, .jpg, .png, .pdf, .xml, .txt, .doc, .docx, .zip, .ppt, .pptx\");\n }\n else if (Result.isSizeValid == false) {\n e.target.value = null;\n this.toastr.warning(\"File size must be less than or equal to 5MB!\");\n }\n }\n\n }\n\n }\n\n /*******************************************************************************\n * End File Upload section\n * ******************************************************************************/\n\n OnselectIndustrySegment(event: any) {\n this.CustomerModel.CustomerProfile.SubSegment = null;\n this.GetSubSegment(event.target.value);\n }\n\n //for customer grp name & code\n OnselectCustomerGroupName(event: any) {\n //this.CustomerModel.BasicCustomerInformationModel.CustomergroupId = null;\n this.GetCustomerGroupCode(event.target.value);\n \n }\n\n GetCustomerGroupCode(CustomerGroupId: number) {\n this.CustomerModel.BasicCustomerInformationModel.CustomergroupCode = null;\n this.CustomerGroupCode = this.CustomerGroup?.filter(x => x.Id == CustomerGroupId);\n // console.log(\"After CustomerGroupName change---->\",this.CustomerGroupCode);\n \n }\n\n /*******************************************************************************\n * Form validation method\n * ******************************************************************************/\n\n isNumberKey(evt: any) {\n this.charCode = (evt.which) ? evt.which : evt.keyCode;\n if (this.charCode != 46 && this.charCode > 31\n && (this.charCode < 48 || this.charCode > 57)) {\n return false;\n }\n else {\n return true;\n }\n }\n\n AvoidSpace(event: any) {\n if (event.which === 32 && !event.target.value.length) {\n event.preventDefault();\n }\n }\n\n PercentageShareValidation(myform: any) {\n if (this.CustomerModel.FinancialDetails.PercentageShare > 100) {\n myform.controls['percentageshare'].setErrors({ PercentageGreater: true });\n }\n }\n /*******************************************************************************\n * End Form validation method \n * ******************************************************************************/\n\n /*******************************************************************************\n * Add multiple filed (Dynamic grid)\n * ******************************************************************************/\n AddNewRow(Type: any) {\n\n if (Type == 'Submitted') {\n if (this.PlantInformationWithGSTNoobj.CompanyName != \"\" || this.PlantInformationWithGSTNoobj.Region != null || this.PlantInformationWithGSTNoobj.Address != \"\" || this.PlantInformationWithGSTNoobj.GSTNo != \"\" ||\n this.PlantInformationWithGSTNoobj.KeyAccountNo != \"\" || this.PlantInformationWithGSTNoobj.ContactNo != \"\" || this.PlantInformationWithGSTNoobj.Email != \"\") {\n this.CustomerModel.PlantInformationWithGSTNo.push(this.PlantInformationWithGSTNoobj);\n this.PlantInformationWithGSTNoobj = new PlantInformationWithGSTNoModel();\n }\n if (this.TopmanagementObj.Name != \"\" || this.TopmanagementObj.Designation != \"\" || this.TopmanagementObj.ContactNo != \"\" || this.TopmanagementObj.Email != \"\") {\n this.CustomerModel.TopManagement.push(this.TopmanagementObj);\n this.TopmanagementObj = new TopManagementModel();\n }\n\n }\n else {\n\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Do you want to add another row for entering remaining details?\"\n }\n });\n\n dialogRef.afterClosed().subscribe(dialogResult => {\n\n if (dialogResult) {\n if (Type == 'Plant') {\n if (Object.keys(this.PlantInformationWithGSTNoobj).length > 0) {\n this.CustomerModel.PlantInformationWithGSTNo.push(this.PlantInformationWithGSTNoobj);\n this.PlantInformationWithGSTNoobj = new PlantInformationWithGSTNoModel();\n }\n }\n if (Type == 'TopManagement') {\n if (Object.keys(this.TopmanagementObj).length > 0) {\n this.CustomerModel.TopManagement.push(this.TopmanagementObj);\n this.TopmanagementObj = new TopManagementModel();\n }\n }\n }\n\n });\n\n }\n\n }\n\n deleteField(index: any, Type: any, Id: number) {\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Do you want to delete this record?\"\n }\n });\n\n dialogRef.afterClosed().subscribe(dialogResult => {\n\n if (dialogResult) {\n if (Type == 'Plant') {\n\n if (Id != null && Id != undefined) {\n this.showLoader = true;\n let queryString = \"\";\n queryString = \"id=\" + Id;\n\n this.Service.PostData('Customer', 'DeletePlantDetailsbyId', null, queryString).subscribe((data: any) => {\n this.CustomerModel.PlantInformationWithGSTNo = data;\n this.showLoader = false;\n\n }, error => {\n this.toastr.error(\"Failed to delete record!\");\n this.showLoader = false;\n });\n }\n else {\n this.CustomerModel.PlantInformationWithGSTNo.splice(index, 1);\n }\n\n }\n if (Type == 'TopManagement') {\n if (Id != null && Id != undefined) {\n this.showLoader = true;\n let queryString = \"\";\n queryString = \"id=\" + Id;\n\n this.Service.PostData('Customer', 'DeleteTopManagementDetailsbyId', null, queryString).subscribe((data: any) => {\n this.CustomerModel.TopManagement = data;\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to delete record!\");\n this.showLoader = false;\n });\n }\n else {\n this.CustomerModel.TopManagement.splice(index, 1);\n }\n }\n }\n\n });\n }\n\n /*******************************************************************************\n * End - add multiple filed (Dynamic grid)\n * ******************************************************************************/\n\n /*******************************************************************************\n *Download and delete file section\n *******************************************************************************/\n DownloadFile(Path: any, OrignalFilename: any) {\n let link = document.createElement('a');\n let path = AppGlobals.baseAppUrl + 'Uploads/' + Path\n link.setAttribute('href', path);\n link.setAttribute('target', '_blank');\n document.body.appendChild(link);\n link.click();\n link.remove();\n return false;\n }\n\n DeleteAttachments(Type: any, Filename) {\n if (Filename != '') {\n\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Do you want to delete this attachment?\"\n }\n });\n\n dialogRef.afterClosed().subscribe(dialogResult => {\n\n if (dialogResult) {\n let queryString = \"\";\n queryString = \"Filename=\" + Filename;\n this.showLoader = true;\n this.Service.PostData('Customer', 'DeleteFile', null, queryString).subscribe((data: any) => {\n let result = data;\n this.showLoader = false;\n if (result.ResponseCode == 1) {\n switch (Type) {\n case \"corppresentation\":\n this.CustomerModel.CustomerProfile.CorporatePresentationFileName = \"\";\n this.CustomerModel.CustomerProfile.CorporatePresentationFilePath = \"\";\n break;\n case \"organogram\":\n this.CustomerModel.BasicCustomerInformationModel.OrganogramFileName = \"\";\n this.CustomerModel.BasicCustomerInformationModel.OrganogramFilePath = \"\";\n break;\n case \"KYC2attachment\":\n this.CustomerModel.BasicCustomerInformationModel.KYC2FileName = \"\";\n this.CustomerModel.BasicCustomerInformationModel.KYC2FilePath = \"\";\n break;\n case \"KYC3attachment\":\n this.CustomerModel.BasicCustomerInformationModel.KYC3FileName = \"\";\n this.CustomerModel.BasicCustomerInformationModel.KYC3FilePath = \"\";\n break;\n }\n }\n if (result.ResponseCode == 0) {\n this.toastr.warning(\"Failed to delete file!\");\n }\n }, error => {\n this.toastr.error(\"Failed to delete file!\");\n this.showLoader = false;\n });\n }\n });\n\n }\n else if (Filename == '') {\n switch (Type) {\n case \"corppresentation\":\n this.Attachmentobj.CorporatePresentationAttachment = null;\n break;\n case \"organogram\":\n this.Attachmentobj.OrganogramAttachment = null;\n break;\n case \"KYC2attachment\":\n this.Attachmentobj.KYC2Attachment = null;\n break;\n case \"KYC3attachment\":\n this.Attachmentobj.KYC3Attachment = null;\n break;\n case \"KYC1attachment\":\n this.KYC1Attachment = null;\n break;\n\n }\n }\n }\n\n /*******************************************************************************\n *End Download and delete file section\n * ******************************************************************************/\n\n onSubmit(myform: any) {\n\n // if(this.type=='lead')\n // {\n // this.CustomerModel.BasicCustomerInformationModel.leadId=this.route.snapshot.params[\"id\"];\n \n // }\n if (this.CustomerModel.FinancialDetails.PercentageShare > 100) {\n myform.controls['percentageshare'].setErrors({ PercentageGreater: true });\n }\n else {\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Do you want to update this customer?\"\n }\n });\n if (this.CustomerModel.CompanyTurnover.Noofemployees == 0 && this.CustomerModel.CompanyTurnover.Noofemployees.toString() != \"\") {\n myform.controls['noofemployees'].setErrors({ NoGreater: true });\n }\n\n dialogRef.afterClosed().subscribe(dialogResult => {\n\n if (dialogResult) {\n\n this.AddNewRow('Submitted');\n const frmData = new FormData();\n frmData.append(\"KYC2Attachment\", this.Attachmentobj.KYC2Attachment);\n frmData.append(\"KYC3Attachment\", this.Attachmentobj.KYC3Attachment);\n frmData.append(\"CorporatePresentationAttachment\", this.Attachmentobj.CorporatePresentationAttachment);\n frmData.append(\"OrganogramAttachment\", this.Attachmentobj.OrganogramAttachment);\n frmData.append(\"CustomerModel\", JSON.stringify(this.CustomerModel));\n this.showLoader = true;\n this.Service.PostData('Customer', 'Update', frmData, null).subscribe((data: any) => {\n let result = data;\n this.showLoader = false;\n if (result.ResponseCode == 1) {\n this.toastr.success('Customer details updated successfully!');\n this.router.navigate(['/Customer']);\n }\n else {\n this.toastr.error(\"Failed to update customer details!\");\n this.showLoader = false;\n }\n }, error => {\n this.toastr.error('Failed to update customer details!');\n this.showLoader = false;\n this.router.navigate(['/Customer']);\n });\n }\n });\n }\n }\n \n\n limitTextOnKeyUpDown1(event: any) {\n let goalText = event.target.value;\n if (goalText.length > this.maxLimit) {\n this.varLongTermGoal = goalText.substring(0, this.maxLimit);\n } else {\n this.remLimit = this.maxLimit - goalText.length;\n }\n }\n\n getAccess()\n {\n this.accessservice.GetAll().subscribe((data:any)=> {\n this.accesspermissionobj=data;\n this.isCustomerEditable=this.accesspermissionobj.filter(x => x.Fk_RoleId == this.UserRole && x.ElementKey=='isCustomer')[0]?.IsEditable;\n \n });\n \n }\n\n}\n","\n\n
    \n\n \n \n\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n {{FormStatus}} Customer\n

    \n
    \n
    \n\n
    \n
    \n * Marked fields are\n mandatory\n
    \n
    \n
    \n
    \n \n
    \n \n
    \n\n \n \n Should be in Email Id format ({{mailIdFormat}})\n
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n \n
    \n \n
    \n
    \n\n
    \n \n First Contact Commercial Person Details\n
    \n
    \n \n
    \n \n\n
    \n
    \n \n
    \n \n
    \n \n Please enter valid contact number
    \n \n Contact number should be 10-15 digits
    \n \n Contact number should be 10-15 digits\n
    \n
    \n
    \n \n
    \n \n
    \n \n
    \n\n \n \n Should be in Email Id format ({{mailIdFormat}})\n
    \n
    \n
    \n
    \n \n
    \n \n
    \n \n
    \n \n
    \n \n
    \n
    \n \n
    \n \n
    \n
    \n\n
    \n \n Financial Details\n
    \n
    \n \n
    \n \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n \n
    \n \n
    \n\n
    \n Please enter valid percentage of share
    \n \n Percentage of Share must be less than or equal to 100
    \n
    \n
    \n \n\n \n \n\n\n
    \n
    \n
    \n
    \n

    \n \n {{weissContactDetailsOfWhichCountry}} Contact Details\n

    \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n \n
    \n
    \n \n {{weissWithAbbreviatedCountry}} account manager is required\n
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n Region is required
    \n
    \n
    \n
    \n
    \n \n \n
    \n \n
    \n
    \n \n \n
    \n \n\n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n

    \n Customer Profile\n

    \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n Company information/history is required
    \n
    \n
    \n\n
    \n
    \n \n
    \n \n
    \n
    \n Brands/Products range is required
    \n
    \n\n
    \n
    \n \n
    \n
    \n
    \n\n \n
    \n \n [File Format: .bmp, .jpeg, .jpg, .png, .pdf, .xml, .txt, .doc,\n .docx, .zip, .ppt, .pptx] [Max 5 MB]\n {{Attachmentobj.CorporatePresentationAttachment != undefined ?\n Attachmentobj.CorporatePresentationAttachment.name : \"\"}}\n   \n
    \n \n {{CustomerModel.CustomerProfile.CorporatePresentationFileName}}  \n \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n Industry segment is required
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n Sub segment is required
    \n
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n Customer classification is required
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n Type of customer is required
    \n
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n Customer category is required
    \n
    \n
    \n
    \n
    \n
    \n \n Company Turnover\n
    \n
    \n
    \n \n
    \n \n
    \n
    \n \n
    \n \n
    \n\n
    \n Please enter only numbers
    \n
    \n Year should be 4 digits
    \n
    \n Year should be 4 digits
    \n
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n \n
    \n \n
    \n\n
    \n Please enter only numbers
    \n
    \n Year should be 4 digits
    \n
    \n Year should be 4 digits
    \n
    \n
    \n
    \n
    \n \n
    \n \n\n
    \n
    \n \n
    \n \n
    \n\n
    \n Please enter only numbers
    \n
    \n Year should be 4 digits
    \n
    \n Year should be 4 digits
    \n
    \n
    \n
    \n
    \n \n
    \n \n\n
    \n
    \n \n
    \n \n
    \n\n
    \n Please enter only numbers
    \n
    \n Year should be 4 digits
    \n
    \n Year should be 4 digits
    \n
    \n
    \n
    \n
    \n \n
    \n \n\n
    \n
    \n \n
    \n \n
    \n\n
    \n Please enter only numbers
    \n
    \n Year should be 4 digits
    \n
    \n Year should be 4 digits
    \n
    \n
    \n
    \n
    \n \n
    \n\n \n
    \n\n
    \n Please enter only numbers
    \n
    \n No. of Employees must be greater than 0
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n \n
    \n \n
    \n
    \n Customer's customer is required
    \n
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n \n Plant Information With GST No.\n
    \n
    \n
    \n \n \n \n \n Company Name\n \n \n Region\n \n \n Address\n \n \n GST No.\n \n \n Key Account Name\n \n \n Contact No.\n \n \n Email\n \n\n \n Action\n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n\n \n \n \n\n \n \n\n \n \n \n \n\n \n \n \n\n \n \n \n
    \n \n Please enter valid contact number
    \n \n Contact number should be 10-15 digits
    \n \n Contact number should be 10-15 digits\n
    \n
    \n \n \n \n
    \n\n
    \n \n Should be in Email Id format ({{mailIdFormat}})\n
    \n
    \n \n \n \n \n \n\n \n \n \n\n \n \n\n
    \n
    \n
    \n
    \n

    \n Top Management - Board of Directors, Key Contacts\n

    \n
    \n
    \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n\n \n \n\n \n \n \n \n\n \n
    NameDesignation/ Dept.Contact No.EmailAction
    \n \n \n \n \n \n \n \n \n \n
    \n \n\n \n \n\n \n \n
    \n \n Please enter valid contact number
    \n \n Contact number should be 10-15 digits\n \n Contact number should be 10-15 digits\n \n \n
    \n \n
    \n\n \n \n Should be in Email Id format ({{mailIdFormat}})\n
    \n \n
    \n \n
    \n
    \n
    \n\n \n
    \n
    \n
    \n \n
    \n \n [File Format: .bmp, .jpeg, .jpg, .png, .pdf, .xml, .txt, .doc,\n .docx, .zip, .ppt, .pptx] [Max 5 MB]\n {{Attachmentobj.OrganogramAttachment != undefined ?\n Attachmentobj.OrganogramAttachment.name : \"\"}}\n   \n
    \n \n {{CustomerModel.BasicCustomerInformationModel.OrganogramFileName}}  \n \n\n
    \n
    \n
    \n
    \n\n\n
    \n
    \n
    \n
    \n

    \n \n {{businessOfWhichComapany}} Business\n

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

    \n \n Opportunities for {{opportunitiesForWhichCompany}}\n

    \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n Indexer is required
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n Heavy duty indexer is required
    \n
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n Linear transfer system is required
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n Pick and place system is required
    \n
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n Linear system is required
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n Direct drives is required
    \n
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n Delta robot is required
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n Value added solution is required
    \n
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n Accessories & spare parts is required
    \n
    \n
    \n
    \n \n
    \n \n Limit {{maxLimit}} characters, {{remLimit}} characters\n remaining.\n
    \n
    \n Comments is required
    \n
    \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n

    \n Discount Structure  *\n

    \n
    \n
    \n
    \n
    \n \n
    \n\n \n\n \n \n\n \n Product Model\n \n \n Discount (%)\n \n\n \n \n\n \n\n\n \n \n {{item.ModelName}}\n {{item.ProductDiscount}}\n\n \n\n \n\n \n
    \n\n
    \n
    \n\n
    \n
    \n
    \n
    \n

    \n Current Visible Competitors Name with USP *\n

    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n Current visible competitors name with USP is required
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n

    \n KYC Attachment\n

    \n
    \n
    \n
    \n
    \n
    \n\n \n
    \n
    \n
    \n\n \n
    \n \n [File Format: .xls, .xlsx] [Max 5 MB]\n {{Attachmentobj.KYC2Attachment != undefined ?\n Attachmentobj.KYC2Attachment.name : \"\"}}\n   \n
    \n \n {{CustomerModel.BasicCustomerInformationModel.KYC2FileName}}  \n \n
    \n
    \n \n
    \n
    \n
    \n\n \n
    \n \n [File Format: .xls, .xlsx] [Max 5 MB]\n {{Attachmentobj.KYC3Attachment != undefined ?\n Attachmentobj.KYC3Attachment.name : \"\"}}\n   \n
    \n \n {{CustomerModel.BasicCustomerInformationModel.KYC3FileName}}  \n \n\n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n Engagement Activities\n

    \n
    \n
    \n
    \n
      \n
    • \n Add Activity \n
    • \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n\n \n
    \n
    \n
    \n
    \n
    \n   \n   \n Cancel\n
    \n
    \n
    \n
    \n \n \n\n \n\n \n\n \n \n\n","import { Component, OnInit, Input } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { ToastrService } from 'ngx-toastr';\nimport { EmployeeGuestModel } from 'src/app/Model/EmployeeGuestModel';\nimport { CommonService } from 'src/app/Service/common.service';\nimport { MatDialog } from '@angular/material/dialog';\nimport { ConfirmDialogComponent } from 'src/app/confirm-dialog/confirm-dialog.component';\nimport { Title } from '@angular/platform-browser';\nimport { AppConfigService } from 'src/app/Service/app-config.service';\n\n@Component({\n selector: 'app-add-employee',\n templateUrl: './add-employee.component.html',\n styleUrls: ['./add-employee.component.scss']\n})\nexport class AddEmployeeComponent implements OnInit {\n EmployeeDetails: EmployeeGuestModel = new EmployeeGuestModel();\n emailPattern: string = \"^[a-zA-Z0-9_\\\\.-]+@([a-zA-Z0-9-]+\\\\.)+[a-zA-Z]{2,6}$\";\n //passPattern: any = /^(?=.*[0-9])(?=.*[!@#$%^&*])[a-zA-Z0-9!@#$%^&*]{6,30}$/;\n passPattern: any = '(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[$@$!%*?&])[A-Za-z\\d$@$!%*?&].{6,30}';\n isValidEmail: boolean = false;\n Country: any[] = [];\n Roles: any[] = [];\n Region: any[] = [];\n EmployeeData: any[] = [];\n UserId: number;\n charCode: any;\n mailIdFormat : any;\n\n @Input()\n showLoader: boolean = false;\n ConfirmPasshide: boolean = true;\n Passhide: boolean = true;\n\n constructor(private router: Router, private toastr: ToastrService, private Service: CommonService, public dialog: MatDialog\n , private route: ActivatedRoute, private titleService: Title, private appConfigService : AppConfigService) { }\n\n ngOnInit(): void {\n const appConfig = this.appConfigService.getConfig();\n const dynamicTitle = this.route.snapshot.data['title'];\n this.titleService.setTitle(`${dynamicTitle} - ${appConfig.titleName}`);\n this.mailIdFormat = appConfig.mailIdFormat;\n //this.titleService.setTitle(this.route.snapshot.data['title'] + \" - ECOTECH\");\n this.getAllEmployeeData();\n this.getAllCountry();\n this.getAllRoles();\n this.getAllRegion();\n\n }\n\n /*******************************************************************************\n * Get data for add employee\n * ******************************************************************************/\n getAllCountry() {\n this.showLoader = true;\n this.Service.GetData(\"Country\", \"GetAll\", null).subscribe((data: any) => {\n this.Country = data;\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n getAllRoles() {\n this.showLoader = true;\n this.Service.GetData(\"Account\", \"GetAllEmployeeRoles\", null).subscribe((data: any) => {\n this.Roles = data;\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n\n }\n\n getAllRegion() {\n this.showLoader = true;\n this.Service.GetData(\"Region\", \"GetAll\", null).subscribe((data: any) => {\n this.Region = data;\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n\n getAllEmployeeData() {\n this.showLoader = true;\n this.Service.GetData(\"Employee\", \"GetAllEmployeeData\", null).subscribe((data: any) => {\n this.EmployeeData = data;\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n\n /*******************************************************************************\n * End Get data for add employee\n * ******************************************************************************/\n\n\n /*******************************************************************************\n * Form validation method\n * ******************************************************************************/\n\n isNumberKey(evt: any) {\n this.charCode = (evt.which) ? evt.which : evt.keyCode;\n if (this.charCode != 46 && this.charCode > 31\n && (this.charCode < 48 || this.charCode > 57)) {\n return false;\n }\n else {\n return true;\n }\n }\n\n AvoidSpace(event: any) {\n if (event.which === 32 && !event.target.value.length) {\n event.preventDefault();\n }\n }\n\n /*******************************************************************************\n * End Form validation method \n * ******************************************************************************/\n\n\n ChangeEmployee(value: any) {\n var employee = this.EmployeeData?.filter(x => x.Fk_User_Id == value);\n this.EmployeeDetails.ReportingManagerEmail = employee[0].Email;\n }\n\n onSubmit(myform: any) {\n\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Do you want to add this employee?\"\n }\n });\n\n dialogRef.afterClosed().subscribe(dialogResult => {\n\n if (dialogResult) {\n\n this.EmployeeDetails.RoleType = 2;\n this.showLoader = true;\n this.Service.PostData('Account', 'Register', this.EmployeeDetails, null).subscribe((data: any) => {\n let result = data;\n this.showLoader = false;\n if (result.ResponseCode == 1) {\n this.toastr.success('Employee details added successfully!');\n this.router.navigate(['/Employee']);\n }\n if (result.ResponseCode == 0) {\n this.toastr.warning('Username already exists!');\n myform.controls['username'].setErrors({ AlreadyPresent: true });\n }\n if (result.ResponseCode == 2) {\n this.toastr.warning('Employee code already exists!');\n myform.controls['empcode'].setErrors({ AlreadyPresent: true });\n }\n if (result.ResponseCode == 3) {\n this.toastr.warning('Contact number already exists!');\n myform.controls['contactnumber'].setErrors({ AlreadyPresent: true });\n }\n if (result.ResponseCode == 4) {\n this.toastr.warning('Employee code and contact number already exists!');\n myform.controls['empcode'].setErrors({ AlreadyPresent: true });\n myform.controls['contactnumber'].setErrors({ AlreadyPresent: true });\n }\n\n }, error => {\n this.toastr.error('Failed to add employee details!');\n this.showLoader = false;\n this.router.navigate(['/Employee']);\n });\n }\n });\n\n }\n\n}\n","\n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n Add Employee\n

    \n
    \n
    \n\n
    \n
    \n * Marked fields are\n mandatory\n
    \n
    \n
    \n \n
    \n \n
    \n
    \n Email is required
    \n
    \n \n Should be in Email Id format ({{mailIdFormat}})\n
    \n\n
    \n\n
    \n
    \n \n
    \n \n
    \n
    \n Employee code is required
    \n
    \n Employee code already exists!\n
    \n
    \n
    \n\n
    \n
    \n \n
    \n \n
    \n
    \n Contact number is required
    \n
    \n Please enter valid contact number
    \n \n Contact number should be 10-15 digits
    \n
    \n Contact number already exists!\n
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n Role is required
    \n
    \n
    \n\n
    \n\n
    \n \n
    \n \n
    \n
    \n Country is required
    \n
    \n\n
    \n
    \n \n
    \n \n \n {{item.Name}}\n \n \n
    \n
    \n Region is required
    \n
    \n
    \n\n
    \n\n
    \n \n
    \n \n
    \n
    \n Reporting manager is required
    \n
    \n
    \n\n
    \n \n
    \n \n
    \n
    \n Reporting Manager Email is required
    \n
    \n \n Should be in Email Id format ({{mailIdFormat}})\n
    \n
    \n
    \n
    \n\n
    \n \n
    \n \n \n {{Passhide ? 'visibility_off': 'visibility'}}\n \n \n
    \n
    \n Password is required
    \n
    \n Password must contains minimum 6 alphanumeric with at least one\n uppercase, one lowercase and one special characters. (Ex. Pass@123)\n
    \n
    \n
    \n
    \n \n
    \n \n \n {{ConfirmPasshide ? 'visibility_off':\n 'visibility'}}\n \n
    \n
    \n Confirm password is required
    \n
    \n Confirm password must be same as password
    \n
    \n
    \n\n
    \n\n
    \n\n
    \n
    \n
    \n
    \n
    \n   \n Cancel\n
    \n
    \n
    \n
    \n \n
    \n
    \n\n \n\n \n \n","import { Component, OnInit, Input, ChangeDetectorRef } from '@angular/core';\nimport { EmployeeGuestModel, EmployeeRegion } from 'src/app/Model/EmployeeGuestModel';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { ToastrService } from 'ngx-toastr';\n\nimport { CommonService } from 'src/app/Service/common.service';\nimport { ConfirmDialogComponent } from 'src/app/confirm-dialog/confirm-dialog.component';\nimport { MatDialog } from '@angular/material/dialog';\nimport { AppGlobals } from 'src/app/app.global';\nimport { Title } from '@angular/platform-browser';\nimport { OutofOfficeActivityModel } from 'src/app/Model/OutOfOfficeActivityModel';\nimport { AccessPermissionModel } from 'src/app/Model/WorkFlowScreenAccessModel';\nimport { AccessPermissionService } from 'src/app/Service/access-permission.service';\nimport { AppConfigService } from 'src/app/Service/app-config.service';\n\n@Component({\n selector: 'app-edit-view-employee',\n templateUrl: './edit-view-employee.component.html',\n styleUrls: ['./edit-view-employee.component.scss']\n})\nexport class EditViewEmployeeComponent implements OnInit {\n EmployeeLeaveDetails: OutofOfficeActivityModel = new OutofOfficeActivityModel();\n accesspermissionobj:AccessPermissionModel[]=Array();\n AccesspermissionForRole:any[]=[];\n\n EmployeeDetails: EmployeeGuestModel = new EmployeeGuestModel();\n emailPattern: string = \"^[a-zA-Z0-9_\\\\.-]+@([a-zA-Z0-9-]+\\\\.)+[a-zA-Z]{2,6}$\";\n // passPattern: any = /^(?=.*[0-9])(?=.*[!@#$%^&*])[a-zA-Z0-9!@#$%^&*]{6,30}$/;\n passPattern: any = '(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[$@$!%*?&])[A-Za-z\\d$@$!%*?&].{6,30}';\n Country: any[] = [];\n Roles: any[] = [];\n Region: any[] = [];\n EmployeeData: any[] = [];\n AlternateEmployeeData: any[] = [];\n isEditable: boolean = true;\n FormStatus: string = \"View\";\n charCode: any;\n UserRole: any;\n isEmployeeEditable: boolean = false;\n isEmployeeLeaveDetailsVisible : boolean = true;\n mailIdFormat : any;\n\n @Input()\n showLoader: boolean = false;\n Passhide: boolean = true;\n ConfirmPasshide: boolean = true;\n\n constructor(private router: Router, private route: ActivatedRoute, private toastr: ToastrService, private Service: CommonService, \n public dialog: MatDialog, private titleService: Title,private cd:ChangeDetectorRef, private accessservice: AccessPermissionService,\n private appConfigService : AppConfigService) { }\n\n ngOnInit(): void {\n const appConfig = this.appConfigService.getConfig();\n const dynamicTitle = this.route.snapshot.data['title'];\n this.titleService.setTitle(`${dynamicTitle} - ${appConfig.titleName}`);\n this.mailIdFormat = appConfig.mailIdFormat;\n //this.titleService.setTitle(this.route.snapshot.data['title'] + \" - ECOTECH\");\n this.UserRole = localStorage.getItem(\"UserRole\");\n this.getAccess();\n //this.isEmployeeEditable = AppGlobals.EmployeeMastersEditableAccessArray.filter(x => x.role == this.UserRole)[0]?.isEditable;\n this.EmployeeDetails.RegisterId = this.route.snapshot.params[\"id\"];\n //this.getAllEmployeeData();\n this.getEmployeeDetailsById(this.EmployeeDetails.RegisterId);\n this.getAllCountry();\n this.getAllRoles();\n this.getAllRegion();\n \n }\n\n /*******************************************************************************\n * Get data for add employee\n * ******************************************************************************/\n getEmployeeLeaveDetailsById(Fk_User_Id: string) {\n this.showLoader = true;\n\n let queryString = \"\";\n queryString = \"id=\" + Fk_User_Id;\n this.Service.GetData('Employee', 'GetLeaveDateOfEmployeeById', queryString).subscribe((data: any) => {\n if (data == null){\n this.isEmployeeLeaveDetailsVisible = false;\n this.EmployeeDetails.AlternateEmployee = \"\";\n }else{\n this.EmployeeLeaveDetails = data;\n this.EmployeeDetails.AlternateEmployee = this.EmployeeLeaveDetails.AlternateUserId;\n this.EmployeeDetails.StartDate = this.EmployeeLeaveDetails.StartDate;\n this.EmployeeDetails.EndDate = this.EmployeeLeaveDetails.EndDate;\n \n }\n \n // this.getAllEmployeeData(Fk_User_Id);\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n\n });\n\n }\n\n\n getEmployeeDetailsById(RegisterId: number) {\n this.showLoader = true;\n\n let queryString = \"\";\n queryString = \"id=\" + RegisterId;\n this.Service.GetData('Employee', 'GetEmployeeById', queryString).subscribe((data: any) => {\n this.EmployeeDetails = data;\n let region =[];\n region.push(this.EmployeeDetails.Region);\n\n this.EmployeeDetails.Region=[];\n region[0].forEach(element => {\n this.EmployeeDetails.Region.push(element.Id.toString());\n }); \n // this.cd.detectChanges();\n //this.EmployeeDetails = data;\n this.getEmployeeLeaveDetailsById(this.EmployeeDetails.Fk_User_Id);\n this.getAllEmployeeData(this.EmployeeDetails.Fk_User_Id);\n \n this.getAlternateEmployeeData(this.EmployeeDetails.Role, RegisterId,this.EmployeeDetails.Fk_User_Id);\n\n this.showLoader = false;\n \n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n\n });\n\n }\n\n getAllCountry() {\n this.showLoader = true;\n this.Service.GetData(\"Country\", \"GetAll\", null).subscribe((data: any) => {\n this.Country = data;\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n\n getAllRoles() {\n this.showLoader = true;\n this.Service.GetData('Account', 'GetAllEmployeeRoles', null).subscribe((data: any) => {\n this.Roles = data;\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n\n }\n\n getAllRegion() {\n this.showLoader = true;\n this.Service.GetData(\"Region\", \"GetAll\", null).subscribe((data: any) => {\n this.Region = data;\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n\n getAllEmployeeData(Fk_User_Id: string) {\n this.showLoader = true;\n this.Service.GetData(\"Employee\", \"GetAllEmployeeData\", null).subscribe((data: any) => {\n this.EmployeeData = data;\n this.EmployeeData = this.EmployeeData.filter(x => x.Fk_User_Id !== Fk_User_Id);\n this.ChangeEmployee(this.EmployeeDetails.ReportingManager);\n this.showLoader = false; \n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n\n\n getAlternateEmployeeData(role, RegisterId, Fk_User_Id)\n {\n this.showLoader = true;\n let queryString = \"\";\n queryString = \"id=\" + RegisterId +\"&role=\" + role +\"&userid=\" + Fk_User_Id ;\n this.Service.GetData(\"Employee\", \"GetAlternateEmployeeData\", queryString).subscribe((data: any) => {\n this.AlternateEmployeeData = data;\n \n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n \n /*******************************************************************************\n * End get data for add employee\n * ******************************************************************************/\n EditDetails() {\n this.isEditable = false;\n this.FormStatus = \"Edit\";\n const appConfig = this.appConfigService.getConfig();\n this.titleService.setTitle(`Edit Employee - ${appConfig.titleName}`);\n //this.titleService.setTitle(\"Edit Employee - ECOTECH\");\n }\n\n /*******************************************************************************\n * Form validation method\n * ******************************************************************************/\n\n isNumberKey(evt: any) {\n this.charCode = (evt.which) ? evt.which : evt.keyCode;\n if (this.charCode != 46 && this.charCode > 31\n && (this.charCode < 48 || this.charCode > 57)) {\n return false;\n }\n else {\n return true;\n }\n }\n\n AvoidSpace(event: any) {\n if (event.which === 32 && !event.target.value.length) {\n event.preventDefault();\n }\n }\n\n /*******************************************************************************\n * End Form validation method \n * ******************************************************************************/\n\n OnChangeAlternateEmployee(value: any){\n var alternateemployee = this.AlternateEmployeeData?.filter(x => x.Fk_User_Id == value);\n this.EmployeeDetails.AlternateEmployee = alternateemployee[0].Fk_User_Id;\n }\n \n ChangeEmployee(value: any) {\n var employee = this.EmployeeData?.filter(x => x.Fk_User_Id == value);\n if (employee.length>0) {\n \tthis.EmployeeDetails.ReportingManagerEmail = employee[0].Email;\n }\n this.cd.detectChanges();\n }\n\n onSubmit(myform: any) {\n\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Do you want to update this employee?\"\n }\n });\n\n dialogRef.afterClosed().subscribe(dialogResult => {\n\n if (dialogResult) {\n this.EmployeeDetails.RoleType = 2;\n this.showLoader = true;\n this.Service.PostData('Account', 'UpdateRegister', this.EmployeeDetails, null).subscribe((data: any) => {\n let result = data;\n this.showLoader = false;\n if (result.ResponseCode == 1) {\n this.toastr.success('Employee details updated successfully!');\n this.router.navigate(['/Employee']);\n }\n if (result.ResponseCode == 0) {\n this.toastr.warning('Username already exists!');\n myform.controls['username'].setErrors({ AlreadyPresent: true });\n }\n if (result.ResponseCode == 2) {\n this.toastr.warning('Employee code already exists!');\n myform.controls['empcode'].setErrors({ AlreadyPresent: true });\n }\n if (result.ResponseCode == 3) {\n this.toastr.warning('Contact number already exists!');\n myform.controls['contactnumber'].setErrors({ AlreadyPresent: true });\n }\n if (result.ResponseCode == 4) {\n this.toastr.warning('Employee code and contact number already exists!');\n myform.controls['empcode'].setErrors({ AlreadyPresent: true });\n myform.controls['contactnumber'].setErrors({ AlreadyPresent: true });\n }\n if(result.ResponseCode == 5)\n {\n this.toastr.success('Failed to update employee password!');\n this.router.navigate(['/Employee']);\n }\n }, error => {\n this.toastr.error('Failed to update employee details!');\n this.showLoader = false;\n this.router.navigate(['/Employee']);\n });\n }\n });\n\n }\n\n getAccess()\n {\n this.accessservice.GetAll().subscribe((data:any)=> {\n this.accesspermissionobj=data;\n this.isEmployeeEditable=this.accesspermissionobj.filter(x => x.Fk_RoleId == this.UserRole && x.ElementKey=='isEmployee')[0]?.IsEditable;\n \n });\n \n }\n\n}\n","\n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n {{FormStatus}} Employee\n

    \n
    \n
    \n\n
    \n
    \n * Marked fields are\n mandatory\n
    \n
    \n
    \n \n
    \n \n
    \n
    \n Email is required
    \n
    \n \n Should be in Email Id format ({{mailIdFormat}})\n
    \n\n
    \n\n
    \n
    \n \n
    \n \n
    \n
    \n Employee code is required
    \n
    \n Employee code already exists!\n
    \n
    \n
    \n\n
    \n
    \n \n
    \n \n
    \n
    \n Contact number is required
    \n
    \n Please enter valid contact number
    \n \n Contact number should be 10-15 digits
    \n
    \n Contact number already exists!\n
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n Role is required
    \n
    \n
    \n\n
    \n\n
    \n \n
    \n \n
    \n
    \n Country is required
    \n
    \n\n
    \n
    \n \n
    \n \n\t\t\t\t\t\n\t\t\t\t\t \n {{item.Name}} \n \n \n
    \n
    \n Region is required
    \n
    \n
    \n\n
    \n
    \n \n
    \n \n
    \n
    \n Reporting manager is required
    \n
    \n
    \n\n
    \n \n
    \n \n
    \n
    \n Reporting Manager Email is required
    \n
    \n \n Should be in Email Id format ({{mailIdFormat}})\n
    \n
    \n
    \n
    \n\n
    \n \n
    \n \n \n {{Passhide ? 'visibility_off': 'visibility'}}\n \n \n
    \n
    \n Password is required
    \n
    \n Password must contains minimum 6 alphanumeric with at least one\n uppercase, one lowercase and one special characters. (Ex. Pass@123)\n
    \n
    \n
    \n
    \n \n
    \n \n \n {{ConfirmPasshide ? 'visibility_off':\n 'visibility'}}\n \n
    \n
    \n Confirm password is required
    \n
    \n Confirm password must be same as password
    \n
    \n
    \n\n
    \n \n
    \n \n Request For Delegation\n
    \n
    \n \n
    {{EmployeeLeaveDetails.StartDate ? (EmployeeLeaveDetails.StartDate | date) : 'Date not available'}} \n
    \n\n
    \n \n \n
    {{EmployeeLeaveDetails.EndDate ? (EmployeeLeaveDetails.EndDate | date) : 'Date not available'}}\n
    \n
    \n \n
    \n \n
    \n \n\n
    \n
    \n Alternate Employee is required
    \n
    \n
    \n (You can delegate to users with same role & region.)\n
    \n
    \n\n\n
    \n\n
    \n
    \n
    \n
    \n
    \n   \n   \n Cancel\n
    \n
    \n
    \n
    \n \n
    \n
    \n\n \n\n \n \n","import { Component, OnInit, ViewChild, Input, Output, EventEmitter } from '@angular/core';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort, Sort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { EmployeeGuestModel } from 'src/app/Model/EmployeeGuestModel';\nimport { ToastrService } from 'ngx-toastr';\nimport { CommonService } from 'src/app/Service/common.service';\nimport { UpdateStatus } from 'src/app/Model/CommonModel';\nimport { MatDialog } from '@angular/material/dialog';\nimport { ConfirmDialogComponent } from 'src/app/confirm-dialog/confirm-dialog.component';\nimport { AppGlobals } from 'src/app/app.global';\nimport { ActivatedRoute } from '@angular/router';\nimport { Title } from '@angular/platform-browser';\nimport { AccessPermissionModel } from 'src/app/Model/WorkFlowScreenAccessModel';\nimport { AccessPermissionService } from 'src/app/Service/access-permission.service';\nimport { AppConfigService } from 'src/app/Service/app-config.service';\n\n\n@Component({\n selector: 'app-employee-details',\n templateUrl: './employee-details.component.html',\n styleUrls: ['./employee-details.component.scss']\n})\n\nexport class EmployeeDetailsComponent implements OnInit {\n displayedColumns: string[] = ['Username', 'Name', 'EmpCode', 'RoleName', 'Email', 'ContactNumber','ReportingManagerName','Action'];\n dataSource: MatTableDataSource;\n UpdateStatus: UpdateStatus = new UpdateStatus();\n disabled: boolean = false;\n UserRole: any;\n isEmployeeEditable: boolean = false;\n accesspermissionobj:AccessPermissionModel[]=Array();\n AccesspermissionForRole:any[]=[];\n\n\n /*************************************************************************\n Server side Pagination purpose\n *************************************************************************/\n pageNumber: number = 1;\n @Input() pageSize: number = 5;\n @Input() length: number;\n @Input() pageIndex: number = this.pageNumber - 1;\n direction: string = 'desc';\n ColumnName: string = 'ModifiedOn';\n SearchText: string = \"\";\n @Output('matSortChange') sortChange: EventEmitter;\n @ViewChild(MatPaginator) paginator: MatPaginator;\n /*************************************************************************\n End here\n *************************************************************************/\n\n @Input()\n showLoader: boolean = false;\n data: EmployeeGuestModel[] = [];\n\n constructor(private toastr: ToastrService, private Service: CommonService, public dialog: MatDialog, private route: ActivatedRoute, private titleService: Title,private accessservice: AccessPermissionService,\n private appConfigService : AppConfigService) {\n\n }\n\n ngOnInit() {\n const appConfig = this.appConfigService.getConfig();\n const dynamicTitle = this.route.snapshot.data['title'];\n this.titleService.setTitle(`${dynamicTitle} - ${appConfig.titleName}`);\n //this.titleService.setTitle(this.route.snapshot.data['title'] + \" - ECOTECH\");\n this.UserRole = localStorage.getItem(\"UserRole\");\n this.getAccess();\n // this.isEmployeeEditable = AppGlobals.EmployeeMastersEditableAccessArray.filter(x => x.role == this.UserRole)[0]?.isEditable;\n this.GetAllEmployeeDetails();\n }\n\n /*************************************************************************\n * Below function used for Server side Pagination,Sorting and Searching\n * (1)GetAllEmployeeDetails() - To get data for grid\n * (2)SearchParam() - searching\n * (3)sortData() - Sorting\n * (4)pageEvent() - Pagination\n * \n * ***********************************************************************/\n\n GetAllEmployeeDetails() {\n this.showLoader = true;\n\n let queryString = \"\";\n queryString = \"pageNumber=\" + this.pageNumber;\n queryString += \"&pageSize=\" + this.pageSize;\n queryString += \"&searchText=\" + this.SearchText;\n queryString += \"&direction=\" + this.direction;\n queryString += \"&columnName=\" + this.ColumnName;\n\n this.Service.GetData('Employee', 'GetAllEmployees', queryString).subscribe((data: any) => {\n this.data = data.Data;\n this.length = data.Total;\n this.dataSource = new MatTableDataSource(this.data);\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n\n }\n\n SearchParam(event: any) {\n this.SearchText = event.target.value;\n this.pageNumber = 1;\n this.paginator.pageIndex = 0;\n this.GetAllEmployeeDetails();\n }\n\n sortData(event: any) {\n if (this.dataSource.filteredData != null) {\n this.direction = event.direction;\n this.ColumnName = event.active;\n this.GetAllEmployeeDetails();\n }\n }\n\n pageEvent(event: any) {\n window.scroll({\n top: 0,\n left: 0,\n behavior: 'smooth'\n });\n this.pageNumber = event.pageIndex + 1;\n this.pageSize = event.pageSize;\n this.GetAllEmployeeDetails();\n }\n /************************************************************************\n * Grid Code End \n * **********************************************************************/\n\n /*******************************************************************************\n * Form validation method\n * ******************************************************************************/\n\n AvoidSpace(event: any) {\n if (event.which === 32 && !event.target.value.length) {\n event.preventDefault();\n }\n }\n\n /*******************************************************************************\n * End Form validation method \n * ******************************************************************************/\n\n UpdateEmployeeStatusById(RegisterId: number, RoleType: number, CurrentEmpStatus: boolean) {\n this.UpdateStatus.RegisterId = RegisterId;\n this.UpdateStatus.RoleType = RoleType;\n\n if (CurrentEmpStatus == true) {\n //Create ConfirmDialogRef \n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Do you want to deactivate this employee?\"\n }\n });\n // listen to response from ConfirmDialogRef\n dialogRef.afterClosed().subscribe(dialogResult => {\n // if user pressed yes dialogResult will be true, \n // if he pressed no - it will be false\n if (dialogResult) {\n this.pageNumber = 1;\n this.paginator.pageIndex = 0;\n this.length = 0;\n this.direction = 'desc';\n this.ColumnName = 'ModifiedOn';\n this.UpdateStatus.Status = 1;\n\n this.showLoader = true;\n this.Service.PostData('Account', 'UpdateStatus', this.UpdateStatus, null).subscribe((data: any) => {\n\n this.showLoader = false;\n if (data.ResponseCode == 1) {\n this.toastr.success(\"Employee deactivated successfully!\");\n }\n else {\n this.toastr.info(\"Failed to deactivate employee!\");\n }\n this.GetAllEmployeeDetails();\n }, error => {\n this.toastr.error(\"Failed to deactivate employee!\");\n this.GetAllEmployeeDetails();\n this.showLoader = false;\n });\n\n }\n else {\n this.GetAllEmployeeDetails();\n this.showLoader = false;\n let element: HTMLElement = document.getElementsByClassName('slideToogle')[0] as HTMLElement;\n element.click();\n }\n\n });\n\n }\n else {\n //Create ConfirmDialogRef\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Do you want to activate this employee?\"\n }\n });\n // listen to response from ConfirmDialogRef\n dialogRef.afterClosed().subscribe(dialogResult => {\n // if user pressed yes dialogResult will be true, \n // if he pressed no - it will be false\n if (dialogResult) {\n this.pageNumber = 1;\n this.paginator.pageIndex = 0;\n this.length = 0;\n this.direction = 'desc';\n this.ColumnName = 'ModifiedOn';\n this.UpdateStatus.Status = 0;\n\n this.showLoader = true;\n this.Service.PostData('Account', 'UpdateStatus', this.UpdateStatus, null).subscribe((data: any) => {\n this.showLoader = false;\n if (data.ResponseCode == 1) {\n this.toastr.success(\"Employee activated successfully!\");\n }\n else {\n this.toastr.info(\"Failed to activate employee!\");\n }\n this.GetAllEmployeeDetails();\n }, error => {\n this.toastr.error(\"Failed to activate employee!\");\n this.GetAllEmployeeDetails();\n this.showLoader = false;\n });\n\n }\n else {\n this.GetAllEmployeeDetails();\n this.showLoader = false;\n let element: HTMLElement = document.getElementsByClassName('slideToogle')[0] as HTMLElement;\n element.click();\n }\n });\n }\n\n }\n getAccess()\n {\n this.accessservice.GetAll().subscribe((data:any)=> {\n this.accesspermissionobj=data;\n this.isEmployeeEditable=this.accesspermissionobj.filter(x => x.Fk_RoleId == this.UserRole && x.ElementKey=='isEmployee')[0]?.IsEditable;\n \n });\n \n }\n}\n\n\n\n","\n\n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n Employee Listing\n

    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n\n Search\n \n \n\n
    \n\n
    \n\n
    \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n \n \n \n \n\n \n \n \n \n\n\n \n \n\n
    Username {{row.Username}} Name {{row.Name}} Employee Code {{row.EmpCode}} Role {{row.RoleName}} Email {{row.Email}} Contact Number {{row.ContactNumber}} Reporting Manager {{row.ReportingManagerName}} Action \n \n \n     \n\n \n   {{row.Status==true ? 'Active': 'Inactive'}}\n\n
    \n No records found
    \n \n \n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n","import { Component, OnInit, Input } from '@angular/core';\nimport { EmployeeGuestModel } from 'src/app/Model/EmployeeGuestModel';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { ToastrService } from 'ngx-toastr';\nimport { CommonService } from 'src/app/Service/common.service';\nimport { MatDialog } from '@angular/material/dialog';\nimport { ConfirmDialogComponent } from 'src/app/confirm-dialog/confirm-dialog.component';\nimport { Title } from '@angular/platform-browser';\nimport { AppConfigService } from 'src/app/Service/app-config.service';\n\n@Component({\n selector: 'app-add-guest',\n templateUrl: './add-guest.component.html',\n styleUrls: ['./add-guest.component.scss']\n})\nexport class AddGuestComponent implements OnInit {\n GuestDetails: EmployeeGuestModel = new EmployeeGuestModel();\n emailPattern: string = \"^[a-zA-Z0-9_\\\\.-]+@([a-zA-Z0-9-]+\\\\.)+[a-zA-Z]{2,6}$\";\n //passPattern: any = /^(?=.*[0-9])(?=.*[!@#$%^&*])[a-zA-Z0-9!@#$%^&*]{6,30}$/;\n passPattern: any = '(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[$@$!%*?&])[A-Za-z\\d$@$!%*?&].{6,30}';\n isValidEmail: boolean = false;\n Country: any[] = [];\n Roles: any[] = [];\n Region: any[] = [];\n UserId: number;\n charCode: any;\n mailIdFormat : any;\n\n @Input()\n showLoader: boolean = false;\n\n ConfirmPasshide: boolean = true;\n Passhide: boolean = true;\n\n constructor(private router: Router, private toastr: ToastrService, private Service: CommonService, public dialog: MatDialog, private route: ActivatedRoute, private titleService: Title,\n private appConfigService : AppConfigService) { }\n\n ngOnInit(): void {\n const appConfig = this.appConfigService.getConfig();\n const dynamicTitle = this.route.snapshot.data['title'];\n this.titleService.setTitle(`${dynamicTitle} - ${appConfig.titleName}`);\n this.mailIdFormat = appConfig.mailIdFormat;\n // this.titleService.setTitle(this.route.snapshot.data['title'] + \" - ECOTECH\");\n this.getAllCountry();\n this.getAllRoles();\n this.getAllRegion();\n }\n\n /*******************************************************************************\n * Get data for add employee\n * ******************************************************************************/\n getAllCountry() {\n this.showLoader = true;\n this.Service.GetData(\"Country\", \"GetAll\", null).subscribe((data: any) => {\n this.Country = data;\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n getAllRoles() {\n this.showLoader = true;\n this.Service.GetData('Account', 'GetAllGuestRoles', null).subscribe((data: any) => {\n this.Roles = data;\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n\n }\n\n getAllRegion() {\n this.showLoader = true;\n this.Service.GetData(\"Region\", \"GetAll\", null).subscribe((data: any) => {\n this.Region = data;\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n\n\n /*******************************************************************************\n * End Get data for add employee\n * ******************************************************************************/\n\n\n /*******************************************************************************\n * Form validation method\n * ******************************************************************************/\n\n isNumberKey(evt: any) {\n this.charCode = (evt.which) ? evt.which : evt.keyCode;\n if (this.charCode != 46 && this.charCode > 31\n && (this.charCode < 48 || this.charCode > 57)) {\n return false;\n }\n else {\n return true;\n }\n }\n\n AvoidSpace(event: any) {\n if (event.which === 32 && !event.target.value.length) {\n event.preventDefault();\n }\n }\n\n /*******************************************************************************\n * End Form validation method \n * ******************************************************************************/\n\n\n onSubmit(myform: any) {\n\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Do you want to add this guest?\"\n }\n });\n\n dialogRef.afterClosed().subscribe(dialogResult => {\n\n if (dialogResult) {\n this.GuestDetails.RoleType = 3;\n \n // let numberRegionID:number[]=[];\n // numberRegionID.push(this.GuestDetails.Region[0]);\n // this.GuestDetails.Region = numberRegionID;\n this.showLoader = true;\n this.Service.PostData('Account', 'Register', this.GuestDetails, null).subscribe((data: any) => {\n let result = data;\n this.showLoader = false;\n if (result.ResponseCode == 1) {\n this.toastr.success('Guest added successfully!');\n this.router.navigate(['/Guest']);\n }\n if (result.ResponseCode == 0) {\n this.toastr.warning('Username already exists!');\n myform.controls['username'].setErrors({ AlreadyPresent: true });\n }\n // chk = 2 Guest-id/ EmpCode already exists\n // chk=3 ContactNo. already exists\n // chk=4 ContactNo and Guest-id/ EmpCode already exists\n if (result.ResponseCode == 2) {\n this.toastr.warning('Guest id already exists!');\n myform.controls['guest_id'].setErrors({ AlreadyPresent: true });\n }\n if (result.ResponseCode == 3) {\n this.toastr.warning('Contact number already exists!');\n myform.controls['contactnumber'].setErrors({ AlreadyPresent: true });\n }\n if (result.ResponseCode == 4) {\n this.toastr.warning('Guest id and contact number already exists!');\n myform.controls['guest_id'].setErrors({ AlreadyPresent: true });\n myform.controls['contactnumber'].setErrors({ AlreadyPresent: true });\n }\n }, error => {\n this.toastr.error('Falied to add guest details!');\n this.showLoader = false;\n this.router.navigate(['/Guest']);\n });\n }\n });\n\n }\n\n\n\n}\n","\n\n
    \n\n \n \n\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n Add Guest\n

    \n
    \n
    \n\n
    \n
    \n * Marked fields are\n mandatory\n
    \n
    \n
    \n \n
    \n \n
    \n
    \n Guest id is required
    \n
    \n Guest id already exists!\n
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n Email is required
    \n
    \n \n Should be in Email Id format ({{mailIdFormat}})\n
    \n\n
    \n\n
    \n\n
    \n
    \n \n
    \n \n
    \n
    \n Contact number is required
    \n
    \n Please enter valid contact number
    \n \n Contact number should be 10-15 digits
    \n
    \n Contact number already exists!\n
    \n\n
    \n
    \n
    \n \n
    \n\n \n
    \n
    \n Address is required
    \n
    \n
    \n\n
    \n\n
    \n \n
    \n\n \n
    \n
    \n Country is required
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n Region is required
    \n
    \n
    \n\n
    \n\n
    \n \n
    \n \n
    \n
    \n Role is required
    \n
    \n
    \n
    \n \n
    \n \n \n {{Passhide ? 'visibility_off': 'visibility'}}\n \n \n
    \n
    \n Password is required
    \n
    \n Password must contains minimum 6 alphanumeric with at least one\n uppercase, one lowercase and one special characters. (Ex. Pass@123)\n
    \n
    \n
    \n\n
    \n\n
    \n \n
    \n \n \n {{ConfirmPasshide ? 'visibility_off':\n 'visibility'}}\n \n
    \n
    \n Confirm Password is required
    \n
    \n Confirm password must be same as password
    \n
    \n
    \n\n
    \n
    \n\n
    \n
    \n
    \n
    \n
    \n   \n Cancel\n
    \n
    \n
    \n
    \n \n
    \n
    \n\n \n\n \n \n","import { Component, OnInit, Input } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { ToastrService } from 'ngx-toastr';\nimport { EmployeeGuestModel } from 'src/app/Model/EmployeeGuestModel';\nimport { CommonService } from 'src/app/Service/common.service';\nimport { ConfirmDialogComponent } from 'src/app/confirm-dialog/confirm-dialog.component';\nimport { MatDialog } from '@angular/material/dialog';\nimport { AppGlobals } from 'src/app/app.global';\nimport { Title } from '@angular/platform-browser';\nimport { AccessPermissionModel } from 'src/app/Model/WorkFlowScreenAccessModel';\nimport { AccessPermissionService } from 'src/app/Service/access-permission.service';\nimport { AppConfigService } from 'src/app/Service/app-config.service';\n@Component({\n selector: 'app-edit-view-guest',\n templateUrl: './edit-view-guest.component.html',\n styleUrls: ['./edit-view-guest.component.scss']\n})\n\nexport class EditViewGuestComponent implements OnInit {\n GuestDetails: EmployeeGuestModel = new EmployeeGuestModel();\n isEditable: boolean = true;\n FormStatus: string = \"View\";\n emailPattern: string = \"^[a-zA-Z0-9_\\\\.-]+@([a-zA-Z0-9-]+\\\\.)+[a-zA-Z]{2,6}$\";\n // passPattern: any = /^(?=.*[0-9])(?=.*[!@#$%^&*])[a-zA-Z0-9!@#$%^&*]{6,30}$/;\n passPattern: any = '(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[$@$!%*?&])[A-Za-z\\d$@$!%*?&].{6,30}';\n isValidEmail: boolean = false;\n Country: any[] = [];\n Roles: any[] = [];\n Region: any[] = [];\n charCode: any;\n UserRole: any;\n isGuestEditable: boolean = false;\n mailIdFormat : any;\n\n @Input()\n showLoader: boolean = false;\n Passhide: boolean = true;\n ConfirmPasshide: boolean = true;\n accesspermissionobj:AccessPermissionModel[]=Array();\n AccesspermissionForRole:any[]=[];\n\n\n constructor(private router: Router, private route: ActivatedRoute, private toastr: ToastrService, private Service: CommonService, public dialog: MatDialog, private titleService: Title,private accessservice: AccessPermissionService,\n private appConfigService : AppConfigService) {\n // this.GuestDetails.Region = []; // Initialize Region as an empty array\n }\n\n ngOnInit(): void {\n const appConfig = this.appConfigService.getConfig();\n const dynamicTitle = this.route.snapshot.data['title'];\n this.titleService.setTitle(`${dynamicTitle} - ${appConfig.titleName}`);\n this.mailIdFormat = appConfig.mailIdFormat;\n //this.titleService.setTitle(this.route.snapshot.data['title'] + \" - ECOTECH\");\n this.UserRole = localStorage.getItem(\"UserRole\");\n this.getAccess();\n //this.isGuestEditable = AppGlobals.GuestMastersEditableAccessArray.filter(x => x.role == this.UserRole)[0]?.isEditable;\n this.GuestDetails.RegisterId = this.route.snapshot.params[\"id\"];\n this.getGuestDetailsById(this.GuestDetails.RegisterId);\n this.getAllCountry();\n this.getAllRoles();\n this.getAllRegion();\n }\n\n /*******************************************************************************\n * Get data for add employee\n * ******************************************************************************/\n getAllCountry() {\n this.showLoader = true;\n this.Service.GetData(\"Country\", \"GetAll\", null).subscribe((data: any) => {\n this.Country = data;\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n\n getAllRoles() {\n this.showLoader = true;\n this.Service.GetData('Account', 'GetAllGuestRoles', null).subscribe((data: any) => {\n this.Roles = data;\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n\n }\n getAllRegion() {\n this.showLoader = true;\n this.Service.GetData(\"Region\", \"GetAll\", null).subscribe((data: any) => {\n this.Region = data;\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n\n getGuestDetailsById(RegisterId: number) {\n this.showLoader = true;\n\n let queryString = \"\";\n queryString = \"id=\" + RegisterId;\n\n this.Service.GetData('Guest', 'GetGuestById', queryString).subscribe((data: EmployeeGuestModel) => {\n this.GuestDetails = data;\n // console.log(\"--------------- +\" , this.GuestDetails)\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n\n }\n\n /*******************************************************************************\n * End Get data for add employee\n * ******************************************************************************/\n\n EditDetails() {\n this.isEditable = false;\n this.FormStatus = \"Edit\";\n const appConfig = this.appConfigService.getConfig();\n this.titleService.setTitle(`Edit Guest - ${appConfig.titleName}`);\n //this.titleService.setTitle(\"Edit Guest - ECOTECH\");\n }\n\n /*******************************************************************************\n * Form validation method\n * ******************************************************************************/\n\n isNumberKey(evt: any) {\n this.charCode = (evt.which) ? evt.which : evt.keyCode;\n if (this.charCode != 46 && this.charCode > 31\n && (this.charCode < 48 || this.charCode > 57)) {\n return false;\n }\n else {\n return true;\n }\n }\n\n AvoidSpace(event: any) {\n if (event.which === 32 && !event.target.value.length) {\n event.preventDefault();\n }\n }\n\n /*******************************************************************************\n * End Form validation method \n * ******************************************************************************/\n\n\n onSubmit(myform: any) {\n\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Do you want to update this guest?\"\n }\n });\n\n dialogRef.afterClosed().subscribe(dialogResult => {\n\n if (dialogResult) {\n this.GuestDetails.RoleType = 3;\n this.showLoader = true;\n this.Service.PostData('Account', 'UpdateRegister', this.GuestDetails, null).subscribe((data: any) => {\n let result = data;\n this.showLoader = false;\n if (result.ResponseCode == 1) {\n this.toastr.success('Guest updated successfully!');\n this.router.navigate(['/Guest']);\n }\n if (result.ResponseCode == 0) {\n this.toastr.warning('Username already exists!');\n myform.controls['username'].setErrors({ AlreadyPresent: true });\n }\n if (result.ResponseCode == 2) {\n this.toastr.warning('Guest id already exists!');\n myform.controls['guest_id'].setErrors({ AlreadyPresent: true });\n }\n if (result.ResponseCode == 3) {\n this.toastr.warning('Contact number already exists!');\n myform.controls['contactnumber'].setErrors({ AlreadyPresent: true });\n }\n if (result.ResponseCode == 4) {\n this.toastr.warning('Guest id and contact number already exists!');\n myform.controls['guest_id'].setErrors({ AlreadyPresent: true });\n myform.controls['contactnumber'].setErrors({ AlreadyPresent: true });\n }\n if(result.ResponseCode == 5)\n {\n this.toastr.success('Failed to update guest password!');\n this.router.navigate(['/Guest']);\n }\n }, error => {\n this.toastr.error('Failed to update guest details!');\n this.showLoader = false;\n this.router.navigate(['/Guest']);\n });\n }\n });\n\n }\n\n getAccess()\n {\n this.accessservice.GetAll().subscribe((data:any)=> {\n this.accesspermissionobj=data;\n this.isGuestEditable=this.accesspermissionobj.filter(x => x.Fk_RoleId == this.UserRole && x.ElementKey=='isGuest')[0]?.IsEditable;\n console.log(\"IsConfigure-\",this.isGuestEditable);\n \n });\n \n }\n\n}\n","\n\n
    \n\n \n \n\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n {{FormStatus}} Guest\n

    \n
    \n
    \n\n
    \n
    \n * Marked fields are\n mandatory\n
    \n
    \n
    \n \n
    \n \n
    \n
    \n Guest id is required
    \n
    \n Guest id already exists!\n
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n Email is required
    \n
    \n \n Should be in Email Id format ({{mailIdFormat}})\n
    \n\n
    \n\n
    \n\n
    \n
    \n \n
    \n \n
    \n
    \n Contact number is required
    \n
    \n Please enter valid contact number
    \n \n Contact number should be 10-15 digits
    \n
    \n Contact number already exists!
    \n
    \n
    \n
    \n \n
    \n\n \n
    \n
    \n Address is required
    \n
    \n
    \n\n
    \n\n
    \n \n
    \n\n \n
    \n
    \n Country is required
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n Region is required
    \n
    \n
    \n\n
    \n\n
    \n \n
    \n \n
    \n
    \n Role is required
    \n
    \n
    \n
    \n \n
    \n \n \n {{Passhide ? 'visibility_off': 'visibility'}}\n \n \n
    \n
    \n Password is required
    \n
    \n Password must contains minimum 6 alphanumeric with at least one\n uppercase, one lowercase and one special characters. (Ex. Pass@123)\n
    \n
    \n
    \n\n
    \n\n
    \n \n
    \n \n \n {{ConfirmPasshide ? 'visibility_off':\n 'visibility'}}\n \n
    \n
    \n Confirm Password is required
    \n
    \n Confirm password must be same as password
    \n
    \n
    \n\n
    \n
    \n\n\n
    \n
    \n
    \n
    \n
    \n   \n   \n Cancel\n
    \n
    \n
    \n
    \n \n
    \n
    \n\n \n\n \n \n","import { Component, OnInit, ViewChild, Input, Output, EventEmitter } from '@angular/core';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort, Sort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { EmployeeGuestModel } from 'src/app/Model/EmployeeGuestModel';\nimport { ToastrService } from 'ngx-toastr';\nimport { CommonService } from 'src/app/Service/common.service';\nimport { MatDialog } from '@angular/material/dialog';\nimport { UpdateStatus } from 'src/app/Model/CommonModel';\nimport { ConfirmDialogComponent } from 'src/app/confirm-dialog/confirm-dialog.component';\nimport { AppGlobals } from 'src/app/app.global';\nimport { ActivatedRoute } from '@angular/router';\nimport { Title } from '@angular/platform-browser';\nimport { AccessPermissionModel } from 'src/app/Model/WorkFlowScreenAccessModel';\nimport { AccessPermissionService } from 'src/app/Service/access-permission.service';\nimport { AppConfigService } from 'src/app/Service/app-config.service';\n\n\n@Component({\n selector: 'app-guest-details',\n templateUrl: './guest-details.component.html',\n styleUrls: ['./guest-details.component.scss']\n})\n\nexport class GuestDetailsComponent implements OnInit {\n displayedColumns: string[] = ['Username', 'Name', 'Address', 'RoleName', 'Email', 'ContactNumber', 'Action'];\n dataSource: MatTableDataSource;\n disabled: boolean = false;\n accesspermissionobj:AccessPermissionModel[]=Array();\n AccesspermissionForRole:any[]=[];\n\n /*************************************************************************\n Server side Pagination purpose\n *************************************************************************/\n pageNumber: number = 1;\n @Input() pageSize: number = 5;\n @Input() length: number;\n @Input() pageIndex: number = this.pageNumber - 1;\n direction: string = 'desc';\n ColumnName: string = 'ModifiedOn';\n SearchText: string = \"\";\n @Output('matSortChange') sortChange: EventEmitter;\n @ViewChild(MatPaginator) paginator: MatPaginator;\n /*************************************************************************\n End here\n *************************************************************************/\n\n @Input()\n showLoader: boolean = false;\n data: any[] = [];\n UpdateStatus: UpdateStatus = new UpdateStatus();\n UserRole: any;\n isGuestEditable: boolean = false;\n constructor(private toastr: ToastrService, private Service: CommonService, public dialog: MatDialog, private route: ActivatedRoute,\n private titleService: Title,private accessservice: AccessPermissionService, private appConfigService : AppConfigService) {\n }\n\n ngOnInit() {\n const appConfig = this.appConfigService.getConfig();\n const dynamicTitle = this.route.snapshot.data['title'];\n this.titleService.setTitle(`${dynamicTitle} - ${appConfig.titleName}`);\n //this.titleService.setTitle(this.route.snapshot.data['title'] + \" - ECOTECH\");\n this.UserRole = localStorage.getItem(\"UserRole\");\n this.getAccess();\n //this.isGuestEditable = AppGlobals.GuestMastersEditableAccessArray.filter(x => x.role == this.UserRole)[0]?.isEditable;\n this.GetAllGuestDetails();\n }\n\n /*************************************************************************\n * Below function used for Server side Pagination,Sorting and Searching\n * (1)GetAllGuestDetails() - To get data for grid\n * (2)SearchParam() - searching\n * (3)sortData() - Sorting\n * (4)pageEvent() - Pagination\n * \n * ***********************************************************************/\n\n GetAllGuestDetails() {\n this.showLoader = true;\n\n let queryString = \"\";\n queryString = \"pageNumber=\" + this.pageNumber;\n queryString += \"&pageSize=\" + this.pageSize;\n queryString += \"&searchText=\" + this.SearchText;\n queryString += \"&direction=\" + this.direction;\n queryString += \"&columnName=\" + this.ColumnName;\n\n this.Service.GetData('Guest', 'GetAllGuests', queryString).subscribe((data: any) => {\n this.data = data.Data;\n this.length = data.Total;\n this.dataSource = new MatTableDataSource(this.data);\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n\n }\n\n SearchParam(event: any) {\n this.SearchText = event.target.value;\n this.pageNumber = 1;\n this.paginator.pageIndex = 0;\n this.GetAllGuestDetails();\n }\n\n sortData(event: any) {\n if (this.dataSource.filteredData != null) {\n this.direction = event.direction;\n this.ColumnName = event.active;\n this.GetAllGuestDetails();\n }\n }\n\n pageEvent(event: any) {\n window.scroll({\n top: 0,\n left: 0,\n behavior: 'smooth'\n });\n this.pageNumber = event.pageIndex + 1;\n this.pageSize = event.pageSize;\n this.GetAllGuestDetails();\n }\n /************************************************************************\n * Grid Code End \n * **********************************************************************/\n\n /*******************************************************************************\n * Form validation method\n * ******************************************************************************/\n\n AvoidSpace(event: any) {\n if (event.which === 32 && !event.target.value.length) {\n event.preventDefault();\n }\n }\n\n /*******************************************************************************\n * End Form validation method \n * ******************************************************************************/\n\n\n UpdateGuestStatusById(RegisterId: number, RoleType: number, CurrentGuestStatus: boolean) {\n this.UpdateStatus.RegisterId = RegisterId;\n this.UpdateStatus.RoleType = RoleType;\n\n if (CurrentGuestStatus == true) {\n //Create ConfirmDialogRef \n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Do you want to deactivate this guest?\"\n }\n });\n // listen to response from ConfirmDialogRef\n dialogRef.afterClosed().subscribe(dialogResult => {\n // if user pressed yes dialogResult will be true, \n // if he pressed no - it will be false\n if (dialogResult) {\n this.pageNumber = 1;\n this.paginator.pageIndex = 0;\n this.length = 0;\n this.direction = 'desc';\n this.ColumnName = 'ModifiedOn';\n this.UpdateStatus.Status = 1;\n\n this.showLoader = true;\n this.Service.PostData('Account', 'UpdateStatus', this.UpdateStatus, null).subscribe((data: any) => {\n\n this.showLoader = false;\n if (data.ResponseCode == 1) {\n this.toastr.success(\"Guest deactivated successfully!\");\n }\n else {\n this.toastr.info(\"Failed to deactivate guest!\");\n }\n this.GetAllGuestDetails();\n }, error => {\n this.toastr.error(\"Failed to deactivate guest!\");\n this.GetAllGuestDetails();\n\n this.showLoader = false;\n });\n\n }\n else {\n this.GetAllGuestDetails();\n this.showLoader = false;\n let element: HTMLElement = document.getElementsByClassName('slideToogle')[0] as HTMLElement;\n element.click();\n }\n });\n }\n else {\n //Create ConfirmDialogRef\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Do you want to activate this guest?\"\n }\n });\n // listen to response from ConfirmDialogRef\n dialogRef.afterClosed().subscribe(dialogResult => {\n // if user pressed yes dialogResult will be true, \n // if he pressed no - it will be false\n if (dialogResult) {\n this.pageNumber = 1;\n this.paginator.pageIndex = 0;\n this.length = 0;\n this.direction = 'desc';\n this.ColumnName = 'ModifiedOn';\n this.UpdateStatus.Status = 0;\n\n this.showLoader = true;\n this.Service.PostData('Account', 'UpdateStatus', this.UpdateStatus, null).subscribe((data: any) => {\n this.showLoader = false;\n if (data.ResponseCode == 1) {\n this.toastr.success(\"Guest activated successfully!\");\n }\n else {\n this.toastr.info(\"Failed to activate guest!\");\n }\n this.GetAllGuestDetails();\n }, error => {\n this.toastr.error(\"Failed to activate guest!\");\n this.GetAllGuestDetails();\n this.showLoader = false;\n });\n\n }\n else {\n this.GetAllGuestDetails();\n this.showLoader = false;\n let element: HTMLElement = document.getElementsByClassName('slideToogle')[0] as HTMLElement;\n element.click();\n }\n });\n }\n }\n\n getAccess()\n {\n this.accessservice.GetAll().subscribe((data:any)=> {\n this.accesspermissionobj=data;\n this.isGuestEditable=this.accesspermissionobj.filter(x => x.Fk_RoleId == this.UserRole && x.ElementKey=='isGuest')[0]?.IsEditable;\n \n });\n \n }\n\n}\n\n\n","\n\n
    \n\n \n \n\n \n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n Guest Listing\n

    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n\n
    \n
    \n \n\n Search\n \n \n\n
    \n\n
    \n\n
    \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n\n \n \n\n
    Username {{row.Username}} Name {{row.Name}} Address {{row.Address}}\n Role {{row.RoleName}} Email {{row.Email}} Contact Number {{row.ContactNumber}} Action \n \n \n     \n\n \n   {{row.Status==true ? 'Active': 'Inactive'}}\n\n
    \n No records found
    \n \n \n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n","import { Component, OnInit } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { Router } from '@angular/router';\nimport { ToastrService } from 'ngx-toastr';\nimport { AppGlobals } from 'src/app/app.global';\nimport { ConfirmDialogComponent } from 'src/app/confirm-dialog/confirm-dialog.component';\nimport { LoginPageImage } from 'src/app/Model/LoginPageImage';\nimport { CommonService } from 'src/app/Service/common.service';\n\n@Component({\n selector: 'app-add-login-page-dynamic-image',\n templateUrl: './add-login-page-dynamic-image.component.html',\n styleUrls: ['./add-login-page-dynamic-image.component.scss']\n})\nexport class AddLoginPageDynamicImageComponent implements OnInit {\n\n LoginPageImageObj: LoginPageImage = new LoginPageImage();\n allowedFileType: string[] = [\n 'image/bmp',\n 'image/jpeg',\n 'image/png',\n ];\n AppGlobals = AppGlobals;\n file: any;\n showLoader: boolean = false;\n remLimit: any = 1500;\n maxLimit: any = 1500;\n varLongTermGoal: any;\n constructor(\n private router: Router,\n private toastr: ToastrService,\n public dialog: MatDialog,\n private CommonService: CommonService\n\n ) { }\n\n ngOnInit(): void {\n }\n\n onSubmit(myform: any) {\n\n if (this.LoginPageImageObj.ImageName == \"\") {\n this.toastr.info(\"Please Select an Image\");\n return;\n }\n\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"You want to add this Login_Page_Image?\"\n }\n });\n\n dialogRef.afterClosed().subscribe(dialogResult => {\n if (dialogResult) {\n this.showLoader = true;\n\n const frmData = new FormData();\n // let LoginPagedetails = JSON.stringify(this.LoginPageImageObj);\n // frmData.append(\"LoginModel\", LoginPagedetails);\n if (this.LoginPageImageObj.ImageName != undefined)\n frmData.append(\"LoginPageImage\", this.file);\n let LoginPagedetails = JSON.stringify(this.LoginPageImageObj);\n frmData.append(\"LoginModel\", LoginPagedetails);\n this.CommonService.PostData('LoginPageImage', 'Add', frmData, null).subscribe((data: any) => {\n let result = data;\n\n if (result.ResponseCode == 1) {\n this.toastr.success('Login_Page_Image added successfully!');\n this.CommonService.RefreshHeaderFun();\n this.router.navigate(['/LoginPageImage']);\n this.showLoader = false;\n }\n else if (result.ResponseCode == 0) {\n this.toastr.warning('Login_Page_Image is already exist!');\n this.router.navigate(['/LoginPageImage']);\n this.showLoader = false;\n }\n else {\n this.toastr.error('Failed to add Login_Page_Image!');\n this.router.navigate(['/LoginPageImage']);\n this.showLoader = false;\n }\n\n }, error => {\n this.toastr.error('Failed to add Login_Page_Image!');\n this.showLoader = false;\n this.router.navigate(['/LoginPageImage']);\n });\n }\n\n\n });\n }\n // uploadDynamicImage(event, index) {\n // let file = event.target.files[0];\n // let isValidFile = true;\n // let fileExists = true;\n // if (((file.size) / 1000000) <= 5) {\n // isValidFile = this.allowedFileType.includes(file.type);\n // if (!isValidFile) {\n // this.toastr.warning(\"Invalid file\");\n // }\n // if(!fileExists) {\n // this.toastr.warning(\"File is Already exists!\")\n // }\n // else {\n // this.LoginPageImageObj.ImageName = file.name;\n // this.file=file; \n // //const fileExists = true; \n // }\n // }\n // else\n // {\n // this.toastr.info(\"Too large file. Please select file upto 5MB\");\n // }\n // }\n\n uploadDynamicImage(event) {\n for (let i = 0; i < event.target.files.length; i++) {\n let file = event.target.files[i];\n let isValidFile = true;\n if (((file.size) / 1000000) <= 5) {\n\n isValidFile = this.allowedFileType.includes(file.type);\n if (!isValidFile) {\n this.toastr.warning(\"Please attach the file having extension :\\n\\n .bmp, .jpeg, .jpg, .png,\");\n //event.target.value = null;\n isValidFile = false;\n }\n // else if (file.name.length > 50) {\n // this.toastr.warning(\"The file name with more than 50 characters are not allowed.\");\n // isValidFile = false;\n // }\n }\n else {\n this.toastr.warning(\"File size must be less than or equal to 5MB!\");\n //event.target.value = null;\n isValidFile = false;\n }\n if (isValidFile) {\n // this.StockFile.push(file);\n this.LoginPageImageObj.ImageName = file.name;\n this.file = file;\n }\n }\n\n }\n limitTextOnKeyUpDown1(event: any) {\n let goalText = event.target.value;\n if (goalText.length > this.maxLimit) {\n this.varLongTermGoal = goalText.substring(0, this.maxLimit);\n } else {\n this.remLimit = this.maxLimit - goalText.length;\n }\n }\n AvoidSpace(event: any) {\n if (event.which === 32 && !event.target.value.length) {\n event.preventDefault();\n }\n }\n}\n","\n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n Add LoginPage Image\n

    \n
    \n
    \n
    \n \n\n
    \n
    \n
    \n
    \n
    \n","import { HttpClient } from '@angular/common/http';\nimport { Component, EventEmitter, Input, OnInit, Output, NgZone, ViewChild } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { Sort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { Title } from '@angular/platform-browser';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { ToastrService } from 'ngx-toastr';\nimport { ConfirmDialogComponent } from 'src/app/confirm-dialog/confirm-dialog.component';\nimport { SingleFieldComponent, SingleFieldModel } from 'src/app/Model/SingleFieldModel';\nimport { AccessPermissionModel } from 'src/app/Model/WorkFlowScreenAccessModel';\nimport { AccessPermissionService } from 'src/app/Service/access-permission.service';\nimport { CommonService } from 'src/app/Service/common.service';\nimport { UserRoles } from 'src/app/UserRoles';\n\n@Component({\n selector: 'app-details-login-page-dynamic-image',\n templateUrl: './details-login-page-dynamic-image.component.html',\n styleUrls: ['./details-login-page-dynamic-image.component.scss']\n})\nexport class DetailsLoginPageDynamicImageComponent implements OnInit {\n displayedColumns: string[] = ['ImageName', 'Action'];\n dataSource: MatTableDataSource;\n singleFieldComponent: SingleFieldComponent = new SingleFieldComponent();\n singleFieldObj: SingleFieldModel = new SingleFieldModel();\n Role: any;\n UserRoles: any;\n disabled: boolean = false;\n isImageEditable: boolean = false;\n accesspermissionobj:AccessPermissionModel[]=Array();\n AccesspermissionForRole:any[]=[];\n\n\n /*************************************************************************\n Server side Pagination purpose\n *************************************************************************/\n pageNumber: number = 1;\n @Input() pageSize: number = 5;\n @Input() length: number;\n @Input() pageIndex: number = this.pageNumber - 1;\n direction: string = 'desc';\n ColumnName: string = 'ModifiedOn';\n SearchText: string = \"\";\n @Output('matSortChange') sortChange: EventEmitter;\n @ViewChild(MatPaginator) paginator: MatPaginator;\n \n /*************************************************************************\n End here\n *************************************************************************/\n \n @Input()\n showLoader: boolean = false;\n data: any[] = [];\n\n ngOnInit(): void {\n this.singleFieldObj.Id = this.route.snapshot.params[\"id\"];\n this.Role = localStorage.getItem(\"UserRole\");\n this.getAccess();\n\n //this.isImageEditable = AppGlobals.CustomerMastersEditableAccessArray.filter(x => x.role == this.Role)[0]?.isEditable;\n //this.isDownloadCustomerData = AppGlobals.CustomerMastersDataDownloadAccessArray.filter(x => x.role == this.Role)[0]?.isEditable;\n this.GetAllImageDetails();\n }\n\n constructor(private toastr: ToastrService, private Service: CommonService, public dialog: MatDialog,\n private http: HttpClient, private NgZone: NgZone, private router: Router, private route: ActivatedRoute, private titleService: Title,private accessservice: AccessPermissionService\n ) {\n this.UserRoles = UserRoles;\n }\n\n /*************************************************************************\n * Below function used for Server side Pagination,Sorting and Searching\n * (1)GetAllCustomerDetails() - To get data for grid\n * (2)SearchParam() - searching\n * (3)sortData() - Sorting\n * (4)pageEvent() - Pagination\n * \n * ***********************************************************************/\n\n // showimg(){\n \n // this.Service.GetData('LoginPageImage', 'GetActiveImage',null).subscribe((data: any) => {\n // console.log('Data from api',data)\n // this.data = data.Data;\n // this.length = data.Total;\n \n // this.dataSource = new MatTableDataSource(this.data);\n // this.showLoader = false;\n // }, error => {\n // this.toastr.error(\"Failed to load data!\");\n // this.showLoader = false;\n // });\n \n\n // }\n\n\n GetAllImageDetails() {\n this.showLoader = true;\n let queryString = \"\";\n queryString = \"pageNumber=\" + this.pageNumber;\n queryString += \"&pageSize=\" + this.pageSize;\n queryString += \"&searchText=\" + this.SearchText;\n queryString += \"&direction=\" + this.direction;\n queryString += \"&columnName=\" + this.ColumnName;\n\n this.Service.GetData('LoginPageImage', 'GetAllPagination', queryString).subscribe((data: any) => {\n this.data = data.Data;\n this.length = data.Total;\n\n this.dataSource = new MatTableDataSource(this.data);\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n\n\n }\n\n SearchParam(event: any) {\n this.SearchText = event.target.value;\n this.pageNumber = 1;\n this.paginator.pageIndex = 0;\n this.GetAllImageDetails();\n }\n\n sortData(event: any) {\n if (this.dataSource.filteredData != null) {\n this.direction = event.direction;\n this.ColumnName = event.active;\n this.GetAllImageDetails();\n }\n }\n\n pageEvent(event: any) {\n \n window.scroll({\n top: 0,\n left: 0,\n behavior: 'smooth'\n });\n \n this.pageNumber = event.pageIndex + 1;\n this.pageSize = event.pageSize;\n this.GetAllImageDetails();\n }\n /************************************************************************\n * Grid Code End \n * **********************************************************************/\n\n /*******************************************************************************\n * Form validation method\n * ******************************************************************************/\n\n AvoidSpace(event: any) {\n if (event.which === 32 && !event.target.value.length) {\n event.preventDefault();\n }\n }\n\n /*******************************************************************************\n * End Form validation method \n * ******************************************************************************/\n\n \n UpdateImageById(Id: number, CurrentStatus: boolean) {\n\n if (CurrentStatus == true) {\n //Create ConfirmDialogRef \n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Do you want to deactivate this as login image?\"\n }\n });\n // listen to response from ConfirmDialogRef\n dialogRef.afterClosed().subscribe(dialogResult => {\n // if user pressed yes dialogResult will be true, \n // if he pressed no - it will be false\n if (dialogResult) {\n this.pageNumber = 1;\n this.paginator.pageIndex = 0;\n this.length = 0;\n this.direction = 'desc';\n this.ColumnName = 'ModifiedOn';\n this.showLoader = true;\n\n let queryString = \"\";\n queryString = \"Id=\" + Id;\n\n this.Service.PostData('LoginPageImage', 'UpdateStatus', null,queryString).subscribe((data: any) => {\n this.showLoader = false;\n if (data.ResponseCode == 1) {\n this.toastr.success(\"LoginPageImage deactivated successfully!\");\n }\n else {\n this.toastr.info(\"Failed to deactivate LoginPageImage!\");\n }\n this.GetAllImageDetails();\n }, error => {\n this.toastr.error(\"Failed to deactivate LoginPageImage!\");\n this.GetAllImageDetails();\n this.showLoader = false;\n });\n }\n else {\n this.GetAllImageDetails();\n this.showLoader = false;\n let element: HTMLElement = document.getElementsByClassName('slideToogle')[0] as HTMLElement;\n element.click();\n }\n });\n\n }\n else {\n //Create ConfirmDialogRef\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Do you want to activate this as login image?\"\n }\n });\n // listen to response from ConfirmDialogRef\n dialogRef.afterClosed().subscribe(dialogResult => {\n // if user pressed yes dialogResult will be true, \n // if he pressed no - it will be false\n if (dialogResult) {\n this.pageNumber = 1;\n this.paginator.pageIndex = 0;\n this.length = 0;\n this.direction = 'desc';\n this.ColumnName = 'ModifiedOn';\n this.showLoader = true;\n\n let queryString = \"\";\n queryString = \"id=\" + Id;\n\n this.Service.PostData('LoginPageImage', 'UpdateStatus', null, queryString).subscribe((data: any) => {\n this.showLoader = false;\n if (data.ResponseCode == 1) {\n this.toastr.success(\"LoginPageImage activated successfully!\");\n }\n else {\n this.toastr.info(\"Failed to activate LoginPageImage!\");\n }\n this.GetAllImageDetails();\n }, error => {\n this.toastr.error(\"Failed to activate LoginPageImage!\");\n this.GetAllImageDetails();\n this.showLoader = false;\n });\n\n }\n else {\n this.GetAllImageDetails();\n this.showLoader = false;\n let element: HTMLElement = document.getElementsByClassName('slideToogle')[0] as HTMLElement;\n element.click();\n }\n });\n }\n \n }\n\n defaultchek = false; \n\n getAccess()\n {\n this.accessservice.GetAll().subscribe((data:any)=> {\n this.accesspermissionobj=data;\n this.isImageEditable=this.accesspermissionobj.filter(x => x.Fk_RoleId == this.Role && x.ElementKey=='isLoginPageImage')[0]?.IsEditable;\n \n });\n \n }\n\n}\n","\n\n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    Login Page Images\n

    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n \n Search\n \n \n\n
    \n\n
    \n\n
    \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n\n \n \n\n
    Id {{row.id} Image Name {{row.ImageName}} Action \n \n \n     \n\n \n   {{row.Active==true ? 'Active' : 'Inactive'}}\n \n\n \n
    \n No records found
    \n\n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { Title } from '@angular/platform-browser';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { ToastrService } from 'ngx-toastr';\nimport { AppGlobals } from 'src/app/app.global';\nimport { ConfirmDialogComponent } from 'src/app/confirm-dialog/confirm-dialog.component';\nimport { LoginPageImage } from 'src/app/Model/LoginPageImage';\nimport { SingleFieldModel } from 'src/app/Model/SingleFieldModel';\nimport { AccessPermissionModel } from 'src/app/Model/WorkFlowScreenAccessModel';\nimport { AccessPermissionService } from 'src/app/Service/access-permission.service';\nimport { AppConfigService } from 'src/app/Service/app-config.service';\nimport { CommonService } from 'src/app/Service/common.service';\n\n@Component({\n selector: 'app-edit-view-login-page-dynamic-image',\n templateUrl: './edit-view-login-page-dynamic-image.component.html',\n styleUrls: ['./edit-view-login-page-dynamic-image.component.scss']\n})\nexport class EditViewLoginPageDynamicImageComponent implements OnInit {\n LoginPageImageObj: LoginPageImage = new LoginPageImage();\n allowedFileType: string[] = [\n 'image/bmp',\n 'image/jpeg',\n 'image/png',\n ];\n // Id: any;\n file: any;\n Comment: string = \"\";\n ImagePath: string = \"\";\n remLimit: any = 1500;\n maxLimit: any = 1500;\n varLongTermGoal: any;\n isEditable: boolean = true;\n isCommentEditable: boolean = false;\n FormStatus: string = \"View\";\n\n UserRole:any;\n isLoginPageImageEditable:boolean;\n accesspermissionobj:AccessPermissionModel[]=Array();\n AccesspermissionForRole:any[]=[];\n\n\n @Input()\n showLoader: boolean = false;\n data: any[] = [];\n @Output() sendImage: EventEmitter;\n Id:any;\n\n \n constructor(private Service:CommonService,\n private toastr:ToastrService,\n private route: ActivatedRoute,\n private router: Router,\n private titleService: Title,\n public dialog: MatDialog,private accessservice: AccessPermissionService,\n private appConfigService : AppConfigService) {\n \n }\n \n ngOnInit(): void {\n this.Id= this.route.snapshot.params[\"id\"];\n this.GetAllImageDetails();\n this.UserRole = localStorage.getItem(\"UserRole\");\n this.getAccess();\n // console.log(this.GetAllImageDetails)\n \n }\n \n GetAllImageDetails() {\n this.showLoader = true;\n let queryString = \"\";\n queryString=\"Id=\"+this.Id;\n this.Service.GetData('LoginPageImage', 'GetById', queryString).subscribe((data: any) => {\n this.LoginPageImageObj = data;\n this.ImagePath = AppGlobals.baseAppUrl + \"uploads/LoginPageImage/\" + encodeURIComponent(data.ImageName);\n this.remLimit = this.maxLimit - data.Comment.length;\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n\n\n }\n limitTextOnKeyUpDown1(event: any) {\n let goalText = event.target.value;\n if (goalText.length > this.maxLimit) {\n this.varLongTermGoal = goalText.substring(0, this.maxLimit);\n } else {\n this.remLimit = this.maxLimit - goalText.length;\n }\n }\n\n onSubmit(myform: any) {\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"You want to Update this Comment?\"\n }\n\n });\n dialogRef.afterClosed().subscribe(dialogResult => {\n if (dialogResult) {\n this.showLoader = true;\n // if (this.LeadObj.LeadDate != undefined) {\n // this.LeadObj.LeadDate = new Date(this.convertDate(new NgbDate(this.LeadObj.LeadDate.year, this.LeadObj.LeadDate.month, this.LeadObj.LeadDate.day)));\n // }\n \n const frmData = new FormData();\n let ImageDatails = JSON.stringify(this.LoginPageImageObj);\n frmData.append(\"LoginModel\", ImageDatails);\n if (this.LoginPageImageObj.Id != undefined) {\n frmData.append(\"LoginPageImage\", this.Id);\n }\n\n this.Service.PostData('LoginPageImage', 'Update', frmData, null).subscribe((data: any) => {\n let result = data;\n\n if (result.ResponseCode == 1) {\n this.toastr.success('Comment Update successfully!');\n this.Service.RefreshHeaderFun();\n this.router.navigate(['/LoginPageImage']);\n this.showLoader = false;\n }\n else {\n this.toastr.error('Failed to Update Comment!');\n this.router.navigate(['/LoginPageImage']);\n this.showLoader = false;\n }\n\n }, error => {\n this.toastr.error('Failed to Update Comment!');\n this.showLoader = false;\n this.router.navigate(['/LoginPageImage']);\n });\n }\n\n\n });\n\n }\n EditDetails() {\n this.isEditable = false;\n this.FormStatus = \"Edit\";\n const appConfig = this.appConfigService.getConfig();\n this.titleService.setTitle(`Edit Comment - ${appConfig.titleName}`);\n //this.titleService.setTitle(\"Edit Comment - ECOTECH\");\n window.scroll({\n top: 0,\n left: 0,\n behavior: 'smooth'\n });\n }\n\n getAccess()\n {\n this.accessservice.GetAll().subscribe((data:any)=> {\n this.accesspermissionobj=data;\n this.isLoginPageImageEditable=this.accesspermissionobj.filter(x => x.Fk_RoleId == this.UserRole && x.ElementKey=='isLoginPageImage')[0]?.IsEditable;\n \n });\n \n }\n\n}\n","\n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n {{FormStatus}} Login Page Image\n

    \n
    \n
    \n
    \n \n\n
    \n
    \n
    \n
    \n
    \n","\nimport { Component, OnInit, Input, ViewChild, ElementRef, EventEmitter, Output } from '@angular/core';\nimport { QuotationDetailsModel, ProductDetailsModel, ProductDrpdnDetails, OptionsModel, QuotationCustomerDetails, TechnicalSpecifications } from 'src/app/Model/QuotationModel';\nimport { number } from '@amcharts/amcharts4/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport * as htmlToImage from 'html-to-image';\nimport { toPng, toJpeg, toBlob, toPixelData, toSvg } from 'html-to-image';\nimport { NgbActiveModal, NgbModal, NgbDate } from '@ng-bootstrap/ng-bootstrap';\nimport { CommonService } from 'src/app/Service/common.service';\nimport { ConfirmDialogComponent } from 'src/app/confirm-dialog/confirm-dialog.component';\nimport { Form, NgForm } from '@angular/forms';\nimport { ToastrService } from 'ngx-toastr';\nimport { Router } from '@angular/router';\nimport { AppGlobals } from 'src/app/app.global';\nimport { EnquiryStatus } from \"src/app/EnquiryStatus\";\nimport { UserRoles } from \"src/app/UserRoles\";\nimport { forkJoin, pipe } from 'rxjs';\nimport { tap } from 'rxjs/operators';\nimport { AppConfigService } from 'src/app/Service/app-config.service';\n\n@Component({\n selector: 'app-priceconfigurator',\n templateUrl: './priceconfigurator.component.html',\n styleUrls: ['./priceconfigurator.component.scss']\n})\nexport class PriceconfiguratorComponent implements OnInit {\n\n dropdownData: any;\n QuotationData: QuotationDetailsModel = new QuotationDetailsModel();\n productDrpdnDetails: ProductDrpdnDetails = new ProductDrpdnDetails();\n @Output() updateLoaderEvent = new EventEmitter();\n IsQuotationDataValid: boolean = true;\n AppRoles: UserRoles;\n WeissLogoPath = \"SITELOGO\";\n\n\n @ViewChild('QuotationForm') QuotationForm: NgForm;\n @ViewChild('refDateElement') refDateElement: ElementRef;\n @ViewChild('yourRefElement') yourRefElement: ElementRef;\n @ViewChild('keyPerElement') keyPerElement: ElementRef;\n @ViewChild('techspec') techspec: ElementRef;\n @ViewChild('keyPerEmail') keyPerEmail: ElementRef;\n @ViewChild('keyPerCNo') keyPerCNo: ElementRef;\n @ViewChild('QuoteComm') QuoteComm: ElementRef;\n\n @Input()\n showLoader: boolean = false;\n @Input() enquiObj;\n productseriesDropdownData: any;\n productmdodelDropdownData: any;\n variantDropdownData: any;\n variant1Data: any[];\n variant2Data: any[];\n variant3Data: any[];\n variant4Data: any[];\n variantLabl1: any;\n variantLabl2: any;\n variantLabl3: any;\n variantLabl4: any;\n Options: any[] = [];\n optionsList: any[];\n selectedOptions: any[] = [];\n OptionsNameList: any[] = [];\n CustomerDetailsObj: QuotationCustomerDetails = new QuotationCustomerDetails();\n enquiryStatusPassed: any;\n OptionsPrice: number;\n IsQuotationPriceOnRequest: any;\n optionsSelected: any[] = [];\n btnforL1: boolean = false;\n btnforL2: boolean = false;\n btnforL3: boolean = false;\n btn_PriceOnRequest: boolean = false;\n isPriceOnRequestVisible: boolean;\n user: string;\n isQuotationEditable: boolean;\n isPricesRequestedBeforeSubmit: boolean;\n TermsandConditions: any;\n YourRefValidation: boolean;\n RefDateValidation: boolean;\n KindAttValidation: boolean;\n isPriceOnRequestValid: boolean;\n columnCount: any = 0;\n showTechnicalSpecs: TechnicalSpecifications[] = new Array();\n role: string;\n btnforCS: boolean;\n charCode: any;\n KindAttContactNoValidilation: boolean;\n KingAttConactNumberValidationMsg: string = \"\";\n KindAttEmailValidilation: boolean;\n KingAttEmailValidationMsg: string = \"\";\n minDate: NgbDate;\n maxDate: NgbDate;\n\n\n remLimit: any = 250;\n maxLimit: any = 250;\n varLongTermGoal: any;\n QuoteCommentsValidation: Boolean;\n specialPkgDiscount: number = 0;\n finalpricewithoutspecialdiscount: any = 0;\n mailIdFormat : any;\n \n constructor(\n private modalService: NgbModal\n , private commonService: CommonService\n , private activeModal: NgbActiveModal\n , public dialog: MatDialog\n , private toastr: ToastrService\n , private router: Router,\n private appConfigService: AppConfigService) {\n // Initialize KingAttEmailValidationMsg with a placeholder message\n this.KingAttEmailValidationMsg = 'Should be in Email Id format ([emailFormat])';\n }\n\n ngOnInit(): void {\n this.showLoader = true;\n this.role = localStorage.getItem(\"UserRole\");\n this.mailIdFormat = this.appConfigService.getConfig().mailIdFormat;\n this.GetAllSeriesData();\n\n }\n\n GetAllSeriesData() {\n this.showLoader = true;\n this.commonService.GetData(\"Enquiry\", \"GetAllSeriesData\", null).subscribe((data: any) => {\n if (data != null) {\n this.dropdownData = data.allseriesmodel;\n //this.AllData.push(this.AllseriesData);\n // this.QuotationData.QuotationInfo = data.QuotationInfo;\n\n if (this.QuotationData.QuotationObj.length == 0) {\n var obj = new ProductDetailsModel();\n this.QuotationData.QuotationObj.push(obj);\n }\n //all series data \n this.productDrpdnDetails.ProductSeries = this.dropdownData.ProductSeries;\n this.CustomerDetailsObj = data.allseriesmodel.CustomerDetails;\n var inde = 0;\n this.QuotationData.QuotationObj.forEach(element => {\n this.calculateTotalPricesForProduct(inde, 0);\n inde++;\n });\n }\n\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data.\");\n this.showLoader = false;\n });\n }\n\n showTechnicalSpecifications(i) {\n if (this.QuotationData.QuotationObj[i].ProductModel == undefined) {\n this.QuotationData.QuotationObj[i].ProductModelValidation = true;\n this.QuotationData.QuotationObj[i].ProductSeriesValidation = true;\n return;\n }\n this.QuotationData.QuotationObj[i].showTechnicalSpecifications = !this.QuotationData.QuotationObj[i].showTechnicalSpecifications;\n if (this.QuotationData.QuotationObj[i].showTechnicalSpecifications\n &&\n (this.QuotationData.QuotationObj[i].TechnicalSpecifications == undefined || this.QuotationData.QuotationObj[i].TechnicalSpecifications?.length == 0)) {\n\n\n var temp = [];\n this.QuotationData.QuotationObj[i].TechnicalSpecifications = [];\n var obj = new TechnicalSpecifications();\n obj.ProductId = this.QuotationData.QuotationObj[i].ProductId;\n obj.uniqueid = this.makeRandom();\n temp.push(obj);\n this.QuotationData.QuotationObj[i].TechnicalSpecifications = temp;\n }\n }\n\n ShowOptionPriceOnRequestGrid(i) \n {\n if (this.QuotationData.QuotationObj[i].ShowOptionPriceOnRequestGrid) \n {\n this.QuotationData.QuotationObj[i].ShowOptionPriceOnRequestGrid = false;\n }\n else {\n this.QuotationData.QuotationObj[i].ShowOptionPriceOnRequestGrid = true;\n }\n }\n\n makeRandom() {\n let text = \"\";\n var possible: string = \"ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890,./;'[]\\=-)(*&^%$#@!~\";\n const lengthOfCode = 40;\n for (let i = 0; i < lengthOfCode; i++) {\n text += possible.charAt(Math.floor(Math.random() * possible.length));\n }\n return text;\n }\n\n clearRow(index) {\n this.productDrpdnDetails.ProductModel = [];\n this.QuotationData.QuotationObj[index].ProductModel = undefined;\n this.QuotationData.QuotationObj[index].Variant1Label = null;\n this.QuotationData.QuotationObj[index].Variant2Label = null;\n this.QuotationData.QuotationObj[index].Variant3Label = null;\n this.QuotationData.QuotationObj[index].Variant4Label = null;\n this.QuotationData.QuotationObj[index].Variant1 = undefined;\n this.QuotationData.QuotationObj[index].Variant2 = undefined;\n this.QuotationData.QuotationObj[index].Variant3 = undefined;\n this.QuotationData.QuotationObj[index].Variant4 = undefined;\n this.QuotationData.QuotationObj[index].IsPriceOnRequest_Variant1 = false;\n this.QuotationData.QuotationObj[index].IsPriceOnRequest_Variant2 = false;\n this.QuotationData.QuotationObj[index].IsPriceOnRequest_Variant3 = false;\n this.QuotationData.QuotationObj[index].IsPriceOnRequest_Variant4 = false;\n this.QuotationData.QuotationObj[index].IsPriceOnRequest_Option = false;\n this.QuotationData.QuotationObj[index].Units_Variant1 = 1;\n this.QuotationData.QuotationObj[index].Units_Variant2 = 1;\n this.QuotationData.QuotationObj[index].Units_Variant3 = 1;\n this.QuotationData.QuotationObj[index].Units_Variant4 = 1;\n this.QuotationData.QuotationObj[index].IsUnits_Variant1 = false;\n this.QuotationData.QuotationObj[index].IsUnits_Variant1 = false;\n this.QuotationData.QuotationObj[index].IsUnits_Variant1 = false;\n this.QuotationData.QuotationObj[index].IsUnits_Variant1 = false;\n this.QuotationData.QuotationObj[index].Variant1Price = 0;\n this.QuotationData.QuotationObj[index].Variant2Price = 0;\n this.QuotationData.QuotationObj[index].Variant3Price = 0;\n this.QuotationData.QuotationObj[index].Variant4Price = 0;\n this.QuotationData.QuotationObj[index].OptionsPrice = 0;\n this.QuotationData.QuotationObj[index].Options = [];\n this.QuotationData.QuotationObj[index].OptionSelected = [];\n this.QuotationData.QuotationObj[index].selectedOptions = [];\n this.QuotationData.QuotationObj[index].selectedVariant1 = [];\n this.QuotationData.QuotationObj[index].selectedVariant2 = [];\n this.QuotationData.QuotationObj[index].selectedVariant3 = [];\n this.QuotationData.QuotationObj[index].selectedVariant4 = [];\n this.Options = [];\n\n this\n this.QuotationData.QuotationObj[index].Variant1Validation = false;\n this.QuotationData.QuotationObj[index].Variant2Validation = false;\n this.QuotationData.QuotationObj[index].Variant3Validation = false;\n this.QuotationData.QuotationObj[index].Variant4Validation = false;\n\n this.QuotationData.QuotationObj[index].Options_POR_Validation = false;\n }\n\n onProductSeriesChange(index) {\n this.showLoader = true;\n this.clearRow(index);\n this.QuotationData.QuotationObj[index].ProductSeriesValidation = false;\n var selectedProductSeries = this.QuotationData.QuotationObj[index].ProductSeries;\n this.QuotationData.QuotationObj[index].selectedProductModel = this.productDrpdnDetails.ProductSeries.filter(x => x.Id == selectedProductSeries)[0]?.ProductModels;\n //currentProduct.selectedProductModel = this.productDrpdnDetails.ProductModel;\n\n this.QuotationData.QuotationObj[index].Variant1Label = this.productDrpdnDetails.ProductSeries.filter(x => x.Id == selectedProductSeries)[0]?.Variant1Label;\n this.QuotationData.QuotationObj[index].Variant2Label = this.productDrpdnDetails.ProductSeries.filter(x => x.Id == selectedProductSeries)[0]?.Variant2Label;\n this.QuotationData.QuotationObj[index].Variant3Label = this.productDrpdnDetails.ProductSeries.filter(x => x.Id == selectedProductSeries)[0]?.Variant3Label;\n this.QuotationData.QuotationObj[index].Variant4Label = this.productDrpdnDetails.ProductSeries.filter(x => x.Id == selectedProductSeries)[0]?.Variant4Label;\n this.setColspan(index);\n\n this.QuotationData.QuotationObj[index].IsLevel2DepOnLevel1 = this.productDrpdnDetails.ProductSeries.filter(x => x.Id == selectedProductSeries)[0]?.IsLevel2DepOnLevel1;\n this.QuotationData.QuotationObj[index].IsLevel3DepOnLevel2 = this.productDrpdnDetails.ProductSeries.filter(x => x.Id == selectedProductSeries)[0]?.IsLevel3DepOnLevel2;\n this.QuotationData.QuotationObj[index].IsLevel4DepOnLevel3 = this.productDrpdnDetails.ProductSeries.filter(x => x.Id == selectedProductSeries)[0]?.IsLevel4DepOnLevel3;\n\n if (this.productDrpdnDetails.ProductSeries.filter(x => x.Id == selectedProductSeries)[0]?.Name == 'HN' ||\n this.productDrpdnDetails.ProductSeries.filter(x => x.Id == selectedProductSeries)[0]?.Name == 'HG') {\n this.QuotationData.QuotationObj[index].Units_Variant1 = 100;\n this.QuotationData.QuotationObj[index].Units_Variant2 = 100;\n this.QuotationData.QuotationObj[index].Units_Variant3 = 100;\n this.QuotationData.QuotationObj[index].Units_Variant4 = 100;\n } else {\n this.QuotationData.QuotationObj[index].Units_Variant1 = 1;\n this.QuotationData.QuotationObj[index].Units_Variant2 = 1;\n this.QuotationData.QuotationObj[index].Units_Variant3 = 1;\n this.QuotationData.QuotationObj[index].Units_Variant4 = 1;\n }\n\n this.showLoader = false;\n\n }\n\n onProductModelChange(index) {\n this.showLoader = true;\n this.QuotationData.QuotationObj[index].ProductModelValidation = false;\n let queryString = \"\";\n queryString = \"ProductModelId=\" + this.QuotationData.QuotationObj[index].ProductModel;\n this.commonService.GetData(\"Enquiry\", \"GetQuotationVariantDropdownData\", queryString).subscribe((data: any) => {\n\n this.variantDropdownData = data;\n // this.productDrpdnDetails.Variant1 = this.variantDropdownData.Variant1;\n this.QuotationData.QuotationObj[index].productmodeldata = undefined;\n this.QuotationData.QuotationObj[index].selectedVariant1 = this.variantDropdownData.Variant1;\n\n if (!this.QuotationData.QuotationObj[index].IsLevel2DepOnLevel1) {\n this.QuotationData.QuotationObj[index].selectedVariant2 = this.variantDropdownData.Variant2;\n }\n if (!this.QuotationData.QuotationObj[index].IsLevel3DepOnLevel2) {\n this.QuotationData.QuotationObj[index].selectedVariant3 = this.variantDropdownData.Variant3;\n }\n if (!this.QuotationData.QuotationObj[index].IsLevel4DepOnLevel3) {\n this.QuotationData.QuotationObj[index].selectedVariant4 = this.variantDropdownData.Variant4;\n\n }\n this.QuotationData.QuotationObj[index].Variant1 = undefined;\n this.QuotationData.QuotationObj[index].Variant2 = undefined;\n this.QuotationData.QuotationObj[index].Variant3 = undefined;\n this.QuotationData.QuotationObj[index].Variant4 = undefined;\n this.QuotationData.QuotationObj[index].OptionSelected = [];\n this.QuotationData.QuotationObj[index].selectedOptions = [];\n this.QuotationData.QuotationObj[index].Options = [];\n this.QuotationData.QuotationObj[index].IsPriceOnRequest_Variant1 = false;\n this.QuotationData.QuotationObj[index].IsPriceOnRequest_Variant2 = false;\n this.QuotationData.QuotationObj[index].IsPriceOnRequest_Variant3 = false;\n this.QuotationData.QuotationObj[index].IsPriceOnRequest_Variant4 = false;\n this.QuotationData.QuotationObj[index].IsPriceOnRequest_Option = false;\n if (this.productDrpdnDetails.ProductSeries.filter(x => x.Id == this.QuotationData.QuotationObj[index].ProductSeries)[0]?.Name == 'HN' ||\n this.productDrpdnDetails.ProductSeries.filter(x => x.Id == this.QuotationData.QuotationObj[index].ProductSeries)[0]?.Name == 'HG') {\n this.QuotationData.QuotationObj[index].Units_Variant1 = 100;\n this.QuotationData.QuotationObj[index].Units_Variant2 = 100;\n this.QuotationData.QuotationObj[index].Units_Variant3 = 100;\n this.QuotationData.QuotationObj[index].Units_Variant4 = 100;\n } else {\n this.QuotationData.QuotationObj[index].Units_Variant1 = 1;\n this.QuotationData.QuotationObj[index].Units_Variant2 = 1;\n this.QuotationData.QuotationObj[index].Units_Variant3 = 1;\n this.QuotationData.QuotationObj[index].Units_Variant4 = 1;\n }\n this.QuotationData.QuotationObj[index].IsUnits_Variant1 = false;\n this.QuotationData.QuotationObj[index].IsUnits_Variant1 = false;\n this.QuotationData.QuotationObj[index].IsUnits_Variant1 = false;\n this.QuotationData.QuotationObj[index].IsUnits_Variant1 = false;\n this.QuotationData.QuotationObj[index].Variant1Price = 0;\n this.QuotationData.QuotationObj[index].Variant2Price = 0;\n this.QuotationData.QuotationObj[index].Variant3Price = 0;\n this.QuotationData.QuotationObj[index].Variant4Price = 0;\n this.QuotationData.QuotationObj[index].OptionsPrice = 0;\n this.QuotationData.QuotationObj[index].selectedOptions = this.variantDropdownData.Options;\n // this.Options = this.variantDropdownData.Options;\n // this.QuotationData.QuotationObj[index].Options = [];\n //this.QuotationData.QuotationObj[index].selectedOptions = [];\n this.QuotationData.QuotationObj[index].OptionSelected = [];\n this.QuotationData.QuotationObj[index].ProductModelPrice = this.variantDropdownData.Price;\n this.showLoader = false;\n\n this.calculateTotalPricesForProduct(index, 1);\n this.showLoader = false;\n }, error => {\n this.showLoader = false;\n });\n }\n\n onOptionSelect(item, index) {\n if (!item.isUserInput) {\n return;\n }\n var optionname;\n // this.QuotationData.QuotationObj[index].selectedOptions = [];\n // this.QuotationData.QuotationObj[index].selectedOptions = this.QuotationData.QuotationObj[index].productmodeldata.Options;\n if (this.Options.length == 0) {\n optionname = this.QuotationData.QuotationObj[index].selectedOptions.filter(x => x.Id == item.source.value)[0];\n } else {\n optionname = this.Options.filter(x => x.Id == item.source.value)[0];\n }\n if (item.source._selected) {\n var opObj = new OptionsModel();\n opObj.OptionId = optionname.Id;\n opObj.ProductOptionId = optionname.ProductOptionId;\n opObj.Price = optionname.Price;\n opObj.Name = optionname.Name;\n opObj.IsPriceOnRequest = optionname.IsPriceOnRequest;\n opObj.optionValid = false;\n this.QuotationData.QuotationObj[index].Options.push(opObj);\n } else {\n this.QuotationData.QuotationObj[index].Options = this.QuotationData.QuotationObj[index].Options.filter(x => x.OptionId != item.source.value);\n }\n let anyOptionPOR = this.QuotationData.QuotationObj[index].Options.filter(x => x.IsPriceOnRequest == true);\n if (anyOptionPOR.length > 0 && anyOptionPOR.length != null && anyOptionPOR.length != undefined) {\n this.QuotationData.QuotationObj[index].IsPriceOnRequest_Option = true;\n }\n else {\n this.QuotationData.QuotationObj[index].IsPriceOnRequest_Option = false;\n }\n // if (this.QuotationData.QuotationObj[index].Options.length == 0) {\n // this.QuotationData.QuotationObj[index].OptionsValidation = true;\n // } else {\n // this.QuotationData.QuotationObj[index].OptionsValidation = false;\n // }\n\n this.calculateTotalPricesForProduct(index, 1);\n }\n\n onVariant1Change(index) {\n this.showLoader = true;\n this.QuotationData.QuotationObj[index].Variant1Validation = false;\n this.productDrpdnDetails.IsLevel2DepOnLevel1 = this.dropdownData.ProductSeries.filter(x => x.Id == this.QuotationData.QuotationObj[index].ProductSeries)[0].IsLevel2DepOnLevel1;\n\n if (!(this.QuotationData.QuotationObj[index].productmodeldata == undefined || this.QuotationData.QuotationObj[index].productmodeldata == null)) {\n this.variantDropdownData = this.QuotationData.QuotationObj[index].productmodeldata;\n var selectedVariant1 = this.QuotationData.QuotationObj[index].Variant1;\n var var1Obj = this.variantDropdownData.Variant1.filter(x => x.Id == selectedVariant1)[0];\n this.QuotationData.QuotationObj[index].IsUnits_Variant1 = var1Obj?.IsUnits;\n if (this.QuotationData.QuotationObj[index].IsUnits_Variant1) {\n this.QuotationData.QuotationObj[index].Variant1Price = var1Obj?.Price * this.QuotationData.QuotationObj[index].Units_Variant1;\n } else {\n this.QuotationData.QuotationObj[index].Variant1Price = var1Obj?.Price;\n }\n this.QuotationData.QuotationObj[index].IsPriceOnRequest_Variant1 = var1Obj?.IsPriceOnRequest;\n if (this.productDrpdnDetails.IsLevel2DepOnLevel1) {\n this.QuotationData.QuotationObj[index].Variant2 = undefined;\n this.QuotationData.QuotationObj[index].Variant2Price = 0;\n this.QuotationData.QuotationObj[index].selectedVariant2 = this.variantDropdownData.Variant2.filter(x => x.Fk_Id == selectedVariant1);\n this.productDrpdnDetails.Variant2 = this.variantDropdownData.Variant2.filter(x => x.Fk_Id == selectedVariant1);\n }\n } else {\n var selectedVariant1 = this.QuotationData.QuotationObj[index].Variant1;\n var var1Obj = this.QuotationData.QuotationObj[index].selectedVariant1.filter(x => x.Id == selectedVariant1)[0];\n this.QuotationData.QuotationObj[index].IsUnits_Variant1 = var1Obj?.IsUnits;\n if (this.QuotationData.QuotationObj[index].IsUnits_Variant1) {\n this.QuotationData.QuotationObj[index].Variant1Price = var1Obj?.Price * this.QuotationData.QuotationObj[index].Units_Variant1;\n } else {\n this.QuotationData.QuotationObj[index].Variant1Price = var1Obj?.Price;\n }\n this.QuotationData.QuotationObj[index].IsPriceOnRequest_Variant1 = var1Obj?.IsPriceOnRequest;\n if (this.productDrpdnDetails.IsLevel2DepOnLevel1) {\n this.QuotationData.QuotationObj[index].Variant2 = undefined;\n this.QuotationData.QuotationObj[index].Variant2Price = 0;\n this.QuotationData.QuotationObj[index].selectedVariant2 = this.variantDropdownData.Variant2.filter(x => x.Fk_Id == selectedVariant1);\n this.productDrpdnDetails.Variant2 = this.variantDropdownData.Variant2.filter(x => x.Fk_Id == selectedVariant1);\n }\n }\n this.calculateTotalPricesForProduct(index, 1);\n this.showLoader = false;\n }\n\n onVariant2Change(index) {\n this.showLoader = true;\n this.QuotationData.QuotationObj[index].Variant2Validation = false;\n this.productDrpdnDetails.IsLevel3DepOnLevel2 = this.dropdownData.ProductSeries.filter(x => x.Id == this.QuotationData.QuotationObj[index].ProductSeries)[0].IsLevel3DepOnLevel2;\n\n if (!(this.QuotationData.QuotationObj[index].productmodeldata == undefined || this.QuotationData.QuotationObj[index].productmodeldata == null)) {\n this.variantDropdownData = this.QuotationData.QuotationObj[index].productmodeldata;\n var selectedVariant2 = this.QuotationData.QuotationObj[index].Variant2;\n this.QuotationData.QuotationObj[index].IsUnits_Variant2 = var2Obj?.IsUnits;\n var var2Obj = this.variantDropdownData.Variant2.filter(x => x.Id == selectedVariant2)[0];\n if (this.QuotationData.QuotationObj[index].IsUnits_Variant2) {\n this.QuotationData.QuotationObj[index].Variant2Price = var2Obj?.Price * this.QuotationData.QuotationObj[index].Units_Variant2;\n } else {\n this.QuotationData.QuotationObj[index].Variant2Price = var2Obj?.Price;\n }\n this.QuotationData.QuotationObj[index].IsPriceOnRequest_Variant2 = var2Obj?.IsPriceOnRequest;\n if (this.productDrpdnDetails.IsLevel3DepOnLevel2) {\n this.QuotationData.QuotationObj[index].Variant3 = undefined;\n this.QuotationData.QuotationObj[index].Variant3Price = 0;\n this.QuotationData.QuotationObj[index].selectedVariant3 = this.variantDropdownData.Variant3.filter(x => x.Fk_Id == selectedVariant2);\n this.productDrpdnDetails.Variant3 = this.variantDropdownData.Variant3.filter(x => x.Fk_Id == selectedVariant2);\n }\n } else {\n var selectedVariant2 = this.QuotationData.QuotationObj[index].Variant2;\n var var2Obj = this.QuotationData.QuotationObj[index].selectedVariant2.filter(x => x.Id == selectedVariant2)[0];\n this.QuotationData.QuotationObj[index].IsUnits_Variant2 = var2Obj?.IsUnits;\n if (this.QuotationData.QuotationObj[index].IsUnits_Variant2) {\n this.QuotationData.QuotationObj[index].Variant2Price = var2Obj?.Price * this.QuotationData.QuotationObj[index].Units_Variant2;\n } else {\n this.QuotationData.QuotationObj[index].Variant2Price = var2Obj?.Price;\n }\n this.QuotationData.QuotationObj[index].IsPriceOnRequest_Variant2 = var2Obj?.IsPriceOnRequest;\n if (this.productDrpdnDetails.IsLevel3DepOnLevel2) {\n this.QuotationData.QuotationObj[index].Variant3 = undefined;\n this.QuotationData.QuotationObj[index].Variant3Price = 0;\n this.QuotationData.QuotationObj[index].selectedVariant3 = this.variantDropdownData.Variant3.filter(x => x.Fk_Id == selectedVariant2);\n this.productDrpdnDetails.Variant3 = this.variantDropdownData.Variant3.filter(x => x.Fk_Id == selectedVariant2);\n }\n }\n this.calculateTotalPricesForProduct(index, 1);\n this.showLoader = false;\n }\n\n onVariant3Change(index) {\n this.showLoader = true;\n this.QuotationData.QuotationObj[index].Variant3Validation = false;\n this.productDrpdnDetails.IsLevel4DepOnLevel3 = this.dropdownData.ProductSeries.filter(x => x.Id == this.QuotationData.QuotationObj[index].ProductSeries)[0].IsLevel4DepOnLevel3;\n\n if (!(this.QuotationData.QuotationObj[index].productmodeldata == undefined || this.QuotationData.QuotationObj[index].productmodeldata == null)) {\n this.variantDropdownData = this.QuotationData.QuotationObj[index].productmodeldata;\n var selectedVariant3 = this.QuotationData.QuotationObj[index].Variant3;\n var var3Obj = this.variantDropdownData.Variant3.filter(x => x.Id == selectedVariant3)[0];\n this.QuotationData.QuotationObj[index].IsUnits_Variant3 = var3Obj?.IsUnits;\n if (this.QuotationData.QuotationObj[index].IsUnits_Variant3) {\n this.QuotationData.QuotationObj[index].Variant3Price = var3Obj?.Price * this.QuotationData.QuotationObj[index].Units_Variant3;\n } else {\n this.QuotationData.QuotationObj[index].Variant3Price = var3Obj?.Price;\n }\n this.QuotationData.QuotationObj[index].IsPriceOnRequest_Variant3 = var3Obj?.IsPriceOnRequest;\n if (this.productDrpdnDetails.IsLevel4DepOnLevel3) {\n this.QuotationData.QuotationObj[index].Variant4 = undefined;\n this.QuotationData.QuotationObj[index].Variant4Price = 0;\n this.QuotationData.QuotationObj[index].selectedVariant4 = this.variantDropdownData.Variant4.filter(x => x.Fk_Id == selectedVariant3);\n this.productDrpdnDetails.Variant4 = this.variantDropdownData.Variant4.filter(x => x.Fk_Id == selectedVariant3);\n }\n } else {\n var selectedVariant3 = this.QuotationData.QuotationObj[index].Variant3;\n var var3Obj = this.QuotationData.QuotationObj[index].selectedVariant3.filter(x => x.Id == selectedVariant3)[0];\n this.QuotationData.QuotationObj[index].IsUnits_Variant3 = var3Obj?.IsUnits;\n if (this.QuotationData.QuotationObj[index].IsUnits_Variant3) {\n this.QuotationData.QuotationObj[index].Variant3Price = var3Obj?.Price * this.QuotationData.QuotationObj[index].Units_Variant3;\n } else {\n this.QuotationData.QuotationObj[index].Variant3Price = var3Obj?.Price;\n }\n this.QuotationData.QuotationObj[index].IsPriceOnRequest_Variant3 = var3Obj?.IsPriceOnRequest;\n if (this.productDrpdnDetails.IsLevel4DepOnLevel3) {\n this.QuotationData.QuotationObj[index].Variant4 = undefined;\n this.QuotationData.QuotationObj[index].Variant4Price = 0;\n this.QuotationData.QuotationObj[index].selectedVariant4 = this.variantDropdownData.Variant4.filter(x => x.Fk_Id == selectedVariant3);\n this.productDrpdnDetails.Variant4 = this.variantDropdownData.Variant4.filter(x => x.Fk_Id == selectedVariant3);\n }\n }\n this.calculateTotalPricesForProduct(index, 1);\n this.showLoader = false;\n }\n\n onVariant4Change(index) {\n this.showLoader = true;\n this.QuotationData.QuotationObj[index].Variant4Validation = false;\n if (!(this.QuotationData.QuotationObj[index].productmodeldata == undefined || this.QuotationData.QuotationObj[index].productmodeldata == null)) {\n this.variantDropdownData = this.QuotationData.QuotationObj[index].productmodeldata;\n var selectedVariant4 = this.QuotationData.QuotationObj[index].Variant4;\n var var4Obj = this.QuotationData.QuotationObj[index].selectedVariant4.filter(x => x.Id == selectedVariant4)[0];\n this.QuotationData.QuotationObj[index].IsUnits_Variant4 = var4Obj?.IsUnits;\n if (this.QuotationData.QuotationObj[index].IsUnits_Variant4) {\n this.QuotationData.QuotationObj[index].Variant4Price = var4Obj?.Price * this.QuotationData.QuotationObj[index].Units_Variant4;\n } else {\n this.QuotationData.QuotationObj[index].Variant4Price = var4Obj?.Price;\n }\n this.QuotationData.QuotationObj[index].IsPriceOnRequest_Variant4 = var4Obj?.IsPriceOnRequest;\n } else {\n var selectedVariant4 = this.QuotationData.QuotationObj[index].Variant4;\n // this.QuotationData.QuotationObj[index].Variant4Price = this.QuotationData.QuotationObj[index].selectedVariant4.filter(x => x.Id == selectedVariant4)[0]?.Price;\n // this.QuotationData.QuotationObj[index].IsPriceOnRequest_Variant4 = this.QuotationData.QuotationObj[index].selectedVariant4.filter(x => x.Id == selectedVariant4)[0]?.IsPriceOnRequest;\n // this.QuotationData.QuotationObj[index].IsUnits_Variant4 = this.QuotationData.QuotationObj[index].selectedVariant4.filter(x => x.Id == selectedVariant4)[0]?.IsUnits;\n /***************************************************************************************************** */\n var var4Obj = this.QuotationData.QuotationObj[index].selectedVariant4.filter(x => x.Id == selectedVariant4)[0];\n this.QuotationData.QuotationObj[index].IsUnits_Variant4 = var4Obj?.IsUnits;\n if (this.QuotationData.QuotationObj[index].IsUnits_Variant4) {\n this.QuotationData.QuotationObj[index].Variant4Price = var4Obj?.Price * this.QuotationData.QuotationObj[index].Units_Variant4;\n } else {\n this.QuotationData.QuotationObj[index].Variant4Price = var4Obj?.Price;\n }\n this.QuotationData.QuotationObj[index].IsPriceOnRequest_Variant4 = var4Obj?.IsPriceOnRequest;\n\n /*************************************************************************************************** */\n\n }\n this.calculateTotalPricesForProduct(index, 1);\n this.showLoader = false;\n }\n\n // var1UnitsChange(index) {\n // this.GetVarientDropdowndataforModel(index);\n // var seriesname = this.productDrpdnDetails.ProductSeries.filter(x => x.Id == this.QuotationData.QuotationObj[index].ProductSeries)[0]?.Name;\n // let strunits = this.QuotationData.QuotationObj[index].Units_Variant1.toString();\n // if (this.QuotationData.QuotationObj[index].Units_Variant1 == undefined || this.QuotationData.QuotationObj[index].Units_Variant1 == null) {\n // this.QuotationData.QuotationObj[index].var1_Unit_Validation = true;\n // this.IsQuotationDataValid = false;\n // } else if (this.QuotationData.QuotationObj[index].Units_Variant1 < 0) {\n // this.QuotationData.QuotationObj[index].var1_Unit_Validation = true;\n // this.IsQuotationDataValid = false;\n // } else if (this.QuotationData.QuotationObj[index].Units_Variant1 % 1 != 0) {\n // alert('Please enter only integer value');\n // if (seriesname == 'HG' || seriesname == 'HN') {\n // this.QuotationData.QuotationObj[index].Units_Variant1 = 100;\n // }\n // else {\n // this.QuotationData.QuotationObj[index].Units_Variant1 = 1;\n // }\n \n // this.IsQuotationDataValid = false;\n // }else if(strunits.includes(\".\"))\n // {\n // alert('Please enter valid units');\n // if (seriesname == 'HG' || seriesname == 'HN') {\n // this.QuotationData.QuotationObj[index].Units_Variant1 = 100;\n // }\n // else {\n // this.QuotationData.QuotationObj[index].Units_Variant1 = 1;\n // }\n \n // this.IsQuotationDataValid = false; \n // } \n \n // else {\n \n // if ((seriesname == 'HG' || seriesname == 'HN') && (this.QuotationData.QuotationObj[index].Units_Variant1 % 100 != 0)) {\n // alert('Please enter the units in multiple of 100.');\n // this.QuotationData.QuotationObj[index].var1_Unit_Validation = true;\n // this.IsQuotationDataValid = false;\n // } else {\n // this.QuotationData.QuotationObj[index].var1_Unit_Validation = false;\n // }\n // }\n // if (!(this.QuotationData.QuotationObj[index].productmodeldata == undefined || this.QuotationData.QuotationObj[index].productmodeldata == null)) {\n // this.variantDropdownData = this.QuotationData.QuotationObj[index].productmodeldata;\n // var selectedVariant1 = this.QuotationData.QuotationObj[index].Variant1;\n // var price: number = this.variantDropdownData.Variant1.filter(x => x.Id == selectedVariant1)[0]?.Price;\n // var units: number = this.QuotationData.QuotationObj[index].Units_Variant1;\n // this.QuotationData.QuotationObj[index].Variant1Price = price * units;\n // } else {\n // var selectedVariant1 = this.QuotationData.QuotationObj[index].Variant1;\n // var price: number = this.variantDropdownData.Variant1.filter(x => x.Id == selectedVariant1)[0]?.Price;\n // var units: number = this.QuotationData.QuotationObj[index].Units_Variant1;\n // this.QuotationData.QuotationObj[index].Variant1Price = price * units;\n // //this.QuotationData.QuotationObj[index].Variant1Price = this.QuotationData.QuotationObj[index].selectedVariant1.filter(x => x.Id == selectedVariant1)[0]?.Price;\n // }\n // this.calculateTotalPricesForProduct(index, 1);\n // }\n \n // var2UnitsChange(index) {\n // this.GetVarientDropdowndataforModel(index);\n // var seriesname = this.productDrpdnDetails.ProductSeries.filter(x => x.Id == this.QuotationData.QuotationObj[index].ProductSeries)[0]?.Name;\n // let strunits = this.QuotationData.QuotationObj[index].Units_Variant2.toString();\n // if (this.QuotationData.QuotationObj[index].Units_Variant2 == undefined || this.QuotationData.QuotationObj[index].Units_Variant2 == null) {\n // this.QuotationData.QuotationObj[index].var2_Unit_Validation = true;\n // this.IsQuotationDataValid = false;\n // } else if (this.QuotationData.QuotationObj[index].Units_Variant2 < 0) {\n // this.QuotationData.QuotationObj[index].var2_Unit_Validation = true;\n // this.IsQuotationDataValid = false;\n // } else if (this.QuotationData.QuotationObj[index].Units_Variant2 % 1 != 0) {\n // alert('Please enter only integer value');\n // if (seriesname == 'HG' || seriesname == 'HN') {\n // this.QuotationData.QuotationObj[index].Units_Variant2 = 100;\n // }\n // else {\n // this.QuotationData.QuotationObj[index].Units_Variant2 = 1;\n // }\n \n // this.IsQuotationDataValid = false;\n // }\n // else if(strunits.includes(\".\"))\n // {\n // alert('Please enter valid units');\n // if (seriesname == 'HG' || seriesname == 'HN') {\n // this.QuotationData.QuotationObj[index].Units_Variant2 = 100;\n // }\n // else {\n // this.QuotationData.QuotationObj[index].Units_Variant2 = 1;\n // }\n \n // this.IsQuotationDataValid = false;\n // }\n // else {\n \n // if ((seriesname == 'HG' || seriesname == 'HN') && (this.QuotationData.QuotationObj[index].Units_Variant2 % 100 != 0)) {\n // alert('Please enter the units in multiple of 100.');\n // this.QuotationData.QuotationObj[index].var2_Unit_Validation = true;\n // this.IsQuotationDataValid = false;\n // } else {\n // this.QuotationData.QuotationObj[index].var2_Unit_Validation = false;\n // }\n // }\n // if (!(this.QuotationData.QuotationObj[index].productmodeldata == undefined || this.QuotationData.QuotationObj[index].productmodeldata == null)) {\n // this.variantDropdownData = this.QuotationData.QuotationObj[index].productmodeldata;\n // var selectedVariant2 = this.QuotationData.QuotationObj[index].Variant2;\n // var price: number = this.variantDropdownData.Variant2.filter(x => x.Id == selectedVariant2)[0]?.Price;\n // var units: number = this.QuotationData.QuotationObj[index].Units_Variant2;\n // this.QuotationData.QuotationObj[index].Variant2Price = price * units;\n // } else {\n // var selectedVariant2 = this.QuotationData.QuotationObj[index].Variant2;\n // var price: number = this.variantDropdownData.Variant2.filter(x => x.Id == selectedVariant2)[0]?.Price;\n // var units: number = this.QuotationData.QuotationObj[index].Units_Variant2;\n // this.QuotationData.QuotationObj[index].Variant2Price = price * units;\n // // this.QuotationData.QuotationObj[index].Variant2Price = this.productDrpdnDetails.Variant2.filter(x => x.Id == selectedVariant2)[0]?.Price;\n // }\n // this.calculateTotalPricesForProduct(index, 1);\n // }\n\n // var3UnitsChange(index) {\n // this.GetVarientDropdowndataforModel(index);\n // var seriesname = this.productDrpdnDetails.ProductSeries.filter(x => x.Id == this.QuotationData.QuotationObj[index].ProductSeries)[0]?.Name;\n // let strunits = this.QuotationData.QuotationObj[index].Units_Variant3.toString();\n // if (this.QuotationData.QuotationObj[index].Units_Variant3 == undefined || this.QuotationData.QuotationObj[index].Units_Variant3 == null) {\n // this.QuotationData.QuotationObj[index].var3_Unit_Validation = true;\n // this.IsQuotationDataValid = false;\n // } else if (this.QuotationData.QuotationObj[index].Units_Variant3 < 0) {\n // this.QuotationData.QuotationObj[index].var3_Unit_Validation = true;\n // this.IsQuotationDataValid = false;\n // } else if (this.QuotationData.QuotationObj[index].Units_Variant3 % 1 != 0) {\n // alert('Please enter only integer value');\n // if (seriesname == 'HG' || seriesname == 'HN') {\n // this.QuotationData.QuotationObj[index].Units_Variant3 = 100;\n // }\n // else {\n // this.QuotationData.QuotationObj[index].Units_Variant3 = 1;\n // }\n \n // this.IsQuotationDataValid = false;\n // }\n // else if(strunits.includes(\".\"))\n // {\n // alert('Please enter valid units');\n // if (seriesname == 'HG' || seriesname == 'HN') {\n // this.QuotationData.QuotationObj[index].Units_Variant3 = 100;\n // }\n // else {\n // this.QuotationData.QuotationObj[index].Units_Variant3 = 1;\n // }\n \n // this.IsQuotationDataValid = false;\n // }\n // else {\n \n // if ((seriesname == 'HG' || seriesname == 'HN') && (this.QuotationData.QuotationObj[index].Units_Variant3 % 100 != 0)) {\n // alert('Please enter the units in multiple of 100.');\n // this.QuotationData.QuotationObj[index].var3_Unit_Validation = true;\n // this.IsQuotationDataValid = false;\n // } else {\n // this.QuotationData.QuotationObj[index].var3_Unit_Validation = false;\n // }\n // }\n // if (!(this.QuotationData.QuotationObj[index].productmodeldata == undefined || this.QuotationData.QuotationObj[index].productmodeldata == null)) {\n // this.variantDropdownData = this.QuotationData.QuotationObj[index].productmodeldata;\n // var selectedVariant3 = this.QuotationData.QuotationObj[index].Variant3;\n // var price: number = this.variantDropdownData.Variant3.filter(x => x.Id == selectedVariant3)[0]?.Price;\n // var units: number = this.QuotationData.QuotationObj[index].Units_Variant3;\n // this.QuotationData.QuotationObj[index].Variant3Price = price * units;\n // } else {\n // var selectedVariant3 = this.QuotationData.QuotationObj[index].Variant3;\n // var price: number = this.variantDropdownData.Variant3.filter(x => x.Id == selectedVariant3)[0]?.Price;\n // var units: number = this.QuotationData.QuotationObj[index].Units_Variant3;\n // this.QuotationData.QuotationObj[index].Variant3Price = price * units;\n // //this.QuotationData.QuotationObj[index].Variant3Price = this.productDrpdnDetails.Variant3.filter(x => x.Id == selectedVariant3)[0]?.Price;\n // }\n // this.calculateTotalPricesForProduct(index, 1);\n // }\n\n // var4UnitsChange(index) {\n // this.GetVarientDropdowndataforModel(index);\n // var seriesname = this.productDrpdnDetails.ProductSeries.filter(x => x.Id == this.QuotationData.QuotationObj[index].ProductSeries)[0]?.Name;\n // let strunits = this.QuotationData.QuotationObj[index].Units_Variant4.toString();\n // if (this.QuotationData.QuotationObj[index].Units_Variant4 == undefined || this.QuotationData.QuotationObj[index].Units_Variant4 == null) {\n // this.QuotationData.QuotationObj[index].var4_Unit_Validation = true;\n // this.IsQuotationDataValid = false;\n // } else if (this.QuotationData.QuotationObj[index].Units_Variant4 < 0) {\n // this.QuotationData.QuotationObj[index].var4_Unit_Validation = true;\n // this.IsQuotationDataValid = false;\n // } else if (this.QuotationData.QuotationObj[index].Units_Variant4 % 1 != 0) {\n // alert('Please enter only integer value');\n // if (seriesname == 'HG' || seriesname == 'HN') {\n // this.QuotationData.QuotationObj[index].Units_Variant4 = 100;\n // }\n // else {\n // this.QuotationData.QuotationObj[index].Units_Variant4 = 1;\n // }\n \n // this.IsQuotationDataValid = false;\n // }\n // else if(strunits.includes(\".\"))\n // {\n // alert('Please enter valid units');\n // if (seriesname == 'HG' || seriesname == 'HN') {\n // this.QuotationData.QuotationObj[index].Units_Variant4 = 100;\n // }\n // else {\n // this.QuotationData.QuotationObj[index].Units_Variant4 = 1;\n // }\n \n // this.IsQuotationDataValid = false;\n // }\n // else {\n \n // if ((seriesname == 'HG' || seriesname == 'HN') && (this.QuotationData.QuotationObj[index].Units_Variant4 % 100 != 0)) {\n // alert('Please enter the units in multiple of 100.');\n // this.QuotationData.QuotationObj[index].var4_Unit_Validation = true;\n // this.IsQuotationDataValid = false;\n // } else {\n // this.QuotationData.QuotationObj[index].var4_Unit_Validation = false;\n // }\n // }\n // if (!(this.QuotationData.QuotationObj[index].productmodeldata == undefined || this.QuotationData.QuotationObj[index].productmodeldata == null)) {\n // this.variantDropdownData = this.QuotationData.QuotationObj[index].productmodeldata;\n // var selectedVariant4 = this.QuotationData.QuotationObj[index].Variant4;\n // var price: number = this.variantDropdownData.Variant4.filter(x => x.Id == selectedVariant4)[0]?.Price;\n // var units: number = this.QuotationData.QuotationObj[index].Units_Variant4;\n // this.QuotationData.QuotationObj[index].Variant4Price = price * units;\n // } else {\n // var selectedVariant4 = this.QuotationData.QuotationObj[index].Variant4;\n // var price: number = this.variantDropdownData.Variant4.filter(x => x.Id == selectedVariant4)[0]?.Price;\n // var units: number = this.QuotationData.QuotationObj[index].Units_Variant4;\n // this.QuotationData.QuotationObj[index].Variant4Price = price * units;\n // // this.QuotationData.QuotationObj[index].Variant4Price = this.productDrpdnDetails.Variant4.filter(x => x.Id == selectedVariant4)[0]?.Price;\n // }\n // this.calculateTotalPricesForProduct(index, 1);\n // }\n \n var1PORChange(index) {\n var element = this.QuotationData.QuotationObj[index];\n let strprice = element.Variant1Price.toString();\n if (this.IsQuotationPriceOnRequest && element.IsPriceOnRequest_Variant1 && (element.Variant1Price == undefined || element.Variant1Price == null || (element.Variant1Price == 0 && element.Units_Variant1 != 0) || (element.Variant1Price != 0 && element.Units_Variant1 == 0))) {\n element.var1_POR_Validation = true;\n this.IsQuotationDataValid = false;\n } else if (this.IsQuotationPriceOnRequest && element.IsPriceOnRequest_Variant1 && (element.Variant1Price < 0)) {\n element.var1_POR_Validation = true;\n this.IsQuotationDataValid = false;\n } else if (element.Variant1Price % 1 != 0) {\n alert('Please enter only integer value');\n element.Variant1Price = 0;\n this.IsQuotationDataValid = false;\n } else if(strprice.includes(\".\"))\n {\n alert('Please enter valid price');\n element.Variant1Price = 0;\n this.IsQuotationDataValid = false;\n }\n else {\n element.var1_POR_Validation = false;\n }\n this.calculateTotalPricesForProduct(index, 1);\n }\n\n var2PORChange(index) {\n var element = this.QuotationData.QuotationObj[index];\n let strprice = element.Variant2Price.toString();\n if (this.IsQuotationPriceOnRequest && element.IsPriceOnRequest_Variant2 && (element.Variant2Price == undefined || element.Variant2Price == null || (element.Variant2Price == 0 && element.Units_Variant2 != 0) || (element.Variant2Price != 0 && element.Units_Variant2 == 0))) {\n element.var2_POR_Validation = true;\n this.IsQuotationDataValid = false;\n } else if (this.IsQuotationPriceOnRequest && element.IsPriceOnRequest_Variant2 && (element.Variant2Price < 0)) {\n element.var2_POR_Validation = true;\n this.IsQuotationDataValid = false;\n } else if (element.Variant2Price % 1 != 0) {\n alert('Please enter only integer value');\n element.Variant2Price = 0;\n this.IsQuotationDataValid = false;\n } else if (strprice.includes(\".\")) {\n alert('Please enter valid price');\n element.Variant2Price = 0;\n this.IsQuotationDataValid = false;\n }\n else {\n element.var2_POR_Validation = false;\n }\n this.calculateTotalPricesForProduct(index, 1);\n }\n\n var3PORChange(index) {\n var element = this.QuotationData.QuotationObj[index];\n let strprice = element.Variant3Price.toString();\n if (this.IsQuotationPriceOnRequest && element.IsPriceOnRequest_Variant3 && (element.Variant3Price == undefined || element.Variant3Price == null || (element.Variant3Price == 0 && element.Units_Variant3 != 0) || (element.Variant3Price != 0 && element.Units_Variant3 == 0))) {\n element.var3_POR_Validation = true;\n this.IsQuotationDataValid = false;\n } else if (this.IsQuotationPriceOnRequest && element.IsPriceOnRequest_Variant3 && (element.Variant3Price < 0)) {\n element.var3_POR_Validation = true;\n this.IsQuotationDataValid = false;\n } else if (element.Variant3Price % 1 != 0) {\n alert('Please enter only integer value');\n element.Variant3Price = 0;\n this.IsQuotationDataValid = false;\n } else if (strprice.includes(\".\")) {\n alert('Please enter valid price');\n element.Variant3Price = 0;\n this.IsQuotationDataValid = false;\n }\n else {\n element.var3_POR_Validation = false;\n this.IsQuotationDataValid = true;\n }\n this.calculateTotalPricesForProduct(index, 1);\n }\n\n var4PORChange(index) {\n var element = this.QuotationData.QuotationObj[index];\n let strprice = element.Variant4Price.toString();\n if (this.IsQuotationPriceOnRequest && element.IsPriceOnRequest_Variant4 && (element.Variant4Price == undefined || element.Variant4Price == null || (element.Variant4Price == 0 && element.Units_Variant4 != 0) || (element.Variant4Price != 0 && element.Units_Variant4 == 0))) {\n element.var4_POR_Validation = true;\n this.IsQuotationDataValid = false;\n } else if (this.IsQuotationPriceOnRequest && element.IsPriceOnRequest_Variant4 && (element.Variant4Price < 0)) {\n element.var4_POR_Validation = true;\n this.IsQuotationDataValid = false;\n } else if (element.Variant4Price % 1 != 0) {\n alert('Please enter only integer value');\n element.Variant4Price = 0;\n this.IsQuotationDataValid = false;\n }\n else if (strprice.includes(\".\")) {\n alert('Please enter valid price');\n element.Variant4Price = 0;\n this.IsQuotationDataValid = false;\n }\n else {\n element.var4_POR_Validation = false;\n }\n this.calculateTotalPricesForProduct(index, 1);\n }\n\n varOptionPORChange(i, j) {\n var element = this.QuotationData.QuotationObj[i];\n let strprice = element.Options[j].Price.toString();\n if (this.IsQuotationPriceOnRequest && element.IsPriceOnRequest_Option && (element.Options[j].Price == undefined || element.Options[j].Price == null || element.Options[j].Price == 0)) {\n element.Options[j].optionValid = true;\n this.IsQuotationDataValid = false;\n } else if (this.IsQuotationPriceOnRequest && element.IsPriceOnRequest_Option && element.Options[j].Price < 0) {\n element.Options[j].optionValid = true;\n this.IsQuotationDataValid = false;\n } else if (element.Options[j].Price % 1 != 0) {\n alert('Please enter only integer value');\n element.Options[j].Price = 0;\n this.IsQuotationDataValid = false;\n }\n else if (strprice.includes(\".\")) {\n alert('Please enter valid price');\n element.Options[j].Price = 0;\n this.IsQuotationDataValid = false;\n }\n else {\n element.Options[j].optionValid = false;\n this.IsQuotationDataValid = true;\n }\n this.calculateTotalPricesForProduct(i, 1);\n }\n\n onQuatityChange(index) {\n let strquantity = this.QuotationData.QuotationObj[index].Quantity.toString();\n if ((this.QuotationData.QuotationObj[index].Quantity == 0 || this.QuotationData.QuotationObj[index].Quantity == null || this.QuotationData.QuotationObj[index].Quantity == undefined)) {\n this.QuotationData.QuotationObj[index].Quantity = 1;\n } else if (this.QuotationData.QuotationObj[index].Quantity % 1 != 0) {\n this.QuotationData.QuotationObj[index].QuantityValidation = true;\n return;\n } else {\n this.QuotationData.QuotationObj[index].QuantityValidation = false;\n }\n if (this.QuotationData.QuotationObj[index].Quantity > 1000) {\n this.QuotationData.QuotationObj[index].QuantityRangeValidation = true;\n return;\n } else if (this.QuotationData.QuotationObj[index].Quantity < 1) {\n this.QuotationData.QuotationObj[index].QuantityValidation = true;\n return;\n } else if (strquantity.includes(\".\")) {\n alert('Please enter valid Quantity.');\n this.QuotationData.QuotationObj[index].Quantity = null;\n return;\n }\n else {\n this.QuotationData.QuotationObj[index].QuantityRangeValidation = false;\n }\n this.calculateTotalPricesForProduct(index, 1);\n }\n\n onDiscountChange(index) {\n let strdis = this.QuotationData.QuotationObj[index].Discount.toString();\n if ((this.QuotationData.QuotationObj[index].Discount < 0)) {\n this.QuotationData.QuotationObj[index].DiscountValidation = true;\n alert(\"Discount cannot be negative.\");\n this.QuotationData.QuotationObj[index].Discount = 0;\n\n return;\n } else if ((this.QuotationData.QuotationObj[index].Discount > 100)) {\n this.QuotationData.QuotationObj[index].DiscountValidation = true;\n return;\n } else if (this.QuotationData.QuotationObj[index].Discount % 1 != 0) {\n if (this.QuotationData.QuotationObj[index].Discount.toString().split(\".\")[1].length > 2 || this.QuotationData.QuotationObj[index].Discount.toString().split(\".\")[0].length > 2) {\n alert(\"Only two numbers are allowed after decimal point\");\n this.QuotationData.QuotationObj[index].Discount = 0;\n //this.QuotationData.QuotationObj[index].Discount = Math.round((this.QuotationData.QuotationObj[index].Discount + Number.EPSILON) * 100) / 100;\n\n }\n this.QuotationData.QuotationObj[index].DiscountValidation = false;\n } else if ((strdis.charAt(strdis.length - 1) == \".\")) {\n alert(\"Please enter valid discount\");\n this.QuotationData.QuotationObj[index].Discount = 0;\n return;\n }\n else {\n this.QuotationData.QuotationObj[index].DiscountValidation = false;\n }\n this.calculateTotalPricesForProduct(index, 1);\n }\n\n setspecialDiscountPrice() {\n //let specdisc=this.specialPkgDiscount.toString();\n if ((this.specialPkgDiscount < 0)) {\n // alert(\"Discount cannot be negative.\");\n this.specialPkgDiscount = 0;\n return;\n }\n\n else if ((this.specialPkgDiscount > 100)) {\n //alert(\"Discount cannot be Greater than 100\");\n this.specialPkgDiscount = 0;\n return;\n }\n // else if (this.specialPkgDiscount % 1 != 0) {\n // //alert(\"Discount must be a integer\");\n // this.specialPkgDiscount = 0;\n // return;\n // }\n\n else if (this.specialPkgDiscount != 0) {\n\n var percent = 100 - this.specialPkgDiscount;\n\n var calculate = this.QuotationData.QuotationInfo.TotalAmount * (percent / 100);\n this.QuotationData.QuotationInfo.FinalAmount = Math.round(calculate);\n this.specialPkgDiscount = this.specialPkgDiscount;\n // this.isfinalamount=false;\n }\n else if (this.specialPkgDiscount == 0) {\n this.QuotationData.QuotationInfo.FinalAmount = Math.round(this.QuotationData.QuotationInfo.TotalAmount);\n }\n\n\n }\n\n checkQuotationGridValidation(flag) {\n var inde = 0;\n\n this.QuotationData.QuotationObj.forEach(element => {\n if (element.ProductSeries == undefined || element.ProductSeries == null || element.ProductSeries == 0) {\n element.ProductSeriesValidation = true;\n this.IsQuotationDataValid = false;\n }\n if (element.ProductModel == undefined || element.ProductModel == null || element.ProductModel == 0) {\n element.ProductModelValidation = true;\n this.IsQuotationDataValid = false;\n }\n if (!element.ProductModelValidation && element.Variant1Label && (element.Variant1 == undefined || element.Variant1 == null || element.Variant1 == 0)) {\n element.Variant1Validation = true;\n this.IsQuotationDataValid = false;\n }\n if (!element.ProductModelValidation && element.Variant2Label && (element.Variant2 == undefined || element.Variant2 == null || element.Variant2 == 0)) {\n element.Variant2Validation = true;\n this.IsQuotationDataValid = false;\n }\n if (!element.ProductModelValidation && element.Variant3Label && (element.Variant3 == undefined || element.Variant3 == null || element.Variant3 == 0)) {\n element.Variant3Validation = true;\n this.IsQuotationDataValid = false;\n }\n if (!element.ProductModelValidation && element.Variant4Label && (element.Variant4 == undefined || element.Variant4 == null || element.Variant4 == 0)) {\n element.Variant4Validation = true;\n this.IsQuotationDataValid = false;\n }\n // if (element.Options == undefined || element.Options == null || element.Options.length == 0) {\n // element.OptionsValidation = true;\n // this.IsQuotationDataValid = false;\n // }\n if (element.Quantity == undefined || element.Quantity == null || element.Quantity == 0) {\n element.QuantityValidation = true;\n this.IsQuotationDataValid = false;\n }\n if (element.Discount < 0) {\n element.DiscountValidation = true;\n this.IsQuotationDataValid = false;\n }\n\n if (element.Discount > 100) {\n element.DiscountValidation = true;\n this.IsQuotationDataValid = false;\n }\n\n // {\n\n if (this.IsQuotationPriceOnRequest && flag == 1 && element.IsPriceOnRequest_Option && x.IsPriceOnRequest && (x.Price == undefined || x.Price == null || x.Price == 0)) {\n element.ShowOptionPriceOnRequestGrid = true;\n x.optionValid = true;\n this.IsQuotationDataValid = false;\n }\n\n });\n\n }\n //>\n //\n var seriesname = this.productDrpdnDetails.ProductSeries.filter(x => x.Id == element.ProductSeries)[0]?.Name;\n if ((seriesname == 'HG' || seriesname == 'HN')) {\n if (element.IsUnits_Variant1 && element.Units_Variant1 % 100 != 0) {\n element.var1_Unit_Validation = true;\n this.IsQuotationDataValid = false;\n }\n if (element.IsUnits_Variant2 && element.Units_Variant2 % 100 != 0) {\n element.var2_Unit_Validation = true;\n this.IsQuotationDataValid = false;\n }\n if (element.IsUnits_Variant3 && element.Units_Variant3 % 100 != 0) {\n element.var3_Unit_Validation = true;\n this.IsQuotationDataValid = false;\n }\n if (element.IsUnits_Variant4 && element.Units_Variant4 % 100 != 0) {\n element.var4_Unit_Validation = true;\n this.IsQuotationDataValid = false;\n }\n }\n inde++;\n });\n }\n\n checkPriceOnRequestCostsAndUnits() {\n var inde = 0;\n this.isPricesRequestedBeforeSubmit = true;\n this.QuotationData.QuotationObj.forEach(element => {\n //\n inde++;\n });\n }\n\n checkQuotationHeaderValidation() {\n this.IsQuotationDataValid = true;\n if (this.QuotationData.QuotationInfo.YourReference == \"\" || this.QuotationData.QuotationInfo.YourReference == undefined || this.QuotationData.QuotationInfo.YourReference == null) {\n this.YourRefValidation = true;\n this.IsQuotationDataValid = false;\n setTimeout(() => {\n this.yourRefElement.nativeElement.focus();\n }, 0);\n } else {\n this.YourRefValidation = false;\n }\n if (this.QuotationData.QuotationInfo.ReferenceDateISO == \"\" || this.QuotationData.QuotationInfo.ReferenceDateISO == undefined || this.QuotationData.QuotationInfo.ReferenceDateISO == null) {\n this.IsQuotationDataValid = false;\n this.RefDateValidation = true;\n setTimeout(() => {\n this.refDateElement.nativeElement.focus();\n }, 0);\n } else {\n this.RefDateValidation = false;\n }\n if (this.QuotationData.QuotationInfo.KindAttention == \"\" || this.QuotationData.QuotationInfo.KindAttention == undefined || this.QuotationData.QuotationInfo.KindAttention == null) {\n this.IsQuotationDataValid = false;\n this.KindAttValidation = true;\n setTimeout(() => {\n this.keyPerElement.nativeElement.focus();\n }, 0);\n } else {\n this.KindAttValidation = false;\n }\n if (this.QuotationData.QuotationInfo.KindAttEmailId == \"\" || this.QuotationData.QuotationInfo.KindAttEmailId == undefined || this.QuotationData.QuotationInfo.KindAttEmailId == null) {\n this.IsQuotationDataValid = false;\n this.KindAttEmailValidilation = true;\n this.KingAttEmailValidationMsg = \"Email is required\"\n setTimeout(() => {\n this.keyPerEmail.nativeElement.focus();\n }, 0);\n }\n else {\n this.KindAttEmailValidilation = false;\n }\n if (this.QuotationData.QuotationInfo.KindAttContactNo == \"\" || this.QuotationData.QuotationInfo.KindAttContactNo == undefined || this.QuotationData.QuotationInfo.KindAttContactNo == null) {\n this.IsQuotationDataValid = false;\n this.KindAttContactNoValidilation = true;\n this.KingAttConactNumberValidationMsg = \"Contact Number is required\"\n setTimeout(() => {\n this.keyPerCNo.nativeElement.focus();\n }, 0);\n }\n else if (this.QuotationData.QuotationInfo.KindAttContactNo.match(/^[0-9]+$/) == null) {\n this.IsQuotationDataValid = false;\n this.KindAttContactNoValidilation = true;\n this.KingAttConactNumberValidationMsg = \"Please enter valid contact number\";\n setTimeout(() => {\n this.keyPerCNo.nativeElement.focus();\n }, 0);\n }\n else if (this.QuotationData.QuotationInfo.KindAttContactNo.length < 10) {\n this.IsQuotationDataValid = false;\n this.KindAttContactNoValidilation = true;\n this.KingAttConactNumberValidationMsg = \"Contact number should be 10-15 digits\";\n setTimeout(() => {\n this.keyPerCNo.nativeElement.focus();\n }, 0);\n }\n else {\n this.KindAttContactNoValidilation = false;\n }\n if (!(/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$/.test(this.QuotationData.QuotationInfo.KindAttEmailId))) {\n this.IsQuotationDataValid = false;\n this.KindAttEmailValidilation = true;\n // Replace the placeholder [emailFormat] with the dynamic email format\n this.KingAttEmailValidationMsg = this.KingAttEmailValidationMsg.replace('[emailFormat]', this.mailIdFormat);\n // this.KingAttEmailValidationMsg = \"Should be in Email Id format (e.g. user@ecotech.com)\"\n setTimeout(() => {\n this.keyPerEmail.nativeElement.focus();\n }, 0);\n }\n else {\n this.KindAttEmailValidilation = false;\n }\n\n if (this.QuotationData.QuotationInfo.QuotationComments == \"\" || this.QuotationData.QuotationInfo.QuotationComments == undefined || this.QuotationData.QuotationInfo.QuotationComments == null) {\n this.IsQuotationDataValid = false;\n this.QuoteCommentsValidation = true;\n setTimeout(() => {\n this.QuoteComm.nativeElement.focus();\n }, 0);\n }\n else {\n this.QuoteCommentsValidation = false;\n }\n }\n\n closePopup() {\n this.activeModal.close('Close Click');\n }\n\n AddNewProduct() {\n var obj = new ProductDetailsModel();\n this.QuotationData.QuotationObj.push(obj);\n }\n\n DeleteProduct(index: any) {\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Do you want to delete this row?\"\n }\n });\n dialogRef.afterClosed().subscribe(dialogResult => {\n if (dialogResult) {\n if (index != null) {\n this.QuotationData.QuotationObj.splice(index, 1);\n this.specialPkgDiscount = 0;\n } else {\n this.QuotationData.QuotationObj.pop();\n }\n this.calculateTotalQuotationValues();\n }\n });\n }\n\n setColspan(index) {\n this.columnCount = 0;\n if (this.QuotationData.QuotationObj[index].Variant1Label) {\n this.columnCount = this.columnCount + 1;\n }\n if (this.QuotationData.QuotationObj[index].Variant2Label) {\n this.columnCount = this.columnCount + 1;\n }\n if (this.QuotationData.QuotationObj[index].Variant3Label) {\n this.columnCount = this.columnCount + 1;\n }\n if (this.QuotationData.QuotationObj[index].Variant4Label) {\n this.columnCount = this.columnCount + 1;\n }\n if (this.columnCount == 4) {\n this.QuotationData.QuotationObj[index].colspan1 = 1;\n this.QuotationData.QuotationObj[index].colspan2 = 1;\n this.QuotationData.QuotationObj[index].colspan3 = 1;\n this.QuotationData.QuotationObj[index].colspan4 = 1;\n } else if (this.columnCount == 3) {\n this.QuotationData.QuotationObj[index].colspan1 = 1;\n this.QuotationData.QuotationObj[index].colspan2 = 1;\n this.QuotationData.QuotationObj[index].colspan3 = 2;\n this.QuotationData.QuotationObj[index].colspan4 = 0;\n } else if (this.columnCount == 2) {\n this.QuotationData.QuotationObj[index].colspan1 = 2;\n this.QuotationData.QuotationObj[index].colspan2 = 2;\n this.QuotationData.QuotationObj[index].colspan3 = 0;\n this.QuotationData.QuotationObj[index].colspan4 = 0;\n } else if (this.columnCount == 1) {\n this.QuotationData.QuotationObj[index].colspan1 = 4;\n this.QuotationData.QuotationObj[index].colspan2 = 0;\n this.QuotationData.QuotationObj[index].colspan3 = 0;\n this.QuotationData.QuotationObj[index].colspan4 = 0;\n }\n }\n\n \n calculateTotalPricesForProduct(index, flag) {\n var modelprice = 0;\n var var1price = 0;\n var var2price = 0;\n var var3price = 0;\n var var4price = 0;\n var optionprice = 0;\n var QuotationObj = this.QuotationData.QuotationObj[index];\n\n modelprice = QuotationObj?.ProductModelPrice == undefined ? 0 : QuotationObj.ProductModelPrice;\n var1price = QuotationObj?.Variant1Price == undefined ? 0 : QuotationObj.Variant1Price;\n var2price = QuotationObj?.Variant2Price == undefined ? 0 : QuotationObj.Variant2Price;\n var3price = QuotationObj?.Variant3Price == undefined ? 0 : QuotationObj.Variant3Price;\n var4price = QuotationObj?.Variant4Price == undefined ? 0 : QuotationObj.Variant4Price;\n\n this.setColspan(index);\n\n if (flag == 0) {\n if (QuotationObj?.Units_Variant1 >= 0 && QuotationObj?.IsUnits_Variant1) {\n QuotationObj.Variant1Price = QuotationObj.Variant1Price * QuotationObj.Units_Variant1;\n var1price = QuotationObj.Variant1Price;\n }\n if (QuotationObj?.Units_Variant2 >= 0 && QuotationObj?.IsUnits_Variant2) {\n QuotationObj.Variant2Price = QuotationObj.Variant2Price * QuotationObj.Units_Variant2;\n var2price = QuotationObj.Variant2Price;\n }\n if (QuotationObj?.Units_Variant3 >= 0 && QuotationObj?.IsUnits_Variant3) {\n QuotationObj.Variant3Price = QuotationObj.Variant3Price * QuotationObj.Units_Variant3;\n var3price = QuotationObj.Variant3Price;\n }\n if (QuotationObj?.Units_Variant4 >= 0 && QuotationObj?.IsUnits_Variant4) {\n QuotationObj.Variant4Price = QuotationObj.Variant4Price * QuotationObj.Units_Variant4;\n var4price = QuotationObj.Variant4Price;\n }\n }\n\n QuotationObj.PerUnitAmount = QuotationObj?.PerUnitAmount == undefined ? 0 : QuotationObj.PerUnitAmount;\n QuotationObj.TotalAmount = QuotationObj?.TotalAmount == undefined ? 0 : QuotationObj.TotalAmount;\n QuotationObj.FinalAmount = QuotationObj?.FinalAmount == undefined ? 0 : QuotationObj.FinalAmount;\n QuotationObj.OptionsPrice = 0;\n QuotationObj.Options?.forEach(element => {\n QuotationObj.OptionsPrice = QuotationObj?.OptionsPrice + element.Price;\n optionprice = optionprice + element.Price;\n });\n\n QuotationObj.PerUnitAmount = modelprice + var1price + var2price + var3price + var4price + optionprice;\n QuotationObj.Variant1 = (QuotationObj.Variant1 == null || QuotationObj.Variant1 == 0) ? undefined : QuotationObj.Variant1;\n QuotationObj.Variant2 = (QuotationObj.Variant2 == null || QuotationObj.Variant2 == 0) ? undefined : QuotationObj.Variant2;\n QuotationObj.Variant3 = (QuotationObj.Variant3 == null || QuotationObj.Variant3 == 0) ? undefined : QuotationObj.Variant3;\n QuotationObj.Variant4 = (QuotationObj.Variant4 == null || QuotationObj.Variant4 == 0) ? undefined : QuotationObj.Variant4;\n QuotationObj.Discount = QuotationObj.Discount == undefined ? 0 : QuotationObj.Discount;\n\n //var percent = 100 - QuotationObj.Discount;\n QuotationObj.TotalAmount = QuotationObj.PerUnitAmount * QuotationObj.Quantity;\n // var final = QuotationObj.TotalAmount * (percent / 100);\n //QuotationObj.FinalAmount = parseInt(final.toString());\n // QuotationObj.FinalAmount =Math.round((final + Number.EPSILON) * 100) / 100);\n QuotationObj.FinalAmount = Math.round(QuotationObj.TotalAmount);\n this.calculateTotalQuotationValues();\n }\n\n\n calculateTotalQuotationValues() {\n this.QuotationData.QuotationInfo.PerUnitAmount = 0;\n this.QuotationData.QuotationInfo.TotalAmount = 0;\n this.QuotationData.QuotationInfo.FinalAmount = 0;\n var final = 0;\n this.QuotationData.QuotationObj.forEach(element => {\n this.QuotationData.QuotationInfo.PerUnitAmount = this.QuotationData.QuotationInfo.PerUnitAmount + element.PerUnitAmount;\n this.QuotationData.QuotationInfo.TotalAmount = this.QuotationData.QuotationInfo.TotalAmount + element.TotalAmount;\n final = parseFloat(final.toString()) + parseFloat(element.FinalAmount);\n });\n\n var percent = 100 - this.specialPkgDiscount;\n var finals = final * (percent / 100);\n this.QuotationData.QuotationInfo.FinalAmount = Math.round(finals);\n }\n\n /*******************************************************************************\n * Form validation method\n * ******************************************************************************/\n\n isNumberKey(evt: any) {\n this.charCode = (evt.which) ? evt.which : evt.keyCode;\n if ((this.charCode == 45 || this.charCode == 43) && this.charCode > 31\n && (this.charCode < 48 || this.charCode > 57)) {\n return false;\n }\n else {\n return true;\n }\n }\n\n isintNumberKey(evt: any) {\n this.charCode = (evt.which) ? evt.which : evt.keyCode;\n if ((this.charCode == 46 || this.charCode == 45 || this.charCode == 43) && this.charCode > 31\n && (this.charCode < 48 || this.charCode > 57)) {\n return false;\n }\n else {\n return true;\n }\n }\n\n AvoidSpace(event: any) {\n if (event.which === 32 && !event.target.value.length) {\n event.preventDefault();\n }\n }\n\n limitTextOnKeyUpDown1(event: any) {\n let goalText = event.target.value;\n if (goalText.length > this.maxLimit) {\n this.varLongTermGoal = goalText.substring(0, this.maxLimit);\n } else {\n this.remLimit = this.maxLimit - goalText.length;\n }\n\n if (this.QuotationData.QuotationInfo.QuotationComments == \"\" || this.QuotationData.QuotationInfo.QuotationComments == undefined || this.QuotationData.QuotationInfo.QuotationComments == null) {\n this.IsQuotationDataValid = false;\n this.QuoteCommentsValidation = true;\n } else {\n this.QuoteCommentsValidation = false;\n }\n }\n allowDecimal(event: any) {\n\n // Allow decimal point and only two decimal places\n const regex = /^[0-9]+(\\.[0-9]{0,2})?$/;\n const inputChar = String.fromCharCode(event.charCode);\n if (!regex.test(event.target.value + inputChar)) {\n event.preventDefault();\n }\n if ((this.specialPkgDiscount > 100)) {\n //alert(\"Discount cannot be Greater than 100\");\n this.specialPkgDiscount = 0;\n return;\n }\n }\n\n \n GetVarientDropdowndataforModel(index) {\n \n let queryString = \"\";\n queryString = \"ProductModelId=\" + this.QuotationData.QuotationObj[index].ProductModel;\n // this.commonService.GetData(\"Enquiry\", \"GetQuotationVariantDropdownData\", queryString).subscribe((data: any) => {\n\n // this.variantDropdownData = data;\n // // this.productDrpdnDetails.Variant1 = this.variantDropdownData.Variant1;\n // this.QuotationData.QuotationObj[index].productmodeldata = undefined;\n // this.QuotationData.QuotationObj[index].selectedVariant1 = this.variantDropdownData.Variant1;\n\n // if (!this.QuotationData.QuotationObj[index].IsLevel2DepOnLevel1) {\n // this.QuotationData.QuotationObj[index].selectedVariant2 = this.variantDropdownData.Variant2;\n // }\n // if (!this.QuotationData.QuotationObj[index].IsLevel3DepOnLevel2) {\n // this.QuotationData.QuotationObj[index].selectedVariant3 = this.variantDropdownData.Variant3;\n // }\n // if (!this.QuotationData.QuotationObj[index].IsLevel4DepOnLevel3) {\n // this.QuotationData.QuotationObj[index].selectedVariant4 = this.variantDropdownData.Variant4;\n\n // }\n \n // });\n\n let tracker = this.commonService.GetData(\"Enquiry\", \"GetQuotationVariantDropdownData\", queryString);\n\n tracker.subscribe((data: any) => {\n this.variantDropdownData = data;\n this.QuotationData.QuotationObj[index].productmodeldata = undefined;\n this.QuotationData.QuotationObj[index].selectedVariant1 = this.variantDropdownData.Variant1;\n\n if (!this.QuotationData.QuotationObj[index].IsLevel2DepOnLevel1) {\n this.QuotationData.QuotationObj[index].selectedVariant2 = this.variantDropdownData.Variant2;\n }\n if (!this.QuotationData.QuotationObj[index].IsLevel3DepOnLevel2) {\n this.QuotationData.QuotationObj[index].selectedVariant3 = this.variantDropdownData.Variant3;\n }\n if (!this.QuotationData.QuotationObj[index].IsLevel4DepOnLevel3) {\n this.QuotationData.QuotationObj[index].selectedVariant4 = this.variantDropdownData.Variant4;\n }\n this.updateLoaderEvent.emit(false);\n }, error => {\n this.updateLoaderEvent.emit(false);\n });\n\n return tracker;\n }\n\n var1UnitsChange(index) {\n forkJoin([\n this.GetVarientDropdowndataforModel(index)\n ]).pipe(tap(res => { \n var seriesname = this.productDrpdnDetails.ProductSeries.filter(x => x.Id == this.QuotationData.QuotationObj[index].ProductSeries)[0]?.Name;\n let strunits = this.QuotationData.QuotationObj[index].Units_Variant1.toString();\n if (this.QuotationData.QuotationObj[index].Units_Variant1 == undefined || this.QuotationData.QuotationObj[index].Units_Variant1 == null) {\n this.QuotationData.QuotationObj[index].var1_Unit_Validation = true;\n this.IsQuotationDataValid = false;\n } else if (this.QuotationData.QuotationObj[index].Units_Variant1 < 0) {\n this.QuotationData.QuotationObj[index].var1_Unit_Validation = true;\n this.IsQuotationDataValid = false;\n } else if (this.QuotationData.QuotationObj[index].Units_Variant1 % 1 != 0) {\n alert('Please enter only integer value');\n if (seriesname == 'HG' || seriesname == 'HN') {\n this.QuotationData.QuotationObj[index].Units_Variant1 = 100;\n }\n else {\n this.QuotationData.QuotationObj[index].Units_Variant1 = 1;\n }\n \n this.IsQuotationDataValid = false;\n }else if(strunits.includes(\".\"))\n {\n alert('Please enter valid units');\n if (seriesname == 'HG' || seriesname == 'HN') {\n this.QuotationData.QuotationObj[index].Units_Variant1 = 100;\n }\n else {\n this.QuotationData.QuotationObj[index].Units_Variant1 = 1;\n }\n \n this.IsQuotationDataValid = false; \n } \n \n else {\n \n if ((seriesname == 'HG' || seriesname == 'HN') && (this.QuotationData.QuotationObj[index].Units_Variant1 % 100 != 0)) {\n alert('Please enter the units in multiple of 100.');\n this.QuotationData.QuotationObj[index].var1_Unit_Validation = true;\n this.IsQuotationDataValid = false;\n } else {\n this.QuotationData.QuotationObj[index].var1_Unit_Validation = false;\n }\n }\n if (!(this.QuotationData.QuotationObj[index].productmodeldata == undefined || this.QuotationData.QuotationObj[index].productmodeldata == null)) {\n this.variantDropdownData = this.QuotationData.QuotationObj[index].productmodeldata;\n var selectedVariant1 = this.QuotationData.QuotationObj[index].Variant1;\n var price: number = this.variantDropdownData.Variant1.filter(x => x.Id == selectedVariant1)[0]?.Price;\n var units: number = this.QuotationData.QuotationObj[index].Units_Variant1;\n this.QuotationData.QuotationObj[index].Variant1Price = price * units;\n } else {\n var selectedVariant1 = this.QuotationData.QuotationObj[index].Variant1;\n var price: number = this.variantDropdownData.Variant1.filter(x => x.Id == selectedVariant1)[0]?.Price;\n var units: number = this.QuotationData.QuotationObj[index].Units_Variant1;\n this.QuotationData.QuotationObj[index].Variant1Price = price * units;\n //this.QuotationData.QuotationObj[index].Variant1Price = this.QuotationData.QuotationObj[index].selectedVariant1.filter(x => x.Id == selectedVariant1)[0]?.Price;\n }\n this.calculateTotalPricesForProduct(index, 1);\n \n })).subscribe(x=>{\n // this.updateLoaderEvent.emit(false);\n });\n \n }\n \n var2UnitsChange(index) {\n forkJoin([\n this.GetVarientDropdowndataforModel(index)\n ]).pipe(tap(res => { \n var seriesname = this.productDrpdnDetails.ProductSeries.filter(x => x.Id == this.QuotationData.QuotationObj[index].ProductSeries)[0]?.Name;\n let strunits = this.QuotationData.QuotationObj[index].Units_Variant2.toString();\n if (this.QuotationData.QuotationObj[index].Units_Variant2 == undefined || this.QuotationData.QuotationObj[index].Units_Variant2 == null) {\n this.QuotationData.QuotationObj[index].var2_Unit_Validation = true;\n this.IsQuotationDataValid = false;\n } else if (this.QuotationData.QuotationObj[index].Units_Variant2 < 0) {\n this.QuotationData.QuotationObj[index].var2_Unit_Validation = true;\n this.IsQuotationDataValid = false;\n } else if (this.QuotationData.QuotationObj[index].Units_Variant2 % 1 != 0) {\n alert('Please enter only integer value');\n if (seriesname == 'HG' || seriesname == 'HN') {\n this.QuotationData.QuotationObj[index].Units_Variant2 = 100;\n }\n else {\n this.QuotationData.QuotationObj[index].Units_Variant2 = 1;\n }\n\n this.IsQuotationDataValid = false;\n }\n else if(strunits.includes(\".\"))\n {\n alert('Please enter valid units');\n if (seriesname == 'HG' || seriesname == 'HN') {\n this.QuotationData.QuotationObj[index].Units_Variant2 = 100;\n }\n else {\n this.QuotationData.QuotationObj[index].Units_Variant2 = 1;\n }\n\n this.IsQuotationDataValid = false;\n }\n else {\n\n if ((seriesname == 'HG' || seriesname == 'HN') && (this.QuotationData.QuotationObj[index].Units_Variant2 % 100 != 0)) {\n alert('Please enter the units in multiple of 100.');\n this.QuotationData.QuotationObj[index].var2_Unit_Validation = true;\n this.IsQuotationDataValid = false;\n } else {\n this.QuotationData.QuotationObj[index].var2_Unit_Validation = false;\n }\n }\n if (!(this.QuotationData.QuotationObj[index].productmodeldata == undefined || this.QuotationData.QuotationObj[index].productmodeldata == null)) {\n this.variantDropdownData = this.QuotationData.QuotationObj[index].productmodeldata;\n var selectedVariant2 = this.QuotationData.QuotationObj[index].Variant2;\n var price: number = this.variantDropdownData.Variant2.filter(x => x.Id == selectedVariant2)[0]?.Price;\n var units: number = this.QuotationData.QuotationObj[index].Units_Variant2;\n this.QuotationData.QuotationObj[index].Variant2Price = price * units;\n } else {\n var selectedVariant2 = this.QuotationData.QuotationObj[index].Variant2;\n var price: number = this.variantDropdownData.Variant2.filter(x => x.Id == selectedVariant2)[0]?.Price;\n var units: number = this.QuotationData.QuotationObj[index].Units_Variant2;\n this.QuotationData.QuotationObj[index].Variant2Price = price * units;\n // this.QuotationData.QuotationObj[index].Variant2Price = this.productDrpdnDetails.Variant2.filter(x => x.Id == selectedVariant2)[0]?.Price;\n }\n this.calculateTotalPricesForProduct(index, 1);\n })).subscribe(x=>{\n // this.updateLoaderEvent.emit(false);\n });\n }\n\n var3UnitsChange(index) {\n forkJoin([\n this.GetVarientDropdowndataforModel(index)\n ]).pipe(tap(res => {\n var seriesname = this.productDrpdnDetails.ProductSeries.filter(x => x.Id == this.QuotationData.QuotationObj[index].ProductSeries)[0]?.Name;\n let strunits = this.QuotationData.QuotationObj[index].Units_Variant3.toString();\n if (this.QuotationData.QuotationObj[index].Units_Variant3 == undefined || this.QuotationData.QuotationObj[index].Units_Variant3 == null) {\n this.QuotationData.QuotationObj[index].var3_Unit_Validation = true;\n this.IsQuotationDataValid = false;\n } else if (this.QuotationData.QuotationObj[index].Units_Variant3 < 0) {\n this.QuotationData.QuotationObj[index].var3_Unit_Validation = true;\n this.IsQuotationDataValid = false;\n } else if (this.QuotationData.QuotationObj[index].Units_Variant3 % 1 != 0) {\n alert('Please enter only integer value');\n if (seriesname == 'HG' || seriesname == 'HN') {\n this.QuotationData.QuotationObj[index].Units_Variant3 = 100;\n }\n else {\n this.QuotationData.QuotationObj[index].Units_Variant3 = 1;\n }\n\n this.IsQuotationDataValid = false;\n }\n else if(strunits.includes(\".\"))\n {\n alert('Please enter valid units');\n if (seriesname == 'HG' || seriesname == 'HN') {\n this.QuotationData.QuotationObj[index].Units_Variant3 = 100;\n }\n else {\n this.QuotationData.QuotationObj[index].Units_Variant3 = 1;\n }\n\n this.IsQuotationDataValid = false;\n }\n else {\n\n if ((seriesname == 'HG' || seriesname == 'HN') && (this.QuotationData.QuotationObj[index].Units_Variant3 % 100 != 0)) {\n alert('Please enter the units in multiple of 100.');\n this.QuotationData.QuotationObj[index].var3_Unit_Validation = true;\n this.IsQuotationDataValid = false;\n } else {\n this.QuotationData.QuotationObj[index].var3_Unit_Validation = false;\n }\n }\n if (!(this.QuotationData.QuotationObj[index].productmodeldata == undefined || this.QuotationData.QuotationObj[index].productmodeldata == null)) {\n this.variantDropdownData = this.QuotationData.QuotationObj[index].productmodeldata;\n var selectedVariant3 = this.QuotationData.QuotationObj[index].Variant3;\n var price: number = this.variantDropdownData.Variant3.filter(x => x.Id == selectedVariant3)[0]?.Price;\n var units: number = this.QuotationData.QuotationObj[index].Units_Variant3;\n this.QuotationData.QuotationObj[index].Variant3Price = price * units;\n } else {\n var selectedVariant3 = this.QuotationData.QuotationObj[index].Variant3;\n var price: number = this.variantDropdownData.Variant3.filter(x => x.Id == selectedVariant3)[0]?.Price;\n var units: number = this.QuotationData.QuotationObj[index].Units_Variant3;\n this.QuotationData.QuotationObj[index].Variant3Price = price * units;\n //this.QuotationData.QuotationObj[index].Variant3Price = this.productDrpdnDetails.Variant3.filter(x => x.Id == selectedVariant3)[0]?.Price;\n }\n this.calculateTotalPricesForProduct(index, 1);\n })).subscribe(x=>{\n // this.updateLoaderEvent.emit(false);\n });\n }\n\n var4UnitsChange(index) {\n forkJoin([\n this.GetVarientDropdowndataforModel(index)\n ]).pipe(tap(res => {\n var seriesname = this.productDrpdnDetails.ProductSeries.filter(x => x.Id == this.QuotationData.QuotationObj[index].ProductSeries)[0]?.Name;\n let strunits = this.QuotationData.QuotationObj[index].Units_Variant4.toString();\n if (this.QuotationData.QuotationObj[index].Units_Variant4 == undefined || this.QuotationData.QuotationObj[index].Units_Variant4 == null) {\n this.QuotationData.QuotationObj[index].var4_Unit_Validation = true;\n this.IsQuotationDataValid = false;\n } else if (this.QuotationData.QuotationObj[index].Units_Variant4 < 0) {\n this.QuotationData.QuotationObj[index].var4_Unit_Validation = true;\n this.IsQuotationDataValid = false;\n } else if (this.QuotationData.QuotationObj[index].Units_Variant4 % 1 != 0) {\n alert('Please enter only integer value');\n if (seriesname == 'HG' || seriesname == 'HN') {\n this.QuotationData.QuotationObj[index].Units_Variant4 = 100;\n }\n else {\n this.QuotationData.QuotationObj[index].Units_Variant4 = 1;\n }\n\n this.IsQuotationDataValid = false;\n }\n else if(strunits.includes(\".\"))\n {\n alert('Please enter valid units');\n if (seriesname == 'HG' || seriesname == 'HN') {\n this.QuotationData.QuotationObj[index].Units_Variant4 = 100;\n }\n else {\n this.QuotationData.QuotationObj[index].Units_Variant4 = 1;\n }\n\n this.IsQuotationDataValid = false;\n }\n else {\n\n if ((seriesname == 'HG' || seriesname == 'HN') && (this.QuotationData.QuotationObj[index].Units_Variant4 % 100 != 0)) {\n alert('Please enter the units in multiple of 100.');\n this.QuotationData.QuotationObj[index].var4_Unit_Validation = true;\n this.IsQuotationDataValid = false;\n } else {\n this.QuotationData.QuotationObj[index].var4_Unit_Validation = false;\n }\n }\n if (!(this.QuotationData.QuotationObj[index].productmodeldata == undefined || this.QuotationData.QuotationObj[index].productmodeldata == null)) {\n this.variantDropdownData = this.QuotationData.QuotationObj[index].productmodeldata;\n var selectedVariant4 = this.QuotationData.QuotationObj[index].Variant4;\n var price: number = this.variantDropdownData.Variant4.filter(x => x.Id == selectedVariant4)[0]?.Price;\n var units: number = this.QuotationData.QuotationObj[index].Units_Variant4;\n this.QuotationData.QuotationObj[index].Variant4Price = price * units;\n } else {\n var selectedVariant4 = this.QuotationData.QuotationObj[index].Variant4;\n var price: number = this.variantDropdownData.Variant4.filter(x => x.Id == selectedVariant4)[0]?.Price;\n var units: number = this.QuotationData.QuotationObj[index].Units_Variant4;\n this.QuotationData.QuotationObj[index].Variant4Price = price * units;\n // this.QuotationData.QuotationObj[index].Variant4Price = this.productDrpdnDetails.Variant4.filter(x => x.Id == selectedVariant4)[0]?.Price;\n }\n this.calculateTotalPricesForProduct(index, 1);\n })).subscribe(x=>{\n // this.updateLoaderEvent.emit(false);\n });\n }\n\n}\n","\n\n
    \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n

    \n Price Configurator\n

    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    SeriesModelOptionsQtyTotal Amount (€)
    \n \n
    \n \n ProductSeries is required\n
    \n
    \n \n \n
    \n \n Product Model is required\n
    \n
    \n {{field.Variant1Label}}\n \n {{field.Variant2Label}}\n \n {{field.Variant3Label}}\n \n {{field.Variant4Label}}\n \n\n \n \n {{item.Name}}\n\n \n \n \n {{item.Name}}\n \n\n\n
    \n   {{o+1}}) {{j.Name}}(€ {{j.Price == undefined\n ? 0:\n j.Price |indianCurrency}})
    \n
    \n
    \n \n Options are required\n
    \n\n
    \n \n
    \n \n Quantity is not valid\n
    \n
    \n \n Quantity should be in between 0 to 1000\n
    \n
    \n {{field.TotalAmount == undefined ? 0: field.TotalAmount\n |indianCurrency}}\n \n \n
    \n
    \n \n \n
    \n \n {{field.Variant1Label}} is required\n
    \n
    \n \n \n
    \n
    \n \n \n
    \n \n {{field.Variant2Label}} is required\n
    \n
    \n \n \n
    \n
    \n \n \n
    \n \n {{field.Variant3Label}} is required\n
    \n
    \n \n \n
    \n
    \n \n \n
    \n \n {{field.Variant4Label}} is required\n
    \n
    \n \n \n
    \n
    € {{field.ProductModelPrice == undefined\n ? 0:\n field.ProductModelPrice |indianCurrency}}/-\n
    \n Price on Request\n \n
    \n
    \n € {{field.Variant1Price == undefined ? 0:\n field.Variant1Price |\n indianCurrency}}/-\n
    \n
    \n
    \n Price on Request\n \n
    \n
    \n € {{field.Variant2Price == undefined ? 0:\n field.Variant2Price |\n indianCurrency}}/-\n
    \n
    \n
    \n Price on Request\n \n
    \n
    \n € {{field.Variant3Price == undefined ? 0:\n field.Variant3Price |\n indianCurrency}}/-\n
    \n
    \n
    \n Price on Request\n \n
    \n
    \n € {{field.Variant4Price == undefined ? 0:\n field.Variant4Price |\n indianCurrency}}/-\n
    \n
    \n
    \n Price on\n Request\n
    \n \n\n
    \n
    \n
    \n € {{field.OptionsPrice == undefined ? 0:\n field.OptionsPrice |indianCurrency}}/-\n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    Product OptionsPrice (€)
    {{t1.Name}}\n \n \n
    \n \n Please enter valid price\n
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    Discount %
    Final Amount {{QuotationData.QuotationInfo.FinalAmount\n == undefined ? 0:\n QuotationData.QuotationInfo.FinalAmount |indianCurrency}}
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n","import { query } from '@angular/animations';\nimport { Component, Input, OnInit } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { Title } from '@angular/platform-browser';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { ToastrService } from 'ngx-toastr';\nimport { exit } from 'process';\nimport { AppGlobals } from 'src/app/app.global';\nimport { ConfirmDialogComponent } from 'src/app/confirm-dialog/confirm-dialog.component';\nimport { ProductMatrixModel } from 'src/app/Model/ProductMatrixModel';\nimport { ProductSeries } from 'src/app/Model/ProductModel';\nimport { AccessPermissionModel } from 'src/app/Model/WorkFlowScreenAccessModel';\nimport { AccessPermissionService } from 'src/app/Service/access-permission.service';\nimport { AppConfigService } from 'src/app/Service/app-config.service';\nimport { CommonService } from 'src/app/Service/common.service';\n\n@Component({\n selector: 'app-product-matrix',\n templateUrl: './product-matrix.component.html',\n styleUrls: ['./product-matrix.component.scss']\n})\nexport class ProductMatrixComponent implements OnInit {\n\n @Input()\n showLoader: boolean = false;\n ProductList: any = [];\n ProductModelList: any = [];\n ProductMatrix: ProductMatrixModel = new ProductMatrixModel();\n ProductSeriesId: number;\n ProductModelId: number;\n isEditable: boolean = true;\n ProductSeries: ProductSeries[] = [];\n SelectedtSeriesdata:any;\n VariantDrpdown: string = \"\";\n charCode: any;\n UserRole: any;\n isProductMatrixEditable: boolean = false;\n ShowGrid:boolean = false;\n AlldataValid:boolean = true;\n accesspermissionobj:AccessPermissionModel[]=Array();\n AccesspermissionForRole:any[]=[];\n\n \n constructor(private toastr: ToastrService, private commonService: CommonService, private router: Router,\n public dialog: MatDialog,private route: ActivatedRoute,private titleService: Title,private accessservice: AccessPermissionService,\n private appConfigService : AppConfigService) {\n }\n\n ngOnInit(): void {\n const appConfig = this.appConfigService.getConfig();\n const dynamicTitle = this.route.snapshot.data['title'];\n this.titleService.setTitle(`${dynamicTitle} - ${appConfig.titleName}`);\n // this.titleService.setTitle(this.route.snapshot.data['title'] + \" - ECOTECH\");\n this.UserRole = localStorage.getItem(\"UserRole\");\n this.getAccess();\n // this.isProductMatrixEditable = AppGlobals.ProductMastersEditableAccessArray.filter(x => x.role == this.UserRole)[0]?.isEditable;\n this.getAllProductSeries();\n }\n\n getAllProductSeries() {\n this.showLoader = true;\n this.commonService.GetData(\"ProductSeries\", \"GetAll\", null).subscribe((data: any) => {\n this.ProductSeries = data.filter(x=>x.SeriesName == 'TC' || x.SeriesName == 'TR');\n this.ProductSeries = this.ProductSeries.sort((a, b) => (a.SeriesName < b.SeriesName ? -1 : 1));\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n\n ProductSeriesChange(evt:any)\n {\n this.showLoader = true;\n\n let queryString = \"\";\n queryString = \"Id=\" + this.ProductSeriesId;\n this.ShowGrid = false;\n this.commonService.GetData(\"ProductSeries\", \"GetById\", queryString).subscribe((data: any) => {\n this.SelectedtSeriesdata = data;\n this.GetProductModelById(this.ProductSeriesId);\n this.isEditable = true;\n this.ProductMatrix = new ProductMatrixModel();\n this.ProductModelId = undefined;\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n \n this.ProductModelId = undefined;\n }\n\n RedirectToVariant(event: any) {\n if (this.VariantDrpdown == 'ProductModel') {\n this.router.navigate(['/ProductModel', this.SelectedtSeriesdata.Id]);\n }\n else if (this.VariantDrpdown == 'Options') {\n this.router.navigate(['/Options', this.SelectedtSeriesdata.Id]);\n }\n else if (this.VariantDrpdown == 'Variant1') {\n this.router.navigate(['/VariantLevel1', this.SelectedtSeriesdata.Id, this.SelectedtSeriesdata.Label_Variant1]);\n }\n else if (this.VariantDrpdown == 'Variant2') {\n this.router.navigate(['/VariantLevel2', this.SelectedtSeriesdata.Id, this.SelectedtSeriesdata.Label_Variant1, this.SelectedtSeriesdata.Label_Variant2]);\n }\n else if (this.VariantDrpdown == 'Variant3') {\n this.router.navigate(['/VariantLevel3', this.SelectedtSeriesdata.Id, this.SelectedtSeriesdata.Label_Variant2, this.SelectedtSeriesdata.Label_Variant3]);\n }\n else if (this.VariantDrpdown == 'Variant4') {\n this.router.navigate(['/VariantLevel4', this.SelectedtSeriesdata.Id, this.SelectedtSeriesdata.Label_Variant3, this.SelectedtSeriesdata.Label_Variant4]);\n }\n }\n\n GetProductModelById(SeriesId: number) {\n this.showLoader = true;\n let queryString = \"\";\n queryString = \"SeriesId=\" + SeriesId;\n this.commonService.GetData(\"ProductModel\", \"GetProductModelById\", queryString).subscribe((data: any) => {\n this.ProductModelList = data;\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n\n getProductMatrix() {\n this.showLoader = true;\n let querystring = \"\";\n querystring = \"ProductModelId=\" + this.ProductModelId;\n this.commonService.GetData(\"ProductModel\", \"GetMatrix\", querystring).subscribe((data: any) => {\n this.ProductMatrix = data;\n this.ShowGrid = true;\n window.scroll({\n left: 0,\n behavior: 'smooth'\n });\n this.isEditable = true;\n this.showLoader = false;\n });\n }\n\n SpeedStepPriceValidation(i:number,j:number)\n {\n let strprice =this.ProductMatrix.stationlist[i].speedsteplist[j].price.toString();\n if(this.ProductMatrix.stationlist[i].speedsteplist[j].price % 1 != 0)\n {\n this.ProductMatrix.stationlist[i].speedsteplist[j].isSpeedstepValid = false;\n this.AlldataValid = false;\n }\n else if(strprice.includes(\".\")){\n this.ProductMatrix.stationlist[i].speedsteplist[j].isSpeedstepValid = false;\n this.AlldataValid = false;\n }\n else if(strprice == \"\")\n {\n this.ProductMatrix.stationlist[i].speedsteplist[j].price = 0;\n }\n else{\n this.ProductMatrix.stationlist[i].speedsteplist[j].isSpeedstepValid = true;\n this.AlldataValid = true;\n }\n }\n\n StationPriceValidation(i:number)\n {\n let strprice = this.ProductMatrix.stationlist[i].price.toString();\n if(this.ProductMatrix.stationlist[i].price % 1 != 0)\n {\n this.ProductMatrix.stationlist[i].isStationValid = false;\n this.AlldataValid = false;\n }\n else if(strprice.includes(\".\")){\n this.ProductMatrix.stationlist[i].isStationValid = false;\n this.AlldataValid = false;\n }\n else if(strprice == \"\")\n {\n this.ProductMatrix.stationlist[i].price = 0;\n }\n else{\n this.ProductMatrix.stationlist[i].isStationValid = true;\n this.AlldataValid = true;\n }\n }\n/*******************************************************************************\n * Form validation method\n * ******************************************************************************/\n\n isNumberKey(evt: any) {\n this.charCode = (evt.which) ? evt.which : evt.keyCode;\n if (this.charCode != 46 && this.charCode > 31\n && (this.charCode < 48 || this.charCode > 57)) {\n return false;\n }\n else {\n return true;\n }\n }\n\n AvoidSpace(event: any) {\n if (event.which === 32 && !event.target.value.length) {\n event.preventDefault();\n }\n }\n\n /*******************************************************************************\n * End Form validation method \n * ******************************************************************************/\n Cancel()\n {\n this.ProductMatrix = new ProductMatrixModel();\n this.ProductModelId = undefined;\n this.ProductSeriesId = undefined;\n this.ProductModelList = [];\n this.ShowGrid = false;\n }\n\n EditMatrix() {\n this.isEditable = false;\n window.scroll({\n top: 0,\n left: 0,\n behavior: 'smooth'\n });\n }\n\n SaveMatrix() {\n \n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Do you want to update this product matrix?\"\n }\n });\n dialogRef.afterClosed().subscribe(dialogResult => {\n this.showLoader = true;\n if (dialogResult) {\n this.commonService.PostData(\"ProductModel\", \"SaveMatrix\", this.ProductMatrix, null).subscribe((data: any) => {\n \n if (data == 1) {\n this.toastr.success(\"Product matrix updated successfully!\");\n this.isEditable = true;\n \n this.showLoader = false;\n }\n else {\n this.toastr.error(\"Failed to update product matrix!\");\n this.showLoader = false;\n }\n }, error => {\n this.toastr.error(\"Failed to update product matrix!\");\n this.showLoader = false;\n });\n window.scroll({\n top: 0,\n left: 0,\n behavior: 'smooth'\n });\n }\n else {\n this.showLoader = false;\n }\n });\n }\n\n getAccess()\n {\n this.accessservice.GetAll().subscribe((data:any)=> {\n this.accesspermissionobj=data;\n this.isProductMatrixEditable=this.accesspermissionobj.filter(x => x.Fk_RoleId == this.UserRole && x.ElementKey=='isProductLine')[0]?.IsEditable;\n \n });\n \n }\n}\n","\n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n TC/TR Matrix\n

    \n
    \n
    \n \n\n
    \n
      \n
    • \n     \n     \n \n
    • \n
    \n
    \n
    \n \n \n \n \n \n \n
    \n \n Please select product series and product model!

    \n
    \n\n
    \n \n
    \n \n No records found!

    \n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n","import { Component, OnInit, Input } from '@angular/core';\nimport { ConfirmDialogComponent } from 'src/app/confirm-dialog/confirm-dialog.component';\nimport { MatDialog } from '@angular/material/dialog';\nimport { CommonService } from 'src/app/Service/common.service';\nimport { ToastrService } from 'ngx-toastr';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { Options, ProductModel } from 'src/app/Model/ProductModel';\nimport { Title } from '@angular/platform-browser';\nimport { AppConfigService } from 'src/app/Service/app-config.service';\n\n@Component({\n selector: 'app-add-options',\n templateUrl: './add-options.component.html',\n styleUrls: ['./add-options.component.scss']\n})\nexport class AddOptionsComponent implements OnInit {\n Optionsobj: Options = new Options();\n charCode: any;\n @Input()\n showLoader: boolean = false;\n ProductModelarr: ProductModel[] = [];\n\n constructor(private router: Router, private route: ActivatedRoute, private toastr: ToastrService, private CommonService: CommonService, public dialog: MatDialog, private titleService: Title,\n private appConfigService : AppConfigService) { }\n\n ngOnInit(): void {\n const appConfig = this.appConfigService.getConfig();\n const dynamicTitle = this.route.snapshot.data['title'];\n this.titleService.setTitle(`${dynamicTitle} - ${appConfig.titleName}`);\n //this.titleService.setTitle(this.route.snapshot.data['title'] + \" - ECOTECH\");\n this.getAllProductSeries(this.route.snapshot.params[\"Seriesid\"]);\n this.GetProductModelById(this.route.snapshot.params[\"Seriesid\"]);\n }\n\n /*******************************************************************************\n * Get data for Product options\n * ******************************************************************************/\n getAllProductSeries(SeriesId: number) {\n this.showLoader = true;\n\n let queryString = \"\";\n queryString = \"Id=\" + SeriesId;\n\n this.CommonService.GetData(\"ProductSeries\", \"GetById\", queryString).subscribe((data: any) => {\n this.Optionsobj.SeriesName = data.SeriesName;\n this.Optionsobj.ProductSeries = data.Id;\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n\n GetProductModelById(SeriesId: number) {\n this.showLoader = true;\n let queryString = \"\";\n queryString = \"SeriesId=\" + SeriesId;\n this.CommonService.GetData(\"ProductModel\", \"GetProductModelById\", queryString).subscribe((data: any) => {\n this.ProductModelarr = data;\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n\n onIsPriceOnRequest(event: any) {\n if (event.checked) {\n this.Optionsobj.Price = 0;\n }\n }\n\n /*******************************************************************************\n * End get data for add product options\n * ******************************************************************************/\n\n /*******************************************************************************\n * Form validation method\n * ******************************************************************************/\n\n isNumberKey(evt: any) {\n this.charCode = (evt.which) ? evt.which : evt.keyCode;\n if (this.charCode != 46 && this.charCode > 31\n && (this.charCode < 48 || this.charCode > 57)) {\n return false;\n }\n else {\n return true;\n }\n }\n\n AvoidSpace(event: any) {\n if (event.which === 32 && !event.target.value.length) {\n event.preventDefault();\n }\n }\n\n\n /*******************************************************************************\n * End Form validation method \n * ******************************************************************************/\n\n onSubmit(myform: any) {\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Do you want to add this product option?\",\n }\n });\n\n dialogRef.afterClosed().subscribe(dialogResult => {\n\n if (dialogResult) {\n\n this.showLoader = true;\n\n this.CommonService.PostData('ProductOptions', 'Add', this.Optionsobj, null).subscribe((data: any) => {\n let result = data;\n\n if (result.ResponseCode == 1) {\n this.toastr.success('Product option added successfully!');\n this.router.navigate(['/Options', this.Optionsobj.ProductSeries]);\n this.showLoader = false;\n\n }\n else if (result.ResponseCode == 0) {\n this.toastr.warning('Product option already exists!');\n this.showLoader = false;\n }\n else {\n this.toastr.error('Failed to product option!');\n this.router.navigate(['/Options', this.Optionsobj.ProductSeries]);\n this.showLoader = false;\n }\n\n }, error => {\n this.toastr.error('Failed to add product option!');\n this.showLoader = false;\n this.router.navigate(['/Options', this.Optionsobj.ProductSeries]);\n });\n }\n });\n\n }\n}\n","\n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n Add Product Options\n

    \n
    \n
    \n\n
    \n
    \n * Marked fields are\n mandatory\n
    \n \n
    \n
    \n\n
    \n\n
    \n
    \n","import { Component, OnInit, Input } from '@angular/core';\nimport { ConfirmDialogComponent } from 'src/app/confirm-dialog/confirm-dialog.component';\nimport { MatDialog } from '@angular/material/dialog';\nimport { CommonService } from 'src/app/Service/common.service';\nimport { ToastrService } from 'ngx-toastr';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { Options, ProductModel } from 'src/app/Model/ProductModel';\nimport { AppGlobals } from 'src/app/app.global';\nimport { Title } from '@angular/platform-browser';\nimport { AccessPermissionService } from 'src/app/Service/access-permission.service';\nimport { AccessPermissionModel } from 'src/app/Model/WorkFlowScreenAccessModel';\nimport { AppConfigService } from 'src/app/Service/app-config.service';\n\n@Component({\n selector: 'app-edit-view-options',\n templateUrl: './edit-view-options.component.html',\n styleUrls: ['./edit-view-options.component.scss']\n})\nexport class EditViewOptionsComponent implements OnInit {\n isEditable: boolean = true;\n FormStatus: string = \"View\";\n Optionsobj: Options = new Options();\n charCode: any;\n ProductModelarr: ProductModel[] = [];\n UserRole: any;\n isProductOptionEditable: boolean = false;\n accesspermissionobj:AccessPermissionModel[]=Array();\n AccesspermissionForRole:any[]=[];\n\n @Input()\n showLoader: boolean = false;\n SelectedModel: any[] = [];\n constructor(private router: Router, private route: ActivatedRoute, private toastr: ToastrService, private CommonService: CommonService, public dialog: MatDialog, private titleService: Title,private accessservice: AccessPermissionService,\n private appConfigService : AppConfigService) { }\n\n ngOnInit(): void {\n const appConfig = this.appConfigService.getConfig();\n const dynamicTitle = this.route.snapshot.data['title'];\n this.titleService.setTitle(`${dynamicTitle} - ${appConfig.titleName}`);\n //this.titleService.setTitle(this.route.snapshot.data['title'] + \" - ECOTECH\");\n this.UserRole = localStorage.getItem(\"UserRole\");\n this.getAccess();\n // this.isProductOptionEditable = AppGlobals.ProductMastersEditableAccessArray.filter(x => x.role == this.UserRole)[0]?.isEditable;\n this.Optionsobj.Id = this.route.snapshot.params[\"id\"];\n this.getProductOptionsIdDetailsById(this.Optionsobj.Id);\n\n }\n /*******************************************************************************\n * Get data for add product model\n * ******************************************************************************/\n getProductOptionsIdDetailsById(ProductOptionsId: number) {\n this.showLoader = true;\n\n let queryString = \"\";\n queryString = \"id=\" + ProductOptionsId;\n\n this.CommonService.GetData('ProductOptions', 'GetById', queryString).subscribe((data: any) => {\n this.Optionsobj = data;\n\n if (this.Optionsobj.ProductModelArr != null) {\n this.SelectedModel = this.Optionsobj.ProductModelArr.map(item => item.toString());\n }\n\n this.GetProductModelById(this.Optionsobj.ProductSeries);\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n\n });\n\n }\n\n OnModelselected($event) {\n this.Optionsobj.ProductModelArr = [];\n }\n\n GetProductModelById(SeriesId: number) {\n this.showLoader = true;\n let queryString = \"\";\n queryString = \"SeriesId=\" + SeriesId;\n this.CommonService.GetData(\"ProductModel\", \"GetProductModelById\", queryString).subscribe((data: any) => {\n this.ProductModelarr = data;\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n\n /*******************************************************************************\n * End get data for add product model\n * ******************************************************************************/\n\n EditDetails() {\n this.isEditable = false;\n this.FormStatus = \"Edit\";\n const appConfig = this.appConfigService.getConfig();\n this.titleService.setTitle(`Edit Product Option - ${appConfig.titleName}`);\n //this.titleService.setTitle(\"Edit Product Option - ECOTECH\");\n }\n\n onIsPriceOnRequest(event: any) {\n if (event.checked) {\n this.Optionsobj.Price = 0;\n }\n }\n\n /*******************************************************************************\n * Form validation method\n * ******************************************************************************/\n\n isNumberKey(evt: any) {\n this.charCode = (evt.which) ? evt.which : evt.keyCode;\n if (this.charCode != 46 && this.charCode > 31\n && (this.charCode < 48 || this.charCode > 57)) {\n return false;\n }\n else {\n return true;\n }\n }\n\n AvoidSpace(event: any) {\n if (event.which === 32 && !event.target.value.length) {\n event.preventDefault();\n }\n }\n\n /*******************************************************************************\n * End Form validation method \n * ******************************************************************************/\n\n onSubmit(myform: any) {\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Do you want to update this product option?\"\n }\n });\n\n dialogRef.afterClosed().subscribe(dialogResult => {\n\n\n if (dialogResult) {\n this.showLoader = true;\n this.Optionsobj.ProductModelArr = [];\n for (var i = 0; i < this.SelectedModel.length; i++) {\n this.Optionsobj.ProductModelArr.push(this.SelectedModel[i]);\n }\n this.CommonService.PostData('ProductOptions', 'Update', this.Optionsobj, null).subscribe((data: any) => {\n let result = data;\n\n if (result.ResponseCode == 1) {\n this.toastr.success('Product option updated successfully!');\n this.router.navigate(['/Options', this.Optionsobj.ProductSeries]);\n this.showLoader = false;\n }\n else if (result.ResponseCode == 0) {\n this.toastr.warning('Product option already exists!');\n this.showLoader = false;\n }\n else {\n this.toastr.error('Failed to update product option!');\n this.router.navigate(['/Options', this.Optionsobj.ProductSeries]);\n this.showLoader = false;\n }\n\n\n }, error => {\n this.toastr.error('Failed to update product model!');\n this.showLoader = false;\n this.router.navigate(['/Options', this.Optionsobj.ProductSeries]);\n });\n }\n });\n }\n\n getAccess()\n {\n this.accessservice.GetAll().subscribe((data:any)=> {\n this.accesspermissionobj=data;\n this.isProductOptionEditable=this.accesspermissionobj.filter(x => x.Fk_RoleId == this.UserRole && x.ElementKey=='isProductLine')[0]?.IsEditable;\n \n });\n \n }\n}\n\n","\n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n {{FormStatus}} Product Options\n

    \n
    \n
    \n\n
    \n
    \n * Marked fields are\n mandatory\n
    \n \n
    \n
    \n\n
    \n\n
    \n
    \n","import { Component, OnInit, ViewChild, Input, Output, EventEmitter } from '@angular/core';\nimport { MatSort, Sort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { ToastrService } from 'ngx-toastr';\nimport { CommonService } from 'src/app/Service/common.service';\nimport { MatDialog } from '@angular/material/dialog';\nimport { ConfirmDialogComponent } from 'src/app/confirm-dialog/confirm-dialog.component';\nimport { Options, ProductSeries } from 'src/app/Model/ProductModel';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { AppGlobals } from 'src/app/app.global';\nimport { Title } from '@angular/platform-browser';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { AccessPermissionModel } from 'src/app/Model/WorkFlowScreenAccessModel';\nimport { AccessPermissionService } from 'src/app/Service/access-permission.service';\nimport { AppConfigService } from 'src/app/Service/app-config.service';\n\n@Component({\n selector: 'app-options-details',\n templateUrl: './options-details.component.html',\n styleUrls: ['./options-details.component.scss']\n})\nexport class OptionsDetailsComponent implements OnInit {\n displayedColumns: string[] = ['SeriesName', 'Option', 'ProductModelNameArr', 'Price', 'Action'];\n dataSource: MatTableDataSource;\n disabled: boolean = false;\n ProductSeriesId: number;\n UserRole: any;\n isProductOptionEditable: boolean = false;\n ProductSeriesobj: ProductSeries = new ProductSeries();\n VariantDrpdown: string = \"\";\n accesspermissionobj:AccessPermissionModel[]=Array();\n AccesspermissionForRole:any[]=[];\n /*************************************************************************\n Server side Pagination purpose\n *************************************************************************/\n pageNumber: number = 1;\n @Input() pageSize: number = 5;\n @Input() length: number;\n @Input() pageIndex: number = this.pageNumber - 1;\n direction: string = 'desc';\n ColumnName: string = 'ModifiedOn';\n SearchText: string = \"\";\n @Output('matSortChange') sortChange: EventEmitter;\n @ViewChild(MatPaginator) paginator: MatPaginator;\n /*************************************************************************\n End here\n *************************************************************************/\n\n showLoader: boolean;\n data: any[] = [];\n constructor(private toastr: ToastrService, private CommonService: CommonService, public dialog: MatDialog, private router: Router, private route: ActivatedRoute, private titleService: Title,private accessservice: AccessPermissionService,\n private appConfigService : AppConfigService) {\n this.router.routeReuseStrategy.shouldReuseRoute = () => false;\n }\n\n ngOnInit() {\n const appConfig = this.appConfigService.getConfig();\n const dynamicTitle = this.route.snapshot.data['title'];\n this.titleService.setTitle(`${dynamicTitle} - ${appConfig.titleName}`);\n //this.titleService.setTitle(this.route.snapshot.data['title'] + \" - ECOTECH\");\n this.UserRole = localStorage.getItem(\"UserRole\");\n this.getAccess();\n //this.isProductOptionEditable = AppGlobals.ProductMastersEditableAccessArray.filter(x => x.role == this.UserRole)[0]?.isEditable;\n this.route.params.subscribe(params => {\n this.ProductSeriesId = params['Seriesid'];\n this.pageSize = 5;\n this.pageNumber = 1;\n this.pageIndex = this.pageNumber - 1;\n this.length = 0;\n this.direction = 'desc';\n this.ColumnName = 'ModifiedOn';\n this.SearchText = \"\";\n this.VariantDrpdown = \"Options\";\n this.GetAllProductOptionsDetails();\n this.getAllProductSeries();\n });\n\n }\n\n /*************************************************************************\n * Below function used for Server side Pagination,Sorting and Searching\n * (1)GetAllProductOptionsDetails() - To get data for grid\n * (2)SearchParam() - searching\n * (3)sortData() - Sorting\n * (4)pageEvent() - Pagination\n * \n * ***********************************************************************/\n\n GetAllProductOptionsDetails() {\n this.showLoader = true;\n let queryString = \"\";\n queryString = \"pageNumber=\" + this.pageNumber;\n queryString += \"&pageSize=\" + this.pageSize;\n queryString += \"&searchText=\" + this.SearchText;\n queryString += \"&direction=\" + this.direction;\n queryString += \"&columnName=\" + this.ColumnName;\n queryString += \"&ProductSeriesId=\" + this.ProductSeriesId;\n this.CommonService.GetData('ProductOptions', 'GetAllPagination', queryString).subscribe((data: any) => {\n this.data = data.Data;\n this.length = data.Total;\n if (this.ColumnName == 'Price') {\n var IsPriceOnRequestList: Options[] = [];\n var IsNotPriceOnRequestList: Options[] = [];\n\n IsPriceOnRequestList = this.data.filter(x => x.IsPriceOnRequest == true);\n IsNotPriceOnRequestList = this.data.filter(x => x.IsPriceOnRequest != true);\n IsPriceOnRequestList = IsPriceOnRequestList.concat(IsNotPriceOnRequestList);\n this.dataSource = new MatTableDataSource(IsPriceOnRequestList);\n }\n else {\n this.dataSource = new MatTableDataSource(this.data);\n }\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n\n }\n\n\n\n SearchParam(event: any) {\n this.SearchText = event.target.value;\n this.pageNumber = 1;\n this.paginator.pageIndex = 0;\n this.GetAllProductOptionsDetails();\n }\n\n sortData(event: any) {\n if (this.dataSource.filteredData != null) {\n this.direction = event.direction;\n this.ColumnName = event.active;\n this.GetAllProductOptionsDetails();\n }\n }\n\n pageEvent(event: any) {\n window.scroll({\n top: 0,\n left: 0,\n behavior: 'smooth'\n });\n this.pageNumber = event.pageIndex + 1;\n this.pageSize = event.pageSize;\n this.GetAllProductOptionsDetails();\n }\n\n getAllProductSeries() {\n this.showLoader = true;\n\n let queryString = \"\";\n queryString = \"Id=\" + this.ProductSeriesId;\n\n this.CommonService.GetData(\"ProductSeries\", \"GetById\", queryString).subscribe((data: any) => {\n this.ProductSeriesobj = data;\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n /************************************************************************\n * Grid Code End \n * **********************************************************************/\n\n /*******************************************************************************\n * Form validation method\n * ******************************************************************************/\n\n AvoidSpace(event: any) {\n if (event.which === 32 && !event.target.value.length) {\n event.preventDefault();\n }\n }\n\n /*******************************************************************************\n * End Form validation method \n * ******************************************************************************/\n\n RedirectToVariant(event: any) {\n if (this.VariantDrpdown == 'ProductModel') {\n this.router.navigate(['/ProductModel', this.ProductSeriesobj.Id]);\n }\n else if (this.VariantDrpdown == 'Options') {\n this.router.navigate(['/Options', this.ProductSeriesobj.Id]);\n }\n else if (this.VariantDrpdown == 'Variant1') {\n this.router.navigate(['/VariantLevel1', this.ProductSeriesobj.Id, this.ProductSeriesobj.Label_Variant1]);\n }\n else if (this.VariantDrpdown == 'Variant2') {\n this.router.navigate(['/VariantLevel2', this.ProductSeriesobj.Id, this.ProductSeriesobj.Label_Variant1, this.ProductSeriesobj.Label_Variant2]);\n }\n else if (this.VariantDrpdown == 'Variant3') {\n this.router.navigate(['/VariantLevel3', this.ProductSeriesobj.Id, this.ProductSeriesobj.Label_Variant2, this.ProductSeriesobj.Label_Variant3]);\n }\n else if (this.VariantDrpdown == 'Variant4') {\n this.router.navigate(['/VariantLevel4', this.ProductSeriesobj.Id, this.ProductSeriesobj.Label_Variant3, this.ProductSeriesobj.Label_Variant4]);\n }\n }\n\n UpdateProductOptionsStatusById(Id: number, CurrentStatus: boolean) {\n\n if (CurrentStatus == true) {\n //Create ConfirmDialogRef \n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Do you want to deactivate this product option?\"\n }\n });\n // listen to response from ConfirmDialogRef\n dialogRef.afterClosed().subscribe(dialogResult => {\n // if user pressed yes dialogResult will be true, \n // if he pressed no - it will be false\n if (dialogResult) {\n this.pageNumber = 1;\n this.paginator.pageIndex = 0;\n this.length = 0;\n this.direction = 'desc';\n this.ColumnName = 'ModifiedOn';\n this.showLoader = true;\n\n let queryString = \"\";\n queryString = \"id=\" + Id;\n\n this.CommonService.PostData('ProductOptions', 'UpdateStatus', null, queryString).subscribe((data: any) => {\n this.showLoader = false;\n if (data.ResponseCode == 1) {\n this.toastr.success(\"Product option deactivated successfully!\");\n }\n else if (data.ResponseCode == 0) {\n this.toastr.warning(\"Failed to deactivate this product option because it has some dependency!\");\n }\n else {\n this.toastr.info(\"Failed to deactivate product option!\");\n }\n this.GetAllProductOptionsDetails();\n }, error => {\n this.toastr.error(\"Failed to deactivate product option!\");\n this.GetAllProductOptionsDetails();\n this.showLoader = false;\n });\n\n }\n else {\n this.GetAllProductOptionsDetails();\n this.showLoader = false;\n let element: HTMLElement = document.getElementsByClassName('slideToogle')[0] as HTMLElement;\n element.click();\n }\n });\n\n }\n else {\n //Create ConfirmDialogRef\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Do you want to activate this product option?\"\n }\n });\n // listen to response from ConfirmDialogRef\n dialogRef.afterClosed().subscribe(dialogResult => {\n // if user pressed yes dialogResult will be true, \n // if he pressed no - it will be false\n if (dialogResult) {\n this.pageNumber = 1;\n this.paginator.pageIndex = 0;\n this.length = 0;\n this.direction = 'desc';\n this.ColumnName = 'ModifiedOn';\n this.showLoader = true;\n\n let queryString = \"\";\n queryString = \"id=\" + Id;\n\n this.CommonService.PostData('ProductOptions', 'UpdateStatus', null, queryString).subscribe((data: any) => {\n this.showLoader = false;\n if (data.ResponseCode == 1) {\n this.toastr.success(\"Product option activated successfully!\");\n }\n else {\n this.toastr.info(\"Failed to activate product option!\");\n }\n this.GetAllProductOptionsDetails();\n }, error => {\n this.toastr.error(\"Failed to activate product option!\");\n this.GetAllProductOptionsDetails();\n this.showLoader = false;\n });\n\n }\n else {\n this.GetAllProductOptionsDetails();\n this.showLoader = false;\n let element: HTMLElement = document.getElementsByClassName('slideToogle')[0] as HTMLElement;\n element.click();\n }\n });\n }\n }\n\n getAccess()\n {\n this.accessservice.GetAll().subscribe((data:any)=> {\n this.accesspermissionobj=data;\n this.isProductOptionEditable=this.accesspermissionobj.filter(x => x.Fk_RoleId == this.UserRole && x.ElementKey=='isProductLine')[0]?.IsEditable;\n \n });\n \n }\n}\n\n\n","\n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n Product Options Listing\n

    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n {{ProductSeriesobj.SeriesName}}
    \n \n \n Product Model\n {{ProductSeriesobj.Label_Variant1}}\n \n {{ProductSeriesobj.Label_Variant2}}\n {{ProductSeriesobj.Label_Variant3}}\n {{ProductSeriesobj.Label_Variant4}}\n Product Options\n \n \n
    \n
    \n \n\n Search\n \n \n\n
    \n\n
    \n\n
    \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n\n \n \n\n
    Product Series {{row.SeriesName}} Product Model \n \n {{item}}{{i === row.ProductModelNameArr.length -1 ? '': ',' }}\n \n Product Options {{row.Option}} Price (€) {{row.IsPriceOnRequest ? 'Price\n on Request': row.Price |indianCurrency}} Action \n \n \n     \n\n \n   {{row.Status==true ? 'Active': 'Inactive'}}\n
    \n No records found
    \n\n \n \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n \n","import { Component, OnInit, Input } from '@angular/core';\nimport { ConfirmDialogComponent } from 'src/app/confirm-dialog/confirm-dialog.component';\nimport { MatDialog } from '@angular/material/dialog';\nimport { CommonService } from 'src/app/Service/common.service';\nimport { ToastrService } from 'ngx-toastr';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { ProductFamily } from 'src/app/Model/ProductModel';\nimport { Title } from '@angular/platform-browser';\nimport { AppConfigService } from 'src/app/Service/app-config.service';\n\n\n@Component({\n selector: 'app-add-product-family',\n templateUrl: './add-product-family.component.html',\n styleUrls: ['./add-product-family.component.scss']\n})\nexport class AddProductFamilyComponent implements OnInit {\n ProductFamilyobj: ProductFamily = new ProductFamily();\n charCode: any;\n @Input()\n showLoader: boolean = false;\n ProductLine: any[] = [];\n constructor(private router: Router, private toastr: ToastrService, private CommonService: CommonService, public dialog: MatDialog, private titleService: Title, private route: ActivatedRoute,\n private appConfigService : AppConfigService) { }\n\n ngOnInit(): void {\n const appConfig = this.appConfigService.getConfig();\n const dynamicTitle = this.route.snapshot.data['title'];\n this.titleService.setTitle(`${dynamicTitle} - ${appConfig.titleName}`);\n //this.titleService.setTitle(this.route.snapshot.data['title'] + \" - ECOTECH\");\n this.getAllProductLine();\n }\n\n /*******************************************************************************\n * Get data for add product family\n * ******************************************************************************/\n getAllProductLine() {\n this.showLoader = true;\n this.CommonService.GetData(\"ProductLine\", \"GetAll\", null).subscribe((data: any) => {\n this.ProductLine = data;\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n /*******************************************************************************\n * End get data for add product family\n * ******************************************************************************/\n\n /*******************************************************************************\n * Form validation method\n * ******************************************************************************/\n\n isNumberKey(evt: any) {\n this.charCode = (evt.which) ? evt.which : evt.keyCode;\n if (this.charCode != 46 && this.charCode > 31\n && (this.charCode < 48 || this.charCode > 57)) {\n return false;\n }\n else {\n return true;\n }\n }\n\n AvoidSpace(event: any) {\n if (event.which === 32 && !event.target.value.length) {\n event.preventDefault();\n }\n }\n\n /*******************************************************************************\n * End Form validation method \n * ******************************************************************************/\n\n onSubmit(myform: any) {\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Do you want to add this product family?\"\n }\n });\n\n dialogRef.afterClosed().subscribe(dialogResult => {\n\n if (dialogResult) {\n\n this.showLoader = true;\n this.CommonService.PostData('ProductFamily', 'Add', this.ProductFamilyobj, null).subscribe((data: any) => {\n let result = data;\n\n if (result.ResponseCode == 1) {\n this.toastr.success('Product family added successfully!');\n this.router.navigate(['/ProductFamily']);\n this.showLoader = false;\n }\n else if (result.ResponseCode == 0) {\n this.toastr.warning('Product family already exists!');\n this.showLoader = false;\n }\n else {\n this.toastr.error('Failed to add product family!');\n this.router.navigate(['/ProductFamily']);\n this.showLoader = false;\n }\n\n }, error => {\n this.toastr.error('Failed to add product family!');\n this.showLoader = false;\n this.router.navigate(['/ProductFamily']);\n });\n }\n });\n\n }\n\n}\n","\n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n Add Product Family\n

    \n
    \n
    \n\n
    \n
    \n * Marked fields are\n mandatory\n
    \n \n
    \n
    \n\n
    \n\n
    \n
    \n","import { Component, OnInit, Input } from '@angular/core';\nimport { ConfirmDialogComponent } from 'src/app/confirm-dialog/confirm-dialog.component';\nimport { MatDialog } from '@angular/material/dialog';\nimport { CommonService } from 'src/app/Service/common.service';\nimport { ToastrService } from 'ngx-toastr';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { ProductFamily } from 'src/app/Model/ProductModel';\nimport { AppGlobals } from 'src/app/app.global';\nimport { Title } from '@angular/platform-browser';\nimport { AccessPermissionModel } from 'src/app/Model/WorkFlowScreenAccessModel';\nimport { AccessPermissionService } from 'src/app/Service/access-permission.service';\nimport { AppConfigService } from 'src/app/Service/app-config.service';\n\n@Component({\n selector: 'app-edit-view-product-family',\n templateUrl: './edit-view-product-family.component.html',\n styleUrls: ['./edit-view-product-family.component.scss']\n})\nexport class EditViewProductFamilyComponent implements OnInit {\n isEditable: boolean = true;\n FormStatus: string = \"View\";\n ProductFamilyobj: ProductFamily = new ProductFamily();\n charCode: any;\n ProductLine: any[] = [];\n UserRole: any;\n isProductFamilyEditable: boolean = false;\n accesspermissionobj:AccessPermissionModel[]=Array();\n AccesspermissionForRole:any[]=[];\n\n @Input()\n showLoader: boolean = false;\n constructor(private router: Router, private route: ActivatedRoute, private toastr: ToastrService, private CommonService: CommonService, public dialog: MatDialog, private titleService: Title,private accessservice: AccessPermissionService,\n private appConfigService : AppConfigService) { }\n\n ngOnInit(): void {\n const appConfig = this.appConfigService.getConfig();\n const dynamicTitle = this.route.snapshot.data['title'];\n this.titleService.setTitle(`${dynamicTitle} - ${appConfig.titleName}`);\n //this.titleService.setTitle(this.route.snapshot.data['title'] + \" - ECOTECH\");\n this.UserRole = localStorage.getItem(\"UserRole\");\n this.getAccess();\n //this.isProductFamilyEditable = AppGlobals.ProductMastersEditableAccessArray.filter(x => x.role == this.UserRole)[0]?.isEditable;\n this.ProductFamilyobj.Id = this.route.snapshot.params[\"id\"];\n this.getProductFamilyIdDetailsById(this.ProductFamilyobj.Id);\n this.getAllProductLine();\n }\n /*******************************************************************************\n * Get data for add product family\n * ******************************************************************************/\n getProductFamilyIdDetailsById(ProductFamilyId: number) {\n this.showLoader = true;\n\n let queryString = \"\";\n queryString = \"id=\" + ProductFamilyId;\n\n this.CommonService.GetData('ProductFamily', 'GetById', queryString).subscribe((data: any) => {\n this.ProductFamilyobj = data;\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n\n });\n\n }\n\n getAllProductLine() {\n this.showLoader = true;\n this.CommonService.GetData(\"ProductLine\", \"GetAll\", null).subscribe((data: any) => {\n this.ProductLine = data;\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n /*******************************************************************************\n * End get data for add product family\n * ******************************************************************************/\n\n EditDetails() {\n this.isEditable = false;\n this.FormStatus = \"Edit\";\n const appConfig = this.appConfigService.getConfig();\n this.titleService.setTitle(`Edit Product Family - ${appConfig.titleName}`);\n //this.titleService.setTitle(\"Edit Product Family - ECOTECH\");\n }\n\n /*******************************************************************************\n * Form validation method\n * ******************************************************************************/\n\n isNumberKey(evt: any) {\n this.charCode = (evt.which) ? evt.which : evt.keyCode;\n if (this.charCode != 46 && this.charCode > 31\n && (this.charCode < 48 || this.charCode > 57)) {\n return false;\n }\n else {\n return true;\n }\n }\n\n AvoidSpace(event: any) {\n if (event.which === 32 && !event.target.value.length) {\n event.preventDefault();\n }\n }\n\n /*******************************************************************************\n * End Form validation method \n * ******************************************************************************/\n\n onSubmit(myform: any) {\n\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Do you want to update this product family?\"\n }\n });\n\n dialogRef.afterClosed().subscribe(dialogResult => {\n\n if (dialogResult) {\n this.showLoader = true;\n this.CommonService.PostData('ProductFamily', 'Update', this.ProductFamilyobj, null).subscribe((data: any) => {\n let result = data;\n\n if (result.ResponseCode == 1) {\n this.toastr.success('Product family updated successfully!');\n this.router.navigate(['/ProductFamily']);\n this.showLoader = false;\n\n }\n else if (result.ResponseCode == 0) {\n this.toastr.warning('Product family already exists!');\n this.showLoader = false;\n }\n\n else {\n this.toastr.error('Failed to update product family!');\n this.router.navigate(['/ProductFamily']);\n this.showLoader = false;\n }\n\n\n }, error => {\n this.toastr.error('Failed to update product family!');\n this.showLoader = false;\n this.router.navigate(['/ProductFamily']);\n });\n }\n });\n }\n\n getAccess()\n {\n this.accessservice.GetAll().subscribe((data:any)=> {\n this.accesspermissionobj=data;\n this.isProductFamilyEditable=this.accesspermissionobj.filter(x => x.Fk_RoleId == this.UserRole && x.ElementKey=='isProductLine')[0]?.IsEditable;\n \n });\n \n }\n}\n","\n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n {{FormStatus}} Product Family\n

    \n
    \n
    \n\n
    \n
    \n * Marked fields are\n mandatory\n
    \n \n
    \n
    \n\n
    \n\n
    \n
    \n","import { Component, OnInit, ViewChild, Input, Output, EventEmitter } from '@angular/core';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort, Sort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { ToastrService } from 'ngx-toastr';\nimport { CommonService } from 'src/app/Service/common.service';\nimport { MatDialog } from '@angular/material/dialog';\nimport { ConfirmDialogComponent } from 'src/app/confirm-dialog/confirm-dialog.component';\nimport { ProductFamily } from 'src/app/Model/ProductModel';\nimport { AppGlobals } from 'src/app/app.global';\nimport { Title } from '@angular/platform-browser';\nimport { ActivatedRoute } from '@angular/router';\nimport { AccessPermissionModel } from 'src/app/Model/WorkFlowScreenAccessModel';\nimport { AccessPermissionService } from 'src/app/Service/access-permission.service';\nimport { AppConfigService } from 'src/app/Service/app-config.service';\n\n@Component({\n selector: 'app-product-family-details',\n templateUrl: './product-family-details.component.html',\n styleUrls: ['./product-family-details.component.scss']\n})\nexport class ProductFamilyDetailsComponent implements OnInit {\n displayedColumns: string[] = ['ProductLineName', 'ProductFamilyName', 'Action'];\n dataSource: MatTableDataSource;\n disabled: boolean = false;\n UserRole: any;\n isProductFamilyEditable: boolean = false;\n accesspermissionobj:AccessPermissionModel[]=Array();\n AccesspermissionForRole:any[]=[];\n\n\n /*************************************************************************\n Server side Pagination purpose\n *************************************************************************/\n pageNumber: number = 1;\n @Input() pageSize: number = 5;\n @Input() length: number;\n @Input() pageIndex: number = this.pageNumber - 1;\n direction: string = 'desc';\n ColumnName: string = 'ModifiedOn';\n SearchText: string = \"\";\n @Output('matSortChange') sortChange: EventEmitter;\n @ViewChild(MatPaginator) paginator: MatPaginator;\n /*************************************************************************\n End here\n *************************************************************************/\n\n showLoader: boolean;\n data: any[] = [];\n constructor(private toastr: ToastrService, private CommonService: CommonService, public dialog: MatDialog, private titleService: Title, private route: ActivatedRoute,private accessservice: AccessPermissionService,\n private appConfigService : AppConfigService) {\n }\n\n ngOnInit() {\n const appConfig = this.appConfigService.getConfig();\n const dynamicTitle = this.route.snapshot.data['title'];\n this.titleService.setTitle(`${dynamicTitle} - ${appConfig.titleName}`);\n // this.titleService.setTitle(this.route.snapshot.data['title'] + \" - ECOTECH\");\n this.GetAllProductFamilyDetails();\n this.UserRole = localStorage.getItem(\"UserRole\");\n this.getAccess();\n //this.isProductFamilyEditable = AppGlobals.ProductMastersEditableAccessArray.filter(x => x.role == this.UserRole)[0]?.isEditable;\n }\n\n /*************************************************************************\n * Below function used for Server side Pagination,Sorting and Searching\n * (1)GetAllProductFamilyDetails() - To get data for grid\n * (2)SearchParam() - searching\n * (3)sortData() - Sorting\n * (4)pageEvent() - Pagination\n * \n * ***********************************************************************/\n\n GetAllProductFamilyDetails() {\n this.showLoader = true;\n let queryString = \"\";\n queryString = \"pageNumber=\" + this.pageNumber;\n queryString += \"&pageSize=\" + this.pageSize;\n queryString += \"&searchText=\" + this.SearchText;\n queryString += \"&direction=\" + this.direction;\n queryString += \"&columnName=\" + this.ColumnName;\n\n this.CommonService.GetData('ProductFamily', 'GetAllPagination', queryString).subscribe((data: any) => {\n this.data = data.Data;\n this.length = data.Total;\n this.dataSource = new MatTableDataSource(this.data);\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n\n }\n\n SearchParam(event: any) {\n this.SearchText = event.target.value;\n this.pageNumber = 1;\n this.paginator.pageIndex = 0;\n this.GetAllProductFamilyDetails();\n }\n\n sortData(event: any) {\n if (this.dataSource.filteredData != null) {\n this.direction = event.direction;\n this.ColumnName = event.active;\n this.GetAllProductFamilyDetails();\n }\n }\n\n pageEvent(event: any) {\n window.scroll({\n top: 0,\n left: 0,\n behavior: 'smooth'\n });\n this.pageNumber = event.pageIndex + 1;\n this.pageSize = event.pageSize;\n this.GetAllProductFamilyDetails();\n }\n /************************************************************************\n * Grid Code End \n * **********************************************************************/\n\n /*******************************************************************************\n * Form validation method\n * ******************************************************************************/\n\n AvoidSpace(event: any) {\n if (event.which === 32 && !event.target.value.length) {\n event.preventDefault();\n }\n }\n\n /*******************************************************************************\n * End Form validation method \n * ******************************************************************************/\n\n UpdateProductFamilyStatusById(Id: number, CurrentStatus: boolean) {\n\n if (CurrentStatus == true) {\n //Create ConfirmDialogRef \n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Do you want to deactivate this product family?\"\n }\n });\n // listen to response from ConfirmDialogRef\n dialogRef.afterClosed().subscribe(dialogResult => {\n // if user pressed yes dialogResult will be true, \n // if he pressed no - it will be false\n if (dialogResult) {\n this.pageNumber = 1;\n this.paginator.pageIndex = 0;\n this.length = 0;\n this.direction = 'desc';\n this.ColumnName = 'ModifiedOn';\n this.showLoader = true;\n\n let queryString = \"\";\n queryString = \"id=\" + Id;\n\n this.CommonService.PostData('ProductFamily', 'UpdateStatus', null, queryString).subscribe((data: any) => {\n this.showLoader = false;\n if (data.ResponseCode == 1) {\n this.toastr.success(\"Product family deactivated successfully!\");\n }\n else if (data.ResponseCode == 0) {\n this.toastr.warning(\"Failed to deactivate this product family because it has some dependency!\");\n }\n else {\n this.toastr.info(\"Failed to deactivate product family!\");\n }\n this.GetAllProductFamilyDetails();\n }, error => {\n this.toastr.error(\"Failed to deactivate product family!\");\n this.GetAllProductFamilyDetails();\n this.showLoader = false;\n });\n\n }\n else {\n this.GetAllProductFamilyDetails();\n this.showLoader = false;\n let element: HTMLElement = document.getElementsByClassName('slideToogle')[0] as HTMLElement;\n element.click();\n }\n });\n\n }\n else {\n //Create ConfirmDialogRef\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Do you want to activate this product family?\"\n }\n });\n // listen to response from ConfirmDialogRef\n dialogRef.afterClosed().subscribe(dialogResult => {\n // if user pressed yes dialogResult will be true, \n // if he pressed no - it will be false\n if (dialogResult) {\n this.pageNumber = 1;\n this.paginator.pageIndex = 0;\n this.length = 0;\n this.direction = 'desc';\n this.ColumnName = 'ModifiedOn';\n this.showLoader = true;\n\n let queryString = \"\";\n queryString = \"id=\" + Id;\n\n this.CommonService.PostData('ProductFamily', 'UpdateStatus', null, queryString).subscribe((data: any) => {\n this.showLoader = false;\n if (data.ResponseCode == 1) {\n this.toastr.success(\"Product family activated successfully!\");\n }\n else {\n this.toastr.info(\"Failed to activate product family!\");\n }\n this.GetAllProductFamilyDetails();\n }, error => {\n this.toastr.error(\"Failed to activate product family!\");\n this.GetAllProductFamilyDetails();\n this.showLoader = false;\n });\n\n }\n else {\n this.GetAllProductFamilyDetails();\n this.showLoader = false;\n let element: HTMLElement = document.getElementsByClassName('slideToogle')[0] as HTMLElement;\n element.click();\n }\n });\n }\n }\n\n getAccess()\n {\n this.accessservice.GetAll().subscribe((data:any)=> {\n this.accesspermissionobj=data;\n this.isProductFamilyEditable=this.accesspermissionobj.filter(x => x.Fk_RoleId == this.UserRole && x.ElementKey=='isProductLine')[0]?.IsEditable;\n \n });\n \n }\n}\n\n","\n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n Product Family Listing\n

    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n\n Search\n \n \n\n
    \n\n
    \n\n
    \n \n\n \n \n \n \n \n \n \n \n\n \n \n \n \n\n \n \n\n
    Product Line {{row.ProductLineName}} Product Family {{row.ProductFamilyName}} Action \n \n \n     \n\n \n   {{row.Status==true ? 'Active': 'Inactive'}}\n
    \n No records found
    \n\n \n \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n \n","import { Component, OnInit, Input } from '@angular/core';\nimport { ConfirmDialogComponent } from 'src/app/confirm-dialog/confirm-dialog.component';\nimport { MatDialog } from '@angular/material/dialog';\nimport { CommonService } from 'src/app/Service/common.service';\nimport { ToastrService } from 'ngx-toastr';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { ProductLine } from 'src/app/Model/ProductModel';\nimport { Title } from '@angular/platform-browser';\nimport { AppConfigService } from 'src/app/Service/app-config.service';\n\n@Component({\n selector: 'app-add-product-line',\n templateUrl: './add-product-line.component.html',\n styleUrls: ['./add-product-line.component.scss']\n})\nexport class AddProductLineComponent implements OnInit {\n ProductLineobj: ProductLine = new ProductLine();\n charCode: any;\n @Input()\n showLoader: boolean = false;\n constructor(private router: Router, private toastr: ToastrService, private CommonService: CommonService, public dialog: MatDialog, private route: ActivatedRoute, private titleService: Title,\n private appConfigService : AppConfigService) { }\n\n ngOnInit(): void {\n const appConfig = this.appConfigService.getConfig();\n const dynamicTitle = this.route.snapshot.data['title'];\n this.titleService.setTitle(`${dynamicTitle} - ${appConfig.titleName}`);\n // this.titleService.setTitle(this.route.snapshot.data['title'] + \" - ECOTECH\");\n }\n\n\n /*******************************************************************************\n * Form validation method\n * ******************************************************************************/\n\n isNumberKey(evt: any) {\n this.charCode = (evt.which) ? evt.which : evt.keyCode;\n if (this.charCode != 46 && this.charCode > 31\n && (this.charCode < 48 || this.charCode > 57)) {\n return false;\n }\n else {\n return true;\n }\n }\n\n AvoidSpace(event: any) {\n if (event.which === 32 && !event.target.value.length) {\n event.preventDefault();\n }\n }\n\n /*******************************************************************************\n * End Form validation method \n * ******************************************************************************/\n\n onSubmit(myform: any) {\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Do you want to add this product line?\"\n }\n });\n\n dialogRef.afterClosed().subscribe(dialogResult => {\n\n if (dialogResult) {\n\n this.showLoader = true;\n this.CommonService.PostData('ProductLine', 'Add', this.ProductLineobj, null).subscribe((data: any) => {\n let result = data;\n if (result.ResponseCode == 1) {\n this.toastr.success('Product line added successfully!');\n this.router.navigate(['/ProductLine']);\n this.showLoader = false;\n }\n else if (result.ResponseCode == 0) {\n this.toastr.warning('Product line already exists!');\n this.showLoader = false;\n }\n else {\n this.toastr.error('Failed to add product line!');\n this.router.navigate(['/ProductLine']);\n this.showLoader = false;\n }\n\n }, error => {\n this.toastr.error('Failed to add product line!');\n this.showLoader = false;\n this.router.navigate(['/ProductLine']);\n });\n }\n });\n\n }\n\n}\n","\n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n Add Product Line\n

    \n
    \n
    \n\n
    \n
    \n * Marked fields are\n mandatory\n
    \n \n
    \n
    \n\n
    \n\n
    \n
    \n","import { Component, OnInit, Input } from '@angular/core';\nimport { SingleFieldModel } from 'src/app/Model/SingleFieldModel';\nimport { ConfirmDialogComponent } from 'src/app/confirm-dialog/confirm-dialog.component';\nimport { MatDialog } from '@angular/material/dialog';\nimport { CommonService } from 'src/app/Service/common.service';\nimport { ToastrService } from 'ngx-toastr';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { ProductLine } from 'src/app/Model/ProductModel';\nimport { AppGlobals } from 'src/app/app.global';\nimport { Title } from '@angular/platform-browser';\nimport { AccessPermissionModel } from 'src/app/Model/WorkFlowScreenAccessModel';\nimport { AccessPermissionService } from 'src/app/Service/access-permission.service';\nimport { AppConfigService } from 'src/app/Service/app-config.service';\n\n@Component({\n selector: 'app-edit-view-product-line',\n templateUrl: './edit-view-product-line.component.html',\n styleUrls: ['./edit-view-product-line.component.scss']\n})\nexport class EditViewProductLineComponent implements OnInit {\n isEditable: boolean = true;\n FormStatus: string = \"View\";\n ProductLineobj: ProductLine = new ProductLine();\n charCode: any;\n UserRole: any;\n isProductLineEditable: boolean = false;\n accesspermissionobj:AccessPermissionModel[]=Array();\n AccesspermissionForRole:any[]=[];\n\n @Input()\n showLoader: boolean = false;\n constructor(private router: Router, private route: ActivatedRoute, private toastr: ToastrService, private CommonService: CommonService, public dialog: MatDialog, private titleService: Title,private accessservice: AccessPermissionService,\n private appConfigService : AppConfigService) { }\n\n ngOnInit(): void {\n const appConfig = this.appConfigService.getConfig();\n const dynamicTitle = this.route.snapshot.data['title'];\n this.titleService.setTitle(`${dynamicTitle} - ${appConfig.titleName}`);\n // this.titleService.setTitle(this.route.snapshot.data['title'] + \" - ECOTECH\");\n this.UserRole = localStorage.getItem(\"UserRole\");\n this.getAccess();\n //this.isProductLineEditable = AppGlobals.ProductMastersEditableAccessArray.filter(x => x.role == this.UserRole)[0]?.isEditable;\n this.ProductLineobj.Id = this.route.snapshot.params[\"id\"];\n this.getProductLineIdDetailsById(this.ProductLineobj.Id);\n }\n\n getProductLineIdDetailsById(ProductLineId: number) {\n this.showLoader = true;\n\n let queryString = \"\";\n queryString = \"id=\" + ProductLineId;\n\n this.CommonService.GetData('ProductLine', 'GetById', queryString).subscribe((data: any) => {\n this.ProductLineobj = data;\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n\n });\n\n }\n\n EditDetails() {\n this.isEditable = false;\n this.FormStatus = \"Edit\";\n const appConfig = this.appConfigService.getConfig();\n this.titleService.setTitle(`Edit Product Line - ${appConfig.titleName}`);\n // this.titleService.setTitle(\"Edit Product Line - ECOTECH\");\n }\n\n\n /*******************************************************************************\n * Form validation method\n * ******************************************************************************/\n\n isNumberKey(evt: any) {\n this.charCode = (evt.which) ? evt.which : evt.keyCode;\n if (this.charCode != 46 && this.charCode > 31\n && (this.charCode < 48 || this.charCode > 57)) {\n return false;\n }\n else {\n return true;\n }\n }\n\n AvoidSpace(event: any) {\n if (event.which === 32 && !event.target.value.length) {\n event.preventDefault();\n }\n }\n\n /*******************************************************************************\n * End Form validation method \n * ******************************************************************************/\n\n onSubmit(myform: any) {\n\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Do you want to update this product line?\"\n }\n });\n\n dialogRef.afterClosed().subscribe(dialogResult => {\n\n if (dialogResult) {\n this.showLoader = true;\n this.CommonService.PostData('ProductLine', 'Update', this.ProductLineobj, null).subscribe((data: any) => {\n let result = data;\n\n if (result.ResponseCode == 1) {\n this.toastr.success('Product line updated successfully!');\n this.router.navigate(['/ProductLine']);\n this.showLoader = false;\n }\n else if (result.ResponseCode == 0) {\n this.toastr.warning('Product line already exists!');\n this.showLoader = false;\n }\n else {\n this.toastr.error('Failed to update product line!');\n this.router.navigate(['/ProductLine']);\n this.showLoader = false;\n }\n\n\n }, error => {\n this.toastr.error('Failed to update product line!');\n this.showLoader = false;\n this.router.navigate(['/ProductLine']);\n });\n }\n });\n }\n\n getAccess()\n {\n this.accessservice.GetAll().subscribe((data:any)=> {\n this.accesspermissionobj=data;\n this.isProductLineEditable=this.accesspermissionobj.filter(x => x.Fk_RoleId == this.UserRole && x.ElementKey=='isProductLine')[0]?.IsEditable;\n \n });\n \n }\n}\n","\n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n {{FormStatus}} Product Line\n

    \n
    \n
    \n\n
    \n
    \n * Marked fields are\n mandatory\n
    \n \n
    \n
    \n\n
    \n\n
    \n
    \n","import { Component, OnInit, ViewChild, Input, Output, EventEmitter } from '@angular/core';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort, Sort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { SingleFieldModel } from 'src/app/Model/SingleFieldModel';\nimport { UpdateStatus } from 'src/app/Model/CommonModel';\nimport { ToastrService } from 'ngx-toastr';\nimport { CommonService } from 'src/app/Service/common.service';\nimport { MatDialog } from '@angular/material/dialog';\nimport { ConfirmDialogComponent } from 'src/app/confirm-dialog/confirm-dialog.component';\nimport { ProductLine } from 'src/app/Model/ProductModel';\nimport { AppGlobals } from 'src/app/app.global';\nimport { Title } from '@angular/platform-browser';\nimport { ActivatedRoute } from '@angular/router';\nimport { AccessPermissionService } from 'src/app/Service/access-permission.service';\nimport { AccessPermissionModel } from 'src/app/Model/WorkFlowScreenAccessModel';\nimport { AppConfigService } from 'src/app/Service/app-config.service';\n\n@Component({\n selector: 'app-product-line-details',\n templateUrl: './product-line-details.component.html',\n styleUrls: ['./product-line-details.component.scss']\n})\nexport class ProductLineDetailsComponent implements OnInit {\n displayedColumns: string[] = ['Name', 'Action'];\n dataSource: MatTableDataSource;\n disabled: boolean = false;\n UserRole: any;\n isProductLineEditable: boolean = false;\n accesspermissionobj:AccessPermissionModel[]=Array();\n AccesspermissionForRole:any[]=[];\n\n /*************************************************************************\n Server side Pagination purpose\n *************************************************************************/\n pageNumber: number = 1;\n @Input() pageSize: number = 5;\n @Input() length: number;\n @Input() pageIndex: number = this.pageNumber - 1;\n direction: string = 'desc';\n ColumnName: string = 'ModifiedOn';\n SearchText: string = \"\";\n @Output('matSortChange') sortChange: EventEmitter;\n @ViewChild(MatPaginator) paginator: MatPaginator;\n /*************************************************************************\n End here\n *************************************************************************/\n\n showLoader: boolean;\n data: any[] = [];\n constructor(private toastr: ToastrService, private CommonService: CommonService, public dialog: MatDialog, private titleService: Title, private route: ActivatedRoute,private accessservice: AccessPermissionService,\n private appConfigService : AppConfigService) {\n }\n\n ngOnInit() {\n const appConfig = this.appConfigService.getConfig();\n const dynamicTitle = this.route.snapshot.data['title'];\n this.titleService.setTitle(`${dynamicTitle} - ${appConfig.titleName}`);\n // this.titleService.setTitle(this.route.snapshot.data['title'] + \" - ECOTECH\");\n this.UserRole = localStorage.getItem(\"UserRole\");\n this.getAccess();\n // this.isProductLineEditable = AppGlobals.ProductMastersEditableAccessArray.filter(x => x.role == this.UserRole)[0]?.isEditable;\n\n this.GetAllProductLineDetails();\n }\n\n /*************************************************************************\n * Below function used for Server side Pagination,Sorting and Searching\n * (1)GetAllProductLineDetails() - To get data for grid\n * (2)SearchParam() - searching\n * (3)sortData() - Sorting\n * (4)pageEvent() - Pagination\n * \n * ***********************************************************************/\n\n GetAllProductLineDetails() {\n this.showLoader = true;\n let queryString = \"\";\n queryString = \"pageNumber=\" + this.pageNumber;\n queryString += \"&pageSize=\" + this.pageSize;\n queryString += \"&searchText=\" + this.SearchText;\n queryString += \"&direction=\" + this.direction;\n queryString += \"&columnName=\" + this.ColumnName;\n\n this.CommonService.GetData('ProductLine', 'GetAllPagination', queryString).subscribe((data: any) => {\n this.data = data.Data;\n this.length = data.Total;\n this.dataSource = new MatTableDataSource(this.data);\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n\n }\n\n SearchParam(event: any) {\n this.SearchText = event.target.value;\n this.pageNumber = 1;\n this.paginator.pageIndex = 0;\n this.GetAllProductLineDetails();\n }\n\n sortData(event: any) {\n if (this.dataSource.filteredData != null) {\n this.direction = event.direction;\n this.ColumnName = event.active;\n this.GetAllProductLineDetails();\n }\n }\n\n pageEvent(event: any) {\n window.scroll({\n top: 0,\n left: 0,\n behavior: 'smooth'\n });\n this.pageNumber = event.pageIndex + 1;\n this.pageSize = event.pageSize;\n this.GetAllProductLineDetails();\n }\n /************************************************************************\n * Grid Code End \n * **********************************************************************/\n\n /*******************************************************************************\n * Form validation method\n * ******************************************************************************/\n\n AvoidSpace(event: any) {\n if (event.which === 32 && !event.target.value.length) {\n event.preventDefault();\n }\n }\n\n /*******************************************************************************\n * End Form validation method \n * ******************************************************************************/\n\n\n\n UpdateProductLineStatusById(Id: number, CurrentStatus: boolean) {\n\n if (CurrentStatus == true) {\n //Create ConfirmDialogRef \n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Do you want to deactivate this product line?\"\n }\n });\n // listen to response from ConfirmDialogRef\n dialogRef.afterClosed().subscribe(dialogResult => {\n // if user pressed yes dialogResult will be true, \n // if he pressed no - it will be false\n if (dialogResult) {\n this.pageNumber = 1;\n this.paginator.pageIndex = 0;\n this.length = 0;\n this.direction = 'desc';\n this.ColumnName = 'ModifiedOn';\n this.showLoader = true;\n\n let queryString = \"\";\n queryString = \"id=\" + Id;\n\n this.CommonService.PostData('ProductLine', 'UpdateStatus', null, queryString).subscribe((data: any) => {\n this.showLoader = false;\n if (data.ResponseCode == 1) {\n this.toastr.success(\"Product line deactivated successfully!\");\n }\n else if (data.ResponseCode == 0) {\n this.toastr.warning(\"Failed to deactivate this product line because it has some dependency!\");\n }\n else {\n this.toastr.info(\"Failed to deactivate product line!\");\n }\n this.GetAllProductLineDetails();\n }, error => {\n this.toastr.error(\"Failed to deactivate product line!\");\n this.GetAllProductLineDetails();\n this.showLoader = false;\n });\n\n }\n else {\n this.GetAllProductLineDetails();\n this.showLoader = false;\n let element: HTMLElement = document.getElementsByClassName('slideToogle')[0] as HTMLElement;\n element.click();\n }\n });\n\n }\n else {\n //Create ConfirmDialogRef\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Do you want to activate this product line?\"\n }\n });\n // listen to response from ConfirmDialogRef\n dialogRef.afterClosed().subscribe(dialogResult => {\n // if user pressed yes dialogResult will be true, \n // if he pressed no - it will be false\n if (dialogResult) {\n this.pageNumber = 1;\n this.paginator.pageIndex = 0;\n this.length = 0;\n this.direction = 'desc';\n this.ColumnName = 'ModifiedOn';\n this.showLoader = true;\n\n let queryString = \"\";\n queryString = \"id=\" + Id;\n\n this.CommonService.PostData('ProductLine', 'UpdateStatus', null, queryString).subscribe((data: any) => {\n this.showLoader = false;\n if (data.ResponseCode == 1) {\n this.toastr.success(\"Product line activated successfully!\");\n }\n else {\n this.toastr.info(\"Failed to activate product line!\");\n }\n this.GetAllProductLineDetails();\n }, error => {\n this.toastr.error(\"Failed to activate product line!\");\n this.GetAllProductLineDetails();\n this.showLoader = false;\n });\n\n }\n else {\n this.GetAllProductLineDetails();\n this.showLoader = false;\n let element: HTMLElement = document.getElementsByClassName('slideToogle')[0] as HTMLElement;\n element.click();\n }\n });\n }\n }\n\n getAccess()\n {\n this.accessservice.GetAll().subscribe((data:any)=> {\n this.accesspermissionobj=data;\n this.isProductLineEditable=this.accesspermissionobj.filter(x => x.Fk_RoleId == this.UserRole && x.ElementKey=='isProductLine')[0]?.IsEditable;\n \n });\n \n }\n}\n\n","\n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n Product Line Listing\n

    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n\n Search\n \n \n\n
    \n\n
    \n\n
    \n \n\n \n \n \n \n\n \n \n \n \n\n\n \n \n\n\n
    Product Line {{row.Name}} Action \n \n \n     \n\n \n   {{row.Status==true ? 'Active': 'Inactive'}}\n
    \n No records found
    \n\n \n \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n \n","import { Component, OnInit, Input } from '@angular/core';\nimport { ConfirmDialogComponent } from 'src/app/confirm-dialog/confirm-dialog.component';\nimport { MatDialog } from '@angular/material/dialog';\nimport { CommonService } from 'src/app/Service/common.service';\nimport { ToastrService } from 'ngx-toastr';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { ProductModel } from 'src/app/Model/ProductModel';\nimport { Title } from '@angular/platform-browser';\nimport { AppConfigService } from 'src/app/Service/app-config.service';\n\n@Component({\n selector: 'app-add-product-model',\n templateUrl: './add-product-model.component.html',\n styleUrls: ['./add-product-model.component.scss']\n})\nexport class AddProductModelComponent implements OnInit {\n\n ProductModelobj: ProductModel = new ProductModel();\n charCode: any;\n @Input()\n showLoader: boolean = false;\n ProductSeries: any[] = [];\n constructor(private router: Router, private route: ActivatedRoute, private toastr: ToastrService, private CommonService: CommonService, public dialog: MatDialog, private titleService: Title,\n private appConfigService : AppConfigService) { }\n\n ngOnInit(): void {\n const appConfig = this.appConfigService.getConfig();\n const dynamicTitle = this.route.snapshot.data['title'];\n this.titleService.setTitle(`${dynamicTitle} - ${appConfig.titleName}`);\n // this.titleService.setTitle(this.route.snapshot.data['title'] + \" - ECOTECH\");\n this.getAllProductSeries();\n this.ProductModelobj.ProductSeries = this.route.snapshot.params[\"id\"];\n\n }\n\n /*******************************************************************************\n * Get data for add product model\n * ******************************************************************************/\n getAllProductSeries() {\n this.showLoader = true;\n this.CommonService.GetData(\"ProductSeries\", \"GetAll\", null).subscribe((data: any) => {\n this.ProductSeries = data;\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n /*******************************************************************************\n * End get data for add product model\n * ******************************************************************************/\n\n /*******************************************************************************\n * Form validation method\n * ******************************************************************************/\n\n isNumberKey(evt: any) {\n this.charCode = (evt.which) ? evt.which : evt.keyCode;\n if (this.charCode != 46 && this.charCode > 31\n && (this.charCode < 48 || this.charCode > 57)) {\n return false;\n }\n else {\n return true;\n }\n }\n\n AvoidSpace(event: any) {\n if (event.which === 32 && !event.target.value.length) {\n event.preventDefault();\n }\n }\n\n /*******************************************************************************\n * End Form validation method \n * ******************************************************************************/\n\n onSubmit(myform: any) {\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Do you want to add this product model?\"\n }\n });\n\n dialogRef.afterClosed().subscribe(dialogResult => {\n\n if (dialogResult) {\n\n this.showLoader = true;\n this.CommonService.PostData('ProductModel', 'Add', this.ProductModelobj, null).subscribe((data: any) => {\n let result = data;\n\n if (result.ResponseCode == 1) {\n this.toastr.success('Product model added successfully!');\n this.router.navigate(['/ProductModel', this.ProductModelobj.ProductSeries]);\n this.showLoader = false;\n }\n else if (result.ResponseCode == 0) {\n this.toastr.warning('Product model already exists!');\n this.showLoader = false;\n } \n else {\n this.toastr.error('Failed to add product model!');\n this.router.navigate(['/ProductModel', this.ProductModelobj.ProductSeries]);\n this.showLoader = false;\n }\n }, error => {\n this.toastr.error('Failed to add product model!');\n this.showLoader = false;\n this.router.navigate(['/ProductModel', this.ProductModelobj.ProductSeries]);\n });\n }\n });\n }\n\n}\n","\n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n Add Product Model\n

    \n
    \n
    \n\n
    \n
    \n * Marked fields are\n mandatory\n
    \n \n
    \n
    \n\n
    \n\n
    \n
    \n","import { Component, OnInit, Input } from '@angular/core';\nimport { ConfirmDialogComponent } from 'src/app/confirm-dialog/confirm-dialog.component';\nimport { MatDialog } from '@angular/material/dialog';\nimport { CommonService } from 'src/app/Service/common.service';\nimport { ToastrService } from 'ngx-toastr';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { ProductModel } from 'src/app/Model/ProductModel';\nimport { AppGlobals } from 'src/app/app.global';\nimport { Title } from '@angular/platform-browser';\nimport { AccessPermissionModel } from 'src/app/Model/WorkFlowScreenAccessModel';\nimport { AccessPermissionService } from 'src/app/Service/access-permission.service';\nimport { AppConfigService } from 'src/app/Service/app-config.service';\n\n@Component({\n selector: 'app-edit-view-product-model',\n templateUrl: './edit-view-product-model.component.html',\n styleUrls: ['./edit-view-product-model.component.scss']\n})\nexport class EditViewProductModelComponent implements OnInit {\n isEditable: boolean = true;\n FormStatus: string = \"View\";\n ProductModelobj: ProductModel = new ProductModel();\n charCode: any;\n ProductSeries: any[] = [];\n UserRole: any;\n isProductModelEditable: boolean = false;\n accesspermissionobj:AccessPermissionModel[]=Array();\n AccesspermissionForRole:any[]=[];\n\n @Input()\n showLoader: boolean = false;\n constructor(private router: Router, private route: ActivatedRoute, private toastr: ToastrService, private CommonService: CommonService, public dialog: MatDialog, private titleService: Title,private accessservice: AccessPermissionService,\n private appConfigService : AppConfigService) { }\n\n ngOnInit(): void {\n const appConfig = this.appConfigService.getConfig();\n const dynamicTitle = this.route.snapshot.data['title'];\n this.titleService.setTitle(`${dynamicTitle} - ${appConfig.titleName}`);\n // this.titleService.setTitle(this.route.snapshot.data['title'] + \" - ECOTECH\");\n this.UserRole = localStorage.getItem(\"UserRole\");\n this.getAccess();\n // this.isProductModelEditable = AppGlobals.ProductMastersEditableAccessArray.filter(x => x.role == this.UserRole)[0]?.isEditable;\n this.ProductModelobj.Id = this.route.snapshot.params[\"id\"];\n this.getProductModelIdDetailsById(this.ProductModelobj.Id);\n this.getAllProductSeries();\n }\n /*******************************************************************************\n * Get data for add product model\n * ******************************************************************************/\n getProductModelIdDetailsById(ProductModelId: number) {\n this.showLoader = true;\n\n let queryString = \"\";\n queryString = \"id=\" + ProductModelId;\n\n this.CommonService.GetData('ProductModel', 'GetById', queryString).subscribe((data: any) => {\n this.ProductModelobj = data;\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n\n });\n\n }\n\n getAllProductSeries() {\n this.showLoader = true;\n this.CommonService.GetData(\"ProductSeries\", \"GetAll\", null).subscribe((data: any) => {\n this.ProductSeries = data;\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n /*******************************************************************************\n * End get data for add product model\n * ******************************************************************************/\n\n EditDetails() {\n this.isEditable = false;\n this.FormStatus = \"Edit\";\n const appConfig = this.appConfigService.getConfig();\n this.titleService.setTitle(`Edit Product Model - ${appConfig.titleName}`);\n // this.titleService.setTitle(\"Edit Product Model - ECOTECH\");\n }\n\n /*******************************************************************************\n * Form validation method\n * ******************************************************************************/\n\n isNumberKey(evt: any) {\n this.charCode = (evt.which) ? evt.which : evt.keyCode;\n if (this.charCode != 46 && this.charCode > 31\n && (this.charCode < 48 || this.charCode > 57)) {\n return false;\n }\n else {\n return true;\n }\n }\n\n AvoidSpace(event: any) {\n if (event.which === 32 && !event.target.value.length) {\n event.preventDefault();\n }\n }\n\n /*******************************************************************************\n * End Form validation method \n * ******************************************************************************/\n\n onSubmit(myform: any) {\n\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Do you want to update this product model?\"\n }\n });\n\n dialogRef.afterClosed().subscribe(dialogResult => {\n\n if (dialogResult) {\n this.showLoader = true;\n this.CommonService.PostData('ProductModel', 'Update', this.ProductModelobj, null).subscribe((data: any) => {\n let result = data;\n\n if (result.ResponseCode == 1) {\n this.toastr.success('Product model updated successfully!');\n this.router.navigate(['/ProductModel', this.ProductModelobj.ProductSeries]);\n this.showLoader = false;\n\n }\n else if (result.ResponseCode == 0) {\n this.toastr.warning('Product model already exists!');\n this.showLoader = false;\n }\n else {\n this.toastr.error('Failed to update product model!');\n this.router.navigate(['/ProductModel', this.ProductModelobj.ProductSeries]);\n this.showLoader = false;\n }\n\n\n }, error => {\n this.toastr.error('Failed to update product model!');\n this.showLoader = false;\n this.router.navigate(['/ProductModel', this.ProductModelobj.ProductSeries]);\n });\n }\n });\n }\n\n getAccess()\n {\n this.accessservice.GetAll().subscribe((data:any)=> {\n this.accesspermissionobj=data;\n this.isProductModelEditable=this.accesspermissionobj.filter(x => x.Fk_RoleId == this.UserRole && x.ElementKey=='isProductLine')[0]?.IsEditable;\n \n });\n \n }\n\n}\n\n","\n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n {{FormStatus}} Product Model\n

    \n
    \n
    \n\n
    \n
    \n * Marked fields are\n mandatory\n
    \n \n
    \n
    \n\n
    \n\n
    \n
    \n","import { Component, OnInit, ViewChild, Input, Output, EventEmitter } from '@angular/core';\nimport { MatSort, Sort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { ToastrService } from 'ngx-toastr';\nimport { CommonService } from 'src/app/Service/common.service';\nimport { MatDialog } from '@angular/material/dialog';\nimport { ConfirmDialogComponent } from 'src/app/confirm-dialog/confirm-dialog.component';\nimport { ProductModel, ProductSeries } from 'src/app/Model/ProductModel';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { AppGlobals } from 'src/app/app.global';\nimport { Title } from '@angular/platform-browser';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { AccessPermissionService } from 'src/app/Service/access-permission.service';\nimport { AccessPermissionModel } from 'src/app/Model/WorkFlowScreenAccessModel';\nimport { AppConfigService } from 'src/app/Service/app-config.service';\n\n@Component({\n selector: 'app-product-model-details',\n templateUrl: './product-model-details.component.html',\n styleUrls: ['./product-model-details.component.scss']\n})\nexport class ProductModelDetailsComponent implements OnInit {\n displayedColumns: string[] = ['SeriesName', 'ModelName','ArticleNumber', 'Price', 'Action'];\n dataSource: MatTableDataSource;\n disabled: boolean = false;\n ProductSeriesId: number;\n UserRole: any;\n isProductModelEditable: boolean = false;\n ProductSeriesobj: ProductSeries = new ProductSeries();\n VariantDrpdown: string = \"\";\n accesspermissionobj:AccessPermissionModel[]=Array();\n AccesspermissionForRole:any[]=[];\n\n /*************************************************************************\n Server side Pagination purpose\n *************************************************************************/\n pageNumber: number = 1;\n @Input() pageSize: number = 5;\n @Input() length: number;\n @Input() pageIndex: number = this.pageNumber - 1;\n direction: string = 'desc';\n ColumnName: string = 'ModifiedOn';\n SearchText: string = \"\";\n @Output('matSortChange') sortChange: EventEmitter;\n @ViewChild(MatPaginator) paginator: MatPaginator;\n /*************************************************************************\n End here\n *************************************************************************/\n\n showLoader: boolean;\n data: any[] = [];\n constructor(private toastr: ToastrService, \n private CommonService: CommonService, \n public dialog: MatDialog, \n private router: Router, \n private route: ActivatedRoute, \n private titleService: Title,\n private accessservice: AccessPermissionService,\n private appConfigService : AppConfigService) {\n //this.router.routeReuseStrategy.shouldReuseRoute = () => false;\n }\n\n ngOnInit() {\n const appConfig = this.appConfigService.getConfig();\n const dynamicTitle = this.route.snapshot.data['title'];\n this.titleService.setTitle(`${dynamicTitle} - ${appConfig.titleName}`);\n // this.titleService.setTitle(this.route.snapshot.data['title'] + \" - ECOTECH\");\n this.UserRole = localStorage.getItem(\"UserRole\");\n this.getAccess(); \n this.route.params.subscribe(params => {\n this.ProductSeriesId = params['id'];\n this.pageSize = 5;\n this.pageNumber = 1;\n this.pageIndex = this.pageNumber - 1;\n this.length = 0;\n this.direction = 'desc';\n this.ColumnName = 'ModifiedOn';\n this.SearchText = \"\";\n this.VariantDrpdown = \"ProductModel\";\n this.GetAllProductModelDetails();\n this.getAllProductSeries();\n });\n\n }\n\n /*************************************************************************\n * Below function used for Server side Pagination,Sorting and Searching\n * (1)GetAllProductModelDetails() - To get data for grid\n * (2)SearchParam() - searching\n * (3)sortData() - Sorting\n * (4)pageEvent() - Pagination\n * \n * ***********************************************************************/\n\n GetAllProductModelDetails() {\n this.showLoader = true;\n let queryString = \"\";\n queryString = \"pageNumber=\" + this.pageNumber;\n queryString += \"&pageSize=\" + this.pageSize;\n queryString += \"&searchText=\" + this.SearchText;\n queryString += \"&direction=\" + this.direction;\n queryString += \"&columnName=\" + this.ColumnName;\n queryString += \"&ProductSeriesId=\" + this.ProductSeriesId;\n this.CommonService.GetData('ProductModel', 'GetAllPagination', queryString).subscribe((data: any) => {\n this.data = data.Data;\n this.length = data.Total;\n this.dataSource = new MatTableDataSource(this.data); \n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n\n }\n\n SearchParam(event: any) {\n this.SearchText = event.target.value;\n this.pageNumber = 1;\n this.paginator.pageIndex = 0;\n this.GetAllProductModelDetails();\n }\n\n sortData(event: any) {\n if (this.dataSource.filteredData != null) {\n this.direction = event.direction;\n this.ColumnName = event.active;\n this.GetAllProductModelDetails();\n }\n }\n\n pageEvent(event: any) {\n window.scroll({\n top: 0,\n left: 0,\n behavior: 'smooth'\n });\n this.pageNumber = event.pageIndex + 1;\n this.pageSize = event.pageSize;\n this.GetAllProductModelDetails();\n }\n\n getAllProductSeries() {\n this.showLoader = true;\n\n let queryString = \"\";\n queryString = \"Id=\" + this.ProductSeriesId;\n\n this.CommonService.GetData(\"ProductSeries\", \"GetById\", queryString).subscribe((data: any) => {\n this.ProductSeriesobj = data;\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n /************************************************************************\n * Grid Code End \n * **********************************************************************/\n\n /*******************************************************************************\n * Form validation method\n * ******************************************************************************/\n\n AvoidSpace(event: any) {\n if (event.which === 32 && !event.target.value.length) {\n event.preventDefault();\n }\n }\n\n /*******************************************************************************\n * End Form validation method \n * ******************************************************************************/\n\n RedirectToVariant(event: any) {\n if (this.VariantDrpdown == 'ProductModel') {\n this.router.navigate(['/ProductModel', this.ProductSeriesobj.Id]);\n }\n else if (this.VariantDrpdown == 'Options') {\n this.router.navigate(['/Options', this.ProductSeriesobj.Id]);\n }\n else if (this.VariantDrpdown == 'Variant1') {\n this.router.navigate(['/VariantLevel1', this.ProductSeriesobj.Id, this.ProductSeriesobj.Label_Variant1]);\n }\n else if (this.VariantDrpdown == 'Variant2') {\n this.router.navigate(['/VariantLevel2', this.ProductSeriesobj.Id, this.ProductSeriesobj.Label_Variant1, this.ProductSeriesobj.Label_Variant2]);\n }\n else if (this.VariantDrpdown == 'Variant3') {\n this.router.navigate(['/VariantLevel3', this.ProductSeriesobj.Id, this.ProductSeriesobj.Label_Variant2, this.ProductSeriesobj.Label_Variant3]);\n }\n else if (this.VariantDrpdown == 'Variant4') {\n this.router.navigate(['/VariantLevel4', this.ProductSeriesobj.Id, this.ProductSeriesobj.Label_Variant3, this.ProductSeriesobj.Label_Variant4]);\n }\n }\n\n UpdateProductModelStatusById(Id: number, CurrentStatus: boolean) {\n\n if (CurrentStatus == true) {\n //Create ConfirmDialogRef \n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Do you want to deactivate this product model?\"\n }\n });\n // listen to response from ConfirmDialogRef\n dialogRef.afterClosed().subscribe(dialogResult => {\n // if user pressed yes dialogResult will be true, \n // if he pressed no - it will be false\n if (dialogResult) {\n this.pageNumber = 1;\n this.paginator.pageIndex = 0;\n this.length = 0;\n this.direction = 'desc';\n this.ColumnName = 'ModifiedOn';\n this.showLoader = true;\n\n let queryString = \"\";\n queryString = \"id=\" + Id;\n\n this.CommonService.PostData('ProductModel', 'UpdateStatus', null, queryString).subscribe((data: any) => {\n this.showLoader = false;\n if (data.ResponseCode == 1) {\n this.toastr.success(\"Product model deactivated successfully!\");\n }\n \n else if (data.ResponseCode == 0) {\n this.toastr.warning(\"Failed to deactivate this product model because it has some dependency!\");\n }\n else {\n this.toastr.info(\"Failed to deactivate product model!\");\n }\n this.GetAllProductModelDetails();\n }, error => {\n this.toastr.error(\"Failed to deactivate product model!\");\n this.GetAllProductModelDetails();\n this.showLoader = false;\n });\n\n }\n else {\n this.GetAllProductModelDetails();\n this.showLoader = false;\n let element: HTMLElement = document.getElementsByClassName('slideToogle')[0] as HTMLElement;\n element.click();\n }\n });\n\n }\n else {\n //Create ConfirmDialogRef\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Do you want to activate this product model?\"\n }\n });\n // listen to response from ConfirmDialogRef\n dialogRef.afterClosed().subscribe(dialogResult => {\n // if user pressed yes dialogResult will be true, \n // if he pressed no - it will be false\n if (dialogResult) {\n this.pageNumber = 1;\n this.paginator.pageIndex = 0;\n this.length = 0;\n this.direction = 'desc';\n this.ColumnName = 'ModifiedOn';\n this.showLoader = true;\n\n let queryString = \"\";\n queryString = \"id=\" + Id;\n\n this.CommonService.PostData('ProductModel', 'UpdateStatus', null, queryString).subscribe((data: any) => {\n this.showLoader = false;\n if (data.ResponseCode == 1) {\n this.toastr.success(\"Product model activated successfully!\");\n }\n else {\n this.toastr.info(\"Failed to activate product model!\");\n }\n this.GetAllProductModelDetails();\n }, error => {\n this.toastr.error(\"Failed to activate product model!\");\n this.GetAllProductModelDetails();\n this.showLoader = false;\n });\n\n }\n else {\n this.GetAllProductModelDetails();\n this.showLoader = false;\n let element: HTMLElement = document.getElementsByClassName('slideToogle')[0] as HTMLElement;\n element.click();\n }\n });\n }\n }\n\n getAccess()\n {\n this.accessservice.GetAll().subscribe((data:any)=> {\n this.accesspermissionobj=data;\n this.isProductModelEditable=this.accesspermissionobj.filter(x => x.Fk_RoleId == this.UserRole && x.ElementKey=='isProductLine')[0]?.IsEditable;\n \n });\n \n }\n}\n\n","\n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n Product Model Listing\n

    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n \n \n Product Model\n {{ProductSeriesobj.Label_Variant1}}\n \n {{ProductSeriesobj.Label_Variant2}}\n {{ProductSeriesobj.Label_Variant3}}\n {{ProductSeriesobj.Label_Variant4}}\n Product Options\n \n \n
    \n\n
    \n \n\n Search\n \n \n\n
    \n\n
    \n\n
    \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n\n \n \n \n \n\n \n \n\n
    Product Series {{row.SeriesName}} Product Model {{row.ModelName}} Price (€) \n {{row.Price |indianCurrency}}\n Article Number {{row.ArticleNumber}} Action \n \n \n     \n\n \n   {{row.Status==true ? 'Active': 'Inactive'}}\n
    \n No records found
    \n\n \n \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n \n","import { Component, OnInit, Input } from '@angular/core';\nimport { ConfirmDialogComponent } from 'src/app/confirm-dialog/confirm-dialog.component';\nimport { MatDialog } from '@angular/material/dialog';\nimport { CommonService } from 'src/app/Service/common.service';\nimport { ToastrService } from 'ngx-toastr';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { ProductSeries } from 'src/app/Model/ProductModel';\nimport { Title } from '@angular/platform-browser';\nimport { AppConfigService } from 'src/app/Service/app-config.service';\n\n@Component({\n selector: 'app-add-product-series',\n templateUrl: './add-product-series.component.html',\n styleUrls: ['./add-product-series.component.scss']\n})\nexport class AddProductSeriesComponent implements OnInit {\n ProductSeriesobj: ProductSeries = new ProductSeries();\n charCode: any;\n @Input()\n showLoader: boolean = false;\n ProductFamily: any[] = [];\n ProductLine: any[] = [];\n // allowedFileType: string[] = [\n // 'image/bmp',\n // 'image/jpeg',\n // 'image/png',\n // 'application/pdf',\n // 'text/plain',\n // 'text/csv',\n // 'application/xml',\n // 'text/xml',\n // 'application/vnd.ms-excel',\n // 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\n // 'application/msword',\n // 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',\n // 'application/zip',\n // 'application/x-zip-compressed',\n // ];\n allowedFileType: string[] = [ \n 'application/pdf' \n ];\n file: any;\n constructor(private router: Router, private toastr: ToastrService, private CommonService: CommonService, public dialog: MatDialog, private route: ActivatedRoute, private titleService: Title,\n private appConfigService : AppConfigService) { }\n\n ngOnInit(): void {\n const appConfig = this.appConfigService.getConfig();\n const dynamicTitle = this.route.snapshot.data['title'];\n this.titleService.setTitle(`${dynamicTitle} - ${appConfig.titleName}`);\n // this.titleService.setTitle(this.route.snapshot.data['title'] + \" - ECOTECH\");\n this.getAllProductLine();\n }\n\n /*******************************************************************************\n * Get data for add product family\n * ******************************************************************************/\n getAllProductLine() {\n this.showLoader = true;\n this.CommonService.GetData(\"ProductLine\", \"GetAll\", null).subscribe((data: any) => {\n this.ProductLine = data;\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n getAllProductFamily(ProductLine: number) {\n this.showLoader = true;\n let queryString = \"\";\n queryString = \"ProductLine=\" + ProductLine;\n this.CommonService.GetData(\"ProductFamily\", \"GetbyProductLine\", queryString).subscribe((data: any) => {\n this.ProductFamily = data;\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n /*******************************************************************************\n * End get data for add product family\n * ******************************************************************************/\n onProductLineSelect(e: any) {\n this.getAllProductFamily(e.target.value);\n }\n\n OnVariantChange() {\n if (this.ProductSeriesobj.Label_Variant1 == '' || this.ProductSeriesobj.Label_Variant2 == '') {\n this.ProductSeriesobj.IsLevel2DepOnLevel1 = false;\n }\n if (this.ProductSeriesobj.Label_Variant2 == '' || this.ProductSeriesobj.Label_Variant3 == '') {\n this.ProductSeriesobj.IsLevel3DepOnLevel2 = false;\n }\n if (this.ProductSeriesobj.Label_Variant3 == '' || this.ProductSeriesobj.Label_Variant4 == '') {\n this.ProductSeriesobj.IsLevel4DepOnLevel3 = false;\n }\n }\n /*******************************************************************************\n * Form validation method\n * ******************************************************************************/\n\n isNumberKey(evt: any) {\n this.charCode = (evt.which) ? evt.which : evt.keyCode;\n if (this.charCode != 46 && this.charCode > 31\n && (this.charCode < 48 || this.charCode > 57)) {\n return false;\n }\n else {\n return true;\n }\n }\n\n AvoidSpace(event: any) {\n if (event.which === 32 && !event.target.value.length) {\n event.preventDefault();\n }\n }\n\n /*******************************************************************************\n * End Form validation method \n * ******************************************************************************/\n\n onSubmit(myform: any) {\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Do you want to add this product series?\"\n }\n });\n\n dialogRef.afterClosed().subscribe(dialogResult => {\n if (dialogResult) { \n this.showLoader = true; \n const frmData = new FormData();\n let ProductSeriesDetails = JSON.stringify(this.ProductSeriesobj);\n frmData.append(\"ProductSeries\", ProductSeriesDetails);\n if (this.ProductSeriesobj.CatlogName != undefined) {\n frmData.append(\"CatalogFile\", this.file);\n }\n\n this.CommonService.PostData('ProductSeries', 'Add', frmData, null).subscribe((data: any) => {\n let result = data;\n\n if (result.ResponseCode == 1) {\n this.toastr.success('Product series added successfully!');\n this.CommonService.RefreshHeaderFun();\n this.router.navigate(['/ProductSeries']);\n this.showLoader = false;\n }\n else if (result.ResponseCode == 0) {\n this.toastr.warning('Product series already exists!');\n this.showLoader = false;\n }\n else {\n this.toastr.error('Failed to add product series!');\n this.router.navigate(['/ProductSeries']);\n this.showLoader = false;\n }\n\n }, error => {\n this.toastr.error('Failed to add product series!');\n this.showLoader = false;\n this.router.navigate(['/ProductSeries']);\n });\n }\n });\n\n }\n\n editFileDetails(event, index) {\n let file = event.target.files[0];\n let isValidFile = true;\n if (((file.size) / 1000000) <= 20) {\n isValidFile = this.allowedFileType.includes(file.type);\n if (!isValidFile) {\n this.toastr.warning(\"Please select valid file. Valid filetype is .pdf file\");\n }\n else\n {\n this.ProductSeriesobj.CatlogName = file.name;\n this.file=file; \n }\n \n }\n else{\n this.toastr.info(\"Please select file having size upto 20MB\");\n }\n }\n}","\n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n Add Product Series\n

    \n
    \n
    \n\n
    \n
    \n * Marked fields are\n mandatory\n
    \n \n
    \n
    \n\n
    \n\n
    \n
    \n","import { Component, OnInit, Input } from '@angular/core';\nimport { SingleFieldModel } from 'src/app/Model/SingleFieldModel';\nimport { ConfirmDialogComponent } from 'src/app/confirm-dialog/confirm-dialog.component';\nimport { MatDialog } from '@angular/material/dialog';\nimport { CommonService } from 'src/app/Service/common.service';\nimport { ToastrService } from 'ngx-toastr';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { ProductSeries } from 'src/app/Model/ProductModel';\nimport { AppGlobals } from 'src/app/app.global';\nimport { Title } from '@angular/platform-browser';\nimport { AccessPermissionModel } from 'src/app/Model/WorkFlowScreenAccessModel';\nimport { AccessPermissionService } from 'src/app/Service/access-permission.service';\nimport { AppConfigService } from 'src/app/Service/app-config.service';\n\n@Component({\n selector: 'app-edit-view-product-series',\n templateUrl: './edit-view-product-series.component.html',\n styleUrls: ['./edit-view-product-series.component.scss']\n})\nexport class EditViewProductSeriesComponent implements OnInit {\n AppGlobals = AppGlobals;\n catlogDownloadPath = this.AppGlobals.catlogDownloadPath;\n isEditable: boolean = true;\n FormStatus: string = \"View\";\n ProductSeriesobj: ProductSeries = new ProductSeries();\n charCode: any;\n ProductFamily: any[] = [];\n ProductLine: any[] = [];\n UserRole: any;\n isProductSeriesEditable: boolean = false;\n accesspermissionobj:AccessPermissionModel[]=Array();\n AccesspermissionForRole:any[]=[];\n\n\n @Input()\n showLoader: boolean = false;\n file: any;\n allowedFileType: string[] = [ \n 'application/pdf' \n ];\n constructor(private router: Router, private route: ActivatedRoute, private toastr: ToastrService, private CommonService: CommonService, public dialog: MatDialog, private titleService: Title,private accessservice: AccessPermissionService,\n private appConfigService : AppConfigService) { }\n\n ngOnInit(): void {\n const appConfig = this.appConfigService.getConfig();\n const dynamicTitle = this.route.snapshot.data['title'];\n this.titleService.setTitle(`${dynamicTitle} - ${appConfig.titleName}`);\n // this.titleService.setTitle(this.route.snapshot.data['title'] + \" - ECOTECH\");\n this.UserRole = localStorage.getItem(\"UserRole\");\n this.getAccess();\n //this.isProductSeriesEditable = AppGlobals.ProductMastersEditableAccessArray.filter(x => x.role == this.UserRole)[0]?.isEditable;\n this.ProductSeriesobj.Id = this.route.snapshot.params[\"id\"];\n this.getProductSeriesIdDetailsById(this.ProductSeriesobj.Id);\n this.getAllProductLine();\n }\n /*******************************************************************************\n * Get data for add product series\n * ******************************************************************************/\n getProductSeriesIdDetailsById(ProductSeriesId: number) {\n this.showLoader = true;\n\n let queryString = \"\";\n queryString = \"id=\" + ProductSeriesId;\n\n this.CommonService.GetData('ProductSeries', 'GetById', queryString).subscribe((data: any) => {\n this.ProductSeriesobj = data;\n console.log(data);\n \n this.getAllProductFamily(this.ProductSeriesobj.ProductLine);\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n\n });\n\n }\n\n getAllProductLine() {\n this.showLoader = true;\n this.CommonService.GetData(\"ProductLine\", \"GetAll\", null).subscribe((data: any) => {\n this.ProductLine = data;\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n\n getAllProductFamily(ProductLine: number) {\n this.showLoader = true;\n let queryString = \"\";\n queryString = \"ProductLine=\" + ProductLine;\n this.CommonService.GetData(\"ProductFamily\", \"GetbyProductLine\", queryString).subscribe((data: any) => {\n this.ProductFamily = data;\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n /*******************************************************************************\n * End get data for add product series\n * ******************************************************************************/\n\n EditDetails() {\n this.isEditable = false;\n this.FormStatus = \"Edit\";\n const appConfig = this.appConfigService.getConfig();\n this.titleService.setTitle(`Edit Product Series - ${appConfig.titleName}`);\n // this.titleService.setTitle(\"Edit Product Series - ECOTECH\");\n }\n\n onProductLineSelect(e: any) {\n this.ProductSeriesobj.ProductFamily = null;\n this.getAllProductFamily(e.target.value);\n }\n\n OnVariantChange() {\n if (this.ProductSeriesobj.Label_Variant1 == '' || this.ProductSeriesobj.Label_Variant2 == '') {\n this.ProductSeriesobj.IsLevel2DepOnLevel1 = false;\n }\n if (this.ProductSeriesobj.Label_Variant2 == '' || this.ProductSeriesobj.Label_Variant3 == '') {\n this.ProductSeriesobj.IsLevel3DepOnLevel2 = false;\n }\n if (this.ProductSeriesobj.Label_Variant3 == '' || this.ProductSeriesobj.Label_Variant4 == '') {\n this.ProductSeriesobj.IsLevel4DepOnLevel3 = false;\n }\n }\n\n /*******************************************************************************\n * Form validation method\n * ******************************************************************************/\n\n isNumberKey(evt: any) {\n this.charCode = (evt.which) ? evt.which : evt.keyCode;\n if (this.charCode != 46 && this.charCode > 31\n && (this.charCode < 48 || this.charCode > 57)) {\n return false;\n }\n else {\n return true;\n }\n }\n\n AvoidSpace(event: any) {\n if (event.which === 32 && !event.target.value.length) {\n event.preventDefault();\n }\n }\n\n /*******************************************************************************\n * End Form validation method \n * ******************************************************************************/\n\n onSubmit(myform: any) {\n\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Do you want to update this product series?\"\n }\n });\n\n dialogRef.afterClosed().subscribe(dialogResult => {\n\n if (dialogResult) {\n this.showLoader = true;\n\n const frmData = new FormData();\n let ProductSeriesDetails = JSON.stringify(this.ProductSeriesobj);\n frmData.append(\"ProductSeries\", ProductSeriesDetails);\n if (this.ProductSeriesobj.CatlogName != undefined) {\n frmData.append(\"CatalogFile\", this.file);\n }\n\n this.CommonService.PostData('ProductSeries', 'Update', frmData, null).subscribe((data: any) => {\n let result = data;\n\n if (result.ResponseCode == 1) {\n this.toastr.success('Product series updated successfully!');\n this.CommonService.RefreshHeaderFun();\n this.router.navigate(['/ProductSeries']);\n this.showLoader = false;\n }\n else if (result.ResponseCode == 0) {\n this.toastr.warning('Product series already exists!');\n this.showLoader = false;\n }\n else {\n this.toastr.error('Failed to update product series!');\n this.router.navigate(['/ProductSeries']);\n this.showLoader = false;\n }\n\n\n }, error => {\n this.toastr.error('Failed to update product series!');\n this.showLoader = false;\n this.router.navigate(['/ProductSeries']);\n });\n }\n });\n }\n editFileDetails(event, index) {\n let file = event.target.files[0];\n let isValidFile = true;\n if (((file.size) / 1000000) <= 20) {\n isValidFile = this.allowedFileType.includes(file.type);\n if (!isValidFile) {\n this.toastr.warning(\"Please select valid file. Valid filetype is .pdf file\");\n }\n else\n {\n this.ProductSeriesobj.CatlogName = file.name;\n this.file=file; \n } \n }\n else{\n this.toastr.info(\"Please select file having size upto 20MB\");\n }\n }\n\n getAccess()\n {\n this.accessservice.GetAll().subscribe((data:any)=> {\n this.accesspermissionobj=data;\n this.isProductSeriesEditable=this.accesspermissionobj.filter(x => x.Fk_RoleId == this.UserRole && x.ElementKey=='isProductLine')[0]?.IsEditable;\n \n });\n \n }\n}\n","\n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n {{FormStatus}} Product Series\n

    \n
    \n
    \n\n
    \n
    \n * Marked fields are\n mandatory\n
    \n \n
    \n
    \n\n
    \n\n
    \n
    \n","import { Component, OnInit, ViewChild, Input, Output, EventEmitter, ChangeDetectorRef, Inject, AfterViewInit } from '@angular/core';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { Sort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { ToastrService } from 'ngx-toastr';\nimport { CommonService } from 'src/app/Service/common.service';\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { ConfirmDialogComponent, DialogData } from 'src/app/confirm-dialog/confirm-dialog.component';\nimport { ProductSeries } from 'src/app/Model/ProductModel';\nimport { AppGlobals } from 'src/app/app.global';\nimport { ActivatedRoute } from '@angular/router';\nimport { Title } from '@angular/platform-browser';\nimport { ProductImportExportModel } from 'src/app/Model/CustomerModel';\nimport * as Excel from 'exceljs/dist/exceljs'\nimport * as FileSaver from 'file-saver';\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\nimport { ProductSeriesUploadLogComponent } from './product-series-upload-log/product-series-upload-log.component';\nimport { AccessPermissionService } from 'src/app/Service/access-permission.service';\nimport { AccessPermissionModel } from 'src/app/Model/WorkFlowScreenAccessModel';\nimport { AppConfigService } from 'src/app/Service/app-config.service';\nconst EXCEL_TYPE = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8';\n\n@Component({\n selector: 'app-product-series-details',\n templateUrl: './product-series-details.component.html',\n styleUrls: ['./product-series-details.component.scss']\n})\nexport class ProductSeriesDetailsComponent implements OnInit {\n displayedColumns: string[] = ['ProductLineName', 'ProductFamilyName', 'SeriesName', 'Action'];\n dataSource: MatTableDataSource;\n disabled: boolean = false;\n UserRole: any;\n isProductSeriesEditable: boolean = false;\n isProductPriceEditable: boolean = false;\n SeriesName: string[] = [];\n ShowHide: boolean = false;\n dataSourcePrice: [] = [];\n fileType: any[] = ['text/csv', 'application/xml', 'text/xml']\n ProductPricefileType: any[] = ['text/csv', 'application/vnd.ms-excel', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'];\n ProductPrice1fileType: any[] = ['application/vnd.openxmlformats-officedocument.spreadsheetml.sheet']\n myfile: string;\n Attachmentobj: ProductImportExportModel = new ProductImportExportModel();\n ProductPriceData: any[] = [];\n ProductPriceLogData: any[] = [];\n ProductPriceStation: any[] = [];\n ProductPriceSpeed: any[] = [];\n ProductPriceDP: any[] = [];\n ProductPriceMP: any[] = [];\n ProductOptionPrice: any[] = [];\n ProductModelPrice: any[] = [];\n accesspermissionobj:AccessPermissionModel[]=Array();\n AccesspermissionForRole:any[]=[];\n\n\n /*************************************************************************\n Server side Pagination purpose\n *************************************************************************/\n pageNumber: number = 1;\n @Input() pageSize: number = 5;\n @Input() length: number;\n @Input() pageIndex: number = this.pageNumber - 1;\n direction: string = 'desc';\n ColumnName: string = 'ModifiedOn';\n SearchText: string = \"\";\n @Output('matSortChange') sortChange: EventEmitter;\n @ViewChild(MatPaginator) paginator: MatPaginator;\n\n /*************************************************************************\n End here\n *************************************************************************/\n showLoader: boolean;\n data: any[] = [];\n constructor(private toastr: ToastrService, private CommonService: CommonService, public dialog: MatDialog, private titleService: Title,\n private route: ActivatedRoute, private activeModal: NgbActiveModal,private accessservice: AccessPermissionService,\n private appConfigService : AppConfigService) {\n }\n\n ngOnInit() {\n const appConfig = this.appConfigService.getConfig();\n const dynamicTitle = this.route.snapshot.data['title'];\n this.titleService.setTitle(`${dynamicTitle} - ${appConfig.titleName}`);\n // this.titleService.setTitle(this.route.snapshot.data['title'] + \" - ECOTECH\");\n this.UserRole = localStorage.getItem(\"UserRole\");\n this.getAccess();\n //this.isProductSeriesEditable = AppGlobals.ProductMastersEditableAccessArray.filter(x => x.role == this.UserRole)[0]?.isEditable;\n // this.isProductPriceEditable = AppGlobals.ProductPriceEditableAccessArray.filter(x => x.role == this.UserRole)[0]?.isEditable;\n this.GetAllProductSeriesDetails();\n }\n\n /*************************************************************************\n * Below function used for Server side Pagination,Sorting and Searching\n * (1)GetAllProductSeriesDetails() - To get data for grid\n * (2)SearchParam() - searching\n * (3)sortData() - Sorting\n * (4)pageEvent() - Pagination\n * \n * ***********************************************************************/\n\n GetAllProductSeriesDetails() {\n this.showLoader = true;\n let queryString = \"\";\n queryString = \"pageNumber=\" + this.pageNumber;\n queryString += \"&pageSize=\" + this.pageSize;\n queryString += \"&searchText=\" + this.SearchText;\n queryString += \"&direction=\" + this.direction;\n queryString += \"&columnName=\" + this.ColumnName;\n\n this.CommonService.GetData('ProductSeries', 'GetAllPagination', queryString).subscribe((data: any) => {\n this.SeriesName = data.SeriesData;\n this.data = data.Data;\n this.length = data.Total;\n this.dataSource = new MatTableDataSource(this.data);\n\n // seriesData.forEach(el => {\n // this.SeriesName.push(el.SeriesName);\n // });\n\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n\n }\n\n SearchParam(event: any) {\n this.SearchText = event.target.value;\n this.pageNumber = 1;\n this.paginator.pageIndex = 0;\n this.GetAllProductSeriesDetails();\n }\n\n sortData(event: any) {\n if (this.dataSource.filteredData != null) {\n this.direction = event.direction;\n this.ColumnName = event.active;\n this.GetAllProductSeriesDetails();\n }\n }\n\n pageEvent(event: any) {\n window.scroll({\n top: 0,\n left: 0,\n behavior: 'smooth'\n });\n this.pageNumber = event.pageIndex + 1;\n this.pageSize = event.pageSize;\n this.GetAllProductSeriesDetails();\n }\n /************************************************************************\n * Grid Code End \n * **********************************************************************/\n\n /*******************************************************************************\n * Form validation method\n * ******************************************************************************/\n\n AvoidSpace(event: any) {\n if (event.which === 32 && !event.target.value.length) {\n event.preventDefault();\n }\n }\n\n /*******************************************************************************\n * End Form validation method \n * ******************************************************************************/\n\n UpdateProductSeriesStatusById(Id: number, CurrentStatus: boolean) {\n\n if (CurrentStatus == true) {\n //Create ConfirmDialogRef \n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Do you want to deactivate this product series?\"\n }\n });\n // listen to response from ConfirmDialogRef\n dialogRef.afterClosed().subscribe(dialogResult => {\n // if user pressed yes dialogResult will be true, \n // if he pressed no - it will be false\n if (dialogResult) {\n this.pageNumber = 1;\n this.paginator.pageIndex = 0;\n this.length = 0;\n this.direction = 'desc';\n this.ColumnName = 'ModifiedOn';\n this.showLoader = true;\n\n let queryString = \"\";\n queryString = \"id=\" + Id;\n\n this.CommonService.PostData('ProductSeries', 'UpdateStatus', null, queryString).subscribe((data: any) => {\n this.showLoader = false;\n if (data.ResponseCode == 1) {\n this.toastr.success(\"Product series deactivated successfully!\");\n this.CommonService.RefreshHeaderFun();\n }\n else if (data.ResponseCode == 0) {\n this.toastr.warning(\"Failed to deactivate this product series because it has some dependency!\");\n }\n else {\n this.toastr.info(\"Failed to deactivate product series!\");\n }\n this.GetAllProductSeriesDetails();\n }, error => {\n this.toastr.error(\"Failed to deactivate product series!\");\n this.GetAllProductSeriesDetails();\n this.showLoader = false;\n });\n\n }\n else {\n this.GetAllProductSeriesDetails();\n this.showLoader = false;\n let element: HTMLElement = document.getElementsByClassName('slideToogle')[0] as HTMLElement;\n element.click();\n }\n });\n\n }\n else {\n //Create ConfirmDialogRef\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Do you want to activate this product series?\"\n }\n });\n // listen to response from ConfirmDialogRef\n dialogRef.afterClosed().subscribe(dialogResult => {\n // if user pressed yes dialogResult will be true, \n // if he pressed no - it will be false\n if (dialogResult) {\n this.pageNumber = 1;\n this.paginator.pageIndex = 0;\n this.length = 0;\n this.direction = 'desc';\n this.ColumnName = 'ModifiedOn';\n this.showLoader = true;\n\n let queryString = \"\";\n queryString = \"id=\" + Id;\n\n this.CommonService.PostData('ProductSeries', 'UpdateStatus', null, queryString).subscribe((data: any) => {\n this.showLoader = false;\n if (data.ResponseCode == 1) {\n this.toastr.success(\"Product series activated successfully!\");\n this.CommonService.RefreshHeaderFun();\n }\n else {\n this.toastr.info(\"Failed to activate product series!\");\n }\n this.GetAllProductSeriesDetails();\n }, error => {\n this.toastr.error(\"Failed to activate product series!\");\n this.GetAllProductSeriesDetails();\n this.showLoader = false;\n });\n\n }\n else {\n this.GetAllProductSeriesDetails();\n this.showLoader = false;\n let element: HTMLElement = document.getElementsByClassName('slideToogle')[0] as HTMLElement;\n element.click();\n }\n });\n }\n }\n\n /*****************************************\n * Immport and Export File\n ********************* */\n\n getfiledetails(e: any) {\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"500px\",\n data: {\n title: \"Are you sure\",\n message: \"You want to upload price list?\"\n }\n });\n dialogRef.afterClosed().subscribe(dialogResult => {\n // if user pressed yes dialogResult will be true, \n // if he pressed no - it will be false\n if (dialogResult) {\n if (e.target.files[0].name.length > 50) {\n e.target.value = null;\n this.toastr.warning(\"The file name with more than 50 characters are not allowed.\");\n }\n else {\n if (e.target.name == \"ProductPriceData\") {\n var KycResult;\n if (e.target.name == \"ProductPriceData\") {\n KycResult = this.CheckFileValidation(e.target.files[0], this.ProductPrice1fileType);\n }\n else {\n KycResult = this.CheckFileValidation(e.target.files[0], this.ProductPricefileType);\n }\n if (KycResult.isExtensionValid == true) {\n if (e.target.name == \"ProductPriceData\") {\n this.showLoader = true;\n this.myfile = e.target.files[0];\n const formData = new FormData();\n formData.append('file', this.myfile);\n\n this.CommonService.PostData('ProductModel', 'AddFromFile', formData, null).subscribe((response: any) => {\n if (response == \"Invalid file.\") {\n this.toastr.warning(\"Please select valid file.\");\n }\n else {\n this.ShowHide = true;\n this.dataSourcePrice = response;\n this.openDialog(this.dataSourcePrice);\n }\n this.showLoader = false;\n }, error => {\n //this.toastr.error('Failed to load data!');\n this.showLoader = false;\n });\n }\n }\n else {\n if (KycResult.isExtensionValid == false) {\n e.target.value = null;\n if (e.target.name == \"ProductPriceData\") {\n this.toastr.warning(\"Please attach the file having extension :\\n\\n .xlsx\");\n }\n else {\n this.toastr.warning(\"Please attach the file having extension :\\n\\n .xls, .xlsx\");\n }\n }\n }\n }\n }\n }\n })\n }\n CheckFileValidation(File: any, ValidFileType: any[]) {\n var Result = {\n isExtensionValid: false,\n };\n let FileType = File.type;\n for (var j = 0; j < ValidFileType.length; j++) {\n if (FileType.toLowerCase() == ValidFileType[j]) {\n Result.isExtensionValid = true;\n break;\n }\n }\n return Result;\n }\n\n openDialog(PriceData) {\n // Opening the dialog component\n const dialogWithForm = this.dialog.open(ProductSeriesUploadLogComponent, {\n data: PriceData\n });\n }\n ExportData(seriesId: any) {\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"500px\",\n data: {\n title: \"Are you sure\",\n message: \"You want to download the price list?\"\n }\n });\n dialogRef.afterClosed().subscribe(dialogResult => {\n // if user pressed yes dialogResult will be true, \n // if he pressed no - it will be false\n if (dialogResult) {\n this.showLoader = true;\n let queryString = \"\";\n queryString = \"seriesId=\" + seriesId;\n this.CommonService.GetData(\"ProductModel\", \"Export\", queryString).subscribe((data: any) => {\n this.ProductPriceData = data;\n if (this.ProductPriceData != undefined) {\n this.exportAsXLSX(this.ProductPriceData, data.SelectedSeriesName);\n }\n else {\n this.toastr.error(\"Failed to load data!\");\n }\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n this.showLoader = false;\n }\n });\n }\n public exportAsXLSX(arrayofdata, filename: string): void {\n this.exportAsExcelFile(arrayofdata, filename);\n }\n exportAsExcelFile(json: any, excelFileName: string): void {\n\n let workbook = new Excel.Workbook();\n\n // Product Price Model\n this.ProductModelPrice = json.ProductPriceModel;\n if (this.ProductModelPrice != null) {\n let header = ['Product Series Name', 'Product Model Name', 'Product Model Price'];\n workbook = this.getworkSheet(this.ProductModelPrice, workbook, 'Product Model', header);\n }\n\n // Product Price station List\n this.ProductPriceStation = json.ProductPriceStation;\n if (this.ProductPriceStation != null) {\n let header = ['Product Series Name', 'Product Model Name', json.LableHeader['Label1'], json.LableHeader['Label1'] + \" Price\",'Price On Request'];\n workbook = this.getworkSheet(this.ProductPriceStation, workbook, header[2], header);\n }\n\n //Product Price Speed List\n if(excelFileName==\"POM\"||excelFileName==\"HP\"||excelFileName==\"EF2\"){\n this.ProductPriceSpeed = json.ProductPriceSpeedPOM;\n if (this.ProductPriceSpeed != null) {\n let Speedheader = ['Product Series Name', 'Product Model Name', json.LableHeader['Label2'],json.LableHeader['Label2'] + \" Price\",'Price On Request'];\n workbook = this.getworkSheet(this.ProductPriceSpeed, workbook, Speedheader[2], Speedheader);\n }\n }else{\n this.ProductPriceSpeed = json.ProductPriceSpeed;\n if (this.ProductPriceSpeed != null) {\n let Speedheader = ['Product Series Name', 'Product Model Name',json.LableHeader['Label1'], json.LableHeader['Label2'], json.LableHeader['Label2'] + \" Price\",'Price On Request'];\n workbook = this.getworkSheet(this.ProductPriceSpeed, workbook, Speedheader[3], Speedheader);\n }\n }\n\n //Product Price DP List \n this.ProductPriceDP = json.ProductPriceDP;\n if (json.ProductPriceDP != null) {\n let DPheader = ['Product Series Name', 'Product Model Name', json.LableHeader['Label3'], json.LableHeader['Label3'] + \" Price\",'Price On Request'];\n workbook = this.getworkSheet(this.ProductPriceDP, workbook, DPheader[2], DPheader);\n }7\n //Product Price MP List \n this.ProductPriceMP = json.ProductPriceMP;\n if (this.ProductPriceMP != null) {\n let MPheader = ['Product Series Name', 'Product Model Name', json.LableHeader['Label4'], json.LableHeader['Label4'] + \" Price\",'Price On Request'];\n workbook = this.getworkSheet(this.ProductPriceMP, workbook, MPheader[2], MPheader);\n }\n\n //Product Option Price List\n this.ProductOptionPrice = json.ProductOptionPrice;\n if (this.ProductOptionPrice != null) {\n let Optionheader = ['Product Series Name','Product Option','Product Model Name', 'Product Option Price','Price On Request'];\n workbook = this.getworkSheet(this.ProductOptionPrice, workbook, 'Product Option', Optionheader);\n }\n\n workbook.xlsx.writeBuffer().then((data) => {\n let blob = new Blob([data], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });\n this.saveAsExcelFile(data, excelFileName);\n });\n }\n public saveAsExcelFile(buffer: any, fileName: string): void {\n const data: Blob = new Blob([buffer], { type: EXCEL_TYPE });\n FileSaver.saveAs(data, fileName);\n }\n\n getworkSheet(sheetdata: any, workbook: any, worksheetName: string, headers: any[]) {\n let worksheet = workbook.addWorksheet(worksheetName.replace('/','_'));\n let headerRow = worksheet.addRow(headers);\n\n headerRow.eachCell((cell, number) => {\n cell.fill = {\n type: 'pattern',\n pattern: 'solid',\n fgColor: { argb: '74B4FE' },\n bgColor: { argb: 'FF0000FF' }\n };\n cell.font = {\n name: 'Arial',\n family: 2,\n bold: true,\n size: 10,\n };\n cell.border = { top: { style: 'thin' }, left: { style: 'thin' }, bottom: { style: 'thin' }, right: { style: 'thin' } }\n })\n\n for (let key of Object.keys(sheetdata)) {\n let tmparray = [];\n let tmpobj = sheetdata[key];\n\n for (let key of Object.keys(tmpobj)) {\n let tmpobj1 = tmpobj[key];\n tmparray.push(tmpobj1)\n }\n worksheet.addRow(tmparray);\n worksheet.re\n }\n return workbook;\n }\n\n /********************************\n * Download List History\n ***********************************/\n DownloadListHistory()\n {\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"500px\",\n data: {\n title: \"Are you sure\",\n message: \"You want to download price list history?\"\n }\n });\n dialogRef.afterClosed().subscribe(dialogResult => {\n if (dialogResult) {\n this.showLoader = true;\n this.CommonService.GetData(\"ProductModel\", \"DownloadListHistory\", null).subscribe((data: any) => {\n this.ProductPriceLogData = data;\n if (this.ProductPriceLogData != undefined) {\n this.exportAsXLSXLog(this.ProductPriceLogData,\"Log File\");\n }\n else {\n this.toastr.error(\"Failed to load data!\");\n }\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n });\n this.showLoader = false;\n }\n })\n }\n public exportAsXLSXLog(arrayofdata, filename: string): void {\n this.exportAsExcelFileLog(arrayofdata, filename);\n }\n exportAsExcelFileLog(json: any, excelFileName: string): void {\n\n let workbook = new Excel.Workbook();\n\n // Product Price Model\n if (json.ProductModelLog != null) {\n let header = ['Series Name', 'Model Name','Model Old Price', 'Model New Price','Date'];\n workbook = this.getworkSheetLog(json.ProductModelLog, workbook, 'Product Model', header);\n }\n\n // Product Price station List\n if (json.ProductPriceVariant1Log != null) {\n let header = ['Series Name', 'Model Name','Variant1','Model Old Price','Model New Price','Date'];\n workbook = this.getworkSheetLog(json.ProductPriceVariant1Log, workbook, 'Variant1', header);\n }\n\n //Product Price Speed List\n if (json.ProductPriceVariant2Log != null) {\n let header = ['Series Name', 'Model Name','Variant2','Model Old Price','Model New Price','Date'];\n workbook = this.getworkSheetLog(json.ProductPriceVariant2Log, workbook, 'Variant2', header);\n }\n\n //Product Price DP List \n if (json.ProductPriceVariant3Log != null) {\n let header = ['Series Name', 'Model Name','Variant3','Model Old Price', 'Model New Price','Date'];\n workbook = this.getworkSheetLog(json.ProductPriceVariant3Log, workbook, 'Variant3', header);\n }\n //Product Price MP List \n if (json.ProductPriceVariant4Log != null) {\n let header = ['Series Name', 'Model Name','Variant4','Model Old Price', 'Model New Price','Date'];\n workbook = this.getworkSheetLog(json.ProductPriceVariant4Log, workbook, 'Variant4', header);\n }\n\n //Product Option Price List\n if (json.ProductOptionLog != null) {\n let header = ['Series Name','Product Option','Option Old Price', 'Option New Price','Date'];\n workbook = this.getworkSheetLog(json.ProductOptionLog, workbook, 'Product Option', header);\n }\n\n workbook.xlsx.writeBuffer().then((data) => {\n let blob = new Blob([data], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });\n this.saveAsExcelFileLog(data, excelFileName);\n });\n }\n public saveAsExcelFileLog(buffer: any, fileName: string): void {\n const data: Blob = new Blob([buffer], { type: EXCEL_TYPE });\n FileSaver.saveAs(data, fileName);\n }\n\n getworkSheetLog(sheetdata: any, workbook: any, worksheetName: string, headers: any[]) {\n let worksheet = workbook.addWorksheet(worksheetName.replace('/','_'));\n let headerRow = worksheet.addRow(headers);\n\n headerRow.eachCell((cell, number) => {\n cell.fill = {\n type: 'pattern',\n pattern: 'solid',\n fgColor: { argb: '74B4FE' },\n bgColor: { argb: 'FF0000FF' }\n };\n cell.font = {\n name: 'Arial',\n family: 2,\n bold: true,\n size: 10,\n };\n cell.border = { top: { style: 'thin' }, left: { style: 'thin' }, bottom: { style: 'thin' }, right: { style: 'thin' } }\n })\n\n for (let key of Object.keys(sheetdata)) {\n let tmparray = [];\n let tmpobj = sheetdata[key];\n\n for (let key of Object.keys(tmpobj)) {\n let tmpobj1 = tmpobj[key];\n tmparray.push(tmpobj1)\n }\n worksheet.addRow(tmparray);\n worksheet.re\n }\n return workbook;\n }\n closePopup() {\n this.activeModal.close('Close Click');\n }\n\n getAccess()\n {\n this.accessservice.GetAll().subscribe((data:any)=> {\n this.accesspermissionobj=data;\n this.isProductSeriesEditable=this.accesspermissionobj.filter(x => x.Fk_RoleId == this.UserRole && x.ElementKey=='isProductLine')[0]?.IsEditable;\n this.isProductPriceEditable=this.accesspermissionobj.filter(x => x.Fk_RoleId == this.UserRole && x.ElementKey=='IsProductPriceEditableAccess')[0]?.IsVisible;\n });\n \n }\n}\n\n\n\n\n\n\n\n\n","\n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n Product Series Listing\n

    \n
    \n
    \n
    \n
      \n
    • \n \n
    • \n
    • \n \n Price List Download\n \n \n {{sr.SeriesName}}\n \n \n \n
    • \n
    • \n \n\n \n
    • \n
    • \n Add Product Series\n \n
    • \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n Search\n \n \n
    \n
    \n\n
    \n \n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n \n \n
    Product Line {{row.ProductLineName}} Product Family {{row.ProductFamilyName}} Product Series {{row.SeriesName}} Action \n \n \n     \n \n   {{row.Status==true ? 'Active': 'Inactive'}}\n
    \n No records found
    \n\n \n \n \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n \n\n","import { Component, OnInit, Inject } from '@angular/core';\nimport {MatDialog, MAT_DIALOG_DATA, MatDialogRef} from '@angular/material/dialog';\n@Component({\n selector: 'app-product-series-upload-log',\n templateUrl: './product-series-upload-log.component.html',\n styleUrls: ['./product-series-upload-log.component.scss']\n})\nexport class ProductSeriesUploadLogComponent implements OnInit {\n\n dataSourcePrice: any;\n constructor(public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: {dataSourcePrice: any}) { }\n\n ngOnInit(): void {\n this.dataSourcePrice = this.data;\n }\n \n onOkClick(): void {\n this.dialogRef.close();\n }\n}\n","\n
    \n \n
    \n
    \n
    \n
    \n
    \n

    \n Price List Upload Log...\n

    \n
    \n
    \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    Row NoSeries NameModel NameDescriptionStatus
    {{a.RowNo}}{{a.SeriesName}}{{a.ModelName}}{{a.Description}}\n \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n \n
    \n\n\n","import { Component, OnInit, Input } from '@angular/core';\nimport { ConfirmDialogComponent } from 'src/app/confirm-dialog/confirm-dialog.component';\nimport { MatDialog } from '@angular/material/dialog';\nimport { CommonService } from 'src/app/Service/common.service';\nimport { ToastrService } from 'ngx-toastr';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { ProductSeries, Station, VariantLevel1 } from 'src/app/Model/ProductModel';\nimport { Title } from '@angular/platform-browser';\nimport { AppConfigService } from 'src/app/Service/app-config.service';\n\n@Component({\n selector: 'app-add-variant-level1',\n templateUrl: './add-variant-level1.component.html',\n styleUrls: ['./add-variant-level1.component.scss']\n})\nexport class AddVariantLevel1Component implements OnInit {\n VariantLevel1obj: VariantLevel1 = new VariantLevel1();\n charCode: any;\n @Input()\n showLoader: boolean = false;\n ProductSeries: ProductSeries = new ProductSeries();\n ProductModel: any[] = [];\n StationList: any[] = [];\n OrignalStationList: any[] = [];\n SearchText:string = \"\";\n\n SeriesName: string = '';\n ProductSeriesVariantLabel: string = '';\n Variant1ProductSeries: string;\n \n\n constructor(private router: Router, private route: ActivatedRoute, private toastr: ToastrService, private CommonService: CommonService, public dialog: MatDialog, private titleService: Title,\n private appConfigService : AppConfigService) { }\n\n ngOnInit(): void {\n const appConfig = this.appConfigService.getConfig();\n const dynamicTitle = this.route.snapshot.data['title'];\n this.titleService.setTitle(`${dynamicTitle} - ${appConfig.titleName}`);\n // this.titleService.setTitle(this.route.snapshot.data['title'] + \" - ECOTECH\");\n this.VariantLevel1obj.ProductSeries = this.route.snapshot.params[\"id\"];\n this.getAllProductSeries();\n this.GetProductModelById(this.VariantLevel1obj.ProductSeries);\n\n }\n\n /*******************************************************************************\n * Get data for Variant Level 1\n * ******************************************************************************/\n getAllProductSeries() {\n this.showLoader = true;\n\n let queryString = \"\";\n queryString = \"Id=\" + this.VariantLevel1obj.ProductSeries;\n\n this.CommonService.GetData(\"ProductSeries\", \"GetById\", queryString).subscribe((data: any) => {\n this.VariantLevel1obj.SeriesName = data.SeriesName;\n this.VariantLevel1obj.ProductSeries = data.Id;\n this.ProductSeriesVariantLabel = data.Label_Variant1;\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n\n GetProductModelById(SeriesId: number) {\n this.showLoader = true;\n let queryString = \"\";\n queryString = \"SeriesId=\" + SeriesId;\n this.CommonService.GetData(\"ProductModel\", \"GetProductModelById\", queryString).subscribe((data: any) => {\n this.ProductModel = data;\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n\n GetStation(Model: any) {\n this.showLoader = true;\n\n let queryString = \"\";\n queryString = \"ProductModel=\" + Model;\n this.CommonService.GetData(\"ProductVariantLevel1\", \"GetAllStation\", queryString).subscribe((data: any) => {\n this.StationList = data;\n this.OrignalStationList = data;\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n\n\n /*******************************************************************************\n * End get data for add product family\n * ******************************************************************************/\n\n onModelSelected(event: any) {\n if (this.VariantLevel1obj.SeriesName == 'TC' || this.VariantLevel1obj.SeriesName == 'TR') {\n this.VariantLevel1obj.Level1arr = [];\n this.StationList = [];\n this.GetStation(event.target.value);\n }\n\n }\n\n onIsPriceOnRequest(event: any) {\n if (event.checked) {\n this.VariantLevel1obj.Price = 0;\n }\n }\n\n /*******************************************************************************\n * Form validation method\n * ******************************************************************************/\n\n isNumberKey(evt: any) {\n this.charCode = (evt.which) ? evt.which : evt.keyCode;\n if (this.charCode != 46 && this.charCode > 31\n && (this.charCode < 48 || this.charCode > 57)) {\n return false;\n }\n else {\n return true;\n }\n }\n\n AvoidSpace(event: any) {\n if (event.which === 32 && !event.target.value.length) {\n event.preventDefault();\n }\n }\n\n // OnStationSearch(event:any)\n // {\n // this.StationList = [];\n // if(event != \"\" && event != null && event != undefined)\n // {\n // /// this.StationList = this.OrignalStationList.filter(element =>element.Level1 == event)\n // this.OrignalStationList.forEach(element => {\n // if((element.Level1+'').indexOf(event) > -1)\n // {\n // this.StationList.push(element)\n // }\n \n // });\n // }\n // else{\n // this.StationList = this.OrignalStationList;\n // }\n // console.log(this.StationList);\n // }\n\n /*******************************************************************************\n * End Form validation method \n * ******************************************************************************/\n\n onSubmit(myform: any) {\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Do you want to add this \" + this.ProductSeriesVariantLabel + \" ?\",\n }\n });\n\n dialogRef.afterClosed().subscribe(dialogResult => {\n\n if (dialogResult) {\n\n this.showLoader = true;\n for (var i = 0; i < this.VariantLevel1obj.Level1arr.length; i++) {\n var obj = { Id: null, Level1: this.VariantLevel1obj.Level1arr[i] }\n this.VariantLevel1obj.Level1.push(obj);\n }\n\n this.CommonService.PostData('ProductVariantLevel1', 'Add', this.VariantLevel1obj, null).subscribe((data: any) => {\n let result = data;\n\n if (result.ResponseCode == 1) {\n this.toastr.success(this.ProductSeriesVariantLabel + ' added successfully!');\n this.router.navigate(['/VariantLevel1', this.VariantLevel1obj.ProductSeries, this.ProductSeriesVariantLabel]);\n this.showLoader = false;\n }\n else if (result.ResponseCode == 0) {\n this.toastr.warning(this.ProductSeriesVariantLabel + ' already exists!');\n this.VariantLevel1obj.Level1 = [];\n this.showLoader = false;\n }\n else {\n this.toastr.error('Failed to ' + this.ProductSeriesVariantLabel + '!');\n this.router.navigate(['/VariantLevel1', this.VariantLevel1obj.ProductSeries, this.ProductSeriesVariantLabel]);\n this.showLoader = false;\n }\n\n }, error => {\n this.toastr.error('Failed to add ' + this.ProductSeriesVariantLabel + '!');\n this.showLoader = false;\n this.router.navigate(['/VariantLevel1', this.VariantLevel1obj.ProductSeries, this.ProductSeriesVariantLabel]);\n });\n }\n });\n\n }\n\n}\n\n","\n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n Add {{ProductSeriesVariantLabel}}\n

    \n
    \n
    \n\n
    \n
    \n * Marked fields are\n mandatory\n
    \n \n
    \n
    \n\n
    \n\n
    \n
    \n","import { Component, OnInit, Input, EventEmitter, Output } from '@angular/core';\nimport { SingleFieldModel } from 'src/app/Model/SingleFieldModel';\nimport { ConfirmDialogComponent } from 'src/app/confirm-dialog/confirm-dialog.component';\nimport { MatDialog } from '@angular/material/dialog';\nimport { CommonService } from 'src/app/Service/common.service';\nimport { ToastrService } from 'ngx-toastr';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { Level1Model, Station, VariantLevel1 } from 'src/app/Model/ProductModel';\nimport { MatSelectChange } from '@angular/material/select';\nimport { AppGlobals } from 'src/app/app.global';\nimport { Title } from '@angular/platform-browser';\nimport { AccessPermissionModel } from 'src/app/Model/WorkFlowScreenAccessModel';\nimport { AccessPermissionService } from 'src/app/Service/access-permission.service';\nimport { AppConfigService } from 'src/app/Service/app-config.service';\n\n@Component({\n selector: 'app-edit-view-variant-level1',\n templateUrl: './edit-view-variant-level1.component.html',\n styleUrls: ['./edit-view-variant-level1.component.scss']\n})\nexport class EditViewVariantLevel1Component implements OnInit {\n isEditable: boolean = true;\n FormStatus: string = \"View\";\n VariantLevel1obj: VariantLevel1 = new VariantLevel1();\n charCode: any;\n ProductFamily: any[] = [];\n @Input()\n showLoader: boolean = false;\n ProductSeries: any[] = [];\n ProductModel: any[] = [];\n StationList: Level1Model[] = [];\n SelectedStation: any[] = [];\n ProductSeriesVariantLabel: string = '';\n queryString: string = \"\";\n UserRole: any;\n isProductVariant1Editable: boolean = false;\n\n accesspermissionobj:AccessPermissionModel[]=Array();\n AccesspermissionForRole:any[]=[];\n\n\n @Output() selectionChange: EventEmitter\n constructor(private router: Router, private route: ActivatedRoute, private toastr: ToastrService, private CommonService: CommonService, public dialog: MatDialog, private titleService: Title,private accessservice: AccessPermissionService,\n private appConfigService : AppConfigService) { }\n\n ngOnInit(): void {\n const appConfig = this.appConfigService.getConfig();\n const dynamicTitle = this.route.snapshot.data['title'];\n this.titleService.setTitle(`${dynamicTitle} - ${appConfig.titleName}`);\n // this.titleService.setTitle(this.route.snapshot.data['title'] + \" - ECOTECH\");\n this.UserRole = localStorage.getItem(\"UserRole\");\n this.getAccess();\n //this.isProductVariant1Editable = AppGlobals.ProductMastersEditableAccessArray.filter(x => x.role == this.UserRole)[0]?.isEditable;\n this.ProductSeriesVariantLabel = this.route.snapshot.params[\"label\"];\n if (this.route.snapshot.params[\"id\"] == undefined) {\n this.queryString = \"ProductModel=\" + this.route.snapshot.params[\"ProductModel\"];\n this.queryString += \"&Price=\" + this.route.snapshot.params[\"Price\"];\n this.queryString += \"&Status=\" + this.route.snapshot.params[\"Status\"];\n this.queryString += \"&IsPriceOnRequest=\" + this.route.snapshot.params[\"IsPriceOnRequest\"];\n this.getVariantLevel1IdDetailsById('GetbyProductModelAndPrice', this.queryString);\n }\n else {\n this.queryString = \"Id=\" + this.route.snapshot.params[\"id\"];\n this.getVariantLevel1IdDetailsById('GetById', this.queryString);\n }\n\n }\n /*******************************************************************************\n * Get data for add variant level-1\n * ******************************************************************************/\n getVariantLevel1IdDetailsById(ActionName: string, queryString: string) {\n this.showLoader = true;\n\n this.CommonService.GetData('ProductVariantLevel1', ActionName, queryString).subscribe((data: any) => {\n this.VariantLevel1obj = data;\n if (this.VariantLevel1obj.SeriesName == 'TC' || this.VariantLevel1obj.SeriesName == 'TR') {\n this.StationList = this.VariantLevel1obj.Level1;\n this.SelectedStation = this.VariantLevel1obj.Level1.map(item => item.Level1.toString()); //Level1\n this.GetStation(this.VariantLevel1obj.ProductModel);\n\n }\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n\n });\n\n }\n\n\n GetStation(Model: any) {\n this.showLoader = true;\n\n let queryString = \"\";\n queryString = \"ProductModel=\" + Model;\n this.CommonService.GetData(\"ProductVariantLevel1\", \"GetAllStation\", queryString).subscribe((data: any) => {\n this.StationList = this.VariantLevel1obj.Level1.concat(data);\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n\n /*******************************************************************************\n * End get data for add variant level-1\n * ******************************************************************************/\n\n OnStationselected(event: any) {\n this.VariantLevel1obj.Level1 = [];\n }\n\n EditDetails() {\n this.isEditable = false;\n this.FormStatus = \"Edit\";\n const appConfig = this.appConfigService.getConfig();\n this.titleService.setTitle(`Edit Product Variant Level 1 - ${appConfig.titleName}`);\n // this.titleService.setTitle(\"Edit Product Variant Level 1 - ECOTECH\");\n }\n\n onIsPriceOnRequest(event: any) {\n if (event.checked) {\n this.VariantLevel1obj.Price = 0;\n }\n }\n\n /*******************************************************************************\n * Form validation method\n * ******************************************************************************/\n\n isNumberKey(evt: any) {\n this.charCode = (evt.which) ? evt.which : evt.keyCode;\n if (this.charCode != 46 && this.charCode > 31\n && (this.charCode < 48 || this.charCode > 57)) {\n return false;\n }\n else {\n return true;\n }\n }\n\n AvoidSpace(event: any) {\n if (event.which === 32 && !event.target.value.length) {\n event.preventDefault();\n }\n }\n\n /*******************************************************************************\n * End Form validation method \n * ******************************************************************************/\n\n DeleteStation() {\n this.VariantLevel1obj.Level1 = [];\n for (var i = 0; i < this.SelectedStation.length; i++) {\n let obj = this.StationList.find(x => x.Level1 == this.SelectedStation[i]);\n this.VariantLevel1obj.Level1.push(obj);\n }\n this.VariantLevel1obj.Level1 = this.VariantLevel1obj.Level1.filter(x => x.Id != null);\n if (this.VariantLevel1obj.Level1.length == 0) {\n this.toastr.warning(\"This \" + this.ProductSeriesVariantLabel + \" does not exist for \" + this.VariantLevel1obj.ModelName + \" product model\")\n this.VariantLevel1obj.Level1 = [];\n }\n else {\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Do you want to delete this \" + this.ProductSeriesVariantLabel + \"?\"\n }\n });\n\n dialogRef.afterClosed().subscribe(dialogResult => {\n\n if (dialogResult) {\n this.showLoader = true;\n\n this.CommonService.PostData('ProductVariantLevel1', 'DeleteStation', this.VariantLevel1obj, null).subscribe((data: any) => {\n let result = data;\n\n if (result.ResponseCode == 1) {\n this.toastr.success(this.ProductSeriesVariantLabel + ' deleted successfully!');\n this.router.navigate(['/VariantLevel1', this.VariantLevel1obj.ProductSeries, this.ProductSeriesVariantLabel]);\n this.showLoader = false;\n }\n else if (result.ResponseCode == 0) {\n this.toastr.warning(\"Failed to delete this \" + this.ProductSeriesVariantLabel + \" because it has some dependency!\");\n this.showLoader = false;\n }\n else {\n this.toastr.error('Failed to delete ' + this.ProductSeriesVariantLabel + '!');\n this.router.navigate(['/VariantLevel1', this.VariantLevel1obj.ProductSeries, this.ProductSeriesVariantLabel]);\n this.showLoader = false;\n }\n\n\n }, error => {\n this.toastr.error('Failed to delete ' + this.ProductSeriesVariantLabel + '!');\n this.showLoader = false;\n this.router.navigate(['/VariantLevel1', this.VariantLevel1obj.ProductSeries, this.ProductSeriesVariantLabel]);\n });\n }\n else {\n this.VariantLevel1obj.Level1 = [];\n }\n });\n }\n }\n\n\n onSubmit(myform: any) {\n\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Do you want to update this \" + this.ProductSeriesVariantLabel + \"?\"\n }\n });\n\n dialogRef.afterClosed().subscribe(dialogResult => {\n\n if (dialogResult) {\n this.showLoader = true;\n\n for (var i = 0; i < this.SelectedStation.length; i++) {\n let obj = this.StationList.find(x => x.Level1 == this.SelectedStation[i]);\n this.VariantLevel1obj.Level1.push(obj);\n }\n this.CommonService.PostData('ProductVariantLevel1', 'Update', this.VariantLevel1obj, null).subscribe((data: any) => {\n let result = data;\n\n if (result.ResponseCode == 1) {\n this.toastr.success(this.ProductSeriesVariantLabel + ' updated successfully!');\n this.router.navigate(['/VariantLevel1', this.VariantLevel1obj.ProductSeries, this.ProductSeriesVariantLabel]);\n this.showLoader = false;\n }\n else if (result.ResponseCode == 0) {\n this.toastr.warning(this.ProductSeriesVariantLabel + ' already exists!');\n this.showLoader = false;\n }\n else {\n this.toastr.error('Failed to update ' + this.ProductSeriesVariantLabel + '!');\n this.router.navigate(['/VariantLevel1', this.VariantLevel1obj.ProductSeries, this.ProductSeriesVariantLabel]);\n this.showLoader = false;\n }\n\n\n }, error => {\n this.toastr.error('Failed to update ' + this.ProductSeriesVariantLabel + '!');\n this.showLoader = false;\n this.router.navigate(['/VariantLevel1', this.VariantLevel1obj.ProductSeries, this.ProductSeriesVariantLabel]);\n });\n }\n });\n }\n\n getAccess()\n {\n this.accessservice.GetAll().subscribe((data:any)=> {\n this.accesspermissionobj=data;\n this.isProductVariant1Editable=this.accesspermissionobj.filter(x => x.Fk_RoleId == this.UserRole && x.ElementKey=='isProductLine')[0]?.IsEditable;\n \n });\n \n }\n}\n","\n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n {{FormStatus}} {{ProductSeriesVariantLabel}}\n

    \n
    \n
    \n\n
    \n
    \n * Marked fields are\n mandatory\n
    \n \n
    \n
    \n\n
    \n\n
    \n
    \n","import { Component, OnInit, ViewChild, Input, Output, EventEmitter, ChangeDetectorRef } from '@angular/core';\nimport { MatSort, Sort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { ToastrService } from 'ngx-toastr';\nimport { CommonService } from 'src/app/Service/common.service';\nimport { MatDialog } from '@angular/material/dialog';\nimport { ConfirmDialogComponent } from 'src/app/confirm-dialog/confirm-dialog.component';\nimport { Level1Model, ProductSeries, VariantLevel1 } from 'src/app/Model/ProductModel';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { AppGlobals } from 'src/app/app.global';\nimport { Title } from '@angular/platform-browser';\nimport { AccessPermissionModel } from 'src/app/Model/WorkFlowScreenAccessModel';\nimport { AccessPermissionService } from 'src/app/Service/access-permission.service';\nimport { AppConfigService } from 'src/app/Service/app-config.service';\n\n@Component({\n selector: 'app-variant-level1-details',\n templateUrl: './variant-level1-details.component.html',\n styleUrls: ['./variant-level1-details.component.scss']\n})\nexport class VariantLevel1DetailsComponent implements OnInit {\n displayedColumns: string[] = ['SeriesName', 'ModelName', 'otherType', 'Level1', 'Price', 'Action'];\n dataSource: MatTableDataSource;\n disabled: boolean = false;\n ProductSeriesId: number;\n SeriesName: string = \"\";\n UserRole: any;\n isProductVariant1Editable: boolean = false;\n ProductSeriesArr: ProductSeries = new ProductSeries();\n VariantDrpdown: string = \"\";\n accesspermissionobj:AccessPermissionModel[]=Array();\n AccesspermissionForRole:any[]=[];\n\n\n /*************************************************************************\n Server side Pagination purpose\n *************************************************************************/\n @ViewChild('paginator') paginator: MatPaginator;\n pageNumber: number = 1;\n @Input() pageSize: number = 5;\n @Input() length: number;\n @Input() pageIndex: number = this.pageNumber - 1;\n direction: string = 'desc';\n ColumnName: string = 'ModifiedOn';\n SearchText: string = \"\";\n @Output('matSortChange') sortChange: EventEmitter;\n /*************************************************************************\n End here\n *************************************************************************/\n\n ProductSeriesVariantLabel: string = '';\n showLoader: boolean;\n data: any[] = [];\n constructor(private toastr: ToastrService, private CommonService: CommonService, public dialog: MatDialog, private router: Router, private route: ActivatedRoute, private titleService: Title,private accessservice: AccessPermissionService,\n private appConfigService : AppConfigService) {\n this.router.routeReuseStrategy.shouldReuseRoute = () => false;\n }\n\n ngOnInit() {\n const appConfig = this.appConfigService.getConfig();\n const dynamicTitle = this.route.snapshot.data['title'];\n this.titleService.setTitle(`${dynamicTitle} - ${appConfig.titleName}`);\n // this.titleService.setTitle(this.route.snapshot.data['title'] + \" - ECOTECH\");\n this.UserRole = localStorage.getItem(\"UserRole\");\n this.getAccess();\n // this.isProductVariant1Editable = AppGlobals.ProductMastersEditableAccessArray.filter(x => x.role == this.UserRole)[0]?.isEditable;\n this.route.params.subscribe(params => {\n\n this.ProductSeriesVariantLabel = params['Label'];\n this.ProductSeriesId = params['id'];\n this.pageSize = 5;\n this.pageNumber = 1;\n this.pageIndex = this.pageNumber - 1;\n this.length = 0;\n this.direction = 'desc';\n this.ColumnName = 'ModifiedOn';\n this.SearchText = \"\";\n this.VariantDrpdown = \"Variant1\";\n this.GetAllVariantLevel1Details();\n this.getAllProductSeries();\n });\n\n\n }\n\n\n\n /*************************************************************************\n * Below function used for Server side Pagination,Sorting and Searching\n * (1)GetAllVariantLevel1Details() - To get data for grid\n * (2)SearchParam() - searching\n * (3)sortData() - Sorting\n * (4)pageEvent() - Pagination\n * \n * ***********************************************************************/\n\n GetAllVariantLevel1Details() {\n this.showLoader = true;\n let queryString = \"\";\n queryString = \"pageNumber=\" + this.pageNumber;\n queryString += \"&pageSize=\" + this.pageSize;\n queryString += \"&searchText=\" + this.SearchText;\n queryString += \"&direction=\" + this.direction;\n queryString += \"&columnName=\" + this.ColumnName;\n queryString += \"&ProductSeriesId=\" + this.ProductSeriesId; //Seires Id\n\n this.CommonService.GetData('ProductVariantLevel1', 'GetAllPagination', queryString).subscribe((data: any) => {\n this.data = data.Data;\n this.length = data.Total;\n if (this.ColumnName == 'Price') {\n var IsPriceOnRequestList: VariantLevel1[] = [];\n var IsNotPriceOnRequestList: VariantLevel1[] = [];\n IsPriceOnRequestList = this.data?.filter(x => x.IsPriceOnRequest == true);\n IsNotPriceOnRequestList = this.data?.filter(x => x.IsPriceOnRequest != true)\n IsPriceOnRequestList = IsPriceOnRequestList.concat(IsNotPriceOnRequestList);\n this.dataSource = new MatTableDataSource(IsPriceOnRequestList);\n }\n else {\n this.dataSource = new MatTableDataSource(this.data);\n }\n\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n\n }\n\n getAllProductSeries() {\n this.showLoader = true;\n\n let queryString = \"\";\n queryString = \"Id=\" + this.ProductSeriesId;\n\n this.CommonService.GetData(\"ProductSeries\", \"GetById\", queryString).subscribe((data: any) => {\n this.ProductSeriesArr = data;\n this.SeriesName = data.SeriesName;\n this.ProductSeriesVariantLabel = data.Label_Variant1;\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n\n SearchParam(event: any) {\n this.SearchText = event.target.value;\n this.pageNumber = 1;\n this.paginator.pageIndex = 0;\n this.GetAllVariantLevel1Details();\n }\n\n sortData(event: any) {\n if (this.dataSource.filteredData != null) {\n this.direction = event.direction;\n this.ColumnName = event.active;\n this.GetAllVariantLevel1Details();\n }\n\n\n }\n\n pageEvent(event: any) {\n window.scroll({\n top: 0,\n left: 0,\n behavior: 'smooth'\n });\n this.pageNumber = event.pageIndex + 1;\n this.pageSize = event.pageSize;\n this.GetAllVariantLevel1Details();\n }\n /************************************************************************\n * Grid Code End \n * **********************************************************************/\n\n /*******************************************************************************\n * Form validation method\n * ******************************************************************************/\n\n AvoidSpace(event: any) {\n if (event.which === 32 && !event.target.value.length) {\n event.preventDefault();\n }\n }\n\n /*******************************************************************************\n * End Form validation method \n * ******************************************************************************/\n RedirectToVariant(event: any) {\n if (this.VariantDrpdown == 'ProductModel') {\n this.router.navigate(['/ProductModel', this.ProductSeriesArr.Id]);\n }\n else if (this.VariantDrpdown == 'Options') {\n this.router.navigate(['/Options', this.ProductSeriesArr.Id]);\n }\n else if (this.VariantDrpdown == 'Variant1') {\n this.router.navigate(['/VariantLevel1', this.ProductSeriesArr.Id, this.ProductSeriesArr.Label_Variant1]);\n }\n else if (this.VariantDrpdown == 'Variant2') {\n this.router.navigate(['/VariantLevel2', this.ProductSeriesArr.Id, this.ProductSeriesArr.Label_Variant1, this.ProductSeriesArr.Label_Variant2]);\n }\n else if (this.VariantDrpdown == 'Variant3') {\n this.router.navigate(['/VariantLevel3', this.ProductSeriesArr.Id, this.ProductSeriesArr.Label_Variant2, this.ProductSeriesArr.Label_Variant3]);\n }\n else if (this.VariantDrpdown == 'Variant4') {\n this.router.navigate(['/VariantLevel4', this.ProductSeriesArr.Id, this.ProductSeriesArr.Label_Variant3, this.ProductSeriesArr.Label_Variant4]);\n }\n }\n \n\n UpdateVariantLevel1StatusById(Level1Data: VariantLevel1, CurrentStatus: boolean) {\n\n if (CurrentStatus == true) {\n //Create ConfirmDialogRef \n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Do you want to deactivate this \" + this.ProductSeriesVariantLabel + ' ?',\n }\n });\n // listen to response from ConfirmDialogRef\n dialogRef.afterClosed().subscribe(dialogResult => {\n // if user pressed yes dialogResult will be true, \n // if he pressed no - it will be false\n if (dialogResult) {\n this.pageNumber = 1;\n this.paginator.pageIndex = 0;\n this.length = 0;\n this.direction = 'desc';\n this.ColumnName = 'ModifiedOn';\n this.showLoader = true;\n this.CommonService.PostData('ProductVariantLevel1', 'UpdateStatus', Level1Data, null).subscribe((data: any) => {\n this.showLoader = false;\n if (data.ResponseCode == 1) {\n this.toastr.success(this.ProductSeriesVariantLabel + \" deactivated successfully!\");\n }\n else if (data.ResponseCode == 0) {\n this.toastr.warning(\"Failed to deactivate this \" + this.ProductSeriesVariantLabel + \" because it has some dependency!\");\n }\n else {\n this.toastr.info(\"Failed to deactivate \" + this.ProductSeriesVariantLabel + \"!\");\n }\n this.GetAllVariantLevel1Details();\n }, error => {\n this.toastr.error(\"Failed to deactivate \" + this.ProductSeriesVariantLabel + \"!\");\n this.GetAllVariantLevel1Details();\n this.showLoader = false;\n });\n\n }\n else {\n this.GetAllVariantLevel1Details();\n this.showLoader = false;\n let element: HTMLElement = document.getElementsByClassName('slideToogle')[0] as HTMLElement;\n\n }\n });\n\n }\n else {\n //Create ConfirmDialogRef\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Do you want to activate this \" + this.ProductSeriesVariantLabel + \"?\"\n }\n });\n // listen to response from ConfirmDialogRef\n dialogRef.afterClosed().subscribe(dialogResult => {\n // if user pressed yes dialogResult will be true, \n // if he pressed no - it will be false\n if (dialogResult) {\n this.pageNumber = 1;\n this.paginator.pageIndex = 0;\n this.length = 0;\n this.direction = 'desc';\n this.ColumnName = 'ModifiedOn';\n this.showLoader = true;\n\n this.CommonService.PostData('ProductVariantLevel1', 'UpdateStatus', Level1Data, null).subscribe((data: any) => {\n this.showLoader = false;\n if (data.ResponseCode == 1) {\n this.toastr.success(this.ProductSeriesVariantLabel + \" activated successfully!\");\n }\n else {\n this.toastr.info(\"Failed to activate \" + this.ProductSeriesVariantLabel + \"!\");\n }\n this.GetAllVariantLevel1Details();\n }, error => {\n this.toastr.error(\"Failed to activate \" + this.ProductSeriesVariantLabel + \"!\");\n this.GetAllVariantLevel1Details();\n this.showLoader = false;\n });\n\n }\n else {\n this.GetAllVariantLevel1Details();\n this.showLoader = false;\n let element: HTMLElement = document.getElementsByClassName('slideToogle')[0] as HTMLElement;\n element.click();\n }\n });\n }\n }\n\n getAccess()\n {\n this.accessservice.GetAll().subscribe((data:any)=> {\n this.accesspermissionobj=data;\n this.isProductVariant1Editable=this.accesspermissionobj.filter(x => x.Fk_RoleId == this.UserRole && x.ElementKey=='isProductLine')[0]?.IsEditable;\n \n });\n \n }\n\n}\n\n\n","\n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n {{ProductSeriesVariantLabel}} Listing\n

    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n {{ProductSeriesArr.SeriesName}}
    \n \n \n Product Model\n {{ProductSeriesArr.Label_Variant1}}\n \n {{ProductSeriesArr.Label_Variant2}}\n {{ProductSeriesArr.Label_Variant3}}\n {{ProductSeriesArr.Label_Variant4}}\n Product Options\n \n \n
    \n
    \n \n\n Search\n \n \n\n
    \n\n
    \n\n
    \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n\n \n \n\n\n
    Product Series {{row.SeriesName}} Product Model {{row.ModelName}} \n {{ProductSeriesVariantLabel}} \n \n {{item.Level1}}{{i === row.Level1.length -1 ? '': ',' }}\n \n {{ProductSeriesVariantLabel}} \n {{row.otherType}} Price (€) {{row.IsPriceOnRequest ? 'Price\n on Request' :row.Price | indianCurrency}} Action \n \n \n \n \n \n     \n\n \n   {{row.Status==true ? 'Active': 'Inactive'}}\n
    \n No records found
    \n\n \n \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n \n","import { Component, OnInit, Input, ViewChild } from '@angular/core';\nimport { ConfirmDialogComponent } from 'src/app/confirm-dialog/confirm-dialog.component';\nimport { MatDialog } from '@angular/material/dialog';\nimport { CommonService } from 'src/app/Service/common.service';\nimport { ToastrService } from 'ngx-toastr';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { Level1Model, ProductSeries, Station, VariantLevel2 } from 'src/app/Model/ProductModel';\nimport { Title } from '@angular/platform-browser';\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\nimport { AppConfigService } from 'src/app/Service/app-config.service';\n\n@Component({\n selector: 'app-add-variant-level2',\n templateUrl: './add-variant-level2.component.html',\n styleUrls: ['./add-variant-level2.component.scss']\n})\nexport class AddVariantLevel2Component implements OnInit {\n ProductSeriesVariant2Label: string = '';\n VariantLevel2obj: VariantLevel2 = new VariantLevel2();\n charCode: any;\n @Input()\n showLoader: boolean = false;\n ProductSeries: ProductSeries = new ProductSeries();\n ProductModel: any[] = [];\n //To Stored Api data of VariantLevel1 and VariantLevel2 \n Level1arr: Level1Model[] = [];\n Level2arr: Level1Model[] = [];\n SpeedStepName: string = \"\";\n @ViewChild('closebutton') closebutton;\n\n //To bind current VariantLevel2 data\n Level2Currdata: any[] = [];\n constructor(private router: Router, private route: ActivatedRoute, private toastr: ToastrService, private CommonService: CommonService, public dialog: MatDialog, private titleService: Title, private activeModal: NgbActiveModal,\n private appConfigService : AppConfigService) { }\n\n ngOnInit(): void {\n const appConfig = this.appConfigService.getConfig();\n const dynamicTitle = this.route.snapshot.data['title'];\n this.titleService.setTitle(`${dynamicTitle} - ${appConfig.titleName}`);\n // this.titleService.setTitle(this.route.snapshot.data['title'] + \" - ECOTECH\");\n this.VariantLevel2obj.ProductSeries = this.route.snapshot.params[\"Seriesid\"];\n this.getAllProductSeries();\n this.GetProductModelById(this.VariantLevel2obj.ProductSeries);\n }\n\n /*******************************************************************************\n * Get data for Variant Level 1\n * ******************************************************************************/\n getAllProductSeries() {\n this.showLoader = true;\n\n let queryString = \"\";\n queryString = \"Id=\" + this.VariantLevel2obj.ProductSeries;\n\n this.CommonService.GetData(\"ProductSeries\", \"GetById\", queryString).subscribe((data: any) => {\n this.VariantLevel2obj.SeriesName = data.SeriesName;\n this.VariantLevel2obj.ProductSeries = data.Id;\n this.VariantLevel2obj.IsLevel2DepOnLevel1 = data.IsLevel2DepOnLevel1;\n this.VariantLevel2obj.Label_Variant1 = data.Label_Variant1;\n this.VariantLevel2obj.Label_Variant2 = data.Label_Variant2;\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n\n GetProductModelById(SeriesId: number) {\n this.showLoader = true;\n let queryString = \"\";\n queryString = \"SeriesId=\" + SeriesId;\n this.CommonService.GetData(\"ProductModel\", \"GetProductModelById\", queryString).subscribe((data: any) => {\n this.ProductModel = data;\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n\n GetAllSpeedStep(StationId, ModelId: number) {\n this.showLoader = true;\n\n let queryString = \"\";\n queryString = \"ProductModel=\" + ModelId;\n queryString += \"&StationId=\" + StationId;\n this.CommonService.GetData(\"ProductVariantLevel2\", \"GetAllSpeedStep\", queryString).subscribe((data: any) => {\n this.Level2arr = data;\n this.showLoader = false;\n }, error => {\n this.showLoader = false;\n });\n }\n\n GetVariant1ByModelId(ModelId: number) {\n this.showLoader = true;\n\n let queryString = \"\";\n queryString = \"ProductModel=\" + ModelId;\n this.CommonService.GetData(\"ProductVariantLevel1\", \"GetVariant1ByModelId\", queryString).subscribe((data: any) => {\n this.Level1arr = data;\n if (this.VariantLevel2obj.SeriesName == 'TC' || this.VariantLevel2obj.SeriesName == 'TR') {\n this.Level1arr = this.Level1arr.sort((a, b) => parseInt(a.Level1) - parseInt(b.Level1));\n }\n else {\n this.Level1arr = this.Level1arr.sort((a, b) => a.Level1.localeCompare(b.Level1));\n }\n\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n\n /*******************************************************************************\n * End get data for Variant Level 1\n * ******************************************************************************/\n\n /*******************************************************************************\n * Form validation method\n * ******************************************************************************/\n\n isNumberKey(evt: any) {\n this.charCode = (evt.which) ? evt.which : evt.keyCode;\n if (this.charCode != 46 && this.charCode > 31\n && (this.charCode < 48 || this.charCode > 57)) {\n return false;\n }\n else {\n return true;\n }\n }\n\n AvoidSpace(event: any) {\n if (event.which === 32 && !event.target.value.length) {\n event.preventDefault();\n }\n }\n\n\n OpenPopupAddSpeedStep() {\n this.SpeedStepName = \"\";\n\n }\n\n /*******************************************************************************\n * End Form validation method \n * ******************************************************************************/\n\n onModelSelected(event: any) {\n this.VariantLevel2obj.Level1Id = null;\n this.Level1arr = [];\n this.Level2Currdata = [];\n this.Level2arr = [];\n this.GetVariant1ByModelId(event.target.value);\n }\n\n OnStationselected(event: any) {\n if (this.VariantLevel2obj.SeriesName == 'TC' || this.VariantLevel2obj.SeriesName == 'TR') {\n this.Level2Currdata = [];\n this.Level2arr = [];\n this.GetAllSpeedStep(event.target.value, this.VariantLevel2obj.ProductModel);\n }\n }\n\n onIsPriceOnRequest(event: any) {\n if (event.checked) {\n this.VariantLevel2obj.Level2Price = 0;\n }\n }\n\n\n onSubmit(myform: any) {\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Do you want to add this \" + this.VariantLevel2obj.Label_Variant2 + \" ?\",\n }\n });\n\n dialogRef.afterClosed().subscribe(dialogResult => {\n\n if (dialogResult) {\n\n this.showLoader = true;\n\n for (var i = 0; i < this.Level2Currdata.length; i++) {\n var obj = { Id: null, Level1: this.Level2Currdata[i] }\n this.VariantLevel2obj.Level2.push(obj);\n }\n this.CommonService.PostData('ProductVariantLevel2', 'Add', this.VariantLevel2obj, null).subscribe((data: any) => {\n let result = data;\n\n if (result.ResponseCode == 1) {\n this.toastr.success(this.VariantLevel2obj.Label_Variant2 + ' added successfully!');\n this.router.navigate(['/VariantLevel2', this.VariantLevel2obj.ProductSeries, this.VariantLevel2obj.Label_Variant1, this.VariantLevel2obj.Label_Variant2]);\n this.showLoader = false;\n }\n else if (result.ResponseCode == 0) {\n this.toastr.warning(this.VariantLevel2obj.Label_Variant2 + ' already exists!');\n this.VariantLevel2obj.Level2 = [];\n this.showLoader = false;\n }\n else {\n this.toastr.error('Failed to ' + this.VariantLevel2obj.Label_Variant2 + '!');\n this.router.navigate(['/VariantLevel2', this.VariantLevel2obj.ProductSeries, this.VariantLevel2obj.Label_Variant1, this.VariantLevel2obj.Label_Variant2]);\n this.showLoader = false;\n }\n\n }, error => {\n this.toastr.error('Failed to add ' + this.VariantLevel2obj.Label_Variant2 + '!');\n this.showLoader = false;\n this.router.navigate(['/VariantLevel2', this.VariantLevel2obj.ProductSeries, this.VariantLevel2obj.Label_Variant1, this.VariantLevel2obj.Label_Variant2]);\n });\n }\n });\n\n }\n \n AddSpeedStep(myform: any) {\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Do you want to add this SpeedStep ?\",\n }\n });\n\n dialogRef.afterClosed().subscribe(dialogResult => {\n\n if (dialogResult) {\n\n this.showLoader = true;\n\n let queryString = \"\";\n queryString = \"SpeedStepName=\" + this.SpeedStepName;\n this.CommonService.PostData('ProductVariantLevel2', 'AddSpeedStep', null, queryString).subscribe((data: any) => {\n let result = data;\n\n if (result.ResponseCode == 1) {\n this.toastr.success('SpeedStep added successfully!');\n this.closebutton.nativeElement.click();\n if ((this.VariantLevel2obj.ProductModel != null && this.VariantLevel2obj.ProductModel != undefined\n && this.VariantLevel2obj.ProductModel != 0) &&\n (this.VariantLevel2obj.Level1Id != null && this.VariantLevel2obj.Level1Id != undefined && this.VariantLevel2obj.Level1Id != 0)) {\n\n this.GetAllSpeedStep(this.VariantLevel2obj.Level1Id, this.VariantLevel2obj.ProductModel);\n }\n this.showLoader = false;\n }\n else if (result.ResponseCode == 0) {\n this.toastr.warning('SpeedStep already exists!');\n this.showLoader = false;\n }\n else {\n this.toastr.error('Failed to add SpeedStep!');\n this.closebutton.nativeElement.click();\n if ((this.VariantLevel2obj.ProductModel != null && this.VariantLevel2obj.ProductModel != undefined\n && this.VariantLevel2obj.ProductModel != 0) &&\n (this.VariantLevel2obj.Level1Id != null && this.VariantLevel2obj.Level1Id != undefined && this.VariantLevel2obj.Level1Id != 0)) {\n\n this.GetAllSpeedStep(this.VariantLevel2obj.Level1Id, this.VariantLevel2obj.ProductModel);\n }\n this.showLoader = false;\n }\n\n }, error => {\n this.toastr.error('Failed to add SpeedStep!');\n this.closebutton.nativeElement.click();\n this.showLoader = false;\n if ((this.VariantLevel2obj.ProductModel != null && this.VariantLevel2obj.ProductModel != undefined\n && this.VariantLevel2obj.ProductModel != 0) &&\n (this.VariantLevel2obj.Level1Id != null && this.VariantLevel2obj.Level1Id != undefined && this.VariantLevel2obj.Level1Id != 0)) {\n\n this.GetAllSpeedStep(this.VariantLevel2obj.Level1Id, this.VariantLevel2obj.ProductModel);\n }\n });\n }\n });\n\n\n }\n\n}\n","\n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n Add {{VariantLevel2obj.Label_Variant2}}\n

    \n
    \n
    \n\n
    \n
    \n * Marked fields are\n mandatory\n
    \n \n
    \n
    \n\n
    \n\n
    \n
    \n\n\n\n
    \n
    \n
    \n\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    Add SpeedStep
    \n \n
    \n
    \n * Marked fields are\n mandatory\n
    \n
    \n\n
    \n\n
    \n \n
    \n \n\n
    \n
    \n SpeedStep is required
    \n
    \n Please enter alphanumeric values ​​only
    \n
    \n SpeedStep must not exceed 4 characters\n
    \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n
    \n   \n \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n\n
    \n
    \n
    ","import { Component, OnInit, Input, EventEmitter, Output, ViewChild } from '@angular/core';\nimport { ConfirmDialogComponent } from 'src/app/confirm-dialog/confirm-dialog.component';\nimport { MatDialog } from '@angular/material/dialog';\nimport { CommonService } from 'src/app/Service/common.service';\nimport { ToastrService } from 'ngx-toastr';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { Level1Model, ProductSeries, VariantLevel2 } from 'src/app/Model/ProductModel';\nimport { AppGlobals } from 'src/app/app.global';\nimport { Title } from '@angular/platform-browser';\nimport { AccessPermissionModel } from 'src/app/Model/WorkFlowScreenAccessModel';\nimport { AccessPermissionService } from 'src/app/Service/access-permission.service';\nimport { AppConfigService } from 'src/app/Service/app-config.service';\n@Component({\n selector: 'app-edit-view-variant-level2',\n templateUrl: './edit-view-variant-level2.component.html',\n styleUrls: ['./edit-view-variant-level2.component.scss']\n})\nexport class EditViewVariantLevel2Component implements OnInit {\n\n constructor(private router: Router, private route: ActivatedRoute, private toastr: ToastrService, private CommonService: CommonService, public dialog: MatDialog, private titleService: Title,private accessservice: AccessPermissionService,\n private appConfigService : AppConfigService) { }\n\n VariantLevel2obj: VariantLevel2 = new VariantLevel2();\n isEditable: boolean = true;\n FormStatus: string = \"View\";\n charCode: any;\n @Input()\n showLoader: boolean = false;\n queryString: string = \"\";\n //To bind current VariantLevel2 data\n Level2Currdata: any[] = [];\n\n ProductSeries: ProductSeries = new ProductSeries();\n Level1arr: Level1Model[] = [];\n Level2arr: Level1Model[] = [];\n UserRole: any;\n isProductVariant2Editable: boolean = false;\n SpeedStepName: string = \"\";\n accesspermissionobj:AccessPermissionModel[]=Array();\n AccesspermissionForRole:any[]=[];\n\n\n\n @ViewChild('closebutton') closebutton;\n \n ngOnInit(): void {\n const appConfig = this.appConfigService.getConfig();\n const dynamicTitle = this.route.snapshot.data['title'];\n this.titleService.setTitle(`${dynamicTitle} - ${appConfig.titleName}`);\n // this.titleService.setTitle(this.route.snapshot.data['title'] + \" - ECOTECH\");\n this.UserRole = localStorage.getItem(\"UserRole\");\n this.getAccess();\n //this.isProductVariant2Editable = AppGlobals.ProductMastersEditableAccessArray.filter(x => x.role == this.UserRole)[0]?.isEditable;\n if (this.route.snapshot.params[\"Id\"] == undefined) {\n this.queryString = \"Level1=\" + this.route.snapshot.params[\"Level\"];\n this.queryString += \"&ProductModel=\" + this.route.snapshot.params[\"Model\"];\n this.queryString += \"&Price=\" + this.route.snapshot.params[\"Price\"];\n this.queryString += \"&Status=\" + this.route.snapshot.params[\"Status\"];\n this.queryString += \"&IsPriceOnRequest=\" + this.route.snapshot.params[\"IsPriceOnRequest\"];\n this.getVariantLevel2IdDetailsById('GetbyProductModelAndPrice', this.queryString);\n }\n else {\n this.queryString = \"Id=\" + this.route.snapshot.params[\"Id\"];\n this.getVariantLevel2IdDetailsById('GetById', this.queryString);\n }\n\n }\n\n /*******************************************************************************\n * Get data for add variant level-1\n * ******************************************************************************/\n getVariantLevel2IdDetailsById(ActionName: string, queryString: string) {\n this.showLoader = true;\n\n this.CommonService.GetData('ProductVariantLevel2', ActionName, queryString).subscribe((data: any) => {\n this.VariantLevel2obj = data;\n this.getAllProductSeries();\n this.GetVariant1ByModelId(this.VariantLevel2obj.ProductModel);\n if (this.VariantLevel2obj.SeriesName == 'TC' || this.VariantLevel2obj.SeriesName == 'TR') {\n this.Level2arr = this.VariantLevel2obj.Level2;\n this.Level2Currdata = this.VariantLevel2obj.Level2.map(item => item.Level1.toString());\n this.GetAllSpeedStep(this.VariantLevel2obj.Level1Id, this.VariantLevel2obj.ProductModel);\n }\n\n\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n\n });\n\n }\n\n getAllProductSeries() {\n this.showLoader = true;\n\n let queryString = \"\";\n queryString = \"Id=\" + this.VariantLevel2obj.ProductSeries;\n\n this.CommonService.GetData(\"ProductSeries\", \"GetById\", queryString).subscribe((data: any) => {\n this.VariantLevel2obj.SeriesName = data.SeriesName;\n this.VariantLevel2obj.ProductSeries = data.Id;\n this.VariantLevel2obj.IsLevel2DepOnLevel1 = data.IsLevel2DepOnLevel1;\n this.VariantLevel2obj.Label_Variant1 = data.Label_Variant1;\n this.VariantLevel2obj.Label_Variant2 = data.Label_Variant2;\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n\n GetVariant1ByModelId(ModelId: number) {\n this.showLoader = true;\n\n let queryString = \"\";\n queryString = \"ProductModel=\" + ModelId;\n this.CommonService.GetData(\"ProductVariantLevel1\", \"GetVariant1ByModelId\", queryString).subscribe((data: any) => {\n this.Level1arr = data;\n if (this.VariantLevel2obj.SeriesName == 'TC' || this.VariantLevel2obj.SeriesName == 'TR') {\n this.Level1arr = this.Level1arr.sort((a, b) => parseInt(a.Level1) - parseInt(b.Level1));\n }\n else {\n this.Level1arr = this.Level1arr.sort((a, b) => a.Level1.localeCompare(b.Level1));\n }\n\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n\n GetAllSpeedStep(StationId, ModelId: number) {\n this.showLoader = true;\n\n let queryString = \"\";\n queryString = \"ProductModel=\" + ModelId;\n queryString += \"&StationId=\" + StationId;\n this.CommonService.GetData(\"ProductVariantLevel2\", \"GetAllSpeedStep\", queryString).subscribe((data: any) => {\n this.Level2arr = this.VariantLevel2obj.Level2.concat(data);\n this.showLoader = false;\n }, error => {\n this.showLoader = false;\n });\n }\n\n\n /*******************************************************************************\n * End get data for add variant level-1\n * ******************************************************************************/\n\n EditDetails() {\n this.isEditable = false;\n this.FormStatus = \"Edit\";\n const appConfig = this.appConfigService.getConfig();\n this.titleService.setTitle(`Edit Product Variant Level 2 - ${appConfig.titleName}`);\n // this.titleService.setTitle(\"Edit Product Variant Level 2 - ECOTECH\");\n }\n onIsPriceOnRequest(event: any) {\n if (event.checked) {\n this.VariantLevel2obj.Level2Price = 0;\n }\n }\n\n /*******************************************************************************\n * Form validation method\n * ******************************************************************************/\n\n isNumberKey(evt: any) {\n this.charCode = (evt.which) ? evt.which : evt.keyCode;\n if (this.charCode != 46 && this.charCode > 31\n && (this.charCode < 48 || this.charCode > 57)) {\n return false;\n }\n else {\n return true;\n }\n }\n\n AvoidSpace(event: any) {\n if (event.which === 32 && !event.target.value.length) {\n event.preventDefault();\n }\n }\n\n OpenPopupAddSpeedStep() {\n this.SpeedStepName = \"\";\n\n }\n\n /*******************************************************************************\n * End Form validation method \n * ******************************************************************************/\n\n DeleteStation() {\n this.VariantLevel2obj.Level2 = [];\n for (var i = 0; i < this.Level2Currdata.length; i++) {\n var obj = this.Level2arr.find(x => x.Level1 == this.Level2Currdata[i])\n this.VariantLevel2obj.Level2.push(obj);\n }\n this.VariantLevel2obj.Level2 = this.VariantLevel2obj.Level2.filter(x => x.Id != null);\n if (this.VariantLevel2obj.Level2.length == 0) {\n this.toastr.warning(\"This \" + this.VariantLevel2obj.Label_Variant2 + \" does not exist for \" + this.VariantLevel2obj.ModelName + \" product model\")\n this.VariantLevel2obj.Level2 = [];\n }\n else {\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Do you want to delete this \" + this.VariantLevel2obj.Label_Variant2 + \"?\"\n }\n });\n\n dialogRef.afterClosed().subscribe(dialogResult => {\n\n if (dialogResult) {\n this.showLoader = true;\n\n this.CommonService.PostData('ProductVariantLevel2', 'DeleteSpeedStep', this.VariantLevel2obj, null).subscribe((data: any) => {\n let result = data;\n\n if (result.ResponseCode == 1) {\n this.toastr.success(this.VariantLevel2obj.Label_Variant2 + ' deleted successfully!');\n this.router.navigate(['/VariantLevel2', this.VariantLevel2obj.ProductSeries, this.VariantLevel2obj.Label_Variant1, this.VariantLevel2obj.Label_Variant2]);\n this.showLoader = false;\n }\n else if (result.ResponseCode == 0) {\n this.toastr.warning(\"Failed to delete this \" + this.VariantLevel2obj.Label_Variant2 + \" because it has some dependency!\");\n this.showLoader = false;\n }\n else {\n this.toastr.error('Failed to delete ' + this.VariantLevel2obj.Label_Variant2 + '!');\n this.router.navigate(['/VariantLevel2', this.VariantLevel2obj.ProductSeries, this.VariantLevel2obj.Label_Variant1, this.VariantLevel2obj.Label_Variant2]);\n this.showLoader = false;\n }\n\n\n }, error => {\n this.toastr.error('Failed to delete ' + this.VariantLevel2obj.Label_Variant2 + '!');\n this.showLoader = false;\n this.router.navigate(['/VariantLevel2', this.VariantLevel2obj.ProductSeries, this.VariantLevel2obj.Label_Variant1, this.VariantLevel2obj.Label_Variant2]);\n });\n }\n else {\n this.VariantLevel2obj.Level2 = [];\n }\n });\n }\n }\n\n onSubmit(myform: any) {\n\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Do you want to update this \" + this.VariantLevel2obj.Label_Variant2 + \"?\"\n }\n });\n\n dialogRef.afterClosed().subscribe(dialogResult => {\n\n if (dialogResult) {\n this.showLoader = true;\n if (this.VariantLevel2obj.SeriesName == 'TC' || this.VariantLevel2obj.SeriesName == 'TR') {\n this.VariantLevel2obj.Level2 = [];\n }\n for (var i = 0; i < this.Level2Currdata.length; i++) {\n var obj = this.Level2arr.find(x => x.Level1 == this.Level2Currdata[i])\n this.VariantLevel2obj.Level2.push(obj);\n }\n this.CommonService.PostData('ProductVariantLevel2', 'Update', this.VariantLevel2obj, null).subscribe((data: any) => {\n let result = data;\n\n if (result.ResponseCode == 1) {\n this.toastr.success(this.VariantLevel2obj.Label_Variant2 + ' updated successfully!');\n this.router.navigate(['/VariantLevel2', this.VariantLevel2obj.ProductSeries, this.VariantLevel2obj.Label_Variant1, this.VariantLevel2obj.Label_Variant2]);\n this.showLoader = false;\n }\n else if (result.ResponseCode == 0) {\n this.toastr.warning(this.VariantLevel2obj.Label_Variant2 + ' already exists!');\n this.showLoader = false;\n }\n else {\n this.toastr.error('Failed to update ' + this.VariantLevel2obj.Label_Variant2 + '!');\n this.router.navigate(['/VariantLevel2', this.VariantLevel2obj.ProductSeries, this.VariantLevel2obj.Label_Variant1, this.VariantLevel2obj.Label_Variant2]);\n this.showLoader = false;\n }\n\n\n }, error => {\n this.toastr.error('Failed to update ' + this.VariantLevel2obj.Label_Variant2 + '!');\n this.showLoader = false;\n this.router.navigate(['/VariantLevel2', this.VariantLevel2obj.ProductSeries, this.VariantLevel2obj.Label_Variant1, this.VariantLevel2obj.Label_Variant2]);\n });\n }\n });\n }\n\n AddSpeedStep(myform: any) {\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Do you want to add this SpeedStep ?\",\n }\n });\n\n dialogRef.afterClosed().subscribe(dialogResult => {\n\n if (dialogResult) {\n\n this.showLoader = true;\n\n let queryString = \"\";\n queryString = \"SpeedStepName=\" + this.SpeedStepName;\n this.CommonService.PostData('ProductVariantLevel2', 'AddSpeedStep', null, queryString).subscribe((data: any) => {\n let result = data;\n\n if (result.ResponseCode == 1) {\n this.toastr.success('SpeedStep added successfully!');\n this.closebutton.nativeElement.click();\n if ((this.VariantLevel2obj.ProductModel != null && this.VariantLevel2obj.ProductModel != undefined\n && this.VariantLevel2obj.ProductModel != 0) &&\n (this.VariantLevel2obj.Level1Id != null && this.VariantLevel2obj.Level1Id != undefined && this.VariantLevel2obj.Level1Id != 0)) {\n\n this.GetAllSpeedStep(this.VariantLevel2obj.Level1Id, this.VariantLevel2obj.ProductModel);\n }\n this.showLoader = false;\n }\n else if (result.ResponseCode == 0) {\n this.toastr.warning('SpeedStep already exists!');\n this.showLoader = false;\n }\n else {\n this.toastr.error('Failed to add SpeedStep!');\n this.closebutton.nativeElement.click();\n if ((this.VariantLevel2obj.ProductModel != null && this.VariantLevel2obj.ProductModel != undefined\n && this.VariantLevel2obj.ProductModel != 0) &&\n (this.VariantLevel2obj.Level1Id != null && this.VariantLevel2obj.Level1Id != undefined && this.VariantLevel2obj.Level1Id != 0)) {\n\n this.GetAllSpeedStep(this.VariantLevel2obj.Level1Id, this.VariantLevel2obj.ProductModel);\n }\n this.showLoader = false;\n }\n\n }, error => {\n this.toastr.error('Failed to add SpeedStep!');\n this.closebutton.nativeElement.click();\n this.showLoader = false;\n if ((this.VariantLevel2obj.ProductModel != null && this.VariantLevel2obj.ProductModel != undefined\n && this.VariantLevel2obj.ProductModel != 0) &&\n (this.VariantLevel2obj.Level1Id != null && this.VariantLevel2obj.Level1Id != undefined && this.VariantLevel2obj.Level1Id != 0)) {\n\n this.GetAllSpeedStep(this.VariantLevel2obj.Level1Id, this.VariantLevel2obj.ProductModel);\n }\n });\n }\n });\n\n }\n\n getAccess()\n {\n this.accessservice.GetAll().subscribe((data:any)=> {\n this.accesspermissionobj=data;\n this.isProductVariant2Editable=this.accesspermissionobj.filter(x => x.Fk_RoleId == this.UserRole && x.ElementKey=='isProductLine')[0]?.IsEditable;\n \n });\n \n }\n}\n\n","\n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n {{FormStatus}} {{VariantLevel2obj.Label_Variant2}}\n

    \n
    \n
    \n\n
    \n
    \n * Marked fields are\n mandatory\n
    \n \n
    \n
    \n\n
    \n\n
    \n
    \n\n\n\n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    Add SpeedStep
    \n \n
    \n
    \n * Marked fields are\n mandatory\n
    \n
    \n \n
    \n\n
    \n \n
    \n \n \n
    \n
    \n SpeedStep is required
    \n
    \n Please enter alphanumeric values ​​only
    \n
    \n SpeedStep must not exceed 4 characters\n
    \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n
    \n   \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n \n
    \n
    \n
    ","import { Component, OnInit, ViewChild, Input, Output, EventEmitter } from '@angular/core';\nimport { MatSort, Sort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { ToastrService } from 'ngx-toastr';\nimport { CommonService } from 'src/app/Service/common.service';\nimport { MatDialog } from '@angular/material/dialog';\nimport { ConfirmDialogComponent } from 'src/app/confirm-dialog/confirm-dialog.component';\nimport { Level1Model, ProductSeries, VariantLevel2 } from 'src/app/Model/ProductModel';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { AppGlobals } from 'src/app/app.global';\nimport { Title } from '@angular/platform-browser';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { AccessPermissionModel } from 'src/app/Model/WorkFlowScreenAccessModel';\nimport { AccessPermissionService } from 'src/app/Service/access-permission.service';\nimport { AppConfigService } from 'src/app/Service/app-config.service';\n\n@Component({\n selector: 'app-variant-level2-details',\n templateUrl: './variant-level2-details.component.html',\n styleUrls: ['./variant-level2-details.component.scss']\n})\nexport class VariantLevel2DetailsComponent implements OnInit {\n displayedColumns: string[] = ['SeriesName', 'ModelName', 'Level1', 'Level1Price', 'otherType', 'Level2', 'Level2Price', 'Action'];\n dataSource: MatTableDataSource;\n disabled: boolean = false;\n SeriesName: string = \"\";\n UserRole: any;\n isProductVariant2Editable: boolean = false;\n isVariant2DependsOnVariant1: boolean = false;\n ProductSeriesArr: ProductSeries = new ProductSeries();\n VariantDrpdown: string = \"\";\n accesspermissionobj:AccessPermissionModel[]=Array();\n AccesspermissionForRole:any[]=[];\n\n /*************************************************************************\n Server side Pagination purpose\n *************************************************************************/\n pageNumber: number = 1;\n @Input() pageSize: number = 5;\n @Input() length: number;\n @Input() pageIndex: number = this.pageNumber - 1;\n direction: string = 'desc';\n ColumnName: string = 'ModifiedOn';\n SearchText: string = \"\";\n @Output('matSortChange') sortChange: EventEmitter;\n @ViewChild(MatPaginator) paginator: MatPaginator;\n /*************************************************************************\n End here\n *************************************************************************/\n\n ProductSeriesVariant1Label: string = '';\n ProductSeriesVariant2Label: string = '';\n ProductSeriesId: number;\n showLoader: boolean;\n data: any[] = [];\n constructor(private toastr: ToastrService, private CommonService: CommonService, public dialog: MatDialog, private router: Router, private route: ActivatedRoute, private titleService: Title,private accessservice: AccessPermissionService,\n private appConfigService : AppConfigService) {\n this.router.routeReuseStrategy.shouldReuseRoute = () => false;\n }\n\n ngOnInit() {\n const appConfig = this.appConfigService.getConfig();\n const dynamicTitle = this.route.snapshot.data['title'];\n this.titleService.setTitle(`${dynamicTitle} - ${appConfig.titleName}`);\n // this.titleService.setTitle(this.route.snapshot.data['title'] + \" - ECOTECH\");\n this.UserRole = localStorage.getItem(\"UserRole\");\n this.getAccess();\n // this.isProductVariant2Editable = AppGlobals.ProductMastersEditableAccessArray.filter(x => x.role == this.UserRole)[0]?.isEditable;\n this.route.params.subscribe(params => {\n this.ProductSeriesVariant1Label = params['Variant1'];\n this.ProductSeriesVariant2Label = params['Variant2'];\n this.ProductSeriesId = params['Seriesid'];\n this.pageSize = 5;\n this.pageNumber = 1;\n this.pageIndex = this.pageNumber - 1;\n this.length = 0;\n this.direction = 'desc';\n this.ColumnName = 'ModifiedOn';\n this.SearchText = \"\";\n this.VariantDrpdown = \"Variant2\";\n this.GetAllVariantLevel2Details();\n this.getAllProductSeries();\n });\n\n\n }\n\n\n /*************************************************************************\n * Below function used for Server side Pagination,Sorting and Searching\n * (1)GetAllVariantLevel2Details() - To get data for grid\n * (2)SearchParam() - searching\n * (3)sortData() - Sorting\n * (4)pageEvent() - Pagination\n * \n * ***********************************************************************/\n\n GetAllVariantLevel2Details() {\n this.showLoader = true;\n let queryString = \"\";\n queryString = \"pageNumber=\" + this.pageNumber;\n queryString += \"&pageSize=\" + this.pageSize;\n queryString += \"&searchText=\" + this.SearchText;\n queryString += \"&direction=\" + this.direction;\n queryString += \"&columnName=\" + this.ColumnName;\n queryString += \"&ProductSeriesId=\" + this.ProductSeriesId; //Seires Id\n\n this.CommonService.GetData('ProductVariantLevel2', 'GetAllPagination', queryString).subscribe((data: any) => {\n this.data = data.Data;\n this.length = data.Total;\n if (this.ColumnName == 'Level1Price') {\n var IsPriceOnRequestList: VariantLevel2[] = [];\n var IsNotPriceOnRequestList: VariantLevel2[] = [];\n\n IsPriceOnRequestList = this.data.filter(x => x.Level1IsPriceOnRequest == true);\n IsNotPriceOnRequestList = this.data.filter(x => x.Level1IsPriceOnRequest != true);\n IsPriceOnRequestList = IsPriceOnRequestList.concat(IsNotPriceOnRequestList);\n this.dataSource = new MatTableDataSource(IsPriceOnRequestList);\n }\n else if (this.ColumnName == 'Level2Price') {\n var IsPriceOnRequestList: VariantLevel2[] = [];\n var IsNotPriceOnRequestList: VariantLevel2[] = [];\n\n IsPriceOnRequestList = this.data.filter(x => x.IsPriceOnRequest == true);\n IsNotPriceOnRequestList = this.data.filter(x => x.IsPriceOnRequest != true);\n IsPriceOnRequestList = IsPriceOnRequestList.concat(IsNotPriceOnRequestList);\n this.dataSource = new MatTableDataSource(IsPriceOnRequestList);\n }\n else {\n this.dataSource = new MatTableDataSource(this.data);\n }\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n\n }\n\n getAllProductSeries() {\n this.showLoader = true;\n\n let queryString = \"\";\n queryString = \"Id=\" + this.ProductSeriesId;\n\n this.CommonService.GetData(\"ProductSeries\", \"GetById\", queryString).subscribe((data: any) => {\n this.ProductSeriesArr = data;\n this.SeriesName = data.SeriesName;\n this.isVariant2DependsOnVariant1 = data.IsLevel2DepOnLevel1;\n this.ProductSeriesVariant1Label = data.Label_Variant1;\n this.ProductSeriesVariant2Label = data.Label_Variant2;\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n\n SearchParam(event: any) {\n this.SearchText = event.target.value;\n this.pageNumber = 1;\n this.paginator.pageIndex = 0;\n this.GetAllVariantLevel2Details();\n }\n\n sortData(event: any) {\n if (this.dataSource.filteredData != null) {\n this.direction = event.direction;\n this.ColumnName = event.active;\n this.GetAllVariantLevel2Details();\n }\n }\n\n pageEvent(event: any) {\n window.scroll({\n top: 0,\n left: 0,\n behavior: 'smooth'\n });\n this.pageNumber = event.pageIndex + 1;\n this.pageSize = event.pageSize;\n this.GetAllVariantLevel2Details();\n }\n /************************************************************************\n * Grid Code End \n * **********************************************************************/\n\n /*******************************************************************************\n * Form validation method\n * ******************************************************************************/\n\n AvoidSpace(event: any) {\n if (event.which === 32 && !event.target.value.length) {\n event.preventDefault();\n }\n }\n\n /*******************************************************************************\n * End Form validation method \n * ******************************************************************************/\n RedirectToVariant(event: any) {\n if (this.VariantDrpdown == 'ProductModel') {\n this.router.navigate(['/ProductModel', this.ProductSeriesArr.Id]);\n }\n else if (this.VariantDrpdown == 'Options') {\n this.router.navigate(['/Options', this.ProductSeriesArr.Id]);\n }\n else if (this.VariantDrpdown == 'Variant1') {\n this.router.navigate(['/VariantLevel1', this.ProductSeriesArr.Id, this.ProductSeriesArr.Label_Variant1]);\n }\n else if (this.VariantDrpdown == 'Variant2') {\n this.router.navigate(['/VariantLevel2', this.ProductSeriesArr.Id, this.ProductSeriesArr.Label_Variant1, this.ProductSeriesArr.Label_Variant2]);\n }\n else if (this.VariantDrpdown == 'Variant3') {\n this.router.navigate(['/VariantLevel3', this.ProductSeriesArr.Id, this.ProductSeriesArr.Label_Variant2, this.ProductSeriesArr.Label_Variant3]);\n }\n else if (this.VariantDrpdown == 'Variant4') {\n this.router.navigate(['/VariantLevel4', this.ProductSeriesArr.Id, this.ProductSeriesArr.Label_Variant3, this.ProductSeriesArr.Label_Variant4]);\n }\n }\n\n\n UpdateVariantLevel2StatusById(Level1Data: VariantLevel2, CurrentStatus: boolean) {\n\n if (CurrentStatus == true) {\n //Create ConfirmDialogRef \n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Do you want to deactivate this \" + this.ProductSeriesVariant2Label + ' ?',\n }\n });\n // listen to response from ConfirmDialogRef\n dialogRef.afterClosed().subscribe(dialogResult => {\n // if user pressed yes dialogResult will be true, \n // if he pressed no - it will be false\n if (dialogResult) {\n this.pageNumber = 1;\n this.paginator.pageIndex = 0;\n this.length = 0;\n this.direction = 'desc';\n this.ColumnName = 'ModifiedOn';\n this.showLoader = true;\n this.CommonService.PostData('ProductVariantLevel2', 'UpdateStatus', Level1Data, null).subscribe((data: any) => {\n this.showLoader = false;\n if (data.ResponseCode == 1) {\n this.toastr.success(this.ProductSeriesVariant2Label + \" deactivated successfully!\");\n }\n else if (data.ResponseCode == 0) {\n this.toastr.warning(\"Failed to deactivate this \" + this.ProductSeriesVariant2Label + \" because it has some dependency!\");\n }\n else {\n this.toastr.info(\"Failed to deactivate \" + this.ProductSeriesVariant2Label + \"!\");\n }\n this.GetAllVariantLevel2Details();\n }, error => {\n this.toastr.error(\"Failed to deactivate \" + this.ProductSeriesVariant2Label + \"!\");\n this.GetAllVariantLevel2Details();\n this.showLoader = false;\n });\n\n }\n else {\n this.GetAllVariantLevel2Details();\n this.showLoader = false;\n let element: HTMLElement = document.getElementsByClassName('slideToogle')[0] as HTMLElement;\n\n }\n });\n\n }\n else {\n //Create ConfirmDialogRef\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Do you want to activate this \" + this.ProductSeriesVariant2Label + \"?\"\n }\n });\n // listen to response from ConfirmDialogRef\n dialogRef.afterClosed().subscribe(dialogResult => {\n // if user pressed yes dialogResult will be true, \n // if he pressed no - it will be false\n if (dialogResult) {\n this.pageNumber = 1;\n this.paginator.pageIndex = 0;\n this.length = 0;\n this.direction = 'desc';\n this.ColumnName = 'ModifiedOn';\n this.showLoader = true;\n\n this.CommonService.PostData('ProductVariantLevel2', 'UpdateStatus', Level1Data, null).subscribe((data: any) => {\n this.showLoader = false;\n if (data.ResponseCode == 1) {\n this.toastr.success(this.ProductSeriesVariant2Label + \" activated successfully!\");\n }\n else {\n this.toastr.info(\"Failed to activate \" + this.ProductSeriesVariant2Label + \"!\");\n }\n this.GetAllVariantLevel2Details();\n }, error => {\n this.toastr.error(\"Failed to activate \" + this.ProductSeriesVariant2Label + \"!\");\n this.GetAllVariantLevel2Details();\n this.showLoader = false;\n });\n\n }\n else {\n this.GetAllVariantLevel2Details();\n this.showLoader = false;\n let element: HTMLElement = document.getElementsByClassName('slideToogle')[0] as HTMLElement;\n element.click();\n }\n });\n }\n }\n\n getAccess()\n {\n this.accessservice.GetAll().subscribe((data:any)=> {\n this.accesspermissionobj=data;\n this.isProductVariant2Editable=this.accesspermissionobj.filter(x => x.Fk_RoleId == this.UserRole && x.ElementKey=='isProductLine')[0]?.IsEditable;\n \n });\n \n }\n\n}\n\n\n","\n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n {{ProductSeriesVariant2Label}} Listing\n

    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n {{ProductSeriesArr.SeriesName}}
    \n \n \n Product Model\n {{ProductSeriesArr.Label_Variant1}}\n \n {{ProductSeriesArr.Label_Variant2}}\n {{ProductSeriesArr.Label_Variant3}}\n {{ProductSeriesArr.Label_Variant4}}\n Product Options\n \n \n
    \n
    \n \n\n Search\n \n \n\n
    \n\n
    \n\n
    \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n\n \n \n\n\n
    Product Series {{row.SeriesName}} Product Model {{row.ModelName}} \n {{ProductSeriesVariant1Label}} {{row.Level1}} \n {{ProductSeriesVariant1Label + \" - Price\"}} (€){{row.Level1IsPriceOnRequest ? 'Price on Request':\n row.Level1Price | indianCurrency}}\n {{ProductSeriesVariant2Label}}\n \n {{item.Level1}}{{i === row.Level2.length -1? '': ',' }}\n \n {{ProductSeriesVariant2Label}} \n {{row.otherType}}\n {{ProductSeriesVariant2Label + \" - Price\"}} (€) {{row.IsPriceOnRequest ? 'Price\n on Request': row.Level2Price |indianCurrency}} Action \n \n \n \n \n \n     \n \n   {{row.Status==true ? 'Active': 'Inactive'}}\n
    \n No records found
    \n\n \n \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n \n","import { Component, OnInit, Input, ViewChild } from '@angular/core';\nimport { ConfirmDialogComponent } from 'src/app/confirm-dialog/confirm-dialog.component';\nimport { MatDialog } from '@angular/material/dialog';\nimport { CommonService } from 'src/app/Service/common.service';\nimport { ToastrService } from 'ngx-toastr';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { Level1Model, ProductSeries, Station, VariantLevel3 } from 'src/app/Model/ProductModel';\nimport { Title } from '@angular/platform-browser';\nimport { AppConfigService } from 'src/app/Service/app-config.service';\n\n@Component({\n selector: 'app-add-variant-level3',\n templateUrl: './add-variant-level3.component.html',\n styleUrls: ['./add-variant-level3.component.scss']\n})\nexport class AddVariantLevel3Component implements OnInit {\n ProductSeriesVariant2Label: string = '';\n VariantLevel3obj: VariantLevel3 = new VariantLevel3();\n charCode: any;\n @Input()\n showLoader: boolean = false;\n ProductSeries: ProductSeries = new ProductSeries();\n ProductModel: any[] = [];\n //To Stored Api data of VariantLevel1 and VariantLevel2 \n Level2arr: Level1Model[] = [];\n Level3arr: Level1Model[] = []; // only for TC and TR\n Variant1Arr: any[] = [];\n\n //To bind current VariantLevel3 data\n Level3Currdata: any[] = [];\n PositionName: string=\"\";\n @ViewChild('closebutton') closebutton;\n \n constructor(private router: Router, private route: ActivatedRoute, private toastr: ToastrService, private CommonService: CommonService, public dialog: MatDialog, private titleService: Title,\n private appConfigService : AppConfigService) { }\n\n ngOnInit(): void {\n const appConfig = this.appConfigService.getConfig();\n const dynamicTitle = this.route.snapshot.data['title'];\n this.titleService.setTitle(`${dynamicTitle} - ${appConfig.titleName}`);\n // this.titleService.setTitle(this.route.snapshot.data['title'] + \" - ECOTECH\");\n this.VariantLevel3obj.ProductSeries = this.route.snapshot.params[\"Seriesid\"];\n this.getAllProductSeries();\n this.GetProductModelById(this.VariantLevel3obj.ProductSeries);\n }\n\n /*******************************************************************************\n * Get data for Variant Level 3\n * ******************************************************************************/\n getAllProductSeries() {\n this.showLoader = true;\n\n let queryString = \"\";\n queryString = \"Id=\" + this.VariantLevel3obj.ProductSeries;\n\n this.CommonService.GetData(\"ProductSeries\", \"GetById\", queryString).subscribe((data: any) => {\n this.VariantLevel3obj.SeriesName = data.SeriesName;\n this.VariantLevel3obj.ProductSeries = data.Id;\n this.VariantLevel3obj.IsLevel3DepOnLevel2 = data.IsLevel3DepOnLevel2;\n this.VariantLevel3obj.IsLevel2DepOnLevel1 = data.IsLevel2DepOnLevel1;\n this.VariantLevel3obj.Label_Variant1 = data.Label_Variant1;\n this.VariantLevel3obj.Label_Variant2 = data.Label_Variant2;\n this.VariantLevel3obj.Label_Variant3 = data.Label_Variant3;\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n\n GetProductModelById(SeriesId: number) {\n this.showLoader = true;\n let queryString = \"\";\n queryString = \"SeriesId=\" + SeriesId;\n this.CommonService.GetData(\"ProductModel\", \"GetProductModelById\", queryString).subscribe((data: any) => {\n this.ProductModel = data;\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n\n GetAllPosition(ModelId: number)//For TC and TC\n {\n this.showLoader = true;\n\n let queryString = \"\";\n queryString = \"ProductModel=\" + ModelId;\n this.CommonService.GetData(\"ProductVariantLevel3\", \"GetAllPosition\", queryString).subscribe((data: any) => {\n this.Level3arr = data;\n this.showLoader = false;\n }, error => {\n this.showLoader = false;\n });\n }\n\n GetVariant2ByModelId(ModelId: number)// other than TC and TR\n {\n this.showLoader = true;\n\n let queryString = \"\";\n queryString = \"ProductModel=\" + ModelId;\n this.CommonService.GetData(\"ProductVariantLevel2\", \"GetVariant2ByModelId\", queryString).subscribe((data: any) => {\n this.Level2arr = data;\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n\n GetVariant1ByModelId(ModelId: number) {\n this.showLoader = true;\n\n let queryString = \"\";\n queryString = \"ProductModel=\" + ModelId;\n this.CommonService.GetData(\"ProductVariantLevel1\", \"GetVariant1ByModelId\", queryString).subscribe((data: any) => {\n this.Variant1Arr = data;\n \n\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n GetVariant2ByVariant1Id(Variant1: number) {\n this.showLoader = true;\n\n let queryString = \"\";\n queryString = \"Variant1=\" + Variant1;\n queryString += \"&ProductSeriesId=\" + this.VariantLevel3obj.ProductSeries;\n this.CommonService.GetData(\"ProductVariantLevel2\", \"GetVariant2ByVariant1Id\", queryString).subscribe((data: any) => {\n this.Level2arr = data;\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n\n /*******************************************************************************\n * End get data for Variant Level 3\n * ******************************************************************************/\n\n /*******************************************************************************\n * Form validation method\n * ******************************************************************************/\n\n isNumberKey(evt: any) {\n this.charCode = (evt.which) ? evt.which : evt.keyCode;\n if (this.charCode != 46 && this.charCode > 31\n && (this.charCode < 48 || this.charCode > 57)) {\n return false;\n }\n else {\n return true;\n }\n }\n\n AvoidSpace(event: any) {\n if (event.which === 32 && !event.target.value.length) {\n event.preventDefault();\n }\n }\n\n /*******************************************************************************\n * End Form validation method \n * ******************************************************************************/\n\n onModelSelected(event: any) {\n if (this.VariantLevel3obj.SeriesName == 'TC' || this.VariantLevel3obj.SeriesName == 'TR') {\n this.Level3Currdata = [];\n this.Level3arr = [];\n this.GetAllPosition(event.target.value);\n }\n else {\n this.VariantLevel3obj.Level2Id = null;\n this.VariantLevel3obj.Level1Id = null;\n this.Level2arr = [];\n if(this.VariantLevel3obj.IsLevel2DepOnLevel1 && this.VariantLevel3obj.IsLevel3DepOnLevel2)\n {\n this.GetVariant1ByModelId(event.target.value)\n }\n else if(this.VariantLevel3obj.IsLevel2DepOnLevel1 && !this.VariantLevel3obj.IsLevel3DepOnLevel2)\n {\n this.GetVariant1ByModelId(event.target.value)\n \n }\n else if(this.VariantLevel3obj.IsLevel3DepOnLevel2 && !this.VariantLevel3obj.IsLevel2DepOnLevel1){\n this.GetVariant2ByModelId(event.target.value);\n }\n \n \n }\n\n }\n\n onIsPriceOnRequest(event: any) {\n if (event.checked) {\n this.VariantLevel3obj.Level3Price = 0;\n }\n }\n\n onVariant1Selected(event: any)\n {\n this.VariantLevel3obj.Level2Id = null;\n this.GetVariant2ByVariant1Id(event.target.value);\n }\n\n\n onSubmit(myform: any) {\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Do you want to add this \" + this.VariantLevel3obj.Label_Variant3 + \" ?\",\n }\n });\n\n dialogRef.afterClosed().subscribe(dialogResult => {\n\n if (dialogResult) {\n\n this.showLoader = true;\n\n for (var i = 0; i < this.Level3Currdata.length; i++) {\n var obj = { Id: null, Level1: this.Level3Currdata[i] }\n this.VariantLevel3obj.Level3.push(obj);\n }\n this.CommonService.PostData('ProductVariantLevel3', 'Add', this.VariantLevel3obj, null).subscribe((data: any) => {\n let result = data;\n\n if (result.ResponseCode == 1) {\n this.toastr.success(this.VariantLevel3obj.Label_Variant3 + ' added successfully!');\n this.router.navigate(['/VariantLevel3', this.VariantLevel3obj.ProductSeries, this.VariantLevel3obj.Label_Variant2, this.VariantLevel3obj.Label_Variant3]);\n this.showLoader = false;\n }\n else if (result.ResponseCode == 0) {\n this.toastr.warning(this.VariantLevel3obj.Label_Variant3 + ' already exists!');\n this.VariantLevel3obj.Level3 = [];\n this.showLoader = false;\n }\n else {\n this.toastr.error('Failed to ' + this.VariantLevel3obj.Label_Variant3 + '!');\n this.router.navigate(['/VariantLevel3', this.VariantLevel3obj.ProductSeries, this.VariantLevel3obj.Label_Variant2, this.VariantLevel3obj.Label_Variant3]);\n this.showLoader = false;\n }\n\n }, error => {\n this.toastr.error('Failed to add ' + this.VariantLevel3obj.Label_Variant3 + '!');\n this.showLoader = false;\n this.router.navigate(['/VariantLevel3', this.VariantLevel3obj.ProductSeries, this.VariantLevel3obj.Label_Variant2, this.VariantLevel3obj.Label_Variant3]);\n });\n }\n });\n\n }\n\n OpenPopupAddPosition()\n {\n this.PositionName = \"\";\n }\n\n AddPosition(myform: any) {\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Do you want to add this Position ?\",\n }\n });\n\n dialogRef.afterClosed().subscribe(dialogResult => {\n\n if (dialogResult) {\n\n this.showLoader = true;\n\n let queryString = \"\";\n queryString = \"PositionName=\" + this.PositionName;\n this.CommonService.PostData('ProductVariantLevel3', 'AddPosition', null, queryString).subscribe((data: any) => {\n let result = data;\n\n if (result.ResponseCode == 1) {\n this.toastr.success('SpeedStep added successfully!');\n this.closebutton.nativeElement.click();\n if ((this.VariantLevel3obj.ProductModel != null && this.VariantLevel3obj.ProductModel != undefined\n && this.VariantLevel3obj.ProductModel != 0)) {\n\n this.GetAllPosition(this.VariantLevel3obj.ProductModel);\n }\n this.showLoader = false;\n }\n else if (result.ResponseCode == 0) {\n this.toastr.warning('Position already exists!');\n this.showLoader = false;\n }\n else {\n this.toastr.error('Failed to add Position!');\n this.closebutton.nativeElement.click();\n if ((this.VariantLevel3obj.ProductModel != null && this.VariantLevel3obj.ProductModel != undefined\n && this.VariantLevel3obj.ProductModel != 0)) {\n\n this.GetAllPosition(this.VariantLevel3obj.ProductModel);\n }\n this.showLoader = false;\n }\n\n }, error => {\n this.toastr.error('Failed to add Position!');\n this.closebutton.nativeElement.click();\n this.showLoader = false;\n if ((this.VariantLevel3obj.ProductModel != null && this.VariantLevel3obj.ProductModel != undefined\n && this.VariantLevel3obj.ProductModel != 0)) {\n\n this.GetAllPosition(this.VariantLevel3obj.ProductModel);\n }\n });\n }\n });\n\n\n }\n\n}\n","\n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n Add {{VariantLevel3obj.Label_Variant3}}\n

    \n
    \n
    \n\n
    \n
    \n * Marked fields are\n mandatory\n
    \n \n
    \n
    \n\n
    \n\n
    \n
    \n\n\n\n
    \n
    \n
    \n\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    Add Position
    \n \n
    \n
    \n * Marked fields are\n mandatory\n
    \n
    \n\n
    \n\n
    \n \n
    \n \n\n
    \n
    \n Position is required
    \n \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n
    \n   \n \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n\n
    \n
    \n
    ","import { Component, OnInit, Input, EventEmitter, Output, ViewChild } from '@angular/core';\nimport { ConfirmDialogComponent } from 'src/app/confirm-dialog/confirm-dialog.component';\nimport { MatDialog } from '@angular/material/dialog';\nimport { CommonService } from 'src/app/Service/common.service';\nimport { ToastrService } from 'ngx-toastr';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { Level1Model, ProductSeries, VariantLevel3 } from 'src/app/Model/ProductModel';\nimport { AppGlobals } from 'src/app/app.global';\nimport { Title } from '@angular/platform-browser';\nimport { AccessPermissionModel } from 'src/app/Model/WorkFlowScreenAccessModel';\nimport { AccessPermissionService } from 'src/app/Service/access-permission.service';\nimport { AppConfigService } from 'src/app/Service/app-config.service';\n\n@Component({\n selector: 'app-edit-view-variant-level3',\n templateUrl: './edit-view-variant-level3.component.html',\n styleUrls: ['./edit-view-variant-level3.component.scss']\n})\nexport class EditViewVariantLevel3Component implements OnInit {\n\n constructor(private router: Router, private route: ActivatedRoute, private toastr: ToastrService, private CommonService: CommonService, public dialog: MatDialog, private titleService: Title,private accessservice: AccessPermissionService,\n private appConfigService : AppConfigService) { }\n\n VariantLevel3obj: VariantLevel3 = new VariantLevel3();\n isEditable: boolean = true;\n FormStatus: string = \"View\";\n charCode: any;\n @Input()\n showLoader: boolean = false;\n queryString: string = \"\";\n //To bind current VariantLevel3 data\n Level3Currdata: any[] = [];\n Variant1Arr: any[] = [];\n ProductSeries: ProductSeries = new ProductSeries();\n Level3arr: Level1Model[] = [];\n Level2arr: Level1Model[] = [];\n UserRole: any;\n isProductVariant3Editable: boolean = false;\n PositionName: string=\"\";\n accesspermissionobj:AccessPermissionModel[]=Array();\n AccesspermissionForRole:any[]=[];\n\n\n @ViewChild('closebutton') closebutton;\n ngOnInit(): void {\n const appConfig = this.appConfigService.getConfig();\n const dynamicTitle = this.route.snapshot.data['title'];\n this.titleService.setTitle(`${dynamicTitle} - ${appConfig.titleName}`);\n // this.titleService.setTitle(this.route.snapshot.data['title'] + \" - ECOTECH\");\n this.UserRole = localStorage.getItem(\"UserRole\");\n this.getAccess();\n // this.isProductVariant3Editable = AppGlobals.ProductMastersEditableAccessArray.filter(x => x.role == this.UserRole)[0]?.isEditable;\n if (this.route.snapshot.params[\"id\"] == undefined) {\n this.queryString = \"ProductModel=\" + this.route.snapshot.params[\"Model\"];\n this.queryString += \"&Price=\" + this.route.snapshot.params[\"Price\"];\n this.queryString += \"&Status=\" + this.route.snapshot.params[\"Status\"];\n this.queryString += \"&IsPriceOnRequest=\" + this.route.snapshot.params[\"IsPriceOnRequest\"];\n this.getVariantLevel3IdDetailsById('GetbyProductModelAndPrice', this.queryString);\n }\n else {\n this.queryString = \"Id=\" + this.route.snapshot.params[\"id\"];\n this.getVariantLevel3IdDetailsById('GetById', this.queryString);\n }\n \n }\n\n /*******************************************************************************\n * Get data for add variant level-1\n * ******************************************************************************/\n getVariantLevel3IdDetailsById(ActionName: string, queryString: string) {\n this.showLoader = true;\n\n this.CommonService.GetData('ProductVariantLevel3', ActionName, queryString).subscribe((data: any) => {\n this.VariantLevel3obj = data;\n this.getAllProductSeries();\n \n\n\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n\n });\n\n }\n\n getAllProductSeries() {\n this.showLoader = true;\n\n let queryString = \"\";\n queryString = \"Id=\" + this.VariantLevel3obj.ProductSeries;\n\n this.CommonService.GetData(\"ProductSeries\", \"GetById\", queryString).subscribe((data: any) => {\n \n this.VariantLevel3obj.IsLevel3DepOnLevel2 = data.IsLevel3DepOnLevel2; \n this.VariantLevel3obj.IsLevel2DepOnLevel1 = data.IsLevel2DepOnLevel1;\n this.VariantLevel3obj.SeriesName = data.SeriesName;\n this.VariantLevel3obj.ProductSeries = data.Id;\n this.VariantLevel3obj.Label_Variant1 = data.Label_Variant1;\n this.VariantLevel3obj.Label_Variant2 = data.Label_Variant2;\n this.VariantLevel3obj.Label_Variant3 = data.Label_Variant3;\n\n\n if (this.VariantLevel3obj.SeriesName == 'TC' || this.VariantLevel3obj.SeriesName == 'TR') {\n this.Level3arr = this.VariantLevel3obj.Level3;\n this.Level3Currdata = this.VariantLevel3obj.Level3.map(item => item.Level1.toString());\n this.GetAllPosition(this.VariantLevel3obj.ProductModel);\n }\n else {\n if(this.VariantLevel3obj.IsLevel2DepOnLevel1 && this.VariantLevel3obj.IsLevel3DepOnLevel2)\n {\n this.GetVariant1ByModelId(this.VariantLevel3obj.ProductModel);\n if(this.VariantLevel3obj.Level1Id!=null)\n {\n this.GetVariant2ByVariant1Id(this.VariantLevel3obj.Level1Id);\n }\n \n }\n else if(this.VariantLevel3obj.IsLevel2DepOnLevel1 && !this.VariantLevel3obj.IsLevel3DepOnLevel2)\n {\n this.GetVariant1ByModelId(this.VariantLevel3obj.ProductModel);\n \n }\n else if(this.VariantLevel3obj.IsLevel3DepOnLevel2 && !this.VariantLevel3obj.IsLevel2DepOnLevel1){\n this.GetVariant2ByModelId(this.VariantLevel3obj.ProductModel);\n }\n\n\n\n // if( this.VariantLevel3obj.IsLevel3DepOnLevel2)\n // {\n // this.GetVariant1ByModelId(this.VariantLevel3obj.ProductModel);\n // this.GetVariant2ByVariant1Id(this.VariantLevel3obj.Level1Id);\n // }\n // else{\n // this.GetVariant2ByModelId(this.VariantLevel3obj.ProductModel);\n // }\n \n }\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n\n GetVariant2ByModelId(ModelId: number) {\n this.showLoader = true;\n\n let queryString = \"\";\n queryString = \"ProductModel=\" + ModelId;\n this.CommonService.GetData(\"ProductVariantLevel2\", \"GetVariant2ByModelId\", queryString).subscribe((data: any) => {\n this.Level2arr = data;\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n\n GetAllPosition(ModelId: number)//For TC and TC\n {\n this.showLoader = true;\n\n let queryString = \"\";\n queryString = \"ProductModel=\" + ModelId;\n this.CommonService.GetData(\"ProductVariantLevel3\", \"GetAllPosition\", queryString).subscribe((data: any) => {\n this.Level3arr = this.VariantLevel3obj.Level3.concat(data);\n this.showLoader = false;\n }, error => {\n this.showLoader = false;\n });\n }\n\n\n GetVariant1ByModelId(ModelId: number) {\n this.showLoader = true;\n\n let queryString = \"\";\n queryString = \"ProductModel=\" + ModelId;\n this.CommonService.GetData(\"ProductVariantLevel1\", \"GetVariant1ByModelId\", queryString).subscribe((data: any) => {\n this.Variant1Arr = data;\n \n\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n GetVariant2ByVariant1Id(Variant1: number) {\n this.showLoader = true;\n\n let queryString = \"\";\n queryString = \"Variant1=\" + Variant1;\n queryString += \"&ProductSeriesId=\" + this.VariantLevel3obj.ProductSeries;\n this.CommonService.GetData(\"ProductVariantLevel2\", \"GetVariant2ByVariant1Id\", queryString).subscribe((data: any) => {\n this.Level2arr = data;\n\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n\n\n\n /*******************************************************************************\n * End get data for add variant level-1\n * ******************************************************************************/\n\n EditDetails() {\n this.isEditable = false;\n this.FormStatus = \"Edit\";\n const appConfig = this.appConfigService.getConfig();\n this.titleService.setTitle(`Edit Product Variant Level 3 - ${appConfig.titleName}`);\n // this.titleService.setTitle(\"Edit Product Variant Level 3 - ECOTECH\");\n }\n onIsPriceOnRequest(event: any) {\n if (event.checked) {\n this.VariantLevel3obj.Level3Price = 0;\n }\n }\n\n onVariant1Selected(event: any)\n {\n this.VariantLevel3obj.Level2Id = null;\n this.GetVariant2ByVariant1Id(event.target.value);\n }\n\n /*******************************************************************************\n * Form validation method\n * ******************************************************************************/\n\n isNumberKey(evt: any) {\n this.charCode = (evt.which) ? evt.which : evt.keyCode;\n if (this.charCode != 46 && this.charCode > 31\n && (this.charCode < 48 || this.charCode > 57)) {\n return false;\n }\n else {\n return true;\n }\n }\n\n AvoidSpace(event: any) {\n if (event.which === 32 && !event.target.value.length) {\n event.preventDefault();\n }\n }\n\n /*******************************************************************************\n * End Form validation method \n * ******************************************************************************/\n DeleteDP() {\n this.VariantLevel3obj.Level3 = [];\n for (var i = 0; i < this.Level3Currdata.length; i++) {\n var obj = this.Level3arr.find(x => x.Level1 == this.Level3Currdata[i])\n this.VariantLevel3obj.Level3.push(obj);\n }\n this.VariantLevel3obj.Level3 = this.VariantLevel3obj.Level3.filter(x => x.Id != null);\n if (this.VariantLevel3obj.Level3.length == 0) {\n this.toastr.warning(\"This \" + this.VariantLevel3obj.Label_Variant3 + \" does not exist for \" + this.VariantLevel3obj.ModelName + \" product model\")\n this.VariantLevel3obj.Level3 = [];\n }\n else {\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Do you want to delete this \" + this.VariantLevel3obj.Label_Variant3 + \"?\"\n }\n });\n\n dialogRef.afterClosed().subscribe(dialogResult => {\n\n if (dialogResult) {\n this.showLoader = true;\n\n this.CommonService.PostData('ProductVariantLevel3', 'DeletePosition', this.VariantLevel3obj, null).subscribe((data: any) => {\n let result = data;\n\n if (result.ResponseCode == 1) {\n this.toastr.success(this.VariantLevel3obj.Label_Variant3 + ' deleted successfully!');\n this.router.navigate(['/VariantLevel3', this.VariantLevel3obj.ProductSeries, this.VariantLevel3obj.Label_Variant2, this.VariantLevel3obj.Label_Variant3]);\n this.showLoader = false;\n }\n else if (result.ResponseCode == 0) {\n this.toastr.warning(\"Failed to delete this \" + this.VariantLevel3obj.Label_Variant3 + \" because it has some dependency!\");\n this.showLoader = false;\n }\n else {\n this.toastr.error('Failed to delete ' + this.VariantLevel3obj.Label_Variant3 + '!');\n this.router.navigate(['/VariantLevel3', this.VariantLevel3obj.ProductSeries, this.VariantLevel3obj.Label_Variant2, this.VariantLevel3obj.Label_Variant3]);\n this.showLoader = false;\n }\n\n\n }, error => {\n this.toastr.error('Failed to delete ' + this.VariantLevel3obj.Label_Variant3 + '!');\n this.showLoader = false;\n this.router.navigate(['/VariantLevel3', this.VariantLevel3obj.ProductSeries, this.VariantLevel3obj.Label_Variant2, this.VariantLevel3obj.Label_Variant3]);\n });\n }\n else {\n this.VariantLevel3obj.Level3 = [];\n }\n });\n }\n }\n\n onSubmit(myform: any) {\n\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Do you want to update this \" + this.VariantLevel3obj.Label_Variant3 + \"?\"\n }\n });\n\n dialogRef.afterClosed().subscribe(dialogResult => {\n\n if (dialogResult) {\n this.showLoader = true;\n if (this.VariantLevel3obj.SeriesName == 'TC' || this.VariantLevel3obj.SeriesName == 'TR') {\n this.VariantLevel3obj.Level3 = [];\n }\n\n for (var i = 0; i < this.Level3Currdata.length; i++) {\n var obj = this.Level3arr.find(x => x.Level1 == this.Level3Currdata[i]);\n this.VariantLevel3obj.Level3.push(obj);\n }\n this.CommonService.PostData('ProductVariantLevel3', 'Update', this.VariantLevel3obj, null).subscribe((data: any) => {\n let result = data;\n\n if (result.ResponseCode == 1) {\n this.toastr.success(this.VariantLevel3obj.Label_Variant3 + ' updated successfully!');\n this.router.navigate(['/VariantLevel3', this.VariantLevel3obj.ProductSeries, this.VariantLevel3obj.Label_Variant2, this.VariantLevel3obj.Label_Variant3]);\n this.showLoader = false;\n }\n else if (result.ResponseCode == 0) {\n this.toastr.warning(this.VariantLevel3obj.Label_Variant3 + ' already exists!');\n this.showLoader = false;\n }\n else {\n this.toastr.error('Failed to update ' + this.VariantLevel3obj.Label_Variant3 + '!');\n this.router.navigate(['/VariantLevel3', this.VariantLevel3obj.ProductSeries, this.VariantLevel3obj.Label_Variant2, this.VariantLevel3obj.Label_Variant3]);\n this.showLoader = false;\n }\n\n\n }, error => {\n this.toastr.error('Failed to update ' + this.VariantLevel3obj.Label_Variant3 + '!');\n this.showLoader = false;\n this.router.navigate(['/VariantLevel3', this.VariantLevel3obj.ProductSeries, this.VariantLevel3obj.Label_Variant2, this.VariantLevel3obj.Label_Variant3]);\n });\n }\n });\n }\n OpenPopupAddPosition()\n {\n this.PositionName = \"\";\n }\n AddPosition(myform: any) {\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Do you want to add this Position ?\",\n }\n });\n\n dialogRef.afterClosed().subscribe(dialogResult => {\n\n if (dialogResult) {\n\n this.showLoader = true;\n\n let queryString = \"\";\n queryString = \"PositionName=\" + this.PositionName;\n this.CommonService.PostData('ProductVariantLevel3', 'AddPosition', null, queryString).subscribe((data: any) => {\n let result = data;\n\n if (result.ResponseCode == 1) {\n this.toastr.success('SpeedStep added successfully!');\n this.closebutton.nativeElement.click();\n if ((this.VariantLevel3obj.ProductModel != null && this.VariantLevel3obj.ProductModel != undefined\n && this.VariantLevel3obj.ProductModel != 0)) {\n\n this.GetAllPosition(this.VariantLevel3obj.ProductModel);\n }\n this.showLoader = false;\n }\n else if (result.ResponseCode == 0) {\n this.toastr.warning('Position already exists!');\n this.showLoader = false;\n }\n else {\n this.toastr.error('Failed to add Position!');\n this.closebutton.nativeElement.click();\n if ((this.VariantLevel3obj.ProductModel != null && this.VariantLevel3obj.ProductModel != undefined\n && this.VariantLevel3obj.ProductModel != 0)) {\n\n this.GetAllPosition(this.VariantLevel3obj.ProductModel);\n }\n this.showLoader = false;\n }\n\n }, error => {\n this.toastr.error('Failed to add Position!');\n this.closebutton.nativeElement.click();\n this.showLoader = false;\n if ((this.VariantLevel3obj.ProductModel != null && this.VariantLevel3obj.ProductModel != undefined\n && this.VariantLevel3obj.ProductModel != 0)) {\n\n this.GetAllPosition(this.VariantLevel3obj.ProductModel);\n }\n });\n }\n });\n\n\n }\n\n getAccess()\n {\n this.accessservice.GetAll().subscribe((data:any)=> {\n this.accesspermissionobj=data;\n this.isProductVariant3Editable=this.accesspermissionobj.filter(x => x.Fk_RoleId == this.UserRole && x.ElementKey=='isProductLine')[0]?.IsEditable;\n \n });\n \n }\n}\n\n","\n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n {{FormStatus}} {{VariantLevel3obj.Label_Variant3}}\n

    \n
    \n
    \n\n
    \n
    \n * Marked fields are\n mandatory\n
    \n \n
    \n
    \n\n
    \n\n
    \n
    \n\n\n
    \n
    \n
    \n\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    Add Position
    \n \n
    \n
    \n * Marked fields are\n mandatory\n
    \n
    \n\n
    \n\n
    \n \n
    \n \n\n
    \n
    \n Position is required
    \n\n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n
    \n   \n \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n\n
    \n
    \n
    ","import { Component, OnInit, ViewChild, Input, Output, EventEmitter } from '@angular/core';\nimport { MatSort, Sort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { ToastrService } from 'ngx-toastr';\nimport { CommonService } from 'src/app/Service/common.service';\nimport { MatDialog } from '@angular/material/dialog';\nimport { ConfirmDialogComponent } from 'src/app/confirm-dialog/confirm-dialog.component';\nimport { Level1Model, ProductSeries, VariantLevel3 } from 'src/app/Model/ProductModel';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { AppGlobals } from 'src/app/app.global';\nimport { Title } from '@angular/platform-browser';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { AccessPermissionModel } from 'src/app/Model/WorkFlowScreenAccessModel';\nimport { AccessPermissionService } from 'src/app/Service/access-permission.service';\nimport { AppConfigService } from 'src/app/Service/app-config.service';\n\n@Component({\n selector: 'app-variant-level3-details',\n templateUrl: './variant-level3-details.component.html',\n styleUrls: ['./variant-level3-details.component.scss']\n})\nexport class VariantLevel3DetailsComponent implements OnInit {\n displayedColumns: string[] = ['SeriesName', 'ModelName','Level1Name', 'Level2', 'Level2Price', 'otherType', 'Level3', 'Level3Price', 'Action'];\n dataSource: MatTableDataSource;\n disabled: boolean = false;\n SeriesName: string = \"\";\n isVariant3DependsOnVariant2: boolean = false;\n isVariant2DependsOnVariant1: boolean = false;\n UserRole: any;\n isProductVariant3Editable: boolean = false;\n accesspermissionobj:AccessPermissionModel[]=Array();\n AccesspermissionForRole:any[]=[];\n\n\n /*************************************************************************\n Server side Pagination purpose\n *************************************************************************/\n pageNumber: number = 1;\n @Input() pageSize: number = 5;\n @Input() length: number;\n @Input() pageIndex: number = this.pageNumber - 1;\n direction: string = 'desc';\n ColumnName: string = 'ModifiedOn';\n SearchText: string = \"\";\n @Output('matSortChange') sortChange: EventEmitter;\n @ViewChild(MatPaginator) paginator: MatPaginator;\n /*************************************************************************\n End here\n *************************************************************************/\n ProductSeriesVariant1Label: string = '';\n ProductSeriesVariant2Label: string = '';\n ProductSeriesVariant3Label: string = '';\n ProductSeriesId: number;\n showLoader: boolean;\n data: any[] = [];\n ProductSeriesArr: ProductSeries = new ProductSeries();\n VariantDrpdown: string = \"\";\n constructor(private toastr: ToastrService, private CommonService: CommonService, public dialog: MatDialog, private router: Router, private route: ActivatedRoute, private titleService: Title,\n private accessservice: AccessPermissionService, private appConfigService : AppConfigService) {\n this.router.routeReuseStrategy.shouldReuseRoute = () => false;\n }\n\n ngOnInit() {\n const appConfig = this.appConfigService.getConfig();\n const dynamicTitle = this.route.snapshot.data['title'];\n this.titleService.setTitle(`${dynamicTitle} - ${appConfig.titleName}`);\n // this.titleService.setTitle(this.route.snapshot.data['title'] + \" - ECOTECH\");\n this.UserRole = localStorage.getItem(\"UserRole\");\n this.getAccess();\n //this.isProductVariant3Editable = AppGlobals.ProductMastersEditableAccessArray.filter(x => x.role == this.UserRole)[0]?.isEditable;\n this.route.params.subscribe(params => {\n this.ProductSeriesVariant2Label = params['Variant2'];\n this.ProductSeriesVariant3Label = params['Variant3'];\n this.ProductSeriesId = params['Seriesid'];\n this.pageSize = 5;\n this.pageNumber = 1;\n this.pageIndex = this.pageNumber - 1;\n this.length = 0;\n this.direction = 'desc';\n this.ColumnName = 'ModifiedOn';\n this.SearchText = \"\";\n this.VariantDrpdown = \"Variant3\";\n this.GetAllVariantLevel3Details();\n this.getAllProductSeries();\n });\n\n\n }\n\n\n /*************************************************************************\n * Below function used for Server side Pagination,Sorting and Searching\n * (1)GetAllVariantLevel3Details() - To get data for grid\n * (2)SearchParam() - searching\n * (3)sortData() - Sorting\n * (4)pageEvent() - Pagination\n * \n * ***********************************************************************/\n\n GetAllVariantLevel3Details() {\n this.showLoader = true;\n let queryString = \"\";\n queryString = \"pageNumber=\" + this.pageNumber;\n queryString += \"&pageSize=\" + this.pageSize;\n queryString += \"&searchText=\" + this.SearchText;\n queryString += \"&direction=\" + this.direction;\n queryString += \"&columnName=\" + this.ColumnName;\n queryString += \"&ProductSeriesId=\" + this.ProductSeriesId; //Seires Id\n\n this.CommonService.GetData('ProductVariantLevel3', 'GetAllPagination', queryString).subscribe((data: any) => {\n this.data = data.Data;\n this.length = data.Total;\n if (this.ColumnName == 'Level2Price') {\n var IsPriceOnRequestList: VariantLevel3[] = [];\n var IsNotPriceOnRequestList: VariantLevel3[] = [];\n\n IsPriceOnRequestList = this.data.filter(x => x.Level2IsPriceOnRequest == true);\n IsNotPriceOnRequestList = this.data.filter(x => x.Level2IsPriceOnRequest != true);\n IsPriceOnRequestList = IsPriceOnRequestList.concat(IsNotPriceOnRequestList);\n this.dataSource = new MatTableDataSource(IsPriceOnRequestList);\n }\n else if (this.ColumnName == 'Level3Price') {\n var IsPriceOnRequestList: VariantLevel3[] = [];\n var IsNotPriceOnRequestList: VariantLevel3[] = [];\n\n IsPriceOnRequestList = this.data.filter(x => x.IsPriceOnRequest == true);\n IsNotPriceOnRequestList = this.data.filter(x => x.IsPriceOnRequest != true);\n IsPriceOnRequestList = IsPriceOnRequestList.concat(IsNotPriceOnRequestList);\n this.dataSource = new MatTableDataSource(IsPriceOnRequestList);\n }\n else {\n this.dataSource = new MatTableDataSource(this.data);\n }\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n\n }\n\n getAllProductSeries() {\n this.showLoader = true;\n\n let queryString = \"\";\n queryString = \"Id=\" + this.ProductSeriesId;\n\n this.CommonService.GetData(\"ProductSeries\", \"GetById\", queryString).subscribe((data: any) => {\n this.ProductSeriesArr = data;\n this.SeriesName = data.SeriesName;\n this.isVariant3DependsOnVariant2 = data.IsLevel3DepOnLevel2;\n this.isVariant2DependsOnVariant1 = data.IsLevel2DepOnLevel1;\n this.ProductSeriesVariant2Label = data.Label_Variant2;\n this.ProductSeriesVariant3Label = data.Label_Variant3;\n this.ProductSeriesVariant1Label = data.Label_Variant1;\n \n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n\n SearchParam(event: any) {\n this.SearchText = event.target.value;\n this.pageNumber = 1;\n this.paginator.pageIndex = 0;\n this.GetAllVariantLevel3Details();\n }\n\n sortData(event: any) {\n if (this.dataSource.filteredData != null) {\n this.direction = event.direction;\n this.ColumnName = event.active;\n this.GetAllVariantLevel3Details();\n }\n }\n\n pageEvent(event: any) {\n window.scroll({\n top: 0,\n left: 0,\n behavior: 'smooth'\n });\n this.pageNumber = event.pageIndex + 1;\n this.pageSize = event.pageSize;\n this.GetAllVariantLevel3Details();\n }\n /************************************************************************\n * Grid Code End \n * **********************************************************************/\n\n /*******************************************************************************\n * Form validation method\n * ******************************************************************************/\n\n AvoidSpace(event: any) {\n if (event.which === 32 && !event.target.value.length) {\n event.preventDefault();\n }\n }\n\n /*******************************************************************************\n * End Form validation method \n * ******************************************************************************/\n\n RedirectToVariant(event: any) {\n if (this.VariantDrpdown == 'ProductModel') {\n this.router.navigate(['/ProductModel', this.ProductSeriesArr.Id]);\n }\n else if (this.VariantDrpdown == 'Options') {\n this.router.navigate(['/Options', this.ProductSeriesArr.Id]);\n }\n else if (this.VariantDrpdown == 'Variant1') {\n this.router.navigate(['/VariantLevel1', this.ProductSeriesArr.Id, this.ProductSeriesArr.Label_Variant1]);\n }\n else if (this.VariantDrpdown == 'Variant2') {\n this.router.navigate(['/VariantLevel2', this.ProductSeriesArr.Id, this.ProductSeriesArr.Label_Variant1, this.ProductSeriesArr.Label_Variant2]);\n }\n else if (this.VariantDrpdown == 'Variant3') {\n this.router.navigate(['/VariantLevel3', this.ProductSeriesArr.Id, this.ProductSeriesArr.Label_Variant2, this.ProductSeriesArr.Label_Variant3]);\n }\n else if (this.VariantDrpdown == 'Variant4') {\n this.router.navigate(['/VariantLevel4', this.ProductSeriesArr.Id, this.ProductSeriesArr.Label_Variant3, this.ProductSeriesArr.Label_Variant4]);\n }\n }\n\n UpdateVariantLevel3StatusById(Level3Data: VariantLevel3, CurrentStatus: boolean) {\n\n if (CurrentStatus == true) {\n //Create ConfirmDialogRef \n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Do you want to deactivate this \" + this.ProductSeriesVariant3Label + ' ?',\n }\n });\n // listen to response from ConfirmDialogRef\n dialogRef.afterClosed().subscribe(dialogResult => {\n // if user pressed yes dialogResult will be true, \n // if he pressed no - it will be false\n if (dialogResult) {\n this.pageNumber = 1;\n this.paginator.pageIndex = 0;\n this.length = 0;\n this.direction = 'desc';\n this.ColumnName = 'ModifiedOn';\n this.showLoader = true;\n this.CommonService.PostData('ProductVariantLevel3', 'UpdateStatus', Level3Data, null).subscribe((data: any) => {\n this.showLoader = false;\n if (data.ResponseCode == 1) {\n this.toastr.success(this.ProductSeriesVariant3Label + \" deactivated successfully!\");\n }\n else if (data.ResponseCode == 0) {\n this.toastr.warning(\"Failed to deactivate this \" + this.ProductSeriesVariant3Label + \" because it has some dependency!\");\n }\n else {\n this.toastr.info(\"Failed to deactivate \" + this.ProductSeriesVariant3Label + \"!\");\n }\n this.GetAllVariantLevel3Details();\n }, error => {\n this.toastr.error(\"Failed to deactivate \" + this.ProductSeriesVariant3Label + \"!\");\n this.GetAllVariantLevel3Details();\n this.showLoader = false;\n });\n\n }\n else {\n this.GetAllVariantLevel3Details();\n this.showLoader = false;\n let element: HTMLElement = document.getElementsByClassName('slideToogle')[0] as HTMLElement;\n\n }\n });\n\n }\n else {\n //Create ConfirmDialogRef\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Do you want to activate this \" + this.ProductSeriesVariant3Label + \"?\"\n }\n });\n // listen to response from ConfirmDialogRef\n dialogRef.afterClosed().subscribe(dialogResult => {\n // if user pressed yes dialogResult will be true, \n // if he pressed no - it will be false\n if (dialogResult) {\n this.pageNumber = 1;\n this.paginator.pageIndex = 0;\n this.length = 0;\n this.direction = 'desc';\n this.ColumnName = 'ModifiedOn';\n this.showLoader = true;\n\n this.CommonService.PostData('ProductVariantLevel3', 'UpdateStatus', Level3Data, null).subscribe((data: any) => {\n this.showLoader = false;\n if (data.ResponseCode == 1) {\n this.toastr.success(this.ProductSeriesVariant3Label + \" activated successfully!\");\n }\n else {\n this.toastr.info(\"Failed to activate \" + this.ProductSeriesVariant3Label + \"!\");\n }\n this.GetAllVariantLevel3Details();\n }, error => {\n this.toastr.error(\"Failed to activate \" + this.ProductSeriesVariant3Label + \"!\");\n this.GetAllVariantLevel3Details();\n this.showLoader = false;\n });\n\n }\n else {\n this.GetAllVariantLevel3Details();\n this.showLoader = false;\n let element: HTMLElement = document.getElementsByClassName('slideToogle')[0] as HTMLElement;\n element.click();\n }\n });\n }\n }\n\n getAccess()\n {\n this.accessservice.GetAll().subscribe((data:any)=> {\n this.accesspermissionobj=data;\n this.isProductVariant3Editable=this.accesspermissionobj.filter(x => x.Fk_RoleId == this.UserRole && x.ElementKey=='isProductLine')[0]?.IsEditable;\n \n });\n \n }\n}\n\n\n","\n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n {{ProductSeriesVariant3Label}} Listing\n

    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n {{ProductSeriesArr.SeriesName}}
    \n \n \n Product Model\n {{ProductSeriesArr.Label_Variant1}}\n \n {{ProductSeriesArr.Label_Variant2}}\n {{ProductSeriesArr.Label_Variant3}}\n {{ProductSeriesArr.Label_Variant4}}\n Product Options\n \n \n
    \n
    \n \n\n Search\n \n \n\n
    \n\n
    \n\n
    \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n\n\n \n \n \n \n\n\n \n \n\n\n
    Product Series {{row.SeriesName}} Product Model {{row.ModelName}} {{ProductSeriesVariant1Label}} \n {{row.Level1Name}} {{ProductSeriesVariant2Label}} \n {{row.Level2}} {{ProductSeriesVariant2Label + \" - Price\"}}\n (€) \n {{row.Level2IsPriceOnRequest ? 'Price on Request': row.Level2Price |indianCurrency}}\n {{ProductSeriesVariant3Label}}\n \n {{item.Level1}}{{i === row.Level3.length -1 ? '': ',' }}\n \n {{ProductSeriesVariant3Label}} \n {{row.otherType}}\n {{ProductSeriesVariant3Label + \" - Price\"}} (€) {{row.IsPriceOnRequest ? 'Price\n on Request' : row.Level3Price |indianCurrency}} Action \n \n \n \n \n \n     \n \n   {{row.Status==true ? 'Active': 'Inactive'}}\n
    \n No records found
    \n\n \n \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n \n","import { Component, OnInit, Input, ViewChild } from '@angular/core';\nimport { ConfirmDialogComponent } from 'src/app/confirm-dialog/confirm-dialog.component';\nimport { MatDialog } from '@angular/material/dialog';\nimport { CommonService } from 'src/app/Service/common.service';\nimport { ToastrService } from 'ngx-toastr';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { Level1Model, ProductSeries, Station, VariantLevel4 } from 'src/app/Model/ProductModel';\nimport { Title } from '@angular/platform-browser';\nimport { AppConfigService } from 'src/app/Service/app-config.service';\n\n@Component({\n selector: 'app-add-variant-level4',\n templateUrl: './add-variant-level4.component.html',\n styleUrls: ['./add-variant-level4.component.scss']\n})\nexport class AddVariantLevel4Component implements OnInit {\n VariantLevel4obj: VariantLevel4 = new VariantLevel4();\n charCode: any;\n @Input()\n showLoader: boolean = false;\n ProductSeries: ProductSeries = new ProductSeries();\n ProductModel: any[] = [];\n //To Stored Api data of VariantLevel1 and VariantLevel2 \n Level3arr: Level1Model[] = [];\n Level4arr: Level1Model[] = []; // only for TC and TR\n Variant1arr: any[] = [];\n Variant2arr: any[] = [];\n //To bind current VariantLevel4 data\n Level4Currdata: any[] = [];\n MountingPositionName: string=\"\";\n @ViewChild('closebutton') closebutton;\n\n constructor(private router: Router, private route: ActivatedRoute, private toastr: ToastrService, private CommonService: CommonService, public dialog: MatDialog, private titleService: Title,\n private appConfigService : AppConfigService) { }\n\n ngOnInit(): void {\n const appConfig = this.appConfigService.getConfig();\n const dynamicTitle = this.route.snapshot.data['title'];\n this.titleService.setTitle(`${dynamicTitle} - ${appConfig.titleName}`);\n // this.titleService.setTitle(this.route.snapshot.data['title'] + \" - ECOTECH\");\n this.VariantLevel4obj.ProductSeries = this.route.snapshot.params[\"Seriesid\"];\n this.getAllProductSeries();\n this.GetProductModelById(this.VariantLevel4obj.ProductSeries);\n }\n\n /*******************************************************************************\n * Get data for Variant Level 3\n * ******************************************************************************/\n getAllProductSeries() {\n this.showLoader = true;\n\n let queryString = \"\";\n queryString = \"Id=\" + this.VariantLevel4obj.ProductSeries;\n\n this.CommonService.GetData(\"ProductSeries\", \"GetById\", queryString).subscribe((data: any) => {\n this.VariantLevel4obj.SeriesName = data?.SeriesName;\n this.VariantLevel4obj.ProductSeries = data?.Id;\n this.VariantLevel4obj.IsLevel2DepOnLevel1 = data.IsLevel2DepOnLevel1;\n this.VariantLevel4obj.IsLevel3DepOnLevel2 = data.IsLevel3DepOnLevel2;\n this.VariantLevel4obj.IsLevel4DepOnLevel3 = data.IsLevel4DepOnLevel3;\n this.VariantLevel4obj.Label_Variant1 =data.Label_Variant1;\n this.VariantLevel4obj.Label_Variant2 =data.Label_Variant2;\n this.VariantLevel4obj.Label_Variant3 = data.Label_Variant3;\n this.VariantLevel4obj.Label_Variant4 = data.Label_Variant4;\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n\n GetProductModelById(SeriesId: number) {\n this.showLoader = true;\n let queryString = \"\";\n queryString = \"SeriesId=\" + SeriesId;\n this.CommonService.GetData(\"ProductModel\", \"GetProductModelById\", queryString).subscribe((data: any) => {\n this.ProductModel = data;\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n\n GetAllMountingPosition(ModelId: number)//For TC and TC\n {\n this.showLoader = true;\n\n let queryString = \"\";\n queryString = \"ProductModel=\" + ModelId;\n this.CommonService.GetData(\"ProductVariantLevel4\", \"GetAllMountingPosition\", queryString).subscribe((data: any) => {\n this.Level4arr = data;\n this.showLoader = false;\n }, error => {\n this.showLoader = false;\n });\n }\n\n GetVariant3ByModelId(ModelId: number)// other than TC and TR\n {\n this.showLoader = true;\n\n let queryString = \"\";\n queryString = \"ProductModel=\" + ModelId;\n this.CommonService.GetData(\"ProductVariantLevel3\", \"GetVariant3ByModelId\", queryString).subscribe((data: any) => {\n this.Level3arr = data;\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n\n GetVariant1ByModelId(ModelId: number) {\n this.showLoader = true;\n\n let queryString = \"\";\n queryString = \"ProductModel=\" + ModelId;\n this.CommonService.GetData(\"ProductVariantLevel1\", \"GetVariant1ByModelId\", queryString).subscribe((data: any) => {\n this.Variant1arr = data;\n this.Variant1arr = this.Variant1arr.sort((a, b) => a.Level1.localeCompare(b.Level1));\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n \n GetVariant2ByVariant1Id(Variant1: number) {\n this.showLoader = true;\n\n let queryString = \"\";\n queryString = \"Variant1=\" + Variant1;\n queryString += \"&ProductSeriesId=\" + this.VariantLevel4obj.ProductSeries;\n this.CommonService.GetData(\"ProductVariantLevel2\", \"GetVariant2ByVariant1Id\", queryString).subscribe((data: any) => {\n this.Variant2arr = data;\n\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n GetVariant3ByVariant2Id(Variant2: number)\n {\n this.showLoader = true;\n\n let queryString = \"\";\n queryString = \"Variant2=\" + Variant2;\n queryString += \"&ProductSeriesId=\" + this.VariantLevel4obj.ProductSeries;\n this.CommonService.GetData(\"ProductVariantLevel3\", \"GetVariant3ByVariant2Id\", queryString).subscribe((data: any) => {\n this.Level3arr = data;\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n GetVariant2ByModelId(ModelId: number)// other than TC and TR\n {\n this.showLoader = true;\n\n let queryString = \"\";\n queryString = \"ProductModel=\" + ModelId;\n this.CommonService.GetData(\"ProductVariantLevel2\", \"GetVariant2ByModelId\", queryString).subscribe((data: any) => {\n this.Variant2arr = data;\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n /*******************************************************************************\n * End get data for Variant Level 3\n * ******************************************************************************/\n\n /*******************************************************************************\n * Form validation method\n * ******************************************************************************/\n\n isNumberKey(evt: any) {\n this.charCode = (evt.which) ? evt.which : evt.keyCode;\n if (this.charCode != 46 && this.charCode > 31\n && (this.charCode < 48 || this.charCode > 57)) {\n return false;\n }\n else {\n return true;\n }\n }\n\n AvoidSpace(event: any) {\n if (event.which === 32 && !event.target.value.length) {\n event.preventDefault();\n }\n }\n\n /*******************************************************************************\n * End Form validation method \n * ******************************************************************************/\n\n onModelSelected(event: any) {\n if (this.VariantLevel4obj.SeriesName == 'TC' || this.VariantLevel4obj.SeriesName == 'TR') {\n this.Level4Currdata = [];\n this.Level4arr = [];\n this.GetAllMountingPosition(event.target.value);\n }\n else {\n this.VariantLevel4obj.Level3Id = null;\n this.Level3arr = [];\n if(this.VariantLevel4obj.IsLevel4DepOnLevel3 && this.VariantLevel4obj.IsLevel3DepOnLevel2 && this.VariantLevel4obj.IsLevel2DepOnLevel1)\n {\n this.VariantLevel4obj.Level1Id = null;\n this.VariantLevel4obj.Level2Id = null;\n this.GetVariant1ByModelId(event.target.value);\n }\n else if(this.VariantLevel4obj.IsLevel4DepOnLevel3 && this.VariantLevel4obj.IsLevel3DepOnLevel2 && !this.VariantLevel4obj.IsLevel2DepOnLevel1)\n {\n this.GetVariant2ByModelId(event.target.value);\n }\n else{\n this.GetVariant3ByModelId(event.target.value);\n }\n \n }\n\n }\n\n onVariant1Selected(event: any)\n {\n this.VariantLevel4obj.Level2Id = null;\n this.VariantLevel4obj.Level3Id = null;\n this.GetVariant2ByVariant1Id(event.target.value);\n }\n\n onVariant2Selected(event: any)\n {\n this.VariantLevel4obj.Level3Id = null;\n this.GetVariant3ByVariant2Id(event.target.value);\n }\n\n onIsPriceOnRequest(event: any) {\n if (event.checked) {\n this.VariantLevel4obj.Level4Price = 0;\n }\n }\n\n onSubmit(myform: any) {\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Do you want to add this \" + this.VariantLevel4obj.Label_Variant4 + \" ?\",\n }\n });\n\n dialogRef.afterClosed().subscribe(dialogResult => {\n\n if (dialogResult) {\n\n this.showLoader = true;\n\n for (var i = 0; i < this.Level4Currdata.length; i++) {\n var obj = { Id: null, Level1: this.Level4Currdata[i] }\n this.VariantLevel4obj.Level4.push(obj);\n }\n this.CommonService.PostData('ProductVariantLevel4', 'Add', this.VariantLevel4obj, null).subscribe((data: any) => {\n let result = data;\n\n if (result.ResponseCode == 1) {\n this.toastr.success(this.VariantLevel4obj.Label_Variant4 + ' added successfully!');\n this.router.navigate(['/VariantLevel4', this.VariantLevel4obj.ProductSeries, this.VariantLevel4obj.Label_Variant3, this.VariantLevel4obj.Label_Variant4]);\n this.showLoader = false;\n }\n else if (result.ResponseCode == 0) {\n this.toastr.warning(this.VariantLevel4obj.Label_Variant4 + ' already exists!');\n this.VariantLevel4obj.Level4 = [];\n this.showLoader = false;\n }\n else {\n this.toastr.error('Failed to ' + this.VariantLevel4obj.Label_Variant4 + '!');\n this.router.navigate(['/VariantLevel4', this.VariantLevel4obj.ProductSeries, this.VariantLevel4obj.Label_Variant3, this.VariantLevel4obj.Label_Variant4]);\n this.showLoader = false;\n }\n\n }, error => {\n this.toastr.error('Failed to add ' + this.VariantLevel4obj.Label_Variant4 + '!');\n this.showLoader = false;\n this.router.navigate(['/VariantLevel4', this.VariantLevel4obj.ProductSeries, this.VariantLevel4obj.Label_Variant3, this.VariantLevel4obj.Label_Variant4]);\n });\n }\n });\n\n }\n OpenPopupAddMountingPosition()\n {\n this.MountingPositionName=\"\";\n }\n\n AddMountingPosition(myform: any) {\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Do you want to add this Mounting Position ?\",\n }\n });\n\n dialogRef.afterClosed().subscribe(dialogResult => {\n\n if (dialogResult) {\n\n this.showLoader = true;\n\n let queryString = \"\";\n queryString = \"MountingPositionName=\" + this.MountingPositionName;\n this.CommonService.PostData('ProductVariantLevel4', 'AddMountingPosition', null, queryString).subscribe((data: any) => {\n let result = data;\n\n if (result.ResponseCode == 1) {\n this.toastr.success('MountingPosition added successfully!');\n this.closebutton.nativeElement.click();\n if ((this.VariantLevel4obj.ProductModel != null && this.VariantLevel4obj.ProductModel != undefined\n && this.VariantLevel4obj.ProductModel != 0)) {\n\n this.GetAllMountingPosition(this.VariantLevel4obj.ProductModel );\n }\n this.showLoader = false;\n }\n else if (result.ResponseCode == 0) {\n this.toastr.warning('MountingPosition already exists!');\n this.showLoader = false;\n }\n else {\n this.toastr.error('Failed to add MountingPosition!');\n this.closebutton.nativeElement.click();\n if ((this.VariantLevel4obj.ProductModel != null && this.VariantLevel4obj.ProductModel != undefined\n && this.VariantLevel4obj.ProductModel != 0) ) {\n\n this.GetAllMountingPosition(this.VariantLevel4obj.ProductModel );\n }\n this.showLoader = false;\n }\n\n }, error => {\n this.toastr.error('Failed to add MountingPosition!');\n this.closebutton.nativeElement.click();\n this.showLoader = false;\n if ((this.VariantLevel4obj.ProductModel != null && this.VariantLevel4obj.ProductModel != undefined\n && this.VariantLevel4obj.ProductModel != 0)) {\n\n this.GetAllMountingPosition(this.VariantLevel4obj.ProductModel );\n }\n });\n }\n });\n\n\n }\n\n}\n","\n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n Add {{VariantLevel4obj.Label_Variant4}}\n

    \n
    \n
    \n\n
    \n
    \n * Marked fields are\n mandatory\n
    \n \n
    \n
    \n\n
    \n\n
    \n
    \n\n\n\n
    \n
    \n
    \n\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    Add MountingPosition
    \n \n
    \n
    \n * Marked fields are\n mandatory\n
    \n
    \n\n
    \n\n
    \n \n
    \n \n\n
    \n
    \n MountingPosition is required
    \n \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n
    \n   \n \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n\n
    \n
    \n
    ","import { Component, OnInit, Input, EventEmitter, Output, ViewChild } from '@angular/core';\nimport { ConfirmDialogComponent } from 'src/app/confirm-dialog/confirm-dialog.component';\nimport { MatDialog } from '@angular/material/dialog';\nimport { CommonService } from 'src/app/Service/common.service';\nimport { ToastrService } from 'ngx-toastr';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { Level1Model, ProductSeries, VariantLevel4 } from 'src/app/Model/ProductModel';\nimport { AppGlobals } from 'src/app/app.global';\nimport { Title } from '@angular/platform-browser';\nimport { AccessPermissionService } from 'src/app/Service/access-permission.service';\nimport { AccessPermissionModel } from 'src/app/Model/WorkFlowScreenAccessModel';\nimport { AppConfigService } from 'src/app/Service/app-config.service';\n\n@Component({\n selector: 'app-edit-view-variant-level4',\n templateUrl: './edit-view-variant-level4.component.html',\n styleUrls: ['./edit-view-variant-level4.component.scss']\n})\nexport class EditViewVariantLevel4Component implements OnInit {\n constructor(private router: Router, private route: ActivatedRoute, private toastr: ToastrService, private CommonService: CommonService, public dialog: MatDialog, private titleService: Title,private accessservice: AccessPermissionService,\n private appConfigService : AppConfigService) { }\n \n VariantLevel4obj: VariantLevel4 = new VariantLevel4();\n isEditable: boolean = true;\n FormStatus: string = \"View\";\n charCode: any;\n @Input()\n showLoader: boolean = false;\n queryString: string = \"\";\n //To bind current VariantLevel4 data\n Level4Currdata: any[] = [];\n Variant1arr: any[] = [];\n Variant2arr: any[] = [];\n\n ProductSeries: ProductSeries = new ProductSeries();\n Level3arr: Level1Model[] = [];\n Level4arr: Level1Model[] = [];\n UserRole: any;\n isProductVariant4Editable: boolean = false;\n accesspermissionobj:AccessPermissionModel[]=Array();\n AccesspermissionForRole:any[]=[];\n\n MountingPositionName:string=\"\";\n @ViewChild (\"closebutton\") closebutton;\n\n ngOnInit(): void {\n const appConfig = this.appConfigService.getConfig();\n const dynamicTitle = this.route.snapshot.data['title'];\n this.titleService.setTitle(`${dynamicTitle} - ${appConfig.titleName}`);\n // this.titleService.setTitle(this.route.snapshot.data['title'] + \" - ECOTECH\");\n this.UserRole = localStorage.getItem(\"UserRole\");\n this.getAccess();\n //this.isProductVariant4Editable = AppGlobals.ProductMastersEditableAccessArray.filter(x => x.role == this.UserRole)[0]?.isEditable;\n if (this.route.snapshot.params[\"id\"] == undefined) {\n this.queryString = \"ProductModel=\" + this.route.snapshot.params[\"Model\"];\n this.queryString += \"&Price=\" + this.route.snapshot.params[\"Price\"];\n this.queryString += \"&Status=\" + this.route.snapshot.params[\"Status\"];\n this.queryString += \"&IsPriceOnRequest=\" + this.route.snapshot.params[\"IsPriceOnRequest\"];\n this.getVariantLevel4IdDetailsById('GetbyProductModelAndPrice', this.queryString);\n }\n else {\n this.queryString = \"Id=\" + this.route.snapshot.params[\"id\"];\n this.getVariantLevel4IdDetailsById('GetById', this.queryString);\n }\n }\n\n /*******************************************************************************\n * Get data for add variant level-1\n * ******************************************************************************/\n getVariantLevel4IdDetailsById(ActionName: string, queryString: string) {\n this.showLoader = true;\n\n this.CommonService.GetData('ProductVariantLevel4', ActionName, queryString).subscribe((data: any) => {\n this.VariantLevel4obj = data;\n this.getAllProductSeries();\n \n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n\n });\n\n }\n\n getAllProductSeries() {\n this.showLoader = true;\n\n let queryString = \"\";\n queryString = \"Id=\" + this.VariantLevel4obj.ProductSeries;\n\n this.CommonService.GetData(\"ProductSeries\", \"GetById\", queryString).subscribe((data: any) => {\n this.VariantLevel4obj.SeriesName = data.SeriesName;\n this.VariantLevel4obj.ProductSeries = data.Id;\n this.VariantLevel4obj.IsLevel2DepOnLevel1 = data.IsLevel2DepOnLevel1;\n this.VariantLevel4obj.IsLevel3DepOnLevel2 = data.IsLevel3DepOnLevel2;\n this.VariantLevel4obj.IsLevel4DepOnLevel3 = data.IsLevel4DepOnLevel3;\n this.VariantLevel4obj.Label_Variant1 =data.Label_Variant1;\n this.VariantLevel4obj.Label_Variant2 =data.Label_Variant2;\n this.VariantLevel4obj.Label_Variant3 = data.Label_Variant3;\n this.VariantLevel4obj.Label_Variant4 = data.Label_Variant4;\n if (this.VariantLevel4obj.SeriesName == 'TC' || this.VariantLevel4obj.SeriesName == 'TR') {\n this.Level4arr = this.VariantLevel4obj.Level4;\n this.Level4Currdata = this.VariantLevel4obj.Level4.map(item => item.Level1.toString());\n this.GetAllMountingPosition(this.VariantLevel4obj.ProductModel);\n }\n else {\n if(this.VariantLevel4obj.IsLevel4DepOnLevel3 && this.VariantLevel4obj.IsLevel3DepOnLevel2 && this.VariantLevel4obj.IsLevel2DepOnLevel1)\n {\n this.GetVariant1ByModelId(this.VariantLevel4obj.ProductModel);\n if(this.VariantLevel4obj.Level1Id != null)\n {\n this.GetVariant2ByVariant1Id(this.VariantLevel4obj.Level1Id);\n }\n if(this.VariantLevel4obj.Level2Id != null)\n {\n this.GetVariant3ByVariant2Id(this.VariantLevel4obj.Level2Id);\n }\n \n }\n else if(this.VariantLevel4obj.IsLevel4DepOnLevel3 && this.VariantLevel4obj.IsLevel3DepOnLevel2 && !this.VariantLevel4obj.IsLevel2DepOnLevel1)\n {\n this.GetVariant2ByModelId(this.VariantLevel4obj.ProductModel);\n if(this.VariantLevel4obj.Level2Id!=null)\n {\n this.GetVariant3ByVariant2Id(this.VariantLevel4obj.Level2Id);\n }\n \n }\n else{\n this.GetVariant3ByModelId(this.VariantLevel4obj.ProductModel);\n }\n // if(this.VariantLevel4obj.IsLevel4DepOnLevel3)\n // {\n // this.GetVariant1ByModelId(this.VariantLevel4obj.ProductModel);\n // this.GetVariant2ByVariant1Id(this.VariantLevel4obj.Level1Id);\n // this.GetVariant3ByVariant2Id(this.VariantLevel4obj.Level2Id);\n // }\n // else{\n // this.GetVariant3ByModelId(this.VariantLevel4obj.ProductModel);\n // }\n \n }\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n\n GetVariant3ByModelId(ModelId: number)// other than TC and TR\n {\n this.showLoader = true;\n\n let queryString = \"\";\n queryString = \"ProductModel=\" + ModelId;\n this.CommonService.GetData(\"ProductVariantLevel3\", \"GetVariant3ByModelId\", queryString).subscribe((data: any) => {\n this.Level3arr = data;\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n\n GetAllMountingPosition(ModelId: number)//For TC and TC\n {\n this.showLoader = true;\n\n let queryString = \"\";\n queryString = \"ProductModel=\" + ModelId;\n this.CommonService.GetData(\"ProductVariantLevel4\", \"GetAllMountingPosition\", queryString).subscribe((data: any) => {\n this.Level4arr = this.VariantLevel4obj.Level4.concat(data);\n this.showLoader = false;\n }, error => {\n this.showLoader = false;\n });\n }\n\n GetVariant1ByModelId(ModelId: number) {\n this.showLoader = true;\n\n let queryString = \"\";\n queryString = \"ProductModel=\" + ModelId;\n this.CommonService.GetData(\"ProductVariantLevel1\", \"GetVariant1ByModelId\", queryString).subscribe((data: any) => {\n this.Variant1arr = data;\n this.Variant1arr = this.Variant1arr.sort((a, b) => a.Level1.localeCompare(b.Level1));\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n \n GetVariant2ByVariant1Id(Variant1: number) {\n this.showLoader = true;\n\n let queryString = \"\";\n queryString = \"Variant1=\" + Variant1;\n queryString += \"&ProductSeriesId=\" + this.VariantLevel4obj.ProductSeries;\n this.CommonService.GetData(\"ProductVariantLevel2\", \"GetVariant2ByVariant1Id\", queryString).subscribe((data: any) => {\n this.Variant2arr = data;\n\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n GetVariant3ByVariant2Id(Variant2: number)\n {\n this.showLoader = true;\n\n let queryString = \"\";\n queryString = \"Variant2=\" + Variant2;\n queryString += \"&ProductSeriesId=\" + this.VariantLevel4obj.ProductSeries;\n this.CommonService.GetData(\"ProductVariantLevel3\", \"GetVariant3ByVariant2Id\", queryString).subscribe((data: any) => {\n this.Level3arr = data;\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n GetVariant2ByModelId(ModelId: number)// other than TC and TR\n {\n this.showLoader = true;\n\n let queryString = \"\";\n queryString = \"ProductModel=\" + ModelId;\n this.CommonService.GetData(\"ProductVariantLevel2\", \"GetVariant2ByModelId\", queryString).subscribe((data: any) => {\n this.Variant2arr = data;\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n\n\n /*******************************************************************************\n * End get data for add variant level-1\n * ******************************************************************************/\n\n EditDetails() {\n this.isEditable = false;\n this.FormStatus = \"Edit\";\n const appConfig = this.appConfigService.getConfig();\n this.titleService.setTitle(`Edit Product Variant Level 4 - ${appConfig.titleName}`);\n // this.titleService.setTitle(\"Edit Product Variant Level 4 - ECOTECH\");\n }\n onIsPriceOnRequest(event: any) {\n if (event.checked) {\n this.VariantLevel4obj.Level4Price = 0;\n }\n }\n\n onVariant1Selected(event: any)\n {\n this.VariantLevel4obj.Level2Id = null;\n this.VariantLevel4obj.Level3Id = null;\n this.GetVariant2ByVariant1Id(event.target.value);\n }\n\n onVariant2Selected(event: any)\n {\n this.VariantLevel4obj.Level3Id = null;\n this.GetVariant3ByVariant2Id(event.target.value);\n }\n\n /*******************************************************************************\n * Form validation method\n * ******************************************************************************/\n\n isNumberKey(evt: any) {\n this.charCode = (evt.which) ? evt.which : evt.keyCode;\n if (this.charCode != 46 && this.charCode > 31\n && (this.charCode < 48 || this.charCode > 57)) {\n return false;\n }\n else {\n return true;\n }\n }\n\n AvoidSpace(event: any) {\n if (event.which === 32 && !event.target.value.length) {\n event.preventDefault();\n }\n }\n\n /*******************************************************************************\n * End Form validation method \n * ******************************************************************************/\n\n DeleteMP() {\n this.VariantLevel4obj.Level4 = [];\n for (var i = 0; i < this.Level4Currdata.length; i++) {\n var obj = this.Level4arr.find(x => x.Level1 == this.Level4Currdata[i])\n this.VariantLevel4obj.Level4.push(obj);\n }\n this.VariantLevel4obj.Level4 = this.VariantLevel4obj.Level4.filter(x => x.Id != null);\n if (this.VariantLevel4obj.Level4.length == 0) {\n this.toastr.warning(\"This \" + this.VariantLevel4obj.Label_Variant4 + \" does not exist for \" + this.VariantLevel4obj.ModelName + \" product model\")\n this.VariantLevel4obj.Level4 = [];\n }\n else {\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Do you want to delete this \" + this.VariantLevel4obj.Label_Variant4 + \"?\"\n }\n });\n\n dialogRef.afterClosed().subscribe(dialogResult => {\n\n if (dialogResult) {\n this.showLoader = true;\n\n this.CommonService.PostData('ProductVariantLevel4', 'DeleteMountingPosition', this.VariantLevel4obj, null).subscribe((data: any) => {\n let result = data;\n\n if (result.ResponseCode == 1) {\n this.toastr.success(this.VariantLevel4obj.Label_Variant4 + ' deleted successfully!');\n this.router.navigate(['/VariantLevel4', this.VariantLevel4obj.ProductSeries, this.VariantLevel4obj.Label_Variant3, this.VariantLevel4obj.Label_Variant4]);\n this.showLoader = false;\n }\n else if (result.ResponseCode == 0) {\n this.toastr.warning(\"Failed to delete this \" + this.VariantLevel4obj.Label_Variant4 + \" because it has some dependency!\");\n this.showLoader = false;\n }\n else {\n this.toastr.error('Failed to delete ' + this.VariantLevel4obj.Label_Variant4 + '!');\n this.router.navigate(['/VariantLevel4', this.VariantLevel4obj.ProductSeries, this.VariantLevel4obj.Label_Variant3, this.VariantLevel4obj.Label_Variant4]);\n this.showLoader = false;\n }\n\n\n }, error => {\n this.toastr.error('Failed to delete ' + this.VariantLevel4obj.Label_Variant4 + '!');\n this.showLoader = false;\n this.router.navigate(['/VariantLevel4', this.VariantLevel4obj.ProductSeries, this.VariantLevel4obj.Label_Variant3, this.VariantLevel4obj.Label_Variant4]);\n });\n }\n else {\n this.VariantLevel4obj.Level4 = [];\n }\n });\n }\n }\n\n onSubmit(myform: any) {\n\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Do you want to update this \" + this.VariantLevel4obj.Label_Variant4 + \"?\"\n }\n });\n\n dialogRef.afterClosed().subscribe(dialogResult => {\n\n if (dialogResult) {\n this.showLoader = true;\n if (this.VariantLevel4obj.SeriesName == 'TC' || this.VariantLevel4obj.SeriesName == 'TR') {\n this.VariantLevel4obj.Level4 = [];\n }\n\n for (var i = 0; i < this.Level4Currdata.length; i++) {\n var obj = this.Level4arr.find(x => x.Level1 == this.Level4Currdata[i]);\n this.VariantLevel4obj.Level4.push(obj);\n }\n this.CommonService.PostData('ProductVariantLevel4', 'Update', this.VariantLevel4obj, null).subscribe((data: any) => {\n let result = data;\n\n if (result.ResponseCode == 1) {\n this.toastr.success(this.VariantLevel4obj.Label_Variant4 + ' updated successfully!');\n this.router.navigate(['/VariantLevel4', this.VariantLevel4obj.ProductSeries, this.VariantLevel4obj.Label_Variant3, this.VariantLevel4obj.Label_Variant4]);\n this.showLoader = false;\n }\n else if (result.ResponseCode == 0) {\n this.toastr.warning(this.VariantLevel4obj.Label_Variant4 + ' already exists!');\n this.showLoader = false;\n }\n else {\n this.toastr.error('Failed to update ' + this.VariantLevel4obj.Label_Variant4 + '!');\n this.router.navigate(['/VariantLevel4', this.VariantLevel4obj.ProductSeries, this.VariantLevel4obj.Label_Variant3, this.VariantLevel4obj.Label_Variant4]);\n this.showLoader = false;\n }\n\n\n }, error => {\n this.toastr.error('Failed to update ' + this.VariantLevel4obj.Label_Variant4 + '!');\n this.showLoader = false;\n this.router.navigate(['/VariantLevel4', this.VariantLevel4obj.ProductSeries, this.VariantLevel4obj.Label_Variant3, this.VariantLevel4obj.Label_Variant4]);\n });\n }\n });\n }\n OpenPopupAddMountingPosition()\n {\n this.MountingPositionName=\"\";\n }\n AddMountingPosition(myform: any) {\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Do you want to add this Mounting Position ?\",\n }\n });\n\n dialogRef.afterClosed().subscribe(dialogResult => {\n\n if (dialogResult) {\n\n this.showLoader = true;\n\n let queryString = \"\";\n queryString = \"MountingPositionName=\" + this.MountingPositionName;\n this.CommonService.PostData('ProductVariantLevel4', 'AddMountingPosition', null, queryString).subscribe((data: any) => {\n let result = data;\n\n if (result.ResponseCode == 1) {\n this.toastr.success('MountingPosition added successfully!');\n this.closebutton.nativeElement.click();\n if ((this.VariantLevel4obj.ProductModel != null && this.VariantLevel4obj.ProductModel != undefined\n && this.VariantLevel4obj.ProductModel != 0)) {\n\n this.GetAllMountingPosition(this.VariantLevel4obj.ProductModel );\n }\n this.showLoader = false;\n }\n else if (result.ResponseCode == 0) {\n this.toastr.warning('MountingPosition already exists!');\n this.showLoader = false;\n }\n else {\n this.toastr.error('Failed to add MountingPosition!');\n this.closebutton.nativeElement.click();\n if ((this.VariantLevel4obj.ProductModel != null && this.VariantLevel4obj.ProductModel != undefined\n && this.VariantLevel4obj.ProductModel != 0) ) {\n\n this.GetAllMountingPosition(this.VariantLevel4obj.ProductModel );\n }\n this.showLoader = false;\n }\n\n }, error => {\n this.toastr.error('Failed to add MountingPosition!');\n this.closebutton.nativeElement.click();\n this.showLoader = false;\n if ((this.VariantLevel4obj.ProductModel != null && this.VariantLevel4obj.ProductModel != undefined\n && this.VariantLevel4obj.ProductModel != 0)) {\n\n this.GetAllMountingPosition(this.VariantLevel4obj.ProductModel );\n }\n });\n }\n });\n\n\n }\n\n getAccess()\n {\n this.accessservice.GetAll().subscribe((data:any)=> {\n this.accesspermissionobj=data;\n this.isProductVariant4Editable=this.accesspermissionobj.filter(x => x.Fk_RoleId == this.UserRole && x.ElementKey=='isProductLine')[0]?.IsEditable;\n \n });\n \n }\n}\n\n","\n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n {{FormStatus}} {{VariantLevel4obj.Label_Variant4}}\n

    \n
    \n
    \n\n
    \n
    \n * Marked fields are\n mandatory\n
    \n \n
    \n
    \n\n
    \n\n
    \n
    \n\n\n
    \n
    \n
    \n\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    Add MountingPosition
    \n \n
    \n
    \n * Marked fields are\n mandatory\n
    \n
    \n\n
    \n\n
    \n \n
    \n \n\n
    \n \n MountingPosition is required
    \n\n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n
    \n   \n \n
    \n
    \n
    \n
    \n\n \n
    \n
    \n\n
    \n
    \n
    \n
    \n\n
    \n
    \n","import { Component, OnInit, ViewChild, Input, Output, EventEmitter } from '@angular/core';\nimport { MatSort, Sort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { ToastrService } from 'ngx-toastr';\nimport { CommonService } from 'src/app/Service/common.service';\nimport { MatDialog } from '@angular/material/dialog';\nimport { ConfirmDialogComponent } from 'src/app/confirm-dialog/confirm-dialog.component';\nimport { Level1Model, ProductSeries, VariantLevel4 } from 'src/app/Model/ProductModel';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { AppGlobals } from 'src/app/app.global';\nimport { Title } from '@angular/platform-browser';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { AccessPermissionModel } from 'src/app/Model/WorkFlowScreenAccessModel';\nimport { AccessPermissionService } from 'src/app/Service/access-permission.service';\nimport { AppConfigService } from 'src/app/Service/app-config.service';\n\n@Component({\n selector: 'app-variant-level4-details',\n templateUrl: './variant-level4-details.component.html',\n styleUrls: ['./variant-level4-details.component.scss']\n})\nexport class VariantLevel4DetailsComponent implements OnInit {\n displayedColumns: string[] = ['SeriesName', 'ModelName', 'Level1Name', 'Level2Name', 'Level3', 'Level3Price', 'otherType', 'Level4', 'Level4Price', 'Action'];\n dataSource: MatTableDataSource;\n disabled: boolean = false;\n SeriesName: string = \"\";\n isVariant2DependsOnVariant1: boolean = false;\n isVariant3DependsOnVariant2: boolean = false;\n isVariant4DependsOnVariant3: boolean = false;\n accesspermissionobj:AccessPermissionModel[]=Array();\n AccesspermissionForRole:any[]=[];\n\n /*************************************************************************\n Server side Pagination purpose\n *************************************************************************/\n pageNumber: number = 1;\n @Input() pageSize: number = 5;\n @Input() length: number;\n @Input() pageIndex: number = this.pageNumber - 1;\n direction: string = 'desc';\n ColumnName: string = 'ModifiedOn';\n SearchText: string = \"\";\n @Output('matSortChange') sortChange: EventEmitter;\n @ViewChild(MatPaginator) paginator: MatPaginator;\n /*************************************************************************\n End here\n *************************************************************************/\n\n ProductSeriesVariant4Label: string = '';\n ProductSeriesVariant3Label: string = '';\n ProductSeriesVariant1Label: string = '';\n ProductSeriesVariant2Label: string = '';\n ProductSeriesId: number;\n showLoader: boolean;\n data: any[] = [];\n ProductSeriesArr: ProductSeries = new ProductSeries();\n VariantDrpdown: string = \"\";\n UserRole: any;\n isProductVariant4Editable: boolean = false;\n constructor(private toastr: ToastrService, private CommonService: CommonService, public dialog: MatDialog, private router: Router, private route: ActivatedRoute, private titleService: Title,private accessservice: AccessPermissionService,\n private appConfigService : AppConfigService) {\n this.router.routeReuseStrategy.shouldReuseRoute = () => false;\n }\n\n ngOnInit() {\n const appConfig = this.appConfigService.getConfig();\n const dynamicTitle = this.route.snapshot.data['title'];\n this.titleService.setTitle(`${dynamicTitle} - ${appConfig.titleName}`);\n // this.titleService.setTitle(this.route.snapshot.data['title'] + \" - ECOTECH\");\n this.UserRole = localStorage.getItem(\"UserRole\");\n this.getAccess();\n //this.isProductVariant4Editable = AppGlobals.ProductMastersEditableAccessArray.filter(x => x.role == this.UserRole)[0]?.isEditable;\n this.route.params.subscribe(params => {\n this.ProductSeriesVariant3Label = params['Variant3'];\n this.ProductSeriesVariant4Label = params['Variant4'];\n this.ProductSeriesId = params['Seriesid'];\n this.pageSize = 5;\n this.pageNumber = 1;\n this.pageIndex = this.pageNumber - 1;\n this.length = 0;\n this.direction = 'desc';\n this.ColumnName = 'ModifiedOn';\n this.SearchText = \"\";\n this.VariantDrpdown = \"Variant4\";\n this.GetAllVariantLevel4Details();\n this.getAllProductSeries();\n });\n\n\n }\n\n\n /*************************************************************************\n * Below function used for Server side Pagination,Sorting and Searching\n * (1)GetAllVariantLevel4Details() - To get data for grid\n * (2)SearchParam() - searching\n * (3)sortData() - Sorting\n * (4)pageEvent() - Pagination\n * \n * ***********************************************************************/\n\n GetAllVariantLevel4Details() {\n this.showLoader = true;\n let queryString = \"\";\n queryString = \"pageNumber=\" + this.pageNumber;\n queryString += \"&pageSize=\" + this.pageSize;\n queryString += \"&searchText=\" + this.SearchText;\n queryString += \"&direction=\" + this.direction;\n queryString += \"&columnName=\" + this.ColumnName;\n queryString += \"&ProductSeriesId=\" + this.ProductSeriesId; //Seires Id\n\n this.CommonService.GetData('ProductVariantLevel4', 'GetAllPagination', queryString).subscribe((data: any) => {\n this.data = data.Data;\n this.length = data.Total;\n if (this.ColumnName == 'Level3Price') {\n var IsPriceOnRequestList: VariantLevel4[] = [];\n var IsNotPriceOnRequestList: VariantLevel4[] = [];\n\n IsPriceOnRequestList = this.data.filter(x => x.Level3IsPriceOnRequest == true);\n IsNotPriceOnRequestList = this.data.filter(x => x.Level3IsPriceOnRequest != true);\n IsPriceOnRequestList = IsPriceOnRequestList.concat(IsNotPriceOnRequestList);\n this.dataSource = new MatTableDataSource(IsPriceOnRequestList);\n }\n else if (this.ColumnName == 'Level4Price') {\n var IsPriceOnRequestList: VariantLevel4[] = [];\n var IsNotPriceOnRequestList: VariantLevel4[] = [];\n\n IsPriceOnRequestList = this.data.filter(x => x.IsPriceOnRequest == true);\n IsNotPriceOnRequestList = this.data.filter(x => x.IsPriceOnRequest != true);\n IsPriceOnRequestList = IsPriceOnRequestList.concat(IsNotPriceOnRequestList);\n this.dataSource = new MatTableDataSource(IsPriceOnRequestList);\n }\n else {\n this.dataSource = new MatTableDataSource(this.data);\n }\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n\n }\n\n getAllProductSeries() {\n this.showLoader = true;\n\n let queryString = \"\";\n queryString = \"Id=\" + this.ProductSeriesId;\n\n this.CommonService.GetData(\"ProductSeries\", \"GetById\", queryString).subscribe((data: any) => {\n this.ProductSeriesArr = data;\n this.SeriesName = data.SeriesName;\n this.isVariant2DependsOnVariant1 = data.IsLevel2DepOnLevel1;\n this.isVariant3DependsOnVariant2 = data.IsLevel3DepOnLevel2;\n this.isVariant4DependsOnVariant3 = data.IsLevel4DepOnLevel3;\n this.ProductSeriesVariant1Label = data.Label_Variant1;\n this.ProductSeriesVariant2Label = data.Label_Variant2;\n this.ProductSeriesVariant3Label = data.Label_Variant3;\n this.ProductSeriesVariant4Label = data.Label_Variant4;\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n\n SearchParam(event: any) {\n this.SearchText = event.target.value;\n this.pageNumber = 1;\n this.paginator.pageIndex = 0;\n this.GetAllVariantLevel4Details();\n }\n\n sortData(event: any) {\n if (this.dataSource.filteredData != null) {\n this.direction = event.direction;\n this.ColumnName = event.active;\n this.GetAllVariantLevel4Details();\n }\n }\n\n pageEvent(event: any) {\n window.scroll({\n top: 0,\n left: 0,\n behavior: 'smooth'\n });\n this.pageNumber = event.pageIndex + 1;\n this.pageSize = event.pageSize;\n this.GetAllVariantLevel4Details();\n }\n /************************************************************************\n * Grid Code End \n * **********************************************************************/\n\n /*******************************************************************************\n * Form validation method\n * ******************************************************************************/\n\n AvoidSpace(event: any) {\n if (event.which === 32 && !event.target.value.length) {\n event.preventDefault();\n }\n }\n\n /*******************************************************************************\n * End Form validation method \n * ******************************************************************************/\n\n RedirectToVariant(event: any) {\n if (this.VariantDrpdown == 'ProductModel') {\n this.router.navigate(['/ProductModel', this.ProductSeriesArr.Id]);\n }\n else if (this.VariantDrpdown == 'Options') {\n this.router.navigate(['/Options', this.ProductSeriesArr.Id]);\n }\n else if (this.VariantDrpdown == 'Variant1') {\n this.router.navigate(['/VariantLevel1', this.ProductSeriesArr.Id, this.ProductSeriesArr.Label_Variant1]);\n }\n else if (this.VariantDrpdown == 'Variant2') {\n this.router.navigate(['/VariantLevel2', this.ProductSeriesArr.Id, this.ProductSeriesArr.Label_Variant1, this.ProductSeriesArr.Label_Variant2]);\n }\n else if (this.VariantDrpdown == 'Variant3') {\n this.router.navigate(['/VariantLevel3', this.ProductSeriesArr.Id, this.ProductSeriesArr.Label_Variant2, this.ProductSeriesArr.Label_Variant3]);\n }\n else if (this.VariantDrpdown == 'Variant4') {\n this.router.navigate(['/VariantLevel4', this.ProductSeriesArr.Id, this.ProductSeriesArr.Label_Variant3, this.ProductSeriesArr.Label_Variant4]);\n }\n }\n \n UpdateVariantLevel4StatusById(Level4Data: VariantLevel4, CurrentStatus: boolean) {\n\n if (CurrentStatus == true) {\n //Create ConfirmDialogRef \n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Do you want to deactivate this \" + this.ProductSeriesVariant4Label + ' ?',\n }\n });\n // listen to response from ConfirmDialogRef\n dialogRef.afterClosed().subscribe(dialogResult => {\n // if user pressed yes dialogResult will be true, \n // if he pressed no - it will be false\n if (dialogResult) {\n this.pageNumber = 1;\n this.paginator.pageIndex = 0;\n this.length = 0;\n this.direction = 'desc';\n this.ColumnName = 'ModifiedOn';\n this.showLoader = true;\n this.CommonService.PostData('ProductVariantLevel4', 'UpdateStatus', Level4Data, null).subscribe((data: any) => {\n this.showLoader = false;\n if (data.ResponseCode == 1) {\n this.toastr.success(this.ProductSeriesVariant4Label + \" deactivated successfully!\");\n }\n else if (data.ResponseCode == 0) {\n this.toastr.warning(\"Failed to deactivate this \" + this.ProductSeriesVariant4Label + \" because it has some dependency!\");\n }\n else {\n this.toastr.info(\"Failed to deactivate \" + this.ProductSeriesVariant4Label + \"!\");\n }\n this.GetAllVariantLevel4Details();\n }, error => {\n this.toastr.error(\"Failed to deactivate \" + this.ProductSeriesVariant4Label + \"!\");\n this.GetAllVariantLevel4Details();\n this.showLoader = false;\n });\n\n }\n else {\n this.GetAllVariantLevel4Details();\n this.showLoader = false;\n let element: HTMLElement = document.getElementsByClassName('slideToogle')[0] as HTMLElement;\n\n }\n });\n\n }\n else {\n //Create ConfirmDialogRef\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n maxWidth: \"400px\",\n data: {\n title: \"Are you sure?\",\n message: \"Do you want to activate this \" + this.ProductSeriesVariant4Label + \"?\"\n }\n });\n // listen to response from ConfirmDialogRef\n dialogRef.afterClosed().subscribe(dialogResult => {\n // if user pressed yes dialogResult will be true, \n // if he pressed no - it will be false\n if (dialogResult) {\n this.pageNumber = 1;\n this.paginator.pageIndex = 0;\n this.length = 0;\n this.direction = 'desc';\n this.ColumnName = 'ModifiedOn';\n this.showLoader = true;\n\n this.CommonService.PostData('ProductVariantLevel4', 'UpdateStatus', Level4Data, null).subscribe((data: any) => {\n this.showLoader = false;\n if (data.ResponseCode == 1) {\n this.toastr.success(this.ProductSeriesVariant4Label + \" activated successfully!\");\n }\n\n else {\n this.toastr.info(\"Failed to activate \" + this.ProductSeriesVariant4Label + \"!\");\n }\n this.GetAllVariantLevel4Details();\n }, error => {\n this.toastr.error(\"Failed to activate \" + this.ProductSeriesVariant4Label + \"!\");\n this.GetAllVariantLevel4Details();\n this.showLoader = false;\n });\n\n }\n else {\n this.GetAllVariantLevel4Details();\n this.showLoader = false;\n let element: HTMLElement = document.getElementsByClassName('slideToogle')[0] as HTMLElement;\n element.click();\n }\n });\n }\n }\n\n getAccess()\n {\n this.accessservice.GetAll().subscribe((data:any)=> {\n this.accesspermissionobj=data;\n this.isProductVariant4Editable=this.accesspermissionobj.filter(x => x.Fk_RoleId == this.UserRole && x.ElementKey=='isProductLine')[0]?.IsEditable;\n \n });\n \n }\n}\n\n\n","\n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n {{ProductSeriesVariant4Label}} Listing\n

    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n {{ProductSeriesArr.SeriesName}}
    \n \n \n Product Model\n {{ProductSeriesArr.Label_Variant1}}\n \n {{ProductSeriesArr.Label_Variant2}}\n {{ProductSeriesArr.Label_Variant3}}\n {{ProductSeriesArr.Label_Variant4}}\n Product Options\n \n \n
    \n
    \n \n\n Search\n \n \n\n
    \n\n
    \n\n
    \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n\n\n \n \n \n \n\n\n \n \n\n\n
    Product Series {{row.SeriesName}} Product Model {{row.ModelName}} {{ProductSeriesVariant1Label}} \n {{row.Level1Name}} {{ProductSeriesVariant2Label}} \n {{row.Level2Name}} {{ProductSeriesVariant3Label}} \n {{row.Level3}} {{ProductSeriesVariant3Label + \" - Price\"}}\n (€) \n {{row.Level3IsPriceOnRequest ? 'Price on Request': row.Level3Price |indianCurrency}} \n {{ProductSeriesVariant4Label}}\n \n {{item.Level1}}{{i === row.Level4.length -1 ? '': ',' }}\n \n {{ProductSeriesVariant4Label}} \n {{row.otherType}}\n {{ProductSeriesVariant4Label + \" - Price\"}} (€) {{row.IsPriceOnRequest ? 'Price\n on Request' : row.Level4Price |indianCurrency}} Action \n \n \n \n \n \n     \n \n   {{row.Status==true ? 'Active': 'Inactive'}}\n
    \n No records found
    \n\n \n \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n \n","import { Component, OnInit, Input, ɵbypassSanitizationTrustResourceUrl, ElementRef, ViewChild, Output, EventEmitter } from '@angular/core';\nimport * as am4core from \"@amcharts/amcharts4/core\";\nimport * as am4charts from \"@amcharts/amcharts4/charts\";\nimport am4themes_animated from \"@amcharts/amcharts4/themes/animated\";\nimport { ToastrService } from 'ngx-toastr';\nimport { CommonService } from 'src/app/Service/common.service';\nimport { ActivatedRoute } from '@angular/router';\nimport { Title } from '@angular/platform-browser';\nimport { ReportFilterViewModel } from 'src/app/Model/ReportFilterModel';\nimport { AppGlobals } from 'src/app/app.global';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort, Sort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { EnquiryGridReportComponent } from '../enquiry-grid-report/enquiry-grid-report.component';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { AppConfigService } from 'src/app/Service/app-config.service';\n\n@Component({\n selector: 'app-customerwise-report',\n templateUrl: './customerwise-report.component.html',\n styleUrls: ['./customerwise-report.component.scss']\n})\nexport class CustomerwiseReportComponent implements OnInit {\n @Input()\n showLoader: boolean = false;\n regionList: any[] = [];\n SelectedRegion: any = undefined;\n CustomerGridData: any[] = [];\n\n reportFilterObj: ReportFilterViewModel = new ReportFilterViewModel();\n\n isProductLineSelected: boolean = false;\n isProductSeriesSelected: boolean = false;\n isProductModelSelected: boolean = false;\n isRegionSelected: boolean = false;\n selectedRegion: any;\n chartData: { category: string; value: number; }[];\n selectedProductLine: any;\n selectedProductSeries: any;\n productlineData: any;\n regionData: any;\n customerclassdata: any;\n customertypedata: any;\n segmentData: any;\n YearList: any[] = [];\n currYear: number = new Date().getFullYear();\n @ViewChild('fiterElement') fiterElement: ElementRef;\n\n isAllCustomerClasses: boolean = true;\n isAllCustomerTypes: boolean = true;\n productseriesData: { category: string; value: number; }[];\n producModeleData: { category: string; value: number; }[];\n selectedCClass: any;\n isCustomerClassSelected: boolean;\n selectedCType: any;\n CurrencyList: any;\n selectedSegment: any;\n isSegmentSelected: boolean;\n CurrencyLabel: string = \"\";\n CustCurrencyLabel: string = \"\";\n VariantLabel: string = \"\";\n // Callfrom: string = \"FromReport\";\n closeResult: string;\n /*************************************************************************\n Server side Pagination purpose\n *************************************************************************/\n pageNumber: number = 1;\n @Input() pageSize: number = 5;\n @Input() length: number;\n @Input() pageIndex: number = this.pageNumber - 1;\n direction: string = 'desc';\n ColumnName: string = 'CustomerId';\n SearchText: string = \"\";\n @Output('matSortChange') sortChange: EventEmitter;\n @ViewChild(MatPaginator) paginator: MatPaginator;\n displayedColumns: string[] = ['CustomerName', 'CustomerCode', 'EnquiryCount', 'OrderIntakeAmount', 'QuotationAmount'];\n dataSourceCustomer: MatTableDataSource;\n /*************************************************************************\n End here\n *************************************************************************/\n\n constructor(private toastr: ToastrService, private commonService: CommonService,\n private titleService: Title, private route: ActivatedRoute, private modalService: NgbModal, private appConfigService : AppConfigService) { }\n\n ngOnInit() {\n this.commonService.RefreshHeaderFun();\n const appConfig = this.appConfigService.getConfig();\n const dynamicTitle = this.route.snapshot.data['title'];\n this.titleService.setTitle(`${dynamicTitle} - ${appConfig.titleName}`);\n // this.titleService.setTitle(this.route.snapshot.data['title'] + \" - ECOTECH\");\n this.showLoader = true;\n this.reportFilterObj = new ReportFilterViewModel();\n this.reportFilterObj.EnqType = \"quotation\";\n this.reportFilterObj.ReportValueType = \"amount\";\n this.reportFilterObj.CustomerClass = \"0\";\n this.reportFilterObj.CustomerType = \"0\";\n this.reportFilterObj.reporttype = \"Customer\";\n this.reportFilterObj.Year = new Date().getFullYear();\n // this.YearList = AppGlobals.YearsConstant;\n let k = 1;\n for (let i = 2018; i <= this.currYear; i++) {\n let batch = i;\n this.YearList.push(batch);\n k++;\n }\n this.getCurrencyList();\n }\n onYearChange() {\n this.CustomerClassWisePieChart();\n }\n\n // getYearList() {\n // this.commonService.GetData(\"Dashboard\", \"GetYearList\", null).subscribe((data: any) => {\n // this.YearList = data;\n // var check = this.YearList.filter(x=>x==new Date().getFullYear())[0];\n // if (check.length==0) this.YearList.push(new Date().getFullYear());\n // },\n // error => {\n // this.toastr.error(\"Failed to load year list!\");\n // this.showLoader = false;\n // });\n // }\n getCurrencyList() {\n this.commonService.GetData(\"Currency\", \"GetAll\", null).subscribe((data: any) => {\n this.CurrencyList = data;\n this.reportFilterObj.currencycode = this.CurrencyList.filter(x => x.Name == 'Euro (€)')[0]?.CurrencyCode;\n this.reportFilterObj.curency = this.CurrencyList.filter(x => x.CurrencyCode == this.reportFilterObj.currencycode)[0]?.Id;\n if (this.reportFilterObj.ReportValueType == \"amount\") {\n // if (this.reportFilterObj.curency == 1) this.CurrencyLabel = \"USD\";\n // if (this.reportFilterObj.curency == 2) this.CurrencyLabel = \"EURO\";\n // if (this.reportFilterObj.curency == 3) this.CurrencyLabel = \"INR\";\n if (this.reportFilterObj.currencycode == \"USD\") this.CurrencyLabel = \"USD\";\n if (this.reportFilterObj.currencycode == \"Euro\") this.CurrencyLabel = \"EURO\";\n //if (this.reportFilterObj.currencycode == \"INR\") this.CurrencyLabel = \"INR\";\n if (this.reportFilterObj.currencycode == \"VND\") this.CurrencyLabel = 'VND';\n if (this.reportFilterObj.currencycode == \"IDR\") this.CurrencyLabel = 'IDR';\n if (this.reportFilterObj.currencycode == \"PHP\") this.CurrencyLabel = 'PHP';\n if (this.reportFilterObj.currencycode == \"THB\") this.CurrencyLabel = 'THB';\n if (this.reportFilterObj.currencycode == \"MYR\") this.CurrencyLabel = 'MYR';\n if (this.reportFilterObj.currencycode == \"SGD\") this.CurrencyLabel = 'SGD';\n }\n else {\n this.CurrencyLabel = \"No's\";\n }\n this.CustomerClassWisePieChart();\n setTimeout(() => {\n this.fiterElement.nativeElement.focus();\n }, 0);\n },\n error => {\n this.toastr.error(\"Failed to load currency list!\");\n this.showLoader = false;\n });\n }\n RegionWisePieChart() {\n let chart = am4core.create(\"RegionWisePieChart\", am4charts.PieChart);\n let title = chart.titles.create();\n title.text = \"Region\";\n title.fontSize = 15;\n title.fontWeight = \"bold\";\n title.marginBottom = 30;\n // chart.exporting.menu = new am4core.ExportMenu();\n chart.legend = new am4charts.Legend();\n chart.legend.labels.template.text = \"[normal]{category}: [bold]{value.value}\";\n // chart.legend.scrollable = true;\n chart.legend.valueLabels.template.disabled = true;\n let legendContainer = am4core.create(\"regionlegenddiv\", am4core.Container);\n legendContainer.width = am4core.percent(100);\n legendContainer.height = 300;\n chart.legend.parent = legendContainer;\n chart.events.on(\"datavalidated\", resizeLegend);\n chart.events.on(\"maxsizechanged\", resizeLegend);\n\n chart.legend.events.on(\"datavalidated\", resizeLegend);\n chart.legend.events.on(\"maxsizechanged\", resizeLegend);\n chart.legend.itemContainers.template.clickable = false;\n chart.legend.itemContainers.template.focusable = false;\n chart.legend.itemContainers.template.cursorOverStyle = am4core.MouseCursorStyle.default;\n function resizeLegend(ev) {\n document.getElementById(\"regionlegenddiv\").style.height = chart.legend.contentHeight + \"px\";\n }\n chart.hiddenState.properties.opacity = 0;\n chart.data = this.regionData;\n // //*************************************************************************** */\n const that = this;\n chart.events.on(\"beforedatavalidated\", function (ev) {\n // check if there's data\n var IsDataEmpty = false;\n var emptyUnits;\n if (that.reportFilterObj.ReportValueType == 'units') emptyUnits = chart.data.filter(x => x.unitvalue == 0);\n if (that.reportFilterObj.ReportValueType == 'amount') emptyUnits = chart.data.filter(x => x.amountvalue == 0);\n if (emptyUnits.length == chart.data.length) {\n chart.hidden = true;\n IsDataEmpty = true;\n }\n var indicator;\n if (IsDataEmpty) {\n that.showIndicator(chart, indicator);\n }\n else if (indicator) {\n that.hideIndicator(indicator);\n }\n else {\n chart.exporting.menu = new am4core.ExportMenu();\n let options = chart.exporting.getFormatOptions(\"pdf\");\n options.addURL = false;\n chart.exporting.setFormatOptions(\"pdf\", options);\n chart.exporting.filePrefix = \"RegionReport\";\n /**************Custom Export**************** */\n chart.exporting.menu.items = [\n {\n \"label\": \"...\",\n \"menu\": [\n {\n \"label\": \"Image\",\n \"menu\": [\n { \"type\": \"png\", \"label\": \"PNG\" },\n { \"type\": \"jpg\", \"label\": \"JPG\" },\n // { \"type\": \"svg\", \"label\": \"SVG\" },\n { \"type\": \"pdf\", \"label\": \"PDF\" }\n ]\n }, {\n \"label\": \"Data\",\n \"menu\": [\n { \"type\": \"xlsx\", \"label\": \"XLSX\" },\n ]\n }, {\n \"label\": \"Print\", \"type\": \"print\"\n }\n ]\n }\n ];\n chart.exporting.extraSprites.push({\n \"sprite\": legendContainer,\n \"position\": \"bottom\",\n \"marginTop\": 30\n });\n if (that.reportFilterObj.ReportValueType == \"amount\") {\n let title = chart.titles.create();\n title.text = \"[bold]All values are in \" + that.CurrencyLabel;\n title.fill = am4core.color(\"red\");\n title.fontSize = '14px';\n title.disabled = false;\n chart.exporting.dataFields = {\n \"category\": \"Region\",\n \"amountvalue\": \"Amount(\" + that.CurrencyLabel + \")\",\n }\n }\n else {\n chart.exporting.dataFields = {\n \"category\": \"Region\",\n \"unitvalue\": that.CurrencyLabel,\n }\n }\n\n /**************End Custom Export**************** */\n }\n\n });\n // //*************************************************************************** */\n chart.legend.labels.template.maxWidth = 150;\n chart.legend.labels.template.wrap = true;\n chart.legend.labels.template.truncate = false;\n chart.legend.itemContainers.template.tooltipText = \"{category}\";\n var series = chart.series.push(new am4charts.PieSeries());\n series.dataFields.category = \"category\";\n if (this.reportFilterObj.ReportValueType == \"units\") {\n series.dataFields.value = \"unitvalue\";\n } else {\n series.dataFields.value = \"amountvalue\";\n }\n chart.legend.labels.template.text = \"[normal]{category}: [bold]{value.value}\";\n // chart.legend.scrollable = true;\n chart.legend.valueLabels.template.disabled = true;\n let markerTemplate = chart.legend.markers.template;\n markerTemplate.width = 20;\n markerTemplate.height = 20;\n chart.legend.valueLabels.template.align = \"left\"\n chart.legend.valueLabels.template.textAlign = \"start\"\n chart.legend.labels.template.maxWidth = 150;\n chart.legend.labels.template.wrap = true;\n chart.legend.labels.template.truncate = false;\n series.labels.template.text = \"{category}: {value.value}\";\n series.slices.template.tooltipText = \"{category}: {value.value}\";\n chart.legend.valueLabels.template.text = \"{value.value}\";\n series.slices.template.cursorOverStyle = am4core.MouseCursorStyle.pointer;\n // \n }\n\n onCustomerClassSliceClick(sliceObj) {\n const that = this;\n this.showLoader = true;\n this.reportFilterObj.CustomerClass = sliceObj.Id;\n this.selectedCClass = sliceObj;\n this.isCustomerClassSelected = true;\n this.isAllCustomerClasses = false;\n this.isProductSeriesSelected = false;\n this.isSegmentSelected = false;\n this.callCustomerChart(true);\n }\n onCustomerTypeSliceClick(sliceObj) {\n const that = this;\n this.showLoader = true;\n this.reportFilterObj.CustomerType = sliceObj.Id;\n this.selectedCType = sliceObj;\n this.isCustomerClassSelected = true;\n this.isAllCustomerTypes = false;\n this.isProductSeriesSelected = false;\n this.isSegmentSelected = false;\n this.callCustomerChart(false);\n }\n\n CustomerTypeWisePieChart() {\n const that = this;\n let chart = am4core.create(\"CustomerTypeWisePieChart\", am4charts.PieChart);\n let title = chart.titles.create();\n title.text = \"Customer Type\";\n title.fontSize = 15;\n title.fontWeight = \"bold\";\n title.marginBottom = 30;\n // chart.exporting.menu = new am4core.ExportMenu();\n // chart.responsive.enabled = true;\n chart.legend = new am4charts.Legend();\n chart.legend.labels.template.text = \"[normal]{category}: [bold]{value.value}\";\n //chart.legend.scrollable = true;\n chart.legend.valueLabels.template.disabled = true;\n chart.hiddenState.properties.opacity = 0;\n chart.data = this.customertypedata;\n // //*************************************************************************** */\n\n chart.events.on(\"beforedatavalidated\", function (ev) {\n // check if there's data\n var IsDataEmpty = false;\n var emptyUnits;\n if (that.reportFilterObj.ReportValueType == 'units') emptyUnits = chart.data.filter(x => x.unitvalue == 0);\n if (that.reportFilterObj.ReportValueType == 'amount') emptyUnits = chart.data.filter(x => x.amountvalue == 0);\n if (emptyUnits.length == chart.data.length) {\n chart.hidden = true;\n IsDataEmpty = true;\n }\n var indicator;\n if (IsDataEmpty) {\n that.showIndicator(chart, indicator);\n }\n else if (indicator) {\n that.hideIndicator(indicator);\n }\n else {\n chart.exporting.menu = new am4core.ExportMenu();\n let options = chart.exporting.getFormatOptions(\"pdf\");\n options.addURL = false;\n chart.exporting.setFormatOptions(\"pdf\", options);\n chart.exporting.filePrefix = \"CustomerTypeReport\";\n /**************Custom Export**************** */\n chart.exporting.menu.items = [\n {\n \"label\": \"...\",\n \"menu\": [\n {\n \"label\": \"Image\",\n \"menu\": [\n { \"type\": \"png\", \"label\": \"PNG\" },\n { \"type\": \"jpg\", \"label\": \"JPG\" },\n // { \"type\": \"svg\", \"label\": \"SVG\" },\n { \"type\": \"pdf\", \"label\": \"PDF\" }\n ]\n }, {\n \"label\": \"Data\",\n \"menu\": [\n { \"type\": \"xlsx\", \"label\": \"XLSX\" },\n ]\n }, {\n \"label\": \"Print\", \"type\": \"print\"\n }\n ]\n }\n ];\n chart.exporting.extraSprites.push({\n \"sprite\": legendContainer,\n \"position\": \"bottom\",\n \"marginTop\": 30\n });\n if (that.reportFilterObj.ReportValueType == \"amount\") {\n let title = chart.titles.create();\n title.text = \"[bold]All values are in \" + that.CurrencyLabel;\n title.fill = am4core.color(\"red\");\n title.fontSize = '14px';\n title.disabled = false;\n chart.exporting.dataFields = {\n \"category\": \"CustomerType\",\n \"amountvalue\": \"Amount(\" + that.CurrencyLabel + \")\",\n }\n }\n else {\n chart.exporting.dataFields = {\n \"category\": \"CustomerType\",\n \"unitvalue\": that.CurrencyLabel,\n }\n }\n\n /**************End Custom Export**************** */\n }\n\n });\n // //*************************************************************************** */\n let legendContainer = am4core.create(\"ctlegenddiv\", am4core.Container);\n legendContainer.width = am4core.percent(100);\n legendContainer.height = am4core.percent(100);\n chart.legend.parent = legendContainer;\n chart.events.on(\"datavalidated\", resizeLegend);\n chart.events.on(\"maxsizechanged\", resizeLegend);\n\n chart.legend.events.on(\"datavalidated\", resizeLegend);\n chart.legend.events.on(\"maxsizechanged\", resizeLegend);\n chart.legend.itemContainers.template.clickable = false;\n chart.legend.itemContainers.template.focusable = false;\n chart.legend.itemContainers.template.cursorOverStyle = am4core.MouseCursorStyle.default;\n function resizeLegend(ev) {\n document.getElementById(\"ctlegenddiv\").style.height = chart.legend.contentHeight + \"px\";\n }\n chart.legend.labels.template.maxWidth = 200;\n chart.legend.labels.template.wrap = true;\n chart.legend.labels.template.truncate = false;\n chart.legend.itemContainers.template.tooltipText = \"{category}\";\n var series = chart.series.push(new am4charts.PieSeries());\n series.dataFields.category = \"category\";\n if (this.reportFilterObj.ReportValueType == \"units\") {\n series.dataFields.value = \"unitvalue\";\n } else {\n series.dataFields.value = \"amountvalue\";\n }\n chart.legend.labels.template.text = \"[normal]{category}: [bold]{value.value}\";\n //chart.legend.scrollable = true;\n chart.legend.valueLabels.template.disabled = true;\n let markerTemplate = chart.legend.markers.template;\n markerTemplate.width = 20;\n markerTemplate.height = 20;\n chart.legend.valueLabels.template.align = \"left\"\n chart.legend.valueLabels.template.textAlign = \"start\"\n \n series.labels.template.text = \"{category}: {value.value}\";\n series.slices.template.tooltipText = \"{category}: {value.value}\";\n chart.legend.valueLabels.template.text = \"{value.value}\";\n series.slices.template.cursorOverStyle = am4core.MouseCursorStyle.pointer;\n //\n series.slices.template.events.on(\"hit\", function (ev) {\n that.onCustomerTypeSliceClick(ev.target.dataItem.dataContext);\n series.slices.each(function (item) {\n if (item.isActive && item != ev.target) {\n item.isActive = false;\n }\n })\n });\n }\n callCustomerChart(isFromCustomerClass:boolean) {\n this.showLoader = true;\n this.isSegmentSelected = false;\n let queryString = \"\";\n queryString += \"EnqType=\" + this.reportFilterObj.EnqType;\n queryString += \"&ReportValueType=\" + this.reportFilterObj.ReportValueType;\n queryString += \"&Year=\" + this.reportFilterObj.Year;\n queryString += \"&Region=\" + this.reportFilterObj.Region;\n queryString += \"&ProductLine=\" + this.reportFilterObj.ProductLine;\n queryString += \"&ProductSeries=\" + this.reportFilterObj.ProductSeries;\n queryString += \"&Productmodal=\" + this.reportFilterObj.Productmodal;\n queryString += \"&CustomerClass=\" + this.reportFilterObj.CustomerClass;\n queryString += \"&CustomerType=\" + this.reportFilterObj.CustomerType;\n queryString += \"&Segment=\" + this.reportFilterObj.Segment;\n queryString += \"&reporttype=\" + this.reportFilterObj.reporttype;\n queryString += \"¤cy=\" + this.reportFilterObj.curency;\n this.commonService.GetData(\"Report\", \"GetRegionReport\", queryString).subscribe((data: any) => {\n this.regionData = data.Region;\n this.productlineData = data.ProductLine;\n this.customerclassdata = data.CustomerClass;\n this.customertypedata = data.CustomerType;\n this.segmentData = data.Segment;\n setTimeout(() => {\n this.RegionWisePieChart();\n this.ProductWisePieChart();\n //this.CustomerClassWisePieChart();\n // this.GetAllCustomerDetails();\n if(isFromCustomerClass)\n {\n this.CustomerTypeWisePieChart();\n } \n this.SegmentWisePieChart();\n this.showLoader = false;\n }, 3000);\n\n }, error => {\n this.showLoader = false;\n });\n\n }\n CustomerClassWisePieChart() {\n const that = this;\n this.showLoader = true;\n this.isProductLineSelected = false;\n this.isProductSeriesSelected = false;\n let queryString = \"\";\n queryString += \"EnqType=\" + this.reportFilterObj.EnqType;\n queryString += \"&ReportValueType=\" + this.reportFilterObj.ReportValueType;\n queryString += \"&Year=\" + this.reportFilterObj.Year;\n queryString += \"&Region=\" + this.reportFilterObj.Region;\n queryString += \"&ProductLine=\" + this.reportFilterObj.ProductLine;\n queryString += \"&ProductSeries=\" + this.reportFilterObj.ProductSeries;\n queryString += \"&Productmodal=\" + this.reportFilterObj.Productmodal;\n queryString += \"&CustomerClass=\" + this.reportFilterObj.CustomerClass;\n queryString += \"&CustomerType=\" + this.reportFilterObj.CustomerType;\n queryString += \"&Segment=\" + this.reportFilterObj.Segment;\n queryString += \"&reporttype=\" + this.reportFilterObj.reporttype;\n queryString += \"¤cy=\" + this.reportFilterObj.curency;\n this.commonService.GetData(\"Report\", \"GetRegionReport\", queryString).subscribe((data: any) => {\n this.CustomerGridData = data.CustomerGridData;\n let chart = am4core.create(\"CustomerClassWisePieChart\", am4charts.PieChart);\n // this.GetAllCustomerDetails();\n // chart.exporting.menu = new am4core.ExportMenu();\n chart.legend = new am4charts.Legend();\n chart.legend.labels.template.text = \"[normal]{category}: [bold]{value.value}\";\n // chart.legend.scrollable = true;\n chart.legend.valueLabels.template.disabled = true;\n let title = chart.titles.create();\n title.text = \"Customer Classification\";\n title.fontSize = 15;\n title.fontWeight = \"bold\";\n title.marginBottom = 30;\n let legendContainer = am4core.create(\"cclegenddiv\", am4core.Container);\n legendContainer.width = am4core.percent(100);\n legendContainer.height = am4core.percent(100);\n chart.legend.parent = legendContainer;\n chart.events.on(\"datavalidated\", resizeLegend);\n chart.events.on(\"maxsizechanged\", resizeLegend);\n\n chart.legend.events.on(\"datavalidated\", resizeLegend);\n chart.legend.events.on(\"maxsizechanged\", resizeLegend);\n chart.legend.itemContainers.template.clickable = false;\n chart.legend.itemContainers.template.focusable = false;\n chart.legend.itemContainers.template.cursorOverStyle = am4core.MouseCursorStyle.default;\n function resizeLegend(ev) {\n document.getElementById(\"cclegenddiv\").style.height = chart.legend.contentHeight + \"px\";\n }\n chart.hiddenState.properties.opacity = 0;\n setTimeout(() => {\n this.RegionWisePieChart();\n this.ProductWisePieChart();\n //this.CustomerClassWisePieChart();\n this.CustomerTypeWisePieChart();\n this.SegmentWisePieChart();\n this.showLoader = false;\n }, 3000);\n\n this.regionData = data.Region;\n this.productlineData = data.ProductLine;\n this.customerclassdata = data.CustomerClass;\n this.customertypedata = data.CustomerType;\n this.segmentData = data.Segment;\n chart.data = this.customerclassdata;\n // //*************************************************************************** */\n\n chart.events.on(\"beforedatavalidated\", function (ev) {\n // check if there's data\n var IsDataEmpty = false;\n var emptyUnits;\n if (that.reportFilterObj.ReportValueType == 'units') emptyUnits = chart.data.filter(x => x.unitvalue == 0);\n if (that.reportFilterObj.ReportValueType == 'amount') emptyUnits = chart.data.filter(x => x.amountvalue == 0);\n if (emptyUnits.length == chart.data.length) {\n chart.hidden = true;\n IsDataEmpty = true;\n }\n var indicator;\n if (IsDataEmpty) {\n that.showIndicator(chart, indicator);\n }\n else if (indicator) {\n that.hideIndicator(indicator);\n }\n else {\n chart.exporting.menu = new am4core.ExportMenu();\n let options = chart.exporting.getFormatOptions(\"pdf\");\n options.addURL = false;\n chart.exporting.setFormatOptions(\"pdf\", options);\n chart.exporting.filePrefix = \"CustomerClassificationReport\";\n /**************Custom Export**************** */\n chart.exporting.menu.items = [\n {\n \"label\": \"...\",\n \"menu\": [\n {\n \"label\": \"Image\",\n \"menu\": [\n { \"type\": \"png\", \"label\": \"PNG\" },\n { \"type\": \"jpg\", \"label\": \"JPG\" },\n // { \"type\": \"svg\", \"label\": \"SVG\" },\n { \"type\": \"pdf\", \"label\": \"PDF\" }\n ]\n }, {\n \"label\": \"Data\",\n \"menu\": [\n { \"type\": \"xlsx\", \"label\": \"XLSX\" },\n ]\n }, {\n \"label\": \"Print\", \"type\": \"print\"\n }\n ]\n }\n ];\n\n chart.exporting.extraSprites.push({\n \"sprite\": legendContainer,\n \"position\": \"bottom\",\n \"marginTop\": 30\n });\n if (that.reportFilterObj.ReportValueType == \"amount\") {\n let title = chart.titles.create();\n title.text = \"[bold]All values are in \" + that.CurrencyLabel;\n title.fill = am4core.color(\"red\");\n title.fontSize = '14px';\n title.disabled = false;\n chart.exporting.dataFields = {\n \"category\": \"CustomerClassification\",\n \"amountvalue\": \"Amount(\" + that.CurrencyLabel + \")\",\n }\n }\n else {\n chart.exporting.dataFields = {\n \"category\": \"CustomerClassification\",\n \"unitvalue\": that.CurrencyLabel,\n }\n }\n\n /**************End Custom Export**************** */\n }\n });\n // //*************************************************************************** */\n chart.legend.itemContainers.template.tooltipText = \"{category}\";\n var series = chart.series.push(new am4charts.PieSeries());\n series.dataFields.category = \"category\";\n if (this.reportFilterObj.ReportValueType == \"units\") {\n series.dataFields.value = \"unitvalue\";\n } else {\n series.dataFields.value = \"amountvalue\";\n }\n chart.legend.labels.template.text = \"[normal]{category}: [bold]{value.value}\";\n // chart.legend.scrollable = true;\n chart.legend.valueLabels.template.disabled = true;\n let markerTemplate = chart.legend.markers.template;\n markerTemplate.width = 20;\n markerTemplate.height = 20;\n chart.legend.valueLabels.template.align = \"left\";\n chart.legend.valueLabels.template.textAlign = \"start\"\n // chart.responsive.useDefault = false;\n\n // chart.responsive.rules.push({\n // relevant: function(target) {\n // if (target.pixelWidth <= 400) {\n // return true;\n // } \n // return false;\n // },\n // state: function(target, stateId) { \n // if (target instanceof am4charts.Chart) {\n // var state = target.states.create(stateId);\n // state.properties.paddingTop = 0;\n // state.properties.paddingRight = 25;\n // state.properties.paddingBottom = 0;\n // state.properties.paddingLeft = 25;\n // return state;\n // } else if (target instanceof am4charts.AxisLabelCircular ||\n // target instanceof am4charts.PieTick) {\n // var state1 = target.states.create(stateId);\n // state1.properties.disabled = true;\n // return state1;\n // }\n // return null;\n // }\n // });\n \n series.labels.template.text = \"{category}: {value.value}\";\n series.slices.template.tooltipText = \"{category}: {value.value}\";\n chart.legend.valueLabels.template.text = \"{value.value}\";\n series.slices.template.cursorOverStyle = am4core.MouseCursorStyle.pointer;\n //\n series.slices.template.events.on(\"hit\", function (ev) {\n that.onCustomerClassSliceClick(ev.target.dataItem.dataContext);\n series.slices.each(function (item) {\n if (item.isActive && item != ev.target) {\n item.isActive = false;\n }\n })\n });\n }, error => {\n this.showLoader = false;\n });\n }\n ProductWisePieChart() {\n const that = this;\n let chart = am4core.create(\"ProductWisePieChart\", am4charts.PieChart);\n // chart.exporting.menu = new am4core.ExportMenu();\n let title = chart.titles.create();\n title.text = \"Product Line wise\";\n title.fontSize = 15;\n title.fontWeight = \"bold\";\n title.marginBottom = 30;\n chart.legend = new am4charts.Legend();\n\n chart.hiddenState.properties.opacity = 0;\n chart.data = this.productlineData;\n // //*************************************************************************** */\n\n chart.events.on(\"beforedatavalidated\", function (ev) {\n // check if there's data\n var IsDataEmpty = false;\n var emptyUnits;\n if (that.reportFilterObj.ReportValueType == 'units') emptyUnits = chart.data.filter(x => x.unitvalue == 0);\n if (that.reportFilterObj.ReportValueType == 'amount') emptyUnits = chart.data.filter(x => x.amountvalue == 0);\n if (emptyUnits.length == chart.data.length) {\n chart.hidden = true;\n IsDataEmpty = true;\n }\n var indicator;\n if (IsDataEmpty) {\n that.showIndicator(chart, indicator);\n }\n else if (indicator) {\n that.hideIndicator(indicator);\n }\n else {\n\n chart.exporting.menu = new am4core.ExportMenu();\n let options = chart.exporting.getFormatOptions(\"pdf\");\n options.addURL = false;\n chart.exporting.setFormatOptions(\"pdf\", options);\n chart.exporting.filePrefix = \"ProductLineReport\";\n /**************Custom Export**************** */\n chart.exporting.menu.items = [\n {\n \"label\": \"...\",\n \"menu\": [\n {\n \"label\": \"Image\",\n \"menu\": [\n { \"type\": \"png\", \"label\": \"PNG\" },\n { \"type\": \"jpg\", \"label\": \"JPG\" },\n // { \"type\": \"svg\", \"label\": \"SVG\" },\n { \"type\": \"pdf\", \"label\": \"PDF\" }\n ]\n }, {\n \"label\": \"Data\",\n \"menu\": [\n { \"type\": \"xlsx\", \"label\": \"XLSX\" },\n ]\n }, {\n \"label\": \"Print\", \"type\": \"print\"\n }\n ]\n }\n ];\n chart.exporting.extraSprites.push({\n \"sprite\": legendContainer,\n \"position\": \"bottom\",\n \"marginTop\": 30\n });\n\n if (that.reportFilterObj.ReportValueType == \"amount\") {\n let title = chart.titles.create();\n title.text = \"[bold]All values are in \" + that.CurrencyLabel;\n title.fill = am4core.color(\"red\");\n title.fontSize = '14px';\n title.disabled = false;\n chart.exporting.dataFields = {\n \"category\": \"ProductLine\",\n \"amountvalue\": \"Amount(\" + that.CurrencyLabel + \")\",\n }\n }\n else {\n chart.exporting.dataFields = {\n \"category\": \"ProductLine\",\n \"unitvalue\": that.CurrencyLabel,\n }\n }\n\n /**************End Custom Export**************** */\n }\n });\n // //*************************************************************************** */\n let legendContainer = am4core.create(\"pllegenddiv\", am4core.Container);\n legendContainer.width = am4core.percent(100);\n legendContainer.height = am4core.percent(100);\n chart.legend.parent = legendContainer;\n chart.events.on(\"datavalidated\", resizeLegend);\n chart.events.on(\"maxsizechanged\", resizeLegend);\n\n chart.legend.events.on(\"datavalidated\", resizeLegend);\n chart.legend.events.on(\"maxsizechanged\", resizeLegend);\n chart.legend.itemContainers.template.clickable = false;\n chart.legend.itemContainers.template.focusable = false;\n chart.legend.itemContainers.template.cursorOverStyle = am4core.MouseCursorStyle.default;\n function resizeLegend(ev) {\n document.getElementById(\"pllegenddiv\").style.height = chart.legend.contentHeight + \"px\";\n }\n var series = chart.series.push(new am4charts.PieSeries());\n series.dataFields.category = \"category\";\n if (this.reportFilterObj.ReportValueType == \"units\") {\n series.dataFields.value = \"unitvalue\";\n } else {\n series.dataFields.value = \"amountvalue\";\n }\n chart.legend.labels.template.text = \"[normal]{category}: [bold]{value.value}\";\n // chart.legend.scrollable = true;\n chart.legend.valueLabels.template.disabled = true;\n chart.legend.itemContainers.template.tooltipText = \"{category}\";\n let markerTemplate = chart.legend.markers.template;\n markerTemplate.width = 20;\n markerTemplate.height = 20;\n chart.legend.valueLabels.template.align = \"left\"\n chart.legend.valueLabels.template.textAlign = \"start\"\n chart.legend.labels.template.maxWidth = 150;\n chart.legend.labels.template.wrap = true;\n chart.legend.labels.template.truncate = false;\n series.labels.template.text = \"{category}: {value.value}\";\n series.slices.template.tooltipText = \"{category}: {value.value}\";\n chart.legend.valueLabels.template.text = \"{value.value}\";\n series.slices.template.cursorOverStyle = am4core.MouseCursorStyle.pointer;\n chart.legend.labels.template.text = \"[normal]{category}: [bold]{value.value}\";\n // chart.legend.scrollable = true;\n chart.legend.valueLabels.template.disabled = true;\n //\n series.slices.template.events.on(\"hit\", function (ev) {\n that.onProductSliceClick(ev.target.dataItem.dataContext);\n });\n\n }\n onProductSliceClick(sliceObj) {\n this.isProductLineSelected = true;\n this.isProductSeriesSelected = false;\n this.selectedProductLine = sliceObj;\n this.reportFilterObj.ProductSeries = 0;\n this.reportFilterObj.Productmodal = 0;\n this.reportFilterObj.ProductLine = sliceObj.Id;\n this.ProductSeriesWisePieChart();\n }\n ProductSeriesWisePieChart() {\n\n this.showLoader = true;\n let queryString = \"\";\n queryString += \"EnqType=\" + this.reportFilterObj.EnqType;\n queryString += \"&ReportValueType=\" + this.reportFilterObj.ReportValueType;\n queryString += \"&Year=\" + this.reportFilterObj.Year;\n queryString += \"&Region=\" + this.reportFilterObj.Region;\n queryString += \"&ProductLine=\" + this.reportFilterObj.ProductLine;\n queryString += \"&ProductSeries=\" + this.reportFilterObj.ProductSeries;\n queryString += \"&Productmodal=\" + this.reportFilterObj.Productmodal;\n queryString += \"&CustomerClass=\" + this.reportFilterObj.CustomerClass;\n queryString += \"&CustomerType=\" + this.reportFilterObj.CustomerType;\n queryString += \"&Segment=\" + this.reportFilterObj.Segment;\n queryString += \"&reporttype=\" + this.reportFilterObj.reporttype;\n queryString += \"¤cy=\" + this.reportFilterObj.curency;\n this.commonService.GetData(\"Report\", \"GetRegionSeriesReport\", queryString).subscribe((data: any) => {\n let chart = am4core.create(\"ProductSeriesBarChart\", am4charts.XYChart);\n // chart.exporting.menu = new am4core.ExportMenu();\n\n let title = chart.titles.create();\n title.text = this.selectedProductLine.category;\n title.fontSize = 15;\n title.fontWeight = \"bold\";\n title.marginBottom = 30;\n\n chart.hiddenState.properties.opacity = 0;\n this.chartData = this.productseriesData;\n chart.data = data.ProductSeries;\n // //*************************************************************************** */\n const that = this;\n chart.events.on(\"beforedatavalidated\", function (ev) {\n // check if there's data\n var IsDataEmpty = false;\n var emptyUnits;\n if (that.reportFilterObj.ReportValueType == 'units') emptyUnits = chart.data.filter(x => x.unitvalue == 0);\n if (that.reportFilterObj.ReportValueType == 'amount') emptyUnits = chart.data.filter(x => x.amountvalue == 0);\n if (emptyUnits.length == chart.data.length) {\n chart.hidden = true;\n IsDataEmpty = true;\n }\n var indicator;\n if (IsDataEmpty) {\n that.showIndicator(chart, indicator);\n }\n else if (indicator) {\n that.hideIndicator(indicator);\n }\n else {\n chart.scrollbarX = new am4core.Scrollbar();\n chart.scrollbarY = new am4core.Scrollbar();\n // chart.cursor = new am4charts.XYCursor();\n chart.scrollbarX.exportable = false;\n chart.scrollbarY.exportable = false;\n chart.exporting.menu = new am4core.ExportMenu();\n let options = chart.exporting.getFormatOptions(\"pdf\");\n options.addURL = false;\n chart.exporting.setFormatOptions(\"pdf\", options);\n chart.exporting.filePrefix = \"ProductSeriesReport\";\n /**************Custom Export**************** */\n chart.exporting.menu.items = [\n {\n \"label\": \"...\",\n \"menu\": [\n {\n \"label\": \"Image\",\n \"menu\": [\n { \"type\": \"png\", \"label\": \"PNG\" },\n { \"type\": \"jpg\", \"label\": \"JPG\" },\n // { \"type\": \"svg\", \"label\": \"SVG\" },\n { \"type\": \"pdf\", \"label\": \"PDF\" }\n ]\n }, {\n \"label\": \"Data\",\n \"menu\": [\n { \"type\": \"xlsx\", \"label\": \"XLSX\" },\n ]\n }, {\n \"label\": \"Print\", \"type\": \"print\"\n }\n ]\n }\n ];\n if (that.reportFilterObj.ReportValueType == \"amount\") {\n let title = chart.titles.create();\n title.text = \"[bold]All values are in \" + that.CurrencyLabel;\n title.fill = am4core.color(\"red\");\n title.fontSize = '14px';\n title.disabled = false;\n chart.exporting.dataFields = {\n \"category\": \"ProductSeries\",\n \"amountvalue\": \"Amount(\" + that.CurrencyLabel + \")\",\n }\n }\n else {\n chart.exporting.dataFields = {\n \"category\": \"ProductSeries\",\n \"unitvalue\": that.CurrencyLabel,\n }\n }\n\n /**************End Custom Export**************** */\n }\n });\n // //*************************************************************************** */\n var categoryAxis = chart.xAxes.push(new am4charts.CategoryAxis());\n categoryAxis.dataFields.category = \"category\";\n categoryAxis.renderer.grid.template.location = 0;\n categoryAxis.renderer.minGridDistance = 30;\n // categoryAxis.renderer.labels.template.rotation = -45;\n categoryAxis.renderer.labels.template.maxWidth = 100;\n categoryAxis.renderer.labels.template.wrap = true;\n //categoryAxis.renderer.labels.template.truncate = true;\n categoryAxis.renderer.labels.template.tooltipText = '{category}';\n /**************Scrolling Start End Point**************** */\n categoryAxis.start = 0;\n categoryAxis.end = 0.5;\n /**************End Scrolling Start End Point**************** */\n var valueAxis = chart.yAxes.push(new am4charts.ValueAxis());\n valueAxis.extraMax = 0.5;\n valueAxis.renderer.labels.template.adapter.add(\"text\", function (text, target) {\n var val = text == \"0.000\" ? \"0\" : text;\n return val;\n });\n if (this.reportFilterObj.ReportValueType == \"units\") {\n valueAxis.title.text = \"No.\";\n chart.numberFormatter.numberFormat = \"0\";\n valueAxis.renderer.labels.template.adapter.add(\"text\", function (text, target) {\n var val = parseFloat(text) % 1 != 0 ? \"\" : parseInt(text).toString();\n return val;\n });\n }\n else {\n // if (this.reportFilterObj.curency == 1) valueAxis.title.text = \"USD\";\n // if (this.reportFilterObj.curency == 2) valueAxis.title.text = \"EURO\";\n // if (this.reportFilterObj.curency == 3) valueAxis.title.text = \"INR\";\n if (this.reportFilterObj.currencycode == \"USD\") valueAxis.title.text = \"USD\";\n if (this.reportFilterObj.currencycode == \"Euro\") valueAxis.title.text = \"EURO\";\n //if (this.reportFilterObj.currencycode == \"INR\") valueAxis.title.text = \"INR\";\n if (this.reportFilterObj.currencycode == \"VND\") valueAxis.title.text = 'VND';\n if (this.reportFilterObj.currencycode == \"IDR\") valueAxis.title.text = 'IDR';\n if (this.reportFilterObj.currencycode == \"PHP\") valueAxis.title.text = 'PHP';\n if (this.reportFilterObj.currencycode == \"THB\") valueAxis.title.text = 'THB';\n if (this.reportFilterObj.currencycode == \"MYR\") valueAxis.title.text = 'MYR';\n if (this.reportFilterObj.currencycode == \"SGD\") valueAxis.title.text= 'SGD';\n // chart.numberFormatter.numberFormat = \"0.000\";\n }\n\n\n // Create series\n var columnSeries = chart.series.push(new am4charts.ColumnSeries());\n if (this.reportFilterObj.ReportValueType == \"units\") {\n columnSeries.dataFields.valueY = \"unitvalue\";\n } else {\n columnSeries.dataFields.valueY = \"amountvalue\";\n }\n columnSeries.dataFields.categoryX = \"category\";\n columnSeries.columns.template.tooltipText = \"{categoryX}: [bold]{valueY}[/]\";\n columnSeries.columns.template.propertyFields.fillOpacity = \"fillOpacity\";\n columnSeries.columns.template.propertyFields.stroke = \"stroke\";\n columnSeries.columns.template.propertyFields.strokeWidth = \"strokeWidth\";\n columnSeries.columns.template.propertyFields.strokeDasharray = \"columnDash\";\n columnSeries.tooltip.label.textAlign = \"middle\";\n columnSeries.tooltip.getFillFromObject = false;\n columnSeries.tooltip.background.fill = am4core.color(\"#4a463c\");\n let colLabel = columnSeries.bullets.push(new am4charts.LabelBullet);\n colLabel.label.text = \"{valueY}\";\n //colLabel.label.rotation = 0;\n colLabel.label.fontSize = 9;\n colLabel.label.padding(0, 0, 20, 0);\n colLabel.label.truncate = false;\n colLabel.label.hideOversized = false;\n\n columnSeries.columns.template.interactionsEnabled = true;\n columnSeries.columns.template.events.on(\"hit\", ev => {\n var item: any = ev.target.dataItem.dataContext;\n this.isProductSeriesSelected = true;\n this.isProductModelSelected = false;\n this.selectedProductSeries = item;\n this.reportFilterObj.ProductSeries = item.Id;\n this.reportFilterObj.Productmodal = 0;\n this.reportFilterObj.ProductLine = 0;\n this.ProductModelWisePieChart();\n },\n );\n this.showLoader = false;\n }, error => {\n this.showLoader = false;\n });\n\n }\n ProductModelWisePieChart() {\n this.showLoader = true;\n let queryString = \"\";\n queryString += \"EnqType=\" + this.reportFilterObj.EnqType;\n queryString += \"&ReportValueType=\" + this.reportFilterObj.ReportValueType;\n queryString += \"&Year=\" + this.reportFilterObj.Year;\n queryString += \"&Region=\" + this.reportFilterObj.Region;\n queryString += \"&ProductLine=\" + this.reportFilterObj.ProductLine;\n queryString += \"&ProductSeries=\" + this.reportFilterObj.ProductSeries;\n queryString += \"&Productmodal=\" + this.reportFilterObj.Productmodal;\n queryString += \"&CustomerClass=\" + this.reportFilterObj.CustomerClass;\n queryString += \"&CustomerType=\" + this.reportFilterObj.CustomerType;\n queryString += \"&Segment=\" + this.reportFilterObj.Segment;\n queryString += \"&reporttype=\" + this.reportFilterObj.reporttype;\n queryString += \"¤cy=\" + this.reportFilterObj.curency;\n this.commonService.GetData(\"Report\", \"GetRegionProductModelReport\", queryString).subscribe((data: any) => {\n let chart = am4core.create(\"ProductModelBarChart\", am4charts.XYChart);\n\n \n // chart.exporting.menu = new am4core.ExportMenu();\n\n let title = chart.titles.create();\n title.text = this.selectedProductSeries.category;\n title.fontSize = 15;\n title.fontWeight = \"bold\";\n title.marginBottom = 30;\n title.wrap = true;\n title.maxWidth=350;\n\n chart.hiddenState.properties.opacity = 0;\n this.chartData = this.producModeleData;\n chart.data = data.ProductModel;\n // //*************************************************************************** */\n const that = this;\n chart.events.on(\"beforedatavalidated\", function (ev) {\n // check if there's data\n var IsDataEmpty = false;\n var emptyUnits;\n if (that.reportFilterObj.ReportValueType == 'units') emptyUnits = chart.data.filter(x => x.unitvalue == 0);\n if (that.reportFilterObj.ReportValueType == 'amount') emptyUnits = chart.data.filter(x => x.amountvalue == 0);\n if (emptyUnits.length == chart.data.length) {\n chart.hidden = true;\n IsDataEmpty = true;\n }\n var indicator;\n if (IsDataEmpty) {\n that.showIndicator(chart, indicator);\n }\n else if (indicator) {\n that.hideIndicator(indicator);\n }\n else {\n chart.scrollbarX = new am4core.Scrollbar();\n chart.scrollbarY = new am4core.Scrollbar();\n // chart.cursor = new am4charts.XYCursor();\n chart.scrollbarX.exportable = false;\n chart.scrollbarY.exportable = false;\n chart.exporting.menu = new am4core.ExportMenu();\n let options = chart.exporting.getFormatOptions(\"pdf\");\n options.addURL = false;\n chart.exporting.setFormatOptions(\"pdf\", options);\n chart.exporting.filePrefix = \"ProductModelReport\";\n /**************Custom Export**************** */\n chart.exporting.menu.items = [\n {\n \"label\": \"...\",\n \"menu\": [\n {\n \"label\": \"Image\",\n \"menu\": [\n { \"type\": \"png\", \"label\": \"PNG\" },\n { \"type\": \"jpg\", \"label\": \"JPG\" },\n // { \"type\": \"svg\", \"label\": \"SVG\" },\n { \"type\": \"pdf\", \"label\": \"PDF\" }\n ]\n }, {\n \"label\": \"Data\",\n \"menu\": [\n { \"type\": \"xlsx\", \"label\": \"XLSX\" },\n ]\n }, {\n \"label\": \"Print\", \"type\": \"print\"\n }\n ]\n }\n ];\n if (that.reportFilterObj.ReportValueType == \"amount\") {\n let title = chart.titles.create();\n title.text = \"[bold]All values are in \" + that.CurrencyLabel;\n title.fill = am4core.color(\"red\");\n title.fontSize = '14px';\n title.disabled = false;\n chart.exporting.dataFields = {\n \"category\": \"ProductModel\",\n \"amountvalue\": \"Amount(\" + that.CurrencyLabel + \")\",\n }\n }\n else {\n chart.exporting.dataFields = {\n \"category\": \"ProductModel\",\n \"unitvalue\": that.CurrencyLabel,\n }\n }\n\n /**************End Custom Export**************** */\n }\n });\n // //*************************************************************************** */\n var categoryAxis = chart.xAxes.push(new am4charts.CategoryAxis());\n categoryAxis.dataFields.category = \"category\";\n categoryAxis.renderer.grid.template.location = 0;\n categoryAxis.renderer.minGridDistance = 30;\n // categoryAxis.renderer.labels.template.rotation = -45;\n categoryAxis.renderer.labels.template.maxWidth = 100;\n categoryAxis.renderer.labels.template.wrap = true;\n // categoryAxis.renderer.labels.template.truncate = true;\n categoryAxis.renderer.labels.template.tooltipText = '{category}';\n /**************Scrolling Start End Point**************** */\n categoryAxis.start = 0;\n categoryAxis.end = 0.5;\n /**************End Scrolling Start End Point**************** */\n var valueAxis = chart.yAxes.push(new am4charts.ValueAxis());\n valueAxis.extraMax = 0.5;\n valueAxis.renderer.labels.template.adapter.add(\"text\", function (text, target) {\n var val = text == \"0.000\" ? \"0\" : text;\n return val;\n });\n if (this.reportFilterObj.ReportValueType == \"units\") {\n valueAxis.title.text = \"No.\";\n chart.numberFormatter.numberFormat = \"0\";\n valueAxis.renderer.labels.template.adapter.add(\"text\", function (text, target) {\n var val = parseFloat(text) % 1 != 0 ? \"\" : parseInt(text).toString();\n return val;\n });\n }\n else {\n // if (this.reportFilterObj.curency == 1) valueAxis.title.text = \"USD\";\n // if (this.reportFilterObj.curency == 2) valueAxis.title.text = \"EURO\";\n // if (this.reportFilterObj.curency == 3) valueAxis.title.text = \"INR\";\n if (this.reportFilterObj.currencycode == \"USD\") valueAxis.title.text = \"USD\";\n if (this.reportFilterObj.currencycode == \"Euro\") valueAxis.title.text = \"EURO\";\n //if (this.reportFilterObj.currencycode == \"INR\") valueAxis.title.text = \"INR\";\n if (this.reportFilterObj.currencycode == \"VND\") valueAxis.title.text = 'VND';\n if (this.reportFilterObj.currencycode == \"IDR\") valueAxis.title.text = 'IDR';\n if (this.reportFilterObj.currencycode == \"PHP\") valueAxis.title.text = 'PHP';\n if (this.reportFilterObj.currencycode == \"THB\") valueAxis.title.text = 'THB';\n if (this.reportFilterObj.currencycode == \"MYR\") valueAxis.title.text = 'MYR';\n if (this.reportFilterObj.currencycode == \"SGD\") valueAxis.title.text= 'SGD';\n // chart.numberFormatter.numberFormat = \"0.000\";\n }\n\n \n // Create series\n var columnSeries = chart.series.push(new am4charts.ColumnSeries());\n if (this.reportFilterObj.ReportValueType == \"units\") {\n columnSeries.dataFields.valueY = \"unitvalue\";\n } else {\n columnSeries.dataFields.valueY = \"amountvalue\";\n }\n columnSeries.dataFields.categoryX = \"category\";\n columnSeries.columns.template.tooltipText = \"{categoryX}: [bold]{valueY}[/]\";\n columnSeries.columns.template.propertyFields.fillOpacity = \"fillOpacity\";\n columnSeries.columns.template.propertyFields.stroke = \"stroke\";\n columnSeries.columns.template.propertyFields.strokeWidth = \"strokeWidth\";\n columnSeries.columns.template.propertyFields.strokeDasharray = \"columnDash\";\n columnSeries.tooltip.label.textAlign = \"middle\";\n columnSeries.tooltip.getFillFromObject = false;\n columnSeries.tooltip.background.fill = am4core.color(\"#4a463c\");\n let colLabel = columnSeries.bullets.push(new am4charts.LabelBullet);\n colLabel.label.text = \"{valueY}\";\n //colLabel.label.rotation = 0;\n colLabel.label.fontSize = 9;\n colLabel.label.padding(0, 0, 20, 0);\n colLabel.label.truncate = false;\n colLabel.label.hideOversized = false;\n columnSeries.columns.template.events.on(\"hit\", ev => {\n var item: any = ev.target.dataItem.dataContext;\n this.isProductSeriesSelected = true;\n this.isProductModelSelected = true;\n this.selectedProductLine = item;\n this.reportFilterObj.ProductSeries = 0;\n this.reportFilterObj.ProductLine = 0;\n this.reportFilterObj.Productmodal = item.Id;\n this.ProductStationWisePieChart();\n });\n\n this.showLoader = false;\n }, error => {\n this.showLoader = false;\n });\n }\n ProductStationWisePieChart() {\n this.showLoader = true;\n let queryString = \"\";\n queryString += \"EnqType=\" + this.reportFilterObj.EnqType;\n queryString += \"&ReportValueType=\" + this.reportFilterObj.ReportValueType;\n queryString += \"&Year=\" + this.reportFilterObj.Year;\n queryString += \"&Region=\" + this.reportFilterObj.Region;\n queryString += \"&ProductLine=\" + this.reportFilterObj.ProductLine;\n queryString += \"&ProductSeries=\" + this.reportFilterObj.ProductSeries;\n queryString += \"&Productmodal=\" + this.reportFilterObj.Productmodal;\n queryString += \"&CustomerClass=\" + this.reportFilterObj.CustomerClass;\n queryString += \"&CustomerType=\" + this.reportFilterObj.CustomerType;\n queryString += \"&Segment=\" + this.reportFilterObj.Segment;\n queryString += \"&reporttype=\" + this.reportFilterObj.reporttype;\n queryString += \"¤cy=\" + this.reportFilterObj.curency;\n this.commonService.GetData(\"Report\", \"GetRegionProductStationReport\", queryString).subscribe((data: any) => {\n let chart = am4core.create(\"ProductStationBarChart\", am4charts.XYChart);\n this.VariantLabel = data.ProductModelStation_label;\n // chart.exporting.menu = new am4core.ExportMenu();\n\n let title = chart.titles.create();\n title.text = this.selectedProductLine.category;\n title.fontSize = 15;\n title.fontWeight = \"bold\";\n title.marginBottom = 30;\n title.wrap = true;\n title.maxWidth=350;\n\n chart.hiddenState.properties.opacity = 0;\n chart.data = data.ProductModelStation;\n // //*************************************************************************** */\n const that = this;\n chart.events.on(\"beforedatavalidated\", function (ev) {\n // check if there's data\n var IsDataEmpty = false;\n var emptyUnits;\n if (that.reportFilterObj.ReportValueType == 'units') emptyUnits = chart.data.filter(x => x.unitvalue == 0);\n if (that.reportFilterObj.ReportValueType == 'amount') emptyUnits = chart.data.filter(x => x.amountvalue == 0);\n if (emptyUnits.length == chart.data.length) {\n chart.hidden = true;\n IsDataEmpty = true;\n }\n var indicator;\n if (IsDataEmpty) {\n that.showIndicator(chart, indicator);\n }\n else if (indicator) {\n that.hideIndicator(indicator);\n }\n else {\n chart.scrollbarX = new am4core.Scrollbar();\n chart.scrollbarY = new am4core.Scrollbar();\n //chart.cursor = new am4charts.XYCursor();\n chart.scrollbarX.exportable = false;\n chart.scrollbarY.exportable = false;\n chart.exporting.menu = new am4core.ExportMenu();\n let options = chart.exporting.getFormatOptions(\"pdf\");\n options.addURL = false;\n chart.exporting.setFormatOptions(\"pdf\", options);\n chart.exporting.filePrefix = that.VariantLabel + \"Report\"\n /**************Custom Export**************** */\n chart.exporting.menu.items = [\n {\n \"label\": \"...\",\n \"menu\": [\n {\n \"label\": \"Image\",\n \"menu\": [\n { \"type\": \"png\", \"label\": \"PNG\" },\n { \"type\": \"jpg\", \"label\": \"JPG\" },\n // { \"type\": \"svg\", \"label\": \"SVG\" },\n { \"type\": \"pdf\", \"label\": \"PDF\" }\n ]\n }, {\n \"label\": \"Data\",\n \"menu\": [\n { \"type\": \"xlsx\", \"label\": \"XLSX\" },\n ]\n }, {\n \"label\": \"Print\", \"type\": \"print\"\n }\n ]\n }\n ];\n if (that.reportFilterObj.ReportValueType == \"amount\") {\n let title = chart.titles.create();\n title.text = \"[bold]All values are in \" + that.CurrencyLabel;\n title.fill = am4core.color(\"red\");\n title.fontSize = '14px';\n title.disabled = false;\n chart.exporting.dataFields = {\n \"category\": that.VariantLabel,\n \"amountvalue\": \"Amount(\" + that.CurrencyLabel + \")\",\n }\n }\n else {\n chart.exporting.dataFields = {\n \"category\": that.VariantLabel,\n \"unitvalue\": that.CurrencyLabel,\n }\n }\n\n /**************End Custom Export**************** */\n }\n });\n // //*************************************************************************** */\n var categoryAxis = chart.xAxes.push(new am4charts.CategoryAxis());\n categoryAxis.dataFields.category = \"category\";\n categoryAxis.renderer.grid.template.location = 0;\n categoryAxis.renderer.minGridDistance = 30;\n // categoryAxis.renderer.labels.template.rotation = -45;\n categoryAxis.renderer.labels.template.maxWidth = 100;\n categoryAxis.renderer.labels.template.wrap = true;\n // categoryAxis.renderer.labels.template.truncate = true;\n categoryAxis.renderer.labels.template.tooltipText = '{category}';\n /**************Scrolling Start End Point**************** */\n categoryAxis.start = 0;\n categoryAxis.end = 0.5;\n /**************End Scrolling Start End Point**************** */\n var valueAxis = chart.yAxes.push(new am4charts.ValueAxis());\n valueAxis.extraMax = 0.5;\n valueAxis.renderer.labels.template.adapter.add(\"text\", function (text, target) {\n var val = text == \"0.000\" ? \"0\" : text;\n return val;\n });\n if (this.reportFilterObj.ReportValueType == \"units\") {\n valueAxis.title.text = \"No.\";\n chart.numberFormatter.numberFormat = \"0\";\n valueAxis.renderer.labels.template.adapter.add(\"text\", function (text, target) {\n var val = parseFloat(text) % 1 != 0 ? \"\" : parseInt(text).toString();\n return val;\n });\n }\n else {\n // if (this.reportFilterObj.curency == 1) valueAxis.title.text = \"USD\";\n // if (this.reportFilterObj.curency == 2) valueAxis.title.text = \"EURO\";\n // if (this.reportFilterObj.curency == 3) valueAxis.title.text = \"INR\";\n if (this.reportFilterObj.currencycode == \"USD\") valueAxis.title.text = \"USD\";\n if (this.reportFilterObj.currencycode == \"Euro\") valueAxis.title.text = \"EURO\";\n //if (this.reportFilterObj.currencycode == \"INR\") valueAxis.title.text = \"INR\";\n if (this.reportFilterObj.currencycode == \"VND\") valueAxis.title.text = 'VND';\n if (this.reportFilterObj.currencycode == \"IDR\") valueAxis.title.text = 'IDR';\n if (this.reportFilterObj.currencycode == \"PHP\") valueAxis.title.text = 'PHP';\n if (this.reportFilterObj.currencycode == \"THB\") valueAxis.title.text = 'THB';\n if (this.reportFilterObj.currencycode == \"MYR\") valueAxis.title.text = 'MYR';\n if (this.reportFilterObj.currencycode == \"SGD\") valueAxis.title.text= 'SGD';\n // chart.numberFormatter.numberFormat = \"0.000\";\n }\n\n // Create series\n var columnSeries = chart.series.push(new am4charts.ColumnSeries());\n if (this.reportFilterObj.ReportValueType == \"units\") {\n columnSeries.dataFields.valueY = \"unitvalue\";\n } else {\n columnSeries.dataFields.valueY = \"amountvalue\";\n }\n columnSeries.dataFields.categoryX = \"category\";\n columnSeries.columns.template.tooltipText = \"{categoryX}: [bold]{valueY}[/]\";\n columnSeries.columns.template.propertyFields.fillOpacity = \"fillOpacity\";\n columnSeries.columns.template.propertyFields.stroke = \"stroke\";\n columnSeries.columns.template.propertyFields.strokeWidth = \"strokeWidth\";\n columnSeries.columns.template.propertyFields.strokeDasharray = \"columnDash\";\n columnSeries.tooltip.label.textAlign = \"middle\";\n columnSeries.tooltip.getFillFromObject = false;\n columnSeries.tooltip.background.fill = am4core.color(\"#4a463c\");\n let colLabel = columnSeries.bullets.push(new am4charts.LabelBullet);\n colLabel.label.text = \"{valueY}\";\n // colLabel.label.rotation = 0;\n colLabel.label.fontSize = 9;\n colLabel.label.padding(0, 0, 20, 0);\n colLabel.label.truncate = false;\n colLabel.label.hideOversized = false;\n\n this.showLoader = false;\n }, error => {\n this.showLoader = false;\n });\n }\n SegmentWisePieChart() {\n const that = this;\n let chart = am4core.create(\"SegmentWisePieChart\", am4charts.PieChart);\n // chart.exporting.menu = new am4core.ExportMenu();\n chart.hiddenState.properties.opacity = 0;\n // chart.data = this.segmentData;\n chart.data = this.segmentData;\n // //*************************************************************************** */\n chart.events.on(\"beforedatavalidated\", function (ev) {\n // check if there's data\n var IsDataEmpty = false;\n var emptyUnits;\n if (that.reportFilterObj.ReportValueType == 'units') emptyUnits = chart.data.filter(x => x.unitvalue == 0);\n if (that.reportFilterObj.ReportValueType == 'amount') emptyUnits = chart.data.filter(x => x.amountvalue == 0);\n if (emptyUnits.length == chart.data.length) {\n chart.hidden = true;\n IsDataEmpty = true;\n }\n var indicator;\n if (IsDataEmpty) {\n that.showIndicator(chart, indicator);\n }\n else if (indicator) {\n that.hideIndicator(indicator);\n }\n else {\n\n chart.exporting.menu = new am4core.ExportMenu();\n let options = chart.exporting.getFormatOptions(\"pdf\");\n options.addURL = false;\n chart.exporting.setFormatOptions(\"pdf\", options);\n chart.exporting.filePrefix = \"SegmentReport\"\n /**************Custom Export**************** */\n chart.exporting.menu.items = [\n {\n \"label\": \"...\",\n \"menu\": [\n {\n \"label\": \"Image\",\n \"menu\": [\n { \"type\": \"png\", \"label\": \"PNG\" },\n { \"type\": \"jpg\", \"label\": \"JPG\" },\n // { \"type\": \"svg\", \"label\": \"SVG\" },\n { \"type\": \"pdf\", \"label\": \"PDF\" }\n ]\n }, {\n \"label\": \"Data\",\n \"menu\": [\n { \"type\": \"xlsx\", \"label\": \"XLSX\" },\n ]\n }, {\n \"label\": \"Print\", \"type\": \"print\"\n }\n ]\n }\n ];\n chart.exporting.extraSprites.push({\n \"sprite\": legendContainer,\n \"position\": \"bottom\",\n \"marginTop\": 30\n });\n if (that.reportFilterObj.ReportValueType == \"amount\") {\n let title = chart.titles.create();\n title.text = \"[bold]All values are in \" + that.CurrencyLabel;\n title.fill = am4core.color(\"red\");\n title.fontSize = '14px';\n title.disabled = false;\n chart.exporting.dataFields = {\n \"category\": \"Segment\",\n \"amountvalue\": \"Amount(\" + that.CurrencyLabel + \")\",\n }\n }\n else {\n chart.exporting.dataFields = {\n \"category\": \"Segment\",\n \"unitvalue\": that.CurrencyLabel,\n }\n }\n\n /**************End Custom Export**************** */\n }\n });\n // //*************************************************************************** */\n chart.legend = new am4charts.Legend();\n chart.legend.itemContainers.template.tooltipText = \"{category}\";\n let legendContainer = am4core.create(\"segmentlegenddiv\", am4core.Container);\n legendContainer.width = am4core.percent(100);\n legendContainer.height = am4core.percent(100);\n chart.legend.parent = legendContainer;\n chart.events.on(\"datavalidated\", resizeLegend);\n chart.events.on(\"maxsizechanged\", resizeLegend);\n\n chart.legend.events.on(\"datavalidated\", resizeLegend);\n chart.legend.events.on(\"maxsizechanged\", resizeLegend);\n chart.legend.itemContainers.template.clickable = false;\n chart.legend.itemContainers.template.focusable = false;\n chart.legend.itemContainers.template.cursorOverStyle = am4core.MouseCursorStyle.default;\n function resizeLegend(ev) {\n document.getElementById(\"segmentlegenddiv\").style.height = chart.legend.contentHeight + \"px\";\n }\n let markerTemplate = chart.legend.markers.template;\n markerTemplate.width = 20;\n markerTemplate.height = 20;\n chart.legend.valueLabels.template.align = \"left\"\n chart.legend.valueLabels.template.textAlign = \"start\";\n chart.legend.labels.template.maxWidth = 150;\n chart.legend.labels.template.wrap = true;\n chart.legend.labels.template.truncate = false;\n chart.legend.itemContainers.template.tooltipText = \"{category}\";\n\n var series = chart.series.push(new am4charts.PieSeries());\n series.dataFields.category = \"category\";\n if (this.reportFilterObj.ReportValueType == \"units\") {\n series.dataFields.value = \"unitvalue\";\n } else {\n series.dataFields.value = \"amountvalue\";\n }\n\n chart.legend.labels.template.text = \"[normal]{category}: [bold]{value.value}\";\n // chart.legend.scrollable = true;\n chart.legend.valueLabels.template.disabled = true;\n series.labels.template.text = \"{category}: {value.value}\";\n series.slices.template.tooltipText = \"{category}: {value.value}\";\n chart.legend.valueLabels.template.text = \"{value.value}\";\n series.slices.template.cursorOverStyle = am4core.MouseCursorStyle.pointer;\n //\n series.slices.template.events.on(\"hit\", function (ev) {\n that.onSegmentSliceClick(ev.target.dataItem.dataContext);\n series.slices.each(function (item) {\n if (item.isActive && item != ev.target) {\n item.isActive = false;\n }\n })\n });\n this.showLoader = false;\n }\n onSegmentSliceClick(sliceObj) {\n this.showLoader = true;\n this.reportFilterObj.Segment = sliceObj.Id;\n this.selectedSegment = sliceObj;\n this.isSegmentSelected = true;\n this.SubSegmentWisePieChart();\n }\n SubSegmentWisePieChart() {\n this.showLoader = true;\n let queryString = \"\";\n queryString += \"EnqType=\" + this.reportFilterObj.EnqType;\n queryString += \"&ReportValueType=\" + this.reportFilterObj.ReportValueType;\n queryString += \"&Year=\" + this.reportFilterObj.Year;\n queryString += \"&Region=\" + this.reportFilterObj.Region;\n queryString += \"&ProductLine=\" + this.reportFilterObj.ProductLine;\n queryString += \"&ProductSeries=\" + this.reportFilterObj.ProductSeries;\n queryString += \"&Productmodal=\" + this.reportFilterObj.Productmodal;\n queryString += \"&CustomerClass=\" + this.reportFilterObj.CustomerClass;\n queryString += \"&CustomerType=\" + this.reportFilterObj.CustomerType;\n queryString += \"&Segment=\" + this.reportFilterObj.Segment;\n queryString += \"&reporttype=\" + this.reportFilterObj.reporttype;\n queryString += \"¤cy=\" + this.reportFilterObj.curency;\n this.commonService.GetData(\"Report\", \"GetRegionSubSegmentReport\", queryString).subscribe((data: any) => {\n let chart = am4core.create(\"SubSegmentWiseBarChart\", am4charts.XYChart);\n // chart.exporting.menu = new am4core.ExportMenu();\n\n let title = chart.titles.create();\n title.text = this.selectedSegment.category;\n title.fontSize = 15;\n title.fontWeight = \"bold\";\n title.marginBottom = 30;\n chart.data = data.SubSegment;\n // //*************************************************************************** */\n const that = this;\n chart.events.on(\"beforedatavalidated\", function (ev) {\n // check if there's data\n var IsDataEmpty = false;\n var emptyUnits;\n if (that.reportFilterObj.ReportValueType == 'units') emptyUnits = chart.data.filter(x => x.unitvalue == 0);\n if (that.reportFilterObj.ReportValueType == 'amount') emptyUnits = chart.data.filter(x => x.amountvalue == 0);\n if (emptyUnits.length == chart.data.length) {\n chart.hidden = true;\n IsDataEmpty = true;\n }\n var indicator;\n if (IsDataEmpty) {\n that.showIndicator(chart, indicator);\n }\n else if (indicator) {\n that.hideIndicator(indicator);\n }\n else {\n chart.scrollbarX = new am4core.Scrollbar();\n chart.scrollbarY = new am4core.Scrollbar();\n //chart.cursor = new am4charts.XYCursor();\n chart.scrollbarX.exportable = false;\n chart.scrollbarY.exportable = false;\n chart.exporting.menu = new am4core.ExportMenu();\n let options = chart.exporting.getFormatOptions(\"pdf\");\n options.addURL = false;\n chart.exporting.setFormatOptions(\"pdf\", options);\n chart.exporting.filePrefix = \"SubSegmentReport\"\n /**************Custom Export**************** */\n chart.exporting.menu.items = [\n {\n \"label\": \"...\",\n \"menu\": [\n {\n \"label\": \"Image\",\n \"menu\": [\n { \"type\": \"png\", \"label\": \"PNG\" },\n { \"type\": \"jpg\", \"label\": \"JPG\" },\n // { \"type\": \"svg\", \"label\": \"SVG\" },\n { \"type\": \"pdf\", \"label\": \"PDF\" }\n ]\n }, {\n \"label\": \"Data\",\n \"menu\": [\n { \"type\": \"xlsx\", \"label\": \"XLSX\" },\n ]\n }, {\n \"label\": \"Print\", \"type\": \"print\"\n }\n ]\n }\n ];\n if (that.reportFilterObj.ReportValueType == \"amount\") {\n let title = chart.titles.create();\n title.text = \"[bold]All values are in \" + that.CurrencyLabel;\n title.fill = am4core.color(\"red\");\n title.fontSize = '14px';\n title.disabled = false;\n chart.exporting.dataFields = {\n \"category\": \"SubSegment\",\n \"amountvalue\": \"Amount(\" + that.CurrencyLabel + \")\",\n }\n }\n else {\n chart.exporting.dataFields = {\n \"category\": \"SubSegment\",\n \"unitvalue\": that.CurrencyLabel,\n }\n }\n\n /**************End Custom Export**************** */\n }\n });\n // //*************************************************************************** */\n var categoryAxis = chart.xAxes.push(new am4charts.CategoryAxis());\n categoryAxis.dataFields.category = \"category\";\n categoryAxis.renderer.grid.template.location = 0;\n categoryAxis.renderer.minGridDistance = 30;\n //categoryAxis.renderer.labels.template.rotation = -45;\n categoryAxis.renderer.labels.template.maxWidth = 100;\n categoryAxis.renderer.labels.template.wrap = true;\n //categoryAxis.renderer.labels.template.truncate = true;\n categoryAxis.renderer.labels.template.tooltipText = '{category}';\n /**************Scrolling Start End Point**************** */\n categoryAxis.start = 0;\n categoryAxis.end = 0.5;\n /**************End Scrolling Start End Point**************** */\n var valueAxis = chart.yAxes.push(new am4charts.ValueAxis());\n valueAxis.extraMax = 0.5;\n valueAxis.renderer.labels.template.adapter.add(\"text\", function (text, target) {\n var val = text == \"0.000\" ? \"0\" : text;\n return val;\n });\n if (this.reportFilterObj.ReportValueType == \"units\") {\n valueAxis.title.text = \"No.\";\n chart.numberFormatter.numberFormat = \"0\";\n valueAxis.renderer.labels.template.adapter.add(\"text\", function (text, target) {\n var val = parseFloat(text) % 1 != 0 ? \"\" : parseInt(text).toString();\n return val;\n });\n }\n else {\n // if (this.reportFilterObj.curency == 1) valueAxis.title.text = \"USD\";\n // if (this.reportFilterObj.curency == 2) valueAxis.title.text = \"EURO\";\n // if (this.reportFilterObj.curency == 3) valueAxis.title.text = \"INR\";\n if (this.reportFilterObj.currencycode == \"USD\") valueAxis.title.text = \"USD\";\n if (this.reportFilterObj.currencycode == \"Euro\") valueAxis.title.text = \"EURO\";\n //if (this.reportFilterObj.currencycode == \"INR\") valueAxis.title.text = \"INR\";\n if (this.reportFilterObj.currencycode == \"VND\") valueAxis.title.text = 'VND';\n if (this.reportFilterObj.currencycode == \"IDR\") valueAxis.title.text = 'IDR';\n if (this.reportFilterObj.currencycode == \"PHP\") valueAxis.title.text = 'PHP';\n if (this.reportFilterObj.currencycode == \"THB\") valueAxis.title.text = 'THB';\n if (this.reportFilterObj.currencycode == \"MYR\") valueAxis.title.text = 'MYR';\n if (this.reportFilterObj.currencycode == \"SGD\") valueAxis.title.text= 'SGD';\n // chart.numberFormatter.numberFormat = \"0.000\";\n }\n\n // Create series\n var columnSeries = chart.series.push(new am4charts.ColumnSeries());\n if (this.reportFilterObj.ReportValueType == \"units\") {\n columnSeries.dataFields.valueY = \"unitvalue\";\n } else {\n columnSeries.dataFields.valueY = \"amountvalue\";\n }\n columnSeries.dataFields.categoryX = \"category\";\n columnSeries.columns.template.tooltipText = \"{categoryX}: [bold]{valueY}[/]\";\n columnSeries.columns.template.propertyFields.fillOpacity = \"fillOpacity\";\n columnSeries.columns.template.propertyFields.stroke = \"stroke\";\n columnSeries.columns.template.propertyFields.strokeWidth = \"strokeWidth\";\n columnSeries.columns.template.propertyFields.strokeDasharray = \"columnDash\";\n columnSeries.tooltip.label.textAlign = \"middle\";\n columnSeries.tooltip.getFillFromObject = false;\n columnSeries.tooltip.background.fill = am4core.color(\"#4a463c\");\n let colLabel = columnSeries.bullets.push(new am4charts.LabelBullet);\n colLabel.label.text = \"{valueY}\";\n //colLabel.label.rotation = 0;\n colLabel.label.fontSize = 9;\n colLabel.label.padding(0, 0, 20, 0);\n colLabel.label.truncate = false;\n colLabel.label.hideOversized = false;\n\n columnSeries.columns.template.interactionsEnabled = true;\n\n this.showLoader = false;\n }, error => {\n this.showLoader = false;\n });\n\n }\n onEnqTypeChange() {\n this.CustomerClassWisePieChart();\n }\n onReportValueTypeChange() {\n if (this.reportFilterObj.ReportValueType == \"amount\") {\n // if (this.reportFilterObj.curency == 1) this.CurrencyLabel = \"USD\";\n // if (this.reportFilterObj.curency == 2) this.CurrencyLabel = \"EURO\";\n // if (this.reportFilterObj.curency == 3) this.CurrencyLabel = \"INR\";\n this.reportFilterObj.currencycode = this.CurrencyList.filter(x => x.Id == this.reportFilterObj.curency)[0]?.CurrencyCode;\n if (this.reportFilterObj.currencycode == \"USD\") this.CurrencyLabel = \"USD\";\n if (this.reportFilterObj.currencycode == \"Euro\") this.CurrencyLabel = \"EURO\";\n //if (this.reportFilterObj.currencycode == \"INR\") this.CurrencyLabel = \"INR\";\n if (this.reportFilterObj.currencycode == \"VND\") this.CurrencyLabel = 'VND';\n if (this.reportFilterObj.currencycode == \"IDR\") this.CurrencyLabel = 'IDR';\n if (this.reportFilterObj.currencycode == \"PHP\") this.CurrencyLabel = 'PHP';\n if (this.reportFilterObj.currencycode == \"THB\") this.CurrencyLabel = 'THB';\n if (this.reportFilterObj.currencycode == \"MYR\") this.CurrencyLabel = 'MYR';\n if (this.reportFilterObj.currencycode == \"SGD\") this.CurrencyLabel = 'SGD';\n }\n else {\n this.CurrencyLabel = \"No's\";\n }\n this.CustomerClassWisePieChart();\n }\n AllCustomerClassChange(event: any) {\n if (event.checked) {\n this.reportFilterObj.CustomerClass = 0;\n this.selectedCClass = undefined;\n this.CustomerClassWisePieChart();\n }\n \n }\n AllCustomerTypeChange(event: any) {\n if (event.checked) {\n this.reportFilterObj.CustomerType = 0;\n this.selectedCType = undefined;\n this.CustomerClassWisePieChart();\n }\n }\n showIndicator(chart, indicator) {\n if (indicator) {\n indicator.show();\n }\n else {\n indicator = chart.tooltipContainer.createChild(am4core.Container);\n indicator.background.fill = am4core.color(\"#fff\");\n indicator.background.fillOpacity = 0.8;\n indicator.width = am4core.percent(100);\n indicator.height = am4core.percent(100);\n\n var indicatorLabel = indicator.createChild(am4core.Label);\n indicatorLabel.text = \"No data available for the selection...\";\n indicatorLabel.align = \"center\";\n indicatorLabel.valign = \"middle\";\n indicatorLabel.fontSize = 20;\n }\n }\n\n hideIndicator(indicator) {\n indicator.hide();\n }\n\n /*************************************************************************\n * Below function used for Server side Pagination,Sorting and Searching\n * (1)GetAllCustomerDetails() - To get data for grid\n * (2)SearchParam() - searching\n * (3)sortData() - Sorting\n * (4)pageEvent() - Pagination\n * \n * ***********************************************************************/\n\n GetAllCustomerDetails() {\n if(this.CurrencyLabel==\"No's\")\n {\n this.reportFilterObj.curency = 3\n }\n \n this.showLoader = true;\n let queryString = \"\";\n queryString = \"pageNumber=\" + this.pageNumber;\n queryString += \"&pageSize=\" + this.pageSize;\n queryString += \"&searchText=\" + this.SearchText;\n queryString += \"&direction=\" + this.direction;\n queryString += \"&columnName=\" + this.ColumnName;\n queryString += \"&EnqType=\" + this.reportFilterObj.EnqType;\n queryString += \"&ReportValueType=\" + this.reportFilterObj.ReportValueType;\n queryString += \"&Year=\" + this.reportFilterObj.Year;\n queryString += \"&Region=\" + this.reportFilterObj.Region;\n queryString += \"&ProductLine=\" + this.reportFilterObj.ProductLine;\n queryString += \"&ProductSeries=\" + this.reportFilterObj.ProductSeries;\n queryString += \"&Productmodal=\" + this.reportFilterObj.Productmodal;\n queryString += \"&CustomerClass=\" + this.reportFilterObj.CustomerClass;\n queryString += \"&CustomerType=\" + this.reportFilterObj.CustomerType;\n queryString += \"&Segment=\" + this.reportFilterObj.Segment;\n queryString += \"&reporttype=\" + this.reportFilterObj.reporttype;\n queryString += \"¤cy=\" + this.reportFilterObj.curency;\n\n this.commonService.GetData('Report', 'GetAllCustomerDetails', queryString).subscribe((data: any) => {\n \n this.CustomerGridData = data.Data;\n this.length = data.Total;\n this.dataSourceCustomer = new MatTableDataSource(this.CustomerGridData);\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n\n }\n\n SearchParam(event: any) {\n this.SearchText = event.target.value;\n this.pageNumber = 1;\n this.paginator.pageIndex = 0;\n this.GetAllCustomerDetails();\n }\n\n sortData(event: any) {\n if (this.dataSourceCustomer.filteredData != null) {\n this.direction = event.direction;\n this.ColumnName = event.active;\n this.GetAllCustomerDetails();\n }\n }\n\n pageEvent(event: any) {\n this.pageNumber = event.pageIndex + 1;\n this.pageSize = event.pageSize;\n this.GetAllCustomerDetails();\n }\n\n AvoidSpace(event: any) {\n if (event.which === 32 && !event.target.value.length) {\n event.preventDefault();\n }\n }\n /************************************************************************\n * Grid Code End \n * **********************************************************************/\n\n openEnquiryPopup(CustomerObj) {\n this.reportFilterObj.currencyLable = this.CurrencyLabel;\n const modalRef = this.modalService.open(EnquiryGridReportComponent, {\n windowClass: 'ModelClass'\n });\n modalRef.componentInstance.CustomerDetails = CustomerObj;\n modalRef.componentInstance.reportFilterObj = this.reportFilterObj;\n modalRef.result.then((result) => {\n this.closeResult = `Closed with:${result}`;\n if (this.closeResult !== 'Closed with:Close click') {\n \n }\n });\n }\n\n}\n","\n\n
    \n\n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n

    \n Customer Data\n

    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n
    \n\n \n
    \n
    \n \n All Customer Classification\n \n
    \n \n
    \n
    \n
    \n \n * Click on slice to see data Customer Classification wise.\n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n\n \n\n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n All Customer Types\n \n
    \n
    \n
    \n \n
    \n \n * Click on slice to see data Customer Type wise.\n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n\n\n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n

    \n Region Data\n (Customer Classification:\n {{selectedCClass == undefined ? 'All': selectedCClass.category}} & Customer\n Type: {{selectedCType == undefined ? 'All': selectedCType.category}} )\n

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

    \n Product Line Data\n (Customer Classification:\n {{selectedCClass == undefined ? 'All': selectedCClass.category}} & Customer\n Type: {{selectedCType == undefined ? 'All': selectedCType.category}} )\n

    \n
    \n
    \n
    \n\n
    \n
    \n \n * Click on slice to see data in details.\n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n
    \n
    \n

    \n Product Series Data\n (Customer Classification:\n {{selectedCClass == undefined ? 'All': selectedCClass.category}} & Customer\n Type: {{selectedCType == undefined ? 'All': selectedCType.category}} )\n

    \n
    \n
    \n
    \n\n
    \n
    \n \n * Click on bar to see data in details.\n
    \n
    \n\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n\n\n \n
    \n
    \n
    \n
    \n

    \n Segment (Customer Classification:\n {{selectedCClass == undefined ? 'All': selectedCClass.category}} & Customer\n Type: {{selectedCType == undefined ? 'All': selectedCType.category}} )\n

    \n
    \n
    \n
    \n
    \n
    \n \n * Click on slice to see segment data in details.\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n\n \n
    \n
    \n
    \n
    \n

    \n Sub Segment (Customer Classification:\n {{selectedCClass == undefined ? 'All': selectedCClass.category}} & Customer\n Type: {{selectedCType == undefined ? 'All': selectedCType.category}} )\n

    \n
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n\n\n\n \n
    \n
    \n
    \n\n\n
    \n \n\n\n\n","import { Component, OnInit, ViewChild, Input, Output, EventEmitter } from '@angular/core';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort, Sort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { ToastrService } from 'ngx-toastr';\nimport { CommonService } from 'src/app/Service/common.service';\nimport { MatDialog } from '@angular/material/dialog';\nimport { ProductLine } from 'src/app/Model/ProductModel';\nimport { Title } from '@angular/platform-browser';\nimport { ActivatedRoute } from '@angular/router';\nimport { ReportFilterViewModel } from 'src/app/Model/ReportFilterModel';\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\nimport { AppGlobals } from 'src/app/app.global';\n\n\n@Component({\n selector: 'app-enquiry-grid-report',\n templateUrl: './enquiry-grid-report.component.html',\n styleUrls: ['./enquiry-grid-report.component.scss']\n})\nexport class EnquiryGridReportComponent implements OnInit {\n displayedColumns: string[] = ['EnquiryAutoIncrId', 'EnquiryDate','QuotationNumber','QuotationAmount','POValue'\n,'OrderWonDate','EnquiryStatus','OrderStatus'];\n dataSource: MatTableDataSource;\n disabled: boolean = false;\n UserRole: any;\n @Input() CustomerDetails;\n @Input() reportFilterObj: ReportFilterViewModel = new ReportFilterViewModel();\n AppGlobals = AppGlobals;\n QuotationDownloadPath = this.AppGlobals.QuotationFileDownloadUrl;\n /*************************************************************************\n Server side Pagination purpose\n *************************************************************************/\n pageNumber: number = 1;\n @Input() pageSize: number = 5;\n @Input() length: number;\n @Input() pageIndex: number = this.pageNumber - 1;\n direction: string = 'asc';\n ColumnName: string = 'EnquiryAutoIncrId';\n SearchText: string = \"\";\n @Output('matSortChange') sortChange: EventEmitter;\n @ViewChild(MatPaginator) paginator: MatPaginator;\n /*************************************************************************\n End here\n *************************************************************************/\n\n showLoader: boolean;\n data: any[] = [];\n constructor(private toastr: ToastrService, private CommonService: CommonService, \n public dialog: MatDialog, private titleService: Title, private route: ActivatedRoute\n ,private activeModal: NgbActiveModal) {\n }\n\n\n ngOnInit(): void {\n this.GetAllEnquiryDetails();\n }\n\n /*************************************************************************\n * Below function used for Server side Pagination,Sorting and Searching\n * (1)GetAllEnquiryDetails() - To get data for grid\n * (2)SearchParam() - searching\n * (3)sortData() - Sorting\n * (4)pageEvent() - Pagination\n * \n * ***********************************************************************/\n\n GetAllEnquiryDetails() {\n if(this.reportFilterObj.currencyLable==\"No's\")\n {\n this.reportFilterObj.curency = 3\n }\n this.showLoader = true;\n let queryString = \"\";\n queryString = \"pageNumber=\" + this.pageNumber;\n queryString += \"&pageSize=\" + this.pageSize;\n queryString += \"&searchText=\" + this.SearchText;\n queryString += \"&direction=\" + this.direction;\n queryString += \"&columnName=\" + this.ColumnName;\n queryString += \"&EnqType=\" + this.reportFilterObj.EnqType;\n queryString += \"&ReportValueType=\" + this.reportFilterObj.ReportValueType;\n queryString += \"&Year=\" + this.reportFilterObj.Year;\n queryString += \"&Region=\" + this.reportFilterObj.Region;\n queryString += \"&ProductLine=\" + this.reportFilterObj.ProductLine;\n queryString += \"&ProductSeries=\" + this.reportFilterObj.ProductSeries;\n queryString += \"&Productmodal=\" + this.reportFilterObj.Productmodal;\n queryString += \"&CustomerClass=\" + this.reportFilterObj.CustomerClass;\n queryString += \"&CustomerType=\" + this.reportFilterObj.CustomerType;\n queryString += \"&Segment=\" + this.reportFilterObj.Segment;\n queryString += \"&reporttype=\" + this.reportFilterObj.reporttype;\n queryString += \"¤cy=\" + this.reportFilterObj.curency;\n queryString += \"&CustomerId=\"+this.CustomerDetails.CustomerId;\n \n this.CommonService.GetData('Report', 'GetAllEnquiryDetails', queryString).subscribe((data: any) => {\n this.data = data.Data;\n this.length = data.Total;\n this.dataSource = new MatTableDataSource(this.data);\n this.showLoader = false;\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n \n }\n \n SearchParam(event: any) {\n this.SearchText = event.target.value;\n this.pageNumber = 1;\n this.paginator.pageIndex = 0;\n this.GetAllEnquiryDetails();\n }\n \n sortData(event: any) {\n if (this.dataSource.filteredData != null) {\n this.direction = event.direction;\n this.ColumnName = event.active;\n this.GetAllEnquiryDetails();\n }\n }\n \n pageEvent(event: any) {\n this.pageNumber = event.pageIndex + 1;\n this.pageSize = event.pageSize;\n this.GetAllEnquiryDetails();\n }\n /************************************************************************\n * Grid Code End \n * **********************************************************************/\n \n /*******************************************************************************\n * Form validation method\n * ******************************************************************************/\n \n AvoidSpace(event: any) {\n if (event.which === 32 && !event.target.value.length) {\n event.preventDefault();\n }\n }\n \n /*******************************************************************************\n * End Form validation method \n * ******************************************************************************/\n closePopup() {\n this.activeModal.close('Close Click');\n }\n}\n","\n\n
    \n
    \n
    Enquiry Listing ({{CustomerDetails.CustomerName}})
    \n \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n\n Search\n \n \n\n
    \n\n
    \n\n
    \n
    \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n\n
    Enquiry Number {{row.EnquiryNumber}} Enquiry Date/Time {{row.EnquiryDate | date: \"dd-MMM-yyyy\"}}
    {{ row.EnquiryDate |date :\"h:mm a\"}}
    Quotation Number \n {{row.QuotationNumber}}\n Quotation Amount ({{reportFilterObj.currencyLable==\"No's\"?\"INR\":reportFilterObj.currencyLable}}) {{row.QuotationAmount}} PO Value ({{reportFilterObj.currencyLable==\"No's\"?\"INR\":reportFilterObj.currencyLable}}) {{row.POValue}} Order Date/Time {{row.OrderWonDate| date: \"dd-MMM-yyyy\"}}
    {{ row.OrderWonDate |date :\"h:mm a\"}}
    Enquiry Status {{row.EnquiryStatus}} Order Status {{row.OrderStatus}}
    \n No records found
    \n
    \n \n \n
    \n
    \n \n
    \n
    \n \n
    \n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-power-bireports',\n templateUrl: './power-bireports.component.html',\n styleUrls: ['./power-bireports.component.scss']\n})\nexport class PowerBIReportsComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","\n\n
    \n\n
    \n \n
    \n
    \n
    \n
    \n

    \n PowerBI Reports\n

    \n
    \n
    \n
    \n
    \n \n \n \n \n \n
    \n
    \n\n\n
    \n
    \n\n\n","import { Component, OnInit, Input, AfterViewInit } from '@angular/core';\nimport * as am4core from \"@amcharts/amcharts4/core\";\nimport * as am4charts from \"@amcharts/amcharts4/charts\";\nimport am4themes_animated from \"@amcharts/amcharts4/themes/animated\";\nimport { ToastrService } from 'ngx-toastr';\nimport { CommonService } from 'src/app/Service/common.service';\n\n@Component({\n selector: 'app-productmodel-columnchart',\n templateUrl: './productmodel-columnchart.component.html',\n styleUrls: ['./productmodel-columnchart.component.scss']\n})\nexport class ProductmodelColumnchartComponent implements OnInit {\n showLoader: boolean;\n chart1Data: { category: string; value: number; }[];\n\n constructor(private commonService:CommonService) { }\n\n ngOnInit(): void {\n this.commonService.RefreshHeaderFun();\n this.ProductModelWisePieChart();\n }\n ProductModelWisePieChart() {\n\n this.showLoader = true;\n let queryString = \"\";\n queryString += \"drpdnOption=Units\";\n queryString += \"&Year=2020\";\n\n let chart1 = am4core.create(\"ProductModelBarChart\", am4charts.XYChart);\n chart1.exporting.menu = new am4core.ExportMenu();\n\n let title = chart1.titles.create();\n title.text = \"Product Model wise\";\n title.fontSize = 15;\n title.fontWeight = \"bold\";\n title.marginBottom = 30;\n\n chart1.legend = new am4charts.Legend();\n chart1.legend.labels.template.text = \"{category}: {value.value}\";\n chart1.hiddenState.properties.opacity = 0;\n this.chart1Data = [{\n \"category\": \"North\",\n \"value\": 21\n }, {\n \"category\": \"West\",\n \"value\": 14\n }, {\n \"category\": \"South East\",\n \"value\": 19\n }, {\n \"category\": \"South\",\n \"value\": 11\n }];\n chart1.data = this.chart1Data;\n\n\n\n var categoryAxis = chart1.xAxes.push(new am4charts.CategoryAxis());\n categoryAxis.dataFields.category = \"category\";\n categoryAxis.renderer.grid.template.location = 0;\n categoryAxis.renderer.minGridDistance = 30;\n\n var valueAxis = chart1.yAxes.push(new am4charts.ValueAxis());\n\n // Create series\n var columnSeries = chart1.series.push(new am4charts.ColumnSeries());\n columnSeries.dataFields.valueY = \"value\";\n columnSeries.dataFields.categoryX = \"category\";\n columnSeries.name = \"Enquiry\";\n columnSeries.columns.template.tooltipText = \"{categoryX}: [bold]{valueY}[/]\";\n columnSeries.columns.template.propertyFields.fillOpacity = \"fillOpacity\";\n columnSeries.columns.template.propertyFields.stroke = \"stroke\";\n columnSeries.columns.template.propertyFields.strokeWidth = \"strokeWidth\";\n columnSeries.columns.template.propertyFields.strokeDasharray = \"columnDash\";\n columnSeries.tooltip.label.textAlign = \"middle\";\n columnSeries.tooltip.getFillFromObject = false;\n columnSeries.tooltip.background.fill = am4core.color(\"#4a463c\");\n\n columnSeries.columns.template.events.on(\"hit\", function(ev) {\n }, this);\n\n }\n\n}\n","
    \n
    \n\n
    \n
    \n
    \n

    \n Product Model\n

    \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n \n
    \n
    \n
    ","import { Component, OnInit, Input, AfterViewInit } from '@angular/core';\nimport * as am4core from \"@amcharts/amcharts4/core\";\nimport * as am4charts from \"@amcharts/amcharts4/charts\";\nimport am4themes_animated from \"@amcharts/amcharts4/themes/animated\";\nimport { ToastrService } from 'ngx-toastr';\nimport { CommonService } from 'src/app/Service/common.service';\n\n@Component({\n selector: 'app-productseries-columnchart',\n templateUrl: './productseries-columnchart.component.html',\n styleUrls: ['./productseries-columnchart.component.scss']\n})\nexport class ProductseriesColumnchartComponent implements OnInit {\n showLoader: boolean;\n chart1Data: { category: string; value: number; }[];\n\n constructor(private commonService:CommonService) { }\n\n ngOnInit(): void {\n this.commonService.RefreshHeaderFun();\n this.ProductSeriesWisePieChart();\n }\n ProductSeriesWisePieChart() {\n\n this.showLoader = true;\n let queryString = \"\";\n queryString += \"drpdnOption=Units\";\n queryString += \"&Year=2020\";\n\n let chart1 = am4core.create(\"ProductSeriesBarChart\", am4charts.XYChart);\n chart1.exporting.menu = new am4core.ExportMenu();\n\n let title = chart1.titles.create();\n title.text = \"Product Series wise\";\n title.fontSize = 15;\n title.fontWeight = \"bold\";\n title.marginBottom = 30;\n\n chart1.legend = new am4charts.Legend();\n chart1.legend.labels.template.text = \"{category}: {value.value}\";\n chart1.hiddenState.properties.opacity = 0;\n this.chart1Data = [{\n \"category\": \"North\",\n \"value\": 21\n }, {\n \"category\": \"West\",\n \"value\": 14\n }, {\n \"category\": \"South East\",\n \"value\": 19\n }, {\n \"category\": \"South\",\n \"value\": 11\n }];\n chart1.data = this.chart1Data;\n\n\n\n var categoryAxis = chart1.xAxes.push(new am4charts.CategoryAxis());\n categoryAxis.dataFields.category = \"category\";\n categoryAxis.renderer.grid.template.location = 0;\n categoryAxis.renderer.minGridDistance = 30;\n\n var valueAxis = chart1.yAxes.push(new am4charts.ValueAxis());\n\n // Create series\n var columnSeries = chart1.series.push(new am4charts.ColumnSeries());\n columnSeries.dataFields.valueY = \"value\";\n columnSeries.dataFields.categoryX = \"category\";\n columnSeries.name = \"Enquiry\";\n columnSeries.columns.template.tooltipText = \"{categoryX}: [bold]{valueY}[/]\";\n columnSeries.columns.template.propertyFields.fillOpacity = \"fillOpacity\";\n columnSeries.columns.template.propertyFields.stroke = \"stroke\";\n columnSeries.columns.template.propertyFields.strokeWidth = \"strokeWidth\";\n columnSeries.columns.template.propertyFields.strokeDasharray = \"columnDash\";\n columnSeries.tooltip.label.textAlign = \"middle\";\n columnSeries.tooltip.getFillFromObject = false;\n columnSeries.tooltip.background.fill = am4core.color(\"#4a463c\");\n\n }\n\n}\n","
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n

    \n Product Series\n

    \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n\n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n
    \n \n
    \n
    ","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-productvariant-columnchart',\n templateUrl: './productvariant-columnchart.component.html',\n styleUrls: ['./productvariant-columnchart.component.scss']\n})\nexport class ProductvariantColumnchartComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","

    productvariant-columnchart works!

    \n","import { Component, OnInit, Input, AfterViewInit, ElementRef, ViewChild } from '@angular/core';\nimport * as am4core from \"@amcharts/amcharts4/core\";\nimport * as am4charts from \"@amcharts/amcharts4/charts\";\nimport am4themes_animated from \"@amcharts/amcharts4/themes/animated\";\nimport { ToastrService } from 'ngx-toastr';\nimport { CommonService } from 'src/app/Service/common.service';\nimport { ReportFilterViewModel } from 'src/app/Model/ReportFilterModel';\nimport { ActivatedRoute } from '@angular/router';\nimport { Title } from '@angular/platform-browser';\nimport { AppGlobals } from 'src/app/app.global';\nimport { AppConfigService } from 'src/app/Service/app-config.service';\n\n@Component({\n selector: 'app-productwise-report',\n templateUrl: './productwise-report.component.html',\n styleUrls: ['./productwise-report.component.scss']\n})\nexport class ProductwiseReportComponent implements OnInit, AfterViewInit {\n @Input()\n showLoader: boolean = false;\n reportFilterObj: ReportFilterViewModel = new ReportFilterViewModel();\n @ViewChild('fiterElement') fiterElement: ElementRef;\n\n isProductLineSelected: boolean = false;\n isProductSeriesSelected: boolean = false;\n isProductModelSelected: boolean = false;\n isRegionSelected: boolean = false;\n selectedRegion: any;\n chartData: { category: string; value: number; }[];\n selectedProductLine: any;\n selectedProductSeries: any;\n productlineData: any;\n regionData: any;\n customerclassdata: any;\n customertypedata: any;\n segmentData: any;\n YearList: any[]=[];\n currYear: number = new Date().getFullYear();\n productseriesData: { category: string; value: number; }[];\n isAllRegions: boolean = true;\n CurrencyList: any;\n selectedSegment: any;\n isSegmentSelected: boolean = false;\n selectedProductType: string = \"Product Line\";\n CurrencyLabel: string = \"\";\n VariantLabel: string = \"\";\n constructor(private toastr: ToastrService, private commonService: CommonService\n , private titleService: Title, private route: ActivatedRoute, private appConfigService : AppConfigService) { }\n\n ngAfterViewInit(): void {\n\n }\n\n ngOnInit() {\n this.commonService.RefreshHeaderFun();\n this.commonService.RefreshHeaderFun();\n const appConfig = this.appConfigService.getConfig();\n const dynamicTitle = this.route.snapshot.data['title'];\n this.titleService.setTitle(`${dynamicTitle} - ${appConfig.titleName}`);\n // this.titleService.setTitle(this.route.snapshot.data['title'] + \" - ECOTECH\");\n this.showLoader = true;\n this.reportFilterObj = new ReportFilterViewModel();\n this.reportFilterObj.EnqType = \"quotation\";\n this.reportFilterObj.ReportValueType = \"amount\";\n this.reportFilterObj.ProductLine = \"0\";\n this.reportFilterObj.reporttype = \"productline\";\n this.reportFilterObj.Year = new Date().getFullYear();\n if (!(this.reportFilterObj.ProductSeries == undefined || this.reportFilterObj.ProductSeries == null || this.reportFilterObj.ProductSeries == 0)) {\n this.isProductSeriesSelected = true;\n }\n if (!(this.reportFilterObj.ProductSeries == undefined || this.reportFilterObj.ProductSeries == null || this.reportFilterObj.ProductSeries == 0)\n &&\n !(this.reportFilterObj.Productmodal == undefined || this.reportFilterObj.Productmodal == null || this.reportFilterObj.Productmodal == 0)) {\n this.isProductModelSelected = true;\n }\n // this.YearList = AppGlobals.YearsConstant;\n let k = 1;\n for (let i = 2018; i <= this.currYear; i++) {\n let batch =i;\n this.YearList.push(batch);\n k++;\n }\n this.getCurrencyList();\n }\n // getYearList() {\n // this.commonService.GetData(\"Dashboard\", \"GetYearList\", null).subscribe((data: any) => {\n // this.YearList = data;\n // var check = this.YearList.filter(x=>x==new Date().getFullYear())[0];\n // if (check.length==0) this.YearList.push(new Date().getFullYear());\n // },\n // error => {\n // this.toastr.error(\"Failed to load year list!\");\n // this.showLoader = false;\n // });\n // }\n getCurrencyList() {\n this.commonService.GetData(\"Currency\", \"GetAll\", null).subscribe((data: any) => {\n this.CurrencyList = data;\n this.reportFilterObj.currencycode = this.CurrencyList.filter(x => x.Name == 'Euro (€)')[0]?.CurrencyCode;\n this.reportFilterObj.curency = this.CurrencyList.filter(x => x.CurrencyCode == this.reportFilterObj.currencycode)[0]?.Id;\n if (this.reportFilterObj.ReportValueType == \"amount\") {\n // if (this.reportFilterObj.curency == 1) this.CurrencyLabel = \"USD\";\n // if (this.reportFilterObj.curency == 2) this.CurrencyLabel = \"EURO\";\n // if (this.reportFilterObj.curency == 3) this.CurrencyLabel = \"INR\";\n if (this.reportFilterObj.currencycode == \"USD\") this.CurrencyLabel = \"USD\";\n if (this.reportFilterObj.currencycode == \"Euro\") this.CurrencyLabel = \"EURO\";\n //if (this.reportFilterObj.currencycode == \"INR\") this.CurrencyLabel = \"INR\";\n if (this.reportFilterObj.currencycode == \"VND\") this.CurrencyLabel = 'VND';\n if (this.reportFilterObj.currencycode == \"IDR\") this.CurrencyLabel = 'IDR';\n if (this.reportFilterObj.currencycode == \"PHP\") this.CurrencyLabel = 'PHP';\n if (this.reportFilterObj.currencycode == \"THB\") this.CurrencyLabel = 'THB';\n if (this.reportFilterObj.currencycode == \"MYR\") this.CurrencyLabel = 'MYR';\n if (this.reportFilterObj.currencycode == \"SGD\") this.CurrencyLabel = 'SGD';\n }\n else {\n this.CurrencyLabel = \"No's\";\n }\n this.ProductWisePieChart();\n setTimeout(() => {\n this.fiterElement.nativeElement.focus();\n }, 0);\n },\n error => {\n this.toastr.error(\"Failed to load currency list!\");\n this.showLoader = false;\n });\n }\n ProductWisePieChart() {\n const that = this;\n this.showLoader = true;\n let queryString = \"\";\n this.isProductLineSelected = false;\n this.isProductSeriesSelected = false;\n this.isProductModelSelected = false;\n this.isSegmentSelected = false;\n queryString += \"EnqType=\" + this.reportFilterObj.EnqType;\n queryString += \"&ReportValueType=\" + this.reportFilterObj.ReportValueType;\n queryString += \"&Year=\" + this.reportFilterObj.Year;\n queryString += \"&Region=\" + this.reportFilterObj.Region;\n queryString += \"&ProductLine=\" + this.reportFilterObj.ProductLine;\n queryString += \"&ProductSeries=\" + this.reportFilterObj.ProductSeries;\n queryString += \"&Productmodal=\" + this.reportFilterObj.Productmodal;\n queryString += \"&CustomerClass=\" + this.reportFilterObj.CustomerClass;\n queryString += \"&CustomerType=\" + this.reportFilterObj.CustomerType;\n queryString += \"&Segment=\" + this.reportFilterObj.Segment;\n queryString += \"&reporttype=\" + this.reportFilterObj.reporttype;\n queryString += \"¤cy=\" + this.reportFilterObj.curency;\n this.commonService.GetData(\"Report\", \"GetRegionReport\", queryString).subscribe((data: any) => {\n let chart = am4core.create(\"ProductWisePieChart\", am4charts.PieChart);\n // chart.exporting.menu = new am4core.ExportMenu();\n chart.legend = new am4charts.Legend();\n\n chart.hiddenState.properties.opacity = 0;\n\n setTimeout(() => {\n this.RegionWisePieChart();\n this.CustomerClassWisePieChart();\n this.CustomerTypeWisePieChart();\n this.SegmentWisePieChart();\n this.showLoader = false;\n }, 3000);\n\n this.regionData = data.Region;\n this.productlineData = data.ProductLine;\n this.customerclassdata = data.CustomerClass;\n this.customertypedata = data.CustomerType;\n this.segmentData = data.Segment;\n chart.data = this.productlineData;\n // //*************************************************************************** */\n chart.events.on(\"beforedatavalidated\", function (ev) {\n // check if there's data\n var IsDataEmpty = false;\n var emptyUnits;\n if (that.reportFilterObj.ReportValueType == 'units') emptyUnits = chart.data.filter(x => x.unitvalue == 0);\n if (that.reportFilterObj.ReportValueType == 'amount') emptyUnits = chart.data.filter(x => x.amountvalue == 0);\n if (emptyUnits.length == chart.data.length) {\n chart.hidden = true;\n IsDataEmpty = true;\n }\n var indicator;\n if (IsDataEmpty) {\n that.showIndicator(chart, indicator);\n }\n else if (indicator) {\n that.hideIndicator(indicator);\n }\n else {\n chart.exporting.menu = new am4core.ExportMenu();\n let options = chart.exporting.getFormatOptions(\"pdf\");\n options.addURL = false;\n chart.exporting.setFormatOptions(\"pdf\", options);\n chart.exporting.filePrefix = \"ProductLineReport\";\n /**************Custom Export**************** */\n chart.exporting.menu.items = [\n {\n \"label\": \"...\",\n \"menu\": [\n {\n \"label\": \"Image\",\n \"menu\": [\n { \"type\": \"png\", \"label\": \"PNG\" },\n { \"type\": \"jpg\", \"label\": \"JPG\" },\n // { \"type\": \"svg\", \"label\": \"SVG\" },\n { \"type\": \"pdf\", \"label\": \"PDF\" }\n ]\n }, {\n \"label\": \"Data\",\n \"menu\": [\n { \"type\": \"xlsx\", \"label\": \"XLSX\" },\n ]\n }, {\n \"label\": \"Print\", \"type\": \"print\"\n }\n ]\n }\n ];\n chart.exporting.extraSprites.push({\n \"sprite\": legendContainer,\n \"position\": \"bottom\",\n \"marginTop\": 30\n });\n if (that.reportFilterObj.ReportValueType == \"amount\") {\n let title = chart.titles.create();\n title.text = \"[bold]All values are in \" + that.CurrencyLabel;\n title.fill = am4core.color(\"red\");\n title.fontSize = '14px';\n title.disabled = false;\n chart.exporting.dataFields = {\n \"category\": \"ProductLine\",\n \"amountvalue\": \"Amount(\" + that.CurrencyLabel + \")\",\n }\n }\n else {\n chart.exporting.dataFields = {\n \"category\": \"ProductLine\",\n \"unitvalue\": that.CurrencyLabel,\n }\n }\n\n }\n });\n // //*************************************************************************** */\n chart.legend.itemContainers.template.tooltipText = \"{category}\";\n let legendContainer = am4core.create(\"pllegenddiv\", am4core.Container);\n legendContainer.width = am4core.percent(100);\n legendContainer.height = am4core.percent(100);\n chart.legend.parent = legendContainer;\n chart.events.on(\"datavalidated\", resizeLegend);\n chart.events.on(\"maxsizechanged\", resizeLegend);\n\n chart.legend.events.on(\"datavalidated\", resizeLegend);\n chart.legend.events.on(\"maxsizechanged\", resizeLegend);\n chart.legend.itemContainers.template.clickable = false;\n chart.legend.itemContainers.template.focusable = false;\n chart.legend.itemContainers.template.cursorOverStyle = am4core.MouseCursorStyle.default;\n function resizeLegend(ev) {\n document.getElementById(\"pllegenddiv\").style.height = chart.legend.contentHeight + \"px\";\n }\n var series = chart.series.push(new am4charts.PieSeries());\n series.dataFields.category = \"category\";\n if (this.reportFilterObj.ReportValueType == 'units') {\n series.dataFields.value = \"unitvalue\";\n } else {\n series.dataFields.value = \"amountvalue\";\n }\n chart.legend.labels.template.text = \"[normal]{category}: [bold]{value.value}\";\n // chart.legend.scrollable = true;\n chart.legend.valueLabels.template.disabled = true;\n let markerTemplate = chart.legend.markers.template;\n markerTemplate.width = 20;\n markerTemplate.height = 20;\n chart.legend.valueLabels.template.align = \"left\"\n chart.legend.valueLabels.template.textAlign = \"start\"\n chart.legend.labels.template.maxWidth = 150;\n chart.legend.labels.template.wrap = true;\n chart.legend.labels.template.truncate = false;\n series.labels.template.radius = am4core.percent(10);\n series.labels.template.text = \"{category}: {value.value}\";\n series.slices.template.tooltipText = \"{category}: {value.value}\";\n chart.legend.valueLabels.template.text = \"{value.value}\";\n series.slices.template.cursorOverStyle = am4core.MouseCursorStyle.pointer;\n //\n series.slices.template.events.on(\"hit\", function (ev) {\n let item: any = ev.target.dataItem.dataContext;\n that.onProductSliceClick(ev.target.dataItem.dataContext);\n if (item.isActive && item != ev.target) {\n item.isActive = false;\n }\n });\n }, error => {\n this.showLoader = false;\n });\n }\n\n CustomerClassWisePieChart() {\n let chart = am4core.create(\"CustomerClassWisePieChart\", am4charts.PieChart);\n let title = chart.titles.create();\n title.text = \"Customer Classification\";\n title.fontSize = 15;\n title.fontWeight = \"bold\";\n title.marginBottom = 30;\n // chart.exporting.menu = new am4core.ExportMenu();\n chart.legend = new am4charts.Legend();\n let legendContainer = am4core.create(\"cclegenddiv\", am4core.Container);\n legendContainer.width = am4core.percent(100);\n legendContainer.height = am4core.percent(100);\n chart.legend.parent = legendContainer;\n chart.events.on(\"datavalidated\", resizeLegend);\n chart.events.on(\"maxsizechanged\", resizeLegend);\n\n chart.legend.events.on(\"datavalidated\", resizeLegend);\n chart.legend.events.on(\"maxsizechanged\", resizeLegend);\n chart.legend.itemContainers.template.clickable = false;\n chart.legend.itemContainers.template.focusable = false;\n chart.legend.itemContainers.template.cursorOverStyle = am4core.MouseCursorStyle.default;\n function resizeLegend(ev) {\n document.getElementById(\"cclegenddiv\").style.height = chart.legend.contentHeight + \"px\";\n }\n chart.hiddenState.properties.opacity = 0;\n chart.data = this.customerclassdata;\n // //*************************************************************************** */\n const that = this;\n chart.events.on(\"beforedatavalidated\", function (ev) {\n // check if there's data\n var IsDataEmpty = false;\n var emptyUnits;\n if (that.reportFilterObj.ReportValueType == 'units') emptyUnits = chart.data.filter(x => x.unitvalue == 0);\n if (that.reportFilterObj.ReportValueType == 'amount') emptyUnits = chart.data.filter(x => x.amountvalue == 0);\n if (emptyUnits.length == chart.data.length) {\n chart.hidden = true;\n IsDataEmpty = true;\n }\n var indicator;\n if (IsDataEmpty) {\n that.showIndicator(chart, indicator);\n }\n else if (indicator) {\n that.hideIndicator(indicator);\n }\n else {\n chart.exporting.menu = new am4core.ExportMenu();\n let options = chart.exporting.getFormatOptions(\"pdf\");\n options.addURL = false;\n chart.exporting.setFormatOptions(\"pdf\", options);\n chart.exporting.filePrefix = \"CustomerClassificationReport\";\n /**************Custom Export**************** */\n chart.exporting.menu.items = [\n {\n \"label\": \"...\",\n \"menu\": [\n {\n \"label\": \"Image\",\n \"menu\": [\n { \"type\": \"png\", \"label\": \"PNG\" },\n { \"type\": \"jpg\", \"label\": \"JPG\" },\n // { \"type\": \"svg\", \"label\": \"SVG\" },\n { \"type\": \"pdf\", \"label\": \"PDF\" }\n ]\n }, {\n \"label\": \"Data\",\n \"menu\": [\n { \"type\": \"xlsx\", \"label\": \"XLSX\" },\n ]\n }, {\n \"label\": \"Print\", \"type\": \"print\"\n }\n ]\n }\n ];\n chart.exporting.extraSprites.push({\n \"sprite\": legendContainer,\n \"position\": \"bottom\",\n \"marginTop\": 30\n });\n if (that.reportFilterObj.ReportValueType == \"amount\") {\n let title = chart.titles.create();\n title.text = \"[bold]All values are in \" + that.CurrencyLabel;\n title.fill = am4core.color(\"red\");\n title.fontSize = '14px';\n title.disabled = false;\n chart.exporting.dataFields = {\n \"category\": \"CustomerClassification\",\n \"amountvalue\": \"Amount(\" + that.CurrencyLabel + \")\",\n }\n }\n else {\n chart.exporting.dataFields = {\n \"category\": \"CustomerClassification\",\n \"unitvalue\": that.CurrencyLabel,\n }\n }\n\n }\n });\n // //*************************************************************************** */\n chart.legend.itemContainers.template.tooltipText = \"{category}\";\n var series = chart.series.push(new am4charts.PieSeries());\n series.dataFields.category = \"category\";\n if (this.reportFilterObj.ReportValueType == 'units') {\n series.dataFields.value = \"unitvalue\";\n } else {\n series.dataFields.value = \"amountvalue\";\n }\n chart.legend.labels.template.text = \"[normal]{category}: [bold]{value.value}\";\n // chart.legend.scrollable = true;\n chart.legend.valueLabels.template.disabled = true;\n let markerTemplate = chart.legend.markers.template;\n markerTemplate.width = 20;\n markerTemplate.height = 20;\n chart.legend.valueLabels.template.align = \"left\"\n chart.legend.valueLabels.template.textAlign = \"start\"\n chart.legend.labels.template.maxWidth = 150;\n chart.legend.labels.template.wrap = true;\n chart.legend.labels.template.truncate = false;\n series.labels.template.radius = am4core.percent(10);\n series.labels.template.text = \"{category}: {value.value}\";\n series.slices.template.tooltipText = \"{category}: {value.value}\";\n chart.legend.valueLabels.template.text = \"{value.value}\";\n series.slices.template.cursorOverStyle = am4core.MouseCursorStyle.pointer;\n //\n }\n CustomerTypeWisePieChart() {\n let chart = am4core.create(\"CustomerTypeWisePieChart\", am4charts.PieChart);\n let title = chart.titles.create();\n title.text = \"Customer Type\";\n title.fontSize = 15;\n title.fontWeight = \"bold\";\n title.marginBottom = 30;\n // chart.exporting.menu = new am4core.ExportMenu();\n chart.legend = new am4charts.Legend();\n chart.hiddenState.properties.opacity = 0;\n chart.data = this.customertypedata;\n // //*************************************************************************** */\n const that = this;\n chart.events.on(\"beforedatavalidated\", function (ev) {\n // check if there's data\n var IsDataEmpty = false;\n var emptyUnits;\n if (that.reportFilterObj.ReportValueType == 'units') emptyUnits = chart.data.filter(x => x.unitvalue == 0);\n if (that.reportFilterObj.ReportValueType == 'amount') emptyUnits = chart.data.filter(x => x.amountvalue == 0);\n if (emptyUnits.length == chart.data.length) {\n chart.hidden = true;\n IsDataEmpty = true;\n }\n var indicator;\n if (IsDataEmpty) {\n that.showIndicator(chart, indicator);\n }\n else if (indicator) {\n that.hideIndicator(indicator);\n }\n else {\n chart.exporting.menu = new am4core.ExportMenu();\n let options = chart.exporting.getFormatOptions(\"pdf\");\n options.addURL = false;\n chart.exporting.setFormatOptions(\"pdf\", options);\n chart.exporting.filePrefix = \"CustomerTypeReport\";\n /**************Custom Export**************** */\n chart.exporting.menu.items = [\n {\n \"label\": \"...\",\n \"menu\": [\n {\n \"label\": \"Image\",\n \"menu\": [\n { \"type\": \"png\", \"label\": \"PNG\" },\n { \"type\": \"jpg\", \"label\": \"JPG\" },\n // { \"type\": \"svg\", \"label\": \"SVG\" },\n { \"type\": \"pdf\", \"label\": \"PDF\" }\n ]\n }, {\n \"label\": \"Data\",\n \"menu\": [\n { \"type\": \"xlsx\", \"label\": \"XLSX\" },\n ]\n }, {\n \"label\": \"Print\", \"type\": \"print\"\n }\n ]\n }\n ];\n chart.exporting.extraSprites.push({\n \"sprite\": legendContainer,\n \"position\": \"bottom\",\n \"marginTop\": 30\n });\n if (that.reportFilterObj.ReportValueType == \"amount\") {\n let title = chart.titles.create();\n title.text = \"[bold]All values are in \" + that.CurrencyLabel;\n title.fill = am4core.color(\"red\");\n title.fontSize = '14px';\n title.disabled = false;\n chart.exporting.dataFields = {\n \"category\": \"CustomerType\",\n \"amountvalue\": \"Amount(\" + that.CurrencyLabel + \")\",\n }\n }\n else {\n chart.exporting.dataFields = {\n \"category\": \"CustomerType\",\n \"unitvalue\": that.CurrencyLabel,\n }\n }\n\n }\n });\n // //*************************************************************************** */\n chart.legend.itemContainers.template.tooltipText = \"{category}\";\n let legendContainer = am4core.create(\"ctlegenddiv\", am4core.Container);\n legendContainer.width = am4core.percent(100);\n legendContainer.height = am4core.percent(100);\n chart.legend.parent = legendContainer;\n chart.events.on(\"datavalidated\", resizeLegend);\n chart.events.on(\"maxsizechanged\", resizeLegend);\n\n chart.legend.events.on(\"datavalidated\", resizeLegend);\n chart.legend.events.on(\"maxsizechanged\", resizeLegend);\n chart.legend.itemContainers.template.clickable = false;\n chart.legend.itemContainers.template.focusable = false;\n chart.legend.itemContainers.template.cursorOverStyle = am4core.MouseCursorStyle.default;\n function resizeLegend(ev) {\n document.getElementById(\"ctlegenddiv\").style.height = chart.legend.contentHeight + \"px\";\n }\n var series = chart.series.push(new am4charts.PieSeries());\n series.dataFields.category = \"category\";\n if (this.reportFilterObj.ReportValueType == 'units') {\n series.dataFields.value = \"unitvalue\";\n } else {\n series.dataFields.value = \"amountvalue\";\n }\n chart.legend.labels.template.text = \"[normal]{category}: [bold]{value.value}\";\n // chart.legend.scrollable = true;\n chart.legend.valueLabels.template.disabled = true;\n let markerTemplate = chart.legend.markers.template;\n markerTemplate.width = 20;\n markerTemplate.height = 20;\n chart.legend.valueLabels.template.align = \"left\"\n chart.legend.valueLabels.template.textAlign = \"start\"\n chart.legend.labels.template.maxWidth = 150;\n chart.legend.labels.template.wrap = true;\n chart.legend.labels.template.truncate = false;\n series.labels.template.radius = am4core.percent(10);\n series.labels.template.text = \"{category}: {value.value}\";\n series.slices.template.tooltipText = \"{category}: {value.value}\";\n chart.legend.valueLabels.template.text = \"{value.value}\";\n series.slices.template.cursorOverStyle = am4core.MouseCursorStyle.pointer;\n //\n }\n RegionWisePieChart() {\n const that = this;\n let chart = am4core.create(\"RegionWisePieChart\", am4charts.PieChart);\n // chart.exporting.menu = new am4core.ExportMenu();\n let title = chart.titles.create();\n title.text = \"Region wise\";\n title.fontSize = 15;\n title.fontWeight = \"bold\";\n title.marginBottom = 30;\n chart.legend = new am4charts.Legend();\n let legendContainer = am4core.create(\"regionlegenddiv\", am4core.Container);\n legendContainer.width = am4core.percent(100);\n legendContainer.height = 300;\n chart.legend.parent = legendContainer;\n chart.events.on(\"datavalidated\", resizeLegend);\n chart.events.on(\"maxsizechanged\", resizeLegend);\n\n chart.legend.events.on(\"datavalidated\", resizeLegend);\n chart.legend.events.on(\"maxsizechanged\", resizeLegend);\n chart.legend.itemContainers.template.clickable = false;\n chart.legend.itemContainers.template.focusable = false;\n chart.legend.itemContainers.template.cursorOverStyle = am4core.MouseCursorStyle.default;\n function resizeLegend(ev) {\n document.getElementById(\"regionlegenddiv\").style.height = chart.legend.contentHeight + \"px\";\n }\n\n chart.hiddenState.properties.opacity = 0;\n chart.data = this.regionData;\n // //*************************************************************************** */\n chart.events.on(\"beforedatavalidated\", function (ev) {\n // check if there's data\n var IsDataEmpty = false;\n var emptyUnits;\n if (that.reportFilterObj.ReportValueType == 'units') emptyUnits = chart.data.filter(x => x.unitvalue == 0);\n if (that.reportFilterObj.ReportValueType == 'amount') emptyUnits = chart.data.filter(x => x.amountvalue == 0);\n if (emptyUnits.length == chart.data.length) {\n chart.hidden = true;\n IsDataEmpty = true;\n }\n var indicator;\n if (IsDataEmpty) {\n that.showIndicator(chart, indicator);\n }\n else if (indicator) {\n that.hideIndicator(indicator);\n }\n else {\n chart.exporting.menu = new am4core.ExportMenu();\n let options = chart.exporting.getFormatOptions(\"pdf\");\n options.addURL = false;\n chart.exporting.setFormatOptions(\"pdf\", options);\n chart.exporting.filePrefix = \"RegionReport\";\n /**************Custom Export**************** */\n chart.exporting.menu.items = [\n {\n \"label\": \"...\",\n \"menu\": [\n {\n \"label\": \"Image\",\n \"menu\": [\n { \"type\": \"png\", \"label\": \"PNG\" },\n { \"type\": \"jpg\", \"label\": \"JPG\" },\n // { \"type\": \"svg\", \"label\": \"SVG\" },\n { \"type\": \"pdf\", \"label\": \"PDF\" }\n ]\n }, {\n \"label\": \"Data\",\n \"menu\": [\n { \"type\": \"xlsx\", \"label\": \"XLSX\" },\n ]\n }, {\n \"label\": \"Print\", \"type\": \"print\"\n }\n ]\n }\n ];\n chart.exporting.extraSprites.push({\n \"sprite\": legendContainer,\n \"position\": \"bottom\",\n \"marginTop\": 30\n });\n if (that.reportFilterObj.ReportValueType == \"amount\") {\n let title = chart.titles.create();\n title.text = \"[bold]All values are in \" + that.CurrencyLabel;\n title.fill = am4core.color(\"red\");\n title.fontSize = '14px';\n title.disabled = false;\n chart.exporting.dataFields = {\n \"category\": \"Region\",\n \"amountvalue\": \"Amount(\" + that.CurrencyLabel + \")\",\n }\n }\n else {\n chart.exporting.dataFields = {\n \"category\": \"Region\",\n \"unitvalue\": that.CurrencyLabel,\n }\n }\n\n }\n });\n // //*************************************************************************** */\n chart.legend.itemContainers.template.tooltipText = \"{category}\";\n var series = chart.series.push(new am4charts.PieSeries());\n series.dataFields.category = \"category\";\n if (this.reportFilterObj.ReportValueType == 'units') {\n series.dataFields.value = \"unitvalue\";\n } else {\n series.dataFields.value = \"amountvalue\";\n }\n chart.legend.labels.template.text = \"[normal]{category}: [bold]{value.value}\";\n // chart.legend.scrollable = true;\n chart.legend.valueLabels.template.disabled = true;\n let markerTemplate = chart.legend.markers.template;\n markerTemplate.width = 20;\n markerTemplate.height = 20;\n chart.legend.valueLabels.template.align = \"left\"\n chart.legend.valueLabels.template.textAlign = \"start\"\n chart.legend.labels.template.maxWidth = 150;\n chart.legend.labels.template.wrap = true;\n chart.legend.labels.template.truncate = false;\n series.labels.template.radius = am4core.percent(10);\n series.labels.template.text = \"{category}: {value.value}\";\n series.slices.template.tooltipText = \"{category}: {value.value}\";\n chart.legend.valueLabels.template.text = \"{value.value}\";\n series.slices.template.cursorOverStyle = am4core.MouseCursorStyle.pointer;\n //\n\n }\n onProductSliceClick(sliceObj) {\n this.isProductLineSelected = true;\n this.isProductSeriesSelected = false;\n this.isSegmentSelected = false;\n this.selectedProductLine = sliceObj;\n this.selectedProductType = \"Product Line\";\n this.reportFilterObj.ProductLine = sliceObj.Id;\n this.reportFilterObj.ProductSeries = 0;\n this.reportFilterObj.Productmodal = 0;\n this.isAllRegions = false;\n this.reportFilterObj.reporttype = 'productline';\n this.callProductChart();\n this.ProductSeriesWisePieChart();\n }\n ProductSeriesWisePieChart() {\n this.showLoader = true;\n let queryString = \"\";\n queryString += \"EnqType=\" + this.reportFilterObj.EnqType;\n queryString += \"&ReportValueType=\" + this.reportFilterObj.ReportValueType;\n queryString += \"&Year=\" + this.reportFilterObj.Year;\n queryString += \"&Region=\" + this.reportFilterObj.Region;\n queryString += \"&ProductLine=\" + this.reportFilterObj.ProductLine;\n queryString += \"&ProductSeries=\" + this.reportFilterObj.ProductSeries;\n queryString += \"&Productmodal=\" + this.reportFilterObj.Productmodal;\n queryString += \"&CustomerClass=\" + this.reportFilterObj.CustomerClass;\n queryString += \"&CustomerType=\" + this.reportFilterObj.CustomerType;\n queryString += \"&Segment=\" + this.reportFilterObj.Segment;\n queryString += \"&reporttype=\" + this.reportFilterObj.reporttype;\n queryString += \"¤cy=\" + this.reportFilterObj.curency;\n this.commonService.GetData(\"Report\", \"GetRegionSeriesReport\", queryString).subscribe((data: any) => {\n let chart = am4core.create(\"ProductSeriesBarChart\", am4charts.XYChart);\n // chart.exporting.menu = new am4core.ExportMenu();\n\n let title = chart.titles.create();\n title.text = this.selectedProductLine.category;\n title.fontSize = 15;\n title.fontWeight = \"bold\";\n title.marginBottom = 30;\n\n chart.hiddenState.properties.opacity = 0;\n chart.data = data.ProductSeries;\n // //*************************************************************************** */\n const that = this;\n chart.events.on(\"beforedatavalidated\", function (ev) {\n // check if there's data\n var IsDataEmpty = false;\n var emptyUnits;\n if (that.reportFilterObj.ReportValueType == 'units') emptyUnits = chart.data.filter(x => x.unitvalue == 0);\n if (that.reportFilterObj.ReportValueType == 'amount') emptyUnits = chart.data.filter(x => x.amountvalue == 0);\n if (emptyUnits.length == chart.data.length) {\n chart.hidden = true;\n IsDataEmpty = true;\n }\n var indicator;\n if (IsDataEmpty) {\n that.showIndicator(chart, indicator);\n }\n else if (indicator) {\n that.hideIndicator(indicator);\n }\n else {\n chart.scrollbarX = new am4core.Scrollbar();\n chart.scrollbarY = new am4core.Scrollbar();\n // chart.cursor = new am4charts.XYCursor();\n chart.scrollbarX.exportable = false;\n chart.scrollbarY.exportable = false;\n chart.exporting.menu = new am4core.ExportMenu();\n let options = chart.exporting.getFormatOptions(\"pdf\");\n options.addURL = false;\n chart.exporting.setFormatOptions(\"pdf\", options);\n chart.exporting.filePrefix = \"ProductSeriesReport\";\n /**************Custom Export**************** */\n chart.exporting.menu.items = [\n {\n \"label\": \"...\",\n \"menu\": [\n {\n \"label\": \"Image\",\n \"menu\": [\n { \"type\": \"png\", \"label\": \"PNG\" },\n { \"type\": \"jpg\", \"label\": \"JPG\" },\n // { \"type\": \"svg\", \"label\": \"SVG\" },\n { \"type\": \"pdf\", \"label\": \"PDF\" }\n ]\n }, {\n \"label\": \"Data\",\n \"menu\": [\n { \"type\": \"xlsx\", \"label\": \"XLSX\" },\n ]\n }, {\n \"label\": \"Print\", \"type\": \"print\"\n }\n ]\n }\n ];\n if (that.reportFilterObj.ReportValueType == \"amount\") {\n let title = chart.titles.create();\n title.text = \"[bold]All values are in \" + that.CurrencyLabel;\n title.fill = am4core.color(\"red\");\n title.fontSize = '14px';\n title.disabled = false;\n chart.exporting.dataFields = {\n \"category\": \"ProductSeries\",\n \"amountvalue\": \"Amount(\" + that.CurrencyLabel + \")\",\n }\n }\n else {\n chart.exporting.dataFields = {\n \"category\": \"ProductSeries\",\n \"unitvalue\": that.CurrencyLabel,\n }\n }\n\n }\n });\n // //*************************************************************************** */\n // chart.responsive.enabled = true;\n var categoryAxis = chart.xAxes.push(new am4charts.CategoryAxis());\n categoryAxis.dataFields.category = \"category\";\n categoryAxis.renderer.grid.template.location = 0;\n categoryAxis.renderer.minGridDistance = 30;\n // categoryAxis.renderer.labels.template.rotation = -45;\n categoryAxis.renderer.labels.template.maxWidth = 100;\n categoryAxis.renderer.labels.template.wrap = true;\n // categoryAxis.renderer.labels.template.truncate = true;\n categoryAxis.renderer.labels.template.tooltipText = '{category}';\n /**************Scrolling Start End Point**************** */\n categoryAxis.start = 0;\n categoryAxis.end = 0.5;\n /**************End Scrolling Start End Point**************** */\n var valueAxis = chart.yAxes.push(new am4charts.ValueAxis());\n valueAxis.extraMax = 0.5;\n valueAxis.renderer.labels.template.adapter.add(\"text\", function (text, target) {\n var val = text == \"0.000\" ? \"0\" : text;\n return val;\n });\n if (this.reportFilterObj.ReportValueType == 'units') {\n valueAxis.title.text = \"No.\";\n chart.numberFormatter.numberFormat = \"0\";\n valueAxis.renderer.labels.template.adapter.add(\"text\", function (text, target) {\n var val = parseFloat(text) % 1 != 0 ? \"\" : parseInt(text).toString();\n return val;\n });\n }\n else {\n // if (this.reportFilterObj.curency == 1) valueAxis.title.text = \"USD\";\n // if (this.reportFilterObj.curency == 2) valueAxis.title.text = \"EURO\";\n // if (this.reportFilterObj.curency == 3) valueAxis.title.text = \"INR\";\n if (this.reportFilterObj.currencycode == \"USD\") valueAxis.title.text = \"USD\";\n if (this.reportFilterObj.currencycode == \"Euro\") valueAxis.title.text = \"EURO\";\n //if (this.reportFilterObj.currencycode == \"INR\") valueAxis.title.text = \"INR\";\n if (this.reportFilterObj.currencycode == \"VND\") valueAxis.title.text = 'VND';\n if (this.reportFilterObj.currencycode == \"IDR\") valueAxis.title.text = 'IDR';\n if (this.reportFilterObj.currencycode == \"PHP\") valueAxis.title.text = 'PHP';\n if (this.reportFilterObj.currencycode == \"THB\") valueAxis.title.text = 'THB';\n if (this.reportFilterObj.currencycode == \"MYR\") valueAxis.title.text = 'MYR';\n if (this.reportFilterObj.currencycode == \"SGD\") valueAxis.title.text= 'SGD';\n // chart.numberFormatter.numberFormat = \"0.000\";\n }\n\n // Create series\n var columnSeries = chart.series.push(new am4charts.ColumnSeries());\n if (this.reportFilterObj.ReportValueType == 'units') {\n columnSeries.dataFields.valueY = \"unitvalue\";\n } else {\n columnSeries.dataFields.valueY = \"amountvalue\";\n }\n columnSeries.dataFields.categoryX = \"category\";\n columnSeries.columns.template.tooltipText = \"{categoryX}: [bold]{valueY}[/]\";\n columnSeries.columns.template.propertyFields.fillOpacity = \"fillOpacity\";\n columnSeries.columns.template.propertyFields.stroke = \"stroke\";\n columnSeries.columns.template.propertyFields.strokeWidth = \"strokeWidth\";\n columnSeries.columns.template.propertyFields.strokeDasharray = \"columnDash\";\n columnSeries.tooltip.label.textAlign = \"middle\";\n columnSeries.tooltip.getFillFromObject = false;\n columnSeries.tooltip.background.fill = am4core.color(\"#4a463c\");\n let colLabel = columnSeries.bullets.push(new am4charts.LabelBullet);\n colLabel.label.text = \"{valueY}\";\n // colLabel.label.rotation = 0;\n colLabel.label.fontSize = 9;\n colLabel.label.padding(0, 0, 20, 0);\n colLabel.label.truncate = false;\n colLabel.label.hideOversized = false;\n\n columnSeries.columns.template.interactionsEnabled = true;\n columnSeries.columns.template.events.on(\"hit\", ev => {\n var item: any = ev.target.dataItem.dataContext;\n this.isProductSeriesSelected = true;\n this.isProductModelSelected = false;\n this.isSegmentSelected = false;\n this.selectedProductLine = item;\n this.selectedProductType = \"Product Series\";\n this.reportFilterObj.ProductSeries = item.Id;\n this.reportFilterObj.ProductLine = 0;\n this.reportFilterObj.Productmodal = 0;\n this.reportFilterObj.reporttype = 'productseries';\n this.callProductChart();\n this.ProductModelWisePieChart();\n },\n );\n this.showLoader = false;\n }, error => {\n this.showLoader = false;\n });\n\n }\n ProductModelWisePieChart() {\n\n this.showLoader = true;\n let queryString = \"\";\n queryString += \"EnqType=\" + this.reportFilterObj.EnqType;\n queryString += \"&ReportValueType=\" + this.reportFilterObj.ReportValueType;\n queryString += \"&Year=\" + this.reportFilterObj.Year;\n queryString += \"&Region=\" + this.reportFilterObj.Region;\n queryString += \"&ProductLine=\" + this.reportFilterObj.ProductLine;\n queryString += \"&ProductSeries=\" + this.reportFilterObj.ProductSeries;\n queryString += \"&Productmodal=\" + this.reportFilterObj.Productmodal;\n queryString += \"&CustomerClass=\" + this.reportFilterObj.CustomerClass;\n queryString += \"&CustomerType=\" + this.reportFilterObj.CustomerType;\n queryString += \"&Segment=\" + this.reportFilterObj.Segment;\n queryString += \"&reporttype=\" + this.reportFilterObj.reporttype;\n queryString += \"¤cy=\" + this.reportFilterObj.curency;\n this.commonService.GetData(\"Report\", \"GetRegionProductModelReport\", queryString).subscribe((data: any) => {\n let chart = am4core.create(\"ProductModelBarChart\", am4charts.XYChart);\n // chart.exporting.menu = new am4core.ExportMenu();\n\n let title = chart.titles.create();\n title.text = this.selectedProductLine.category;\n title.fontSize = 15;\n title.fontWeight = \"bold\";\n title.marginBottom = 30;\n title.wrap = true;\n title.maxWidth=350;\n chart.hiddenState.properties.opacity = 0;\n chart.data = data.ProductModel;\n // //*************************************************************************** */\n const that = this;\n chart.events.on(\"beforedatavalidated\", function (ev) {\n // check if there's data\n var IsDataEmpty = false;\n var emptyUnits;\n if (that.reportFilterObj.ReportValueType == 'units') emptyUnits = chart.data.filter(x => x.unitvalue == 0);\n if (that.reportFilterObj.ReportValueType == 'amount') emptyUnits = chart.data.filter(x => x.amountvalue == 0);\n if (emptyUnits.length == chart.data.length) {\n chart.hidden = true;\n IsDataEmpty = true;\n }\n var indicator;\n if (IsDataEmpty) {\n that.showIndicator(chart, indicator);\n }\n else if (indicator) {\n that.hideIndicator(indicator);\n }\n else {\n chart.scrollbarX = new am4core.Scrollbar();\n chart.scrollbarY = new am4core.Scrollbar();\n //chart.cursor = new am4charts.XYCursor();\n chart.scrollbarX.exportable = false;\n chart.scrollbarY.exportable = false;\n chart.exporting.menu = new am4core.ExportMenu();\n let options = chart.exporting.getFormatOptions(\"pdf\");\n options.addURL = false;\n chart.exporting.setFormatOptions(\"pdf\", options);\n chart.exporting.filePrefix = \"ProductModelReport\";\n /**************Custom Export**************** */\n chart.exporting.menu.items = [\n {\n \"label\": \"...\",\n \"menu\": [\n {\n \"label\": \"Image\",\n \"menu\": [\n { \"type\": \"png\", \"label\": \"PNG\" },\n { \"type\": \"jpg\", \"label\": \"JPG\" },\n // { \"type\": \"svg\", \"label\": \"SVG\" },\n { \"type\": \"pdf\", \"label\": \"PDF\" }\n ]\n }, {\n \"label\": \"Data\",\n \"menu\": [\n { \"type\": \"xlsx\", \"label\": \"XLSX\" },\n ]\n }, {\n \"label\": \"Print\", \"type\": \"print\"\n }\n ]\n }\n ];\n if (that.reportFilterObj.ReportValueType == \"amount\") {\n let title = chart.titles.create();\n title.text = \"[bold]All values are in \" + that.CurrencyLabel;\n title.fill = am4core.color(\"red\");\n title.fontSize = '14px';\n title.disabled = false;\n chart.exporting.dataFields = {\n \"category\": \"ProductModel\",\n \"amountvalue\": \"Amount(\" + that.CurrencyLabel + \")\",\n }\n }\n else {\n chart.exporting.dataFields = {\n \"category\": \"ProductModel\",\n \"unitvalue\": that.CurrencyLabel,\n }\n }\n\n }\n });\n // //*************************************************************************** */\n var categoryAxis = chart.xAxes.push(new am4charts.CategoryAxis());\n categoryAxis.dataFields.category = \"category\";\n categoryAxis.renderer.grid.template.location = 0;\n categoryAxis.renderer.minGridDistance = 30;\n //categoryAxis.renderer.labels.template.rotation = -45;\n categoryAxis.renderer.labels.template.maxWidth = 100;\n categoryAxis.renderer.labels.template.wrap = true;\n //categoryAxis.renderer.labels.template.truncate = true;\n\n /**************Scrolling Start End Point**************** */\n categoryAxis.start = 0;\n categoryAxis.end = 0.5;\n /**************End Scrolling Start End Point**************** */\n\n categoryAxis.renderer.labels.template.tooltipText = '{category}';\n var valueAxis = chart.yAxes.push(new am4charts.ValueAxis());\n valueAxis.extraMax = 0.5;\n valueAxis.renderer.labels.template.adapter.add(\"text\", function (text, target) {\n var val = text == \"0.000\" ? \"0\" : text;\n return val;\n });\n if (this.reportFilterObj.ReportValueType == 'units') {\n valueAxis.title.text = \"No.\";\n chart.numberFormatter.numberFormat = \"0\";\n valueAxis.renderer.labels.template.adapter.add(\"text\", function (text, target) {\n var val = parseFloat(text) % 1 != 0 ? \"\" : parseInt(text).toString();\n return val;\n });\n }\n else {\n // if (this.reportFilterObj.curency == 1) valueAxis.title.text = \"USD\";\n // if (this.reportFilterObj.curency == 2) valueAxis.title.text = \"EURO\";\n // if (this.reportFilterObj.curency == 3) valueAxis.title.text = \"INR\";\n if (this.reportFilterObj.currencycode == \"USD\") valueAxis.title.text = \"USD\";\n if (this.reportFilterObj.currencycode == \"Euro\") valueAxis.title.text = \"EURO\";\n //if (this.reportFilterObj.currencycode == \"INR\") valueAxis.title.text = \"INR\";\n if (this.reportFilterObj.currencycode == \"VND\") valueAxis.title.text = 'VND';\n if (this.reportFilterObj.currencycode == \"IDR\") valueAxis.title.text = 'IDR';\n if (this.reportFilterObj.currencycode == \"PHP\") valueAxis.title.text = 'PHP';\n if (this.reportFilterObj.currencycode == \"THB\") valueAxis.title.text = 'THB';\n if (this.reportFilterObj.currencycode == \"MYR\") valueAxis.title.text = 'MYR';\n if (this.reportFilterObj.currencycode == \"SGD\") valueAxis.title.text= 'SGD';\n // chart.numberFormatter.numberFormat = \"0.000\";\n }\n\n // Create series\n var columnSeries = chart.series.push(new am4charts.ColumnSeries());\n if (this.reportFilterObj.ReportValueType == 'units') {\n columnSeries.dataFields.valueY = \"unitvalue\";\n } else {\n columnSeries.dataFields.valueY = \"amountvalue\";\n }\n columnSeries.dataFields.categoryX = \"category\";\n columnSeries.columns.template.tooltipText = \"{categoryX}: [bold]{valueY}[/]\";\n columnSeries.columns.template.propertyFields.fillOpacity = \"fillOpacity\";\n columnSeries.columns.template.propertyFields.stroke = \"stroke\";\n columnSeries.columns.template.propertyFields.strokeWidth = \"strokeWidth\";\n columnSeries.columns.template.propertyFields.strokeDasharray = \"columnDash\";\n columnSeries.tooltip.label.textAlign = \"middle\";\n columnSeries.tooltip.getFillFromObject = false;\n columnSeries.tooltip.background.fill = am4core.color(\"#4a463c\");\n let colLabel = columnSeries.bullets.push(new am4charts.LabelBullet);\n colLabel.label.text = \"{valueY}\";\n // colLabel.label.rotation = 0;\n colLabel.label.fontSize = 9;\n colLabel.label.padding(0, 0, 20, 0);\n colLabel.label.truncate = false;\n colLabel.label.hideOversized = false;\n columnSeries.columns.template.events.on(\"hit\", ev => {\n var item: any = ev.target.dataItem.dataContext;\n this.isProductModelSelected = true;\n this.isSegmentSelected = false;\n this.selectedProductLine = item;\n this.selectedProductType = \"Product Model\";\n this.reportFilterObj.Productmodal = item.Id;\n this.reportFilterObj.ProductLine = 0;\n this.reportFilterObj.ProductSeries = 0;\n this.reportFilterObj.reporttype = 'productmodel';\n this.callProductChart();\n this.ProductStationWisePieChart();\n },\n );\n\n this.showLoader = false;\n }, error => {\n this.showLoader = false;\n });\n }\n ProductStationWisePieChart() {\n this.showLoader = true;\n let queryString = \"\";\n queryString += \"EnqType=\" + this.reportFilterObj.EnqType;\n queryString += \"&ReportValueType=\" + this.reportFilterObj.ReportValueType;\n queryString += \"&Year=\" + this.reportFilterObj.Year;\n queryString += \"&Region=\" + this.reportFilterObj.Region;\n queryString += \"&ProductLine=\" + this.reportFilterObj.ProductLine;\n queryString += \"&ProductSeries=\" + this.reportFilterObj.ProductSeries;\n queryString += \"&Productmodal=\" + this.reportFilterObj.Productmodal;\n queryString += \"&CustomerClass=\" + this.reportFilterObj.CustomerClass;\n queryString += \"&CustomerType=\" + this.reportFilterObj.CustomerType;\n queryString += \"&Segment=\" + this.reportFilterObj.Segment;\n queryString += \"&reporttype=\" + this.reportFilterObj.reporttype;\n queryString += \"¤cy=\" + this.reportFilterObj.curency;\n this.commonService.GetData(\"Report\", \"GetRegionProductStationReport\", queryString).subscribe((data: any) => {\n let chart = am4core.create(\"ProductStationBarChart\", am4charts.XYChart);\n this.VariantLabel = data.ProductModelStation_label;\n // chart.exporting.menu = new am4core.ExportMenu();\n\n let title = chart.titles.create();\n title.text = this.selectedProductLine.category;\n title.fontSize = 15;\n title.fontWeight = \"bold\";\n title.marginBottom = 30;\n title.wrap = true;\n title.maxWidth=350;\n\n chart.hiddenState.properties.opacity = 0;\n chart.data = data.ProductModelStation;\n // //*************************************************************************** */\n const that = this;\n chart.events.on(\"beforedatavalidated\", function (ev) {\n // check if there's data\n var IsDataEmpty = false;\n var emptyUnits;\n if (that.reportFilterObj.ReportValueType == 'units') emptyUnits = chart.data.filter(x => x.unitvalue == 0);\n if (that.reportFilterObj.ReportValueType == 'amount') emptyUnits = chart.data.filter(x => x.amountvalue == 0);\n if (emptyUnits.length == chart.data.length) {\n chart.hidden = true;\n IsDataEmpty = true;\n }\n var indicator;\n if (IsDataEmpty) {\n that.showIndicator(chart, indicator);\n }\n else if (indicator) {\n that.hideIndicator(indicator);\n }\n else {\n chart.scrollbarX = new am4core.Scrollbar();\n chart.scrollbarY = new am4core.Scrollbar();\n // chart.cursor = new am4charts.XYCursor();\n chart.scrollbarX.exportable = false;\n chart.scrollbarY.exportable = false;\n chart.exporting.menu = new am4core.ExportMenu();\n let options = chart.exporting.getFormatOptions(\"pdf\");\n options.addURL = false;\n chart.exporting.setFormatOptions(\"pdf\", options);\n chart.exporting.filePrefix = that.VariantLabel + \"Report\";\n /**************Custom Export**************** */\n chart.exporting.menu.items = [\n {\n \"label\": \"...\",\n \"menu\": [\n {\n \"label\": \"Image\",\n \"menu\": [\n { \"type\": \"png\", \"label\": \"PNG\" },\n { \"type\": \"jpg\", \"label\": \"JPG\" },\n // { \"type\": \"svg\", \"label\": \"SVG\" },\n { \"type\": \"pdf\", \"label\": \"PDF\" }\n ]\n }, {\n \"label\": \"Data\",\n \"menu\": [\n { \"type\": \"xlsx\", \"label\": \"XLSX\" },\n ]\n }, {\n \"label\": \"Print\", \"type\": \"print\"\n }\n ]\n }\n ];\n if (that.reportFilterObj.ReportValueType == \"amount\") {\n let title = chart.titles.create();\n title.text = \"[bold]All values are in \" + that.CurrencyLabel;\n title.fill = am4core.color(\"red\");\n title.fontSize = '14px';\n title.disabled = false;\n chart.exporting.dataFields = {\n \"category\": that.VariantLabel,\n \"amountvalue\": \"Amount(\" + that.CurrencyLabel + \")\",\n }\n }\n else {\n chart.exporting.dataFields = {\n \"category\": that.VariantLabel,\n \"unitvalue\": that.CurrencyLabel,\n }\n }\n\n }\n });\n // //*************************************************************************** */\n var categoryAxis = chart.xAxes.push(new am4charts.CategoryAxis());\n categoryAxis.dataFields.category = \"category\";\n categoryAxis.renderer.grid.template.location = 0;\n categoryAxis.renderer.minGridDistance = 30;\n // categoryAxis.renderer.labels.template.rotation = -45;\n categoryAxis.renderer.labels.template.wrap = true;\n categoryAxis.renderer.labels.template.maxWidth = 100;\n // categoryAxis.renderer.labels.template.truncate = true;\n categoryAxis.renderer.labels.template.tooltipText = '{category}';\n /**************Scrolling Start End Point**************** */\n categoryAxis.start = 0;\n categoryAxis.end = 0.5;\n /**************End Scrolling Start End Point**************** */\n var valueAxis = chart.yAxes.push(new am4charts.ValueAxis());\n valueAxis.extraMax = 0.5;\n valueAxis.renderer.labels.template.adapter.add(\"text\", function (text, target) {\n var val = text == \"0.000\" ? \"0\" : text;\n return val;\n });\n if (this.reportFilterObj.ReportValueType == 'units') {\n valueAxis.title.text = \"No.\";\n chart.numberFormatter.numberFormat = \"0\";\n valueAxis.renderer.labels.template.adapter.add(\"text\", function (text, target) {\n var val = parseFloat(text) % 1 != 0 ? \"\" : parseInt(text).toString();\n return val;\n });\n }\n else {\n // if (this.reportFilterObj.curency == 1) valueAxis.title.text = \"USD\";\n // if (this.reportFilterObj.curency == 2) valueAxis.title.text = \"EURO\";\n // if (this.reportFilterObj.curency == 3) valueAxis.title.text = \"INR\";\n if (this.reportFilterObj.currencycode == \"USD\") valueAxis.title.text = \"USD\";\n if (this.reportFilterObj.currencycode == \"Euro\") valueAxis.title.text = \"EURO\";\n //if (this.reportFilterObj.currencycode == \"INR\") valueAxis.title.text = \"INR\";\n if (this.reportFilterObj.currencycode == \"VND\") valueAxis.title.text = 'VND';\n if (this.reportFilterObj.currencycode == \"IDR\") valueAxis.title.text = 'IDR';\n if (this.reportFilterObj.currencycode == \"PHP\") valueAxis.title.text = 'PHP';\n if (this.reportFilterObj.currencycode == \"THB\") valueAxis.title.text = 'THB';\n if (this.reportFilterObj.currencycode == \"MYR\") valueAxis.title.text = 'MYR';\n if (this.reportFilterObj.currencycode == \"SGD\") valueAxis.title.text= 'SGD';\n // chart.numberFormatter.numberFormat = \"0.000\";\n }\n // Create series\n var columnSeries = chart.series.push(new am4charts.ColumnSeries());\n if (this.reportFilterObj.ReportValueType == 'units') {\n columnSeries.dataFields.valueY = \"unitvalue\";\n } else {\n columnSeries.dataFields.valueY = \"amountvalue\";\n }\n columnSeries.dataFields.categoryX = \"category\";\n columnSeries.columns.template.tooltipText = \"{categoryX}: [bold]{valueY}[/]\";\n columnSeries.columns.template.propertyFields.fillOpacity = \"fillOpacity\";\n columnSeries.columns.template.propertyFields.stroke = \"stroke\";\n columnSeries.columns.template.propertyFields.strokeWidth = \"strokeWidth\";\n columnSeries.columns.template.propertyFields.strokeDasharray = \"columnDash\";\n columnSeries.tooltip.label.textAlign = \"middle\";\n columnSeries.tooltip.getFillFromObject = false;\n columnSeries.tooltip.background.fill = am4core.color(\"#4a463c\");\n let colLabel = columnSeries.bullets.push(new am4charts.LabelBullet);\n colLabel.label.text = \"{valueY}\";\n // colLabel.label.rotation = 0;\n colLabel.label.fontSize = 9;\n colLabel.label.padding(0, 0, 20, 0);\n colLabel.label.truncate = false;\n colLabel.label.hideOversized = false;\n\n this.showLoader = false;\n }, error => {\n this.showLoader = false;\n });\n }\n SegmentWisePieChart() {\n const that = this;\n let chart = am4core.create(\"SegmentWisePieChart\", am4charts.PieChart);\n // chart.exporting.menu = new am4core.ExportMenu();\n chart.hiddenState.properties.opacity = 0;\n // chart.data = this.segmentData;\n chart.data = this.segmentData;\n // //*************************************************************************** */\n chart.events.on(\"beforedatavalidated\", function (ev) {\n // check if there's data\n var IsDataEmpty = false;\n var emptyUnits;\n if (that.reportFilterObj.ReportValueType == 'units') emptyUnits = chart.data.filter(x => x.unitvalue == 0);\n if (that.reportFilterObj.ReportValueType == 'amount') emptyUnits = chart.data.filter(x => x.amountvalue == 0);\n if (emptyUnits.length == chart.data.length) {\n chart.hidden = true;\n IsDataEmpty = true;\n }\n var indicator;\n if (IsDataEmpty) {\n that.showIndicator(chart, indicator);\n }\n else if (indicator) {\n that.hideIndicator(indicator);\n }\n else {\n chart.exporting.menu = new am4core.ExportMenu();\n let options = chart.exporting.getFormatOptions(\"pdf\");\n options.addURL = false;\n chart.exporting.setFormatOptions(\"pdf\", options);\n chart.exporting.filePrefix = \"SegmentReport\";\n /**************Custom Export**************** */\n chart.exporting.menu.items = [\n {\n \"label\": \"...\",\n \"menu\": [\n {\n \"label\": \"Image\",\n \"menu\": [\n { \"type\": \"png\", \"label\": \"PNG\" },\n { \"type\": \"jpg\", \"label\": \"JPG\" },\n // { \"type\": \"svg\", \"label\": \"SVG\" },\n { \"type\": \"pdf\", \"label\": \"PDF\" }\n ]\n }, {\n \"label\": \"Data\",\n \"menu\": [\n { \"type\": \"xlsx\", \"label\": \"XLSX\" },\n ]\n }, {\n \"label\": \"Print\", \"type\": \"print\"\n }\n ]\n }\n ];\n chart.exporting.extraSprites.push({\n \"sprite\": legendContainer,\n \"position\": \"bottom\",\n \"marginTop\": 30\n });\n if (that.reportFilterObj.ReportValueType == \"amount\") {\n let title = chart.titles.create();\n title.text = \"[bold]All values are in \" + that.CurrencyLabel;\n title.fill = am4core.color(\"red\");\n title.fontSize = '14px';\n title.disabled = false;\n chart.exporting.dataFields = {\n \"category\": \"Segment\",\n \"amountvalue\": \"Amount(\" + that.CurrencyLabel + \")\",\n }\n }\n else {\n chart.exporting.dataFields = {\n \"category\": \"Segment\",\n \"unitvalue\": that.CurrencyLabel,\n }\n }\n\n }\n });\n // //*************************************************************************** */\n chart.legend = new am4charts.Legend();\n chart.legend.itemContainers.template.tooltipText = \"{category}\";\n let legendContainer = am4core.create(\"segmentlegenddiv\", am4core.Container);\n legendContainer.width = am4core.percent(100);\n legendContainer.height = am4core.percent(100);\n\n chart.legend.parent = legendContainer;\n chart.events.on(\"datavalidated\", resizeLegend);\n chart.events.on(\"maxsizechanged\", resizeLegend);\n\n chart.legend.events.on(\"datavalidated\", resizeLegend);\n chart.legend.events.on(\"maxsizechanged\", resizeLegend);\n chart.legend.itemContainers.template.clickable = false;\n chart.legend.itemContainers.template.focusable = false;\n chart.legend.itemContainers.template.cursorOverStyle = am4core.MouseCursorStyle.default;\n function resizeLegend(ev) {\n document.getElementById(\"segmentlegenddiv\").style.height = chart.legend.contentHeight + \"px\";\n }\n var series = chart.series.push(new am4charts.PieSeries());\n series.dataFields.category = \"category\";\n if (this.reportFilterObj.ReportValueType == 'units') {\n series.dataFields.value = \"unitvalue\";\n } else {\n series.dataFields.value = \"amountvalue\";\n }\n chart.legend.labels.template.text = \"[normal]{category}: [bold]{value.value}\";\n // chart.legend.scrollable = true;\n chart.legend.valueLabels.template.disabled = true;\n let markerTemplate = chart.legend.markers.template;\n markerTemplate.width = 20;\n markerTemplate.height = 20;\n chart.legend.valueLabels.template.align = \"left\"\n chart.legend.valueLabels.template.textAlign = \"start\"\n chart.legend.labels.template.maxWidth = 150;\n chart.legend.labels.template.wrap = true;\n chart.legend.labels.template.truncate = false;\n series.labels.template.radius = am4core.percent(10);\n series.labels.template.text = \"{category}: {value.value}\";\n series.slices.template.tooltipText = \"{category}: {value.value}\";\n chart.legend.valueLabels.template.text = \"{value.value}\";\n series.slices.template.cursorOverStyle = am4core.MouseCursorStyle.pointer;\n //\n series.slices.template.events.on(\"hit\", function (ev) {\n that.onSegmentSliceClick(ev.target.dataItem.dataContext);\n series.slices.each(function (item) {\n if (item.isActive && item != ev.target) {\n item.isActive = false;\n }\n })\n });\n this.showLoader = false;\n }\n onSegmentSliceClick(sliceObj) {\n this.showLoader = true;\n this.reportFilterObj.Segment = sliceObj.Id;\n this.selectedSegment = sliceObj;\n this.isSegmentSelected = true;\n this.SubSegmentWisePieChart();\n }\n SubSegmentWisePieChart() {\n this.showLoader = true;\n let queryString = \"\";\n queryString += \"EnqType=\" + this.reportFilterObj.EnqType;\n queryString += \"&ReportValueType=\" + this.reportFilterObj.ReportValueType;\n queryString += \"&Year=\" + this.reportFilterObj.Year;\n queryString += \"&Region=\" + this.reportFilterObj.Region;\n queryString += \"&ProductLine=\" + this.reportFilterObj.ProductLine;\n queryString += \"&ProductSeries=\" + this.reportFilterObj.ProductSeries;\n queryString += \"&Productmodal=\" + this.reportFilterObj.Productmodal;\n queryString += \"&CustomerClass=\" + this.reportFilterObj.CustomerClass;\n queryString += \"&CustomerType=\" + this.reportFilterObj.CustomerType;\n queryString += \"&Segment=\" + this.reportFilterObj.Segment;\n queryString += \"&reporttype=\" + this.reportFilterObj.reporttype;\n queryString += \"¤cy=\" + this.reportFilterObj.curency;\n this.commonService.GetData(\"Report\", \"GetRegionSubSegmentReport\", queryString).subscribe((data: any) => {\n let chart = am4core.create(\"SubSegmentWiseBarChart\", am4charts.XYChart);\n // chart.exporting.menu = new am4core.ExportMenu();\n\n let title = chart.titles.create();\n title.text = this.selectedSegment.category;\n title.fontSize = 15;\n title.fontWeight = \"bold\";\n title.marginBottom = 30;\n\n\n chart.data = data.SubSegment;\n // //*************************************************************************** */\n const that = this;\n chart.events.on(\"beforedatavalidated\", function (ev) {\n // check if there's data\n var IsDataEmpty = false;\n var emptyUnits;\n if (that.reportFilterObj.ReportValueType == 'units') emptyUnits = chart.data.filter(x => x.unitvalue == 0);\n if (that.reportFilterObj.ReportValueType == 'amount') emptyUnits = chart.data.filter(x => x.amountvalue == 0);\n if (emptyUnits.length == chart.data.length) {\n chart.hidden = true;\n IsDataEmpty = true;\n }\n var indicator;\n if (IsDataEmpty) {\n that.showIndicator(chart, indicator);\n }\n else if (indicator) {\n that.hideIndicator(indicator);\n }\n else {\n chart.scrollbarX = new am4core.Scrollbar();\n chart.scrollbarY = new am4core.Scrollbar();\n //chart.cursor = new am4charts.XYCursor();\n chart.scrollbarX.exportable = false;\n chart.scrollbarY.exportable = false;\n chart.exporting.menu = new am4core.ExportMenu();\n let options = chart.exporting.getFormatOptions(\"pdf\");\n options.addURL = false;\n chart.exporting.setFormatOptions(\"pdf\", options);\n chart.exporting.filePrefix = \"SubSegmentReport\";\n /**************Custom Export**************** */\n chart.exporting.menu.items = [\n {\n \"label\": \"...\",\n \"menu\": [\n {\n \"label\": \"Image\",\n \"menu\": [\n { \"type\": \"png\", \"label\": \"PNG\" },\n { \"type\": \"jpg\", \"label\": \"JPG\" },\n // { \"type\": \"svg\", \"label\": \"SVG\" },\n { \"type\": \"pdf\", \"label\": \"PDF\" }\n ]\n }, {\n \"label\": \"Data\",\n \"menu\": [\n { \"type\": \"xlsx\", \"label\": \"XLSX\" },\n ]\n }, {\n \"label\": \"Print\", \"type\": \"print\"\n }\n ]\n }\n ];\n if (that.reportFilterObj.ReportValueType == \"amount\") {\n let title = chart.titles.create();\n title.text = \"[bold]All values are in \" + that.CurrencyLabel;\n title.fill = am4core.color(\"red\");\n title.fontSize = '14px';\n title.disabled = false;\n chart.exporting.dataFields = {\n \"category\": \"SubSegment\",\n \"amountvalue\": \"Amount(\" + that.CurrencyLabel + \")\",\n }\n }\n else {\n chart.exporting.dataFields = {\n \"category\": \"SubSegment\",\n \"unitvalue\": that.CurrencyLabel,\n }\n }\n\n }\n });\n // //*************************************************************************** */\n var categoryAxis = chart.xAxes.push(new am4charts.CategoryAxis());\n categoryAxis.dataFields.category = \"category\";\n categoryAxis.renderer.grid.template.location = 0;\n categoryAxis.renderer.minGridDistance = 30;\n // categoryAxis.renderer.labels.template.rotation = -45;\n categoryAxis.renderer.labels.template.maxWidth = 100;\n categoryAxis.renderer.labels.template.wrap = true;\n // categoryAxis.renderer.labels.template.truncate = true;\n categoryAxis.renderer.labels.template.tooltipText = '{category}';\n /**************Scrolling Start End Point**************** */\n categoryAxis.start = 0;\n categoryAxis.end = 0.5;\n /**************End Scrolling Start End Point**************** */\n var valueAxis = chart.yAxes.push(new am4charts.ValueAxis());\n valueAxis.extraMax = 0.5;\n valueAxis.renderer.labels.template.adapter.add(\"text\", function (text, target) {\n var val = text == \"0.000\" ? \"0\" : text;\n return val;\n });\n if (this.reportFilterObj.ReportValueType == 'units') {\n valueAxis.title.text = \"No.\";\n chart.numberFormatter.numberFormat = \"0\";\n valueAxis.renderer.labels.template.adapter.add(\"text\", function (text, target) {\n var val = parseFloat(text) % 1 != 0 ? \"\" : parseInt(text).toString();\n return val;\n });\n }\n else {\n // if (this.reportFilterObj.curency == 1) valueAxis.title.text = \"USD\";\n // if (this.reportFilterObj.curency == 2) valueAxis.title.text = \"EURO\";\n // if (this.reportFilterObj.curency == 3) valueAxis.title.text = \"INR\";\n if (this.reportFilterObj.currencycode == \"USD\") valueAxis.title.text = \"USD\";\n if (this.reportFilterObj.currencycode == \"Euro\") valueAxis.title.text = \"EURO\";\n //if (this.reportFilterObj.currencycode == \"INR\") valueAxis.title.text = \"INR\";\n if (this.reportFilterObj.currencycode == \"VND\") valueAxis.title.text = 'VND';\n if (this.reportFilterObj.currencycode == \"IDR\") valueAxis.title.text = 'IDR';\n if (this.reportFilterObj.currencycode == \"PHP\") valueAxis.title.text = 'PHP';\n if (this.reportFilterObj.currencycode == \"THB\") valueAxis.title.text = 'THB';\n if (this.reportFilterObj.currencycode == \"MYR\") valueAxis.title.text = 'MYR';\n if (this.reportFilterObj.currencycode == \"SGD\") valueAxis.title.text= 'SGD';\n // chart.numberFormatter.numberFormat = \"0.000\";\n }\n\n // Create series\n var columnSeries = chart.series.push(new am4charts.ColumnSeries());\n if (this.reportFilterObj.ReportValueType == 'units') {\n columnSeries.dataFields.valueY = \"unitvalue\";\n } else {\n columnSeries.dataFields.valueY = \"amountvalue\";\n }\n columnSeries.dataFields.categoryX = \"category\";\n columnSeries.columns.template.tooltipText = \"{categoryX}: [bold]{valueY}[/]\";\n columnSeries.columns.template.propertyFields.fillOpacity = \"fillOpacity\";\n columnSeries.columns.template.propertyFields.stroke = \"stroke\";\n columnSeries.columns.template.propertyFields.strokeWidth = \"strokeWidth\";\n columnSeries.columns.template.propertyFields.strokeDasharray = \"columnDash\";\n columnSeries.tooltip.label.textAlign = \"middle\";\n columnSeries.tooltip.getFillFromObject = false;\n columnSeries.tooltip.background.fill = am4core.color(\"#4a463c\");\n let colLabel = columnSeries.bullets.push(new am4charts.LabelBullet);\n colLabel.label.text = \"{valueY}\";\n // colLabel.label.rotation = 0;\n colLabel.label.fontSize = 9;\n colLabel.label.padding(0, 0, 20, 0);\n colLabel.label.truncate = false;\n colLabel.label.hideOversized = false;\n\n columnSeries.columns.template.interactionsEnabled = true;\n\n this.showLoader = false;\n }, error => {\n this.showLoader = false;\n });\n\n }\n callProductChart() {\n this.showLoader = true;\n this.isSegmentSelected = false;\n let queryString = \"\";\n queryString += \"EnqType=\" + this.reportFilterObj.EnqType;\n queryString += \"&ReportValueType=\" + this.reportFilterObj.ReportValueType;\n queryString += \"&Year=\" + this.reportFilterObj.Year;\n queryString += \"&Region=\" + this.reportFilterObj.Region;\n queryString += \"&ProductLine=\" + this.reportFilterObj.ProductLine;\n queryString += \"&ProductSeries=\" + this.reportFilterObj.ProductSeries;\n queryString += \"&Productmodal=\" + this.reportFilterObj.Productmodal;\n queryString += \"&CustomerClass=\" + this.reportFilterObj.CustomerClass;\n queryString += \"&CustomerType=\" + this.reportFilterObj.CustomerType;\n queryString += \"&Segment=\" + this.reportFilterObj.Segment;\n queryString += \"&reporttype=\" + this.reportFilterObj.reporttype;\n queryString += \"¤cy=\" + this.reportFilterObj.curency;\n this.commonService.GetData(\"Report\", \"GetRegionReport\", queryString).subscribe((data: any) => {\n this.regionData = data.Region;\n this.productlineData = data.ProductLine;\n this.customerclassdata = data.CustomerClass;\n this.customertypedata = data.CustomerType;\n this.segmentData = data.Segment;\n setTimeout(() => {\n this.RegionWisePieChart();\n this.CustomerClassWisePieChart();\n this.CustomerTypeWisePieChart();\n this.SegmentWisePieChart();\n this.showLoader = false;\n }, 3000);\n\n }, error => {\n this.showLoader = false;\n });\n\n }\n onYearChange() {\n this.ProductWisePieChart();\n }\n onEnqTypeChange() {\n this.ProductWisePieChart();\n }\n onReportValueTypeChange() {\n if (this.reportFilterObj.ReportValueType == \"amount\") {\n // if (this.reportFilterObj.curency == 1) this.CurrencyLabel = \"USD\";\n // if (this.reportFilterObj.curency == 2) this.CurrencyLabel = \"EURO\";\n // if (this.reportFilterObj.curency == 3) this.CurrencyLabel = \"INR\";\n this.reportFilterObj.currencycode = this.CurrencyList.filter(x => x.Id == this.reportFilterObj.curency)[0]?.CurrencyCode;\n if (this.reportFilterObj.currencycode == \"USD\") this.CurrencyLabel = \"USD\";\n if (this.reportFilterObj.currencycode == \"Euro\") this.CurrencyLabel = \"EURO\";\n //if (this.reportFilterObj.currencycode == \"INR\") this.CurrencyLabel = \"INR\";\n if (this.reportFilterObj.currencycode == \"VND\") this.CurrencyLabel = 'VND';\n if (this.reportFilterObj.currencycode == \"IDR\") this.CurrencyLabel = 'IDR';\n if (this.reportFilterObj.currencycode == \"PHP\") this.CurrencyLabel = 'PHP';\n if (this.reportFilterObj.currencycode == \"THB\") this.CurrencyLabel = 'THB';\n if (this.reportFilterObj.currencycode == \"MYR\") this.CurrencyLabel = 'MYR';\n if (this.reportFilterObj.currencycode == \"SGD\") this.CurrencyLabel = 'SGD';\n }\n else {\n this.CurrencyLabel = \"No's\";\n }\n this.ProductWisePieChart();\n }\n AllRegionChange(event: any) {\n if (event.checked) {\n this.reportFilterObj.ProductLine = 0;\n this.selectedProductLine = undefined;\n this.ProductWisePieChart();\n }\n }\n showIndicator(chart, indicator) {\n if (indicator) {\n indicator.show();\n }\n else {\n indicator = chart.tooltipContainer.createChild(am4core.Container);\n indicator.background.fill = am4core.color(\"#fff\");\n indicator.background.fillOpacity = 0.8;\n indicator.width = am4core.percent(100);\n indicator.height = am4core.percent(100);\n\n var indicatorLabel = indicator.createChild(am4core.Label);\n indicatorLabel.text = \"No data available for the selection...\";\n indicatorLabel.align = \"center\";\n indicatorLabel.valign = \"middle\";\n indicatorLabel.fontSize = 20;\n }\n }\n\n hideIndicator(indicator) {\n indicator.hide();\n }\n\n}\n","\n\n
    \n\n
    \n\n
    \n
    \n \n
    \n
    \n
    \n
    \n

    \n Product Line Data \n

    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n\n
    \n
    \n
    \n \n All Products\n \n
    \n \n * Click on slice to see data in details.\n\n
    \n
    \n
    \n\n
    \n
    \n \n
    \n
    \n
    \n
    \n

    \n Product Series Data ({{selectedProductType}}:\n {{selectedProductLine == undefined ? 'All': selectedProductLine.category}})\n

    \n
    \n
    \n
    \n
    \n
    \n \n * Click on bar to see data in details.\n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n

    \n Region Data ({{selectedProductType}}:\n {{selectedProductLine == undefined ? 'All': selectedProductLine.category}})\n

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

    \n Customer Classification Data ({{selectedProductType}}:\n {{selectedProductLine == undefined ? 'All': selectedProductLine.category}})\n

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

    \n Customer Type Data ({{selectedProductType}}:\n {{selectedProductLine == undefined ? 'All': selectedProductLine.category}})\n

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

    \n Segment ({{selectedProductType}}:\n {{selectedProductLine == undefined ? 'All': selectedProductLine.category}})\n

    \n
    \n
    \n
    \n
    \n
    \n \n * Click on slice to see segment data in details.\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n\n \n
    \n
    \n
    \n
    \n

    \n Sub Segment ({{selectedProductType}}:\n {{selectedProductLine == undefined ? 'All': selectedProductLine.category}})\n

    \n
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n\n\n
    \n\n \n\n\n","import { Component, OnInit, Input, ElementRef, ViewChild } from '@angular/core';\nimport * as am4core from \"@amcharts/amcharts4/core\";\nimport * as am4charts from \"@amcharts/amcharts4/charts\";\nimport am4themes_animated from \"@amcharts/amcharts4/themes/animated\";\nimport { ToastrService } from 'ngx-toastr';\nimport { CommonService } from 'src/app/Service/common.service';\nimport { ReportFilterViewModel } from 'src/app/Model/ReportFilterModel';\nimport { Title } from '@angular/platform-browser';\nimport { ActivatedRoute } from '@angular/router';\nimport { AppGlobals } from 'src/app/app.global';\nimport { UserRoles } from 'src/app/UserRoles';\nimport { any } from '@amcharts/amcharts4/.internal/core/utils/Array';\nimport { AppConfigService } from 'src/app/Service/app-config.service';\n\n@Component({\n selector: 'app-regionwise-report',\n templateUrl: './regionwise-report.component.html',\n styleUrls: ['./regionwise-report.component.scss']\n})\nexport class RegionwiseReportComponent implements OnInit {\n @Input()\n showLoader: boolean = false;\n regionList: any[] = [];\n SelectedRegion: any = undefined;\n\n reportFilterObj: ReportFilterViewModel = new ReportFilterViewModel();\n\n isProductLineSelected: boolean = false;\n isProductSeriesSelected: boolean = false;\n isProductModelSelected: boolean = false;\n isRegionSelected: boolean = false;\n selectedRegion: any;\n chartData: { category: string; value: number; }[];\n selectedProductLine: any;\n selectedProductSeries: any;\n productlineData: any;\n regionData: any;\n customerclassdata: any;\n customertypedata: any;\n segmentData: any;\n YearList: any[]=[];\n currYear: number = new Date().getFullYear();\n isAllRegions: boolean = true;\n productseriesData: { category: string; value: number; }[];\n producModeleData: { category: string; value: number; }[];\n CurrencyList: any;\n selectedSegment: any;\n isSegmentSelected: boolean = false;\n role: string;\n regionLocked: boolean;\n CurrencyLabel: string = \"\";\n VariantLabel: string = \"\";\n @ViewChild('fiterElement') fiterElement: ElementRef;\n IsRegionDataEmpty: any;\n QuotationPdfGenerationHostPath:any;\n\n constructor(private toastr: ToastrService, private commonService: CommonService,\n private titleService: Title, private route: ActivatedRoute, private appConfigService : AppConfigService) { }\n \n ngOnInit() {\n this.commonService.RefreshHeaderFun();\n this.commonService.RefreshHeaderFun();\n const appConfig = this.appConfigService.getConfig();\n this.QuotationPdfGenerationHostPath=appConfig.QuotationPdfGenerationHostPath;\n const dynamicTitle = this.route.snapshot.data['title'];\n this.titleService.setTitle(`${dynamicTitle} - ${appConfig.titleName}`);\n // this.titleService.setTitle(this.route.snapshot.data['title'] + \" - ECOTECH\");\n this.showLoader = true;\n this.reportFilterObj = new ReportFilterViewModel();\n this.reportFilterObj.EnqType = \"quotation\";\n this.reportFilterObj.ReportValueType = \"amount\";\n this.reportFilterObj.Region = \"0\";\n this.reportFilterObj.reporttype = \"Region\";\n this.reportFilterObj.Year = new Date().getFullYear();\n //this.YearList = AppGlobals.YearsConstant;\n let k = 1;\n for (let i = 2018; i <= this.currYear; i++) {\n let batch =i;\n this.YearList.push(batch);\n k++;\n }\n\n //LOCK THE REGION DROPDOWN FOR SALES ENGINEER\n this.role = localStorage.getItem(\"UserRole\");\n if (this.role == UserRoles.SalesEngineer || this.role == UserRoles.RegionalSalesManager || this.role == UserRoles.AreaSalesManager\n || this.role == UserRoles.Distributor || this.role == UserRoles.ChannelPartner || this.role == UserRoles.Agent) {\n this.regionLocked = true;\n this.reportFilterObj.Region = parseInt(localStorage.getItem(\"RegionID\"));\n this.commonService.GetUserProfileData('Account', 'GetUserProfileInfo').subscribe((data: any) => {\n this.selectedRegion = any;\n this.selectedRegion.category = data.RegionName;\n setTimeout(() => {\n this.fiterElement.nativeElement.focus();\n }, 0);\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n\n });\n }\n else {\n this.regionLocked = false;\n }\n\n this.getCurrencyList();\n\n }\n onYearChange() {\n this.RegionWisePieChart();\n }\n // getYearList() {\n // this.commonService.GetData(\"Dashboard\", \"GetYearList\", null).subscribe((data: any) => {\n // this.YearList = data;\n // let check = this.YearList.filter(x=>x==new Date().getFullYear())[0];\n // if (check.length==0) this.YearList.push(new Date().getFullYear());\n // },\n // error => {\n // this.toastr.error(\"Failed to load year list!\");\n // this.showLoader = false;\n // });\n // }\n\n getCurrencyList() {\n this.commonService.GetData(\"Currency\", \"GetAll\", null).subscribe((data: any) => {\n this.CurrencyList = data;\n this.reportFilterObj.currencycode = this.CurrencyList.filter(x => x.Name == 'Euro (€)')[0]?.CurrencyCode;\n this.reportFilterObj.curency = this.CurrencyList.filter(x => x.CurrencyCode == this.reportFilterObj.currencycode)[0]?.Id;\n if (this.reportFilterObj.ReportValueType == \"amount\") {\n // if (this.reportFilterObj.curency == 1) this.CurrencyLabel = \"USD\";\n // if (this.reportFilterObj.curency == 2) this.CurrencyLabel = \"EURO\";\n // if (this.reportFilterObj.curency == 3) this.CurrencyLabel = \"INR\";\n if (this.reportFilterObj.currencycode == \"USD\") this.CurrencyLabel = \"USD\";\n if (this.reportFilterObj.currencycode == \"Euro\") this.CurrencyLabel = \"EURO\";\n //if (this.reportFilterObj.currencycode == \"INR\") this.CurrencyLabel = \"INR\";\n if (this.reportFilterObj.currencycode == \"VND\") this.CurrencyLabel = 'VND';\n if (this.reportFilterObj.currencycode == \"IDR\") this.CurrencyLabel = 'IDR';\n if (this.reportFilterObj.currencycode == \"PHP\") this.CurrencyLabel = 'PHP';\n if (this.reportFilterObj.currencycode == \"THB\") this.CurrencyLabel = 'THB';\n if (this.reportFilterObj.currencycode == \"MYR\") this.CurrencyLabel = 'MYR';\n if (this.reportFilterObj.currencycode == \"SGD\") this.CurrencyLabel = 'SGD';\n }\n else {\n this.CurrencyLabel = \"No's\";\n }\n this.RegionWisePieChart();\n setTimeout(() => {\n this.fiterElement.nativeElement.focus();\n }, 0);\n },\n error => {\n this.toastr.error(\"Failed to load currency list!\");\n this.showLoader = false;\n });\n }\n RegionWisePieChart() {\n const that = this;\n this.showLoader = true;\n this.isSegmentSelected = false;\n this.isProductLineSelected = false;\n this.isProductSeriesSelected = false;\n let queryString = \"\";\n queryString += \"EnqType=\" + this.reportFilterObj.EnqType;\n queryString += \"&ReportValueType=\" + this.reportFilterObj.ReportValueType;\n queryString += \"&Year=\" + this.reportFilterObj.Year;\n queryString += \"&Region=\" + this.reportFilterObj.Region;\n queryString += \"&ProductLine=\" + this.reportFilterObj.ProductLine;\n queryString += \"&ProductSeries=\" + this.reportFilterObj.ProductSeries;\n queryString += \"&Productmodal=\" + this.reportFilterObj.Productmodal;\n queryString += \"&CustomerClass=\" + this.reportFilterObj.CustomerClass;\n queryString += \"&CustomerType=\" + this.reportFilterObj.CustomerType;\n queryString += \"&Segment=\" + this.reportFilterObj.Segment;\n queryString += \"&reporttype=\" + this.reportFilterObj.reporttype;\n queryString += \"¤cy=\" + this.reportFilterObj.curency;\n this.commonService.GetData(\"Report\", \"GetRegionReport\", queryString).subscribe((data: any) => {\n let chart = am4core.create(\"RegionWisePieChart\", am4charts.PieChart);\n // chart.exporting.menu = new am4core.ExportMenu();\n chart.hiddenState.properties.opacity = 0;\n\n setTimeout(() => {\n this.ProductWisePieChart();\n this.CustomerClassWisePieChart();\n this.CustomerTypeWisePieChart();\n this.SegmentWisePieChart();\n this.showLoader = false;\n }, 3000);\n\n \n\n this.regionData = data.Region;\n this.productlineData = data.ProductLine;\n this.customerclassdata = data.CustomerClass;\n this.customertypedata = data.CustomerType;\n this.segmentData = data.Segment;\n chart.data = this.regionData;\n chart.legend = new am4charts.Legend();\n chart.legend.itemContainers.template.tooltipText = \"{category}\";\n let legendContainer = am4core.create(\"regionlegenddiv\", am4core.Container);\n chart.responsive.enabled = true;\n legendContainer.width = am4core.percent(100);\n legendContainer.height =300\n chart.legend.parent = legendContainer;\n chart.events.on(\"datavalidated\", resizeLegend);\n chart.events.on(\"maxsizechanged\", resizeLegend);\n\n chart.legend.events.on(\"datavalidated\", resizeLegend);\n chart.legend.events.on(\"maxsizechanged\", resizeLegend);\n function resizeLegend(ev) {\n document.getElementById(\"regionlegenddiv\").style.height = chart.legend.contentHeight + \"px\";\n }\n chart.legend.itemContainers.template.clickable = false;\n chart.legend.itemContainers.template.focusable = false;\n chart.legend.itemContainers.template.cursorOverStyle = am4core.MouseCursorStyle.default;\n\n \n\n // //*************************************************************************** */\n const that = this;\n chart.events.on(\"beforedatavalidated\", function (ev) {\n // check if there's data\n var IsRegionDataEmpty = false;\n var emptyUnits;\n if (that.reportFilterObj.ReportValueType == 'units') emptyUnits = chart.data.filter(x => x.unitvalue == 0);\n if (that.reportFilterObj.ReportValueType == 'amount') emptyUnits = chart.data.filter(x => x.amountvalue == 0);\n if (emptyUnits.length == chart.data.length) {\n chart.hidden = true;\n IsRegionDataEmpty = true;\n }\n var indicator;\n if (IsRegionDataEmpty) {\n that.showIndicator(chart, indicator);\n }\n else if (indicator) {\n that.hideIndicator(indicator);\n }\n else {\n chart.exporting.menu = new am4core.ExportMenu();\n let options = chart.exporting.getFormatOptions(\"pdf\");\n options.addURL = false;\n chart.exporting.setFormatOptions(\"pdf\", options);\n chart.exporting.filePrefix = \"RegionReport\";\n\n /**************Custom Export**************** */\n chart.exporting.menu.items = [\n {\n \"label\": \"...\",\n \"menu\": [\n {\n \"label\": \"Image\",\n \"menu\": [\n { \"type\": \"png\", \"label\": \"PNG\" },\n { \"type\": \"jpg\", \"label\": \"JPG\" },\n // { \"type\": \"svg\", \"label\": \"SVG\" },\n { \"type\": \"pdf\", \"label\": \"PDF\" }\n ]\n }, {\n \"label\": \"Data\",\n \"menu\": [\n { \"type\": \"xlsx\", \"label\": \"XLSX\" },\n ]\n }, {\n \"label\": \"Print\", \"type\": \"print\"\n }\n ]\n }\n ];\n chart.exporting.extraSprites.push({\n \"sprite\": legendContainer,\n \"position\": \"bottom\",\n \"marginTop\": 30\n });\n if (that.reportFilterObj.ReportValueType == \"amount\") {\n let title = chart.titles.create();\n title.text = \"[bold]All values are in \" + that.CurrencyLabel;\n title.fill = am4core.color(\"red\");\n title.fontSize = '14px';\n title.disabled = false;\n\n chart.exporting.dataFields = {\n \"category\": \"Region\",\n \"amountvalue\": \"Amount(\" + that.CurrencyLabel + \")\",\n }\n }\n else {\n chart.exporting.dataFields = {\n \"category\": \"Region\",\n \"unitvalue\": that.CurrencyLabel,\n }\n }\n\n /**************End Custom Export**************** */\n\n }\n\n });\n // //*************************************************************************** */\n var series = chart.series.push(new am4charts.PieSeries());\n series.dataFields.category = \"category\";\n if (this.reportFilterObj.ReportValueType == 'units') {\n series.dataFields.value = \"unitvalue\";\n } else {\n series.dataFields.value = \"amountvalue\";\n }\n\n chart.legend.labels.template.text = \"[normal]{category}: [bold]{value.value}\";\n // chart.legend.scrollable = true;\n chart.legend.valueLabels.template.disabled = true;\n chart.legend.labels.template.maxWidth = 150;\n chart.legend.labels.template.wrap = true;\n chart.legend.labels.template.truncate = false;\n\n series.labels.template.text = \"{category}: {value.value}\";\n series.slices.template.tooltipText = \"{category}: {value.value}\";\n chart.legend.valueLabels.template.text = \"{value.value}\";\n\n //INSIDE LABELS\n // series.ticks.template.disabled = true;\n // series.alignLabels = false;\n // //series.labels.template.text = \"{value.percent.formatNumber('#.0')}%\";\n // series.labels.template.radius = am4core.percent(-20);\n // series.labels.template.fill = am4core.color(\"white\");\n\n //\n\n series.slices.template.cursorOverStyle = am4core.MouseCursorStyle.pointer;\n series.slices.template.events.on(\"hit\", function (ev) {\n that.onRegionSliceClick(ev.target.dataItem.dataContext);\n series.slices.each(function (item) {\n if (item.isActive && item != ev.target) {\n item.isActive = false;\n }\n })\n });\n }, error => {\n this.showLoader = false;\n });\n }\n\n showIndicator(chart, indicator) {\n if (indicator) {\n indicator.show();\n }\n else {\n indicator = chart.tooltipContainer.createChild(am4core.Container);\n indicator.background.fill = am4core.color(\"#fff\");\n indicator.background.fillOpacity = 0.8;\n indicator.width = am4core.percent(100);\n indicator.height = am4core.percent(100);\n\n var indicatorLabel = indicator.createChild(am4core.Label);\n indicatorLabel.text = \"No data available for the selection...\";\n indicatorLabel.align = \"center\";\n indicatorLabel.valign = \"middle\";\n indicatorLabel.fontSize = 20;\n }\n }\n\n hideIndicator(indicator) {\n indicator.hide();\n }\n\n onRegionSliceClick(sliceObj) {\n const that = this;\n this.showLoader = true;\n this.reportFilterObj.Region = sliceObj.Id;\n this.selectedRegion = sliceObj;\n this.isRegionSelected = true;\n this.isAllRegions = false;\n this.isSegmentSelected = false;\n this.isProductSeriesSelected = false;\n this.isProductLineSelected = false;\n this.isProductModelSelected = false;\n this.callRegionChart();\n }\n callRegionChart() {\n this.showLoader = true;\n let queryString = \"\";\n queryString += \"EnqType=\" + this.reportFilterObj.EnqType;\n queryString += \"&ReportValueType=\" + this.reportFilterObj.ReportValueType;\n queryString += \"&Year=\" + this.reportFilterObj.Year;\n queryString += \"&Region=\" + this.reportFilterObj.Region;\n queryString += \"&ProductLine=\" + this.reportFilterObj.ProductLine;\n queryString += \"&ProductSeries=\" + this.reportFilterObj.ProductSeries;\n queryString += \"&Productmodal=\" + this.reportFilterObj.Productmodal;\n queryString += \"&CustomerClass=\" + this.reportFilterObj.CustomerClass;\n queryString += \"&CustomerType=\" + this.reportFilterObj.CustomerType;\n queryString += \"&Segment=\" + this.reportFilterObj.Segment;\n queryString += \"&reporttype=\" + this.reportFilterObj.reporttype;\n queryString += \"¤cy=\" + this.reportFilterObj.curency;\n this.commonService.GetData(\"Report\", \"GetRegionReport\", queryString).subscribe((data: any) => {\n this.regionData = data.Region;\n this.productlineData = data.ProductLine;\n this.customerclassdata = data.CustomerClass;\n this.customertypedata = data.CustomerType;\n this.segmentData = data.Segment;\n setTimeout(() => {\n this.ProductWisePieChart();\n this.CustomerClassWisePieChart();\n this.CustomerTypeWisePieChart();\n this.SegmentWisePieChart();\n this.showLoader = false;\n }, 3000);\n\n }, error => {\n this.showLoader = false;\n });\n\n }\n CustomerClassWisePieChart() {\n let chart = am4core.create(\"CustomerClassWisePieChart\", am4charts.PieChart);\n let title = chart.titles.create();\n title.text = \"Customer Classification\";\n title.fontSize = 15;\n title.fontWeight = \"bold\";\n title.marginBottom = 30;\n\n chart.hiddenState.properties.opacity = 0;\n // chart.exporting.menu = new am4core.ExportMenu();\n chart.legend = new am4charts.Legend();\n let legendContainer = am4core.create(\"cclegenddiv\", am4core.Container);\n legendContainer.width = am4core.percent(100);\n legendContainer.height = am4core.percent(100);\n chart.legend.parent = legendContainer;\n chart.events.on(\"datavalidated\", resizeLegend);\n chart.events.on(\"maxsizechanged\", resizeLegend);\n\n chart.legend.events.on(\"datavalidated\", resizeLegend);\n chart.legend.events.on(\"maxsizechanged\", resizeLegend);\n\n chart.legend.itemContainers.template.clickable = false;\n chart.legend.itemContainers.template.focusable = false;\n chart.legend.itemContainers.template.cursorOverStyle = am4core.MouseCursorStyle.default;\n\n function resizeLegend(ev) {\n document.getElementById(\"cclegenddiv\").style.height = chart.legend.contentHeight + \"px\";\n }\n chart.data = this.customerclassdata;\n // //*************************************************************************** */\n const that = this;\n chart.events.on(\"beforedatavalidated\", function (ev) {\n // check if there's data\n var IsDataEmpty = false;\n var emptyUnits;\n if (that.reportFilterObj.ReportValueType == 'units') emptyUnits = chart.data.filter(x => x.unitvalue == 0);\n if (that.reportFilterObj.ReportValueType == 'amount') emptyUnits = chart.data.filter(x => x.amountvalue == 0);\n if (emptyUnits.length == chart.data.length) {\n chart.hidden = true;\n IsDataEmpty = true;\n }\n var indicator;\n if (IsDataEmpty) {\n that.showIndicator(chart, indicator);\n }\n else if (indicator) {\n that.hideIndicator(indicator);\n }\n else {\n chart.exporting.menu = new am4core.ExportMenu();\n let options = chart.exporting.getFormatOptions(\"pdf\");\n options.addURL = false;\n chart.exporting.setFormatOptions(\"pdf\", options);\n chart.exporting.filePrefix = \"CustomerClassificationReport\";\n /**************Custom Export**************** */\n chart.exporting.menu.items = [\n {\n \"label\": \"...\",\n \"menu\": [\n {\n \"label\": \"Image\",\n \"menu\": [\n { \"type\": \"png\", \"label\": \"PNG\" },\n { \"type\": \"jpg\", \"label\": \"JPG\" },\n // { \"type\": \"svg\", \"label\": \"SVG\" },\n { \"type\": \"pdf\", \"label\": \"PDF\" }\n ]\n }, {\n \"label\": \"Data\",\n \"menu\": [\n { \"type\": \"xlsx\", \"label\": \"XLSX\" },\n ]\n }, {\n \"label\": \"Print\", \"type\": \"print\"\n }\n ]\n }\n ];\n chart.exporting.extraSprites.push({\n \"sprite\": legendContainer,\n \"position\": \"bottom\",\n \"marginTop\": 30\n });\n if (that.reportFilterObj.ReportValueType == \"amount\") {\n let title = chart.titles.create();\n title.text = \"[bold]All values are in \" + that.CurrencyLabel;\n title.fill = am4core.color(\"red\");\n title.fontSize = '14px';\n title.disabled = false;\n\n chart.exporting.dataFields = {\n \"category\": \"CustomerClassification\",\n \"amountvalue\": \"Amount(\" + that.CurrencyLabel + \")\",\n }\n }\n else {\n chart.exporting.dataFields = {\n \"category\": \"CustomerClassification\",\n \"unitvalue\": that.CurrencyLabel,\n }\n }\n\n /**************End Custom Export**************** */\n\n }\n\n });\n // //*************************************************************************** */\n chart.legend.itemContainers.template.tooltipText = \"{category}\";\n\n let series = chart.series.push(new am4charts.PieSeries());\n series.dataFields.category = \"category\";\n if (this.reportFilterObj.ReportValueType == 'units') {\n series.dataFields.value = \"unitvalue\";\n } else {\n series.dataFields.value = \"amountvalue\";\n }\n\n chart.legend.labels.template.text = \"[normal]{category}: [bold]{value.value}\";\n // chart.legend.scrollable = true;\n chart.legend.valueLabels.template.disabled = true;\n let markerTemplate = chart.legend.markers.template;\n markerTemplate.width = 20;\n markerTemplate.height = 20;\n // chart.legend.valueLabels.template.align = \"left\"\n // chart.legend.valueLabels.template.textAlign = \"start\"\n chart.legend.labels.template.maxWidth = 150;\n chart.legend.labels.template.wrap = true;\n chart.legend.labels.template.truncate = false;\n series.labels.template.text = \"{category}: {value.value}\";\n series.slices.template.tooltipText = \"{category}: {value.value}\";\n chart.legend.valueLabels.template.text = \"{value.value}\";\n chart.legend.valueLabels.template.wrap = true;\n\n series.slices.template.cursorOverStyle = am4core.MouseCursorStyle.pointer;\n //\n }\n CustomerTypeWisePieChart() {\n let chart = am4core.create(\"CustomerTypeWisePieChart\", am4charts.PieChart);\n let title = chart.titles.create();\n title.text = \"Customer Type\";\n title.fontSize = 15;\n title.fontWeight = \"bold\";\n title.marginBottom = 30;\n // chart.exporting.menu = new am4core.ExportMenu();\n chart.legend = new am4charts.Legend();\n let legendContainer = am4core.create(\"ctlegenddiv\", am4core.Container);\n legendContainer.width = am4core.percent(100);\n legendContainer.height = am4core.percent(100);\n chart.legend.parent = legendContainer;\n chart.events.on(\"datavalidated\", resizeLegend);\n chart.events.on(\"maxsizechanged\", resizeLegend);\n\n chart.legend.events.on(\"datavalidated\", resizeLegend);\n chart.legend.events.on(\"maxsizechanged\", resizeLegend);\n\n chart.legend.itemContainers.template.clickable = false;\n chart.legend.itemContainers.template.focusable = false;\n chart.legend.itemContainers.template.cursorOverStyle = am4core.MouseCursorStyle.default;\n\n function resizeLegend(ev) {\n document.getElementById(\"ctlegenddiv\").style.height = chart.legend.contentHeight + \"px\";\n }\n // chart.hiddenState.properties.opacity = 0;\n\n let series = chart.series.push(new am4charts.PieSeries());\n series.dataFields.category = \"category\";\n if (this.reportFilterObj.ReportValueType == 'units') {\n series.dataFields.value = \"unitvalue\";\n } else {\n series.dataFields.value = \"amountvalue\";\n }\n\n chart.data = this.customertypedata;\n // //*************************************************************************** */\n const that = this;\n chart.events.on(\"beforedatavalidated\", function (ev) {\n // check if there's data\n var IsDataEmpty = false;\n var emptyUnits;\n if (that.reportFilterObj.ReportValueType == 'units') emptyUnits = chart.data.filter(x => x.unitvalue == 0);\n if (that.reportFilterObj.ReportValueType == 'amount') emptyUnits = chart.data.filter(x => x.amountvalue == 0);\n if (emptyUnits.length == chart.data.length) {\n chart.hidden = true;\n IsDataEmpty = true;\n }\n var indicator;\n if (IsDataEmpty) {\n\n that.showIndicator(chart, indicator);\n }\n else if (indicator) {\n that.hideIndicator(indicator);\n }\n else {\n chart.exporting.menu = new am4core.ExportMenu();\n let options = chart.exporting.getFormatOptions(\"pdf\");\n options.addURL = false;\n chart.exporting.setFormatOptions(\"pdf\", options);\n chart.exporting.filePrefix = \"CustomerTypeReport\";\n /**************Custom Export**************** */\n chart.exporting.menu.items = [\n {\n \"label\": \"...\",\n \"menu\": [\n {\n \"label\": \"Image\",\n \"menu\": [\n { \"type\": \"png\", \"label\": \"PNG\" },\n { \"type\": \"jpg\", \"label\": \"JPG\" },\n // { \"type\": \"svg\", \"label\": \"SVG\" },\n { \"type\": \"pdf\", \"label\": \"PDF\" }\n ]\n }, {\n \"label\": \"Data\",\n \"menu\": [\n { \"type\": \"xlsx\", \"label\": \"XLSX\" },\n ]\n }, {\n \"label\": \"Print\", \"type\": \"print\"\n }\n ]\n }\n ];\n chart.exporting.extraSprites.push({\n \"sprite\": legendContainer,\n \"position\": \"bottom\",\n \"marginTop\": 30\n });\n if (that.reportFilterObj.ReportValueType == \"amount\") {\n let title = chart.titles.create();\n title.text = \"[bold]All values are in \" + that.CurrencyLabel;\n title.fill = am4core.color(\"red\");\n title.fontSize = '14px';\n title.disabled = false;\n\n chart.exporting.dataFields = {\n \"category\": \"CustomerType\",\n \"amountvalue\": \"Amount(\" + that.CurrencyLabel + \")\",\n }\n }\n else {\n chart.exporting.dataFields = {\n \"category\": \"CustomerType\",\n \"unitvalue\": that.CurrencyLabel,\n }\n }\n\n /**************End Custom Export**************** */\n\n }\n\n });\n // //*************************************************************************** */\n chart.legend.labels.template.text = \"[normal]{category}: [bold]{value.value}\";\n\n // chart.legend.scrollable = true;\n chart.legend.valueLabels.template.disabled = true;\n chart.legend.itemContainers.template.tooltipText = \"{category}\";\n\n let markerTemplate = chart.legend.markers.template;\n markerTemplate.width = 20;\n markerTemplate.height = 20;\n chart.legend.valueLabels.template.align = \"left\"\n chart.legend.valueLabels.template.textAlign = \"start\"\n chart.legend.labels.template.maxWidth = 150;\n chart.legend.labels.template.wrap = true;\n chart.legend.labels.template.truncate = false;\n series.labels.template.text = \"{category}: {value.value}\";\n series.slices.template.tooltipText = \"{category}: {value.value}\";\n chart.legend.valueLabels.template.text = \"{value.value}\";\n series.slices.template.cursorOverStyle = am4core.MouseCursorStyle.pointer;\n //\n }\n\n ProductWisePieChart() {\n const that = this;\n let chart = am4core.create(\"ProductWisePieChart\", am4charts.PieChart);\n // chart.exporting.menu = new am4core.ExportMenu();\n let title = chart.titles.create();\n title.text = \"Product Line wise\";\n title.fontSize = 15;\n title.fontWeight = \"bold\";\n title.marginBottom = 30;\n chart.legend = new am4charts.Legend();\n let legendContainer = am4core.create(\"pllegenddiv\", am4core.Container);\n legendContainer.width = am4core.percent(100);\n legendContainer.height = am4core.percent(100);\n chart.legend.parent = legendContainer;\n chart.events.on(\"datavalidated\", resizeLegend);\n chart.events.on(\"maxsizechanged\", resizeLegend);\n\n chart.legend.events.on(\"datavalidated\", resizeLegend);\n chart.legend.events.on(\"maxsizechanged\", resizeLegend);\n\n chart.legend.itemContainers.template.clickable = false;\n chart.legend.itemContainers.template.focusable = false;\n chart.legend.itemContainers.template.cursorOverStyle = am4core.MouseCursorStyle.default;\n\n function resizeLegend(ev) {\n document.getElementById(\"pllegenddiv\").style.height = chart.legend.contentHeight + \"px\";\n }\n chart.hiddenState.properties.opacity = 0;\n chart.data = this.productlineData;\n // //*************************************************************************** */\n //const that = this;\n chart.events.on(\"beforedatavalidated\", function (ev) {\n // check if there's data\n var IsDataEmpty = false;\n var emptyUnits;\n if (that.reportFilterObj.ReportValueType == 'units') emptyUnits = chart.data.filter(x => x.unitvalue == 0);\n if (that.reportFilterObj.ReportValueType == 'amount') emptyUnits = chart.data.filter(x => x.amountvalue == 0);\n if (emptyUnits.length == chart.data.length) {\n chart.hidden = true;\n IsDataEmpty = true;\n }\n var indicator;\n if (IsDataEmpty) {\n that.showIndicator(chart, indicator);\n }\n else if (indicator) {\n that.hideIndicator(indicator);\n }\n else {\n chart.exporting.menu = new am4core.ExportMenu();\n let options = chart.exporting.getFormatOptions(\"pdf\");\n options.addURL = false;\n chart.exporting.setFormatOptions(\"pdf\", options);\n chart.exporting.filePrefix = \"ProductLineReport\";\n /**************Custom Export**************** */\n chart.exporting.menu.items = [\n {\n \"label\": \"...\",\n \"menu\": [\n {\n \"label\": \"Image\",\n \"menu\": [\n { \"type\": \"png\", \"label\": \"PNG\" },\n { \"type\": \"jpg\", \"label\": \"JPG\" },\n // { \"type\": \"svg\", \"label\": \"SVG\" },\n { \"type\": \"pdf\", \"label\": \"PDF\" }\n ]\n }, {\n \"label\": \"Data\",\n \"menu\": [\n { \"type\": \"xlsx\", \"label\": \"XLSX\" },\n ]\n }, {\n \"label\": \"Print\", \"type\": \"print\"\n }\n ]\n }\n ];\n chart.exporting.extraSprites.push({\n \"sprite\": legendContainer,\n \"position\": \"bottom\",\n \"marginTop\": 30\n });\n if (that.reportFilterObj.ReportValueType == \"amount\") {\n let title = chart.titles.create();\n title.text = \"[bold]All values are in \" + that.CurrencyLabel;\n title.fill = am4core.color(\"red\");\n title.fontSize = '14px';\n title.disabled = false;\n\n chart.exporting.dataFields = {\n \"category\": \"ProductLine\",\n \"amountvalue\": \"Amount(\" + that.CurrencyLabel + \")\",\n }\n }\n else {\n chart.exporting.dataFields = {\n \"category\": \"ProductLine\",\n \"unitvalue\": that.CurrencyLabel,\n }\n }\n\n /**************End Custom Export**************** */\n\n }\n\n });\n // //*************************************************************************** */\n chart.legend.itemContainers.template.tooltipText = \"{category}\";\n var series = chart.series.push(new am4charts.PieSeries());\n\n series.dataFields.category = \"category\";\n if (this.reportFilterObj.ReportValueType == 'units') {\n series.dataFields.value = \"unitvalue\";\n } else {\n series.dataFields.value = \"amountvalue\";\n }\n\n chart.legend.labels.template.text = \"[normal]{category}: [bold]{value.value}\";\n // chart.legend.scrollable = true;\n chart.legend.valueLabels.template.disabled = true;\n let markerTemplate = chart.legend.markers.template;\n markerTemplate.width = 20;\n markerTemplate.height = 20;\n chart.legend.valueLabels.template.align = \"left\"\n chart.legend.valueLabels.template.textAlign = \"start\"\n chart.legend.labels.template.maxWidth = 150;\n chart.legend.labels.template.wrap = true;\n chart.legend.labels.template.truncate = false;\n series.labels.template.text = \"{category}: {value.value}\";\n series.slices.template.tooltipText = \"{category}: {value.value}\";\n chart.legend.valueLabels.template.text = \"{value.value}\";\n series.slices.template.cursorOverStyle = am4core.MouseCursorStyle.pointer;\n //\n series.slices.template.events.on(\"hit\", function (ev) {\n that.onProductSliceClick(ev.target.dataItem.dataContext);\n });\n\n }\n\n\n onProductSliceClick(sliceObj) {\n this.isProductLineSelected = true;\n this.isProductSeriesSelected = false;\n this.selectedProductLine = sliceObj;\n this.reportFilterObj.ProductSeries = 0;\n this.reportFilterObj.Productmodal = 0;\n this.reportFilterObj.ProductLine = sliceObj.Id;\n this.ProductSeriesWisePieChart();\n }\n ProductSeriesWisePieChart() {\n\n this.showLoader = true;\n let queryString = \"\";\n queryString += \"EnqType=\" + this.reportFilterObj.EnqType;\n queryString += \"&ReportValueType=\" + this.reportFilterObj.ReportValueType;\n queryString += \"&Year=\" + this.reportFilterObj.Year;\n queryString += \"&Region=\" + this.reportFilterObj.Region;\n queryString += \"&ProductLine=\" + this.reportFilterObj.ProductLine;\n queryString += \"&ProductSeries=\" + this.reportFilterObj.ProductSeries;\n queryString += \"&Productmodal=\" + this.reportFilterObj.Productmodal;\n queryString += \"&CustomerClass=\" + this.reportFilterObj.CustomerClass;\n queryString += \"&CustomerType=\" + this.reportFilterObj.CustomerType;\n queryString += \"&Segment=\" + this.reportFilterObj.Segment;\n queryString += \"&reporttype=\" + this.reportFilterObj.reporttype;\n queryString += \"¤cy=\" + this.reportFilterObj.curency;\n this.commonService.GetData(\"Report\", \"GetRegionSeriesReport\", queryString).subscribe((data: any) => {\n let chart = am4core.create(\"ProductSeriesBarChart\", am4charts.XYChart);\n // chart.exporting.menu = new am4core.ExportMenu();\n\n let title = chart.titles.create();\n title.text = this.selectedProductLine.category;\n title.fontSize = 15;\n title.fontWeight = \"bold\";\n title.marginBottom = 30;\n\n\n chart.hiddenState.properties.opacity = 0;\n this.chartData = this.productseriesData;\n chart.data = data.ProductSeries;\n // //*************************************************************************** */\n const that = this;\n chart.events.on(\"beforedatavalidated\", function (ev) {\n // check if there's data\n var IsDataEmpty = false;\n var emptyUnits;\n if (that.reportFilterObj.ReportValueType == 'units') emptyUnits = chart.data.filter(x => x.unitvalue == 0);\n if (that.reportFilterObj.ReportValueType == 'amount') emptyUnits = chart.data.filter(x => x.amountvalue == 0);\n if (emptyUnits.length == chart.data.length) {\n chart.hidden = true;\n IsDataEmpty = true;\n }\n var indicator;\n if (IsDataEmpty) {\n that.showIndicator(chart, indicator);\n }\n else if (indicator) {\n that.hideIndicator(indicator);\n }\n else {\n chart.scrollbarX = new am4core.Scrollbar();\n chart.scrollbarY = new am4core.Scrollbar();\n //chart.cursor = new am4charts.XYCursor();\n chart.scrollbarX.exportable = false;\n chart.scrollbarY.exportable = false;\n chart.exporting.menu = new am4core.ExportMenu();\n let options = chart.exporting.getFormatOptions(\"pdf\");\n options.addURL = false;\n chart.exporting.setFormatOptions(\"pdf\", options);\n chart.exporting.filePrefix = \"ProductSeriesReport\";\n /**************Custom Export**************** */\n chart.exporting.menu.items = [\n {\n \"label\": \"...\",\n \"menu\": [\n {\n \"label\": \"Image\",\n \"menu\": [\n { \"type\": \"png\", \"label\": \"PNG\" },\n { \"type\": \"jpg\", \"label\": \"JPG\" },\n // { \"type\": \"svg\", \"label\": \"SVG\" },\n { \"type\": \"pdf\", \"label\": \"PDF\" }\n ]\n }, {\n \"label\": \"Data\",\n \"menu\": [\n { \"type\": \"xlsx\", \"label\": \"XLSX\" },\n ]\n }, {\n \"label\": \"Print\", \"type\": \"print\"\n }\n ]\n }\n ];\n if (that.reportFilterObj.ReportValueType == \"amount\") {\n let title = chart.titles.create();\n title.text = \"[bold]All values are in \" + that.CurrencyLabel;\n title.fill = am4core.color(\"red\");\n title.fontSize = '14px';\n title.disabled = false;\n\n chart.exporting.dataFields = {\n \"category\": \"ProductSeries\",\n \"amountvalue\": \"Amount(\" + that.CurrencyLabel + \")\",\n }\n }\n else {\n chart.exporting.dataFields = {\n \"category\": \"ProductSeries\",\n \"unitvalue\": that.CurrencyLabel,\n }\n }\n\n /**************End Custom Export**************** */\n\n }\n\n });\n // //*************************************************************************** */\n let categoryAxis = chart.xAxes.push(new am4charts.CategoryAxis());\n categoryAxis.dataFields.category = \"category\";\n categoryAxis.renderer.grid.template.location = 0;\n categoryAxis.renderer.minGridDistance = 30;\n // categoryAxis.renderer.labels.template.rotation = -45;\n categoryAxis.renderer.labels.template.maxWidth = 100;\n categoryAxis.renderer.labels.template.wrap = true;\n // categoryAxis.renderer.labels.template.truncate = true;\n categoryAxis.renderer.labels.template.tooltipText = '{category}';\n /**************Scrolling Start End Point**************** */\n categoryAxis.start=0;\n categoryAxis.end=0.5;\n /**************End Scrolling Start End Point**************** */\n let valueAxis = chart.yAxes.push(new am4charts.ValueAxis());\n valueAxis.extraMax = 0.5;\n valueAxis.renderer.labels.template.adapter.add(\"text\", function (text, target) {\n let val = text == \"0.000\" ? \"0\" : text;\n return val;\n });\n if (this.reportFilterObj.ReportValueType == 'units') {\n valueAxis.title.text = \"No.\";\n chart.numberFormatter.numberFormat = \"0\";\n valueAxis.renderer.labels.template.adapter.add(\"text\", function (text, target) {\n let val = parseFloat(text) % 1 != 0 ? \"\" : parseInt(text).toString();\n return val;\n });\n }\n else {\n // if (this.reportFilterObj.curency == 1) valueAxis.title.text = \"USD\";\n // if (this.reportFilterObj.curency == 2) valueAxis.title.text = \"EURO\";\n // if (this.reportFilterObj.curency == 3) valueAxis.title.text = \"INR\";\n if (this.reportFilterObj.currencycode == \"USD\") valueAxis.title.text = \"USD\";\n if (this.reportFilterObj.currencycode == \"Euro\") valueAxis.title.text = \"EURO\";\n //if (this.reportFilterObj.currencycode == \"INR\") valueAxis.title.text = \"INR\";\n if (this.reportFilterObj.currencycode == \"VND\") valueAxis.title.text = 'VND';\n if (this.reportFilterObj.currencycode == \"IDR\") valueAxis.title.text = 'IDR';\n if (this.reportFilterObj.currencycode == \"PHP\") valueAxis.title.text = 'PHP';\n if (this.reportFilterObj.currencycode == \"THB\") valueAxis.title.text = 'THB';\n if (this.reportFilterObj.currencycode == \"MYR\") valueAxis.title.text = 'MYR';\n if (this.reportFilterObj.currencycode == \"SGD\") valueAxis.title.text= 'SGD';\n // chart.numberFormatter.numberFormat = \"0.000\";\n }\n // Create series\n let columnSeries = chart.series.push(new am4charts.ColumnSeries());\n if (this.reportFilterObj.ReportValueType == 'units') {\n columnSeries.dataFields.valueY = \"unitvalue\";\n } else {\n columnSeries.dataFields.valueY = \"amountvalue\";\n }\n columnSeries.dataFields.categoryX = \"category\";\n\n columnSeries.columns.template.tooltipText = \"{categoryX}: [bold]{valueY}[/]\";\n columnSeries.columns.template.propertyFields.fillOpacity = \"fillOpacity\";\n columnSeries.columns.template.propertyFields.stroke = \"stroke\";\n columnSeries.columns.template.propertyFields.strokeWidth = \"strokeWidth\";\n columnSeries.columns.template.propertyFields.strokeDasharray = \"columnDash\";\n columnSeries.tooltip.label.textAlign = \"middle\";\n columnSeries.tooltip.getFillFromObject = false;\n columnSeries.tooltip.background.fill = am4core.color(\"#4a463c\");\n let colLabel = columnSeries.bullets.push(new am4charts.LabelBullet);\n colLabel.label.text = \"{valueY}\";\n //colLabel.label.rotation = 0;\n colLabel.label.fontSize = 9;\n colLabel.label.padding(0, 0, 20, 0);\n colLabel.label.truncate = false;\n colLabel.label.hideOversized = false;\n\n columnSeries.columns.template.interactionsEnabled = true;\n columnSeries.columns.template.events.on(\"hit\", ev => {\n let item: any = ev.target.dataItem.dataContext;\n this.isProductSeriesSelected = true;\n this.isProductModelSelected = false;\n this.selectedProductSeries = item;\n this.reportFilterObj.Productmodal = 0;\n this.reportFilterObj.ProductLine = 0;\n this.reportFilterObj.ProductSeries = item.Id;\n this.ProductModelWisePieChart();\n },\n );\n this.showLoader = false;\n }, error => {\n this.showLoader = false;\n });\n\n }\n ProductModelWisePieChart() {\n\n this.showLoader = true;\n let queryString = \"\";\n queryString += \"EnqType=\" + this.reportFilterObj.EnqType;\n queryString += \"&ReportValueType=\" + this.reportFilterObj.ReportValueType;\n queryString += \"&Year=\" + this.reportFilterObj.Year;\n queryString += \"&Region=\" + this.reportFilterObj.Region;\n queryString += \"&ProductLine=\" + this.reportFilterObj.ProductLine;\n queryString += \"&ProductSeries=\" + this.reportFilterObj.ProductSeries;\n queryString += \"&Productmodal=\" + this.reportFilterObj.Productmodal;\n queryString += \"&CustomerClass=\" + this.reportFilterObj.CustomerClass;\n queryString += \"&CustomerType=\" + this.reportFilterObj.CustomerType;\n queryString += \"&Segment=\" + this.reportFilterObj.Segment;\n queryString += \"&reporttype=\" + this.reportFilterObj.reporttype;\n queryString += \"¤cy=\" + this.reportFilterObj.curency;\n this.commonService.GetData(\"Report\", \"GetRegionProductModelReport\", queryString).subscribe((data: any) => {\n let chart = am4core.create(\"ProductModelBarChart\", am4charts.XYChart);\n // chart.exporting.menu = new am4core.ExportMenu();\n\n let title = chart.titles.create();\n title.text = this.selectedProductSeries.category;\n title.fontSize = 15;\n title.fontWeight = \"bold\";\n title.marginBottom = 30;\n title.wrap = true;\n title.maxWidth=350;\n\n\n chart.hiddenState.properties.opacity = 0;\n this.chartData = this.producModeleData;\n chart.data = data.ProductModel;\n // //*************************************************************************** */\n const that = this;\n chart.events.on(\"beforedatavalidated\", function (ev) {\n // check if there's data\n var IsDataEmpty = false;\n var emptyUnits;\n if (that.reportFilterObj.ReportValueType == 'units') emptyUnits = chart.data.filter(x => x.unitvalue == 0);\n if (that.reportFilterObj.ReportValueType == 'amount') emptyUnits = chart.data.filter(x => x.amountvalue == 0);\n if (emptyUnits.length == chart.data.length) {\n chart.hidden = true;\n IsDataEmpty = true;\n }\n var indicator;\n if (IsDataEmpty) {\n that.showIndicator(chart, indicator);\n }\n else if (indicator) {\n that.hideIndicator(indicator);\n }\n else {\n chart.scrollbarX = new am4core.Scrollbar();\n chart.scrollbarY = new am4core.Scrollbar();\n // chart.cursor = new am4charts.XYCursor();\n chart.scrollbarX.exportable = false;\n chart.scrollbarY.exportable = false;\n chart.exporting.menu = new am4core.ExportMenu();\n let options = chart.exporting.getFormatOptions(\"pdf\");\n options.addURL = false;\n chart.exporting.setFormatOptions(\"pdf\", options);\n chart.exporting.filePrefix = \"ProductModelReport\";\n /**************Custom Export**************** */\n chart.exporting.menu.items = [\n {\n \"label\": \"...\",\n \"menu\": [\n {\n \"label\": \"Image\",\n \"menu\": [\n { \"type\": \"png\", \"label\": \"PNG\" },\n { \"type\": \"jpg\", \"label\": \"JPG\" },\n // { \"type\": \"svg\", \"label\": \"SVG\" },\n { \"type\": \"pdf\", \"label\": \"PDF\" }\n ]\n }, {\n \"label\": \"Data\",\n \"menu\": [\n { \"type\": \"xlsx\", \"label\": \"XLSX\" },\n ]\n }, {\n \"label\": \"Print\", \"type\": \"print\"\n }\n ]\n }\n ];\n if (that.reportFilterObj.ReportValueType == \"amount\") {\n let title = chart.titles.create();\n title.text = \"[bold]All values are in \" + that.CurrencyLabel;\n title.fill = am4core.color(\"red\");\n title.fontSize = '14px';\n title.disabled = false;\n\n chart.exporting.dataFields = {\n \"category\": \"ProductModel\",\n \"amountvalue\": \"Amount(\" + that.CurrencyLabel + \")\",\n }\n }\n else {\n chart.exporting.dataFields = {\n \"category\": \"ProductModel\",\n \"unitvalue\": that.CurrencyLabel,\n }\n }\n\n /**************End Custom Export**************** */\n\n }\n\n });\n // //*************************************************************************** */\n let categoryAxis = chart.xAxes.push(new am4charts.CategoryAxis());\n categoryAxis.dataFields.category = \"category\";\n categoryAxis.renderer.grid.template.location = 0;\n categoryAxis.renderer.minGridDistance = 30;\n // categoryAxis.renderer.labels.template.rotation = -45;\n categoryAxis.renderer.labels.template.maxWidth = 100;\n categoryAxis.renderer.labels.template.wrap = true;\n // categoryAxis.renderer.labels.template.truncate = true;\n categoryAxis.renderer.labels.template.tooltipText = '{category}';\n /**************Scrolling Start End Point**************** */\n categoryAxis.start=0;\n categoryAxis.end=0.5;\n /**************End Scrolling Start End Point**************** */\n let valueAxis = chart.yAxes.push(new am4charts.ValueAxis());\n valueAxis.extraMax = 0.5;\n valueAxis.renderer.labels.template.adapter.add(\"text\", function (text, target) {\n let val = text == \"0.000\" ? \"0\" : text;\n return val;\n });\n if (this.reportFilterObj.ReportValueType == 'units') {\n valueAxis.title.text = \"No.\";\n chart.numberFormatter.numberFormat = \"0\";\n valueAxis.renderer.labels.template.adapter.add(\"text\", function (text, target) {\n let val = parseFloat(text) % 1 != 0 ? \"\" : parseInt(text).toString();\n return val;\n });\n }\n else {\n // if (this.reportFilterObj.curency == 1) valueAxis.title.text = \"USD\";\n // if (this.reportFilterObj.curency == 2) valueAxis.title.text = \"EURO\";\n // if (this.reportFilterObj.curency == 3) valueAxis.title.text = \"INR\";\n if (this.reportFilterObj.currencycode == \"USD\") valueAxis.title.text = \"USD\";\n if (this.reportFilterObj.currencycode == \"Euro\") valueAxis.title.text = \"EURO\";\n //if (this.reportFilterObj.currencycode == \"INR\") valueAxis.title.text = \"INR\";\n if (this.reportFilterObj.currencycode == \"VND\") valueAxis.title.text = 'VND';\n if (this.reportFilterObj.currencycode == \"IDR\") valueAxis.title.text = 'IDR';\n if (this.reportFilterObj.currencycode == \"PHP\") valueAxis.title.text = 'PHP';\n if (this.reportFilterObj.currencycode == \"THB\") valueAxis.title.text = 'THB';\n if (this.reportFilterObj.currencycode == \"MYR\") valueAxis.title.text = 'MYR';\n if (this.reportFilterObj.currencycode == \"SGD\") valueAxis.title.text= 'SGD';\n // chart.numberFormatter.numberFormat = \"0.000\";\n }\n\n // Create series\n let columnSeries = chart.series.push(new am4charts.ColumnSeries());\n if (this.reportFilterObj.ReportValueType == 'units') {\n columnSeries.dataFields.valueY = \"unitvalue\";\n } else {\n columnSeries.dataFields.valueY = \"amountvalue\";\n }\n columnSeries.dataFields.categoryX = \"category\";\n\n columnSeries.columns.template.tooltipText = \"{categoryX}: [bold]{valueY}[/]\";\n columnSeries.columns.template.propertyFields.fillOpacity = \"fillOpacity\";\n columnSeries.columns.template.propertyFields.stroke = \"stroke\";\n columnSeries.columns.template.propertyFields.strokeWidth = \"strokeWidth\";\n columnSeries.columns.template.propertyFields.strokeDasharray = \"columnDash\";\n columnSeries.tooltip.label.textAlign = \"middle\";\n columnSeries.tooltip.getFillFromObject = false;\n columnSeries.tooltip.background.fill = am4core.color(\"#4a463c\");\n let colLabel = columnSeries.bullets.push(new am4charts.LabelBullet);\n colLabel.label.text = \"{valueY}\";\n // colLabel.label.rotation = 0;\n colLabel.label.fontSize = 9;\n colLabel.label.padding(0, 0, 20, 0);\n colLabel.label.truncate = false;\n colLabel.label.hideOversized = false;\n columnSeries.columns.template.events.on(\"hit\", ev => {\n let item: any = ev.target.dataItem.dataContext;\n this.isProductSeriesSelected = true;\n this.isProductModelSelected = true;\n this.selectedProductLine = item;\n this.reportFilterObj.ProductSeries = 0;\n this.reportFilterObj.ProductLine = 0;\n this.reportFilterObj.Productmodal = item.Id;\n this.ProductStationWisePieChart();\n });\n this.showLoader = false;\n }, error => {\n this.showLoader = false;\n });\n }\n ProductStationWisePieChart() {\n this.showLoader = true;\n let queryString = \"\";\n queryString += \"EnqType=\" + this.reportFilterObj.EnqType;\n queryString += \"&ReportValueType=\" + this.reportFilterObj.ReportValueType;\n queryString += \"&Year=\" + this.reportFilterObj.Year;\n queryString += \"&Region=\" + this.reportFilterObj.Region;\n queryString += \"&ProductLine=\" + this.reportFilterObj.ProductLine;\n queryString += \"&ProductSeries=\" + this.reportFilterObj.ProductSeries;\n queryString += \"&Productmodal=\" + this.reportFilterObj.Productmodal;\n queryString += \"&CustomerClass=\" + this.reportFilterObj.CustomerClass;\n queryString += \"&CustomerType=\" + this.reportFilterObj.CustomerType;\n queryString += \"&Segment=\" + this.reportFilterObj.Segment;\n queryString += \"&reporttype=\" + this.reportFilterObj.reporttype;\n queryString += \"¤cy=\" + this.reportFilterObj.curency;\n this.commonService.GetData(\"Report\", \"GetRegionProductStationReport\", queryString).subscribe((data: any) => {\n let chart = am4core.create(\"ProductStationBarChart\", am4charts.XYChart);\n this.VariantLabel = data.ProductModelStation_label;\n // chart.exporting.menu = new am4core.ExportMenu();\n\n let title = chart.titles.create();\n title.text = this.selectedProductLine.category;\n title.fontSize = 15;\n title.fontWeight = \"bold\";\n title.marginBottom = 30;\n title.wrap = true;\n title.maxWidth=350;\n\n chart.hiddenState.properties.opacity = 0;\n chart.data = data.ProductModelStation;\n // //*************************************************************************** */\n const that = this;\n chart.events.on(\"beforedatavalidated\", function (ev) {\n // check if there's data\n var IsDataEmpty = false;\n var emptyUnits;\n if (that.reportFilterObj.ReportValueType == 'units') emptyUnits = chart.data.filter(x => x.unitvalue == 0);\n if (that.reportFilterObj.ReportValueType == 'amount') emptyUnits = chart.data.filter(x => x.amountvalue == 0);\n if (emptyUnits.length == chart.data.length) {\n chart.hidden = true;\n IsDataEmpty = true;\n }\n var indicator;\n if (IsDataEmpty) {\n that.showIndicator(chart, indicator);\n }\n else if (indicator) {\n that.hideIndicator(indicator);\n }\n else {\n chart.scrollbarX = new am4core.Scrollbar();\n chart.scrollbarY = new am4core.Scrollbar();\n // chart.cursor = new am4charts.XYCursor();\n chart.scrollbarX.exportable = false;\n chart.scrollbarY.exportable = false;\n chart.exporting.menu = new am4core.ExportMenu();\n let options = chart.exporting.getFormatOptions(\"pdf\");\n options.addURL = false;\n chart.exporting.setFormatOptions(\"pdf\", options);\n chart.exporting.filePrefix = that.VariantLabel + \"Report\";\n /**************Custom Export**************** */\n chart.exporting.menu.items = [\n {\n \"label\": \"...\",\n \"menu\": [\n {\n \"label\": \"Image\",\n \"menu\": [\n { \"type\": \"png\", \"label\": \"PNG\" },\n { \"type\": \"jpg\", \"label\": \"JPG\" },\n // { \"type\": \"svg\", \"label\": \"SVG\" },\n { \"type\": \"pdf\", \"label\": \"PDF\" }\n ]\n }, {\n \"label\": \"Data\",\n \"menu\": [\n { \"type\": \"xlsx\", \"label\": \"XLSX\" },\n ]\n }, {\n \"label\": \"Print\", \"type\": \"print\"\n }\n ]\n }\n ];\n if (that.reportFilterObj.ReportValueType == \"amount\") {\n let title = chart.titles.create();\n title.text = \"[bold]All values are in \" + that.CurrencyLabel;\n title.fill = am4core.color(\"red\");\n title.fontSize = '14px';\n title.disabled = false;\n\n chart.exporting.dataFields = {\n \"category\": that.VariantLabel,\n \"amountvalue\": \"Amount(\" + that.CurrencyLabel + \")\",\n }\n }\n else {\n chart.exporting.dataFields = {\n \"category\": that.VariantLabel,\n \"unitvalue\": that.CurrencyLabel,\n }\n }\n\n /**************End Custom Export**************** */\n\n }\n\n });\n // //*************************************************************************** */\n let categoryAxis = chart.xAxes.push(new am4charts.CategoryAxis());\n categoryAxis.dataFields.category = \"category\";\n categoryAxis.renderer.grid.template.location = 0;\n categoryAxis.renderer.minGridDistance = 30;\n // categoryAxis.renderer.labels.template.rotation = -45;\n categoryAxis.renderer.labels.template.maxWidth = 100;\n categoryAxis.renderer.labels.template.wrap = true;\n // categoryAxis.renderer.labels.template.truncate = true;\n categoryAxis.renderer.labels.template.tooltipText = '{category}';\n /**************Scrolling Start End Point**************** */\n categoryAxis.start=0;\n categoryAxis.end=0.5;\n /**************End Scrolling Start End Point**************** */\n let valueAxis = chart.yAxes.push(new am4charts.ValueAxis());\n valueAxis.extraMax = 0.5;\n valueAxis.renderer.labels.template.adapter.add(\"text\", function (text, target) {\n let val = text == \"0.000\" ? \"0\" : text;\n return val;\n });\n if (this.reportFilterObj.ReportValueType == 'units') {\n valueAxis.title.text = \"No.\";\n chart.numberFormatter.numberFormat = \"0\";\n valueAxis.renderer.labels.template.adapter.add(\"text\", function (text, target) {\n let val = parseFloat(text) % 1 != 0 ? \"\" : parseInt(text).toString();\n return val;\n });\n }\n else {\n // if (this.reportFilterObj.curency == 1) valueAxis.title.text = \"USD\";\n // if (this.reportFilterObj.curency == 2) valueAxis.title.text = \"EURO\";\n // if (this.reportFilterObj.curency == 3) valueAxis.title.text = \"INR\";\n if (this.reportFilterObj.currencycode == \"USD\") valueAxis.title.text = \"USD\";\n if (this.reportFilterObj.currencycode == \"Euro\") valueAxis.title.text = \"EURO\";\n //if (this.reportFilterObj.currencycode == \"INR\") valueAxis.title.text = \"INR\";\n if (this.reportFilterObj.currencycode == \"VND\") valueAxis.title.text = 'VND';\n if (this.reportFilterObj.currencycode == \"IDR\") valueAxis.title.text = 'IDR';\n if (this.reportFilterObj.currencycode == \"PHP\") valueAxis.title.text = 'PHP';\n if (this.reportFilterObj.currencycode == \"THB\") valueAxis.title.text = 'THB';\n if (this.reportFilterObj.currencycode == \"MYR\") valueAxis.title.text = 'MYR';\n if (this.reportFilterObj.currencycode == \"SGD\") valueAxis.title.text= 'SGD';\n // chart.numberFormatter.numberFormat = \"0.000\";\n }\n // Create series\n let columnSeries = chart.series.push(new am4charts.ColumnSeries());\n if (this.reportFilterObj.ReportValueType == 'units') {\n columnSeries.dataFields.valueY = \"unitvalue\";\n } else {\n columnSeries.dataFields.valueY = \"amountvalue\";\n }\n columnSeries.dataFields.categoryX = \"category\";\n\n columnSeries.columns.template.tooltipText = \"{categoryX}: [bold]{valueY}[/]\";\n columnSeries.columns.template.propertyFields.fillOpacity = \"fillOpacity\";\n columnSeries.columns.template.propertyFields.stroke = \"stroke\";\n columnSeries.columns.template.propertyFields.strokeWidth = \"strokeWidth\";\n columnSeries.columns.template.propertyFields.strokeDasharray = \"columnDash\";\n columnSeries.tooltip.label.textAlign = \"middle\";\n columnSeries.tooltip.getFillFromObject = false;\n columnSeries.tooltip.background.fill = am4core.color(\"#4a463c\");\n let colLabel = columnSeries.bullets.push(new am4charts.LabelBullet);\n colLabel.label.text = \"{valueY}\";\n //colLabel.label.rotation = 0;\n colLabel.label.fontSize = 9;\n colLabel.label.padding(0, 0, 20, 0);\n colLabel.label.truncate = false;\n colLabel.label.hideOversized = false;\n\n this.showLoader = false;\n }, error => {\n this.showLoader = false;\n });\n }\n SegmentWisePieChart() {\n const that = this;\n let chart = am4core.create(\"SegmentWisePieChart\", am4charts.PieChart);\n // chart.exporting.menu = new am4core.ExportMenu();\n chart.hiddenState.properties.opacity = 0;\n // chart.data = this.segmentData;\n chart.data = this.segmentData;\n // //*************************************************************************** */\n //const that = this;\n chart.events.on(\"beforedatavalidated\", function (ev) {\n // check if there's data\n var IsDataEmpty = false;\n var emptyUnits;\n if (that.reportFilterObj.ReportValueType == 'units') emptyUnits = chart.data.filter(x => x.unitvalue == 0);\n if (that.reportFilterObj.ReportValueType == 'amount') emptyUnits = chart.data.filter(x => x.amountvalue == 0);\n if (emptyUnits.length == chart.data.length) {\n chart.hidden = true;\n IsDataEmpty = true;\n }\n var indicator;\n if (IsDataEmpty) {\n that.showIndicator(chart, indicator);\n }\n else if (indicator) {\n that.hideIndicator(indicator);\n }\n else {\n chart.exporting.menu = new am4core.ExportMenu();\n let options = chart.exporting.getFormatOptions(\"pdf\");\n options.addURL = false;\n chart.exporting.setFormatOptions(\"pdf\", options);\n chart.exporting.filePrefix = \"SegmentReport\";\n /**************Custom Export**************** */\n chart.exporting.menu.items = [\n {\n \"label\": \"...\",\n \"menu\": [\n {\n \"label\": \"Image\",\n \"menu\": [\n { \"type\": \"png\", \"label\": \"PNG\" },\n { \"type\": \"jpg\", \"label\": \"JPG\" },\n // { \"type\": \"svg\", \"label\": \"SVG\" },\n { \"type\": \"pdf\", \"label\": \"PDF\" }\n ]\n }, {\n \"label\": \"Data\",\n \"menu\": [\n { \"type\": \"xlsx\", \"label\": \"XLSX\" },\n ]\n }, {\n \"label\": \"Print\", \"type\": \"print\"\n }\n ]\n }\n ];\n chart.exporting.extraSprites.push({\n \"sprite\": legendContainer,\n \"position\": \"bottom\",\n \"marginTop\": 30\n });\n if (that.reportFilterObj.ReportValueType == \"amount\") {\n let title = chart.titles.create();\n title.text = \"[bold]All values are in \" + that.CurrencyLabel;\n title.fill = am4core.color(\"red\");\n title.fontSize = '14px';\n title.disabled = false;\n\n chart.exporting.dataFields = {\n \"category\": \"Segment\",\n \"amountvalue\": \"Amount(\" + that.CurrencyLabel + \")\",\n }\n }\n else {\n chart.exporting.dataFields = {\n \"category\": \"Segment\",\n \"unitvalue\": that.CurrencyLabel,\n }\n }\n\n /**************End Custom Export**************** */\n\n }\n\n });\n // //*************************************************************************** */\n chart.legend = new am4charts.Legend();\n chart.legend.itemContainers.template.tooltipText = \"{category}\";\n let legendContainer = am4core.create(\"segmentlegenddiv\", am4core.Container);\n legendContainer.width = am4core.percent(100);\n legendContainer.height = am4core.percent(100);\n chart.legend.parent = legendContainer;\n chart.events.on(\"datavalidated\", resizeLegend);\n chart.events.on(\"maxsizechanged\", resizeLegend);\n\n chart.legend.events.on(\"datavalidated\", resizeLegend);\n chart.legend.events.on(\"maxsizechanged\", resizeLegend);\n\n chart.legend.itemContainers.template.clickable = false;\n chart.legend.itemContainers.template.focusable = false;\n chart.legend.itemContainers.template.cursorOverStyle = am4core.MouseCursorStyle.default;\n\n function resizeLegend(ev) {\n document.getElementById(\"segmentlegenddiv\").style.height = chart.legend.contentHeight + \"px\";\n }\n let markerTemplate = chart.legend.markers.template;\n markerTemplate.width = 20;\n markerTemplate.height = 20;\n chart.legend.valueLabels.template.align = \"left\"\n chart.legend.valueLabels.template.textAlign = \"start\";\n chart.legend.labels.template.maxWidth = 150;\n chart.legend.labels.template.wrap = true;\n chart.legend.labels.template.truncate = false;\n chart.legend.itemContainers.template.tooltipText = \"{category}\";\n\n let series = chart.series.push(new am4charts.PieSeries());\n\n series.dataFields.category = \"category\";\n if (this.reportFilterObj.ReportValueType == 'units') {\n series.dataFields.value = \"unitvalue\";\n } else {\n series.dataFields.value = \"amountvalue\";\n }\n chart.legend.labels.template.text = \"[normal]{category}: [bold]{value.value}\";\n // chart.legend.scrollable = true;\n chart.legend.valueLabels.template.disabled = true;\n series.labels.template.text = \"{category}: {value.value}\";\n series.slices.template.tooltipText = \"{category}: {value.value}\";\n chart.legend.valueLabels.template.text = \"{value.value}\";\n series.slices.template.cursorOverStyle = am4core.MouseCursorStyle.pointer;\n //\n series.slices.template.events.on(\"hit\", function (ev) {\n that.onSegmentSliceClick(ev.target.dataItem.dataContext);\n series.slices.each(function (item) {\n if (item.isActive && item != ev.target) {\n item.isActive = false;\n }\n })\n });\n this.showLoader = false;\n }\n onSegmentSliceClick(sliceObj) {\n this.showLoader = true;\n this.reportFilterObj.Segment = sliceObj.Id;\n this.selectedSegment = sliceObj;\n this.isSegmentSelected = true;\n this.SubSegmentWisePieChart();\n }\n SubSegmentWisePieChart() {\n this.showLoader = true;\n let queryString = \"\";\n queryString += \"EnqType=\" + this.reportFilterObj.EnqType;\n queryString += \"&ReportValueType=\" + this.reportFilterObj.ReportValueType;\n queryString += \"&Year=\" + this.reportFilterObj.Year;\n queryString += \"&Region=\" + this.reportFilterObj.Region;\n queryString += \"&ProductLine=\" + this.reportFilterObj.ProductLine;\n queryString += \"&ProductSeries=\" + this.reportFilterObj.ProductSeries;\n queryString += \"&Productmodal=\" + this.reportFilterObj.Productmodal;\n queryString += \"&CustomerClass=\" + this.reportFilterObj.CustomerClass;\n queryString += \"&CustomerType=\" + this.reportFilterObj.CustomerType;\n queryString += \"&Segment=\" + this.reportFilterObj.Segment;\n queryString += \"&reporttype=\" + this.reportFilterObj.reporttype;\n queryString += \"¤cy=\" + this.reportFilterObj.curency;\n this.commonService.GetData(\"Report\", \"GetRegionSubSegmentReport\", queryString).subscribe((data: any) => {\n let chart = am4core.create(\"SubSegmentWiseBarChart\", am4charts.XYChart);\n // chart.exporting.menu = new am4core.ExportMenu();\n\n let title = chart.titles.create();\n title.text = this.selectedSegment.category;\n title.fontSize = 15;\n title.fontWeight = \"bold\";\n title.marginBottom = 30;\n chart.data = data.SubSegment;\n // //*************************************************************************** */\n const that = this;\n chart.events.on(\"beforedatavalidated\", function (ev) {\n // check if there's data\n var IsDataEmpty = false;\n var emptyUnits;\n if (that.reportFilterObj.ReportValueType == 'units') emptyUnits = chart.data.filter(x => x.unitvalue == 0);\n if (that.reportFilterObj.ReportValueType == 'amount') emptyUnits = chart.data.filter(x => x.amountvalue == 0);\n if (emptyUnits.length == chart.data.length) {\n chart.hidden = true;\n IsDataEmpty = true;\n }\n var indicator;\n if (IsDataEmpty) {\n that.showIndicator(chart, indicator);\n }\n else if (indicator) {\n that.hideIndicator(indicator);\n }\n else {\n chart.scrollbarX = new am4core.Scrollbar();\n chart.scrollbarY = new am4core.Scrollbar();\n // chart.cursor = new am4charts.XYCursor();\n chart.scrollbarX.exportable = false;\n chart.scrollbarY.exportable = false;\n chart.exporting.menu = new am4core.ExportMenu();\n let options = chart.exporting.getFormatOptions(\"pdf\");\n options.addURL = false;\n chart.exporting.setFormatOptions(\"pdf\", options);\n chart.exporting.filePrefix = \"SubSegmentReport\";\n /**************Custom Export**************** */\n chart.exporting.menu.items = [\n {\n \"label\": \"...\",\n \"menu\": [\n {\n \"label\": \"Image\",\n \"menu\": [\n { \"type\": \"png\", \"label\": \"PNG\" },\n { \"type\": \"jpg\", \"label\": \"JPG\" },\n // { \"type\": \"svg\", \"label\": \"SVG\" },\n { \"type\": \"pdf\", \"label\": \"PDF\" }\n ]\n }, {\n \"label\": \"Data\",\n \"menu\": [\n { \"type\": \"xlsx\", \"label\": \"XLSX\" },\n ]\n }, {\n \"label\": \"Print\", \"type\": \"print\"\n }\n ]\n }\n ];\n if (that.reportFilterObj.ReportValueType == \"amount\") {\n let title = chart.titles.create();\n title.text = \"[bold]All values are in \" + that.CurrencyLabel;\n title.fill = am4core.color(\"red\");\n title.fontSize = '14px';\n title.disabled = false;\n\n chart.exporting.dataFields = {\n \"category\": \"SubSegment\",\n \"amountvalue\": \"Amount(\" + that.CurrencyLabel + \")\",\n }\n }\n else {\n chart.exporting.dataFields = {\n \"category\": \"SubSegment\",\n \"unitvalue\": that.CurrencyLabel,\n }\n }\n\n /**************End Custom Export**************** */\n\n }\n\n });\n // //*************************************************************************** */\n let categoryAxis = chart.xAxes.push(new am4charts.CategoryAxis());\n categoryAxis.dataFields.category = \"category\";\n categoryAxis.renderer.grid.template.location = 0;\n categoryAxis.renderer.minGridDistance = 30;\n // categoryAxis.renderer.labels.template.rotation = -45;\n categoryAxis.renderer.labels.template.wrap = true;\n categoryAxis.renderer.labels.template.maxWidth = 100;\n // categoryAxis.renderer.labels.template.truncate = true;\n categoryAxis.renderer.labels.template.tooltipText = '{category}';\n /**************Scrolling Start End Point**************** */\n categoryAxis.start=0;\n categoryAxis.end=0.5;\n /**************End Scrolling Start End Point**************** */\n let valueAxis = chart.yAxes.push(new am4charts.ValueAxis());\n valueAxis.extraMax = 0.5;\n valueAxis.renderer.labels.template.adapter.add(\"text\", function (text, target) {\n let val = text == \"0.000\" ? \"0\" : text;\n return val;\n });\n valueAxis.min = 0;\n valueAxis.extraMax = 0.5;\n\n if (this.reportFilterObj.ReportValueType == 'units') {\n valueAxis.title.text = \"No.\";\n chart.numberFormatter.numberFormat = \"0\";\n valueAxis.renderer.labels.template.adapter.add(\"text\", function (text, target) {\n let val = parseFloat(text) % 1 != 0 ? \"\" : parseInt(text).toString();\n return val;\n });\n }\n else {\n // if (this.reportFilterObj.curency == 1) valueAxis.title.text = \"USD\";\n // if (this.reportFilterObj.curency == 2) valueAxis.title.text = \"EURO\";\n // if (this.reportFilterObj.curency == 3) valueAxis.title.text = \"INR\";\n if (this.reportFilterObj.currencycode == \"USD\") valueAxis.title.text = \"USD\";\n if (this.reportFilterObj.currencycode == \"Euro\") valueAxis.title.text = \"EURO\";\n //if (this.reportFilterObj.currencycode == \"INR\") valueAxis.title.text = \"INR\";\n if (this.reportFilterObj.currencycode == \"VND\") valueAxis.title.text = 'VND';\n if (this.reportFilterObj.currencycode == \"IDR\") valueAxis.title.text = 'IDR';\n if (this.reportFilterObj.currencycode == \"PHP\") valueAxis.title.text = 'PHP';\n if (this.reportFilterObj.currencycode == \"THB\") valueAxis.title.text = 'THB';\n if (this.reportFilterObj.currencycode == \"MYR\") valueAxis.title.text = 'MYR';\n if (this.reportFilterObj.currencycode == \"SGD\") valueAxis.title.text= 'SGD';\n // chart.numberFormatter.numberFormat = \"0.000\";\n }\n\n\n // Create series\n let columnSeries = chart.series.push(new am4charts.ColumnSeries());\n if (this.reportFilterObj.ReportValueType == 'units') {\n columnSeries.dataFields.valueY = \"unitvalue\";\n } else {\n columnSeries.dataFields.valueY = \"amountvalue\";\n }\n columnSeries.dataFields.categoryX = \"category\";\n\n columnSeries.columns.template.tooltipText = \"{categoryX}: [bold]{valueY}[/]\";\n columnSeries.columns.template.propertyFields.fillOpacity = \"fillOpacity\";\n columnSeries.columns.template.propertyFields.stroke = \"stroke\";\n columnSeries.columns.template.propertyFields.strokeWidth = \"strokeWidth\";\n columnSeries.columns.template.propertyFields.strokeDasharray = \"columnDash\";\n columnSeries.tooltip.label.textAlign = \"middle\";\n columnSeries.tooltip.getFillFromObject = false;\n columnSeries.tooltip.background.fill = am4core.color(\"#4a463c\");\n columnSeries.columns.template.interactionsEnabled = true;\n let colLabel = columnSeries.bullets.push(new am4charts.LabelBullet);\n colLabel.label.text = \"{valueY}\";\n //colLabel.label.rotation = 0;\n colLabel.label.fontSize = 9;\n colLabel.label.padding(0, 0, 20, 0);\n colLabel.label.truncate = false;\n colLabel.label.hideOversized = false;\n\n this.showLoader = false;\n }, error => {\n this.showLoader = false;\n });\n\n }\n onEnqTypeChange() {\n this.RegionWisePieChart();\n }\n onReportValueTypeChange() {\n if (this.reportFilterObj.ReportValueType == \"amount\") {\n // if (this.reportFilterObj.curency == 1) this.CurrencyLabel = \"USD\";\n // if (this.reportFilterObj.curency == 2) this.CurrencyLabel = \"EURO\";\n // if (this.reportFilterObj.curency == 3) this.CurrencyLabel = \"INR\";\n this.reportFilterObj.currencycode = this.CurrencyList.filter(x => x.Id == this.reportFilterObj.curency)[0]?.CurrencyCode;\n if (this.reportFilterObj.currencycode == \"USD\") this.CurrencyLabel = \"USD\";\n if (this.reportFilterObj.currencycode == \"Euro\") this.CurrencyLabel = \"EURO\";\n //if (this.reportFilterObj.currencycode == \"INR\") this.CurrencyLabel = \"INR\";\n if (this.reportFilterObj.currencycode == \"VND\") this.CurrencyLabel = 'VND';\n if (this.reportFilterObj.currencycode == \"IDR\") this.CurrencyLabel = 'IDR';\n if (this.reportFilterObj.currencycode == \"PHP\") this.CurrencyLabel = 'PHP';\n if (this.reportFilterObj.currencycode == \"THB\") this.CurrencyLabel = 'THB';\n if (this.reportFilterObj.currencycode == \"MYR\") this.CurrencyLabel = 'MYR';\n if (this.reportFilterObj.currencycode == \"SGD\") this.CurrencyLabel = 'SGD';\n }\n else {\n this.CurrencyLabel = \"No's\";\n }\n this.RegionWisePieChart();\n }\n onCurrencyChange() {\n this.RegionWisePieChart();\n }\n AllRegionChange(event: any) {\n if (event.checked) {\n this.reportFilterObj.Region = 0;\n this.selectedRegion = undefined;\n this.RegionWisePieChart();\n }\n }\n generatePDF() {\n this.showLoader = true;\n let finaldata = document.getElementById('ExportQuotation').innerHTML;\n let finalheaderdata = document.getElementById('ExportQuotationHeader').innerHTML;\n\n const oobj = {\n \"Htmlcontent\": finaldata + '',\n \"HeaderHTML\": finalheaderdata + '',\n \"enquiryid\": 87,\n \"fileName\": 'DemoPDF_' + 87,\n }\n this.commonService.getpdf('Enquiry', 'getPDF', oobj).subscribe(result => {\n const url = this.QuotationPdfGenerationHostPath+ 'uploads/pdf/' + result;\n this.toastr.success('Data Exported Successfuly!');\n\n this.showLoader = false;\n\n })\n }\n}\n","\n\n
    \n\n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n

    \n Region Data\n

    \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n\n
    \n
    \n\n
    \n \n All Regions\n \n
    \n \n * Click on slice to see data Region wise.\n
    \n
    \n \n
    \n
    \n
    \n\n
    \n
    \n\n \n
    \n
    \n
    \n
    \n

    \n Product Line Data (Region:\n {{selectedRegion == undefined ? 'All': selectedRegion.category}})\n

    \n
    \n
    \n
    \n\n
    \n
    \n \n * Click on slice to see data in details.\n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n

    \n Product Series Data (Region:\n {{selectedRegion == undefined ? 'All': selectedRegion.category}})\n

    \n
    \n
    \n
    \n\n
    \n
    \n \n * Click on bar to see data in details.\n
    \n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n

    \n Customer Classification Data (Region:\n {{selectedRegion == undefined ? 'All': selectedRegion.category}})\n

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

    \n Customer Type Data (Region:\n {{selectedRegion == undefined ? 'All': selectedRegion.category}})\n

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

    \n Segment (Region:\n {{selectedRegion == undefined ? 'All': selectedRegion.category}})\n

    \n
    \n
    \n
    \n
    \n
    \n \n * Click on slice to see segment data in details.\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n\n \n
    \n
    \n
    \n
    \n

    \n Sub Segment (Region:\n {{selectedRegion == undefined ? 'All': selectedRegion.category}})\n

    \n
    \n
    \n
    \n
    \n\n
    \n\n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n\n\n
    \n
    \n\n\n\n","import { Component, OnInit, Input, ElementRef, ViewChild } from '@angular/core';\nimport * as am4core from \"@amcharts/amcharts4/core\";\nimport * as am4charts from \"@amcharts/amcharts4/charts\";\nimport am4themes_animated from \"@amcharts/amcharts4/themes/animated\";\nimport { ToastrService } from 'ngx-toastr';\nimport { CommonService } from 'src/app/Service/common.service';\nimport { SlowBuffer } from 'buffer';\nimport { ReportFilterViewModel } from 'src/app/Model/ReportFilterModel';\nimport { ActivatedRoute } from '@angular/router';\nimport { Title } from '@angular/platform-browser';\nimport { AppGlobals } from 'src/app/app.global';\nimport { AppConfigService } from 'src/app/Service/app-config.service';\n\n@Component({\n selector: 'app-segmentwise-report',\n templateUrl: './segmentwise-report.component.html',\n styleUrls: ['./segmentwise-report.component.scss']\n})\nexport class SegmentwiseReportComponent implements OnInit {\n @Input()\n showLoader: boolean = false;\n regionList: any[] = [];\n SelectedRegion: any = undefined;\n\n reportFilterObj: ReportFilterViewModel = new ReportFilterViewModel();\n\n isProductLineSelected: boolean = false;\n isProductSeriesSelected: boolean = false;\n isProductModelSelected: boolean = false;\n chartData: { category: string; value: number; }[];\n selectedProductLine: any;\n selectedProductSeries: any;\n productlineData: any;\n regionData: any;\n customerclassdata: any;\n customertypedata: any;\n segmentData: any;\n YearList: any[]=[];\n currYear: number = new Date().getFullYear();\n productseriesData: { category: string; value: number; }[];\n producModeleData: { category: string; value: number; }[];\n selectedSegment: any;\n isSegmentSelected: boolean = false;\n isAllSegments: boolean = true;\n CurrencyList: any;\n CurrencyLabel: string = \"\";\n VariantLabel: string = \"\";\n @ViewChild('fiterElement') fiterElement: ElementRef;\n\n\n constructor(private toastr: ToastrService, private commonService: CommonService,\n private titleService: Title, private route: ActivatedRoute, private appConfigService : AppConfigService) { }\n \n ngOnInit() {\n this.commonService.RefreshHeaderFun();\n const appConfig = this.appConfigService.getConfig();\n const dynamicTitle = this.route.snapshot.data['title'];\n this.titleService.setTitle(`${dynamicTitle} - ${appConfig.titleName}`);\n // this.titleService.setTitle(this.route.snapshot.data['title'] + \" - ECOTECH\");\n this.showLoader = true;\n this.reportFilterObj = new ReportFilterViewModel();\n this.reportFilterObj.EnqType = \"quotation\";\n this.reportFilterObj.ReportValueType = \"amount\";\n this.reportFilterObj.Segment = \"0\";\n this.reportFilterObj.reporttype = \"Segment\";\n this.reportFilterObj.Year = new Date().getFullYear();\n // this.YearList = AppGlobals.YearsConstant;\n let k = 1;\n for (let i = 2018; i <= this.currYear; i++) {\n let batch =i;\n this.YearList.push(batch);\n k++;\n }\n this.getCurrencyList();\n }\n onYearChange() {\n this.SegmentWisePieChart();\n }\n // getYearList() {\n // this.commonService.GetData(\"Dashboard\", \"GetYearList\", null).subscribe((data: any) => {\n // this.YearList = data;\n // var check = this.YearList.filter(x=>x==new Date().getFullYear())[0];\n // if (check.length==0) this.YearList.push(new Date().getFullYear());\n // },\n // error => {\n // this.toastr.error(\"Failed to load year list!\");\n // this.showLoader = false;\n // });\n // }\n getCurrencyList() {\n this.commonService.GetData(\"Currency\", \"GetAll\", null).subscribe((data: any) => {\n this.CurrencyList = data;\n this.reportFilterObj.currencycode = this.CurrencyList.filter(x => x.Name == 'Euro (€)')[0]?.CurrencyCode;\n this.reportFilterObj.curency = this.CurrencyList.filter(x => x.CurrencyCode == this.reportFilterObj.currencycode)[0]?.Id;\n if (this.reportFilterObj.ReportValueType == \"amount\") {\n // if (this.reportFilterObj.curency == 1) this.CurrencyLabel = \"USD\";\n // if (this.reportFilterObj.curency == 2) this.CurrencyLabel = \"EURO\";\n // if (this.reportFilterObj.curency == 3) this.CurrencyLabel = \"INR\";\n if (this.reportFilterObj.currencycode == \"USD\") this.CurrencyLabel = \"USD\";\n if (this.reportFilterObj.currencycode == \"Euro\") this.CurrencyLabel = \"EURO\";\n //if (this.reportFilterObj.currencycode == \"INR\") this.CurrencyLabel = \"INR\";\n if (this.reportFilterObj.currencycode == \"VND\") this.CurrencyLabel = 'VND';\n if (this.reportFilterObj.currencycode == \"IDR\") this.CurrencyLabel = 'IDR';\n if (this.reportFilterObj.currencycode == \"PHP\") this.CurrencyLabel = 'PHP';\n if (this.reportFilterObj.currencycode == \"THB\") this.CurrencyLabel = 'THB';\n if (this.reportFilterObj.currencycode == \"MYR\") this.CurrencyLabel = 'MYR';\n if (this.reportFilterObj.currencycode == \"SGD\") this.CurrencyLabel = 'SGD';\n }\n else {\n this.CurrencyLabel = \"No's\";\n }\n this.SegmentWisePieChart();\n setTimeout(() => {\n this.fiterElement.nativeElement.focus();\n }, 0);\n },\n error => {\n this.toastr.error(\"Failed to load currency list!\");\n this.showLoader = false;\n });\n }\n SegmentWisePieChart() {\n const that = this;\n this.showLoader = true;\n this.isSegmentSelected = false;\n this.isProductLineSelected = false;\n this.isProductSeriesSelected = false;\n let queryString = \"\";\n queryString += \"EnqType=\" + this.reportFilterObj.EnqType;\n queryString += \"&ReportValueType=\" + this.reportFilterObj.ReportValueType;\n queryString += \"&Year=\" + this.reportFilterObj.Year;\n queryString += \"&Region=\" + this.reportFilterObj.Region;\n queryString += \"&ProductLine=\" + this.reportFilterObj.ProductLine;\n queryString += \"&ProductSeries=\" + this.reportFilterObj.ProductSeries;\n queryString += \"&Productmodal=\" + this.reportFilterObj.Productmodal;\n queryString += \"&CustomerClass=\" + this.reportFilterObj.CustomerClass;\n queryString += \"&CustomerType=\" + this.reportFilterObj.CustomerType;\n queryString += \"&Segment=\" + this.reportFilterObj.Segment;\n queryString += \"&reporttype=\" + this.reportFilterObj.reporttype;\n queryString += \"¤cy=\" + this.reportFilterObj.curency;\n this.commonService.GetData(\"Report\", \"GetRegionReport\", queryString).subscribe((data: any) => {\n let chart = am4core.create(\"SegmentWisePieChart\", am4charts.PieChart);\n // chart.exporting.menu = new am4core.ExportMenu();\n chart.legend = new am4charts.Legend();\n chart.legend.labels.template.text = \"{category}: {value.value}\";\n chart.hiddenState.properties.opacity = 0;\n\n setTimeout(() => {\n this.ProductWisePieChart();\n this.CustomerClassWisePieChart();\n this.CustomerTypeWisePieChart();\n this.RegionWisePieChart();\n this.showLoader = false;\n }, 3000);\n\n this.regionData = data.Region;\n this.productlineData = data.ProductLine;\n this.customerclassdata = data.CustomerClass;\n this.customertypedata = data.CustomerType;\n this.segmentData = data.Segment;\n chart.data = this.segmentData;\n // //*************************************************************************** */\n\n chart.events.on(\"beforedatavalidated\", function (ev) {\n // check if there's data\n var IsDataEmpty = false;\n var emptyUnits;\n if (that.reportFilterObj.ReportValueType == 'units') emptyUnits = chart.data.filter(x => x.unitvalue == 0);\n if (that.reportFilterObj.ReportValueType == 'amount') emptyUnits = chart.data.filter(x => x.amountvalue == 0);\n if (emptyUnits.length == chart.data.length) {\n chart.hidden = true;\n IsDataEmpty = true;\n }\n var indicator;\n if (IsDataEmpty) {\n that.showIndicator(chart, indicator);\n }\n else if (indicator) {\n that.hideIndicator(indicator);\n }\n else {\n chart.exporting.menu = new am4core.ExportMenu();\n let options = chart.exporting.getFormatOptions(\"pdf\");\n options.addURL = false;\n chart.exporting.setFormatOptions(\"pdf\", options);\n chart.exporting.filePrefix = \"SegmentReport\";\n /**************Custom Export**************** */\n chart.exporting.menu.items = [\n {\n \"label\": \"...\",\n \"menu\": [\n {\n \"label\": \"Image\",\n \"menu\": [\n { \"type\": \"png\", \"label\": \"PNG\" },\n { \"type\": \"jpg\", \"label\": \"JPG\" },\n // { \"type\": \"svg\", \"label\": \"SVG\" },\n { \"type\": \"pdf\", \"label\": \"PDF\" }\n ]\n }, {\n \"label\": \"Data\",\n \"menu\": [\n { \"type\": \"xlsx\", \"label\": \"XLSX\" },\n ]\n }, {\n \"label\": \"Print\", \"type\": \"print\"\n }\n ]\n }\n ];\n chart.exporting.extraSprites.push({\n \"sprite\": legendContainer,\n \"position\": \"bottom\",\n \"marginTop\": 30\n });\n if (that.reportFilterObj.ReportValueType == \"amount\") {\n let title = chart.titles.create();\n title.text = \"[bold]All values are in \" + that.CurrencyLabel;\n title.fill = am4core.color(\"red\");\n title.fontSize = '14px';\n title.disabled = false;\n chart.exporting.dataFields = {\n \"category\": \"Segment\",\n \"amountvalue\": \"Amount(\" + that.CurrencyLabel + \")\",\n }\n }\n else {\n chart.exporting.dataFields = {\n \"category\": \"Segment\",\n \"unitvalue\": that.CurrencyLabel,\n }\n }\n\n /**************End Custom Export**************** */\n\n }\n });\n // //*************************************************************************** */\n chart.legend = new am4charts.Legend();\n chart.legend.itemContainers.template.tooltipText = \"{category}\";\n let legendContainer = am4core.create(\"legenddiv\", am4core.Container);\n legendContainer.width = am4core.percent(100);\n legendContainer.height = am4core.percent(100);\n chart.legend.parent = legendContainer;\n chart.events.on(\"datavalidated\", resizeLegend);\n chart.events.on(\"maxsizechanged\", resizeLegend);\n\n chart.legend.events.on(\"datavalidated\", resizeLegend);\n chart.legend.events.on(\"maxsizechanged\", resizeLegend);\n chart.legend.itemContainers.template.clickable = false;\n chart.legend.itemContainers.template.focusable = false;\n chart.legend.itemContainers.template.cursorOverStyle = am4core.MouseCursorStyle.default;\n function resizeLegend(ev) {\n document.getElementById(\"legenddiv\").style.height = chart.legend.contentHeight + \"px\";\n }\n var series = chart.series.push(new am4charts.PieSeries());\n\n series.dataFields.category = \"category\";\n if (this.reportFilterObj.ReportValueType == \"units\") {\n series.dataFields.value = \"unitvalue\";\n } else {\n series.dataFields.value = \"amountvalue\";\n }\n\n chart.legend.labels.template.text = \"[normal]{category}: [bold]{value.value}\";\n // chart.legend.scrollable = true;\n chart.legend.valueLabels.template.disabled = true;\n let markerTemplate = chart.legend.markers.template;\n markerTemplate.width = 20;\n markerTemplate.height = 20;\n chart.legend.valueLabels.template.align = \"left\"\n chart.legend.valueLabels.template.textAlign = \"start\"\n chart.legend.labels.template.maxWidth = 150;\n chart.legend.labels.template.wrap = true;\n chart.legend.labels.template.truncate = false;\n series.labels.template.text = \"{category}: {value.value}\";\n series.slices.template.tooltipText = \"{category}: {value.value}\";\n chart.legend.valueLabels.template.text = \"{value.value}\";\n series.slices.template.cursorOverStyle = am4core.MouseCursorStyle.pointer;\n //\n series.slices.template.events.on(\"hit\", function (ev) {\n that.onSegmentSliceClick(ev.target.dataItem.dataContext);\n series.slices.each(function (item) {\n if (item.isActive && item != ev.target) {\n item.isActive = false;\n }\n })\n });\n }, error => {\n this.showLoader = false;\n });\n }\n onSegmentSliceClick(sliceObj) {\n const that = this;\n this.showLoader = true;\n this.reportFilterObj.Segment = sliceObj.Id;\n this.selectedSegment = sliceObj;\n this.isSegmentSelected = true;\n this.isAllSegments = false;\n this.isProductSeriesSelected = false;\n this.SubSegmentWisePieChart();\n this.callSegmentChart();\n }\n callSegmentChart() {\n this.showLoader = true;\n let queryString = \"\";\n queryString += \"EnqType=\" + this.reportFilterObj.EnqType;\n queryString += \"&ReportValueType=\" + this.reportFilterObj.ReportValueType;\n queryString += \"&Year=\" + this.reportFilterObj.Year;\n queryString += \"&Region=\" + this.reportFilterObj.Region;\n queryString += \"&ProductLine=\" + this.reportFilterObj.ProductLine;\n queryString += \"&ProductSeries=\" + this.reportFilterObj.ProductSeries;\n queryString += \"&Productmodal=\" + this.reportFilterObj.Productmodal;\n queryString += \"&CustomerClass=\" + this.reportFilterObj.CustomerClass;\n queryString += \"&CustomerType=\" + this.reportFilterObj.CustomerType;\n queryString += \"&Segment=\" + this.reportFilterObj.Segment;\n queryString += \"&reporttype=\" + this.reportFilterObj.reporttype;\n queryString += \"¤cy=\" + this.reportFilterObj.curency;\n this.commonService.GetData(\"Report\", \"GetRegionReport\", queryString).subscribe((data: any) => {\n this.regionData = data.Region;\n this.productlineData = data.ProductLine;\n this.customerclassdata = data.CustomerClass;\n this.customertypedata = data.CustomerType;\n this.segmentData = data.Segment;\n setTimeout(() => {\n this.ProductWisePieChart();\n this.CustomerClassWisePieChart();\n this.CustomerTypeWisePieChart();\n this.RegionWisePieChart();\n this.showLoader = false;\n }, 3000);\n\n }, error => {\n this.showLoader = false;\n });\n\n }\n SubSegmentWisePieChart() {\n this.showLoader = true;\n let queryString = \"\";\n queryString += \"EnqType=\" + this.reportFilterObj.EnqType;\n queryString += \"&ReportValueType=\" + this.reportFilterObj.ReportValueType;\n queryString += \"&Year=\" + this.reportFilterObj.Year;\n queryString += \"&Region=\" + this.reportFilterObj.Region;\n queryString += \"&ProductLine=\" + this.reportFilterObj.ProductLine;\n queryString += \"&ProductSeries=\" + this.reportFilterObj.ProductSeries;\n queryString += \"&Productmodal=\" + this.reportFilterObj.Productmodal;\n queryString += \"&CustomerClass=\" + this.reportFilterObj.CustomerClass;\n queryString += \"&CustomerType=\" + this.reportFilterObj.CustomerType;\n queryString += \"&Segment=\" + this.reportFilterObj.Segment;\n queryString += \"&reporttype=\" + this.reportFilterObj.reporttype;\n queryString += \"¤cy=\" + this.reportFilterObj.curency;\n this.commonService.GetData(\"Report\", \"GetRegionSubSegmentReport\", queryString).subscribe((data: any) => {\n let chart = am4core.create(\"SubSegmentWiseBarChart\", am4charts.XYChart);\n // chart.exporting.menu = new am4core.ExportMenu();\n\n let title = chart.titles.create();\n title.text = this.selectedSegment.category;\n title.fontSize = 15;\n title.fontWeight = \"bold\";\n title.marginBottom = 30;\n\n\n chart.data = data.SubSegment;\n // //*************************************************************************** */\n const that = this;\n chart.events.on(\"beforedatavalidated\", function (ev) {\n // check if there's data\n var IsDataEmpty = false;\n var emptyUnits;\n if (that.reportFilterObj.ReportValueType == 'units') emptyUnits = chart.data.filter(x => x.unitvalue == 0);\n if (that.reportFilterObj.ReportValueType == 'amount') emptyUnits = chart.data.filter(x => x.amountvalue == 0);\n if (emptyUnits.length == chart.data.length) {\n chart.hidden = true;\n IsDataEmpty = true;\n }\n var indicator;\n if (IsDataEmpty) {\n that.showIndicator(chart, indicator);\n }\n else if (indicator) {\n that.hideIndicator(indicator);\n }\n else {\n chart.scrollbarX = new am4core.Scrollbar();\n chart.scrollbarY = new am4core.Scrollbar();\n // chart.cursor = new am4charts.XYCursor();\n chart.scrollbarX.exportable = false;\n chart.scrollbarY.exportable = false;\n chart.exporting.menu = new am4core.ExportMenu();\n let options = chart.exporting.getFormatOptions(\"pdf\");\n options.addURL = false;\n chart.exporting.setFormatOptions(\"pdf\", options);\n chart.exporting.filePrefix = \"SubSegmentReport\";\n /**************Custom Export**************** */\n chart.exporting.menu.items = [\n {\n \"label\": \"...\",\n \"menu\": [\n {\n \"label\": \"Image\",\n \"menu\": [\n { \"type\": \"png\", \"label\": \"PNG\" },\n { \"type\": \"jpg\", \"label\": \"JPG\" },\n // { \"type\": \"svg\", \"label\": \"SVG\" },\n { \"type\": \"pdf\", \"label\": \"PDF\" }\n ]\n }, {\n \"label\": \"Data\",\n \"menu\": [\n { \"type\": \"xlsx\", \"label\": \"XLSX\" },\n ]\n }, {\n \"label\": \"Print\", \"type\": \"print\"\n }\n ]\n }\n ];\n if (that.reportFilterObj.ReportValueType == \"amount\") {\n let title = chart.titles.create();\n title.text = \"[bold]All values are in \" + that.CurrencyLabel;\n title.fill = am4core.color(\"red\");\n title.fontSize = '14px';\n title.disabled = false;\n chart.exporting.dataFields = {\n \"category\": \"SubSegment\",\n \"amountvalue\": \"Amount(\" + that.CurrencyLabel + \")\",\n }\n }\n else {\n chart.exporting.dataFields = {\n \"category\": \"SubSegment\",\n \"unitvalue\": that.CurrencyLabel,\n }\n }\n\n /**************End Custom Export**************** */\n }\n });\n // //*************************************************************************** */\n var categoryAxis = chart.xAxes.push(new am4charts.CategoryAxis());\n categoryAxis.dataFields.category = \"category\";\n categoryAxis.renderer.grid.template.location = 0;\n categoryAxis.renderer.minGridDistance = 30;\n //categoryAxis.renderer.labels.template.rotation = -45;\n categoryAxis.renderer.labels.template.maxWidth = 100;\n categoryAxis.renderer.labels.template.wrap = true;\n // categoryAxis.renderer.labels.template.truncate = true;\n categoryAxis.renderer.labels.template.tooltipText = '{category}';\n /**************Scrolling Start End Point**************** */\n categoryAxis.start=0;\n categoryAxis.end=0.5;\n /**************End Scrolling Start End Point**************** */\n var valueAxis = chart.yAxes.push(new am4charts.ValueAxis());\n valueAxis.extraMax = 0.5;\n valueAxis.renderer.labels.template.adapter.add(\"text\", function (text, target) {\n var val = text == \"0.000\" ? \"0\" : text;\n return val;\n });\n if (this.reportFilterObj.ReportValueType == \"units\") {\n valueAxis.title.text = \"No.\";\n chart.numberFormatter.numberFormat = \"0\";\n valueAxis.renderer.labels.template.adapter.add(\"text\", function (text, target) {\n var val = parseFloat(text) % 1 != 0 ? \"\" : parseInt(text).toString();\n return val;\n });\n }\n else {\n // if (this.reportFilterObj.curency == 1) valueAxis.title.text = \"USD\";\n // if (this.reportFilterObj.curency == 2) valueAxis.title.text = \"EURO\";\n // if (this.reportFilterObj.curency == 3) valueAxis.title.text = \"INR\";\n if (this.reportFilterObj.currencycode == \"USD\") valueAxis.title.text = \"USD\";\n if (this.reportFilterObj.currencycode == \"Euro\") valueAxis.title.text = \"EURO\";\n //if (this.reportFilterObj.currencycode == \"INR\") valueAxis.title.text = \"INR\";\n if (this.reportFilterObj.currencycode == \"VND\") valueAxis.title.text = 'VND';\n if (this.reportFilterObj.currencycode == \"IDR\") valueAxis.title.text = 'IDR';\n if (this.reportFilterObj.currencycode == \"PHP\") valueAxis.title.text = 'PHP';\n if (this.reportFilterObj.currencycode == \"THB\") valueAxis.title.text = 'THB';\n if (this.reportFilterObj.currencycode == \"MYR\") valueAxis.title.text = 'MYR';\n if (this.reportFilterObj.currencycode == \"SGD\") valueAxis.title.text= 'SGD';\n // chart.numberFormatter.numberFormat = \"0.000\";\n }\n\n // Create series\n var columnSeries = chart.series.push(new am4charts.ColumnSeries());\n if (this.reportFilterObj.ReportValueType == \"units\") {\n columnSeries.dataFields.valueY = \"unitvalue\";\n } else {\n columnSeries.dataFields.valueY = \"amountvalue\";\n }\n columnSeries.dataFields.categoryX = \"category\";\n columnSeries.columns.template.tooltipText = \"{categoryX}: [bold]{valueY}[/]\";\n columnSeries.columns.template.propertyFields.fillOpacity = \"fillOpacity\";\n columnSeries.columns.template.propertyFields.stroke = \"stroke\";\n columnSeries.columns.template.propertyFields.strokeWidth = \"strokeWidth\";\n columnSeries.columns.template.propertyFields.strokeDasharray = \"columnDash\";\n columnSeries.tooltip.label.textAlign = \"middle\";\n columnSeries.tooltip.getFillFromObject = false;\n columnSeries.tooltip.background.fill = am4core.color(\"#4a463c\");\n let colLabel = columnSeries.bullets.push(new am4charts.LabelBullet);\n colLabel.label.text = \"{valueY}\";\n //colLabel.label.rotation = 0;\n colLabel.label.fontSize = 9;\n colLabel.label.padding(0, 0, 20, 0);\n colLabel.label.truncate = false;\n colLabel.label.hideOversized = false;\n\n columnSeries.columns.template.interactionsEnabled = true;\n\n this.showLoader = false;\n }, error => {\n this.showLoader = false;\n });\n\n }\n CustomerClassWisePieChart() {\n let chart = am4core.create(\"CustomerClassWisePieChart\", am4charts.PieChart);\n let title = chart.titles.create();\n title.text = \"Customer Classification\";\n title.fontSize = 15;\n title.fontWeight = \"bold\";\n title.marginBottom = 30;\n // chart.exporting.menu = new am4core.ExportMenu();\n chart.legend = new am4charts.Legend();\n chart.hiddenState.properties.opacity = 0;\n chart.data = this.customerclassdata;\n // //*************************************************************************** */\n const that = this;\n chart.events.on(\"beforedatavalidated\", function (ev) {\n // check if there's data\n var IsDataEmpty = false;\n var emptyUnits;\n if (that.reportFilterObj.ReportValueType == 'units') emptyUnits = chart.data.filter(x => x.unitvalue == 0);\n if (that.reportFilterObj.ReportValueType == 'amount') emptyUnits = chart.data.filter(x => x.amountvalue == 0);\n if (emptyUnits.length == chart.data.length) {\n chart.hidden = true;\n IsDataEmpty = true;\n }\n var indicator;\n if (IsDataEmpty) {\n that.showIndicator(chart, indicator);\n }\n else if (indicator) {\n that.hideIndicator(indicator);\n }\n else {\n chart.exporting.menu = new am4core.ExportMenu();\n let options = chart.exporting.getFormatOptions(\"pdf\");\n options.addURL = false;\n chart.exporting.setFormatOptions(\"pdf\", options);\n chart.exporting.filePrefix = \"CustomerClassificationReport\";\n /**************Custom Export**************** */\n chart.exporting.menu.items = [\n {\n \"label\": \"...\",\n \"menu\": [\n {\n \"label\": \"Image\",\n \"menu\": [\n { \"type\": \"png\", \"label\": \"PNG\" },\n { \"type\": \"jpg\", \"label\": \"JPG\" },\n // { \"type\": \"svg\", \"label\": \"SVG\" },\n { \"type\": \"pdf\", \"label\": \"PDF\" }\n ]\n }, {\n \"label\": \"Data\",\n \"menu\": [\n { \"type\": \"xlsx\", \"label\": \"XLSX\" },\n ]\n }, {\n \"label\": \"Print\", \"type\": \"print\"\n }\n ]\n }\n ];\n chart.exporting.extraSprites.push({\n \"sprite\": legendContainer,\n \"position\": \"bottom\",\n \"marginTop\": 30\n });\n if (that.reportFilterObj.ReportValueType == \"amount\") {\n let title = chart.titles.create();\n title.text = \"[bold]All values are in \" + that.CurrencyLabel;\n title.fill = am4core.color(\"red\");\n title.fontSize = '14px';\n title.disabled = false;\n chart.exporting.dataFields = {\n \"category\": \"CustomerClassification\",\n \"amountvalue\": \"Amount(\" + that.CurrencyLabel + \")\",\n }\n }\n else {\n chart.exporting.dataFields = {\n \"category\": \"CustomerClassification\",\n \"unitvalue\": that.CurrencyLabel,\n }\n }\n\n /**************End Custom Export**************** */\n\n }\n });\n // //*************************************************************************** */\n chart.legend = new am4charts.Legend();\n chart.legend.itemContainers.template.tooltipText = \"{category}\";\n let legendContainer = am4core.create(\"cclegenddiv\", am4core.Container);\n legendContainer.width = am4core.percent(100);\n legendContainer.height = am4core.percent(100);\n chart.legend.parent = legendContainer;\n chart.events.on(\"datavalidated\", resizeLegend);\n chart.events.on(\"maxsizechanged\", resizeLegend);\n\n chart.legend.events.on(\"datavalidated\", resizeLegend);\n chart.legend.events.on(\"maxsizechanged\", resizeLegend);\n chart.legend.itemContainers.template.clickable = false;\n chart.legend.itemContainers.template.focusable = false;\n chart.legend.itemContainers.template.cursorOverStyle = am4core.MouseCursorStyle.default;\n function resizeLegend(ev) {\n document.getElementById(\"cclegenddiv\").style.height = chart.legend.contentHeight + \"px\";\n }\n chart.legend.itemContainers.template.tooltipText = \"{category}\";\n var series = chart.series.push(new am4charts.PieSeries());\n series.dataFields.category = \"category\";\n if (this.reportFilterObj.ReportValueType == \"units\") {\n series.dataFields.value = \"unitvalue\";\n } else {\n series.dataFields.value = \"amountvalue\";\n }\n chart.legend.labels.template.text = \"[normal]{category}: [bold]{value.value}\";\n // chart.legend.scrollable = true;\n chart.legend.valueLabels.template.disabled = true;\n let markerTemplate = chart.legend.markers.template;\n markerTemplate.width = 20;\n markerTemplate.height = 20;\n chart.legend.valueLabels.template.align = \"left\"\n chart.legend.valueLabels.template.textAlign = \"start\"\n chart.legend.labels.template.maxWidth = 150;\n chart.legend.labels.template.wrap = true;\n chart.legend.labels.template.truncate = false;\n series.labels.template.text = \"{category}: {value.value}\";\n series.slices.template.tooltipText = \"{category}: {value.value}\";\n chart.legend.valueLabels.template.text = \"{value.value}\";\n series.slices.template.cursorOverStyle = am4core.MouseCursorStyle.pointer;\n //\n }\n CustomerTypeWisePieChart() {\n let chart = am4core.create(\"CustomerTypeWisePieChart\", am4charts.PieChart);\n let title = chart.titles.create();\n title.text = \"Customer Type\";\n title.fontSize = 15;\n title.fontWeight = \"bold\";\n title.marginBottom = 30;\n // chart.exporting.menu = new am4core.ExportMenu();\n chart.legend = new am4charts.Legend();\n chart.hiddenState.properties.opacity = 0;\n chart.data = this.customertypedata;\n // //*************************************************************************** */\n const that = this;\n chart.events.on(\"beforedatavalidated\", function (ev) {\n // check if there's data\n var IsDataEmpty = false;\n var emptyUnits;\n if (that.reportFilterObj.ReportValueType == 'units') emptyUnits = chart.data.filter(x => x.unitvalue == 0);\n if (that.reportFilterObj.ReportValueType == 'amount') emptyUnits = chart.data.filter(x => x.amountvalue == 0);\n if (emptyUnits.length == chart.data.length) {\n chart.hidden = true;\n IsDataEmpty = true;\n }\n var indicator;\n if (IsDataEmpty) {\n that.showIndicator(chart, indicator);\n }\n else if (indicator) {\n that.hideIndicator(indicator);\n }\n else {\n chart.exporting.menu = new am4core.ExportMenu();\n let options = chart.exporting.getFormatOptions(\"pdf\");\n options.addURL = false;\n chart.exporting.setFormatOptions(\"pdf\", options);\n chart.exporting.filePrefix = \"CustomerTypeReport\";\n /**************Custom Export**************** */\n chart.exporting.menu.items = [\n {\n \"label\": \"...\",\n \"menu\": [\n {\n \"label\": \"Image\",\n \"menu\": [\n { \"type\": \"png\", \"label\": \"PNG\" },\n { \"type\": \"jpg\", \"label\": \"JPG\" },\n // { \"type\": \"svg\", \"label\": \"SVG\" },\n { \"type\": \"pdf\", \"label\": \"PDF\" }\n ]\n }, {\n \"label\": \"Data\",\n \"menu\": [\n { \"type\": \"xlsx\", \"label\": \"XLSX\" },\n ]\n }, {\n \"label\": \"Print\", \"type\": \"print\"\n }\n ]\n }\n ];\n chart.exporting.extraSprites.push({\n \"sprite\": legendContainer,\n \"position\": \"bottom\",\n \"marginTop\": 30\n });\n if (that.reportFilterObj.ReportValueType == \"amount\") {\n let title = chart.titles.create();\n title.text = \"[bold]All values are in \" + that.CurrencyLabel;\n title.fill = am4core.color(\"red\");\n title.fontSize = '14px';\n title.disabled = false;\n chart.exporting.dataFields = {\n \"category\": \"CustomerType\",\n \"amountvalue\": \"Amount(\" + that.CurrencyLabel + \")\",\n }\n }\n else {\n chart.exporting.dataFields = {\n \"category\": \"CustomerType\",\n \"unitvalue\": that.CurrencyLabel,\n }\n }\n\n /**************End Custom Export**************** */\n\n }\n });\n // //*************************************************************************** */\n chart.legend = new am4charts.Legend();\n\n let legendContainer = am4core.create(\"ctlegenddiv\", am4core.Container);\n legendContainer.width = am4core.percent(100);\n legendContainer.height = am4core.percent(100);\n chart.legend.parent = legendContainer;\n chart.events.on(\"datavalidated\", resizeLegend);\n chart.events.on(\"maxsizechanged\", resizeLegend);\n\n chart.legend.events.on(\"datavalidated\", resizeLegend);\n chart.legend.events.on(\"maxsizechanged\", resizeLegend);\n chart.legend.itemContainers.template.clickable = false;\n chart.legend.itemContainers.template.focusable = false;\n chart.legend.itemContainers.template.cursorOverStyle = am4core.MouseCursorStyle.default;\n function resizeLegend(ev) {\n document.getElementById(\"ctlegenddiv\").style.height = chart.legend.contentHeight + \"px\";\n }\n chart.legend.itemContainers.template.tooltipText = \"{category}\";\n var series = chart.series.push(new am4charts.PieSeries());\n series.dataFields.category = \"category\";\n if (this.reportFilterObj.ReportValueType == \"units\") {\n series.dataFields.value = \"unitvalue\";\n } else {\n series.dataFields.value = \"amountvalue\";\n }\n chart.legend.labels.template.text = \"[normal]{category}: [bold]{value.value}\";\n // chart.legend.scrollable = true;\n chart.legend.valueLabels.template.disabled = true;\n let markerTemplate = chart.legend.markers.template;\n markerTemplate.width = 20;\n markerTemplate.height = 20;\n chart.legend.valueLabels.template.align = \"left\"\n chart.legend.valueLabels.template.textAlign = \"start\"\n chart.legend.labels.template.maxWidth = 150;\n chart.legend.labels.template.wrap = true;\n chart.legend.labels.template.truncate = false;\n series.labels.template.text = \"{category}: {value.value}\";\n series.slices.template.tooltipText = \"{category}: {value.value}\";\n chart.legend.valueLabels.template.text = \"{value.value}\";\n series.slices.template.cursorOverStyle = am4core.MouseCursorStyle.pointer;\n //\n }\n ProductWisePieChart() {\n const that = this;\n let chart = am4core.create(\"ProductWisePieChart\", am4charts.PieChart);\n // chart.exporting.menu = new am4core.ExportMenu();\n let title = chart.titles.create();\n chart.legend = new am4charts.Legend();\n let legendContainer = am4core.create(\"productlinelegenddiv\", am4core.Container);\n legendContainer.width = am4core.percent(100);\n legendContainer.height = am4core.percent(100);\n chart.legend.parent = legendContainer;\n chart.events.on(\"datavalidated\", resizeLegend);\n chart.events.on(\"maxsizechanged\", resizeLegend);\n\n chart.legend.events.on(\"datavalidated\", resizeLegend);\n chart.legend.events.on(\"maxsizechanged\", resizeLegend);\n chart.legend.itemContainers.template.clickable = false;\n chart.legend.itemContainers.template.focusable = false;\n chart.legend.itemContainers.template.cursorOverStyle = am4core.MouseCursorStyle.default;\n function resizeLegend(ev) {\n document.getElementById(\"productlinelegenddiv\").style.height = chart.legend.contentHeight + \"px\";\n }\n chart.data = this.productlineData;\n // //*************************************************************************** */\n chart.events.on(\"beforedatavalidated\", function (ev) {\n // check if there's data\n var IsDataEmpty = false;\n var emptyUnits;\n if (that.reportFilterObj.ReportValueType == 'units') emptyUnits = chart.data.filter(x => x.unitvalue == 0);\n if (that.reportFilterObj.ReportValueType == 'amount') emptyUnits = chart.data.filter(x => x.amountvalue == 0);\n if (emptyUnits.length == chart.data.length) {\n chart.hidden = true;\n IsDataEmpty = true;\n }\n var indicator;\n if (IsDataEmpty) {\n that.showIndicator(chart, indicator);\n }\n else if (indicator) {\n that.hideIndicator(indicator);\n }\n else {\n chart.exporting.menu = new am4core.ExportMenu();\n let options = chart.exporting.getFormatOptions(\"pdf\");\n options.addURL = false;\n chart.exporting.setFormatOptions(\"pdf\", options);\n chart.exporting.filePrefix = \"ProductLineReport\";\n /**************Custom Export**************** */\n chart.exporting.menu.items = [\n {\n \"label\": \"...\",\n \"menu\": [\n {\n \"label\": \"Image\",\n \"menu\": [\n { \"type\": \"png\", \"label\": \"PNG\" },\n { \"type\": \"jpg\", \"label\": \"JPG\" },\n // { \"type\": \"svg\", \"label\": \"SVG\" },\n { \"type\": \"pdf\", \"label\": \"PDF\" }\n ]\n }, {\n \"label\": \"Data\",\n \"menu\": [\n { \"type\": \"xlsx\", \"label\": \"XLSX\" },\n ]\n }, {\n \"label\": \"Print\", \"type\": \"print\"\n }\n ]\n }\n ];\n chart.exporting.extraSprites.push({\n \"sprite\": legendContainer,\n \"position\": \"bottom\",\n \"marginTop\": 30\n });\n if (that.reportFilterObj.ReportValueType == \"amount\") {\n let title = chart.titles.create();\n title.text = \"[bold]All values are in \" + that.CurrencyLabel;\n title.fill = am4core.color(\"red\");\n title.fontSize = '14px';\n title.disabled = false;\n chart.exporting.dataFields = {\n \"category\": \"ProductLine\",\n \"amountvalue\": \"Amount(\" + that.CurrencyLabel + \")\",\n }\n }\n else {\n chart.exporting.dataFields = {\n \"category\": \"ProductLine\",\n \"unitvalue\": that.CurrencyLabel,\n }\n }\n\n /**************End Custom Export**************** */\n\n }\n });\n // //*************************************************************************** */\n chart.legend.itemContainers.template.tooltipText = \"{category}\";\n var series = chart.series.push(new am4charts.PieSeries());\n series.dataFields.category = \"category\";\n if (this.reportFilterObj.ReportValueType == \"units\") {\n series.dataFields.value = \"unitvalue\";\n } else {\n series.dataFields.value = \"amountvalue\";\n }\n chart.legend.labels.template.text = \"[normal]{category}: [bold]{value.value}\";\n // chart.legend.scrollable = true;\n chart.legend.valueLabels.template.disabled = true;\n let markerTemplate = chart.legend.markers.template;\n markerTemplate.width = 20;\n markerTemplate.height = 20;\n chart.legend.valueLabels.template.align = \"left\"\n chart.legend.valueLabels.template.textAlign = \"start\"\n chart.legend.labels.template.maxWidth = 150;\n chart.legend.labels.template.wrap = true;\n chart.legend.labels.template.truncate = false;\n series.labels.template.text = \"{category}: {value.value}\";\n series.slices.template.tooltipText = \"{category}: {value.value}\";\n chart.legend.valueLabels.template.text = \"{value.value}\";\n series.slices.template.cursorOverStyle = am4core.MouseCursorStyle.pointer;\n //\n series.slices.template.events.on(\"hit\", function (ev) {\n that.onProductSliceClick(ev.target.dataItem.dataContext);\n });\n\n }\n onProductSliceClick(sliceObj) {\n this.isProductLineSelected = true;\n this.isProductSeriesSelected = false;\n this.selectedProductLine = sliceObj;\n this.reportFilterObj.ProductSeries = 0;\n this.reportFilterObj.Productmodal = 0;\n this.reportFilterObj.ProductLine = sliceObj.Id;\n this.ProductSeriesWisePieChart();\n }\n ProductSeriesWisePieChart() {\n\n this.showLoader = true;\n let queryString = \"\";\n queryString += \"EnqType=\" + this.reportFilterObj.EnqType;\n queryString += \"&ReportValueType=\" + this.reportFilterObj.ReportValueType;\n queryString += \"&Year=\" + this.reportFilterObj.Year;\n queryString += \"&Region=\" + this.reportFilterObj.Region;\n queryString += \"&ProductLine=\" + this.reportFilterObj.ProductLine;\n queryString += \"&ProductSeries=\" + this.reportFilterObj.ProductSeries;\n queryString += \"&Productmodal=\" + this.reportFilterObj.Productmodal;\n queryString += \"&CustomerClass=\" + this.reportFilterObj.CustomerClass;\n queryString += \"&CustomerType=\" + this.reportFilterObj.CustomerType;\n queryString += \"&Segment=\" + this.reportFilterObj.Segment;\n queryString += \"&reporttype=\" + this.reportFilterObj.reporttype;\n queryString += \"¤cy=\" + this.reportFilterObj.curency;\n this.commonService.GetData(\"Report\", \"GetRegionSeriesReport\", queryString).subscribe((data: any) => {\n let chart = am4core.create(\"ProductSeriesBarChart\", am4charts.XYChart);\n // chart.exporting.menu = new am4core.ExportMenu();\n\n let title = chart.titles.create();\n title.text = this.selectedProductLine.category;\n title.fontSize = 15;\n title.fontWeight = \"bold\";\n title.marginBottom = 30;\n chart.hiddenState.properties.opacity = 0;\n this.chartData = this.productseriesData;\n chart.data = data.ProductSeries;\n // //*************************************************************************** */\n const that = this;\n chart.events.on(\"beforedatavalidated\", function (ev) {\n // check if there's data\n var IsDataEmpty = false;\n var emptyUnits;\n if (that.reportFilterObj.ReportValueType == 'units') emptyUnits = chart.data.filter(x => x.unitvalue == 0);\n if (that.reportFilterObj.ReportValueType == 'amount') emptyUnits = chart.data.filter(x => x.amountvalue == 0);\n if (emptyUnits.length == chart.data.length) {\n chart.hidden = true;\n IsDataEmpty = true;\n }\n var indicator;\n if (IsDataEmpty) {\n that.showIndicator(chart, indicator);\n }\n else if (indicator) {\n that.hideIndicator(indicator);\n }\n else {\n chart.scrollbarX = new am4core.Scrollbar();\n chart.scrollbarY = new am4core.Scrollbar();\n // chart.cursor = new am4charts.XYCursor();\n chart.scrollbarX.exportable = false;\n chart.scrollbarY.exportable = false;\n chart.exporting.menu = new am4core.ExportMenu();\n let options = chart.exporting.getFormatOptions(\"pdf\");\n options.addURL = false;\n chart.exporting.setFormatOptions(\"pdf\", options);\n chart.exporting.filePrefix = \"ProductSeriesReport\";\n /**************Custom Export**************** */\n chart.exporting.menu.items = [\n {\n \"label\": \"...\",\n \"menu\": [\n {\n \"label\": \"Image\",\n \"menu\": [\n { \"type\": \"png\", \"label\": \"PNG\" },\n { \"type\": \"jpg\", \"label\": \"JPG\" },\n // { \"type\": \"svg\", \"label\": \"SVG\" },\n { \"type\": \"pdf\", \"label\": \"PDF\" }\n ]\n }, {\n \"label\": \"Data\",\n \"menu\": [\n { \"type\": \"xlsx\", \"label\": \"XLSX\" },\n ]\n }, {\n \"label\": \"Print\", \"type\": \"print\"\n }\n ]\n }\n ];\n if (that.reportFilterObj.ReportValueType == \"amount\") {\n let title = chart.titles.create();\n title.text = \"[bold]All values are in \" + that.CurrencyLabel;\n title.fill = am4core.color(\"red\");\n title.fontSize = '14px';\n title.disabled = false;\n chart.exporting.dataFields = {\n \"category\": \"ProductSeries\",\n \"amountvalue\": \"Amount(\" + that.CurrencyLabel + \")\",\n }\n }\n else {\n chart.exporting.dataFields = {\n \"category\": \"ProductSeries\",\n \"unitvalue\": that.CurrencyLabel,\n }\n }\n\n /**************End Custom Export**************** */\n\n }\n });\n // //*************************************************************************** */\n var categoryAxis = chart.xAxes.push(new am4charts.CategoryAxis());\n categoryAxis.dataFields.category = \"category\";\n categoryAxis.renderer.grid.template.location = 0;\n categoryAxis.renderer.minGridDistance = 30;\n // categoryAxis.renderer.labels.template.rotation = -45;\n categoryAxis.renderer.labels.template.wrap = true;\n categoryAxis.renderer.labels.template.maxWidth = 100;\n // categoryAxis.renderer.labels.template.truncate = true;\n categoryAxis.renderer.labels.template.tooltipText = '{category}';\n /**************Scrolling Start End Point**************** */\n categoryAxis.start=0;\n categoryAxis.end=0.5;\n /**************End Scrolling Start End Point**************** */\n var valueAxis = chart.yAxes.push(new am4charts.ValueAxis());\n valueAxis.extraMax = 0.5;\n valueAxis.renderer.labels.template.adapter.add(\"text\", function (text, target) {\n var val = text == \"0.000\" ? \"0\" : text;\n return val;\n });\n if (this.reportFilterObj.ReportValueType == \"units\") {\n valueAxis.title.text = \"No.\";\n chart.numberFormatter.numberFormat = \"0\";\n valueAxis.renderer.labels.template.adapter.add(\"text\", function (text, target) {\n var val = parseFloat(text) % 1 != 0 ? \"\" : parseInt(text).toString();\n return val;\n });\n }\n else {\n // if (this.reportFilterObj.curency == 1) valueAxis.title.text = \"USD\";\n // if (this.reportFilterObj.curency == 2) valueAxis.title.text = \"EURO\";\n // if (this.reportFilterObj.curency == 3) valueAxis.title.text = \"INR\";\n if (this.reportFilterObj.currencycode == \"USD\") valueAxis.title.text = \"USD\";\n if (this.reportFilterObj.currencycode == \"Euro\") valueAxis.title.text = \"EURO\";\n //if (this.reportFilterObj.currencycode == \"INR\") valueAxis.title.text = \"INR\";\n if (this.reportFilterObj.currencycode == \"VND\") valueAxis.title.text = 'VND';\n if (this.reportFilterObj.currencycode == \"IDR\") valueAxis.title.text = 'IDR';\n if (this.reportFilterObj.currencycode == \"PHP\") valueAxis.title.text = 'PHP';\n if (this.reportFilterObj.currencycode == \"THB\") valueAxis.title.text = 'THB';\n if (this.reportFilterObj.currencycode == \"MYR\") valueAxis.title.text = 'MYR';\n if (this.reportFilterObj.currencycode == \"SGD\") valueAxis.title.text= 'SGD';\n // chart.numberFormatter.numberFormat = \"0.000\";\n }\n\n // Create series\n var columnSeries = chart.series.push(new am4charts.ColumnSeries());\n if (this.reportFilterObj.ReportValueType == \"units\") {\n columnSeries.dataFields.valueY = \"unitvalue\";\n } else {\n columnSeries.dataFields.valueY = \"amountvalue\";\n }\n columnSeries.dataFields.categoryX = \"category\";\n columnSeries.columns.template.tooltipText = \"{categoryX}: [bold]{valueY}[/]\";\n columnSeries.columns.template.propertyFields.fillOpacity = \"fillOpacity\";\n columnSeries.columns.template.propertyFields.stroke = \"stroke\";\n columnSeries.columns.template.propertyFields.strokeWidth = \"strokeWidth\";\n columnSeries.columns.template.propertyFields.strokeDasharray = \"columnDash\";\n columnSeries.tooltip.label.textAlign = \"middle\";\n columnSeries.tooltip.getFillFromObject = false;\n columnSeries.tooltip.background.fill = am4core.color(\"#4a463c\");\n let colLabel = columnSeries.bullets.push(new am4charts.LabelBullet);\n colLabel.label.text = \"{valueY}\";\n //colLabel.label.rotation = 0;\n colLabel.label.fontSize = 9;\n colLabel.label.padding(0, 0, 20, 0);\n colLabel.label.truncate = false;\n colLabel.label.hideOversized = false;\n\n columnSeries.columns.template.interactionsEnabled = true;\n columnSeries.columns.template.events.on(\"hit\", ev => {\n var item: any = ev.target.dataItem.dataContext;\n this.isProductSeriesSelected = true;\n this.isProductModelSelected = false;\n this.selectedProductSeries = item;\n this.reportFilterObj.Productmodal = 0;\n this.reportFilterObj.ProductLine = 0;\n this.reportFilterObj.ProductSeries = item.Id;\n this.ProductModelWisePieChart();\n },\n );\n this.showLoader = false;\n }, error => {\n this.showLoader = false;\n });\n\n }\n ProductModelWisePieChart() {\n\n this.showLoader = true;\n let queryString = \"\";\n queryString += \"EnqType=\" + this.reportFilterObj.EnqType;\n queryString += \"&ReportValueType=\" + this.reportFilterObj.ReportValueType;\n queryString += \"&Year=\" + this.reportFilterObj.Year;\n queryString += \"&Region=\" + this.reportFilterObj.Region;\n queryString += \"&ProductLine=\" + this.reportFilterObj.ProductLine;\n queryString += \"&ProductSeries=\" + this.reportFilterObj.ProductSeries;\n queryString += \"&Productmodal=\" + this.reportFilterObj.Productmodal;\n queryString += \"&CustomerClass=\" + this.reportFilterObj.CustomerClass;\n queryString += \"&CustomerType=\" + this.reportFilterObj.CustomerType;\n queryString += \"&Segment=\" + this.reportFilterObj.Segment;\n queryString += \"&reporttype=\" + this.reportFilterObj.reporttype;\n queryString += \"¤cy=\" + this.reportFilterObj.curency;\n this.commonService.GetData(\"Report\", \"GetRegionProductModelReport\", queryString).subscribe((data: any) => {\n let chart = am4core.create(\"ProductModelBarChart\", am4charts.XYChart);\n // chart.exporting.menu = new am4core.ExportMenu();\n\n let title = chart.titles.create();\n title.text = this.selectedProductSeries.category;\n title.fontSize = 15;\n title.fontWeight = \"bold\";\n title.marginBottom = 30;\n title.wrap = true;\n title.maxWidth=350;\n\n chart.hiddenState.properties.opacity = 0;\n this.chartData = this.producModeleData;\n chart.data = data.ProductModel;\n // //*************************************************************************** */\n const that = this;\n chart.events.on(\"beforedatavalidated\", function (ev) {\n // check if there's data\n var IsDataEmpty = false;\n var emptyUnits;\n if (that.reportFilterObj.ReportValueType == 'units') emptyUnits = chart.data.filter(x => x.unitvalue == 0);\n if (that.reportFilterObj.ReportValueType == 'amount') emptyUnits = chart.data.filter(x => x.amountvalue == 0);\n if (emptyUnits.length == chart.data.length) {\n chart.hidden = true;\n IsDataEmpty = true;\n }\n var indicator;\n if (IsDataEmpty) {\n that.showIndicator(chart, indicator);\n }\n else if (indicator) {\n that.hideIndicator(indicator);\n }\n else {\n chart.scrollbarX = new am4core.Scrollbar();\n chart.scrollbarY = new am4core.Scrollbar();\n // chart.cursor = new am4charts.XYCursor();\n chart.scrollbarX.exportable = false;\n chart.scrollbarY.exportable = false;\n chart.exporting.menu = new am4core.ExportMenu();\n let options = chart.exporting.getFormatOptions(\"pdf\");\n options.addURL = false;\n chart.exporting.setFormatOptions(\"pdf\", options);\n chart.exporting.filePrefix = \"ProductModelReport\";\n /**************Custom Export**************** */\n chart.exporting.menu.items = [\n {\n \"label\": \"...\",\n \"menu\": [\n {\n \"label\": \"Image\",\n \"menu\": [\n { \"type\": \"png\", \"label\": \"PNG\" },\n { \"type\": \"jpg\", \"label\": \"JPG\" },\n // { \"type\": \"svg\", \"label\": \"SVG\" },\n { \"type\": \"pdf\", \"label\": \"PDF\" }\n ]\n }, {\n \"label\": \"Data\",\n \"menu\": [\n { \"type\": \"xlsx\", \"label\": \"XLSX\" },\n ]\n }, {\n \"label\": \"Print\", \"type\": \"print\"\n }\n ]\n }\n ];\n if (that.reportFilterObj.ReportValueType == \"amount\") {\n let title = chart.titles.create();\n title.text = \"[bold]All values are in \" + that.CurrencyLabel;\n title.fill = am4core.color(\"red\");\n title.fontSize = '14px';\n title.disabled = false;\n chart.exporting.dataFields = {\n \"category\": \"ProductModel\",\n \"amountvalue\": \"Amount(\" + that.CurrencyLabel + \")\",\n }\n }\n else {\n chart.exporting.dataFields = {\n \"category\": \"ProductModel\",\n \"unitvalue\": that.CurrencyLabel,\n }\n }\n\n /**************End Custom Export**************** */\n\n }\n });\n // //*************************************************************************** */\n var categoryAxis = chart.xAxes.push(new am4charts.CategoryAxis());\n categoryAxis.dataFields.category = \"category\";\n categoryAxis.renderer.grid.template.location = 0;\n categoryAxis.renderer.minGridDistance = 30;\n // categoryAxis.renderer.labels.template.rotation = -45;\n categoryAxis.renderer.labels.template.maxWidth = 100;\n categoryAxis.renderer.labels.template.wrap = true;\n // categoryAxis.renderer.labels.template.truncate = true;\n categoryAxis.renderer.labels.template.tooltipText = '{category}';\n /**************Scrolling Start End Point**************** */\n categoryAxis.start=0;\n categoryAxis.end=0.5;\n /**************End Scrolling Start End Point**************** */\n var valueAxis = chart.yAxes.push(new am4charts.ValueAxis());\n valueAxis.extraMax = 0.5;\n valueAxis.renderer.labels.template.adapter.add(\"text\", function (text, target) {\n var val = text == \"0.000\" ? \"0\" : text;\n return val;\n });\n if (this.reportFilterObj.ReportValueType == \"units\") {\n valueAxis.title.text = \"No.\";\n chart.numberFormatter.numberFormat = \"0\";\n valueAxis.renderer.labels.template.adapter.add(\"text\", function (text, target) {\n var val = parseFloat(text) % 1 != 0 ? \"\" : parseInt(text).toString();\n return val;\n });\n }\n else {\n // if (this.reportFilterObj.curency == 1) valueAxis.title.text = \"USD\";\n // if (this.reportFilterObj.curency == 2) valueAxis.title.text = \"EURO\";\n // if (this.reportFilterObj.curency == 3) valueAxis.title.text = \"INR\";\n if (this.reportFilterObj.currencycode == \"USD\") valueAxis.title.text = \"USD\";\n if (this.reportFilterObj.currencycode == \"Euro\") valueAxis.title.text = \"EURO\";\n //if (this.reportFilterObj.currencycode == \"INR\") valueAxis.title.text = \"INR\";\n if (this.reportFilterObj.currencycode == \"VND\") valueAxis.title.text = 'VND';\n if (this.reportFilterObj.currencycode == \"IDR\") valueAxis.title.text = 'IDR';\n if (this.reportFilterObj.currencycode == \"PHP\") valueAxis.title.text = 'PHP';\n if (this.reportFilterObj.currencycode == \"THB\") valueAxis.title.text = 'THB';\n if (this.reportFilterObj.currencycode == \"MYR\") valueAxis.title.text = 'MYR';\n if (this.reportFilterObj.currencycode == \"SGD\") valueAxis.title.text= 'SGD';\n // chart.numberFormatter.numberFormat = \"0.000\";\n }\n\n // Create series\n var columnSeries = chart.series.push(new am4charts.ColumnSeries());\n if (this.reportFilterObj.ReportValueType == \"units\") {\n columnSeries.dataFields.valueY = \"unitvalue\";\n } else {\n columnSeries.dataFields.valueY = \"amountvalue\";\n }\n columnSeries.dataFields.categoryX = \"category\";\n columnSeries.columns.template.tooltipText = \"{categoryX}: [bold]{valueY}[/]\";\n columnSeries.columns.template.propertyFields.fillOpacity = \"fillOpacity\";\n columnSeries.columns.template.propertyFields.stroke = \"stroke\";\n columnSeries.columns.template.propertyFields.strokeWidth = \"strokeWidth\";\n columnSeries.columns.template.propertyFields.strokeDasharray = \"columnDash\";\n columnSeries.tooltip.label.textAlign = \"middle\";\n columnSeries.tooltip.getFillFromObject = false;\n columnSeries.tooltip.background.fill = am4core.color(\"#4a463c\");\n let colLabel = columnSeries.bullets.push(new am4charts.LabelBullet);\n colLabel.label.text = \"{valueY}\";\n //colLabel.label.rotation = 0;\n colLabel.label.fontSize = 9;\n colLabel.label.padding(0, 0, 20, 0);\n colLabel.label.truncate = false;\n colLabel.label.hideOversized = false;\n columnSeries.columns.template.events.on(\"hit\", ev => {\n var item: any = ev.target.dataItem.dataContext;\n this.isProductSeriesSelected = true;\n this.isProductModelSelected = true;\n this.selectedProductLine = item;\n this.reportFilterObj.ProductSeries = 0;\n this.reportFilterObj.ProductLine = 0;\n this.reportFilterObj.Productmodal = item.Id;\n this.ProductStationWisePieChart();\n });\n this.showLoader = false;\n }, error => {\n this.showLoader = false;\n });\n }\n ProductStationWisePieChart() {\n this.showLoader = true;\n let queryString = \"\";\n queryString += \"EnqType=\" + this.reportFilterObj.EnqType;\n queryString += \"&ReportValueType=\" + this.reportFilterObj.ReportValueType;\n queryString += \"&Year=\" + this.reportFilterObj.Year;\n queryString += \"&Region=\" + this.reportFilterObj.Region;\n queryString += \"&ProductLine=\" + this.reportFilterObj.ProductLine;\n queryString += \"&ProductSeries=\" + this.reportFilterObj.ProductSeries;\n queryString += \"&Productmodal=\" + this.reportFilterObj.Productmodal;\n queryString += \"&CustomerClass=\" + this.reportFilterObj.CustomerClass;\n queryString += \"&CustomerType=\" + this.reportFilterObj.CustomerType;\n queryString += \"&Segment=\" + this.reportFilterObj.Segment;\n queryString += \"&reporttype=\" + this.reportFilterObj.reporttype;\n queryString += \"¤cy=\" + this.reportFilterObj.curency;\n this.commonService.GetData(\"Report\", \"GetRegionProductStationReport\", queryString).subscribe((data: any) => {\n let chart = am4core.create(\"ProductStationBarChart\", am4charts.XYChart);\n this.VariantLabel = data.ProductModelStation_label;\n // chart.exporting.menu = new am4core.ExportMenu();\n\n let title = chart.titles.create();\n title.text = this.selectedProductLine.category;\n title.fontSize = 15;\n title.fontWeight = \"bold\";\n title.marginBottom = 30;\n title.wrap = true;\n title.maxWidth=350;\n \n chart.hiddenState.properties.opacity = 0;\n chart.data = data.ProductModelStation;\n // //*************************************************************************** */\n const that = this;\n chart.events.on(\"beforedatavalidated\", function (ev) {\n // check if there's data\n var IsDataEmpty = false;\n var emptyUnits;\n if (that.reportFilterObj.ReportValueType == 'units') emptyUnits = chart.data.filter(x => x.unitvalue == 0);\n if (that.reportFilterObj.ReportValueType == 'amount') emptyUnits = chart.data.filter(x => x.amountvalue == 0);\n if (emptyUnits.length == chart.data.length) {\n chart.hidden = true;\n IsDataEmpty = true;\n }\n var indicator;\n if (IsDataEmpty) {\n that.showIndicator(chart, indicator);\n }\n else if (indicator) {\n that.hideIndicator(indicator);\n }\n else {\n chart.scrollbarX = new am4core.Scrollbar();\n chart.scrollbarY = new am4core.Scrollbar();\n // chart.cursor = new am4charts.XYCursor();\n chart.scrollbarX.exportable = false;\n chart.scrollbarY.exportable = false;\n chart.exporting.menu = new am4core.ExportMenu();\n let options = chart.exporting.getFormatOptions(\"pdf\");\n options.addURL = false;\n chart.exporting.setFormatOptions(\"pdf\", options);\n chart.exporting.filePrefix = that.VariantLabel + \"Report\";\n /**************Custom Export**************** */\n chart.exporting.menu.items = [\n {\n \"label\": \"...\",\n \"menu\": [\n {\n \"label\": \"Image\",\n \"menu\": [\n { \"type\": \"png\", \"label\": \"PNG\" },\n { \"type\": \"jpg\", \"label\": \"JPG\" },\n // { \"type\": \"svg\", \"label\": \"SVG\" },\n { \"type\": \"pdf\", \"label\": \"PDF\" }\n ]\n }, {\n \"label\": \"Data\",\n \"menu\": [\n { \"type\": \"xlsx\", \"label\": \"XLSX\" },\n ]\n }, {\n \"label\": \"Print\", \"type\": \"print\"\n }\n ]\n }\n ];\n if (that.reportFilterObj.ReportValueType == \"amount\") {\n let title = chart.titles.create();\n title.text = \"[bold]All values are in \" + that.CurrencyLabel;\n title.fill = am4core.color(\"red\");\n title.fontSize = '14px';\n title.disabled = false;\n chart.exporting.dataFields = {\n \"category\": that.VariantLabel,\n \"amountvalue\": \"Amount(\" + that.CurrencyLabel + \")\",\n }\n }\n else {\n chart.exporting.dataFields = {\n \"category\": that.VariantLabel,\n \"unitvalue\": that.CurrencyLabel,\n }\n }\n\n /**************End Custom Export**************** */\n\n }\n });\n // //*************************************************************************** */\n var categoryAxis = chart.xAxes.push(new am4charts.CategoryAxis());\n categoryAxis.dataFields.category = \"category\";\n categoryAxis.renderer.grid.template.location = 0;\n categoryAxis.renderer.minGridDistance = 30;\n // categoryAxis.renderer.labels.template.rotation = -45;\n categoryAxis.renderer.labels.template.maxWidth = 100;\n categoryAxis.renderer.labels.template.wrap = true;\n // categoryAxis.renderer.labels.template.truncate = true;\n categoryAxis.renderer.labels.template.tooltipText = '{category}';\n /**************Scrolling Start End Point**************** */\n categoryAxis.start=0;\n categoryAxis.end=0.5;\n /**************End Scrolling Start End Point**************** */\n var valueAxis = chart.yAxes.push(new am4charts.ValueAxis());\n valueAxis.extraMax = 0.5;\n valueAxis.renderer.labels.template.adapter.add(\"text\", function (text, target) {\n var val = text == \"0.000\" ? \"0\" : text;\n return val;\n });\n if (this.reportFilterObj.ReportValueType == \"units\") {\n valueAxis.title.text = \"No.\";\n chart.numberFormatter.numberFormat = \"0\";\n valueAxis.renderer.labels.template.adapter.add(\"text\", function (text, target) {\n var val = parseFloat(text) % 1 != 0 ? \"\" : parseInt(text).toString();\n return val;\n });\n }\n else {\n // if (this.reportFilterObj.curency == 1) valueAxis.title.text = \"USD\";\n // if (this.reportFilterObj.curency == 2) valueAxis.title.text = \"EURO\";\n // if (this.reportFilterObj.curency == 3) valueAxis.title.text = \"INR\";\n if (this.reportFilterObj.currencycode == \"USD\") valueAxis.title.text = \"USD\";\n if (this.reportFilterObj.currencycode == \"Euro\") valueAxis.title.text = \"EURO\";\n //if (this.reportFilterObj.currencycode == \"INR\") valueAxis.title.text = \"INR\";\n if (this.reportFilterObj.currencycode == \"VND\") valueAxis.title.text = 'VND';\n if (this.reportFilterObj.currencycode == \"IDR\") valueAxis.title.text = 'IDR';\n if (this.reportFilterObj.currencycode == \"PHP\") valueAxis.title.text = 'PHP';\n if (this.reportFilterObj.currencycode == \"THB\") valueAxis.title.text = 'THB';\n if (this.reportFilterObj.currencycode == \"MYR\") valueAxis.title.text = 'MYR';\n if (this.reportFilterObj.currencycode == \"SGD\") valueAxis.title.text= 'SGD';\n // chart.numberFormatter.numberFormat = \"0.000\";\n }\n // Create series\n var columnSeries = chart.series.push(new am4charts.ColumnSeries());\n if (this.reportFilterObj.ReportValueType == \"units\") {\n columnSeries.dataFields.valueY = \"unitvalue\";\n } else {\n columnSeries.dataFields.valueY = \"amountvalue\";\n }\n columnSeries.dataFields.categoryX = \"category\";\n columnSeries.columns.template.tooltipText = \"{categoryX}: [bold]{valueY}[/]\";\n columnSeries.columns.template.propertyFields.fillOpacity = \"fillOpacity\";\n columnSeries.columns.template.propertyFields.stroke = \"stroke\";\n columnSeries.columns.template.propertyFields.strokeWidth = \"strokeWidth\";\n columnSeries.columns.template.propertyFields.strokeDasharray = \"columnDash\";\n columnSeries.tooltip.label.textAlign = \"middle\";\n columnSeries.tooltip.getFillFromObject = false;\n columnSeries.tooltip.background.fill = am4core.color(\"#4a463c\");\n let colLabel = columnSeries.bullets.push(new am4charts.LabelBullet);\n colLabel.label.text = \"{valueY}\";\n //colLabel.label.rotation = 0;\n colLabel.label.fontSize = 9;\n colLabel.label.padding(0, 0, 20, 0);\n colLabel.label.truncate = false;\n colLabel.label.hideOversized = false;\n\n this.showLoader = false;\n }, error => {\n this.showLoader = false;\n });\n }\n RegionWisePieChart() {\n const that = this;\n let chart = am4core.create(\"RegionWisePieChart\", am4charts.PieChart);\n // chart.exporting.menu = new am4core.ExportMenu();\n chart.hiddenState.properties.opacity = 0;\n // chart.data = this.segmentData;\n chart.data = this.regionData;\n // //*************************************************************************** */\n chart.events.on(\"beforedatavalidated\", function (ev) {\n // check if there's data\n var IsDataEmpty = false;\n var emptyUnits;\n if (that.reportFilterObj.ReportValueType == 'units') emptyUnits = chart.data.filter(x => x.unitvalue == 0);\n if (that.reportFilterObj.ReportValueType == 'amount') emptyUnits = chart.data.filter(x => x.amountvalue == 0);\n if (emptyUnits.length == chart.data.length) {\n chart.hidden = true;\n IsDataEmpty = true;\n }\n var indicator;\n if (IsDataEmpty) {\n that.showIndicator(chart, indicator);\n }\n else if (indicator) {\n that.hideIndicator(indicator);\n }\n else {\n chart.exporting.menu = new am4core.ExportMenu();\n let options = chart.exporting.getFormatOptions(\"pdf\");\n options.addURL = false;\n chart.exporting.setFormatOptions(\"pdf\", options);\n chart.exporting.filePrefix = \"RegionReport\";\n /**************Custom Export**************** */\n chart.exporting.menu.items = [\n {\n \"label\": \"...\",\n \"menu\": [\n {\n \"label\": \"Image\",\n \"menu\": [\n { \"type\": \"png\", \"label\": \"PNG\" },\n { \"type\": \"jpg\", \"label\": \"JPG\" },\n // { \"type\": \"svg\", \"label\": \"SVG\" },\n { \"type\": \"pdf\", \"label\": \"PDF\" }\n ]\n }, {\n \"label\": \"Data\",\n \"menu\": [\n { \"type\": \"xlsx\", \"label\": \"XLSX\" },\n ]\n }, {\n \"label\": \"Print\", \"type\": \"print\"\n }\n ]\n }\n ];\n chart.exporting.extraSprites.push({\n \"sprite\": legendContainer,\n \"position\": \"bottom\",\n \"marginTop\": 30\n });\n if (that.reportFilterObj.ReportValueType == \"amount\") {\n let title = chart.titles.create();\n title.text = \"[bold]All values are in \" + that.CurrencyLabel;\n title.fill = am4core.color(\"red\");\n title.fontSize = '14px';\n title.disabled = false;\n chart.exporting.dataFields = {\n \"category\": \"Region\",\n \"amountvalue\": \"Amount(\" + that.CurrencyLabel + \")\",\n }\n }\n else {\n chart.exporting.dataFields = {\n \"category\": \"Region\",\n \"unitvalue\": that.CurrencyLabel,\n }\n }\n\n /**************End Custom Export**************** */\n\n }\n });\n // //*************************************************************************** */\n chart.legend = new am4charts.Legend();\n chart.legend.itemContainers.template.tooltipText = \"{category}\";\n let legendContainer = am4core.create(\"regionlegenddiv\", am4core.Container);\n legendContainer.width = am4core.percent(100);\n legendContainer.height =300;\n chart.legend.parent = legendContainer;\n chart.events.on(\"datavalidated\", resizeLegend);\n chart.events.on(\"maxsizechanged\", resizeLegend);\n\n chart.legend.events.on(\"datavalidated\", resizeLegend);\n chart.legend.events.on(\"maxsizechanged\", resizeLegend);\n chart.legend.itemContainers.template.clickable = false;\n chart.legend.itemContainers.template.focusable = false;\n chart.legend.itemContainers.template.cursorOverStyle = am4core.MouseCursorStyle.default;\n\n function resizeLegend(ev) {\n document.getElementById(\"regionlegenddiv\").style.height = chart.legend.contentHeight + \"px\";\n }\n let markerTemplate = chart.legend.markers.template;\n markerTemplate.width = 20;\n markerTemplate.height = 20;\n chart.legend.valueLabels.template.align = \"left\"\n chart.legend.valueLabels.template.textAlign = \"start\";\n chart.legend.labels.template.maxWidth = 150;\n chart.legend.labels.template.wrap = true;\n chart.legend.labels.template.truncate = false;\n chart.legend.itemContainers.template.tooltipText = \"{category}\";\n\n var series = chart.series.push(new am4charts.PieSeries());\n\n series.dataFields.category = \"category\";\n if (this.reportFilterObj.ReportValueType == \"units\") {\n series.dataFields.value = \"unitvalue\";\n } else {\n series.dataFields.value = \"amountvalue\";\n }\n chart.legend.labels.template.text = \"[normal]{category}: [bold]{value.value}\";\n // chart.legend.scrollable = true;\n chart.legend.valueLabels.template.disabled = true;\n series.labels.template.text = \"{category}: {value.value}\";\n series.slices.template.tooltipText = \"{category}: {value.value}\";\n chart.legend.valueLabels.template.text = \"{value.value}\";\n series.slices.template.cursorOverStyle = am4core.MouseCursorStyle.pointer;\n //\n series.slices.template.events.on(\"hit\", function (ev) {\n // that.onSegmentSliceClick(ev.target.dataItem.dataContext);\n series.slices.each(function (item) {\n if (item.isActive && item != ev.target) {\n item.isActive = false;\n }\n })\n });\n this.showLoader = false;\n }\n onEnqTypeChange() {\n this.SegmentWisePieChart();\n }\n onReportValueTypeChange() {\n if (this.reportFilterObj.ReportValueType == \"amount\") {\n // if (this.reportFilterObj.curency == 1) this.CurrencyLabel = \"USD\";\n // if (this.reportFilterObj.curency == 2) this.CurrencyLabel = \"EURO\";\n // if (this.reportFilterObj.curency == 3) this.CurrencyLabel = \"INR\";\n this.reportFilterObj.currencycode = this.CurrencyList.filter(x => x.Id == this.reportFilterObj.curency)[0]?.CurrencyCode;\n if (this.reportFilterObj.currencycode == \"USD\") this.CurrencyLabel = \"USD\";\n if (this.reportFilterObj.currencycode == \"Euro\") this.CurrencyLabel = \"EURO\";\n //if (this.reportFilterObj.currencycode == \"INR\") this.CurrencyLabel = \"INR\";\n if (this.reportFilterObj.currencycode == \"VND\") this.CurrencyLabel = 'VND';\n if (this.reportFilterObj.currencycode == \"IDR\") this.CurrencyLabel = 'IDR';\n if (this.reportFilterObj.currencycode == \"PHP\") this.CurrencyLabel = 'PHP';\n if (this.reportFilterObj.currencycode == \"THB\") this.CurrencyLabel = 'THB';\n if (this.reportFilterObj.currencycode == \"MYR\") this.CurrencyLabel = 'MYR';\n if (this.reportFilterObj.currencycode == \"SGD\") this.CurrencyLabel = 'SGD';\n }\n else {\n this.CurrencyLabel = \"No's\";\n }\n this.SegmentWisePieChart();\n }\n AllRegionChange(event: any) {\n if (event.checked) {\n this.reportFilterObj.Segment = 0;\n this.selectedSegment = undefined;\n this.isSegmentSelected = false;\n this.SegmentWisePieChart();\n }\n }\n showIndicator(chart, indicator) {\n if (indicator) {\n indicator.show();\n }\n else {\n indicator = chart.tooltipContainer.createChild(am4core.Container);\n indicator.background.fill = am4core.color(\"#fff\");\n indicator.background.fillOpacity = 0.8;\n indicator.width = am4core.percent(100);\n indicator.height = am4core.percent(100);\n\n var indicatorLabel = indicator.createChild(am4core.Label);\n indicatorLabel.text = \"No data available for the selection...\";\n indicatorLabel.align = \"center\";\n indicatorLabel.valign = \"middle\";\n indicatorLabel.fontSize = 20;\n }\n }\n\n hideIndicator(indicator) {\n indicator.hide();\n }\n}\n","\n\n
    \n\n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n

    \n Segment Data\n

    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n All Segments\n \n
    \n
    \n
    \n \n * Click on slice to see data Segment wise.\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n\n
    \n
    \n
    \n\n \n
    \n
    \n
    \n
    \n

    \n Sub Segment (Segment:\n {{selectedSegment == undefined ? 'All': selectedSegment.category}})\n

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

    \n Region Data (Segment:\n {{selectedSegment == undefined ? 'All': selectedSegment.category}})\n

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

    \n Product Line Data (Segment:\n {{selectedSegment == undefined ? 'All': selectedSegment.category}})\n

    \n
    \n
    \n
    \n\n
    \n
    \n \n * Click on slice to see data in details.\n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n
    \n
    \n

    \n Product Series Data (Segment:\n {{selectedSegment == undefined ? 'All': selectedSegment.category}})\n

    \n
    \n
    \n
    \n\n
    \n
    \n \n * Click on bar to see data in details.\n
    \n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n

    \n Customer Classification Data (Segment:\n {{selectedSegment == undefined ? 'All': selectedSegment.category}})\n

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

    \n Customer Type Data (Segment:\n {{selectedSegment == undefined ? 'All': selectedSegment.category}})\n

    \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n\n
    \n
    \n\n
    \n
    \n
    \n\n\n
    \n
    \n\n\n","import { Component, EventEmitter, Input, OnInit, Output, ViewChild, ChangeDetectorRef } from '@angular/core';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { Sort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { Title } from '@angular/platform-browser';\nimport { ActivatedRoute } from '@angular/router';\nimport { NgbCalendar, NgbDate, NgbDateParserFormatter, NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { ToastrService } from 'ngx-toastr';\nimport { SingleFieldModel } from 'src/app/Model/SingleFieldModel';\nimport { SiteActivityLogModel, SiteActivityLogGridFilterList, SiteActivityPaginationGrid } from 'src/app/Model/SiteActivityLogModel';\nimport { AppConfigService } from 'src/app/Service/app-config.service';\nimport { CommonService } from 'src/app/Service/common.service';\n\n@Component({\n selector: 'app-site-activity',\n templateUrl: './site-activity.component.html',\n styleUrls: ['./site-activity.component.scss']\n})\nexport class SiteActivityComponent implements OnInit {\n\n minDate: NgbDate;\n maxDate: NgbDate;\n SiteActivityLogGridFilterList: SiteActivityLogGridFilterList = new SiteActivityLogGridFilterList();\n\n EnquiryngbDateFromFiter: NgbDate | null;\n EnquiryngbDateToFiter: NgbDate | null;\n hoveredDate: NgbDate | null = null;\n\n \n displayedColumns: string[] = ['Name', 'Http_Method', 'Route', 'CreatedOn'];\n dataSource: MatTableDataSource;\n UserRole: any;\n\n /*************************************************************************\n Server side Pagination purpose\n *************************************************************************/\n pageNumber: number = 1;\n @Input() pageSize: number = 5;\n @Input() length: number;\n @Input() pageIndex: number = this.pageNumber - 1;\n direction: string = 'desc';\n ColumnName: string = 'CreatedOn';\n @Output('matSortChange') sortChange: EventEmitter;\n @ViewChild(MatPaginator) paginator: MatPaginator;\n\n PaginationModel: SiteActivityPaginationGrid = new SiteActivityPaginationGrid();\n /*************************************************************************\n End here\n *************************************************************************/\n\n @Input()\n showLoader: boolean = false;\n data: SiteActivityLogModel[] = [];\n\n constructor(private toastr: ToastrService, private Service: CommonService, private route: ActivatedRoute, private titleService: Title,\n private calendar: NgbCalendar, public formatter: NgbDateParserFormatter, private cd: ChangeDetectorRef,\n private appConfigService : AppConfigService) { }\n\n ngOnInit() {\n this.Service.RefreshHeaderFun();\n const appConfig = this.appConfigService.getConfig();\n const dynamicTitle = this.route.snapshot.data['title'];\n this.titleService.setTitle(`${dynamicTitle} - ${appConfig.titleName}`);\n // this.titleService.setTitle(this.route.snapshot.data['title'] + \" - ECOTECH\");\n this.showLoader = true;\n \n this.UserRole = localStorage.getItem(\"UserRole\");\n this.GetAllSiteActivityGridFilterList()\n this.GetAllSiteActivityLogDetails();\n }\n\n \n\n GetAllSiteActivityGridFilterList()\n {\n this.Service.GetData(\"SiteActivityLog\", \"SiteActivityGridFilterList\", null).subscribe((data: any) => {\n \n this.SiteActivityLogGridFilterList.InitiatorName = data.InitiatorName;\n\n });\n }\n\n GetAllSiteActivityLogDetails() {\n this.showLoader = true;\n\n this.PaginationModel.pageNumber = this.pageNumber;\n this.PaginationModel.pageSize = this.pageSize; \n this.PaginationModel.direction = this.direction;\n this.PaginationModel.ColumnName = this.ColumnName;\n\n\n if (this.EnquiryngbDateFromFiter != undefined && this.EnquiryngbDateFromFiter != null) {\n this.PaginationModel.EnquiryDateFromFiter = (this.ConvertNgbDateToDate(this.EnquiryngbDateFromFiter)).toDateString();\n }\n else {\n this.PaginationModel.EnquiryDateFromFiter = null;\n }\n\n if (this.EnquiryngbDateToFiter != undefined && this.EnquiryngbDateToFiter != null) {\n this.PaginationModel.EnquiryDateToFiter = (this.ConvertNgbDateToDate(this.EnquiryngbDateToFiter)).toDateString();\n }\n else {\n this.PaginationModel.EnquiryDateToFiter = null;\n }\n\n this.Service.PostData('SiteActivityLog', 'GetAllSiteActivityLogs', this.PaginationModel, null).subscribe((data: any) => {\n this.data = data.Data;\n this.length = data.Total;\n this.dataSource = new MatTableDataSource(this.data);\n \n this.showLoader = false;\n\n }, error => {\n this.toastr.error(\"Failed to load data!\");\n this.showLoader = false;\n });\n }\n\n\n pageEvent(event: any) {\n window.scroll({\n top: 0,\n left: 0,\n behavior: 'smooth'\n });\n this.pageNumber = event.pageIndex + 1;\n this.pageSize = event.pageSize;\n this.GetAllSiteActivityLogDetails();\n }\n\n sortData(event: any) {\n if (this.dataSource.filteredData != null) {\n this.direction = event.direction;\n this.ColumnName = event.active;\n this.GetAllSiteActivityLogDetails();\n }\n }\n\n /************************Date Range*************************************** */\n\n onDateSelection(date: NgbDate) {\n if (!this.EnquiryngbDateFromFiter && !this.EnquiryngbDateToFiter) {\n this.EnquiryngbDateFromFiter = date;\n } else if (this.EnquiryngbDateFromFiter && !this.EnquiryngbDateToFiter && date && date.after(this.EnquiryngbDateFromFiter)) {\n this.EnquiryngbDateToFiter = date;\n } else {\n this.EnquiryngbDateToFiter = null;\n this.EnquiryngbDateFromFiter = date;\n }\n }\n\n isRange(date: NgbDate) {\n return date.equals(this.EnquiryngbDateFromFiter) || (this.EnquiryngbDateToFiter && date.equals(this.EnquiryngbDateToFiter)) || this.isInside(date) || this.isHovered(date);\n }\n\n isHovered(date: NgbDate) {\n return this.EnquiryngbDateFromFiter && !this.EnquiryngbDateToFiter && this.hoveredDate && date.after(this.EnquiryngbDateFromFiter) && date.before(this.hoveredDate);\n }\n\n isInside(date: NgbDate) {\n return this.EnquiryngbDateToFiter && date.after(this.EnquiryngbDateFromFiter) && date.before(this.EnquiryngbDateToFiter);\n }\n\n validateInput(currentValue: NgbDate | null, input: string): NgbDate | null {\n const parsed = this.formatter.parse(input);\n return parsed && this.calendar.isValid(NgbDate.from(parsed)) ? NgbDate.from(parsed) : currentValue;\n }\n\n /************************End Date Range*************************************** */\n\n \n OnFromDateFilterChange() {\n let EnquiryDateFromFiter = this.ConvertNgbDateToDate(this.EnquiryngbDateFromFiter)\n let EnquiryDateToFiter = this.ConvertNgbDateToDate(this.EnquiryngbDateToFiter)\n if (EnquiryDateToFiter < EnquiryDateFromFiter) {\n this.EnquiryngbDateToFiter = this.EnquiryngbDateFromFiter;\n this.cd.detectChanges();\n\n } \n }\n\n OnToDateFilterChange() {\n\n // this.GetAllEnquiry();\n }\n \n ConvertNgbDateToDate(ngbdate: any) {\n if (ngbdate != null) {\n return new Date(ngbdate.year, ngbdate.month - 1, ngbdate.day)\n }\n\n }\n\n ResetAllFilters() {\n this.PaginationModel.EnquiryDateFromFiter = null;\n this.PaginationModel.EnquiryDateToFiter = null;\n \n this.PaginationModel.InitiatorNameFilter = [];\n this.EnquiryngbDateFromFiter = null;\n this.EnquiryngbDateToFiter = null;\n\n this.GetAllSiteActivityLogDetails();\n\n }\n}\n","\n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    Activity Data\n

    \n
    \n
    \n\n
    \n\n
    \n\n
    \n
    \n\n
    \n \n \n
    \n 0 && PaginationModel.InitiatorNameFilter != []) ? 'InputFiledWithbtn' : 'GridFilter'\"\n [multiple]=\"true\" appendTo=\"body\" bindLabel=\"Name\"\n [clearable]=\"false\" [selectableGroup]=\"true\"\n [selectableGroupAsModel]=\"false\" [closeOnSelect]=\"false\"\n bindValue=\"Name\" placeholder=\"Select User\"\n [(ngModel)]=\"PaginationModel.InitiatorNameFilter\" style=\"height: 40px; line-height:30px;\n \">\n\n \n \n {{item.Name}}\n \n\n \n
    0 && PaginationModel.InitiatorNameFilter != [])\"\n (click)=\"PaginationModel.InitiatorNameFilter=[];\">\n \n \n \n
    \n\n
    \n
    \n\n
    \n\n \n\n
    \n \n
    \n \n \n
    \n \n \n \n\n
    \n
    \n \n \n \n
    \n
    \n
    \n\n \n
    \n\n \n
    \n\n
    \n\n \n\n
    \n \n       \n\n \n
    \n \n
    \n
    \n\n
    \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n\n \n \n \n \n \n\n \n \n\n
    User Name {{row.Name}} Action {{row.Http_Method}} Route {{row.Route}} Date {{row.CreatedOn | date:'medium':'+0530'}}
    \n
    No records found
    \n \n \n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n","import { FormGroup } from '@angular/forms';\n\n// custom validator to check that two fields match\nexport function MustMatch(controlName: string, matchingControlName: string) {\n return (formGroup: FormGroup) => {\n const control = formGroup.controls[controlName];\n const matchingControl = formGroup.controls[matchingControlName];\n\n // return null if controls haven't initialised yet\n if (!control || !matchingControl) {\n return null;\n }\n\n // return null if another validator has already found an error on the matchingControl\n if (matchingControl.errors && !matchingControl.errors.mustMatch) {\n return null;\n }\n\n // set error on matchingControl if validation fails\n if (control.value !== matchingControl.value) {\n matchingControl.setErrors({ mustMatch: true });\n } else {\n matchingControl.setErrors(null);\n }\n }\n}","import { number } from \"@amcharts/amcharts4/core\";\n\nexport const AppConfig = {\n \n footerName : getFooterName(),\n titleName : 'WSEA',\n backroundImagePath : 'assets/images/login-bg.jpg', //assets/images/eco_bg.png\n logoImageUrlPresentAboveLogin : 'assets/images/weiss-logo.png', //assets/images/eco_login_logo.png\n logoImageUrl : 'assets/images/logo-sm.png', //assets/images/ecotech_logo.png\n mailIdFormat : 'e.g. user@gmail.com',\n attendeesOfWhichComapany : 'WSEA',\n salesPersonOfWhichComapany : 'WSEA',\n documentOfWhichComapany : 'WSEA',\n businessOfWhichComapany : 'WSEA',\n opportunitiesForWhichCompany : 'WSEA',\n weissContactDetailsOfWhichCountry : 'WSEA',\n weissWithAbbreviatedCountry : 'WSEA',\n QuotationPdfGenerationHostPath:'https://sea-crm.weiss-world.com/api/',\n // QuotationPdfGenerationHostPath:'http://democrm.ecotechservices.com/api/',\n //QuotationPdfGenerationHostPath:'http://localhost:64591/',\n //QuotationPdfGenerationHostPath:'https://uat-sea.ecotechinfra.com/api/'\n };\n\n function getFooterName() {\n const currentYear = new Date().getFullYear();\n return `© ${currentYear}, WEISS ASIA AUTOMATION COMPONENTS PTE LTD`;\n }","// This file can be replaced during build by using the `fileReplacements` array.\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\n// The list of file replacements can be found in `angular.json`.\n\nexport const environment = {\n production: false \n};\n\n/*\n * For easier debugging in development mode, you can import the following file\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\n *\n * This import should be commented out in production mode because it will have a negative impact\n * on performance if an error is thrown.\n */\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.error(err));\n"]}