{"version":3,"sources":["webpack:///./node_modules/zone.js/dist/zone.js","webpack:///./src/$_lazy_route_resource lazy namespace object","webpack:///./src/app/Modules/booking-summary/booking-summary.component.css","webpack:///./src/app/Modules/booking-summary/booking-summary.component.html","webpack:///./src/app/Modules/booking-summary/booking-summary.component.ts","webpack:///./src/app/Modules/car-list/car-list.component.css","webpack:///./src/app/Modules/car-list/car-list.component.html","webpack:///./src/app/Modules/car-list/car-list.component.ts","webpack:///./src/app/Modules/car-service-list/car-service-list.component.css","webpack:///./src/app/Modules/car-service-list/car-service-list.component.html","webpack:///./src/app/Modules/car-service-list/car-service-list.component.ts","webpack:///./src/app/Modules/car-service/car-service.component.css","webpack:///./src/app/Modules/car-service/car-service.component.html","webpack:///./src/app/Modules/car-service/car-service.component.ts","webpack:///./src/app/Modules/confirm-booking/confirm-booking.component.css","webpack:///./src/app/Modules/confirm-booking/confirm-booking.component.html","webpack:///./src/app/Modules/confirm-booking/confirm-booking.component.ts","webpack:///./src/app/Modules/dealer-selection/dealer-selection.component.css","webpack:///./src/app/Modules/dealer-selection/dealer-selection.component.html","webpack:///./src/app/Modules/dealer-selection/dealer-selection.component.ts","webpack:///./src/app/Modules/mobile-verification/mobile-verification.component.css","webpack:///./src/app/Modules/mobile-verification/mobile-verification.component.html","webpack:///./src/app/Modules/mobile-verification/mobile-verification.component.ts","webpack:///./src/app/Modules/otp-verification/otp-verification.component.css","webpack:///./src/app/Modules/otp-verification/otp-verification.component.html","webpack:///./src/app/Modules/otp-verification/otp-verification.component.ts","webpack:///./src/app/Shared/authGaurd/auth.guard.ts","webpack:///./src/app/Shared/common_components/language/language.component.css","webpack:///./src/app/Shared/common_components/language/language.component.html","webpack:///./src/app/Shared/common_components/language/language.component.ts","webpack:///./src/app/Shared/common_components/loader/loader.component.css","webpack:///./src/app/Shared/common_components/loader/loader.component.html","webpack:///./src/app/Shared/common_components/loader/loader.component.ts","webpack:///./src/app/Shared/common_components/page-not-found/page-not-found.component.css","webpack:///./src/app/Shared/common_components/page-not-found/page-not-found.component.html","webpack:///./src/app/Shared/common_components/page-not-found/page-not-found.component.ts","webpack:///./src/app/Shared/component/appointment-date-picker/appointment-date-picker.component.css","webpack:///./src/app/Shared/component/appointment-date-picker/appointment-date-picker.component.html","webpack:///./src/app/Shared/component/appointment-date-picker/appointment-date-picker.component.ts","webpack:///./src/app/Shared/component/dealer-detail/dealer-detail.component.css","webpack:///./src/app/Shared/component/dealer-detail/dealer-detail.component.html","webpack:///./src/app/Shared/component/dealer-detail/dealer-detail.component.ts","webpack:///./src/app/Shared/component/dealer-list/dealer-list.component.css","webpack:///./src/app/Shared/component/dealer-list/dealer-list.component.html","webpack:///./src/app/Shared/component/dealer-list/dealer-list.component.ts","webpack:///./src/app/Shared/component/dealer-location/dealer-location.component.css","webpack:///./src/app/Shared/component/dealer-location/dealer-location.component.html","webpack:///./src/app/Shared/component/dealer-location/dealer-location.component.ts","webpack:///./src/app/Shared/component/rental-car-list/rental-car-list.component.css","webpack:///./src/app/Shared/component/rental-car-list/rental-car-list.component.html","webpack:///./src/app/Shared/component/rental-car-list/rental-car-list.component.ts","webpack:///./src/app/Shared/directives/modal.component.ts","webpack:///./src/app/Shared/directives/numbers-only.directive.ts","webpack:///./src/app/Shared/enums/apiActionName.enum.ts","webpack:///./src/app/Shared/enums/dateFormat.enum.ts","webpack:///./src/app/Shared/enums/paths.enum.ts","webpack:///./src/app/Shared/model/MinBilConsentModel.ts","webpack:///./src/app/Shared/pipe/decimalValue.ts","webpack:///./src/app/Shared/pipe/priceFormat.ts","webpack:///./src/app/Shared/services/authentication/authetication.service.ts","webpack:///./src/app/Shared/services/campaign/campaign-redirection.service.ts","webpack:///./src/app/Shared/services/common_services/common.service.ts","webpack:///./src/app/Shared/services/common_services/encryption.service.ts","webpack:///./src/app/Shared/services/configuration_service/baseapi.service.ts","webpack:///./src/app/Shared/services/configuration_service/configuration.service.ts","webpack:///./src/app/Shared/services/configuration_service/path-resolver-service.service.ts","webpack:///./src/app/Shared/services/configuration_service/reading-json.service.ts","webpack:///./src/app/Shared/services/data_service/data-communication.service.ts","webpack:///./src/app/Shared/services/index.ts","webpack:///./src/app/Shared/services/loaderindicator/loaderindicator.service.ts","webpack:///./src/app/Shared/services/model_service/model.service.ts","webpack:///./src/app/app-routing.module.ts","webpack:///./src/app/app.component.css","webpack:///./src/app/app.component.html","webpack:///./src/app/app.component.ts","webpack:///./src/app/app.module.ts","webpack:///./src/app/modules/privacy-policy/privacy-policy.component.html","webpack:///./src/app/modules/privacy-policy/privacy-policy.component.ts","webpack:///./src/assets/config.ts","webpack:///./src/environments/environment.ts","webpack:///./src/main.ts","webpack:///zlib (ignored)","webpack:///fs (ignored)","webpack:///http (ignored)","webpack:///https (ignored)","webpack:///url (ignored)"],"names":[],"mappings":";;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,KAA4D;AAC7D,CAAC,SACW;AACZ,CAAC,qBAAqB;;AAEtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,kBAAkB;AACzD,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,0BAA0B;AACrD;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,iEAAiE,+CAA+C,EAAE;AAClH;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT,4DAA4D,0CAA0C;AACtG;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,kBAAkB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA,uCAAuC,0BAA0B,EAAE;AACnE;AACA;AACA;AACA,wCAAwC,6DAA6D,EAAE;AACvG,uCAAuC,WAAW,EAAE;AACpD;AACA,kCAAkC,aAAa,EAAE;AACjD,oCAAoC,WAAW,EAAE;AACjD,gCAAgC,aAAa,EAAE;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,6BAA6B;AAC7B;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4HAA4H,wBAAwB,oCAAoC;AACxL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gFAAgF,sEAAsE;AACtJ;AACA;AACA,+BAA+B,kBAAkB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,oDAAoD;AAC5F;AACA;AACA;AACA;AACA;AACA,2BAA2B,mCAAmC;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,qEAAqE,gBAAgB;AACrF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,sCAAsC,MAAI;AAC1C;AACA;AACA,sCAAsC,MAAI;AAC1C;AACA;AACA,mFAAmF,kBAAkB;AACrG;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,QAAQ,gBAAgB;AACnD;AACA;AACA;AACA;AACA,yBAAyB,0BAA0B;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,mFAAmF,kBAAkB;AACrG;AACA;AACA;AACA;AACA,2BAA2B,QAAQ,gBAAgB;AACnD;AACA;AACA;AACA;AACA,yBAAyB,0BAA0B;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uGAAuG;AACvG;AACA;AACA;AACA;AACA,UAAU,EAAE;AACZ;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,iBAAiB;AACjB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,SAAS;AACT;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,QAAQ;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,mBAAmB,oBAAoB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,uBAAuB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,yBAAyB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD,EAAE;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,iBAAiB;AACjB;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gEAAgE;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,EAAE;AACR;;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;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,8CAA8C;AAC9C;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,oCAAoC;AAClF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,sBAAsB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,sBAAsB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,0BAA0B;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,sBAAsB;AAChE,qCAAqC,iBAAiB;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,8BAA8B;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,0BAA0B;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,0BAA0B;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,kBAAkB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,iBAAiB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,wBAAwB;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,wBAAwB;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,kBAAkB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0FAA0F;AAC1F;AACA;AACA;AACA;AACA;AACA,UAAU,EAAE;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,EAAE;AACZ;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,EAAE;AACZ;;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,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD,0BAA0B,EAAE;AAClF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD,6BAA6B,EAAE;AACpF;AACA;AACA;AACA;AACA,8CAA8C,kDAAkD,EAAE;AAClG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD,sDAAsD;AACvG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,0FAA0F;AAC1F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,SAAS;AACT;AACA,sCAAsC;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,mBAAmB,uBAAuB;AAC1C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD,+BAA+B,EAAE;AACtF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qEAAqE,gBAAgB;AACrF;AACA,mBAAmB,uBAAuB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,0BAA0B;AAC7C;AACA;AACA,uBAAuB,uBAAuB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;AACA;AACA,yCAAyC,6BAA6B;AACtE;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;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,cAAc;AACd;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,mBAAmB,4BAA4B;AAC/C;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB,SAAS;AACT;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,sBAAsB;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mFAAmF;AACnF;AACA;AACA;AACA,UAAU,EAAE;AACZ;AACA;AACA;AACA,mFAAmF;AACnF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA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","file":"main.js","sourcesContent":["/**\n* @license\n* Copyright Google Inc. All Rights Reserved.\n*\n* Use of this source code is governed by an MIT-style license that can be\n* found in the LICENSE file at https://angular.io/license\n*/\n(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory() :\n\ttypeof define === 'function' && define.amd ? define(factory) :\n\t(factory());\n}(this, (function () { 'use strict';\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar Zone$1 = (function (global) {\n var performance = global['performance'];\n function mark(name) {\n performance && performance['mark'] && performance['mark'](name);\n }\n function performanceMeasure(name, label) {\n performance && performance['measure'] && performance['measure'](name, label);\n }\n mark('Zone');\n var checkDuplicate = global[('__zone_symbol__forceDuplicateZoneCheck')] === true;\n if (global['Zone']) {\n // if global['Zone'] already exists (maybe zone.js was already loaded or\n // some other lib also registered a global object named Zone), we may need\n // to throw an error, but sometimes user may not want this error.\n // For example,\n // we have two web pages, page1 includes zone.js, page2 doesn't.\n // and the 1st time user load page1 and page2, everything work fine,\n // but when user load page2 again, error occurs because global['Zone'] already exists.\n // so we add a flag to let user choose whether to throw this error or not.\n // By default, if existing Zone is from zone.js, we will not throw the error.\n if (checkDuplicate || typeof global['Zone'].__symbol__ !== 'function') {\n throw new Error('Zone already loaded.');\n }\n else {\n return global['Zone'];\n }\n }\n var Zone = /** @class */ (function () {\n function Zone(parent, zoneSpec) {\n this._parent = parent;\n this._name = zoneSpec ? zoneSpec.name || 'unnamed' : '';\n this._properties = zoneSpec && zoneSpec.properties || {};\n this._zoneDelegate =\n new ZoneDelegate(this, this._parent && this._parent._zoneDelegate, zoneSpec);\n }\n Zone.assertZonePatched = function () {\n if (global['Promise'] !== patches['ZoneAwarePromise']) {\n throw new Error('Zone.js has detected that ZoneAwarePromise `(window|global).Promise` ' +\n 'has been overwritten.\\n' +\n 'Most likely cause is that a Promise polyfill has been loaded ' +\n 'after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. ' +\n 'If you must load one, do so before loading zone.js.)');\n }\n };\n Object.defineProperty(Zone, \"root\", {\n get: function () {\n var zone = Zone.current;\n while (zone.parent) {\n zone = zone.parent;\n }\n return zone;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Zone, \"current\", {\n get: function () {\n return _currentZoneFrame.zone;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Zone, \"currentTask\", {\n get: function () {\n return _currentTask;\n },\n enumerable: true,\n configurable: true\n });\n Zone.__load_patch = function (name, fn) {\n if (patches.hasOwnProperty(name)) {\n if (checkDuplicate) {\n throw Error('Already loaded patch: ' + name);\n }\n }\n else if (!global['__Zone_disable_' + name]) {\n var perfName = 'Zone:' + name;\n mark(perfName);\n patches[name] = fn(global, Zone, _api);\n performanceMeasure(perfName, perfName);\n }\n };\n Object.defineProperty(Zone.prototype, \"parent\", {\n get: function () {\n return this._parent;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Zone.prototype, \"name\", {\n get: function () {\n return this._name;\n },\n enumerable: true,\n configurable: true\n });\n Zone.prototype.get = function (key) {\n var zone = this.getZoneWith(key);\n if (zone)\n return zone._properties[key];\n };\n Zone.prototype.getZoneWith = function (key) {\n var current = this;\n while (current) {\n if (current._properties.hasOwnProperty(key)) {\n return current;\n }\n current = current._parent;\n }\n return null;\n };\n Zone.prototype.fork = function (zoneSpec) {\n if (!zoneSpec)\n throw new Error('ZoneSpec required!');\n return this._zoneDelegate.fork(this, zoneSpec);\n };\n Zone.prototype.wrap = function (callback, source) {\n if (typeof callback !== 'function') {\n throw new Error('Expecting function got: ' + callback);\n }\n var _callback = this._zoneDelegate.intercept(this, callback, source);\n var zone = this;\n return function () {\n return zone.runGuarded(_callback, this, arguments, source);\n };\n };\n Zone.prototype.run = function (callback, applyThis, applyArgs, source) {\n _currentZoneFrame = { parent: _currentZoneFrame, zone: this };\n try {\n return this._zoneDelegate.invoke(this, callback, applyThis, applyArgs, source);\n }\n finally {\n _currentZoneFrame = _currentZoneFrame.parent;\n }\n };\n Zone.prototype.runGuarded = function (callback, applyThis, applyArgs, source) {\n if (applyThis === void 0) { applyThis = null; }\n _currentZoneFrame = { parent: _currentZoneFrame, zone: this };\n try {\n try {\n return this._zoneDelegate.invoke(this, callback, applyThis, applyArgs, source);\n }\n catch (error) {\n if (this._zoneDelegate.handleError(this, error)) {\n throw error;\n }\n }\n }\n finally {\n _currentZoneFrame = _currentZoneFrame.parent;\n }\n };\n Zone.prototype.runTask = function (task, applyThis, applyArgs) {\n if (task.zone != this) {\n throw new Error('A task can only be run in the zone of creation! (Creation: ' +\n (task.zone || NO_ZONE).name + '; Execution: ' + this.name + ')');\n }\n // https://github.com/angular/zone.js/issues/778, sometimes eventTask\n // will run in notScheduled(canceled) state, we should not try to\n // run such kind of task but just return\n if (task.state === notScheduled && (task.type === eventTask || task.type === macroTask)) {\n return;\n }\n var reEntryGuard = task.state != running;\n reEntryGuard && task._transitionTo(running, scheduled);\n task.runCount++;\n var previousTask = _currentTask;\n _currentTask = task;\n _currentZoneFrame = { parent: _currentZoneFrame, zone: this };\n try {\n if (task.type == macroTask && task.data && !task.data.isPeriodic) {\n task.cancelFn = undefined;\n }\n try {\n return this._zoneDelegate.invokeTask(this, task, applyThis, applyArgs);\n }\n catch (error) {\n if (this._zoneDelegate.handleError(this, error)) {\n throw error;\n }\n }\n }\n finally {\n // if the task's state is notScheduled or unknown, then it has already been cancelled\n // we should not reset the state to scheduled\n if (task.state !== notScheduled && task.state !== unknown) {\n if (task.type == eventTask || (task.data && task.data.isPeriodic)) {\n reEntryGuard && task._transitionTo(scheduled, running);\n }\n else {\n task.runCount = 0;\n this._updateTaskCount(task, -1);\n reEntryGuard &&\n task._transitionTo(notScheduled, running, notScheduled);\n }\n }\n _currentZoneFrame = _currentZoneFrame.parent;\n _currentTask = previousTask;\n }\n };\n Zone.prototype.scheduleTask = function (task) {\n if (task.zone && task.zone !== this) {\n // check if the task was rescheduled, the newZone\n // should not be the children of the original zone\n var newZone = this;\n while (newZone) {\n if (newZone === task.zone) {\n throw Error(\"can not reschedule task to \" + this.name + \" which is descendants of the original zone \" + task.zone.name);\n }\n newZone = newZone.parent;\n }\n }\n task._transitionTo(scheduling, notScheduled);\n var zoneDelegates = [];\n task._zoneDelegates = zoneDelegates;\n task._zone = this;\n try {\n task = this._zoneDelegate.scheduleTask(this, task);\n }\n catch (err) {\n // should set task's state to unknown when scheduleTask throw error\n // because the err may from reschedule, so the fromState maybe notScheduled\n task._transitionTo(unknown, scheduling, notScheduled);\n // TODO: @JiaLiPassion, should we check the result from handleError?\n this._zoneDelegate.handleError(this, err);\n throw err;\n }\n if (task._zoneDelegates === zoneDelegates) {\n // we have to check because internally the delegate can reschedule the task.\n this._updateTaskCount(task, 1);\n }\n if (task.state == scheduling) {\n task._transitionTo(scheduled, scheduling);\n }\n return task;\n };\n Zone.prototype.scheduleMicroTask = function (source, callback, data, customSchedule) {\n return this.scheduleTask(new ZoneTask(microTask, source, callback, data, customSchedule, undefined));\n };\n Zone.prototype.scheduleMacroTask = function (source, callback, data, customSchedule, customCancel) {\n return this.scheduleTask(new ZoneTask(macroTask, source, callback, data, customSchedule, customCancel));\n };\n Zone.prototype.scheduleEventTask = function (source, callback, data, customSchedule, customCancel) {\n return this.scheduleTask(new ZoneTask(eventTask, source, callback, data, customSchedule, customCancel));\n };\n Zone.prototype.cancelTask = function (task) {\n if (task.zone != this)\n throw new Error('A task can only be cancelled in the zone of creation! (Creation: ' +\n (task.zone || NO_ZONE).name + '; Execution: ' + this.name + ')');\n task._transitionTo(canceling, scheduled, running);\n try {\n this._zoneDelegate.cancelTask(this, task);\n }\n catch (err) {\n // if error occurs when cancelTask, transit the state to unknown\n task._transitionTo(unknown, canceling);\n this._zoneDelegate.handleError(this, err);\n throw err;\n }\n this._updateTaskCount(task, -1);\n task._transitionTo(notScheduled, canceling);\n task.runCount = 0;\n return task;\n };\n Zone.prototype._updateTaskCount = function (task, count) {\n var zoneDelegates = task._zoneDelegates;\n if (count == -1) {\n task._zoneDelegates = null;\n }\n for (var i = 0; i < zoneDelegates.length; i++) {\n zoneDelegates[i]._updateTaskCount(task.type, count);\n }\n };\n Zone.__symbol__ = __symbol__;\n return Zone;\n }());\n var DELEGATE_ZS = {\n name: '',\n onHasTask: function (delegate, _, target, hasTaskState) { return delegate.hasTask(target, hasTaskState); },\n onScheduleTask: function (delegate, _, target, task) {\n return delegate.scheduleTask(target, task);\n },\n onInvokeTask: function (delegate, _, target, task, applyThis, applyArgs) {\n return delegate.invokeTask(target, task, applyThis, applyArgs);\n },\n onCancelTask: function (delegate, _, target, task) { return delegate.cancelTask(target, task); }\n };\n var ZoneDelegate = /** @class */ (function () {\n function ZoneDelegate(zone, parentDelegate, zoneSpec) {\n this._taskCounts = { 'microTask': 0, 'macroTask': 0, 'eventTask': 0 };\n this.zone = zone;\n this._parentDelegate = parentDelegate;\n this._forkZS = zoneSpec && (zoneSpec && zoneSpec.onFork ? zoneSpec : parentDelegate._forkZS);\n this._forkDlgt = zoneSpec && (zoneSpec.onFork ? parentDelegate : parentDelegate._forkDlgt);\n this._forkCurrZone = zoneSpec && (zoneSpec.onFork ? this.zone : parentDelegate.zone);\n this._interceptZS =\n zoneSpec && (zoneSpec.onIntercept ? zoneSpec : parentDelegate._interceptZS);\n this._interceptDlgt =\n zoneSpec && (zoneSpec.onIntercept ? parentDelegate : parentDelegate._interceptDlgt);\n this._interceptCurrZone =\n zoneSpec && (zoneSpec.onIntercept ? this.zone : parentDelegate.zone);\n this._invokeZS = zoneSpec && (zoneSpec.onInvoke ? zoneSpec : parentDelegate._invokeZS);\n this._invokeDlgt =\n zoneSpec && (zoneSpec.onInvoke ? parentDelegate : parentDelegate._invokeDlgt);\n this._invokeCurrZone = zoneSpec && (zoneSpec.onInvoke ? this.zone : parentDelegate.zone);\n this._handleErrorZS =\n zoneSpec && (zoneSpec.onHandleError ? zoneSpec : parentDelegate._handleErrorZS);\n this._handleErrorDlgt =\n zoneSpec && (zoneSpec.onHandleError ? parentDelegate : parentDelegate._handleErrorDlgt);\n this._handleErrorCurrZone =\n zoneSpec && (zoneSpec.onHandleError ? this.zone : parentDelegate.zone);\n this._scheduleTaskZS =\n zoneSpec && (zoneSpec.onScheduleTask ? zoneSpec : parentDelegate._scheduleTaskZS);\n this._scheduleTaskDlgt = zoneSpec &&\n (zoneSpec.onScheduleTask ? parentDelegate : parentDelegate._scheduleTaskDlgt);\n this._scheduleTaskCurrZone =\n zoneSpec && (zoneSpec.onScheduleTask ? this.zone : parentDelegate.zone);\n this._invokeTaskZS =\n zoneSpec && (zoneSpec.onInvokeTask ? zoneSpec : parentDelegate._invokeTaskZS);\n this._invokeTaskDlgt =\n zoneSpec && (zoneSpec.onInvokeTask ? parentDelegate : parentDelegate._invokeTaskDlgt);\n this._invokeTaskCurrZone =\n zoneSpec && (zoneSpec.onInvokeTask ? this.zone : parentDelegate.zone);\n this._cancelTaskZS =\n zoneSpec && (zoneSpec.onCancelTask ? zoneSpec : parentDelegate._cancelTaskZS);\n this._cancelTaskDlgt =\n zoneSpec && (zoneSpec.onCancelTask ? parentDelegate : parentDelegate._cancelTaskDlgt);\n this._cancelTaskCurrZone =\n zoneSpec && (zoneSpec.onCancelTask ? this.zone : parentDelegate.zone);\n this._hasTaskZS = null;\n this._hasTaskDlgt = null;\n this._hasTaskDlgtOwner = null;\n this._hasTaskCurrZone = null;\n var zoneSpecHasTask = zoneSpec && zoneSpec.onHasTask;\n var parentHasTask = parentDelegate && parentDelegate._hasTaskZS;\n if (zoneSpecHasTask || parentHasTask) {\n // If we need to report hasTask, than this ZS needs to do ref counting on tasks. In such\n // a case all task related interceptors must go through this ZD. We can't short circuit it.\n this._hasTaskZS = zoneSpecHasTask ? zoneSpec : DELEGATE_ZS;\n this._hasTaskDlgt = parentDelegate;\n this._hasTaskDlgtOwner = this;\n this._hasTaskCurrZone = zone;\n if (!zoneSpec.onScheduleTask) {\n this._scheduleTaskZS = DELEGATE_ZS;\n this._scheduleTaskDlgt = parentDelegate;\n this._scheduleTaskCurrZone = this.zone;\n }\n if (!zoneSpec.onInvokeTask) {\n this._invokeTaskZS = DELEGATE_ZS;\n this._invokeTaskDlgt = parentDelegate;\n this._invokeTaskCurrZone = this.zone;\n }\n if (!zoneSpec.onCancelTask) {\n this._cancelTaskZS = DELEGATE_ZS;\n this._cancelTaskDlgt = parentDelegate;\n this._cancelTaskCurrZone = this.zone;\n }\n }\n }\n ZoneDelegate.prototype.fork = function (targetZone, zoneSpec) {\n return this._forkZS ? this._forkZS.onFork(this._forkDlgt, this.zone, targetZone, zoneSpec) :\n new Zone(targetZone, zoneSpec);\n };\n ZoneDelegate.prototype.intercept = function (targetZone, callback, source) {\n return this._interceptZS ?\n this._interceptZS.onIntercept(this._interceptDlgt, this._interceptCurrZone, targetZone, callback, source) :\n callback;\n };\n ZoneDelegate.prototype.invoke = function (targetZone, callback, applyThis, applyArgs, source) {\n return this._invokeZS ? this._invokeZS.onInvoke(this._invokeDlgt, this._invokeCurrZone, targetZone, callback, applyThis, applyArgs, source) :\n callback.apply(applyThis, applyArgs);\n };\n ZoneDelegate.prototype.handleError = function (targetZone, error) {\n return this._handleErrorZS ?\n this._handleErrorZS.onHandleError(this._handleErrorDlgt, this._handleErrorCurrZone, targetZone, error) :\n true;\n };\n ZoneDelegate.prototype.scheduleTask = function (targetZone, task) {\n var returnTask = task;\n if (this._scheduleTaskZS) {\n if (this._hasTaskZS) {\n returnTask._zoneDelegates.push(this._hasTaskDlgtOwner);\n }\n returnTask = this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt, this._scheduleTaskCurrZone, targetZone, task);\n if (!returnTask)\n returnTask = task;\n }\n else {\n if (task.scheduleFn) {\n task.scheduleFn(task);\n }\n else if (task.type == microTask) {\n scheduleMicroTask(task);\n }\n else {\n throw new Error('Task is missing scheduleFn.');\n }\n }\n return returnTask;\n };\n ZoneDelegate.prototype.invokeTask = function (targetZone, task, applyThis, applyArgs) {\n return this._invokeTaskZS ? this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt, this._invokeTaskCurrZone, targetZone, task, applyThis, applyArgs) :\n task.callback.apply(applyThis, applyArgs);\n };\n ZoneDelegate.prototype.cancelTask = function (targetZone, task) {\n var value;\n if (this._cancelTaskZS) {\n value = this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt, this._cancelTaskCurrZone, targetZone, task);\n }\n else {\n if (!task.cancelFn) {\n throw Error('Task is not cancelable');\n }\n value = task.cancelFn(task);\n }\n return value;\n };\n ZoneDelegate.prototype.hasTask = function (targetZone, isEmpty) {\n // hasTask should not throw error so other ZoneDelegate\n // can still trigger hasTask callback\n try {\n this._hasTaskZS &&\n this._hasTaskZS.onHasTask(this._hasTaskDlgt, this._hasTaskCurrZone, targetZone, isEmpty);\n }\n catch (err) {\n this.handleError(targetZone, err);\n }\n };\n ZoneDelegate.prototype._updateTaskCount = function (type, count) {\n var counts = this._taskCounts;\n var prev = counts[type];\n var next = counts[type] = prev + count;\n if (next < 0) {\n throw new Error('More tasks executed then were scheduled.');\n }\n if (prev == 0 || next == 0) {\n var isEmpty = {\n microTask: counts['microTask'] > 0,\n macroTask: counts['macroTask'] > 0,\n eventTask: counts['eventTask'] > 0,\n change: type\n };\n this.hasTask(this.zone, isEmpty);\n }\n };\n return ZoneDelegate;\n }());\n var ZoneTask = /** @class */ (function () {\n function ZoneTask(type, source, callback, options, scheduleFn, cancelFn) {\n this._zone = null;\n this.runCount = 0;\n this._zoneDelegates = null;\n this._state = 'notScheduled';\n this.type = type;\n this.source = source;\n this.data = options;\n this.scheduleFn = scheduleFn;\n this.cancelFn = cancelFn;\n this.callback = callback;\n var self = this;\n // TODO: @JiaLiPassion options should have interface\n if (type === eventTask && options && options.useG) {\n this.invoke = ZoneTask.invokeTask;\n }\n else {\n this.invoke = function () {\n return ZoneTask.invokeTask.call(global, self, this, arguments);\n };\n }\n }\n ZoneTask.invokeTask = function (task, target, args) {\n if (!task) {\n task = this;\n }\n _numberOfNestedTaskFrames++;\n try {\n task.runCount++;\n return task.zone.runTask(task, target, args);\n }\n finally {\n if (_numberOfNestedTaskFrames == 1) {\n drainMicroTaskQueue();\n }\n _numberOfNestedTaskFrames--;\n }\n };\n Object.defineProperty(ZoneTask.prototype, \"zone\", {\n get: function () {\n return this._zone;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ZoneTask.prototype, \"state\", {\n get: function () {\n return this._state;\n },\n enumerable: true,\n configurable: true\n });\n ZoneTask.prototype.cancelScheduleRequest = function () {\n this._transitionTo(notScheduled, scheduling);\n };\n ZoneTask.prototype._transitionTo = function (toState, fromState1, fromState2) {\n if (this._state === fromState1 || this._state === fromState2) {\n this._state = toState;\n if (toState == notScheduled) {\n this._zoneDelegates = null;\n }\n }\n else {\n throw new Error(this.type + \" '\" + this.source + \"': can not transition to '\" + toState + \"', expecting state '\" + fromState1 + \"'\" + (fromState2 ? ' or \\'' + fromState2 + '\\'' : '') + \", was '\" + this._state + \"'.\");\n }\n };\n ZoneTask.prototype.toString = function () {\n if (this.data && typeof this.data.handleId !== 'undefined') {\n return this.data.handleId.toString();\n }\n else {\n return Object.prototype.toString.call(this);\n }\n };\n // add toJSON method to prevent cyclic error when\n // call JSON.stringify(zoneTask)\n ZoneTask.prototype.toJSON = function () {\n return {\n type: this.type,\n state: this.state,\n source: this.source,\n zone: this.zone.name,\n runCount: this.runCount\n };\n };\n return ZoneTask;\n }());\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n /// MICROTASK QUEUE\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n var symbolSetTimeout = __symbol__('setTimeout');\n var symbolPromise = __symbol__('Promise');\n var symbolThen = __symbol__('then');\n var _microTaskQueue = [];\n var _isDrainingMicrotaskQueue = false;\n var nativeMicroTaskQueuePromise;\n function scheduleMicroTask(task) {\n // if we are not running in any task, and there has not been anything scheduled\n // we must bootstrap the initial task creation by manually scheduling the drain\n if (_numberOfNestedTaskFrames === 0 && _microTaskQueue.length === 0) {\n // We are not running in Task, so we need to kickstart the microtask queue.\n if (!nativeMicroTaskQueuePromise) {\n if (global[symbolPromise]) {\n nativeMicroTaskQueuePromise = global[symbolPromise].resolve(0);\n }\n }\n if (nativeMicroTaskQueuePromise) {\n var nativeThen = nativeMicroTaskQueuePromise[symbolThen];\n if (!nativeThen) {\n // native Promise is not patchable, we need to use `then` directly\n // issue 1078\n nativeThen = nativeMicroTaskQueuePromise['then'];\n }\n nativeThen.call(nativeMicroTaskQueuePromise, drainMicroTaskQueue);\n }\n else {\n global[symbolSetTimeout](drainMicroTaskQueue, 0);\n }\n }\n task && _microTaskQueue.push(task);\n }\n function drainMicroTaskQueue() {\n if (!_isDrainingMicrotaskQueue) {\n _isDrainingMicrotaskQueue = true;\n while (_microTaskQueue.length) {\n var queue = _microTaskQueue;\n _microTaskQueue = [];\n for (var i = 0; i < queue.length; i++) {\n var task = queue[i];\n try {\n task.zone.runTask(task, null, null);\n }\n catch (error) {\n _api.onUnhandledError(error);\n }\n }\n }\n _api.microtaskDrainDone();\n _isDrainingMicrotaskQueue = false;\n }\n }\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n /// BOOTSTRAP\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n var NO_ZONE = { name: 'NO ZONE' };\n var notScheduled = 'notScheduled', scheduling = 'scheduling', scheduled = 'scheduled', running = 'running', canceling = 'canceling', unknown = 'unknown';\n var microTask = 'microTask', macroTask = 'macroTask', eventTask = 'eventTask';\n var patches = {};\n var _api = {\n symbol: __symbol__,\n currentZoneFrame: function () { return _currentZoneFrame; },\n onUnhandledError: noop,\n microtaskDrainDone: noop,\n scheduleMicroTask: scheduleMicroTask,\n showUncaughtError: function () { return !Zone[__symbol__('ignoreConsoleErrorUncaughtError')]; },\n patchEventTarget: function () { return []; },\n patchOnProperties: noop,\n patchMethod: function () { return noop; },\n bindArguments: function () { return []; },\n patchThen: function () { return noop; },\n setNativePromise: function (NativePromise) {\n // sometimes NativePromise.resolve static function\n // is not ready yet, (such as core-js/es6.promise)\n // so we need to check here.\n if (NativePromise && typeof NativePromise.resolve === 'function') {\n nativeMicroTaskQueuePromise = NativePromise.resolve(0);\n }\n },\n };\n var _currentZoneFrame = { parent: null, zone: new Zone(null, null) };\n var _currentTask = null;\n var _numberOfNestedTaskFrames = 0;\n function noop() { }\n function __symbol__(name) {\n return '__zone_symbol__' + name;\n }\n performanceMeasure('Zone', 'Zone');\n return global['Zone'] = Zone;\n})(typeof window !== 'undefined' && window || typeof self !== 'undefined' && self || global);\n\nvar __values = (undefined && undefined.__values) || function (o) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\n if (m) return m.call(o);\n return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n};\nZone.__load_patch('ZoneAwarePromise', function (global, Zone, api) {\n var ObjectGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n var ObjectDefineProperty = Object.defineProperty;\n function readableObjectToString(obj) {\n if (obj && obj.toString === Object.prototype.toString) {\n var className = obj.constructor && obj.constructor.name;\n return (className ? className : '') + ': ' + JSON.stringify(obj);\n }\n return obj ? obj.toString() : Object.prototype.toString.call(obj);\n }\n var __symbol__ = api.symbol;\n var _uncaughtPromiseErrors = [];\n var symbolPromise = __symbol__('Promise');\n var symbolThen = __symbol__('then');\n var creationTrace = '__creationTrace__';\n api.onUnhandledError = function (e) {\n if (api.showUncaughtError()) {\n var rejection = e && e.rejection;\n if (rejection) {\n console.error('Unhandled Promise rejection:', rejection instanceof Error ? rejection.message : rejection, '; Zone:', e.zone.name, '; Task:', e.task && e.task.source, '; Value:', rejection, rejection instanceof Error ? rejection.stack : undefined);\n }\n else {\n console.error(e);\n }\n }\n };\n api.microtaskDrainDone = function () {\n while (_uncaughtPromiseErrors.length) {\n var _loop_1 = function () {\n var uncaughtPromiseError = _uncaughtPromiseErrors.shift();\n try {\n uncaughtPromiseError.zone.runGuarded(function () {\n throw uncaughtPromiseError;\n });\n }\n catch (error) {\n handleUnhandledRejection(error);\n }\n };\n while (_uncaughtPromiseErrors.length) {\n _loop_1();\n }\n }\n };\n var UNHANDLED_PROMISE_REJECTION_HANDLER_SYMBOL = __symbol__('unhandledPromiseRejectionHandler');\n function handleUnhandledRejection(e) {\n api.onUnhandledError(e);\n try {\n var handler = Zone[UNHANDLED_PROMISE_REJECTION_HANDLER_SYMBOL];\n if (handler && typeof handler === 'function') {\n handler.call(this, e);\n }\n }\n catch (err) {\n }\n }\n function isThenable(value) {\n return value && value.then;\n }\n function forwardResolution(value) {\n return value;\n }\n function forwardRejection(rejection) {\n return ZoneAwarePromise.reject(rejection);\n }\n var symbolState = __symbol__('state');\n var symbolValue = __symbol__('value');\n var symbolFinally = __symbol__('finally');\n var symbolParentPromiseValue = __symbol__('parentPromiseValue');\n var symbolParentPromiseState = __symbol__('parentPromiseState');\n var source = 'Promise.then';\n var UNRESOLVED = null;\n var RESOLVED = true;\n var REJECTED = false;\n var REJECTED_NO_CATCH = 0;\n function makeResolver(promise, state) {\n return function (v) {\n try {\n resolvePromise(promise, state, v);\n }\n catch (err) {\n resolvePromise(promise, false, err);\n }\n // Do not return value or you will break the Promise spec.\n };\n }\n var once = function () {\n var wasCalled = false;\n return function wrapper(wrappedFunction) {\n return function () {\n if (wasCalled) {\n return;\n }\n wasCalled = true;\n wrappedFunction.apply(null, arguments);\n };\n };\n };\n var TYPE_ERROR = 'Promise resolved with itself';\n var CURRENT_TASK_TRACE_SYMBOL = __symbol__('currentTaskTrace');\n // Promise Resolution\n function resolvePromise(promise, state, value) {\n var onceWrapper = once();\n if (promise === value) {\n throw new TypeError(TYPE_ERROR);\n }\n if (promise[symbolState] === UNRESOLVED) {\n // should only get value.then once based on promise spec.\n var then = null;\n try {\n if (typeof value === 'object' || typeof value === 'function') {\n then = value && value.then;\n }\n }\n catch (err) {\n onceWrapper(function () {\n resolvePromise(promise, false, err);\n })();\n return promise;\n }\n // if (value instanceof ZoneAwarePromise) {\n if (state !== REJECTED && value instanceof ZoneAwarePromise &&\n value.hasOwnProperty(symbolState) && value.hasOwnProperty(symbolValue) &&\n value[symbolState] !== UNRESOLVED) {\n clearRejectedNoCatch(value);\n resolvePromise(promise, value[symbolState], value[symbolValue]);\n }\n else if (state !== REJECTED && typeof then === 'function') {\n try {\n then.call(value, onceWrapper(makeResolver(promise, state)), onceWrapper(makeResolver(promise, false)));\n }\n catch (err) {\n onceWrapper(function () {\n resolvePromise(promise, false, err);\n })();\n }\n }\n else {\n promise[symbolState] = state;\n var queue = promise[symbolValue];\n promise[symbolValue] = value;\n if (promise[symbolFinally] === symbolFinally) {\n // the promise is generated by Promise.prototype.finally\n if (state === RESOLVED) {\n // the state is resolved, should ignore the value\n // and use parent promise value\n promise[symbolState] = promise[symbolParentPromiseState];\n promise[symbolValue] = promise[symbolParentPromiseValue];\n }\n }\n // record task information in value when error occurs, so we can\n // do some additional work such as render longStackTrace\n if (state === REJECTED && value instanceof Error) {\n // check if longStackTraceZone is here\n var trace = Zone.currentTask && Zone.currentTask.data &&\n Zone.currentTask.data[creationTrace];\n if (trace) {\n // only keep the long stack trace into error when in longStackTraceZone\n ObjectDefineProperty(value, CURRENT_TASK_TRACE_SYMBOL, { configurable: true, enumerable: false, writable: true, value: trace });\n }\n }\n for (var i = 0; i < queue.length;) {\n scheduleResolveOrReject(promise, queue[i++], queue[i++], queue[i++], queue[i++]);\n }\n if (queue.length == 0 && state == REJECTED) {\n promise[symbolState] = REJECTED_NO_CATCH;\n try {\n // try to print more readable error log\n throw new Error('Uncaught (in promise): ' + readableObjectToString(value) +\n (value && value.stack ? '\\n' + value.stack : ''));\n }\n catch (err) {\n var error_1 = err;\n error_1.rejection = value;\n error_1.promise = promise;\n error_1.zone = Zone.current;\n error_1.task = Zone.currentTask;\n _uncaughtPromiseErrors.push(error_1);\n api.scheduleMicroTask(); // to make sure that it is running\n }\n }\n }\n }\n // Resolving an already resolved promise is a noop.\n return promise;\n }\n var REJECTION_HANDLED_HANDLER = __symbol__('rejectionHandledHandler');\n function clearRejectedNoCatch(promise) {\n if (promise[symbolState] === REJECTED_NO_CATCH) {\n // if the promise is rejected no catch status\n // and queue.length > 0, means there is a error handler\n // here to handle the rejected promise, we should trigger\n // windows.rejectionhandled eventHandler or nodejs rejectionHandled\n // eventHandler\n try {\n var handler = Zone[REJECTION_HANDLED_HANDLER];\n if (handler && typeof handler === 'function') {\n handler.call(this, { rejection: promise[symbolValue], promise: promise });\n }\n }\n catch (err) {\n }\n promise[symbolState] = REJECTED;\n for (var i = 0; i < _uncaughtPromiseErrors.length; i++) {\n if (promise === _uncaughtPromiseErrors[i].promise) {\n _uncaughtPromiseErrors.splice(i, 1);\n }\n }\n }\n }\n function scheduleResolveOrReject(promise, zone, chainPromise, onFulfilled, onRejected) {\n clearRejectedNoCatch(promise);\n var promiseState = promise[symbolState];\n var delegate = promiseState ?\n (typeof onFulfilled === 'function') ? onFulfilled : forwardResolution :\n (typeof onRejected === 'function') ? onRejected : forwardRejection;\n zone.scheduleMicroTask(source, function () {\n try {\n var parentPromiseValue = promise[symbolValue];\n var isFinallyPromise = chainPromise && symbolFinally === chainPromise[symbolFinally];\n if (isFinallyPromise) {\n // if the promise is generated from finally call, keep parent promise's state and value\n chainPromise[symbolParentPromiseValue] = parentPromiseValue;\n chainPromise[symbolParentPromiseState] = promiseState;\n }\n // should not pass value to finally callback\n var value = zone.run(delegate, undefined, isFinallyPromise && delegate !== forwardRejection && delegate !== forwardResolution ?\n [] :\n [parentPromiseValue]);\n resolvePromise(chainPromise, true, value);\n }\n catch (error) {\n // if error occurs, should always return this error\n resolvePromise(chainPromise, false, error);\n }\n }, chainPromise);\n }\n var ZONE_AWARE_PROMISE_TO_STRING = 'function ZoneAwarePromise() { [native code] }';\n var ZoneAwarePromise = /** @class */ (function () {\n function ZoneAwarePromise(executor) {\n var promise = this;\n if (!(promise instanceof ZoneAwarePromise)) {\n throw new Error('Must be an instanceof Promise.');\n }\n promise[symbolState] = UNRESOLVED;\n promise[symbolValue] = []; // queue;\n try {\n executor && executor(makeResolver(promise, RESOLVED), makeResolver(promise, REJECTED));\n }\n catch (error) {\n resolvePromise(promise, false, error);\n }\n }\n ZoneAwarePromise.toString = function () {\n return ZONE_AWARE_PROMISE_TO_STRING;\n };\n ZoneAwarePromise.resolve = function (value) {\n return resolvePromise(new this(null), RESOLVED, value);\n };\n ZoneAwarePromise.reject = function (error) {\n return resolvePromise(new this(null), REJECTED, error);\n };\n ZoneAwarePromise.race = function (values) {\n var e_1, _a;\n var resolve;\n var reject;\n var promise = new this(function (res, rej) {\n resolve = res;\n reject = rej;\n });\n function onResolve(value) {\n promise && (promise = null || resolve(value));\n }\n function onReject(error) {\n promise && (promise = null || reject(error));\n }\n try {\n for (var values_1 = __values(values), values_1_1 = values_1.next(); !values_1_1.done; values_1_1 = values_1.next()) {\n var value = values_1_1.value;\n if (!isThenable(value)) {\n value = this.resolve(value);\n }\n value.then(onResolve, onReject);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (values_1_1 && !values_1_1.done && (_a = values_1.return)) _a.call(values_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return promise;\n };\n ZoneAwarePromise.all = function (values) {\n var e_2, _a;\n var resolve;\n var reject;\n var promise = new this(function (res, rej) {\n resolve = res;\n reject = rej;\n });\n // Start at 2 to prevent prematurely resolving if .then is called immediately.\n var unresolvedCount = 2;\n var valueIndex = 0;\n var resolvedValues = [];\n var _loop_2 = function (value) {\n if (!isThenable(value)) {\n value = this_1.resolve(value);\n }\n var curValueIndex = valueIndex;\n value.then(function (value) {\n resolvedValues[curValueIndex] = value;\n unresolvedCount--;\n if (unresolvedCount === 0) {\n resolve(resolvedValues);\n }\n }, reject);\n unresolvedCount++;\n valueIndex++;\n };\n var this_1 = this;\n try {\n for (var values_2 = __values(values), values_2_1 = values_2.next(); !values_2_1.done; values_2_1 = values_2.next()) {\n var value = values_2_1.value;\n _loop_2(value);\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (values_2_1 && !values_2_1.done && (_a = values_2.return)) _a.call(values_2);\n }\n finally { if (e_2) throw e_2.error; }\n }\n // Make the unresolvedCount zero-based again.\n unresolvedCount -= 2;\n if (unresolvedCount === 0) {\n resolve(resolvedValues);\n }\n return promise;\n };\n ZoneAwarePromise.prototype.then = function (onFulfilled, onRejected) {\n var chainPromise = new this.constructor(null);\n var zone = Zone.current;\n if (this[symbolState] == UNRESOLVED) {\n this[symbolValue].push(zone, chainPromise, onFulfilled, onRejected);\n }\n else {\n scheduleResolveOrReject(this, zone, chainPromise, onFulfilled, onRejected);\n }\n return chainPromise;\n };\n ZoneAwarePromise.prototype.catch = function (onRejected) {\n return this.then(null, onRejected);\n };\n ZoneAwarePromise.prototype.finally = function (onFinally) {\n var chainPromise = new this.constructor(null);\n chainPromise[symbolFinally] = symbolFinally;\n var zone = Zone.current;\n if (this[symbolState] == UNRESOLVED) {\n this[symbolValue].push(zone, chainPromise, onFinally, onFinally);\n }\n else {\n scheduleResolveOrReject(this, zone, chainPromise, onFinally, onFinally);\n }\n return chainPromise;\n };\n return ZoneAwarePromise;\n }());\n // Protect against aggressive optimizers dropping seemingly unused properties.\n // E.g. Closure Compiler in advanced mode.\n ZoneAwarePromise['resolve'] = ZoneAwarePromise.resolve;\n ZoneAwarePromise['reject'] = ZoneAwarePromise.reject;\n ZoneAwarePromise['race'] = ZoneAwarePromise.race;\n ZoneAwarePromise['all'] = ZoneAwarePromise.all;\n var NativePromise = global[symbolPromise] = global['Promise'];\n var ZONE_AWARE_PROMISE = Zone.__symbol__('ZoneAwarePromise');\n var desc = ObjectGetOwnPropertyDescriptor(global, 'Promise');\n if (!desc || desc.configurable) {\n desc && delete desc.writable;\n desc && delete desc.value;\n if (!desc) {\n desc = { configurable: true, enumerable: true };\n }\n desc.get = function () {\n // if we already set ZoneAwarePromise, use patched one\n // otherwise return native one.\n return global[ZONE_AWARE_PROMISE] ? global[ZONE_AWARE_PROMISE] : global[symbolPromise];\n };\n desc.set = function (NewNativePromise) {\n if (NewNativePromise === ZoneAwarePromise) {\n // if the NewNativePromise is ZoneAwarePromise\n // save to global\n global[ZONE_AWARE_PROMISE] = NewNativePromise;\n }\n else {\n // if the NewNativePromise is not ZoneAwarePromise\n // for example: after load zone.js, some library just\n // set es6-promise to global, if we set it to global\n // directly, assertZonePatched will fail and angular\n // will not loaded, so we just set the NewNativePromise\n // to global[symbolPromise], so the result is just like\n // we load ES6 Promise before zone.js\n global[symbolPromise] = NewNativePromise;\n if (!NewNativePromise.prototype[symbolThen]) {\n patchThen(NewNativePromise);\n }\n api.setNativePromise(NewNativePromise);\n }\n };\n ObjectDefineProperty(global, 'Promise', desc);\n }\n global['Promise'] = ZoneAwarePromise;\n var symbolThenPatched = __symbol__('thenPatched');\n function patchThen(Ctor) {\n var proto = Ctor.prototype;\n var prop = ObjectGetOwnPropertyDescriptor(proto, 'then');\n if (prop && (prop.writable === false || !prop.configurable)) {\n // check Ctor.prototype.then propertyDescriptor is writable or not\n // in meteor env, writable is false, we should ignore such case\n return;\n }\n var originalThen = proto.then;\n // Keep a reference to the original method.\n proto[symbolThen] = originalThen;\n Ctor.prototype.then = function (onResolve, onReject) {\n var _this = this;\n var wrapped = new ZoneAwarePromise(function (resolve, reject) {\n originalThen.call(_this, resolve, reject);\n });\n return wrapped.then(onResolve, onReject);\n };\n Ctor[symbolThenPatched] = true;\n }\n api.patchThen = patchThen;\n if (NativePromise) {\n patchThen(NativePromise);\n }\n // This is not part of public API, but it is useful for tests, so we expose it.\n Promise[Zone.__symbol__('uncaughtPromiseErrors')] = _uncaughtPromiseErrors;\n return ZoneAwarePromise;\n});\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nZone.__load_patch('fetch', function (global, Zone, api) {\n var fetch = global['fetch'];\n var ZoneAwarePromise = global.Promise;\n var symbolThenPatched = api.symbol('thenPatched');\n var fetchTaskScheduling = api.symbol('fetchTaskScheduling');\n var fetchTaskAborting = api.symbol('fetchTaskAborting');\n if (typeof fetch !== 'function') {\n return;\n }\n var OriginalAbortController = global['AbortController'];\n var supportAbort = typeof OriginalAbortController === 'function';\n var abortNative = null;\n if (supportAbort) {\n global['AbortController'] = function () {\n var abortController = new OriginalAbortController();\n var signal = abortController.signal;\n signal.abortController = abortController;\n return abortController;\n };\n abortNative = api.patchMethod(OriginalAbortController.prototype, 'abort', function (delegate) { return function (self, args) {\n if (self.task) {\n return self.task.zone.cancelTask(self.task);\n }\n return delegate.apply(self, args);\n }; });\n }\n var placeholder = function () { };\n global['fetch'] = function () {\n var _this = this;\n var args = Array.prototype.slice.call(arguments);\n var options = args.length > 1 ? args[1] : null;\n var signal = options && options.signal;\n return new Promise(function (res, rej) {\n var task = Zone.current.scheduleMacroTask('fetch', placeholder, args, function () {\n var fetchPromise;\n var zone = Zone.current;\n try {\n zone[fetchTaskScheduling] = true;\n fetchPromise = fetch.apply(_this, args);\n }\n catch (error) {\n rej(error);\n return;\n }\n finally {\n zone[fetchTaskScheduling] = false;\n }\n if (!(fetchPromise instanceof ZoneAwarePromise)) {\n var ctor = fetchPromise.constructor;\n if (!ctor[symbolThenPatched]) {\n api.patchThen(ctor);\n }\n }\n fetchPromise.then(function (resource) {\n if (task.state !== 'notScheduled') {\n task.invoke();\n }\n res(resource);\n }, function (error) {\n if (task.state !== 'notScheduled') {\n task.invoke();\n }\n rej(error);\n });\n }, function () {\n if (!supportAbort) {\n rej('No AbortController supported, can not cancel fetch');\n return;\n }\n if (signal && signal.abortController && !signal.aborted &&\n typeof signal.abortController.abort === 'function' && abortNative) {\n try {\n Zone.current[fetchTaskAborting] = true;\n abortNative.call(signal.abortController);\n }\n finally {\n Zone.current[fetchTaskAborting] = false;\n }\n }\n else {\n rej('cancel fetch need a AbortController.signal');\n }\n });\n if (signal && signal.abortController) {\n signal.abortController.task = task;\n }\n });\n };\n});\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Suppress closure compiler errors about unknown 'Zone' variable\n * @fileoverview\n * @suppress {undefinedVars,globalThis,missingRequire}\n */\n// issue #989, to reduce bundle size, use short name\n/** Object.getOwnPropertyDescriptor */\nvar ObjectGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n/** Object.defineProperty */\nvar ObjectDefineProperty = Object.defineProperty;\n/** Object.getPrototypeOf */\nvar ObjectGetPrototypeOf = Object.getPrototypeOf;\n/** Object.create */\nvar ObjectCreate = Object.create;\n/** Array.prototype.slice */\nvar ArraySlice = Array.prototype.slice;\n/** addEventListener string const */\nvar ADD_EVENT_LISTENER_STR = 'addEventListener';\n/** removeEventListener string const */\nvar REMOVE_EVENT_LISTENER_STR = 'removeEventListener';\n/** zoneSymbol addEventListener */\nvar ZONE_SYMBOL_ADD_EVENT_LISTENER = Zone.__symbol__(ADD_EVENT_LISTENER_STR);\n/** zoneSymbol removeEventListener */\nvar ZONE_SYMBOL_REMOVE_EVENT_LISTENER = Zone.__symbol__(REMOVE_EVENT_LISTENER_STR);\n/** true string const */\nvar TRUE_STR = 'true';\n/** false string const */\nvar FALSE_STR = 'false';\n/** __zone_symbol__ string const */\nvar ZONE_SYMBOL_PREFIX = '__zone_symbol__';\nfunction wrapWithCurrentZone(callback, source) {\n return Zone.current.wrap(callback, source);\n}\nfunction scheduleMacroTaskWithCurrentZone(source, callback, data, customSchedule, customCancel) {\n return Zone.current.scheduleMacroTask(source, callback, data, customSchedule, customCancel);\n}\nvar zoneSymbol = Zone.__symbol__;\nvar isWindowExists = typeof window !== 'undefined';\nvar internalWindow = isWindowExists ? window : undefined;\nvar _global = isWindowExists && internalWindow || typeof self === 'object' && self || global;\nvar REMOVE_ATTRIBUTE = 'removeAttribute';\nvar NULL_ON_PROP_VALUE = [null];\nfunction bindArguments(args, source) {\n for (var i = args.length - 1; i >= 0; i--) {\n if (typeof args[i] === 'function') {\n args[i] = wrapWithCurrentZone(args[i], source + '_' + i);\n }\n }\n return args;\n}\nfunction patchPrototype(prototype, fnNames) {\n var source = prototype.constructor['name'];\n var _loop_1 = function (i) {\n var name_1 = fnNames[i];\n var delegate = prototype[name_1];\n if (delegate) {\n var prototypeDesc = ObjectGetOwnPropertyDescriptor(prototype, name_1);\n if (!isPropertyWritable(prototypeDesc)) {\n return \"continue\";\n }\n prototype[name_1] = (function (delegate) {\n var patched = function () {\n return delegate.apply(this, bindArguments(arguments, source + '.' + name_1));\n };\n attachOriginToPatched(patched, delegate);\n return patched;\n })(delegate);\n }\n };\n for (var i = 0; i < fnNames.length; i++) {\n _loop_1(i);\n }\n}\nfunction isPropertyWritable(propertyDesc) {\n if (!propertyDesc) {\n return true;\n }\n if (propertyDesc.writable === false) {\n return false;\n }\n return !(typeof propertyDesc.get === 'function' && typeof propertyDesc.set === 'undefined');\n}\nvar isWebWorker = (typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope);\n// Make sure to access `process` through `_global` so that WebPack does not accidentally browserify\n// this code.\nvar isNode = (!('nw' in _global) && typeof _global.process !== 'undefined' &&\n {}.toString.call(_global.process) === '[object process]');\nvar isBrowser = !isNode && !isWebWorker && !!(isWindowExists && internalWindow['HTMLElement']);\n// we are in electron of nw, so we are both browser and nodejs\n// Make sure to access `process` through `_global` so that WebPack does not accidentally browserify\n// this code.\nvar isMix = typeof _global.process !== 'undefined' &&\n {}.toString.call(_global.process) === '[object process]' && !isWebWorker &&\n !!(isWindowExists && internalWindow['HTMLElement']);\nvar zoneSymbolEventNames = {};\nvar wrapFn = function (event) {\n // https://github.com/angular/zone.js/issues/911, in IE, sometimes\n // event will be undefined, so we need to use window.event\n event = event || _global.event;\n if (!event) {\n return;\n }\n var eventNameSymbol = zoneSymbolEventNames[event.type];\n if (!eventNameSymbol) {\n eventNameSymbol = zoneSymbolEventNames[event.type] = zoneSymbol('ON_PROPERTY' + event.type);\n }\n var target = this || event.target || _global;\n var listener = target[eventNameSymbol];\n var result;\n if (isBrowser && target === internalWindow && event.type === 'error') {\n // window.onerror have different signiture\n // https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/onerror#window.onerror\n // and onerror callback will prevent default when callback return true\n var errorEvent = event;\n result = listener &&\n listener.call(this, errorEvent.message, errorEvent.filename, errorEvent.lineno, errorEvent.colno, errorEvent.error);\n if (result === true) {\n event.preventDefault();\n }\n }\n else {\n result = listener && listener.apply(this, arguments);\n if (result != undefined && !result) {\n event.preventDefault();\n }\n }\n return result;\n};\nfunction patchProperty(obj, prop, prototype) {\n var desc = ObjectGetOwnPropertyDescriptor(obj, prop);\n if (!desc && prototype) {\n // when patch window object, use prototype to check prop exist or not\n var prototypeDesc = ObjectGetOwnPropertyDescriptor(prototype, prop);\n if (prototypeDesc) {\n desc = { enumerable: true, configurable: true };\n }\n }\n // if the descriptor not exists or is not configurable\n // just return\n if (!desc || !desc.configurable) {\n return;\n }\n var onPropPatchedSymbol = zoneSymbol('on' + prop + 'patched');\n if (obj.hasOwnProperty(onPropPatchedSymbol) && obj[onPropPatchedSymbol]) {\n return;\n }\n // A property descriptor cannot have getter/setter and be writable\n // deleting the writable and value properties avoids this error:\n //\n // TypeError: property descriptors must not specify a value or be writable when a\n // getter or setter has been specified\n delete desc.writable;\n delete desc.value;\n var originalDescGet = desc.get;\n var originalDescSet = desc.set;\n // substr(2) cuz 'onclick' -> 'click', etc\n var eventName = prop.substr(2);\n var eventNameSymbol = zoneSymbolEventNames[eventName];\n if (!eventNameSymbol) {\n eventNameSymbol = zoneSymbolEventNames[eventName] = zoneSymbol('ON_PROPERTY' + eventName);\n }\n desc.set = function (newValue) {\n // in some of windows's onproperty callback, this is undefined\n // so we need to check it\n var target = this;\n if (!target && obj === _global) {\n target = _global;\n }\n if (!target) {\n return;\n }\n var previousValue = target[eventNameSymbol];\n if (previousValue) {\n target.removeEventListener(eventName, wrapFn);\n }\n // issue #978, when onload handler was added before loading zone.js\n // we should remove it with originalDescSet\n if (originalDescSet) {\n originalDescSet.apply(target, NULL_ON_PROP_VALUE);\n }\n if (typeof newValue === 'function') {\n target[eventNameSymbol] = newValue;\n target.addEventListener(eventName, wrapFn, false);\n }\n else {\n target[eventNameSymbol] = null;\n }\n };\n // The getter would return undefined for unassigned properties but the default value of an\n // unassigned property is null\n desc.get = function () {\n // in some of windows's onproperty callback, this is undefined\n // so we need to check it\n var target = this;\n if (!target && obj === _global) {\n target = _global;\n }\n if (!target) {\n return null;\n }\n var listener = target[eventNameSymbol];\n if (listener) {\n return listener;\n }\n else if (originalDescGet) {\n // result will be null when use inline event attribute,\n // such as \n // because the onclick function is internal raw uncompiled handler\n // the onclick will be evaluated when first time event was triggered or\n // the property is accessed, https://github.com/angular/zone.js/issues/525\n // so we should use original native get to retrieve the handler\n var value = originalDescGet && originalDescGet.call(this);\n if (value) {\n desc.set.call(this, value);\n if (typeof target[REMOVE_ATTRIBUTE] === 'function') {\n target.removeAttribute(prop);\n }\n return value;\n }\n }\n return null;\n };\n ObjectDefineProperty(obj, prop, desc);\n obj[onPropPatchedSymbol] = true;\n}\nfunction patchOnProperties(obj, properties, prototype) {\n if (properties) {\n for (var i = 0; i < properties.length; i++) {\n patchProperty(obj, 'on' + properties[i], prototype);\n }\n }\n else {\n var onProperties = [];\n for (var prop in obj) {\n if (prop.substr(0, 2) == 'on') {\n onProperties.push(prop);\n }\n }\n for (var j = 0; j < onProperties.length; j++) {\n patchProperty(obj, onProperties[j], prototype);\n }\n }\n}\nvar originalInstanceKey = zoneSymbol('originalInstance');\n// wrap some native API on `window`\nfunction patchClass(className) {\n var OriginalClass = _global[className];\n if (!OriginalClass)\n return;\n // keep original class in global\n _global[zoneSymbol(className)] = OriginalClass;\n _global[className] = function () {\n var a = bindArguments(arguments, className);\n switch (a.length) {\n case 0:\n this[originalInstanceKey] = new OriginalClass();\n break;\n case 1:\n this[originalInstanceKey] = new OriginalClass(a[0]);\n break;\n case 2:\n this[originalInstanceKey] = new OriginalClass(a[0], a[1]);\n break;\n case 3:\n this[originalInstanceKey] = new OriginalClass(a[0], a[1], a[2]);\n break;\n case 4:\n this[originalInstanceKey] = new OriginalClass(a[0], a[1], a[2], a[3]);\n break;\n default:\n throw new Error('Arg list too long.');\n }\n };\n // attach original delegate to patched function\n attachOriginToPatched(_global[className], OriginalClass);\n var instance = new OriginalClass(function () { });\n var prop;\n for (prop in instance) {\n // https://bugs.webkit.org/show_bug.cgi?id=44721\n if (className === 'XMLHttpRequest' && prop === 'responseBlob')\n continue;\n (function (prop) {\n if (typeof instance[prop] === 'function') {\n _global[className].prototype[prop] = function () {\n return this[originalInstanceKey][prop].apply(this[originalInstanceKey], arguments);\n };\n }\n else {\n ObjectDefineProperty(_global[className].prototype, prop, {\n set: function (fn) {\n if (typeof fn === 'function') {\n this[originalInstanceKey][prop] = wrapWithCurrentZone(fn, className + '.' + prop);\n // keep callback in wrapped function so we can\n // use it in Function.prototype.toString to return\n // the native one.\n attachOriginToPatched(this[originalInstanceKey][prop], fn);\n }\n else {\n this[originalInstanceKey][prop] = fn;\n }\n },\n get: function () {\n return this[originalInstanceKey][prop];\n }\n });\n }\n }(prop));\n }\n for (prop in OriginalClass) {\n if (prop !== 'prototype' && OriginalClass.hasOwnProperty(prop)) {\n _global[className][prop] = OriginalClass[prop];\n }\n }\n}\nfunction copySymbolProperties(src, dest) {\n if (typeof Object.getOwnPropertySymbols !== 'function') {\n return;\n }\n var symbols = Object.getOwnPropertySymbols(src);\n symbols.forEach(function (symbol) {\n var desc = Object.getOwnPropertyDescriptor(src, symbol);\n Object.defineProperty(dest, symbol, {\n get: function () {\n return src[symbol];\n },\n set: function (value) {\n if (desc && (!desc.writable || typeof desc.set !== 'function')) {\n // if src[symbol] is not writable or not have a setter, just return\n return;\n }\n src[symbol] = value;\n },\n enumerable: desc ? desc.enumerable : true,\n configurable: desc ? desc.configurable : true\n });\n });\n}\nvar shouldCopySymbolProperties = false;\n\nfunction patchMethod(target, name, patchFn) {\n var proto = target;\n while (proto && !proto.hasOwnProperty(name)) {\n proto = ObjectGetPrototypeOf(proto);\n }\n if (!proto && target[name]) {\n // somehow we did not find it, but we can see it. This happens on IE for Window properties.\n proto = target;\n }\n var delegateName = zoneSymbol(name);\n var delegate = null;\n if (proto && !(delegate = proto[delegateName])) {\n delegate = proto[delegateName] = proto[name];\n // check whether proto[name] is writable\n // some property is readonly in safari, such as HtmlCanvasElement.prototype.toBlob\n var desc = proto && ObjectGetOwnPropertyDescriptor(proto, name);\n if (isPropertyWritable(desc)) {\n var patchDelegate_1 = patchFn(delegate, delegateName, name);\n proto[name] = function () {\n return patchDelegate_1(this, arguments);\n };\n attachOriginToPatched(proto[name], delegate);\n if (shouldCopySymbolProperties) {\n copySymbolProperties(delegate, proto[name]);\n }\n }\n }\n return delegate;\n}\n// TODO: @JiaLiPassion, support cancel task later if necessary\nfunction patchMacroTask(obj, funcName, metaCreator) {\n var setNative = null;\n function scheduleTask(task) {\n var data = task.data;\n data.args[data.cbIdx] = function () {\n task.invoke.apply(this, arguments);\n };\n setNative.apply(data.target, data.args);\n return task;\n }\n setNative = patchMethod(obj, funcName, function (delegate) { return function (self, args) {\n var meta = metaCreator(self, args);\n if (meta.cbIdx >= 0 && typeof args[meta.cbIdx] === 'function') {\n return scheduleMacroTaskWithCurrentZone(meta.name, args[meta.cbIdx], meta, scheduleTask);\n }\n else {\n // cause an error by calling it directly.\n return delegate.apply(self, args);\n }\n }; });\n}\n\nfunction attachOriginToPatched(patched, original) {\n patched[zoneSymbol('OriginalDelegate')] = original;\n}\nvar isDetectedIEOrEdge = false;\nvar ieOrEdge = false;\nfunction isIE() {\n try {\n var ua = internalWindow.navigator.userAgent;\n if (ua.indexOf('MSIE ') !== -1 || ua.indexOf('Trident/') !== -1) {\n return true;\n }\n }\n catch (error) {\n }\n return false;\n}\nfunction isIEOrEdge() {\n if (isDetectedIEOrEdge) {\n return ieOrEdge;\n }\n isDetectedIEOrEdge = true;\n try {\n var ua = internalWindow.navigator.userAgent;\n if (ua.indexOf('MSIE ') !== -1 || ua.indexOf('Trident/') !== -1 || ua.indexOf('Edge/') !== -1) {\n ieOrEdge = true;\n }\n return ieOrEdge;\n }\n catch (error) {\n }\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// override Function.prototype.toString to make zone.js patched function\n// look like native function\nZone.__load_patch('toString', function (global) {\n // patch Func.prototype.toString to let them look like native\n var originalFunctionToString = Function.prototype.toString;\n var ORIGINAL_DELEGATE_SYMBOL = zoneSymbol('OriginalDelegate');\n var PROMISE_SYMBOL = zoneSymbol('Promise');\n var ERROR_SYMBOL = zoneSymbol('Error');\n var newFunctionToString = function toString() {\n if (typeof this === 'function') {\n var originalDelegate = this[ORIGINAL_DELEGATE_SYMBOL];\n if (originalDelegate) {\n if (typeof originalDelegate === 'function') {\n return originalFunctionToString.apply(this[ORIGINAL_DELEGATE_SYMBOL], arguments);\n }\n else {\n return Object.prototype.toString.call(originalDelegate);\n }\n }\n if (this === Promise) {\n var nativePromise = global[PROMISE_SYMBOL];\n if (nativePromise) {\n return originalFunctionToString.apply(nativePromise, arguments);\n }\n }\n if (this === Error) {\n var nativeError = global[ERROR_SYMBOL];\n if (nativeError) {\n return originalFunctionToString.apply(nativeError, arguments);\n }\n }\n }\n return originalFunctionToString.apply(this, arguments);\n };\n newFunctionToString[ORIGINAL_DELEGATE_SYMBOL] = originalFunctionToString;\n Function.prototype.toString = newFunctionToString;\n // patch Object.prototype.toString to let them look like native\n var originalObjectToString = Object.prototype.toString;\n var PROMISE_OBJECT_TO_STRING = '[object Promise]';\n Object.prototype.toString = function () {\n if (this instanceof Promise) {\n return PROMISE_OBJECT_TO_STRING;\n }\n return originalObjectToString.apply(this, arguments);\n };\n});\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @fileoverview\n * @suppress {missingRequire}\n */\nvar passiveSupported = false;\nif (typeof window !== 'undefined') {\n try {\n var options = Object.defineProperty({}, 'passive', {\n get: function () {\n passiveSupported = true;\n }\n });\n window.addEventListener('test', options, options);\n window.removeEventListener('test', options, options);\n }\n catch (err) {\n passiveSupported = false;\n }\n}\n// an identifier to tell ZoneTask do not create a new invoke closure\nvar OPTIMIZED_ZONE_EVENT_TASK_DATA = {\n useG: true\n};\nvar zoneSymbolEventNames$1 = {};\nvar globalSources = {};\nvar EVENT_NAME_SYMBOL_REGX = /^__zone_symbol__(\\w+)(true|false)$/;\nvar IMMEDIATE_PROPAGATION_SYMBOL = ('__zone_symbol__propagationStopped');\nfunction patchEventTarget(_global, apis, patchOptions) {\n var ADD_EVENT_LISTENER = (patchOptions && patchOptions.add) || ADD_EVENT_LISTENER_STR;\n var REMOVE_EVENT_LISTENER = (patchOptions && patchOptions.rm) || REMOVE_EVENT_LISTENER_STR;\n var LISTENERS_EVENT_LISTENER = (patchOptions && patchOptions.listeners) || 'eventListeners';\n var REMOVE_ALL_LISTENERS_EVENT_LISTENER = (patchOptions && patchOptions.rmAll) || 'removeAllListeners';\n var zoneSymbolAddEventListener = zoneSymbol(ADD_EVENT_LISTENER);\n var ADD_EVENT_LISTENER_SOURCE = '.' + ADD_EVENT_LISTENER + ':';\n var PREPEND_EVENT_LISTENER = 'prependListener';\n var PREPEND_EVENT_LISTENER_SOURCE = '.' + PREPEND_EVENT_LISTENER + ':';\n var invokeTask = function (task, target, event) {\n // for better performance, check isRemoved which is set\n // by removeEventListener\n if (task.isRemoved) {\n return;\n }\n var delegate = task.callback;\n if (typeof delegate === 'object' && delegate.handleEvent) {\n // create the bind version of handleEvent when invoke\n task.callback = function (event) { return delegate.handleEvent(event); };\n task.originalDelegate = delegate;\n }\n // invoke static task.invoke\n task.invoke(task, target, [event]);\n var options = task.options;\n if (options && typeof options === 'object' && options.once) {\n // if options.once is true, after invoke once remove listener here\n // only browser need to do this, nodejs eventEmitter will cal removeListener\n // inside EventEmitter.once\n var delegate_1 = task.originalDelegate ? task.originalDelegate : task.callback;\n target[REMOVE_EVENT_LISTENER].call(target, event.type, delegate_1, options);\n }\n };\n // global shared zoneAwareCallback to handle all event callback with capture = false\n var globalZoneAwareCallback = function (event) {\n // https://github.com/angular/zone.js/issues/911, in IE, sometimes\n // event will be undefined, so we need to use window.event\n event = event || _global.event;\n if (!event) {\n return;\n }\n // event.target is needed for Samsung TV and SourceBuffer\n // || global is needed https://github.com/angular/zone.js/issues/190\n var target = this || event.target || _global;\n var tasks = target[zoneSymbolEventNames$1[event.type][FALSE_STR]];\n if (tasks) {\n // invoke all tasks which attached to current target with given event.type and capture = false\n // for performance concern, if task.length === 1, just invoke\n if (tasks.length === 1) {\n invokeTask(tasks[0], target, event);\n }\n else {\n // https://github.com/angular/zone.js/issues/836\n // copy the tasks array before invoke, to avoid\n // the callback will remove itself or other listener\n var copyTasks = tasks.slice();\n for (var i = 0; i < copyTasks.length; i++) {\n if (event && event[IMMEDIATE_PROPAGATION_SYMBOL] === true) {\n break;\n }\n invokeTask(copyTasks[i], target, event);\n }\n }\n }\n };\n // global shared zoneAwareCallback to handle all event callback with capture = true\n var globalZoneAwareCaptureCallback = function (event) {\n // https://github.com/angular/zone.js/issues/911, in IE, sometimes\n // event will be undefined, so we need to use window.event\n event = event || _global.event;\n if (!event) {\n return;\n }\n // event.target is needed for Samsung TV and SourceBuffer\n // || global is needed https://github.com/angular/zone.js/issues/190\n var target = this || event.target || _global;\n var tasks = target[zoneSymbolEventNames$1[event.type][TRUE_STR]];\n if (tasks) {\n // invoke all tasks which attached to current target with given event.type and capture = false\n // for performance concern, if task.length === 1, just invoke\n if (tasks.length === 1) {\n invokeTask(tasks[0], target, event);\n }\n else {\n // https://github.com/angular/zone.js/issues/836\n // copy the tasks array before invoke, to avoid\n // the callback will remove itself or other listener\n var copyTasks = tasks.slice();\n for (var i = 0; i < copyTasks.length; i++) {\n if (event && event[IMMEDIATE_PROPAGATION_SYMBOL] === true) {\n break;\n }\n invokeTask(copyTasks[i], target, event);\n }\n }\n }\n };\n function patchEventTargetMethods(obj, patchOptions) {\n if (!obj) {\n return false;\n }\n var useGlobalCallback = true;\n if (patchOptions && patchOptions.useG !== undefined) {\n useGlobalCallback = patchOptions.useG;\n }\n var validateHandler = patchOptions && patchOptions.vh;\n var checkDuplicate = true;\n if (patchOptions && patchOptions.chkDup !== undefined) {\n checkDuplicate = patchOptions.chkDup;\n }\n var returnTarget = false;\n if (patchOptions && patchOptions.rt !== undefined) {\n returnTarget = patchOptions.rt;\n }\n var proto = obj;\n while (proto && !proto.hasOwnProperty(ADD_EVENT_LISTENER)) {\n proto = ObjectGetPrototypeOf(proto);\n }\n if (!proto && obj[ADD_EVENT_LISTENER]) {\n // somehow we did not find it, but we can see it. This happens on IE for Window properties.\n proto = obj;\n }\n if (!proto) {\n return false;\n }\n if (proto[zoneSymbolAddEventListener]) {\n return false;\n }\n var eventNameToString = patchOptions && patchOptions.eventNameToString;\n // a shared global taskData to pass data for scheduleEventTask\n // so we do not need to create a new object just for pass some data\n var taskData = {};\n var nativeAddEventListener = proto[zoneSymbolAddEventListener] = proto[ADD_EVENT_LISTENER];\n var nativeRemoveEventListener = proto[zoneSymbol(REMOVE_EVENT_LISTENER)] =\n proto[REMOVE_EVENT_LISTENER];\n var nativeListeners = proto[zoneSymbol(LISTENERS_EVENT_LISTENER)] =\n proto[LISTENERS_EVENT_LISTENER];\n var nativeRemoveAllListeners = proto[zoneSymbol(REMOVE_ALL_LISTENERS_EVENT_LISTENER)] =\n proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER];\n var nativePrependEventListener;\n if (patchOptions && patchOptions.prepend) {\n nativePrependEventListener = proto[zoneSymbol(patchOptions.prepend)] =\n proto[patchOptions.prepend];\n }\n function checkIsPassive(task) {\n if (!passiveSupported && typeof taskData.options !== 'boolean' &&\n typeof taskData.options !== 'undefined' && taskData.options !== null) {\n // options is a non-null non-undefined object\n // passive is not supported\n // don't pass options as object\n // just pass capture as a boolean\n task.options = !!taskData.options.capture;\n taskData.options = task.options;\n }\n }\n var customScheduleGlobal = function (task) {\n // if there is already a task for the eventName + capture,\n // just return, because we use the shared globalZoneAwareCallback here.\n if (taskData.isExisting) {\n return;\n }\n checkIsPassive(task);\n return nativeAddEventListener.call(taskData.target, taskData.eventName, taskData.capture ? globalZoneAwareCaptureCallback : globalZoneAwareCallback, taskData.options);\n };\n var customCancelGlobal = function (task) {\n // if task is not marked as isRemoved, this call is directly\n // from Zone.prototype.cancelTask, we should remove the task\n // from tasksList of target first\n if (!task.isRemoved) {\n var symbolEventNames = zoneSymbolEventNames$1[task.eventName];\n var symbolEventName = void 0;\n if (symbolEventNames) {\n symbolEventName = symbolEventNames[task.capture ? TRUE_STR : FALSE_STR];\n }\n var existingTasks = symbolEventName && task.target[symbolEventName];\n if (existingTasks) {\n for (var i = 0; i < existingTasks.length; i++) {\n var existingTask = existingTasks[i];\n if (existingTask === task) {\n existingTasks.splice(i, 1);\n // set isRemoved to data for faster invokeTask check\n task.isRemoved = true;\n if (existingTasks.length === 0) {\n // all tasks for the eventName + capture have gone,\n // remove globalZoneAwareCallback and remove the task cache from target\n task.allRemoved = true;\n task.target[symbolEventName] = null;\n }\n break;\n }\n }\n }\n }\n // if all tasks for the eventName + capture have gone,\n // we will really remove the global event callback,\n // if not, return\n if (!task.allRemoved) {\n return;\n }\n return nativeRemoveEventListener.call(task.target, task.eventName, task.capture ? globalZoneAwareCaptureCallback : globalZoneAwareCallback, task.options);\n };\n var customScheduleNonGlobal = function (task) {\n checkIsPassive(task);\n return nativeAddEventListener.call(taskData.target, taskData.eventName, task.invoke, taskData.options);\n };\n var customSchedulePrepend = function (task) {\n return nativePrependEventListener.call(taskData.target, taskData.eventName, task.invoke, taskData.options);\n };\n var customCancelNonGlobal = function (task) {\n return nativeRemoveEventListener.call(task.target, task.eventName, task.invoke, task.options);\n };\n var customSchedule = useGlobalCallback ? customScheduleGlobal : customScheduleNonGlobal;\n var customCancel = useGlobalCallback ? customCancelGlobal : customCancelNonGlobal;\n var compareTaskCallbackVsDelegate = function (task, delegate) {\n var typeOfDelegate = typeof delegate;\n return (typeOfDelegate === 'function' && task.callback === delegate) ||\n (typeOfDelegate === 'object' && task.originalDelegate === delegate);\n };\n var compare = (patchOptions && patchOptions.diff) ? patchOptions.diff : compareTaskCallbackVsDelegate;\n var blackListedEvents = Zone[Zone.__symbol__('BLACK_LISTED_EVENTS')];\n var makeAddListener = function (nativeListener, addSource, customScheduleFn, customCancelFn, returnTarget, prepend) {\n if (returnTarget === void 0) { returnTarget = false; }\n if (prepend === void 0) { prepend = false; }\n return function () {\n var target = this || _global;\n var eventName = arguments[0];\n var delegate = arguments[1];\n if (!delegate) {\n return nativeListener.apply(this, arguments);\n }\n if (isNode && eventName === 'uncaughtException') {\n // don't patch uncaughtException of nodejs to prevent endless loop\n return nativeListener.apply(this, arguments);\n }\n // don't create the bind delegate function for handleEvent\n // case here to improve addEventListener performance\n // we will create the bind delegate when invoke\n var isHandleEvent = false;\n if (typeof delegate !== 'function') {\n if (!delegate.handleEvent) {\n return nativeListener.apply(this, arguments);\n }\n isHandleEvent = true;\n }\n if (validateHandler && !validateHandler(nativeListener, delegate, target, arguments)) {\n return;\n }\n var options = arguments[2];\n if (blackListedEvents) {\n // check black list\n for (var i = 0; i < blackListedEvents.length; i++) {\n if (eventName === blackListedEvents[i]) {\n return nativeListener.apply(this, arguments);\n }\n }\n }\n var capture;\n var once = false;\n if (options === undefined) {\n capture = false;\n }\n else if (options === true) {\n capture = true;\n }\n else if (options === false) {\n capture = false;\n }\n else {\n capture = options ? !!options.capture : false;\n once = options ? !!options.once : false;\n }\n var zone = Zone.current;\n var symbolEventNames = zoneSymbolEventNames$1[eventName];\n var symbolEventName;\n if (!symbolEventNames) {\n // the code is duplicate, but I just want to get some better performance\n var falseEventName = (eventNameToString ? eventNameToString(eventName) : eventName) + FALSE_STR;\n var trueEventName = (eventNameToString ? eventNameToString(eventName) : eventName) + TRUE_STR;\n var symbol = ZONE_SYMBOL_PREFIX + falseEventName;\n var symbolCapture = ZONE_SYMBOL_PREFIX + trueEventName;\n zoneSymbolEventNames$1[eventName] = {};\n zoneSymbolEventNames$1[eventName][FALSE_STR] = symbol;\n zoneSymbolEventNames$1[eventName][TRUE_STR] = symbolCapture;\n symbolEventName = capture ? symbolCapture : symbol;\n }\n else {\n symbolEventName = symbolEventNames[capture ? TRUE_STR : FALSE_STR];\n }\n var existingTasks = target[symbolEventName];\n var isExisting = false;\n if (existingTasks) {\n // already have task registered\n isExisting = true;\n if (checkDuplicate) {\n for (var i = 0; i < existingTasks.length; i++) {\n if (compare(existingTasks[i], delegate)) {\n // same callback, same capture, same event name, just return\n return;\n }\n }\n }\n }\n else {\n existingTasks = target[symbolEventName] = [];\n }\n var source;\n var constructorName = target.constructor['name'];\n var targetSource = globalSources[constructorName];\n if (targetSource) {\n source = targetSource[eventName];\n }\n if (!source) {\n source = constructorName + addSource +\n (eventNameToString ? eventNameToString(eventName) : eventName);\n }\n // do not create a new object as task.data to pass those things\n // just use the global shared one\n taskData.options = options;\n if (once) {\n // if addEventListener with once options, we don't pass it to\n // native addEventListener, instead we keep the once setting\n // and handle ourselves.\n taskData.options.once = false;\n }\n taskData.target = target;\n taskData.capture = capture;\n taskData.eventName = eventName;\n taskData.isExisting = isExisting;\n var data = useGlobalCallback ? OPTIMIZED_ZONE_EVENT_TASK_DATA : undefined;\n // keep taskData into data to allow onScheduleEventTask to access the task information\n if (data) {\n data.taskData = taskData;\n }\n var task = zone.scheduleEventTask(source, delegate, data, customScheduleFn, customCancelFn);\n // should clear taskData.target to avoid memory leak\n // issue, https://github.com/angular/angular/issues/20442\n taskData.target = null;\n // need to clear up taskData because it is a global object\n if (data) {\n data.taskData = null;\n }\n // have to save those information to task in case\n // application may call task.zone.cancelTask() directly\n if (once) {\n options.once = true;\n }\n if (!(!passiveSupported && typeof task.options === 'boolean')) {\n // if not support passive, and we pass an option object\n // to addEventListener, we should save the options to task\n task.options = options;\n }\n task.target = target;\n task.capture = capture;\n task.eventName = eventName;\n if (isHandleEvent) {\n // save original delegate for compare to check duplicate\n task.originalDelegate = delegate;\n }\n if (!prepend) {\n existingTasks.push(task);\n }\n else {\n existingTasks.unshift(task);\n }\n if (returnTarget) {\n return target;\n }\n };\n };\n proto[ADD_EVENT_LISTENER] = makeAddListener(nativeAddEventListener, ADD_EVENT_LISTENER_SOURCE, customSchedule, customCancel, returnTarget);\n if (nativePrependEventListener) {\n proto[PREPEND_EVENT_LISTENER] = makeAddListener(nativePrependEventListener, PREPEND_EVENT_LISTENER_SOURCE, customSchedulePrepend, customCancel, returnTarget, true);\n }\n proto[REMOVE_EVENT_LISTENER] = function () {\n var target = this || _global;\n var eventName = arguments[0];\n var options = arguments[2];\n var capture;\n if (options === undefined) {\n capture = false;\n }\n else if (options === true) {\n capture = true;\n }\n else if (options === false) {\n capture = false;\n }\n else {\n capture = options ? !!options.capture : false;\n }\n var delegate = arguments[1];\n if (!delegate) {\n return nativeRemoveEventListener.apply(this, arguments);\n }\n if (validateHandler &&\n !validateHandler(nativeRemoveEventListener, delegate, target, arguments)) {\n return;\n }\n var symbolEventNames = zoneSymbolEventNames$1[eventName];\n var symbolEventName;\n if (symbolEventNames) {\n symbolEventName = symbolEventNames[capture ? TRUE_STR : FALSE_STR];\n }\n var existingTasks = symbolEventName && target[symbolEventName];\n if (existingTasks) {\n for (var i = 0; i < existingTasks.length; i++) {\n var existingTask = existingTasks[i];\n if (compare(existingTask, delegate)) {\n existingTasks.splice(i, 1);\n // set isRemoved to data for faster invokeTask check\n existingTask.isRemoved = true;\n if (existingTasks.length === 0) {\n // all tasks for the eventName + capture have gone,\n // remove globalZoneAwareCallback and remove the task cache from target\n existingTask.allRemoved = true;\n target[symbolEventName] = null;\n }\n existingTask.zone.cancelTask(existingTask);\n if (returnTarget) {\n return target;\n }\n return;\n }\n }\n }\n // issue 930, didn't find the event name or callback\n // from zone kept existingTasks, the callback maybe\n // added outside of zone, we need to call native removeEventListener\n // to try to remove it.\n return nativeRemoveEventListener.apply(this, arguments);\n };\n proto[LISTENERS_EVENT_LISTENER] = function () {\n var target = this || _global;\n var eventName = arguments[0];\n var listeners = [];\n var tasks = findEventTasks(target, eventNameToString ? eventNameToString(eventName) : eventName);\n for (var i = 0; i < tasks.length; i++) {\n var task = tasks[i];\n var delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n listeners.push(delegate);\n }\n return listeners;\n };\n proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER] = function () {\n var target = this || _global;\n var eventName = arguments[0];\n if (!eventName) {\n var keys = Object.keys(target);\n for (var i = 0; i < keys.length; i++) {\n var prop = keys[i];\n var match = EVENT_NAME_SYMBOL_REGX.exec(prop);\n var evtName = match && match[1];\n // in nodejs EventEmitter, removeListener event is\n // used for monitoring the removeListener call,\n // so just keep removeListener eventListener until\n // all other eventListeners are removed\n if (evtName && evtName !== 'removeListener') {\n this[REMOVE_ALL_LISTENERS_EVENT_LISTENER].call(this, evtName);\n }\n }\n // remove removeListener listener finally\n this[REMOVE_ALL_LISTENERS_EVENT_LISTENER].call(this, 'removeListener');\n }\n else {\n var symbolEventNames = zoneSymbolEventNames$1[eventName];\n if (symbolEventNames) {\n var symbolEventName = symbolEventNames[FALSE_STR];\n var symbolCaptureEventName = symbolEventNames[TRUE_STR];\n var tasks = target[symbolEventName];\n var captureTasks = target[symbolCaptureEventName];\n if (tasks) {\n var removeTasks = tasks.slice();\n for (var i = 0; i < removeTasks.length; i++) {\n var task = removeTasks[i];\n var delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n this[REMOVE_EVENT_LISTENER].call(this, eventName, delegate, task.options);\n }\n }\n if (captureTasks) {\n var removeTasks = captureTasks.slice();\n for (var i = 0; i < removeTasks.length; i++) {\n var task = removeTasks[i];\n var delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n this[REMOVE_EVENT_LISTENER].call(this, eventName, delegate, task.options);\n }\n }\n }\n }\n if (returnTarget) {\n return this;\n }\n };\n // for native toString patch\n attachOriginToPatched(proto[ADD_EVENT_LISTENER], nativeAddEventListener);\n attachOriginToPatched(proto[REMOVE_EVENT_LISTENER], nativeRemoveEventListener);\n if (nativeRemoveAllListeners) {\n attachOriginToPatched(proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER], nativeRemoveAllListeners);\n }\n if (nativeListeners) {\n attachOriginToPatched(proto[LISTENERS_EVENT_LISTENER], nativeListeners);\n }\n return true;\n }\n var results = [];\n for (var i = 0; i < apis.length; i++) {\n results[i] = patchEventTargetMethods(apis[i], patchOptions);\n }\n return results;\n}\nfunction findEventTasks(target, eventName) {\n var foundTasks = [];\n for (var prop in target) {\n var match = EVENT_NAME_SYMBOL_REGX.exec(prop);\n var evtName = match && match[1];\n if (evtName && (!eventName || evtName === eventName)) {\n var tasks = target[prop];\n if (tasks) {\n for (var i = 0; i < tasks.length; i++) {\n foundTasks.push(tasks[i]);\n }\n }\n }\n }\n return foundTasks;\n}\nfunction patchEventPrototype(global, api) {\n var Event = global['Event'];\n if (Event && Event.prototype) {\n api.patchMethod(Event.prototype, 'stopImmediatePropagation', function (delegate) { return function (self, args) {\n self[IMMEDIATE_PROPAGATION_SYMBOL] = true;\n // we need to call the native stopImmediatePropagation\n // in case in some hybrid application, some part of\n // application will be controlled by zone, some are not\n delegate && delegate.apply(self, args);\n }; });\n }\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @fileoverview\n * @suppress {missingRequire}\n */\nvar taskSymbol = zoneSymbol('zoneTask');\nfunction patchTimer(window, setName, cancelName, nameSuffix) {\n var setNative = null;\n var clearNative = null;\n setName += nameSuffix;\n cancelName += nameSuffix;\n var tasksByHandleId = {};\n function scheduleTask(task) {\n var data = task.data;\n function timer() {\n try {\n task.invoke.apply(this, arguments);\n }\n finally {\n // issue-934, task will be cancelled\n // even it is a periodic task such as\n // setInterval\n if (!(task.data && task.data.isPeriodic)) {\n if (typeof data.handleId === 'number') {\n // in non-nodejs env, we remove timerId\n // from local cache\n delete tasksByHandleId[data.handleId];\n }\n else if (data.handleId) {\n // Node returns complex objects as handleIds\n // we remove task reference from timer object\n data.handleId[taskSymbol] = null;\n }\n }\n }\n }\n data.args[0] = timer;\n data.handleId = setNative.apply(window, data.args);\n return task;\n }\n function clearTask(task) {\n return clearNative(task.data.handleId);\n }\n setNative =\n patchMethod(window, setName, function (delegate) { return function (self, args) {\n if (typeof args[0] === 'function') {\n var options = {\n isPeriodic: nameSuffix === 'Interval',\n delay: (nameSuffix === 'Timeout' || nameSuffix === 'Interval') ? args[1] || 0 :\n undefined,\n args: args\n };\n var task = scheduleMacroTaskWithCurrentZone(setName, args[0], options, scheduleTask, clearTask);\n if (!task) {\n return task;\n }\n // Node.js must additionally support the ref and unref functions.\n var handle = task.data.handleId;\n if (typeof handle === 'number') {\n // for non nodejs env, we save handleId: task\n // mapping in local cache for clearTimeout\n tasksByHandleId[handle] = task;\n }\n else if (handle) {\n // for nodejs env, we save task\n // reference in timerId Object for clearTimeout\n handle[taskSymbol] = task;\n }\n // check whether handle is null, because some polyfill or browser\n // may return undefined from setTimeout/setInterval/setImmediate/requestAnimationFrame\n if (handle && handle.ref && handle.unref && typeof handle.ref === 'function' &&\n typeof handle.unref === 'function') {\n task.ref = handle.ref.bind(handle);\n task.unref = handle.unref.bind(handle);\n }\n if (typeof handle === 'number' || handle) {\n return handle;\n }\n return task;\n }\n else {\n // cause an error by calling it directly.\n return delegate.apply(window, args);\n }\n }; });\n clearNative =\n patchMethod(window, cancelName, function (delegate) { return function (self, args) {\n var id = args[0];\n var task;\n if (typeof id === 'number') {\n // non nodejs env.\n task = tasksByHandleId[id];\n }\n else {\n // nodejs env.\n task = id && id[taskSymbol];\n // other environments.\n if (!task) {\n task = id;\n }\n }\n if (task && typeof task.type === 'string') {\n if (task.state !== 'notScheduled' &&\n (task.cancelFn && task.data.isPeriodic || task.runCount === 0)) {\n if (typeof id === 'number') {\n delete tasksByHandleId[id];\n }\n else if (id) {\n id[taskSymbol] = null;\n }\n // Do not cancel already canceled functions\n task.zone.cancelTask(task);\n }\n }\n else {\n // cause an error by calling it directly.\n delegate.apply(window, args);\n }\n }; });\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/*\n * This is necessary for Chrome and Chrome mobile, to enable\n * things like redefining `createdCallback` on an element.\n */\nvar _defineProperty = Object[zoneSymbol('defineProperty')] = Object.defineProperty;\nvar _getOwnPropertyDescriptor = Object[zoneSymbol('getOwnPropertyDescriptor')] =\n Object.getOwnPropertyDescriptor;\nvar _create = Object.create;\nvar unconfigurablesKey = zoneSymbol('unconfigurables');\nfunction propertyPatch() {\n Object.defineProperty = function (obj, prop, desc) {\n if (isUnconfigurable(obj, prop)) {\n throw new TypeError('Cannot assign to read only property \\'' + prop + '\\' of ' + obj);\n }\n var originalConfigurableFlag = desc.configurable;\n if (prop !== 'prototype') {\n desc = rewriteDescriptor(obj, prop, desc);\n }\n return _tryDefineProperty(obj, prop, desc, originalConfigurableFlag);\n };\n Object.defineProperties = function (obj, props) {\n Object.keys(props).forEach(function (prop) {\n Object.defineProperty(obj, prop, props[prop]);\n });\n return obj;\n };\n Object.create = function (obj, proto) {\n if (typeof proto === 'object' && !Object.isFrozen(proto)) {\n Object.keys(proto).forEach(function (prop) {\n proto[prop] = rewriteDescriptor(obj, prop, proto[prop]);\n });\n }\n return _create(obj, proto);\n };\n Object.getOwnPropertyDescriptor = function (obj, prop) {\n var desc = _getOwnPropertyDescriptor(obj, prop);\n if (desc && isUnconfigurable(obj, prop)) {\n desc.configurable = false;\n }\n return desc;\n };\n}\nfunction _redefineProperty(obj, prop, desc) {\n var originalConfigurableFlag = desc.configurable;\n desc = rewriteDescriptor(obj, prop, desc);\n return _tryDefineProperty(obj, prop, desc, originalConfigurableFlag);\n}\nfunction isUnconfigurable(obj, prop) {\n return obj && obj[unconfigurablesKey] && obj[unconfigurablesKey][prop];\n}\nfunction rewriteDescriptor(obj, prop, desc) {\n // issue-927, if the desc is frozen, don't try to change the desc\n if (!Object.isFrozen(desc)) {\n desc.configurable = true;\n }\n if (!desc.configurable) {\n // issue-927, if the obj is frozen, don't try to set the desc to obj\n if (!obj[unconfigurablesKey] && !Object.isFrozen(obj)) {\n _defineProperty(obj, unconfigurablesKey, { writable: true, value: {} });\n }\n if (obj[unconfigurablesKey]) {\n obj[unconfigurablesKey][prop] = true;\n }\n }\n return desc;\n}\nfunction _tryDefineProperty(obj, prop, desc, originalConfigurableFlag) {\n try {\n return _defineProperty(obj, prop, desc);\n }\n catch (error) {\n if (desc.configurable) {\n // In case of errors, when the configurable flag was likely set by rewriteDescriptor(), let's\n // retry with the original flag value\n if (typeof originalConfigurableFlag == 'undefined') {\n delete desc.configurable;\n }\n else {\n desc.configurable = originalConfigurableFlag;\n }\n try {\n return _defineProperty(obj, prop, desc);\n }\n catch (error) {\n var descJson = null;\n try {\n descJson = JSON.stringify(desc);\n }\n catch (error) {\n descJson = desc.toString();\n }\n console.log(\"Attempting to configure '\" + prop + \"' with descriptor '\" + descJson + \"' on object '\" + obj + \"' and got error, giving up: \" + error);\n }\n }\n else {\n throw error;\n }\n }\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// we have to patch the instance since the proto is non-configurable\nfunction apply(api, _global) {\n var WS = _global.WebSocket;\n // On Safari window.EventTarget doesn't exist so need to patch WS add/removeEventListener\n // On older Chrome, no need since EventTarget was already patched\n if (!_global.EventTarget) {\n patchEventTarget(_global, [WS.prototype]);\n }\n _global.WebSocket = function (x, y) {\n var socket = arguments.length > 1 ? new WS(x, y) : new WS(x);\n var proxySocket;\n var proxySocketProto;\n // Safari 7.0 has non-configurable own 'onmessage' and friends properties on the socket instance\n var onmessageDesc = ObjectGetOwnPropertyDescriptor(socket, 'onmessage');\n if (onmessageDesc && onmessageDesc.configurable === false) {\n proxySocket = ObjectCreate(socket);\n // socket have own property descriptor 'onopen', 'onmessage', 'onclose', 'onerror'\n // but proxySocket not, so we will keep socket as prototype and pass it to\n // patchOnProperties method\n proxySocketProto = socket;\n [ADD_EVENT_LISTENER_STR, REMOVE_EVENT_LISTENER_STR, 'send', 'close'].forEach(function (propName) {\n proxySocket[propName] = function () {\n var args = ArraySlice.call(arguments);\n if (propName === ADD_EVENT_LISTENER_STR || propName === REMOVE_EVENT_LISTENER_STR) {\n var eventName = args.length > 0 ? args[0] : undefined;\n if (eventName) {\n var propertySymbol = Zone.__symbol__('ON_PROPERTY' + eventName);\n socket[propertySymbol] = proxySocket[propertySymbol];\n }\n }\n return socket[propName].apply(socket, args);\n };\n });\n }\n else {\n // we can patch the real socket\n proxySocket = socket;\n }\n patchOnProperties(proxySocket, ['close', 'error', 'message', 'open'], proxySocketProto);\n return proxySocket;\n };\n var globalWebSocket = _global['WebSocket'];\n for (var prop in WS) {\n globalWebSocket[prop] = WS[prop];\n }\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @fileoverview\n * @suppress {globalThis}\n */\nvar globalEventHandlersEventNames = [\n 'abort',\n 'animationcancel',\n 'animationend',\n 'animationiteration',\n 'auxclick',\n 'beforeinput',\n 'blur',\n 'cancel',\n 'canplay',\n 'canplaythrough',\n 'change',\n 'compositionstart',\n 'compositionupdate',\n 'compositionend',\n 'cuechange',\n 'click',\n 'close',\n 'contextmenu',\n 'curechange',\n 'dblclick',\n 'drag',\n 'dragend',\n 'dragenter',\n 'dragexit',\n 'dragleave',\n 'dragover',\n 'drop',\n 'durationchange',\n 'emptied',\n 'ended',\n 'error',\n 'focus',\n 'focusin',\n 'focusout',\n 'gotpointercapture',\n 'input',\n 'invalid',\n 'keydown',\n 'keypress',\n 'keyup',\n 'load',\n 'loadstart',\n 'loadeddata',\n 'loadedmetadata',\n 'lostpointercapture',\n 'mousedown',\n 'mouseenter',\n 'mouseleave',\n 'mousemove',\n 'mouseout',\n 'mouseover',\n 'mouseup',\n 'mousewheel',\n 'orientationchange',\n 'pause',\n 'play',\n 'playing',\n 'pointercancel',\n 'pointerdown',\n 'pointerenter',\n 'pointerleave',\n 'pointerlockchange',\n 'mozpointerlockchange',\n 'webkitpointerlockerchange',\n 'pointerlockerror',\n 'mozpointerlockerror',\n 'webkitpointerlockerror',\n 'pointermove',\n 'pointout',\n 'pointerover',\n 'pointerup',\n 'progress',\n 'ratechange',\n 'reset',\n 'resize',\n 'scroll',\n 'seeked',\n 'seeking',\n 'select',\n 'selectionchange',\n 'selectstart',\n 'show',\n 'sort',\n 'stalled',\n 'submit',\n 'suspend',\n 'timeupdate',\n 'volumechange',\n 'touchcancel',\n 'touchmove',\n 'touchstart',\n 'touchend',\n 'transitioncancel',\n 'transitionend',\n 'waiting',\n 'wheel'\n];\nvar documentEventNames = [\n 'afterscriptexecute', 'beforescriptexecute', 'DOMContentLoaded', 'freeze', 'fullscreenchange',\n 'mozfullscreenchange', 'webkitfullscreenchange', 'msfullscreenchange', 'fullscreenerror',\n 'mozfullscreenerror', 'webkitfullscreenerror', 'msfullscreenerror', 'readystatechange',\n 'visibilitychange', 'resume'\n];\nvar windowEventNames = [\n 'absolutedeviceorientation',\n 'afterinput',\n 'afterprint',\n 'appinstalled',\n 'beforeinstallprompt',\n 'beforeprint',\n 'beforeunload',\n 'devicelight',\n 'devicemotion',\n 'deviceorientation',\n 'deviceorientationabsolute',\n 'deviceproximity',\n 'hashchange',\n 'languagechange',\n 'message',\n 'mozbeforepaint',\n 'offline',\n 'online',\n 'paint',\n 'pageshow',\n 'pagehide',\n 'popstate',\n 'rejectionhandled',\n 'storage',\n 'unhandledrejection',\n 'unload',\n 'userproximity',\n 'vrdisplyconnected',\n 'vrdisplaydisconnected',\n 'vrdisplaypresentchange'\n];\nvar htmlElementEventNames = [\n 'beforecopy', 'beforecut', 'beforepaste', 'copy', 'cut', 'paste', 'dragstart', 'loadend',\n 'animationstart', 'search', 'transitionrun', 'transitionstart', 'webkitanimationend',\n 'webkitanimationiteration', 'webkitanimationstart', 'webkittransitionend'\n];\nvar mediaElementEventNames = ['encrypted', 'waitingforkey', 'msneedkey', 'mozinterruptbegin', 'mozinterruptend'];\nvar ieElementEventNames = [\n 'activate',\n 'afterupdate',\n 'ariarequest',\n 'beforeactivate',\n 'beforedeactivate',\n 'beforeeditfocus',\n 'beforeupdate',\n 'cellchange',\n 'controlselect',\n 'dataavailable',\n 'datasetchanged',\n 'datasetcomplete',\n 'errorupdate',\n 'filterchange',\n 'layoutcomplete',\n 'losecapture',\n 'move',\n 'moveend',\n 'movestart',\n 'propertychange',\n 'resizeend',\n 'resizestart',\n 'rowenter',\n 'rowexit',\n 'rowsdelete',\n 'rowsinserted',\n 'command',\n 'compassneedscalibration',\n 'deactivate',\n 'help',\n 'mscontentzoom',\n 'msmanipulationstatechanged',\n 'msgesturechange',\n 'msgesturedoubletap',\n 'msgestureend',\n 'msgesturehold',\n 'msgesturestart',\n 'msgesturetap',\n 'msgotpointercapture',\n 'msinertiastart',\n 'mslostpointercapture',\n 'mspointercancel',\n 'mspointerdown',\n 'mspointerenter',\n 'mspointerhover',\n 'mspointerleave',\n 'mspointermove',\n 'mspointerout',\n 'mspointerover',\n 'mspointerup',\n 'pointerout',\n 'mssitemodejumplistitemremoved',\n 'msthumbnailclick',\n 'stop',\n 'storagecommit'\n];\nvar webglEventNames = ['webglcontextrestored', 'webglcontextlost', 'webglcontextcreationerror'];\nvar formEventNames = ['autocomplete', 'autocompleteerror'];\nvar detailEventNames = ['toggle'];\nvar frameEventNames = ['load'];\nvar frameSetEventNames = ['blur', 'error', 'focus', 'load', 'resize', 'scroll', 'messageerror'];\nvar marqueeEventNames = ['bounce', 'finish', 'start'];\nvar XMLHttpRequestEventNames = [\n 'loadstart', 'progress', 'abort', 'error', 'load', 'progress', 'timeout', 'loadend',\n 'readystatechange'\n];\nvar IDBIndexEventNames = ['upgradeneeded', 'complete', 'abort', 'success', 'error', 'blocked', 'versionchange', 'close'];\nvar websocketEventNames = ['close', 'error', 'open', 'message'];\nvar workerEventNames = ['error', 'message'];\nvar eventNames = globalEventHandlersEventNames.concat(webglEventNames, formEventNames, detailEventNames, documentEventNames, windowEventNames, htmlElementEventNames, ieElementEventNames);\nfunction filterProperties(target, onProperties, ignoreProperties) {\n if (!ignoreProperties || ignoreProperties.length === 0) {\n return onProperties;\n }\n var tip = ignoreProperties.filter(function (ip) { return ip.target === target; });\n if (!tip || tip.length === 0) {\n return onProperties;\n }\n var targetIgnoreProperties = tip[0].ignoreProperties;\n return onProperties.filter(function (op) { return targetIgnoreProperties.indexOf(op) === -1; });\n}\nfunction patchFilteredProperties(target, onProperties, ignoreProperties, prototype) {\n // check whether target is available, sometimes target will be undefined\n // because different browser or some 3rd party plugin.\n if (!target) {\n return;\n }\n var filteredProperties = filterProperties(target, onProperties, ignoreProperties);\n patchOnProperties(target, filteredProperties, prototype);\n}\nfunction propertyDescriptorPatch(api, _global) {\n if (isNode && !isMix) {\n return;\n }\n var supportsWebSocket = typeof WebSocket !== 'undefined';\n if (canPatchViaPropertyDescriptor()) {\n var ignoreProperties = _global['__Zone_ignore_on_properties'];\n // for browsers that we can patch the descriptor: Chrome & Firefox\n if (isBrowser) {\n var internalWindow = window;\n var ignoreErrorProperties = isIE ? [{ target: internalWindow, ignoreProperties: ['error'] }] : [];\n // in IE/Edge, onProp not exist in window object, but in WindowPrototype\n // so we need to pass WindowPrototype to check onProp exist or not\n patchFilteredProperties(internalWindow, eventNames.concat(['messageerror']), ignoreProperties ? ignoreProperties.concat(ignoreErrorProperties) : ignoreProperties, ObjectGetPrototypeOf(internalWindow));\n patchFilteredProperties(Document.prototype, eventNames, ignoreProperties);\n if (typeof internalWindow['SVGElement'] !== 'undefined') {\n patchFilteredProperties(internalWindow['SVGElement'].prototype, eventNames, ignoreProperties);\n }\n patchFilteredProperties(Element.prototype, eventNames, ignoreProperties);\n patchFilteredProperties(HTMLElement.prototype, eventNames, ignoreProperties);\n patchFilteredProperties(HTMLMediaElement.prototype, mediaElementEventNames, ignoreProperties);\n patchFilteredProperties(HTMLFrameSetElement.prototype, windowEventNames.concat(frameSetEventNames), ignoreProperties);\n patchFilteredProperties(HTMLBodyElement.prototype, windowEventNames.concat(frameSetEventNames), ignoreProperties);\n patchFilteredProperties(HTMLFrameElement.prototype, frameEventNames, ignoreProperties);\n patchFilteredProperties(HTMLIFrameElement.prototype, frameEventNames, ignoreProperties);\n var HTMLMarqueeElement_1 = internalWindow['HTMLMarqueeElement'];\n if (HTMLMarqueeElement_1) {\n patchFilteredProperties(HTMLMarqueeElement_1.prototype, marqueeEventNames, ignoreProperties);\n }\n var Worker_1 = internalWindow['Worker'];\n if (Worker_1) {\n patchFilteredProperties(Worker_1.prototype, workerEventNames, ignoreProperties);\n }\n }\n patchFilteredProperties(XMLHttpRequest.prototype, XMLHttpRequestEventNames, ignoreProperties);\n var XMLHttpRequestEventTarget_1 = _global['XMLHttpRequestEventTarget'];\n if (XMLHttpRequestEventTarget_1) {\n patchFilteredProperties(XMLHttpRequestEventTarget_1 && XMLHttpRequestEventTarget_1.prototype, XMLHttpRequestEventNames, ignoreProperties);\n }\n if (typeof IDBIndex !== 'undefined') {\n patchFilteredProperties(IDBIndex.prototype, IDBIndexEventNames, ignoreProperties);\n patchFilteredProperties(IDBRequest.prototype, IDBIndexEventNames, ignoreProperties);\n patchFilteredProperties(IDBOpenDBRequest.prototype, IDBIndexEventNames, ignoreProperties);\n patchFilteredProperties(IDBDatabase.prototype, IDBIndexEventNames, ignoreProperties);\n patchFilteredProperties(IDBTransaction.prototype, IDBIndexEventNames, ignoreProperties);\n patchFilteredProperties(IDBCursor.prototype, IDBIndexEventNames, ignoreProperties);\n }\n if (supportsWebSocket) {\n patchFilteredProperties(WebSocket.prototype, websocketEventNames, ignoreProperties);\n }\n }\n else {\n // Safari, Android browsers (Jelly Bean)\n patchViaCapturingAllTheEvents();\n patchClass('XMLHttpRequest');\n if (supportsWebSocket) {\n apply(api, _global);\n }\n }\n}\nfunction canPatchViaPropertyDescriptor() {\n if ((isBrowser || isMix) && !ObjectGetOwnPropertyDescriptor(HTMLElement.prototype, 'onclick') &&\n typeof Element !== 'undefined') {\n // WebKit https://bugs.webkit.org/show_bug.cgi?id=134364\n // IDL interface attributes are not configurable\n var desc = ObjectGetOwnPropertyDescriptor(Element.prototype, 'onclick');\n if (desc && !desc.configurable)\n return false;\n }\n var ON_READY_STATE_CHANGE = 'onreadystatechange';\n var XMLHttpRequestPrototype = XMLHttpRequest.prototype;\n var xhrDesc = ObjectGetOwnPropertyDescriptor(XMLHttpRequestPrototype, ON_READY_STATE_CHANGE);\n // add enumerable and configurable here because in opera\n // by default XMLHttpRequest.prototype.onreadystatechange is undefined\n // without adding enumerable and configurable will cause onreadystatechange\n // non-configurable\n // and if XMLHttpRequest.prototype.onreadystatechange is undefined,\n // we should set a real desc instead a fake one\n if (xhrDesc) {\n ObjectDefineProperty(XMLHttpRequestPrototype, ON_READY_STATE_CHANGE, {\n enumerable: true,\n configurable: true,\n get: function () {\n return true;\n }\n });\n var req = new XMLHttpRequest();\n var result = !!req.onreadystatechange;\n // restore original desc\n ObjectDefineProperty(XMLHttpRequestPrototype, ON_READY_STATE_CHANGE, xhrDesc || {});\n return result;\n }\n else {\n var SYMBOL_FAKE_ONREADYSTATECHANGE_1 = zoneSymbol('fake');\n ObjectDefineProperty(XMLHttpRequestPrototype, ON_READY_STATE_CHANGE, {\n enumerable: true,\n configurable: true,\n get: function () {\n return this[SYMBOL_FAKE_ONREADYSTATECHANGE_1];\n },\n set: function (value) {\n this[SYMBOL_FAKE_ONREADYSTATECHANGE_1] = value;\n }\n });\n var req = new XMLHttpRequest();\n var detectFunc = function () { };\n req.onreadystatechange = detectFunc;\n var result = req[SYMBOL_FAKE_ONREADYSTATECHANGE_1] === detectFunc;\n req.onreadystatechange = null;\n return result;\n }\n}\nvar unboundKey = zoneSymbol('unbound');\n// Whenever any eventListener fires, we check the eventListener target and all parents\n// for `onwhatever` properties and replace them with zone-bound functions\n// - Chrome (for now)\nfunction patchViaCapturingAllTheEvents() {\n var _loop_1 = function (i) {\n var property = eventNames[i];\n var onproperty = 'on' + property;\n self.addEventListener(property, function (event) {\n var elt = event.target, bound, source;\n if (elt) {\n source = elt.constructor['name'] + '.' + onproperty;\n }\n else {\n source = 'unknown.' + onproperty;\n }\n while (elt) {\n if (elt[onproperty] && !elt[onproperty][unboundKey]) {\n bound = wrapWithCurrentZone(elt[onproperty], source);\n bound[unboundKey] = elt[onproperty];\n elt[onproperty] = bound;\n }\n elt = elt.parentElement;\n }\n }, true);\n };\n for (var i = 0; i < eventNames.length; i++) {\n _loop_1(i);\n }\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction eventTargetPatch(_global, api) {\n var WTF_ISSUE_555 = 'Anchor,Area,Audio,BR,Base,BaseFont,Body,Button,Canvas,Content,DList,Directory,Div,Embed,FieldSet,Font,Form,Frame,FrameSet,HR,Head,Heading,Html,IFrame,Image,Input,Keygen,LI,Label,Legend,Link,Map,Marquee,Media,Menu,Meta,Meter,Mod,OList,Object,OptGroup,Option,Output,Paragraph,Pre,Progress,Quote,Script,Select,Source,Span,Style,TableCaption,TableCell,TableCol,Table,TableRow,TableSection,TextArea,Title,Track,UList,Unknown,Video';\n var NO_EVENT_TARGET = 'ApplicationCache,EventSource,FileReader,InputMethodContext,MediaController,MessagePort,Node,Performance,SVGElementInstance,SharedWorker,TextTrack,TextTrackCue,TextTrackList,WebKitNamedFlow,Window,Worker,WorkerGlobalScope,XMLHttpRequest,XMLHttpRequestEventTarget,XMLHttpRequestUpload,IDBRequest,IDBOpenDBRequest,IDBDatabase,IDBTransaction,IDBCursor,DBIndex,WebSocket'\n .split(',');\n var EVENT_TARGET = 'EventTarget';\n var apis = [];\n var isWtf = _global['wtf'];\n var WTF_ISSUE_555_ARRAY = WTF_ISSUE_555.split(',');\n if (isWtf) {\n // Workaround for: https://github.com/google/tracing-framework/issues/555\n apis = WTF_ISSUE_555_ARRAY.map(function (v) { return 'HTML' + v + 'Element'; }).concat(NO_EVENT_TARGET);\n }\n else if (_global[EVENT_TARGET]) {\n apis.push(EVENT_TARGET);\n }\n else {\n // Note: EventTarget is not available in all browsers,\n // if it's not available, we instead patch the APIs in the IDL that inherit from EventTarget\n apis = NO_EVENT_TARGET;\n }\n var isDisableIECheck = _global['__Zone_disable_IE_check'] || false;\n var isEnableCrossContextCheck = _global['__Zone_enable_cross_context_check'] || false;\n var ieOrEdge = isIEOrEdge();\n var ADD_EVENT_LISTENER_SOURCE = '.addEventListener:';\n var FUNCTION_WRAPPER = '[object FunctionWrapper]';\n var BROWSER_TOOLS = 'function __BROWSERTOOLS_CONSOLE_SAFEFUNC() { [native code] }';\n // predefine all __zone_symbol__ + eventName + true/false string\n for (var i = 0; i < eventNames.length; i++) {\n var eventName = eventNames[i];\n var falseEventName = eventName + FALSE_STR;\n var trueEventName = eventName + TRUE_STR;\n var symbol = ZONE_SYMBOL_PREFIX + falseEventName;\n var symbolCapture = ZONE_SYMBOL_PREFIX + trueEventName;\n zoneSymbolEventNames$1[eventName] = {};\n zoneSymbolEventNames$1[eventName][FALSE_STR] = symbol;\n zoneSymbolEventNames$1[eventName][TRUE_STR] = symbolCapture;\n }\n // predefine all task.source string\n for (var i = 0; i < WTF_ISSUE_555.length; i++) {\n var target = WTF_ISSUE_555_ARRAY[i];\n var targets = globalSources[target] = {};\n for (var j = 0; j < eventNames.length; j++) {\n var eventName = eventNames[j];\n targets[eventName] = target + ADD_EVENT_LISTENER_SOURCE + eventName;\n }\n }\n var checkIEAndCrossContext = function (nativeDelegate, delegate, target, args) {\n if (!isDisableIECheck && ieOrEdge) {\n if (isEnableCrossContextCheck) {\n try {\n var testString = delegate.toString();\n if ((testString === FUNCTION_WRAPPER || testString == BROWSER_TOOLS)) {\n nativeDelegate.apply(target, args);\n return false;\n }\n }\n catch (error) {\n nativeDelegate.apply(target, args);\n return false;\n }\n }\n else {\n var testString = delegate.toString();\n if ((testString === FUNCTION_WRAPPER || testString == BROWSER_TOOLS)) {\n nativeDelegate.apply(target, args);\n return false;\n }\n }\n }\n else if (isEnableCrossContextCheck) {\n try {\n delegate.toString();\n }\n catch (error) {\n nativeDelegate.apply(target, args);\n return false;\n }\n }\n return true;\n };\n var apiTypes = [];\n for (var i = 0; i < apis.length; i++) {\n var type = _global[apis[i]];\n apiTypes.push(type && type.prototype);\n }\n // vh is validateHandler to check event handler\n // is valid or not(for security check)\n patchEventTarget(_global, apiTypes, { vh: checkIEAndCrossContext });\n api.patchEventTarget = patchEventTarget;\n return true;\n}\nfunction patchEvent(global, api) {\n patchEventPrototype(global, api);\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction patchCallbacks(target, targetName, method, callbacks) {\n var symbol = Zone.__symbol__(method);\n if (target[symbol]) {\n return;\n }\n var nativeDelegate = target[symbol] = target[method];\n target[method] = function (name, opts, options) {\n if (opts && opts.prototype) {\n callbacks.forEach(function (callback) {\n var source = targetName + \".\" + method + \"::\" + callback;\n var prototype = opts.prototype;\n if (prototype.hasOwnProperty(callback)) {\n var descriptor = ObjectGetOwnPropertyDescriptor(prototype, callback);\n if (descriptor && descriptor.value) {\n descriptor.value = wrapWithCurrentZone(descriptor.value, source);\n _redefineProperty(opts.prototype, callback, descriptor);\n }\n else if (prototype[callback]) {\n prototype[callback] = wrapWithCurrentZone(prototype[callback], source);\n }\n }\n else if (prototype[callback]) {\n prototype[callback] = wrapWithCurrentZone(prototype[callback], source);\n }\n });\n }\n return nativeDelegate.call(target, name, opts, options);\n };\n attachOriginToPatched(target[method], nativeDelegate);\n}\nfunction registerElementPatch(_global) {\n if ((!isBrowser && !isMix) || !('registerElement' in _global.document)) {\n return;\n }\n var callbacks = ['createdCallback', 'attachedCallback', 'detachedCallback', 'attributeChangedCallback'];\n patchCallbacks(document, 'Document', 'registerElement', callbacks);\n}\nfunction patchCustomElements(_global) {\n if ((!isBrowser && !isMix) || !('customElements' in _global)) {\n return;\n }\n var callbacks = ['connectedCallback', 'disconnectedCallback', 'adoptedCallback', 'attributeChangedCallback'];\n patchCallbacks(_global.customElements, 'customElements', 'define', callbacks);\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @fileoverview\n * @suppress {missingRequire}\n */\nZone.__load_patch('util', function (global, Zone, api) {\n api.patchOnProperties = patchOnProperties;\n api.patchMethod = patchMethod;\n api.bindArguments = bindArguments;\n});\nZone.__load_patch('timers', function (global) {\n var set = 'set';\n var clear = 'clear';\n patchTimer(global, set, clear, 'Timeout');\n patchTimer(global, set, clear, 'Interval');\n patchTimer(global, set, clear, 'Immediate');\n});\nZone.__load_patch('requestAnimationFrame', function (global) {\n patchTimer(global, 'request', 'cancel', 'AnimationFrame');\n patchTimer(global, 'mozRequest', 'mozCancel', 'AnimationFrame');\n patchTimer(global, 'webkitRequest', 'webkitCancel', 'AnimationFrame');\n});\nZone.__load_patch('blocking', function (global, Zone) {\n var blockingMethods = ['alert', 'prompt', 'confirm'];\n for (var i = 0; i < blockingMethods.length; i++) {\n var name_1 = blockingMethods[i];\n patchMethod(global, name_1, function (delegate, symbol, name) {\n return function (s, args) {\n return Zone.current.run(delegate, global, args, name);\n };\n });\n }\n});\nZone.__load_patch('EventTarget', function (global, Zone, api) {\n // load blackListEvents from global\n var SYMBOL_BLACK_LISTED_EVENTS = Zone.__symbol__('BLACK_LISTED_EVENTS');\n if (global[SYMBOL_BLACK_LISTED_EVENTS]) {\n Zone[SYMBOL_BLACK_LISTED_EVENTS] = global[SYMBOL_BLACK_LISTED_EVENTS];\n }\n patchEvent(global, api);\n eventTargetPatch(global, api);\n // patch XMLHttpRequestEventTarget's addEventListener/removeEventListener\n var XMLHttpRequestEventTarget = global['XMLHttpRequestEventTarget'];\n if (XMLHttpRequestEventTarget && XMLHttpRequestEventTarget.prototype) {\n api.patchEventTarget(global, [XMLHttpRequestEventTarget.prototype]);\n }\n patchClass('MutationObserver');\n patchClass('WebKitMutationObserver');\n patchClass('IntersectionObserver');\n patchClass('FileReader');\n});\nZone.__load_patch('on_property', function (global, Zone, api) {\n propertyDescriptorPatch(api, global);\n propertyPatch();\n});\nZone.__load_patch('customElements', function (global, Zone, api) {\n registerElementPatch(global);\n patchCustomElements(global);\n});\nZone.__load_patch('canvas', function (global) {\n var HTMLCanvasElement = global['HTMLCanvasElement'];\n if (typeof HTMLCanvasElement !== 'undefined' && HTMLCanvasElement.prototype &&\n HTMLCanvasElement.prototype.toBlob) {\n patchMacroTask(HTMLCanvasElement.prototype, 'toBlob', function (self, args) {\n return { name: 'HTMLCanvasElement.toBlob', target: self, cbIdx: 0, args: args };\n });\n }\n});\nZone.__load_patch('XHR', function (global, Zone) {\n // Treat XMLHttpRequest as a macrotask.\n patchXHR(global);\n var XHR_TASK = zoneSymbol('xhrTask');\n var XHR_SYNC = zoneSymbol('xhrSync');\n var XHR_LISTENER = zoneSymbol('xhrListener');\n var XHR_SCHEDULED = zoneSymbol('xhrScheduled');\n var XHR_URL = zoneSymbol('xhrURL');\n var XHR_ERROR_BEFORE_SCHEDULED = zoneSymbol('xhrErrorBeforeScheduled');\n function patchXHR(window) {\n var XMLHttpRequestPrototype = XMLHttpRequest.prototype;\n function findPendingTask(target) {\n return target[XHR_TASK];\n }\n var oriAddListener = XMLHttpRequestPrototype[ZONE_SYMBOL_ADD_EVENT_LISTENER];\n var oriRemoveListener = XMLHttpRequestPrototype[ZONE_SYMBOL_REMOVE_EVENT_LISTENER];\n if (!oriAddListener) {\n var XMLHttpRequestEventTarget_1 = window['XMLHttpRequestEventTarget'];\n if (XMLHttpRequestEventTarget_1) {\n var XMLHttpRequestEventTargetPrototype = XMLHttpRequestEventTarget_1.prototype;\n oriAddListener = XMLHttpRequestEventTargetPrototype[ZONE_SYMBOL_ADD_EVENT_LISTENER];\n oriRemoveListener = XMLHttpRequestEventTargetPrototype[ZONE_SYMBOL_REMOVE_EVENT_LISTENER];\n }\n }\n var READY_STATE_CHANGE = 'readystatechange';\n var SCHEDULED = 'scheduled';\n function scheduleTask(task) {\n var data = task.data;\n var target = data.target;\n target[XHR_SCHEDULED] = false;\n target[XHR_ERROR_BEFORE_SCHEDULED] = false;\n // remove existing event listener\n var listener = target[XHR_LISTENER];\n if (!oriAddListener) {\n oriAddListener = target[ZONE_SYMBOL_ADD_EVENT_LISTENER];\n oriRemoveListener = target[ZONE_SYMBOL_REMOVE_EVENT_LISTENER];\n }\n if (listener) {\n oriRemoveListener.call(target, READY_STATE_CHANGE, listener);\n }\n var newListener = target[XHR_LISTENER] = function () {\n if (target.readyState === target.DONE) {\n // sometimes on some browsers XMLHttpRequest will fire onreadystatechange with\n // readyState=4 multiple times, so we need to check task state here\n if (!data.aborted && target[XHR_SCHEDULED] && task.state === SCHEDULED) {\n // check whether the xhr has registered onload listener\n // if that is the case, the task should invoke after all\n // onload listeners finish.\n var loadTasks = target['__zone_symbol__loadfalse'];\n if (loadTasks && loadTasks.length > 0) {\n var oriInvoke_1 = task.invoke;\n task.invoke = function () {\n // need to load the tasks again, because in other\n // load listener, they may remove themselves\n var loadTasks = target['__zone_symbol__loadfalse'];\n for (var i = 0; i < loadTasks.length; i++) {\n if (loadTasks[i] === task) {\n loadTasks.splice(i, 1);\n }\n }\n if (!data.aborted && task.state === SCHEDULED) {\n oriInvoke_1.call(task);\n }\n };\n loadTasks.push(task);\n }\n else {\n task.invoke();\n }\n }\n else if (!data.aborted && target[XHR_SCHEDULED] === false) {\n // error occurs when xhr.send()\n target[XHR_ERROR_BEFORE_SCHEDULED] = true;\n }\n }\n };\n oriAddListener.call(target, READY_STATE_CHANGE, newListener);\n var storedTask = target[XHR_TASK];\n if (!storedTask) {\n target[XHR_TASK] = task;\n }\n sendNative.apply(target, data.args);\n target[XHR_SCHEDULED] = true;\n return task;\n }\n function placeholderCallback() { }\n function clearTask(task) {\n var data = task.data;\n // Note - ideally, we would call data.target.removeEventListener here, but it's too late\n // to prevent it from firing. So instead, we store info for the event listener.\n data.aborted = true;\n return abortNative.apply(data.target, data.args);\n }\n var openNative = patchMethod(XMLHttpRequestPrototype, 'open', function () { return function (self, args) {\n self[XHR_SYNC] = args[2] == false;\n self[XHR_URL] = args[1];\n return openNative.apply(self, args);\n }; });\n var XMLHTTPREQUEST_SOURCE = 'XMLHttpRequest.send';\n var fetchTaskAborting = zoneSymbol('fetchTaskAborting');\n var fetchTaskScheduling = zoneSymbol('fetchTaskScheduling');\n var sendNative = patchMethod(XMLHttpRequestPrototype, 'send', function () { return function (self, args) {\n if (Zone.current[fetchTaskScheduling] === true) {\n // a fetch is scheduling, so we are using xhr to polyfill fetch\n // and because we already schedule macroTask for fetch, we should\n // not schedule a macroTask for xhr again\n return sendNative.apply(self, args);\n }\n if (self[XHR_SYNC]) {\n // if the XHR is sync there is no task to schedule, just execute the code.\n return sendNative.apply(self, args);\n }\n else {\n var options = { target: self, url: self[XHR_URL], isPeriodic: false, args: args, aborted: false };\n var task = scheduleMacroTaskWithCurrentZone(XMLHTTPREQUEST_SOURCE, placeholderCallback, options, scheduleTask, clearTask);\n if (self && self[XHR_ERROR_BEFORE_SCHEDULED] === true && !options.aborted &&\n task.state === SCHEDULED) {\n // xhr request throw error when send\n // we should invoke task instead of leaving a scheduled\n // pending macroTask\n task.invoke();\n }\n }\n }; });\n var abortNative = patchMethod(XMLHttpRequestPrototype, 'abort', function () { return function (self, args) {\n var task = findPendingTask(self);\n if (task && typeof task.type == 'string') {\n // If the XHR has already completed, do nothing.\n // If the XHR has already been aborted, do nothing.\n // Fix #569, call abort multiple times before done will cause\n // macroTask task count be negative number\n if (task.cancelFn == null || (task.data && task.data.aborted)) {\n return;\n }\n task.zone.cancelTask(task);\n }\n else if (Zone.current[fetchTaskAborting] === true) {\n // the abort is called from fetch polyfill, we need to call native abort of XHR.\n return abortNative.apply(self, args);\n }\n // Otherwise, we are trying to abort an XHR which has not yet been sent, so there is no\n // task\n // to cancel. Do nothing.\n }; });\n }\n});\nZone.__load_patch('geolocation', function (global) {\n /// GEO_LOCATION\n if (global['navigator'] && global['navigator'].geolocation) {\n patchPrototype(global['navigator'].geolocation, ['getCurrentPosition', 'watchPosition']);\n }\n});\nZone.__load_patch('PromiseRejectionEvent', function (global, Zone) {\n // handle unhandled promise rejection\n function findPromiseRejectionHandler(evtName) {\n return function (e) {\n var eventTasks = findEventTasks(global, evtName);\n eventTasks.forEach(function (eventTask) {\n // windows has added unhandledrejection event listener\n // trigger the event listener\n var PromiseRejectionEvent = global['PromiseRejectionEvent'];\n if (PromiseRejectionEvent) {\n var evt = new PromiseRejectionEvent(evtName, { promise: e.promise, reason: e.rejection });\n eventTask.invoke(evt);\n }\n });\n };\n }\n if (global['PromiseRejectionEvent']) {\n Zone[zoneSymbol('unhandledPromiseRejectionHandler')] =\n findPromiseRejectionHandler('unhandledrejection');\n Zone[zoneSymbol('rejectionHandledHandler')] =\n findPromiseRejectionHandler('rejectionhandled');\n }\n});\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n})));\n","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./src/$$_lazy_route_resource lazy recursive\";","module.exports = \".appImg{\\r\\n width: 80%;\\r\\n height: auto;\\r\\n cursor: pointer;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvTW9kdWxlcy9ib29raW5nLXN1bW1hcnkvYm9va2luZy1zdW1tYXJ5LmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSxVQUFVO0lBQ1YsWUFBWTtJQUNaLGVBQWU7QUFDbkIiLCJmaWxlIjoic3JjL2FwcC9Nb2R1bGVzL2Jvb2tpbmctc3VtbWFyeS9ib29raW5nLXN1bW1hcnkuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5hcHBJbWd7XHJcbiAgICB3aWR0aDogODAlO1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59Il19 */\"","module.exports = \"
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n

{{ \\\"Common.CommonText.Headers.Page7Header1\\\" | translate }}

\\r\\n
\\r\\n
\\r\\n \\\"image\\\"\\r\\n \\r\\n \\\"image\\\"\\r\\n \\r\\n {{ \\\"LoaderText.managers\\\" | translate }}\\r\\n \\r\\n {{managerName}}\\r\\n \\r\\n {{ \\\"LoaderText.manager\\\" | translate }}\\r\\n
\\r\\n
\\r\\n

\\r\\n {{\\\"Common.CommonText.Details.Page7Description2\\\" | translate }} {{appointmentDate}}\\r\\n

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

{{\\\"Common.CommonText.label.yourOrder\\\" | translate }}

\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
{{\\\"Common.CommonText.label.YourCar\\\" | translate}}
\\r\\n
\\r\\n
\\r\\n {{customerVehicleList?.BrandName}} {{customerVehicleList?.ModelName}}\\r\\n
\\r\\n {{customerVehicleList?.LicensePlateNo}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n {{\\\"Common.CommonText.label.Package\\\" | translate}}\\r\\n
    \\r\\n
  • \\r\\n {{package.packageName}} \\r\\n {{package.price | decimalValue }}\\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
0\\\">\\r\\n
\\r\\n {{\\\"Common.CommonText.label.services\\\" | translate}}\\r\\n
    \\r\\n
  • \\r\\n \\r\\n
    {{Servicelist.ServiceName}}
    \\r\\n
    {{Servicelist.CustomerInformation}}
    \\r\\n
    egenandel
    \\r\\n
    {{Servicelist.LineAmountVat | decimalValue }}
    \\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
0\\\">\\r\\n
\\r\\n
    \\r\\n
  • \\r\\n {{Servicelist.ServiceName}} \\r\\n {{Servicelist.LineAmountVat | decimalValue }}\\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
0\\\">\\r\\n
\\r\\n {{\\\"Common.CommonText.label.Accessories\\\" | translate}}\\r\\n
    \\r\\n
  • \\r\\n {{item.Name}} \\r\\n {{item.Price | decimalValue }}\\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{\\\"Common.CommonText.label.rentedcar\\\" | translate}} \\r\\n
    \\r\\n
  • \\r\\n {{rentalCarList?.Brand}}\\r\\n {{rentalCarList?.Price | decimalValue }}\\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n {{\\\"Common.CommonText.label.finaltotal\\\" | translate}}\\r\\n {{serviceTotal + rentalCarList?.Price | decimalValue }}\\r\\n
\\r\\n
\\r\\n
\\r\\n {{\\\"Common.CommonText.label.confirmdate\\\" | translate}}{{\\\"Common.CommonText.label.Datee\\\" | translate}}\\r\\n
\\r\\n
{{appointmentDate}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{\\\"Common.CommonText.label.DroppTime\\\" | translate}}\\r\\n
\\r\\n
{{DropTime}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{\\\"Common.CommonText.label.WaitingTime\\\" | translate}}\\r\\n
\\r\\n
{{WaitingTime}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{ \\\"Common.CommonText.label.Pick&KeyKIOSK\\\" | translate }}
\\r\\n
\\r\\n {{ \\\"Common.CommonText.label.opted\\\" | translate }}
\\r\\n
\\r\\n {{ \\\"Common.CommonText.label.PickKIOSK\\\" | translate }}
\\r\\n
\\r\\n Aktiv service- eller tilbakekallingskampanje\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n Gift Card( #{{item.Code}} )\\r\\n
\\r\\n
{{item.Description}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

{{notes}}

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

Kjære kunde

\\r\\n

Er du klar over at vi nå har laget en kundeportal for deg med info om din bil og ditt bilhold?

\\r\\n

Appen heter MinBil og inneholder alt du behøver for å få maks utnyttelse av ditt bilhold.

\\r\\n

Vil du vite mer, klikk her.

\\r\\n
\\r\\n \\r\\n \\\"PlayStore\\\"\\r\\n \\r\\n \\r\\n \\\"AppStore\\\"\\r\\n \\r\\n \\r\\n \\\"web\\\"\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","import { Component, OnInit } from '@angular/core';\r\nimport { CommonService } from 'src/app/Shared/services/common_services/common.service';\r\nimport { DataCommunicationService } from 'src/app/Shared/services/data_service/data-communication.service';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { PlatformLocation } from '@angular/common';\r\nimport { paths } from 'src/app/Shared/enums/paths.enum';\r\n\r\n@Component({\r\n selector: 'app-booking-summary',\r\n templateUrl: './booking-summary.component.html',\r\n styleUrls: ['./booking-summary.component.css']\r\n})\r\nexport class BookingSummaryComponent implements OnInit {\r\n\r\n serviceList = [];\r\n rentalCarList = [];\r\n appointmentDate: any;\r\n customerDetail: any;\r\n WaitingTime : any ;\r\n DropTime : any ;\r\n serviceTotal = 0;\r\n customerVehicleList: any = [];\r\n notes: string;\r\n dealerName: string;\r\n showMessage = false;\r\n bookingMonthName: string;\r\n brandName: string;\r\n PackageData:any;\r\n kiosk;\r\n Pickatkiosk;\r\n dealerImage: any;\r\n managerName: any;\r\n euServiceData = [];\r\n recallFactory: any;\r\n selectedAccessories: any;\r\n selectedGiftCards: any = null;\r\n constructor(\r\n private commonService: CommonService,\r\n private dataCommunicationService: DataCommunicationService,\r\n private translate: TranslateService,\r\n private locations: PlatformLocation,\r\n ) {\r\n locations.onPopState(() => {\r\n this.commonService.NavigatePage(paths.BOOKAPPOINTMENT, 'Drammen');\r\n });\r\n }\r\n private getLocalData() {\r\n this.managerName = this.commonService.getLocalStorageitem('managerName');\r\n this.brandName = this.commonService.getLocalStorageByKey('vehicleData', 'BrandName');\r\n this.dealerImage = this.commonService.getLocalStorageitem('dealerImage');\r\n this.WaitingTime = (localStorage.getItem('waitingTime'));\r\n this.DropTime = (localStorage.getItem('dropTime'));\r\n this.appointmentDate = this.commonService.getLocalStorage('AppointDate');\r\n this.appointmentDate = this.appointmentDate.day + '.' + this.appointmentDate.month + '.' + this.appointmentDate.year;\r\n this.PackageData = this.commonService.getLocalStorage('PackageServiceListData')\r\n this.serviceList = this.commonService.getLocalStorage('SelectedService');\r\n this.rentalCarList = this.commonService.getLocalStorage('RentalCar');\r\n this.customerDetail = this.commonService.getLocalStorage('customerData');\r\n this.customerVehicleList = this.commonService.getLocalStorage('vehicleData');\r\n this.notes = this.commonService.getLocalStorageitem('notes');\r\n this.dealerName = this.commonService.getLocalStorage('dealername');\r\n this.euServiceData = this.commonService.getLocalStorage('SelectedEUService');\r\n this.kiosk=this.commonService.getLocalStorageitem('kiosk');\r\n this.recallFactory=this.commonService.getLocalStorageitem('RF')\r\n this.Pickatkiosk = this.commonService.getLocalStorageitem('PickAtKiosk');\r\n this.selectedAccessories = this.commonService.getLocalStorage('SelectedAccessories');\r\n \r\n if((this.DropTime==undefined||this.DropTime==null) && (this.WaitingTime==undefined || this.WaitingTime==null))\r\n {\r\n this.DropTime='07:00'\r\n }\r\n if(this.serviceList!=null) {\r\n // tslint:disable-next-line:prefer-for-of\r\n for (let i = 0; i < this.serviceList.length; i++) {\r\n this.serviceTotal = this.serviceTotal + (!this.commonService.isFreeService(this.brandName, this.serviceList[i].groupId) ? this.serviceList[i].LineAmountVat : 0);\r\n }}\r\n if(this.PackageData!=null)\r\n {\r\n this.serviceTotal=this.serviceTotal+ this.PackageData.TotalPrice;\r\n }\r\n if (this.euServiceData != null) {\r\n for (let i = 0; i < this.euServiceData.length; i++) {\r\n this.serviceTotal = this.serviceTotal + this.euServiceData[i].LineAmountVat;\r\n }\r\n }\r\n this.selectedGiftCards = this.commonService.getLocalStorage(\"selectedGiftCards\");\r\n // if (this.notes !== undefined && this.notes !== null && this.notes !== '') {\r\n // this.showMessage = true;\r\n // }\r\n }\r\n\r\n ngOnInit() {\r\n this.getLocalData();\r\n // Change Style According to brand\r\n \r\n // const brand = this.brandName;\r\n // const _brandName = brand.slice(0, 7);\r\n // if (_brandName === 'Renault') {\r\n // this.commonService.getBrandColorMitsubishiWithOutChildClass();\r\n // }\r\n\r\n }\r\n getCSSDynamic() {\r\n if (this.brandName.slice(0, 7) === 'Renault') {\r\n return \"renault\"\r\n } else if (this.brandName.slice(0, 7).toLocaleLowerCase().includes('dacia')) {\r\n return \"dacia\"\r\n } else {\r\n return \"mitsubishi\"\r\n }\r\n }\r\n}\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL01vZHVsZXMvY2FyLWxpc3QvY2FyLWxpc3QuY29tcG9uZW50LmNzcyJ9 */\"","module.exports = \"\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\"","import { Component, OnInit } from '@angular/core';\r\nimport { paths } from 'src/app/Shared/enums/paths.enum';\r\nimport { CommonService } from 'src/app/Shared/services/common_services/common.service';\r\nimport { LoaderindicatorService } from 'src/app/Shared/services/loaderindicator/loaderindicator.service';\r\nimport { DataCommunicationService } from 'src/app/Shared/services/data_service/data-communication.service';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { ReadingJsonService } from 'src/app/Shared/services/configuration_service/reading-json.service';\r\nimport { ModalService } from 'src/app/Shared/services';\r\nimport { PlatformLocation } from '@angular/common';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { CampaignRedirectionService } from 'src/app/Shared/services/campaign/campaign-redirection.service';\r\nimport { async } from '@angular/core/testing';\r\n\r\ndeclare var gtag;\r\n@Component({\r\n selector: 'app-car-list',\r\n templateUrl: './car-list.component.html',\r\n styleUrls: ['./car-list.component.css']\r\n})\r\nexport class CarListComponent implements OnInit {\r\n\r\n vehicleList = [];\r\n currentData: any;\r\n VehilceKilometer;\r\n RequiredKM = false;\r\n vehicleSelected: any;\r\n selected: string = '';\r\n selectVehicleData: any;\r\n brandList: any;\r\n modelList: any;\r\n showBtn = true;\r\n dealerId: any;\r\n notSupportedModel=[];\r\n constructor(\r\n private commonService: CommonService,\r\n private loadingIndicatorService: LoaderindicatorService,\r\n private dataCommunicationService: DataCommunicationService,\r\n private translate: TranslateService,\r\n private readJsonFile: ReadingJsonService,\r\n private modalService: ModalService,\r\n private activatedRoute:ActivatedRoute,\r\n private campaignRedirectionService: CampaignRedirectionService\r\n ) { }\r\n\r\n async ngOnInit() {\r\n this.commonService.removeLocalStorage(['serviceIDList', 'SelectedService', 'PackageServiceListData', \r\n 'VehileKm','isWaiting']);\r\n let DmsNo = this.activatedRoute.snapshot.queryParamMap.get('DMSNo')\r\n let CampId = this.activatedRoute.snapshot.queryParamMap.get('campId')\r\n let MobileNo = this.activatedRoute.snapshot.queryParamMap.get('Mobile')\r\n\r\n if(DmsNo != \"\" && DmsNo != null && CampId != \"\" && CampId != null && MobileNo != \"\" && MobileNo != null){\r\n this.commonService.setLocalStorage('campaignId', CampId);\r\n this.campaignRedirectionService.getDealerByDMSNo(DmsNo,MobileNo).then(res=>{\r\n this.dealerId = this.commonService.getLocalStorageitem('dealername'); \r\n this.getDealerBrands();\r\n });\r\n }else{\r\n this.dealerId = this.commonService.getLocalStorageitem('dealername'); \r\n this.getDealerBrands();\r\n }\r\n }\r\n\r\n public getDealerBrands() {\r\n this.dataCommunicationService.getDealerBrands\r\n (this.commonService.getLocalStorageitem('dealername')).subscribe(\r\n result => {\r\n this.loadingIndicatorService.hide();\r\n if (result.StatusCode === 1) {\r\n //this.brandList = result.data \r\n this.brandList = result.Data.map(item => item.BrandCode).filter((value, index, self) => self.indexOf(value) === index)\r\n\r\n //this.getDealerModels(); \r\n this.getAllBrandModels(); \r\n } else {\r\n this.commonService.getErrorMessage(result.message);\r\n }\r\n }, error => {\r\n this.commonService.getErrorMessage('LoaderText.AlertMsg');\r\n }\r\n );\r\n }\r\n\r\n public getAllBrandModels(){\r\n this.dataCommunicationService.getAllBrandModels().subscribe(\r\n result => {\r\n this.loadingIndicatorService.hide();\r\n if (result.StatusCode === 1) {\r\n this.modelList = result.Data;\r\n //this.brandList = this.modelList.map(item => item.BrandCode).filter((value, index, self) => self.indexOf(value) === index)\r\n this.notSupportedModel = this.modelList.filter(x=> !x.ModelStatus); \r\n this.getCustomerVehicleList();\r\n } else {\r\n this.commonService.getErrorMessage(result.message);\r\n }\r\n }, error => {\r\n this.commonService.getErrorMessage('LoaderText.AlertMsg');\r\n }\r\n );\r\n }\r\n\r\n public getCustomerVehicleList() {\r\n this.translate.get('LoaderText.loadingVechile').subscribe(message => {\r\n this.loadingIndicatorService.show(message);\r\n });\r\n this.dataCommunicationService.getCustomerVehicleList\r\n (this.commonService.getLocalStorageByKey('customerData', 'MobileNo'), this.dealerId).subscribe(\r\n result => {\r\n this.loadingIndicatorService.hide();\r\n if (result.StatusCode === 1) { \r\n this.vehicleList = result.Data; \r\n this.PushDataToAnalyticsForVechileList();\r\n const source = this.commonService.getLocalStorageitem(\"AppointmentSource\");\r\n if(source != undefined && source != '' && source != null && source === 'mysite'){\r\n const Lp = this.commonService.getLocalStorageitem(\"SelectedVehicleLicensePlate\");\r\n if(Lp != undefined && Lp != '' && Lp != null){\r\n this.selectVehicle(this.vehicleList.find(x => x.LicensePlateNo === Lp));\r\n } \r\n }else{\r\n if(this.vehicleList.length == 1){\r\n this.selectVehicle(this.vehicleList[0]);\r\n }\r\n //this.checkVehicleList();\r\n }\r\n \r\n } else {\r\n this.commonService.getErrorMessage(result.message);\r\n }\r\n }, error => {\r\n this.commonService.getErrorMessage('LoaderText.AlertMsg');\r\n }\r\n );\r\n }\r\n\r\n // private checkVehicleList() {\r\n // if (this.vehicleList.length === 1) {\r\n // if (this.checkVehicleExists(this.vehicleList[0])) {\r\n // this.selectVehicle(this.vehicleList[0]);\r\n // } else {\r\n // this.PushDataToAnalyticsForSelectedService(this.vehicleList[0].BrandName + ' ' + this.vehicleList[0].ModelName, 'false');\r\n // window.open(this.commonService.getReturnURL(this.vehicleList[0].BrandName, this.vehicleList[0].LicensePlateNo, this.vehicleList[0].ModelName), '_blank');\r\n // this.commonService.NavigatePage(paths.BOOKAPPOINTMENT, 'Drammen');\r\n // }\r\n // }\r\n // }\r\n\r\n public selectVehicle(vechicleData) {\r\n vechicleData.ModelCode = vechicleData.ModelName;\r\n vechicleData.BrandCode = vechicleData.BrandName;\r\n this.commonService.setLocalStorage('SelectedVehicleLicensePlate', vechicleData.LicensePlateNo); \r\n this.commonService.setLocalStorage('vehicleData', vechicleData);\r\n\r\n if (this.checkVehicleExists(vechicleData)) {\r\n this.commonService.removeLocalStorage(['serviceIDList', 'SelectedService', 'PackageServiceListData', 'VehileKm','SelectedEUService']);\r\n this.PushDataToAnalyticsForSelectedService(vechicleData.BrandName + ' ' + vechicleData.ModelName, 'true');\r\n this.commonService.NavigatePage(paths.CARSERVICE);\r\n\r\n } else {\r\n this.PushDataToAnalyticsForSelectedService(vechicleData.BrandName + ' ' + vechicleData.ModelName, 'false');\r\n window.open(this.commonService.getReturnURL(vechicleData.BrandName, vechicleData.LicensePlateNo, vechicleData.ModelName), '_blank');\r\n let alias = this.commonService.getLocalStorageitem('DealerAliasName')\r\n this.commonService.NavigatePage(paths.BOOKAPPOINTMENT, alias);\r\n }\r\n }\r\n\r\n \r\n\r\n private checkVehicleExists(vehilceData) {\r\n if(this.notSupportedModel.find(e => \r\n vehilceData.ModelName.toLowerCase() === e.ModelName.toLowerCase() && \r\n vehilceData.BrandName.toLowerCase() === e.BrandCode.toLowerCase())){\r\n return false;\r\n }\r\n else if(this.brandList.find(x => x.toLowerCase() === vehilceData.BrandName.toLowerCase() ))\r\n {\r\n return true;\r\n } \r\n return false;\r\n }\r\n\r\n public PushDataToAnalyticsForVechileList() {\r\n let validCar = 'false';\r\n for (let i = 0; i < this.vehicleList.length; i++) { \r\n for (let i = 0; i < this.vehicleList.length; i++) {\r\n if (this.checkVehicleExists(this.vehicleList[i])) {\r\n validCar = 'true';\r\n }\r\n }\r\n }\r\n //to remove below comment in main application\r\n // this.currentData = {\r\n // 'event': 'GetVehicles',\r\n // 'so-cars': this.vehicleList.length,\r\n // 'so-validCar': validCar,\r\n // };\r\n // (window as any).dataLayer.push(this.currentData);\r\n\r\n gtag('event', 'GetVehicles', {'so-cars': this.vehicleList.length, 'so-validCar': validCar});\r\n }\r\n\r\n public PushDataToAnalyticsForSelectedService(CarBrandModel, Value) {\r\n //to remove below comment in main application\r\n // this.currentData = {\r\n // 'event': 'SelectVehicle',\r\n // 'so-car': CarBrandModel,\r\n // 'so-validCar': Value,\r\n // };\r\n // (window as any).dataLayer.push(this.currentData);\r\n\r\n gtag('event', 'SelectVehicle', {'so-car': CarBrandModel, 'so-validCar': Value});\r\n }\r\n\r\n public CheckVechileType(vechicleData): boolean {\r\n if ((vechicleData.BrandName.toLowerCase() === 'mitsubishi' && vechicleData.ModelName.toLowerCase().includes('outlander'))\r\n || vechicleData.BrandName.toLowerCase() === 'renault' && vechicleData.ModelName.toLowerCase().includes('zoe')\r\n || vechicleData.BrandName.toLowerCase() === 'dacia') {\r\n return false;\r\n }\r\n else {\r\n return true;\r\n }\r\n }\r\n\r\n // public getDealerModels() { \r\n // this.dataCommunicationService.getDealerModels\r\n // (this.commonService.getLocalStorageitem('dealername')).subscribe(\r\n // result => {\r\n // this.loadingIndicatorService.hide();\r\n // if (result.StatusCode === 1) {\r\n // this.modelList = result.Data;\r\n // console.log(this.modelList)\r\n // this.getCustomerVehicleList();\r\n // } else {\r\n // this.commonService.getErrorMessage(result.message);\r\n // }\r\n // }, error => {\r\n // this.commonService.getErrorMessage('LoaderText.AlertMsg');\r\n // }\r\n // );\r\n // }\r\n\r\n public ReadJsonVehicleList() {\r\n this.readJsonFile.getJSONData()\r\n .then(data => {\r\n this.vehicleList = data.VechileList; \r\n });\r\n }\r\n\r\n public numberOnly(event): boolean {\r\n const charCode = (event.which) ? event.which : event.keyCode;\r\n if (charCode > 31 && (charCode < 48 || charCode > 57)) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n}\r\n","module.exports = \".scroll {\\r\\n overflow: auto;\\r\\n }\\r\\n .scroll::-webkit-scrollbar {\\r\\n width: 12px;\\r\\n }\\r\\n .scroll::-webkit-scrollbar-track {\\r\\n -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);\\r\\n border-radius: 10px;\\r\\n }\\r\\n .scroll::-webkit-scrollbar-thumb {\\r\\n border-radius: 10px;\\r\\n -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.5);\\r\\n }\\r\\n .accordion > .card{\\r\\n border: 1px solid rgba(0, 0, 0, 0.125)!important;\\r\\n border-radius: 0.25rem!important;\\r\\n }\\r\\n .accordion{\\r\\n position: relative;\\r\\n }\\r\\n #aletImage{\\r\\n position: absolute;\\r\\n margin-top: -15px;\\r\\n right: 100px;\\r\\n z-index: 1;\\r\\n\\r\\n}\\r\\n .arrowMitsubish{\\r\\n font-size: 30px;\\r\\n color: #ed1c24;\\r\\n}\\r\\n .arrowRenault{\\r\\n font-size: 30px;\\r\\n color: #fc3;\\r\\n}\\r\\n .accessoryCheckBox{\\r\\n position: absolute;\\r\\n margin: 5px 0px 0px 5px;\\r\\n height: 20px;\\r\\n width: 20px;\\r\\n}\\r\\n .renault .accessoryCheckBox:checked + .accessoryLable {\\r\\n\\tborder: 1px solid #efdf00;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvTW9kdWxlcy9jYXItc2VydmljZS1saXN0L2Nhci1zZXJ2aWNlLWxpc3QuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLGNBQWM7Q0FDakI7Q0FDQTtLQUNJLFdBQVc7Q0FDZjtDQUVBO0tBQ0ksaURBQWlEO0tBQ2pELG1CQUFtQjtDQUN2QjtDQUVBO0tBQ0ksbUJBQW1CO0tBQ25CLGlEQUFpRDtDQUNyRDtDQUdBO0lBQ0csZ0RBQWdEO0lBQ2hELGdDQUFnQztDQUNuQztDQUNBO0tBQ0ksa0JBQWtCO0NBQ3RCO0NBQ0E7S0FDSSxrQkFBa0I7S0FDbEIsaUJBQWlCO0tBQ2pCLFlBQVk7S0FDWixVQUFVOztBQUVmO0NBQ0E7SUFDSSxlQUFlO0lBQ2YsY0FBYztBQUNsQjtDQUNBO0lBQ0ksZUFBZTtJQUNmLFdBQVc7QUFDZjtDQUdBO0VBQ0Usa0JBQWtCO0VBQ2xCLHVCQUF1QjtFQUN2QixZQUFZO0VBQ1osV0FBVztBQUNiO0NBRUE7Q0FDQyx5QkFBeUI7QUFDMUIiLCJmaWxlIjoic3JjL2FwcC9Nb2R1bGVzL2Nhci1zZXJ2aWNlLWxpc3QvY2FyLXNlcnZpY2UtbGlzdC5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLnNjcm9sbCB7XHJcbiAgICBvdmVyZmxvdzogYXV0bztcclxuIH1cclxuIC5zY3JvbGw6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcclxuICAgICB3aWR0aDogMTJweDtcclxuIH1cclxuXHJcbiAuc2Nyb2xsOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XHJcbiAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDAgNnB4IHJnYmEoMCwwLDAsMC4zKTtcclxuICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gfVxyXG5cclxuIC5zY3JvbGw6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcclxuICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAwIDZweCByZ2JhKDAsMCwwLDAuNSk7XHJcbiB9XHJcblxyXG5cclxuIC5hY2NvcmRpb24gPiAuY2FyZHtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xMjUpIWltcG9ydGFudDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDAuMjVyZW0haW1wb3J0YW50O1xyXG4gfVxyXG4gLmFjY29yZGlvbntcclxuICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiB9XHJcbiAjYWxldEltYWdle1xyXG4gICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICBtYXJnaW4tdG9wOiAtMTVweDtcclxuICAgICByaWdodDogMTAwcHg7XHJcbiAgICAgei1pbmRleDogMTtcclxuXHJcbn1cclxuLmFycm93TWl0c3ViaXNoe1xyXG4gICAgZm9udC1zaXplOiAzMHB4O1xyXG4gICAgY29sb3I6ICNlZDFjMjQ7XHJcbn1cclxuLmFycm93UmVuYXVsdHtcclxuICAgIGZvbnQtc2l6ZTogMzBweDtcclxuICAgIGNvbG9yOiAjZmMzO1xyXG59XHJcblxyXG5cclxuLmFjY2Vzc29yeUNoZWNrQm94e1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBtYXJnaW46IDVweCAwcHggMHB4IDVweDtcclxuICBoZWlnaHQ6IDIwcHg7XHJcbiAgd2lkdGg6IDIwcHg7XHJcbn1cclxuXHJcbi5yZW5hdWx0IC5hY2Nlc3NvcnlDaGVja0JveDpjaGVja2VkICsgLmFjY2Vzc29yeUxhYmxlIHtcclxuXHRib3JkZXI6IDFweCBzb2xpZCAjZWZkZjAwO1xyXG59XHJcbiJdfQ== */\"","module.exports = \"
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n {{ brandName }}{{modelName}}, {{ licensePlate }}\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
{{ \\\"Common.CommonText.label.yourOrder\\\" | translate }}
\\r\\n
KR
\\r\\n
\\r\\n {{ \\\"Common.CommonText.label.SelectService\\\" | translate }}\\r\\n
\\r\\n \\r\\n
\\r\\n {{ PriceTotal | priceFormat }}\\r\\n \\r\\n {{\\\"Common.CommonText.label.IncludingVAT\\\" | translate }}\\r\\n \\r\\n
\\r\\n
\\r\\n
    \\r\\n
  • \\r\\n \\r\\n \\r\\n
  • \\r\\n \\r\\n
  • \\r\\n {{ package.PackageName }}\\r\\n {{package.serviceTotal | decimalValue}}\\r\\n
  • \\r\\n
    \\r\\n
  • \\r\\n {{ euServices.ServiceName }}\\r\\n {{ euServices.LineAmountVat | decimalValue }}\\r\\n
  • \\r\\n
  • \\r\\n {{ additional.ServiceName }}\\r\\n {{ additional.LineAmountVat | decimalValue }}\\r\\n
  • \\r\\n \\r\\n
  • \\r\\n \\r\\n {{ item.Name }}\\r\\n {{ item.Price | decimalValue }}\\r\\n \\r\\n
  • \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{ brandName }}{{modelName}}
\\r\\n
    \\r\\n \\r\\n
  • \\r\\n {{ \\\"Common.CommonText.label.KilometerKM\\\" | translate }}\\r\\n {{ VehicleKilometer }}\\r\\n
  • \\r\\n
  • \\r\\n {{ \\\"Common.CommonText.label.regNO\\\" | translate }}\\r\\n {{ licensePlate }}\\r\\n
  • \\r\\n
  • \\r\\n {{ \\\"Common.CommonText.label.PKKDate\\\" | translate }}\\r\\n {{ pkkDate }}\\r\\n
  • \\r\\n
  • \\r\\n Utvalgt forhandler\\r\\n {{ SelectedDealerName }}\\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"image\\\"\\r\\n \\\"image\\\"\\r\\n \\\"image\\\"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{ \\\"Common.CommonText.label.km\\\" | translate }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n KM\\r\\n
\\r\\n
\\r\\n \\r\\n {{\\r\\n \\\"Common.CommonText.label.Kilometer\\\" | translate\\r\\n }}\\r\\n {{ \\\"FormValidation.isRequired\\\" | translate }}.\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n \\r\\n \\\"image\\\"\\r\\n \\r\\n {{ \\\"Common.CommonText.label.Service\\\" | translate }}\\r\\n

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

\\r\\n {{\\r\\n \\\"Common.CommonText.Details.Page4Description1\\\" | translate\\r\\n }}\\r\\n

\\r\\n {{\\r\\n \\\"Common.CommonText.Details.Page4Description2\\\" | translate\\r\\n }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
0\\\">\\r\\n
\\r\\n \\r\\n {{ \\\"Common.CommonText.Details.Page4Description4\\\" | translate }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{ \\\"Common.CommonText.label.otherservice\\\" | translate }}\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{\\r\\n \\\"Common.CommonText.Details.Page4Description3\\\" | translate\\r\\n }}\\r\\n
0\\\">\\r\\n
\\r\\n \\r\\n \\r\\n Hvordan velge rett service til min\\r\\n Renault\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n

\\r\\n \\r\\n \\\"image\\\"\\r\\n \\r\\n {{ \\\"Common.CommonText.label.EuControlhead\\\" | translate }}\\r\\n

\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Frist for din bil er {{ pkkDate }}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n

\\r\\n \\r\\n \\\"image\\\"\\r\\n \\r\\n {{ \\\"Common.CommonText.label.Repair\\\" | translate }}\\r\\n

\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","import { Component, OnInit } from '@angular/core';\r\nimport { FormBuilder } from '@angular/forms';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { NgbAccordionConfig } from '@ng-bootstrap/ng-bootstrap';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { paths } from 'src/app/Shared/enums/paths.enum';\r\nimport { ModalService } from 'src/app/Shared/services';\r\nimport { CommonService } from 'src/app/Shared/services/common_services/common.service';\r\nimport { ReadingJsonService } from 'src/app/Shared/services/configuration_service/reading-json.service';\r\nimport { DataCommunicationService } from 'src/app/Shared/services/data_service/data-communication.service';\r\nimport { LoaderindicatorService } from 'src/app/Shared/services/loaderindicator/loaderindicator.service';\r\n\r\n@Component({\r\n selector: 'mgfw-car-service-list',\r\n templateUrl: './car-service-list.component.html',\r\n styleUrls: ['./car-service-list.component.css']\r\n})\r\nexport class CarServiceListComponent implements OnInit {\r\n\r\n brandName: string;\r\n modelName: string;\r\n licensePlate: any;\r\n vinNo: any;\r\n year: any;\r\n SelectedDealerName: any;\r\n IsSubmitted = true;\r\n PriceTotal = 0;\r\n selectedPackageName: any;\r\n SelectedPackageData = [];\r\n SelectedEUService = [];\r\n SelectedService = [];\r\n AccessoriesList = [];\r\n CustomerNotes = '';\r\n VehicleKilometer;\r\n RequiredKM = false;\r\n addKilometer = 0;\r\n BrandCode: any;\r\n pkkDate: any;\r\n isDeadlineForPKK: boolean;\r\n ModelImage: any;\r\n FuelType: any;\r\n FinalAdditionalService: any;\r\n ServiceListData: Array = [];\r\n FinalService: any;\r\n packageListData: Array = [];\r\n showOLBService: Boolean;\r\n BrandList: any;\r\n searchParams: any;\r\n PackagesDetailed: any;\r\n EUControlData: any;\r\n EUTotal = 0;\r\n EUDuration = 0;\r\n AdditionalTotal = 0;\r\n AddDuration = 0;\r\n OLBPrice = 0;\r\n OLBDuration = 0;\r\n serviceCount = 0;\r\n AdditionalTotalDuration = 0;\r\n OLBServicePrice = 0;\r\n OLBServiceDuration = 0;\r\n EUControlprice = 0; //1250;\r\n EUControlduration = 0;\r\n AdditionalTotalPrice = 0;\r\n accessoryTotalPrice: number = 0;\r\n DurationTotal = 0;\r\n AdditionalServiceCount = 0;\r\n EUControlCount = 0;\r\n showPrice: boolean;\r\n showServices = false;\r\n FinalPackageServiceData: any;\r\n requiredservice = [];\r\n TotalPrice = 0;\r\n TotalDuration = 0;\r\n selectedPackageId: any;\r\n modelPDF: any;\r\n PackageDetail: any;\r\n pdfPath = \"\";\r\n packages = [];\r\n PackagePrice = 0;\r\n PackageDuration = 0;\r\n currentDate = new Date();\r\n selectedGiftCards;\r\n\r\n constructor(\r\n public commonService: CommonService,\r\n private dataCommunicationService: DataCommunicationService,\r\n private loaderservice: LoaderindicatorService,\r\n protected readonly fb: FormBuilder,\r\n private translate: TranslateService,\r\n private readJsonFile: ReadingJsonService,\r\n private modalService: ModalService,\r\n private sanitizer: DomSanitizer,\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.SelectedDealerName = this.commonService.getLocalStorageitem(\"SelectedDealerName\");\r\n this.BrandCode = this.commonService.getLocalStorageByKey(\"vehicleData\",\"BrandName\");\r\n this.brandName = this.BrandCode + \" \" + this.commonService.getLocalStorageByKey(\"vehicleData\", \"ModelName\");\r\n //this.brandName = this.commonService.getLocalStorageByKey(\"vehicleData\", \"BrandName\");\r\n this.modelName = this.commonService.getLocalStorageByKey(\"vehicleData\", \"ModelName\");\r\n this.licensePlate = this.commonService.getLocalStorageByKey(\"vehicleData\", \"LicensePlateNo\");\r\n this.vinNo = this.commonService.getLocalStorageByKey(\"vehicleData\", \"VinNo\");\r\n this.year = this.commonService.getLocalStorageByKey(\"vehicleData\", \"Year\");\r\n var pkkdt = this.commonService.getLocalStorageByKey(\"vehicleData\", \"PKKDate\");\r\n this.pkkDate = this.commonService.formatDate(new Date(pkkdt));\r\n this.isDeadlineForPKK = this.monthDiff(new Date, new Date(pkkdt)) > 6 ? false : true;\r\n this.ModelImage = this.commonService.getLocalStorageByKey(\"vehicleData\", \"ModelImage\");\r\n this.FuelType = this.commonService.getLocalStorageByKey(\"vehicleData\", \"Fuelcode\");\r\n }\r\n\r\n getCSSDynamic() {\r\n if (this.brandName.slice(0, 7) === \"Renault\") {\r\n return \"renault\";\r\n } else if (this.brandName.slice(0, 7).toLocaleLowerCase().includes(\"dacia\")) {\r\n return \"dacia\";\r\n } else {\r\n return \"mitsubishi\";\r\n }\r\n }\r\n\r\n toggleShow() {\r\n const MitsubishiParentClass = document.querySelector(\"#carService\");\r\n if (MitsubishiParentClass.classList.contains(\"os-open\")) {\r\n MitsubishiParentClass.classList.remove(\"os-open\");\r\n } else {\r\n MitsubishiParentClass.classList.add(\"os-open\");\r\n }\r\n }\r\n\r\n public notesChange() {\r\n if (this.CustomerNotes !== undefined && this.CustomerNotes !== \"\" && this.CustomerNotes != null) {\r\n this.commonService.setLocalStorage(\"notes\", this.CustomerNotes);\r\n } else {\r\n this.commonService.removeLocalStorage([\"notes\"]);\r\n }\r\n }\r\n\r\n monthDiff(d1, d2) {\r\n var months;\r\n months = (d2.getFullYear() - d1.getFullYear()) * 12;\r\n months -= d1.getMonth();\r\n months += d2.getMonth();\r\n return months <= 0 ? 0 : months;\r\n }\r\n\r\n public ConfirmService() {\r\n var pkkservice = false;\r\n this.commonService.removeLocalStorage([\r\n \"waitingTime\",\r\n \"dropTime\",\r\n \"RentalCar\",\r\n \"kiosk\",\r\n \"AppointDate\",\r\n \"AvailableDates\",\r\n ]);\r\n\r\n this.currentDate = this.computeDate(new Date());\r\n if (this.TotalDuration != 0 || this.AdditionalTotalDuration != 0 || this.EUControlduration != 0) {\r\n const duration = Number(this.TotalDuration) + Number(this.AdditionalTotalDuration) + Number(this.EUControlduration);\r\n this.commonService.setLocalStorage(\"totalTime\", this.timeConvert(duration));\r\n }\r\n else {\r\n this.commonService.setLocalStorage(\"totalTime\", this.timeConvert(this.OLBDuration));\r\n }\r\n\r\n if (this.FinalPackageServiceData != null && this.FinalPackageServiceData.SelectedPackage.length > 0) {\r\n this.commonService.setLocalStorage(\"PackageServiceListData\", this.FinalPackageServiceData);\r\n }\r\n\r\n if (this.AccessoriesList != null && this.AccessoriesList.length > 0) {\r\n this.commonService.setLocalStorage(\"SelectedAccessories\", this.AccessoriesList.filter(x => x['isSelected'] == true));\r\n }\r\n\r\n if (this.CustomerNotes !== undefined && this.CustomerNotes !== \"\" && this.CustomerNotes != null) {\r\n this.commonService.setLocalStorage(\"notes\", this.CustomerNotes);\r\n }\r\n\r\n if (this.commonService.getLocalStorage(\"SelectedEUService\")) {\r\n pkkservice = true;\r\n }\r\n\r\n this.translate.get(\"LoaderText.loading\").subscribe((message) => {\r\n this.loaderservice.show(message);\r\n });\r\n\r\n const appointmentCheckAvailabilityRequest: any = [];\r\n appointmentCheckAvailabilityRequest.TotalDuration = this.commonService.getLocalStorageitem(\"totalTime\");\r\n appointmentCheckAvailabilityRequest.LicensePlate = this.commonService.getLocalStorageByKey(\"vehicleData\", \"LicensePlateNo\");\r\n appointmentCheckAvailabilityRequest.Make = this.commonService.getLocalStorageByKey(\"vehicleData\", \"BrandName\"),\r\n appointmentCheckAvailabilityRequest.PkkService = pkkservice;\r\n appointmentCheckAvailabilityRequest.DealerId = this.commonService.getLocalStorage(\"dealername\");\r\n appointmentCheckAvailabilityRequest.StartDate = this.currentDate.getFullYear() + \"-\" + Number(this.currentDate.getMonth() + 1) + \"-\" + this.currentDate.getDate();\r\n\r\n if (\r\n this.commonService.getLocalStorageitem(\"waitingTime\") != undefined &&\r\n this.commonService.getLocalStorageitem(\"waitingTime\") != null &&\r\n this.commonService.getLocalStorageitem(\"waitingTime\") != \"\"\r\n ) {\r\n appointmentCheckAvailabilityRequest[\"WaitTimeDropTime\"] = this.commonService.getLocalStorageitem(\"waitingTime\");\r\n }\r\n else if (\r\n this.commonService.getLocalStorageitem(\"dropTime\") != undefined &&\r\n this.commonService.getLocalStorageitem(\"dropTime\") != null &&\r\n this.commonService.getLocalStorageitem(\"dropTime\") != \"\"\r\n ) {\r\n appointmentCheckAvailabilityRequest[\"WaitTimeDropTime\"] = this.commonService.getLocalStorageitem(\"dropTime\");\r\n }\r\n\r\n this.dataCommunicationService\r\n .checkAppointmentAvability(appointmentCheckAvailabilityRequest)\r\n .subscribe((result) => {\r\n // if (result.StatusCode === 1) {\r\n // console.log(result.Data);\r\n // }\r\n //console.log('result', result)\r\n // this.commonService.setLocalStorage('unAvailableDates', result.Data.UnAvailableDates);\r\n // this.commonService.setLocalStorage('UnAvailableDatesForOccupied', result.Data.UnAvailableDatesForOccupied);\r\n // this.commonService.setLocalStorage('WeekDayList', result.Data.WeekDayList);\r\n this.commonService.setLocalStorage(\"AvailableDates\", result.AvailableDates);\r\n if (this.selectedGiftCards != undefined) {\r\n this.commonService.setLocalStorage(\"selectedGiftCards\", JSON.stringify(this.selectedGiftCards));\r\n }\r\n if (this.SelectedEUService != null && this.SelectedEUService.length > 0) {\r\n this.commonService.setLocalStorage(\"SelectedEUService\", this.SelectedEUService);\r\n }\r\n this.commonService.NavigatePage(paths.CONFIRMBOOKING);\r\n },\r\n (error) => {\r\n this.loaderservice.hide();\r\n this.commonService.getErrorMessage(\"LoaderText.DMSDown\");\r\n\r\n });\r\n }\r\n\r\n public getKilometer(e) {\r\n this.addKilometer = 0;\r\n if (e === \"w\") {\r\n if (this.VehicleKilometer != undefined && this.VehicleKilometer != null && this.VehicleKilometer != \"\") {\r\n this.RequiredKM = false;\r\n this.commonService.setLocalStorage(\"VehileKm\", this.VehicleKilometer);\r\n } else {\r\n this.RequiredKM = true;\r\n this.commonService.setLocalStorage(\"VehileKm\", 0);\r\n return;\r\n }\r\n } else {\r\n this.commonService.setLocalStorage(\"VehileKm\", \"---\");\r\n }\r\n this.addKilometer = this.commonService.getLocalStorage(\"VehileKm\");\r\n }\r\n\r\n public getPackagesData() {\r\n this.FinalService = [];\r\n this.packageListData = [];\r\n this.ServiceListData = [];\r\n this.SelectedEUService = [];\r\n this.FinalAdditionalService = [];\r\n this.commonService.removeLocalStorage([\r\n \"serviceIDList\",\r\n \"SelectedService\",\r\n \"PackageServiceListData\",\r\n \"SelectedEUService\",\r\n ]);\r\n if (this.VehicleKilometer == undefined) {\r\n this.VehicleKilometer = 0;\r\n this.commonService.setLocalStorage(\"VehileKm\", 0);\r\n }\r\n this.getdealerConfigurationById(this.commonService.getLocalStorageitem(\"dealername\"));\r\n }\r\n\r\n public getdealerConfigurationById(param: any) {\r\n this.translate.get(\"LoaderText.services\").subscribe((message) => {\r\n this.loaderservice.show(message);\r\n });\r\n this.dataCommunicationService\r\n .getDealersConfigurationById(param)\r\n .subscribe((result) => {\r\n if (result.StatusCode === 1) {\r\n this.loaderservice.hide();\r\n this.commonService.setLocalStorage(\"dealerConfig\", result.Data);\r\n // if (result.Data.EnableMenuPricing == false) {\r\n // this.getServiceList()\r\n // this.showOLBService = true;\r\n // }\r\n // else {\r\n this.brandList(this.BrandCode);\r\n this.showOLBService = false;\r\n //}\r\n }\r\n });\r\n }\r\n\r\n public brandList(BrandCode: any): void {\r\n this.translate.get(\"LoaderText.services\").subscribe((message) => {\r\n this.loaderservice.show(message);\r\n });\r\n this.dataCommunicationService\r\n .getBrandById(this.BrandCode)\r\n .subscribe((result) => {\r\n if (result.StatusCode === 1) {\r\n this.loaderservice.hide();\r\n this.BrandList = result.Data;\r\n this.showOLBService = false;\r\n this.getPackageList();\r\n }\r\n });\r\n }\r\n\r\n public getPackageList() {\r\n this.translate.get(\"LoaderText.services\").subscribe((message) => {\r\n this.loaderservice.show(message);\r\n });\r\n this.searchParams = {\r\n licensePlate: this.licensePlate,\r\n VINNumber: this.vinNo,\r\n dealerId: this.commonService.getLocalStorage(\"dealername\"),\r\n Kilometer: this.VehicleKilometer,\r\n BrandName: this.commonService.getLocalStorageByKey(\r\n \"vehicleData\",\r\n \"BrandName\"\r\n ),\r\n ModelName: this.commonService.getLocalStorageByKey(\r\n \"vehicleData\",\r\n \"ModelName\"\r\n ),\r\n IsOtherBrand: this.BrandList.MenuPricing === \"WebCapri\" ? false : true,\r\n };\r\n //this.searchParams = {licensePlate : this.licensePlate , dealerId :\"031140\", Kilometer : this.VehilceKilometer };\r\n this.dataCommunicationService.getAllPackages(this.searchParams).subscribe(\r\n (result) => {\r\n if (result.StatusCode === 1) {\r\n if (this.BrandCode == \"Renault\") this.ShowPopup(\"openModelPDF\");\r\n this.loaderservice.hide();\r\n this.PackagesDetailed = result.Data;\r\n this.packageListData.push(this.PackagesDetailed);\r\n if (this.BrandList.MenuPricing === \"WebCapri\") {\r\n this.EUControlData = this.PackagesDetailed.EUControlaServices;\r\n this.FinalAdditionalService = this.PackagesDetailed.AdditionalServices;\r\n this.FinalAdditionalService.forEach(element => {\r\n element.LineAmountVat = Number(element.LineAmountVat.toFixed(0))\r\n });\r\n this.EUControlData.forEach(element => {\r\n element.LineAmountVat = Number(element.LineAmountVat.toFixed(0))\r\n });\r\n }\r\n else if (this.BrandList.MenuPricing === \"MPO\") {\r\n this.getMPOAdditionalService();\r\n }\r\n\r\n this.getServiceChecked();\r\n\r\n this.ServiceListData = [];\r\n this.FinalService = [];\r\n this.packageListData.forEach(p => {\r\n p.PackageDetail.forEach(pd => {\r\n pd.ServiceListData.forEach(pds => {\r\n pds.serviceTotal = Number(pds.serviceTotal.toFixed(0))\r\n this.ServiceListData.push(pds)\r\n });\r\n });\r\n })\r\n this.FinalService = this.ServiceListData;\r\n //this.FinalService[0].serviceTotal = 369.953\r\n //this.FinalService[1].serviceTotal = 131.235\r\n this.getPackageChecked();\r\n } else {\r\n // this.translate.get('LoaderText.noServiceFound').subscribe(message => {\r\n // this.loaderservice.show(message);\r\n // this.loaderservice.hide();\r\n // });\r\n }\r\n },\r\n (error) => {\r\n this.commonService.getErrorMessage(\"LoaderText.AlertMsg\");\r\n }\r\n );\r\n }\r\n\r\n public getMPOServices(URL, indexprice, packageID) {\r\n this.translate.get(\"LoaderText.services\").subscribe((message) => {\r\n this.loaderservice.show(message);\r\n });\r\n this.searchParams = {\r\n licensePlate: this.licensePlate,\r\n dealerId: this.commonService.getLocalStorage(\"dealername\"),\r\n Kilometer: this.VehicleKilometer,\r\n BrandName: this.commonService.getLocalStorageByKey(\r\n \"vehicleData\",\r\n \"BrandName\"\r\n ),\r\n ModelName: this.commonService.getLocalStorageByKey(\r\n \"vehicleData\",\r\n \"ModelName\"\r\n ),\r\n Url: URL,\r\n IsDetailsService: true,\r\n IsOtherBrand: true,\r\n VINNumber: this.vinNo,\r\n };\r\n\r\n this.dataCommunicationService\r\n .getAllPackages(this.searchParams)\r\n .subscribe((result) => {\r\n if (result.StatusCode === 1) {\r\n this.loaderservice.hide();\r\n const listData = result.Data.PackageDetail[0].ServiceListData[0];\r\n const indexAt = this.FinalService.findIndex((x) => x.PackageId == packageID);\r\n if (indexAt > -1) {\r\n this.FinalService[indexAt].PackageServiceList = listData.PackageServiceList;\r\n this.FinalService[indexAt].OptionalServiceDetailList = listData.OptionalServiceDetailList;\r\n }\r\n this.getPackagesDetails(this.FinalService[indexAt], packageID);\r\n }\r\n });\r\n }\r\n\r\n public getMPOAdditionalService() {\r\n this.translate.get(\"LoaderText.services\").subscribe((message) => {\r\n this.loaderservice.show(message);\r\n });\r\n this.EUControlData = [];\r\n this.searchParams = {\r\n licensePlate: this.licensePlate,\r\n dealerId: this.commonService.getLocalStorage(\"dealername\"),\r\n Kilometer: this.VehicleKilometer,\r\n BrandName: this.commonService.getLocalStorageByKey(\r\n \"vehicleData\",\r\n \"BrandName\"\r\n ),\r\n ModelName: this.commonService.getLocalStorageByKey(\r\n \"vehicleData\",\r\n \"ModelName\"\r\n ),\r\n PackageId: 0,\r\n IsDetailsService: true,\r\n IsOtherBrand: true,\r\n VINNumber: this.vinNo,\r\n };\r\n\r\n this.dataCommunicationService\r\n .getMPOAdditionalPackage(this.searchParams)\r\n .subscribe((result) => {\r\n //if (result.StatusCode === 1) {\r\n this.loaderservice.hide();\r\n this.FinalAdditionalService = result.AdditionalServices;\r\n this.FinalAdditionalService.forEach(element => {\r\n element.LineAmountVat = Number(element.LineAmountVat.toFixed(0))\r\n });\r\n //EU Control Service\r\n this.EUControlData = result.EUControlaServices;\r\n this.EUControlData.forEach(element => {\r\n element.LineAmountVat = Number(element.LineAmountVat.toFixed(0))\r\n });\r\n // }\r\n });\r\n }\r\n\r\n public getPackageChecked() {\r\n if (this.commonService.getLocalStorageitem(\"PackageServiceListData\") != null) {\r\n //this.showServices = true;\r\n this.showServices = false;\r\n this.showPrice = true;\r\n this.IsSubmitted = false;\r\n this.SelectedPackageData = this.commonService.getLocalStorage(\"PackageServiceListData\")[\"SelectedPackage\"];\r\n\r\n this.SelectedPackageData = this.FinalService.filter((x) => x.PackageId == this.SelectedPackageData[0].PackageId);\r\n this.selectedPackageName = this.SelectedPackageData[0].PackageName;\r\n\r\n var PackageDetail = this.commonService.getLocalStorage(\"PackageServiceListData\")[\"SelectedPackage\"];\r\n var TotalPrice = this.commonService.getLocalStorage(\"PackageServiceListData\")[\"TotalPrice\"];\r\n var TotalDuration = this.commonService.getLocalStorage(\"PackageServiceListData\")[\"TotalDuration\"];\r\n\r\n this.FinalPackageServiceData = {\r\n SelectedPackage: PackageDetail,\r\n TotalPrice: TotalPrice,\r\n TotalDuration: TotalDuration,\r\n };\r\n this.selectedPackageId = this.FinalPackageServiceData.SelectedPackage[0].PackageId;\r\n this.TotalPrice = this.FinalPackageServiceData.TotalPrice;\r\n this.TotalDuration = this.FinalPackageServiceData.TotalDuration;\r\n var SelectedPackageServices = this.commonService.getLocalStorage(\"PackageServiceListData\")[\"SelectedPackage\"];\r\n this.requiredservice = SelectedPackageServices[0].SelectedPackageServices;\r\n if (this.BrandList.MenuPricing == \"MPO\") {\r\n this.SelectedPackageData[0].PackageServiceList = this.requiredservice;\r\n }\r\n this.PriceTotal = this.EUControlprice + this.AdditionalTotalPrice + this.accessoryTotalPrice +\r\n Number(this.commonService.getLocalStorage(\"PackageServiceListData\")[\"TotalPrice\"].toFixed(2));\r\n }\r\n }\r\n\r\n getPackage(packages: any, packageId) {\r\n if (this.BrandList.MenuPricing === \"WebCapri\") {\r\n //if(true){\r\n this.getPackagesDetails(packages, packageId);\r\n } else {\r\n if (packages == null || packages.PackageServiceList == null) {\r\n this.getMPOServices(packages.ServiceUrl, 0, packages.PackageId);\r\n } else {\r\n this.getPackagesDetails(packages, packageId);\r\n }\r\n }\r\n }\r\n\r\n getPackagesDetails(packages: any, packageId) {\r\n this.showPrice = false;\r\n //this.showServices = true;\r\n this.showServices = false;\r\n this.selectedPackageId = packageId;\r\n var otherCheckbox = true;\r\n\r\n this.commonService.removeLocalStorage([\"PackageServiceListData\"]);\r\n if (this.SelectedPackageData.length > 0) {\r\n if (this.SelectedPackageData.some((x) => x.PackageId === packages.PackageId)) {\r\n if (this.BrandList.MenuPricing === \"WebCapri\") {\r\n this.SelectedPackageData = [];\r\n } else {\r\n const indexAt = this.SelectedPackageData.findIndex((x) => x.PackageId === packages.PackageId);\r\n if (indexAt >= 0) {\r\n this.SelectedPackageData.splice(indexAt);\r\n } else {\r\n this.SelectedPackageData.push(packages);\r\n //this.getServicesOfPackages();\r\n }\r\n }\r\n otherCheckbox = false;\r\n // this.PackageSelection(false);\r\n } else {\r\n if (this.BrandList.MenuPricing === \"WebCapri\") {\r\n this.SelectedPackageData = [];\r\n }\r\n this.SelectedPackageData.push(packages);\r\n // this.getServicesOfPackages();\r\n }\r\n } else {\r\n this.SelectedPackageData = [];\r\n this.SelectedPackageData.push(packages);\r\n // this.getServicesOfPackages();\r\n }\r\n // earlier Code for Checkbox only\r\n // this.SelectedPackageData = [];\r\n // this.SelectedPackageData.push(packages);\r\n\r\n this.PackageSelection(otherCheckbox);\r\n }\r\n\r\n PackageSelection($event) {\r\n this.serviceCount = 0;\r\n this.PriceTotal = 0;\r\n this.selectedPackageName = 0;\r\n this.TotalPrice = 0;\r\n this.TotalDuration = 0;\r\n this.PackageDetail = [];\r\n this.FinalService.forEach((x) => (x.selectedPrice = x.serviceTotal));\r\n if ($event == false) {\r\n this.FinalPackageServiceData = [];\r\n this.serviceCount = 0;\r\n this.selectedPackageName = \"\";\r\n }\r\n for (let k = 0; k < this.SelectedPackageData.length; k++) {\r\n this.PackageDetail.push({\r\n PackageId: this.SelectedPackageData[k].PackageId,\r\n packageName: this.SelectedPackageData[k].PackageName,\r\n price: this.SelectedPackageData[k].serviceTotal,\r\n selectedPrice: this.SelectedPackageData[k].serviceTotal,\r\n duration: this.SelectedPackageData[k].Duration,\r\n PackageType: this.SelectedPackageData[k].PackageType,\r\n PartsTotal: this.SelectedPackageData[k].PartsTotal,\r\n WorkTotal: this.SelectedPackageData[k].WorkTotal,\r\n VM: this.SelectedPackageData[k].VM,\r\n SelectedPackageServices: [],\r\n subPackageList: [],\r\n });\r\n this.requiredservice = this.SelectedPackageData[k].PackageServiceList;\r\n this.TotalPrice = Number(this.TotalPrice) + Number(this.SelectedPackageData[k].serviceTotal);\r\n for (let i = 0; i < this.requiredservice.length; i++) {\r\n // if (this.BrandList.MenuPricing == \"WebCapri\") {\r\n // this.TotalPrice = Number((this.TotalPrice + this.requiredservice[i].LineAmountVat).toFixed(2));\r\n // }\r\n // else {\r\n\r\n //}\r\n if (this.requiredservice[i].ElementType == \"1\") {\r\n this.TotalDuration = Number((this.TotalDuration + this.requiredservice[i].duration).toFixed(2));\r\n }\r\n }\r\n this.PackageDetail[k].SelectedPackageServices = this.requiredservice;\r\n // this.PackageDetail[0].subPackageList=this.subpackageList;\r\n\r\n // if (this.commonService.getLocalStorageitem('PackageServiceListData') != null) {\r\n // var PackageDetail = this.commonService.getLocalStorage('PackageServiceListData')['SelectedPackage'];\r\n // var TotalPrice = this.commonService.getLocalStorage('PackageServiceListData')['TotalPrice'];\r\n // var TotalDuration = this.commonService.getLocalStorage('PackageServiceListData')['TotalDuration'];\r\n\r\n // this.FinalPackageServiceData = {\r\n // SelectedPackage: PackageDetail,\r\n // TotalPrice: TotalPrice,\r\n // TotalDuration:TotalDuration\r\n\r\n // };\r\n // }\r\n }\r\n\r\n this.FinalPackageServiceData = {\r\n SelectedPackage: this.PackageDetail,\r\n TotalPrice: this.TotalPrice,\r\n TotalDuration: this.TotalDuration,\r\n };\r\n\r\n if (this.FinalPackageServiceData.SelectedPackage.length > 0) {\r\n this.serviceCount = this.FinalPackageServiceData.SelectedPackage[0].SelectedPackageServices.length;\r\n this.selectedPackageName = this.FinalPackageServiceData.SelectedPackage[0].packageName;\r\n }\r\n\r\n if (this.SelectedPackageData.length > 0) {\r\n this.PriceTotal = this.FinalPackageServiceData.TotalPrice + this.AdditionalTotalPrice + this.accessoryTotalPrice + this.EUControlprice;\r\n this.DurationTotal = this.FinalPackageServiceData.TotalDuration + this.AdditionalTotalDuration + this.EUControlduration;\r\n } else {\r\n this.PriceTotal = this.accessoryTotalPrice + this.AdditionalTotalPrice;\r\n this.DurationTotal = this.AdditionalTotalDuration;\r\n }\r\n\r\n if (this.serviceCount > 0 || this.SelectedService.length > 0) {\r\n this.IsSubmitted = false;\r\n } else {\r\n this.IsSubmitted = true;\r\n }\r\n }\r\n\r\n getPackageCheckboxselected(packages: any) {\r\n if (this.SelectedPackageData.some((x) => x.PackageId === packages.PackageId)) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n public getServiceChecked() {\r\n if (this.commonService.getLocalStorageitem(\"SelectedEUService\") != null) {\r\n this.SelectedEUService = this.commonService.getLocalStorage(\"SelectedEUService\");\r\n }\r\n if (this.commonService.getLocalStorageitem(\"SelectedService\") != null) {\r\n this.SelectedService = this.commonService.getLocalStorage(\"SelectedService\");\r\n\r\n this.IsSubmitted = false;\r\n this.serviceCount = this.SelectedService.length;\r\n for (let i = 0; i < this.SelectedService.length; i++) {\r\n this.OLBPrice = Number((this.OLBPrice + this.SelectedService[i].TotalPrice).toFixed(2));\r\n this.OLBDuration = Number((this.OLBDuration + this.SelectedService[i].Duration).toFixed(2));\r\n }\r\n for (let i = 0; i < this.SelectedService.length; i++) {\r\n this.AdditionalTotal = Number((this.AdditionalTotal + this.SelectedService[i].LineAmountVat).toFixed(2));\r\n this.AddDuration = Number((this.AddDuration + this.SelectedService[i].duration).toFixed(2));\r\n }\r\n for (let i = 0; i < this.SelectedEUService.length; i++) {\r\n this.EUTotal = Number((this.EUTotal + this.SelectedEUService[i].LineAmountVat).toFixed(2));\r\n this.EUDuration = Number((this.EUDuration + this.SelectedEUService[i].duration).toFixed(2));\r\n }\r\n this.OLBServicePrice = this.OLBPrice;\r\n this.OLBServiceDuration = this.OLBDuration;\r\n this.AdditionalTotalPrice = this.AdditionalTotal;\r\n this.AdditionalTotalDuration = this.AddDuration;\r\n this.EUControlprice = this.EUTotal;\r\n this.EUControlduration = this.EUDuration;\r\n\r\n if (this.commonService.getLocalStorageitem(\"PackageServiceListData\") != null) {\r\n this.PriceTotal = this.EUControlprice + this.AdditionalTotalPrice + this.accessoryTotalPrice +\r\n Number(this.commonService.getLocalStorage(\"PackageServiceListData\")[\"TotalPrice\"].toFixed(2));\r\n this.DurationTotal = this.EUControlduration + this.AdditionalTotalDuration +\r\n Number(this.commonService.getLocalStorage(\"PackageServiceListData\")[\"TotalDuration\"].toFixed(2));\r\n } else {\r\n this.PriceTotal = this.accessoryTotalPrice + this.EUControlprice + this.AdditionalTotalPrice;\r\n this.DurationTotal = this.EUControlduration + this.AdditionalTotalDuration;\r\n }\r\n\r\n this.AdditionalServiceCount = this.SelectedService.length;\r\n this.EUControlCount = this.SelectedEUService.length;\r\n }\r\n }\r\n\r\n getcheckedServices(services, event) {\r\n this.serviceCount = 0;\r\n let serviceArray = JSON.parse(JSON.stringify(this.FinalPackageServiceData.SelectedPackage[0].SelectedPackageServices));\r\n if (event.target.checked === false) {\r\n if (serviceArray.length > 0) {\r\n const indexAt = serviceArray.findIndex((x) => x.ServiceId === services.ServiceId);\r\n serviceArray.splice(indexAt, 1);\r\n this.FinalPackageServiceData.SelectedPackage[0].SelectedPackageServices = serviceArray;\r\n this.FinalPackageServiceData.TotalPrice = Number((this.FinalPackageServiceData.TotalPrice - services.LineAmountVat).toFixed(2));\r\n if (services.ElementType == \"1\") {\r\n this.FinalPackageServiceData.TotalDuration = Number((this.FinalPackageServiceData.TotalDuration - services.duration).toFixed(2));\r\n }\r\n // this.serviceCount = this.FinalPackageServiceData.SelectedPackage[0].SelectedPackageServices.length;\r\n // this.FinalService.filter(x => x.PackageId === this.PackageDetail[0].PackageId)[0].selectedPrice =\r\n // this.SelectedPackageData.filter(x => x.PackageId == this.PackageDetail[0].PackageId)[0].selectedPrice - services.LineAmountVat;\r\n }\r\n } else {\r\n serviceArray.push(services);\r\n this.FinalPackageServiceData.SelectedPackage[0].SelectedPackageServices = serviceArray;\r\n\r\n this.FinalPackageServiceData.TotalPrice = Number((this.FinalPackageServiceData.TotalPrice + services.LineAmountVat).toFixed(2));\r\n if (services.ElementType == \"1\") {\r\n this.FinalPackageServiceData.TotalDuration = Number((this.FinalPackageServiceData.TotalDuration + services.duration).toFixed(2));\r\n }\r\n\r\n this.FinalService.filter((x) => x.PackageId == this.PackageDetail[0].PackageId)[0].selectedPrice =\r\n this.SelectedPackageData.filter((x) => x.PackageId == this.PackageDetail[0].PackageId)[0].selectedPrice + services.LineAmountVat;\r\n }\r\n\r\n this.serviceCount = this.FinalPackageServiceData.SelectedPackage[0].SelectedPackageServices.length;\r\n this.TotalPrice = this.FinalPackageServiceData.TotalPrice;\r\n this.TotalDuration = this.FinalPackageServiceData.TotalDuration;\r\n this.PriceTotal = this.FinalPackageServiceData.TotalPrice + this.AdditionalTotalPrice + this.accessoryTotalPrice + this.EUControlprice;\r\n this.DurationTotal = this.FinalPackageServiceData.TotalDuration + this.AdditionalTotalDuration + this.EUControlduration;\r\n }\r\n\r\n GetCheckedDetail(services) {\r\n if (this.requiredservice.some((x) => x.ServiceId === services.ServiceId)) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n public PushAdditionalService(serviceData, $event) {\r\n this.IsSubmitted = true;\r\n\r\n if (this.SelectedPackageData.length > 0) {\r\n this.PackagePrice = Number(this.FinalPackageServiceData.TotalPrice.toFixed(2));\r\n this.PackageDuration = Number(this.FinalPackageServiceData.TotalDuration.toFixed(2));\r\n } else {\r\n this.PackagePrice = 0;\r\n this.PackageDuration = 0;\r\n }\r\n\r\n if ($event.target.checked === false) {\r\n const indexAt = this.SelectedService.findIndex((x) => x.ServiceId === serviceData.ServiceId);\r\n this.SelectedService.splice(indexAt, 1);\r\n this.AdditionalTotal = Number((this.AdditionalTotal - serviceData.LineAmountVat).toFixed(2));\r\n this.AddDuration = Number((this.AddDuration - serviceData.duration).toFixed(2));\r\n } else {\r\n // tslint:disable-next-line:prefer-for-of\r\n const index = this.SelectedService.findIndex((x) => x.ServiceId === serviceData.ServiceId);\r\n if (index > -1) {\r\n this.SelectedService.splice(index, 1);\r\n // this.AdditionalTotal = this.AdditionalTotal - serviceData.LineAmountVat;\r\n // this.AddDuration = this.AddDuration - serviceData.duration;\r\n } else {\r\n this.SelectedService.push(serviceData);\r\n this.AdditionalTotal = Number((this.AdditionalTotal + serviceData.LineAmountVat).toFixed(2));\r\n this.AddDuration = Number((this.AddDuration + serviceData.duration).toFixed(2));\r\n }\r\n }\r\n this.AdditionalServiceCount = this.SelectedService.length;\r\n\r\n this.AdditionalTotalPrice = this.AdditionalTotal;\r\n this.PriceTotal = this.AdditionalTotalPrice + this.PackagePrice + this.accessoryTotalPrice + this.EUControlprice;\r\n\r\n this.AdditionalTotalDuration = this.AddDuration;\r\n this.DurationTotal = this.AdditionalTotalDuration + this.PackageDuration + this.EUControlduration;\r\n\r\n if (this.SelectedService.length > 0 || this.FinalPackageServiceData.SelectedPackage[0].SelectedPackageServices.length > 0) {\r\n this.IsSubmitted = false;\r\n } else {\r\n this.IsSubmitted = true;\r\n }\r\n this.commonService.setLocalStorage(\"SelectedService\", this.SelectedService);\r\n }\r\n\r\n public getEUCheckboxselected(euData) {\r\n if (this.SelectedEUService.some((x) => x.ServiceId === euData.ServiceId)) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n public getCheckboxselected(serviceData) {\r\n // this.getServiceChecked();\r\n //to remove below comment in main application\r\n // if (this.SelectedService.some(x => x.service === serviceData.ServiceId)) {\r\n if (this.SelectedService.some((x) => x.ServiceId === serviceData.ServiceId)) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n showPDFData(pack) {\r\n if (this.BrandCode.toLocaleLowerCase() == \"mitsubishi\") {\r\n if (pack.PackageName.toLocaleLowerCase().includes(\"5+\"))\r\n this.pdfPath = \"../../../assets/ServiceCheckList/Mitsubishi5PlusService.pdf\";\r\n else\r\n this.pdfPath = \"../../../assets/ServiceCheckList/Mitsubishi Example serivce checklist.pdf\";\r\n this.ShowPopup(\"servicemodal\");\r\n }\r\n else if (this.BrandCode.toLocaleLowerCase() == \"renault\") {\r\n if (pack.PackageName.toLocaleLowerCase().includes(\"service\")) {\r\n if (this.FuelType != null && this.FuelType != undefined && this.FuelType.toLocaleLowerCase() == \"electric\")\r\n this.pdfPath = \"../../../assets/ServiceCheckList/Serviceskjema_04 Renault EL.pdf\";\r\n else\r\n this.pdfPath = \"../../../assets/ServiceCheckList/Serviceskjema_03 Renault ICE.pdf\";\r\n }\r\n else\r\n this.pdfPath = \"../../../assets/ServiceCheckList/OLB mersalgsprodukter.pdf\";\r\n this.ShowPopup(\"servicemodal\");\r\n }\r\n\r\n }\r\n\r\n public ShowPopup(id) {\r\n if (id == \"openModelPDF\") {\r\n if (this.BrandCode == \"Renault\" && this.modelPDF != undefined && this.modelPDF != null && this.modelPDF != '')\r\n this.modalService.open(id);\r\n }\r\n else\r\n this.modalService.open(id);\r\n }\r\n\r\n\r\n public computeDate(date) {\r\n date.setDate(date.getDate() + Number(this.commonService.getLocalStorageByKey(\"dealerConfig\", \"LeadTime\")));\r\n if (date.getDay() == 5) {\r\n date.setDate(date.getDate() + 3);\r\n } else if (date.getDay() == 6) {\r\n date.setDate(date.getDate() + 2);\r\n } else {\r\n date.setDate(date.getDate() + 1);\r\n }\r\n return date;\r\n }\r\n\r\n public timeConvert(n) {\r\n const num = Number(n);\r\n const hours = num / 60;\r\n const rhours = Math.floor(hours);\r\n const minutes = (hours - rhours) * 60;\r\n const rminutes = Math.round(minutes);\r\n if (rhours < 0) {\r\n return \"0.0\";\r\n } else if (rhours == 0) {\r\n return hours;\r\n }\r\n return rhours + \".\" + rminutes;\r\n }\r\n\r\n public numberOnly(event): boolean {\r\n const charCode = event.which ? event.which : event.keyCode;\r\n if (charCode > 31 && (charCode < 48 || charCode > 57)) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n}\r\n","module.exports = \".scroll {\\r\\n overflow: auto;\\r\\n }\\r\\n .scroll::-webkit-scrollbar {\\r\\n width: 12px;\\r\\n }\\r\\n .scroll::-webkit-scrollbar-track {\\r\\n -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);\\r\\n border-radius: 10px;\\r\\n }\\r\\n .scroll::-webkit-scrollbar-thumb {\\r\\n border-radius: 10px;\\r\\n -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.5);\\r\\n }\\r\\n .accordion > .card{\\r\\n border: 1px solid rgba(0, 0, 0, 0.125)!important;\\r\\n border-radius: 0.25rem!important;\\r\\n }\\r\\n .accordion{\\r\\n position: relative;\\r\\n }\\r\\n .card > .no{\\r\\n position: absolute; bottom: 3px; right: 10px; font-weight: bold;\\r\\n }\\r\\n .custCheckbox{\\r\\n height: 20px; width: 20px; position: absolute; right: 10px; top: -7px;box-shadow: 2px 2px 5px 0px gray;\\r\\n }\\r\\n #aletImage{\\r\\n position: absolute;\\r\\n margin-top: -15px;\\r\\n right: 100px;\\r\\n z-index: 1;\\r\\n\\r\\n}\\r\\n .arrowMitsubishi{\\r\\n font-size: 30px;\\r\\n color: #ed1c24;\\r\\n}\\r\\n .arrowRenault{\\r\\n font-size: 30px;\\r\\n color: #fc3;\\r\\n}\\r\\n .arrowDacia{\\r\\n font-size: 30px;\\r\\n color: #0089cd;\\r\\n}\\r\\n .arrowHongqi{\\r\\n font-size: 30px;\\r\\n color: #000;\\r\\n}\\r\\n .accessoryCheckBox{\\r\\n position: absolute;\\r\\n margin: 5px 0px 0px 5px;\\r\\n height: 20px;\\r\\n width: 20px;\\r\\n}\\r\\n .renault .accessoryCheckBox:checked + .accessoryLable {\\r\\n\\tborder: 1px solid #efdf00;\\r\\n}\\r\\n .recallfactory textarea {\\r\\n\\twidth: 100%;\\r\\n\\theight: 60px;\\r\\n\\tbackground: transparent;\\r\\n\\tborder: 1px solid black;\\r\\n\\tresize: none;\\r\\n\\tpadding-bottom: 0;\\r\\n\\tmargin-bottom: 0;\\r\\n\\tcolor: black;\\r\\n\\tpadding: 5px;\\t\\r\\n}\\r\\n .textAreaDisable{\\r\\n background-color: rgba(168, 164, 164, 0.171) !important;\\r\\n cursor: not-allowed;\\r\\n}\\r\\n .border-none{\\r\\n border: none !important;\\r\\n}\\r\\n .recall-css{\\r\\n -webkit-box-pack: justify;\\r\\n justify-content: space-between;\\r\\n display: -webkit-box;\\r\\n display: flex;\\r\\n width: calc(100% - 30px);\\r\\n}\\r\\n ul.detail_price li {\\r\\n margin-bottom: 9px;\\r\\n}\\r\\n .box-data{\\r\\n background-color: rgb(87, 87, 87);\\r\\n width: 100%;\\r\\n height: auto;\\r\\n border: 1px solid rgb(0, 0, 2);\\r\\n box-sizing: border-box;\\r\\n}\\r\\n .error-container {\\r\\n color: red; \\r\\n }\\r\\n .error-message {\\r\\n color: red; \\r\\n }\\r\\n .modal-body {\\r\\n max-height: calc(100vh - 200px); \\r\\n overflow-y: auto;\\r\\n}\\r\\n .modal-dialog {\\r\\n width: auto;\\r\\n}\\r\\n @media (max-width: 768px) {\\r\\n .movenext.mnextweb.d-none {\\r\\n display: block !important;\\r\\n }\\r\\n\\r\\n .movenext.mnextweb.d-lg-block {\\r\\n display: none !important;\\r\\n }\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvTW9kdWxlcy9jYXItc2VydmljZS9jYXItc2VydmljZS5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksY0FBYztDQUNqQjtDQUNBO0tBQ0ksV0FBVztDQUNmO0NBRUE7S0FDSSxpREFBaUQ7S0FDakQsbUJBQW1CO0NBQ3ZCO0NBRUE7S0FDSSxtQkFBbUI7S0FDbkIsaURBQWlEO0NBQ3JEO0NBR0E7SUFDRyxnREFBZ0Q7SUFDaEQsZ0NBQWdDO0NBQ25DO0NBQ0E7S0FDSSxrQkFBa0I7Q0FDdEI7Q0FDQTtJQUNHLGtCQUFrQixFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsaUJBQWlCO0NBQ2xFO0NBQ0E7SUFDRyxZQUFZLEVBQUUsV0FBVyxFQUFFLGtCQUFrQixFQUFFLFdBQVcsRUFBRSxTQUFTLENBQUMsZ0NBQWdDO0NBQ3pHO0NBQ0E7S0FDSSxrQkFBa0I7S0FDbEIsaUJBQWlCO0tBQ2pCLFlBQVk7S0FDWixVQUFVOztBQUVmO0NBQ0E7SUFDSSxlQUFlO0lBQ2YsY0FBYztBQUNsQjtDQUNBO0lBQ0ksZUFBZTtJQUNmLFdBQVc7QUFDZjtDQUNBO0lBQ0ksZUFBZTtJQUNmLGNBQWM7QUFDbEI7Q0FDQTtJQUNJLGVBQWU7SUFDZixXQUFXO0FBQ2Y7Q0FHQTtFQUNFLGtCQUFrQjtFQUNsQix1QkFBdUI7RUFDdkIsWUFBWTtFQUNaLFdBQVc7QUFDYjtDQUVBO0NBQ0MseUJBQXlCO0FBQzFCO0NBRUE7Q0FDQyxXQUFXO0NBQ1gsWUFBWTtDQUNaLHVCQUF1QjtDQUN2Qix1QkFBdUI7Q0FDdkIsWUFBWTtDQUNaLGlCQUFpQjtDQUNqQixnQkFBZ0I7Q0FDaEIsWUFBWTtDQUNaLFlBQVk7QUFDYjtDQUNBO0lBQ0ksdURBQXVEO0lBQ3ZELG1CQUFtQjtBQUN2QjtDQUVBO0lBQ0ksdUJBQXVCO0FBQzNCO0NBRUE7SUFDSSx5QkFBOEI7WUFBOUIsOEJBQThCO0lBQzlCLG9CQUFhO0lBQWIsYUFBYTtJQUNiLHdCQUF3QjtBQUM1QjtDQUVBO0lBQ0ksa0JBQWtCO0FBQ3RCO0NBRUE7SUFDSSxpQ0FBaUM7SUFDakMsV0FBVztJQUNYLFlBQVk7SUFDWiw4QkFBOEI7SUFDOUIsc0JBQXNCO0FBQzFCO0NBQ0E7SUFDSSxVQUFVO0VBQ1o7Q0FFQTtJQUNFLFVBQVU7RUFDWjtDQUNBO0lBQ0UsK0JBQStCO0lBQy9CLGdCQUFnQjtBQUNwQjtDQUVBO0lBQ0ksV0FBVztBQUNmO0NBRUE7SUFDSTtRQUNJLHlCQUF5QjtJQUM3Qjs7SUFFQTtRQUNJLHdCQUF3QjtJQUM1QjtBQUNKIiwiZmlsZSI6InNyYy9hcHAvTW9kdWxlcy9jYXItc2VydmljZS9jYXItc2VydmljZS5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLnNjcm9sbCB7XHJcbiAgICBvdmVyZmxvdzogYXV0bztcclxuIH1cclxuIC5zY3JvbGw6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcclxuICAgICB3aWR0aDogMTJweDtcclxuIH1cclxuXHJcbiAuc2Nyb2xsOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XHJcbiAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDAgNnB4IHJnYmEoMCwwLDAsMC4zKTtcclxuICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gfVxyXG5cclxuIC5zY3JvbGw6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcclxuICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAwIDZweCByZ2JhKDAsMCwwLDAuNSk7XHJcbiB9XHJcblxyXG5cclxuIC5hY2NvcmRpb24gPiAuY2FyZHtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xMjUpIWltcG9ydGFudDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDAuMjVyZW0haW1wb3J0YW50O1xyXG4gfVxyXG4gLmFjY29yZGlvbntcclxuICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiB9XHJcbiAuY2FyZCA+IC5ub3tcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgYm90dG9tOiAzcHg7IHJpZ2h0OiAxMHB4OyBmb250LXdlaWdodDogYm9sZDtcclxuIH1cclxuIC5jdXN0Q2hlY2tib3h7XHJcbiAgICBoZWlnaHQ6IDIwcHg7IHdpZHRoOiAyMHB4OyBwb3NpdGlvbjogYWJzb2x1dGU7IHJpZ2h0OiAxMHB4OyB0b3A6IC03cHg7Ym94LXNoYWRvdzogMnB4IDJweCA1cHggMHB4IGdyYXk7XHJcbiB9XHJcbiAjYWxldEltYWdle1xyXG4gICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICBtYXJnaW4tdG9wOiAtMTVweDtcclxuICAgICByaWdodDogMTAwcHg7XHJcbiAgICAgei1pbmRleDogMTtcclxuXHJcbn1cclxuLmFycm93TWl0c3ViaXNoaXtcclxuICAgIGZvbnQtc2l6ZTogMzBweDtcclxuICAgIGNvbG9yOiAjZWQxYzI0O1xyXG59XHJcbi5hcnJvd1JlbmF1bHR7XHJcbiAgICBmb250LXNpemU6IDMwcHg7XHJcbiAgICBjb2xvcjogI2ZjMztcclxufVxyXG4uYXJyb3dEYWNpYXtcclxuICAgIGZvbnQtc2l6ZTogMzBweDtcclxuICAgIGNvbG9yOiAjMDA4OWNkO1xyXG59XHJcbi5hcnJvd0hvbmdxaXtcclxuICAgIGZvbnQtc2l6ZTogMzBweDtcclxuICAgIGNvbG9yOiAjMDAwO1xyXG59XHJcblxyXG5cclxuLmFjY2Vzc29yeUNoZWNrQm94e1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBtYXJnaW46IDVweCAwcHggMHB4IDVweDtcclxuICBoZWlnaHQ6IDIwcHg7XHJcbiAgd2lkdGg6IDIwcHg7XHJcbn1cclxuXHJcbi5yZW5hdWx0IC5hY2Nlc3NvcnlDaGVja0JveDpjaGVja2VkICsgLmFjY2Vzc29yeUxhYmxlIHtcclxuXHRib3JkZXI6IDFweCBzb2xpZCAjZWZkZjAwO1xyXG59XHJcblxyXG4ucmVjYWxsZmFjdG9yeSB0ZXh0YXJlYSB7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0aGVpZ2h0OiA2MHB4O1xyXG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrO1xyXG5cdHJlc2l6ZTogbm9uZTtcclxuXHRwYWRkaW5nLWJvdHRvbTogMDtcclxuXHRtYXJnaW4tYm90dG9tOiAwO1xyXG5cdGNvbG9yOiBibGFjaztcclxuXHRwYWRkaW5nOiA1cHg7XHRcclxufVxyXG4udGV4dEFyZWFEaXNhYmxle1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNjgsIDE2NCwgMTY0LCAwLjE3MSkgIWltcG9ydGFudDtcclxuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbn1cclxuXHJcbi5ib3JkZXItbm9uZXtcclxuICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ucmVjYWxsLWNzc3tcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMzBweCk7XHJcbn1cclxuXHJcbnVsLmRldGFpbF9wcmljZSBsaSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA5cHg7XHJcbn1cclxuXHJcbi5ib3gtZGF0YXtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYig4NywgODcsIDg3KTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiKDAsIDAsIDIpO1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxufVxyXG4uZXJyb3ItY29udGFpbmVyIHtcclxuICAgIGNvbG9yOiByZWQ7IFxyXG4gIH1cclxuICBcclxuICAuZXJyb3ItbWVzc2FnZSB7XHJcbiAgICBjb2xvcjogcmVkOyBcclxuICB9XHJcbiAgLm1vZGFsLWJvZHkge1xyXG4gICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDIwMHB4KTsgIFxyXG4gICAgb3ZlcmZsb3cteTogYXV0bztcclxufVxyXG5cclxuLm1vZGFsLWRpYWxvZyB7XHJcbiAgICB3aWR0aDogYXV0bztcclxufVxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XHJcbiAgICAubW92ZW5leHQubW5leHR3ZWIuZC1ub25lIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIC5tb3ZlbmV4dC5tbmV4dHdlYi5kLWxnLWJsb2NrIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn0iXX0= */\"","module.exports = \"
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n {{ brandName }}, {{ licensePlate }}\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{ \\\"Common.CommonText.label.yourOrder\\\" | translate }}\\r\\n
\\r\\n\\r\\n
Hos {{SelectedDealerName}}
\\r\\n \\r\\n \\r\\n
\\r\\n
    \\r\\n
  • \\r\\n \\r\\n \\r\\n
  • \\r\\n
    \\r\\n \\r\\n
  • \\r\\n {{ package.PackageName }}\\r\\n {{\\r\\n package.serviceTotal | decimalValue\\r\\n }}\\r\\n
  • \\r\\n
    \\r\\n
  • \\r\\n {{ euServices.ServiceName }}\\r\\n {{\\r\\n euServices.LineAmountVat | decimalValue\\r\\n }}\\r\\n
  • \\r\\n
  • \\r\\n {{ additional.ServiceName }}\\r\\n {{ additional.CustomerInformation }}\\r\\n egenandel\\r\\n {{ additional.LineAmountVat | decimalValue }}\\r\\n
  • \\r\\n \\r\\n
    Totalt\\r\\n Kr. {{ PriceTotal | priceFormat }}\\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n {{ CustomerNotes.length }}/{{ maxNotesLength }}\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
{{ brandName }}
\\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
  • \\r\\n {{\\r\\n \\\"Common.CommonText.label.KilometerKM\\\" | translate\\r\\n }}\\r\\n {{ showKilometer }}\\r\\n
  • \\r\\n
  • \\r\\n {{\\r\\n \\\"Common.CommonText.label.regNO\\\" | translate\\r\\n }}\\r\\n {{ licensePlate }}\\r\\n
  • \\r\\n
  • \\r\\n {{\\r\\n \\\"Common.CommonText.label.PKKDate\\\" | translate\\r\\n }}\\r\\n {{ pkkDate }}\\r\\n
  • \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n

{{selectedGiftCards.Description}}

\\r\\n
\\r\\n \\\"image\\\"\\r\\n\\r\\n \\\"image\\\"\\r\\n \\\"image\\\"\\r\\n \\\"image\\\"\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n {{ \\\"Common.CommonText.label.km\\\" | translate }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n KM\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n {{ \\\"Common.CommonText.label.Kilometer\\\" | translate }}\\r\\n {{ \\\"FormValidation.isRequired\\\" | translate }}.\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n

\\r\\n \\r\\n \\\"image\\\"\\r\\n \\r\\n {{ \\\"Common.CommonText.label.RecallDetails\\\" | translate }}\\r\\n \\r\\n

\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n
{{ \\\"Common.CommonText.label.ServiceUpgrade\\\" | translate}}
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
0\\\">{{ \\\"Common.CommonText.label.OptionalUpgrade\\\" | translate}}
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n

\\r\\n \\r\\n \\\"image\\\"\\r\\n \\r\\n {{ \\\"Common.CommonText.label.Service\\\" | translate }} \\r\\n

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

\\r\\n {{\\r\\n \\\"Common.CommonText.Details.Page4Description1\\\" | translate\\r\\n }}\\r\\n

\\r\\n {{\\r\\n \\\"Common.CommonText.Details.Page4Description2\\\" | translate\\r\\n }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
0\\\">\\r\\n
\\r\\n \\r\\n {{ \\\"Common.CommonText.Details.Page4Description4\\\" | translate\\r\\n }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{ \\\"Common.CommonText.label.otherservice\\\" | translate }}\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n 0\\\">\\r\\n {{ \\\"Common.CommonText.Details.Page4Description3\\\" | translate }}\\r\\n \\r\\n \\r\\n {{ \\\"Common.CommonText.Details.NoServiceDue\\\" | translate }}\\r\\n \\r\\n
0\\\">\\r\\n
\\r\\n \\r\\n \\r\\n Hvordan velge rett service til min\\r\\n Renault\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n

\\r\\n \\r\\n \\\"image\\\"\\r\\n \\r\\n {{ \\\"Common.CommonText.label.EuControlhead\\\" | translate }}\\r\\n

\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Frist for din bil er {{ pkkDate }}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n

\\r\\n \\r\\n \\\"image\\\"\\r\\n \\r\\n {{ \\\"Common.CommonText.label.Repair\\\" | translate }}\\r\\n

\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Kommentar er påkrevd.
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
0\\\">\\r\\n
\\r\\n \\r\\n {{\\r\\n \\\"Common.CommonText.Details.Page4Description6\\\" | translate\\r\\n }}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
0\\\">\\r\\n
\\r\\n \\r\\n {{ \\\"Common.CommonText.Details.Page4Description5\\\" | translate }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n

{{ \\\"Common.CommonText.campaign.heading\\\" | translate }}

\\r\\n

\\r\\n \\r\\n {{ \\\"Common.CommonText.campaign.discription2\\\" | translate }}\\r\\n {{ \\\"Common.CommonText.campaign.discription3\\\" | translate }}\\r\\n

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

{{ \\\"Common.CommonText.campaign.discription4\\\" | translate }}

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

{{ \\\"Common.CommonText.campaign.discription5\\\" | translate }}

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

{{ \\\"Common.CommonText.LongService.Title\\\" | translate }}

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

{{ \\\"Common.CommonText.LongService.Line1\\\" | translate }}

\\r\\n

{{ \\\"Common.CommonText.LongService.Line2\\\" | translate }}

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

{{ \\\"Common.CommonText.label.phone\\\" | translate }} {{dealerDetails.Phone}}

\\r\\n

{{ \\\"Common.CommonText.label.email\\\" | translate }} {{dealerDetails.Email}}

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

Call me

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

\\r\\n Unsure of order? Ask us to call you and we will contact you as soon\\r\\n as possible. The information about your car and the choices you have\\r\\n made are submitted so that we can help you as efficiently as\\r\\n possible.\\r\\n

\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n We will contact you at this telephone number\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{ \\\"Common.CommonText.Details.Page4Description2\\\" | translate }}\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n

\\r\\n {{ \\\"Common.CommonText.campaign.discription6\\\" | translate }}
\\r\\n {{ \\\"Common.CommonText.campaign.discription7\\\" | translate }}\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{ \\\"GiftCard.yourGiftCard\\\" | translate }}\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
0;else noGiftCard\\\" >\\r\\n
\\r\\n {{item.UniqueCode}} \\r\\n
\\r\\n
\\r\\n
{{item.Code}}
\\r\\n

{{item.Name}},

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n ................................................................................................\\r\\n
\\r\\n
\\r\\n

{{item.Description}}

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

{{\\\"GiftCard.ValidTill\\\" | translate }} {{item.ExpiredOn |\\r\\n date:'d MMM, y'}}

\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n {{\\\"GiftCard.NoGiftCard\\\" | translate }}\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{\\\"UpSellText.Upselloptions\\\" | translate }}
\\r\\n \\r\\n
\\r\\n
\\r\\n {{\\\"UpSellText.recommendtionLine\\\" | translate }}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","import { Component, EventEmitter, HostListener, OnInit, Output, ViewChild } from \"@angular/core\";\r\nimport { paths } from \"src/app/Shared/enums/paths.enum\";\r\nimport { CommonService } from \"src/app/Shared/services/common_services/common.service\";\r\nimport { NgbAccordion, NgbAccordionConfig } from \"@ng-bootstrap/ng-bootstrap\";\r\nimport { DataCommunicationService } from \"src/app/Shared/services/data_service/data-communication.service\";\r\nimport { LoaderindicatorService } from \"src/app/Shared/services/loaderindicator/loaderindicator.service\";\r\nimport { FormBuilder } from \"@angular/forms\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { ReadingJsonService } from \"src/app/Shared/services/configuration_service/reading-json.service\";\r\nimport { OwlOptions } from \"ngx-owl-carousel-o\";\r\nimport { ModalService } from \"src/app/Shared/services\";\r\nimport { async } from \"@angular/core/testing\";\r\nimport { DomSanitizer } from \"@angular/platform-browser\";\r\nimport { environment } from \"src/environments/environment\";\r\n\r\ndeclare var gtag;\r\n@Component({\r\n selector: \"app-car-service\",\r\n templateUrl: \"./car-service.component.html\",\r\n styleUrls: [\"./car-service.component.css\"],\r\n})\r\nexport class CarServiceComponent implements OnInit {\r\n // @ViewChild('acc', { static: false }) acc: NgbAccordion;\r\n @Output() recallComment = new EventEmitter();\r\n maxNotesLength: number = environment.commentLength;\r\n selectgift:[];\r\n RadioSelection:boolean=false;\r\n RepairComment:string='';\r\n searchParams: any;\r\n completeserviceList = [];\r\n ServiceList = [];\r\n CategorywiseserviceList = [];\r\n activeIds: string[] = [];\r\n SelectedAdditionalService = [];\r\n SelectedRecallData =[];\r\n SelectedEUService = [];\r\n serviceCount = 0;\r\n selectedPackageName: any;\r\n selectedPackage: any;\r\n selectedPackageId: any;\r\n currentDate = new Date();\r\n CustomerNotes: string = '';\r\n brandName: string;\r\n year: any;\r\n licensePlate: any;\r\n Kelometer: any;\r\n IsSubmitted = true;\r\n panels = [];\r\n showServices = false;\r\n showScroll: boolean;\r\n visible: any;\r\n CompletePackageData = [];\r\n SelectedPackageData = [];\r\n PackagesServices = [];\r\n selected: any;\r\n packages = [];\r\n PackageDetail: any;\r\n FinalPackageServiceData: any;\r\n requiredservice = [];\r\n FinalPackageSelected = [];\r\n FinalServiceSelected = [];\r\n TotalPrice = 0;\r\n TotalDuration = 0;\r\n Duration = 0;\r\n InitialPackAgeData: any;\r\n showOLBService: Boolean = false;\r\n AdditionalServiceCount = 0;\r\n EUControlCount = 0;\r\n PackagesDetailed: any;\r\n packageListData: Array = [];\r\n EUControlData: any;\r\n PackagesDetails: Array = [];\r\n FinalAdditionalService = [];\r\n ServiceListData: Array = [];\r\n FinalService: any;\r\n status: boolean;\r\n packagedetail = [];\r\n changedprice: any;\r\n selectindex: any;\r\n changedduration: any;\r\n MandatoryTotal = 0;\r\n AdditionalTotal = 0;\r\n AddDuration = 0;\r\n EUTotal = 0;\r\n EUDuration = 0;\r\n AdditionalTotalPrice = 0;\r\n PackagePrice = 0;\r\n PackageDuration = 0;\r\n PriceTotal = 0;\r\n DurationTotal = 0;\r\n AdditionalTotalDuration = 0;\r\n OLBServicePrice = 0;\r\n OLBServiceDuration = 0;\r\n OLBPrice = 0;\r\n OLBDuration = 0;\r\n BrandCode: any;\r\n BrandList: any;\r\n showPrice: boolean;\r\n PDetail;\r\n pkkDate: any;\r\n vinNo: any;\r\n VehilceKilometer;\r\n RequiredKM = false;\r\n showKilometer = 0;\r\n EUControlprice = 0; //1250;\r\n EUControlduration = 0;\r\n showEUControl = false;\r\n ModelImage: any;\r\n MthsFromRegistration: any;\r\n DateLastService: any;\r\n isShown: boolean = true;\r\n renaultFilePath = \"../\";\r\n subpackageList = [];\r\n FuelType: string;\r\n isDeadlineForPKK = false;\r\n customOptions: OwlOptions = {\r\n loop: false,\r\n mouseDrag: true,\r\n touchDrag: true,\r\n pullDrag: true,\r\n dots: false,\r\n navSpeed: 700,\r\n navText: [\"\", \"\"],\r\n responsive: {\r\n 0: {\r\n items: 1,\r\n },\r\n 400: {\r\n items: 2,\r\n },\r\n 740: {\r\n items: 2,\r\n },\r\n 940: {\r\n items: 2,\r\n },\r\n },\r\n nav: true,\r\n };\r\n public scrollbarOptionss = { axis: \"yx\", theme: \"minimal-dark\" };\r\n modelPDF: any;\r\n pdfPath = \"\";\r\n SelectedDealerName: string='';\r\n AccessoriesList = [];\r\n accessoryTotalPrice: number = 0;\r\n giftCards = [];\r\n selectedGiftCards=[];\r\n showRecallDetails:boolean=false;\r\n recallDetail:any;\r\n urgent=[];\r\n service =[];\r\n optional=[];\r\n upSellData = [];\r\n mergedUpSellData: any[] = [];\r\n\r\n giftradio = [];\r\n dealerDetails: any;\r\n workingCapacity: number = 0;\r\n @ViewChild('upsellModal') upsellModal: any;\r\n constructor(\r\n public commonService: CommonService,\r\n private dataCommunicationService: DataCommunicationService,\r\n private loaderservice: LoaderindicatorService,\r\n protected readonly fb: FormBuilder,\r\n private translate: TranslateService,\r\n private readJsonFile: ReadingJsonService,\r\n private modalService: ModalService,\r\n config: NgbAccordionConfig,\r\n private sanitizer: DomSanitizer,\r\n ) {\r\n this.ModelImage =\r\n \"data:image/jpeg;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==\";\r\n // config.closeOthers = false;\r\n if (this.commonService.getLocalStorageitem(\"notes\") != null) {\r\n this.CustomerNotes = this.commonService.getLocalStorageitem(\"notes\");\r\n }\r\n this.commonService.removeLocalStorage(['SelectedService']);\r\n }\r\n @HostListener('window:popstate', ['$event'])\r\n dismissModal() {\r\n this.HideAllPopup();\r\n }\r\n \r\n toggleShow() {\r\n // this.isShown = ! this.isShown;\r\n const MitsubishiParentClass = document.querySelector(\"#carService\");\r\n if (MitsubishiParentClass.classList.contains(\"os-open\")) {\r\n MitsubishiParentClass.classList.remove(\"os-open\");\r\n } else {\r\n MitsubishiParentClass.classList.add(\"os-open\");\r\n }\r\n }\r\n getGiftCardByPhone(){\r\n let phone = this.commonService.getLocalStorage('customerData').MobileNo;\r\n this.dataCommunicationService.GetGiftCardByPhone(phone).subscribe(resp =>{\r\n if(resp.StatusCode == 1 && resp.Data != null){\r\n let id = this.commonService.getLocalStorage('SelectedGiftCardId');\r\n this.giftCards = resp.Data.filter(x => x.LicensePlate === this.licensePlate);\r\n this.giftCards.forEach(x=>{\r\n x.isSelected = false;\r\n })\r\n if(id != null && id != 0){\r\n this.giftCards.find(x=>x.Id == id).isSelected=true;\r\n this.selectedGiftCards= this.giftCards.filter(x=>x.isSelected)\r\n }\r\n \r\n }\r\n })\r\n }\r\n\r\n selectGiftcard(item: any, event: any ){\r\n this.giftCards.find(x=>x.Id == item.Id).isSelected= event.target.checked;\r\n this.selectedGiftCards= this.giftCards.filter(x=>x.isSelected)\r\n }\r\n\r\n getAccessories(){\r\n this.AccessoriesList = [];\r\n let dealerId = this.commonService.getLocalStorage(\"dealername\");\r\n dealerId = 5;\r\n this.dataCommunicationService.getAccessories(dealerId)\r\n .subscribe(response=>{\r\n if(response.StatusCode == 1){\r\n response.Data.forEach(element => {\r\n element.isSelected = false;\r\n element.ImagePath = this.sanitizer.bypassSecurityTrustResourceUrl('data:image/jpeg;base64,' + element.ImagePath);\r\n });\r\n this.AccessoriesList = response.Data;\r\n }\r\n });\r\n }\r\n GetUpSellData(){\r\n let brandCode = this.commonService.getLocalStorageByKey(\"vehicleData\", \"BrandCode\");\r\n this.dataCommunicationService.GetUpSellData(brandCode).subscribe((result) => {\r\n if(result){\r\n this.upSellData = result;\r\n }\r\n });\r\n }\r\n\r\n // public getServiceList() {\r\n // this.translate.get(\"LoaderText.services\").subscribe((message) => {\r\n // this.loaderservice.show(message);\r\n // });\r\n // this.searchParams = {\r\n // BrandName: this.commonService.getLocalStorageByKey(\r\n // \"vehicleData\",\r\n // \"BrandName\"\r\n // ),\r\n // ModelName: this.commonService.getLocalStorageByKey(\r\n // \"vehicleData\",\r\n // \"ModelName\"\r\n // ),\r\n // Year: this.commonService.getLocalStorageByKey(\"vehicleData\", \"Year\"),\r\n // };\r\n // this.dataCommunicationService\r\n // .getVehicleServiceList(this.searchParams)\r\n // .subscribe(\r\n // (result) => {\r\n // if (result.StatusCode === 1) {\r\n // this.loaderservice.hide();\r\n // this.completeserviceList = result.Data;\r\n // this.completeserviceList.forEach(\r\n // (x) => (x.LineAmountVat = x.TotalPrice)\r\n // );\r\n // this.filterServiceData();\r\n // } else {\r\n // this.translate\r\n // .get(\"LoaderText.noServiceFound\")\r\n // .subscribe((message) => {\r\n // this.loaderservice.show(message);\r\n // this.loaderservice.hide();\r\n // });\r\n // }\r\n // },\r\n // (error) => {\r\n // this.commonService.getErrorMessage(\"LoaderText.AlertMsg\");\r\n // }\r\n // );\r\n // }\r\n\r\n public getPackageList() {\r\n this.translate.get(\"LoaderText.services\").subscribe((message) => {\r\n this.loaderservice.show(message);\r\n });\r\n this.searchParams = {\r\n licensePlate: this.licensePlate,\r\n VINNumber: this.vinNo,\r\n dealerId: this.commonService.getLocalStorage(\"dealername\"),\r\n Kilometer: this.VehilceKilometer,\r\n BrandName: this.commonService.getLocalStorageByKey(\r\n \"vehicleData\",\r\n \"BrandName\"\r\n ),\r\n ModelName: this.commonService.getLocalStorageByKey(\r\n \"vehicleData\",\r\n \"ModelName\"\r\n ),\r\n IsOtherBrand: this.BrandList.MenuPricing === \"WebCapri\" ? false : true,\r\n };\r\n //this.searchParams = {licensePlate : this.licensePlate , dealerId :\"031140\", Kilometer : this.VehilceKilometer };\r\n this.dataCommunicationService.getAllPackages(this.searchParams).subscribe(\r\n (result) => {\r\n if (result.StatusCode === 1) {\r\n this.showOLBService = true;\r\n if (this.BrandCode == \"Renault\") \r\n this.ShowPopup(\"openModelPDF\");\r\n this.loaderservice.hide();\r\n this.PackagesDetailed = result.Data;\r\n this.packageListData.push(this.PackagesDetailed);\r\n if (this.BrandList.MenuPricing === \"WebCapri\") {\r\n this.EUControlData = this.PackagesDetailed.EUControlaServices;\r\n this.FinalAdditionalService = this.PackagesDetailed.AdditionalServices;\r\n this.FinalAdditionalService.forEach(element => {\r\n element.LineAmountVat = Number(element.LineAmountVat.toFixed(0))\r\n });\r\n this.EUControlData.forEach(element => {\r\n element.LineAmountVat = Number(element.LineAmountVat.toFixed(0))\r\n });\r\n }\r\n else if (this.BrandList.MenuPricing === \"MPO\") {\r\n this.getMPOAdditionalService();\r\n }\r\n\r\n this.getServiceChecked();\r\n\r\n this.ServiceListData = [];\r\n this.FinalService = [];\r\n this.packageListData.forEach(p=> {\r\n p.PackageDetail.forEach(pd => {\r\n pd.ServiceListData.forEach(pds => {\r\n pds.serviceTotal = Number(pds.serviceTotal.toFixed(0))\r\n this.ServiceListData.push(pds)\r\n });\r\n });\r\n })\r\n this.FinalService = this.ServiceListData;\r\n //this.FinalService[0].serviceTotal = 369.953\r\n //this.FinalService[1].serviceTotal = 131.235\r\n this.getPackageChecked();\r\n // if (this.packageListData.length > 0) {\r\n // // tslint:disable-next-line: prefer-for-of\r\n // for (var PD = 0; PD < this.packageListData.length; PD++) {\r\n // if (this.packageListData[PD].PackageDetail.length > 0) {\r\n // // tslint:disable-next-line: prefer-for-of\r\n // for (var PDS = 0; PDS < this.packageListData[PD].PackageDetail.length; PDS++) {\r\n // if (this.packageListData[PD].PackageDetail[PDS].ServiceListData.length > 0) {\r\n // // tslint:disable-next-line: prefer-for-of\r\n // for (var PDSD = 0; PDSD < this.packageListData[PD].PackageDetail[PDS].ServiceListData.length; PDSD++) {\r\n // this.ServiceListData.push(\r\n // this.packageListData[PD].PackageDetail[PDS]\r\n // .ServiceListData[PDSD]\r\n // );\r\n // }\r\n // }\r\n // }\r\n // }\r\n // }\r\n // this.FinalService = this.ServiceListData;\r\n // console.log(this.ServiceListData)\r\n // this.getPackageChecked();\r\n // }\r\n } else {\r\n // this.translate.get('LoaderText.noServiceFound').subscribe(message => {\r\n // this.loaderservice.show(message);\r\n // this.loaderservice.hide();\r\n // });\r\n }\r\n },\r\n (error) => {\r\n this.commonService.getErrorMessage(\"LoaderText.AlertMsg\");\r\n }\r\n );\r\n }\r\n public computeDate(date) {\r\n date.setDate(\r\n date.getDate() +\r\n Number(\r\n this.commonService.getLocalStorageByKey(\"dealerConfig\", \"LeadTime\")\r\n )\r\n );\r\n if (date.getDay() == 5) {\r\n date.setDate(date.getDate() + 3);\r\n } else if (date.getDay() == 6) {\r\n date.setDate(date.getDate() + 2);\r\n } else {\r\n date.setDate(date.getDate() + 1);\r\n }\r\n\r\n return date;\r\n }\r\n public timeConvert(n) {\r\n const num = Number(n)\r\n if(num>0){\r\n return num/60;\r\n }\r\n return num;\r\n // const num = Number(n);\r\n // const hours = num / 60;\r\n // const rhours = Math.floor(hours);\r\n // const minutes = (hours - rhours) * 60;\r\n // const rminutes = Math.round(minutes);\r\n // if (rhours < 0) {\r\n // return \"0.0\";\r\n // } else if(rhours==0)\r\n // {\r\n // return hours;\r\n // }\r\n\r\n // return rhours + \".\" + rminutes;\r\n }\r\n public ConfirmService() {\r\n var pkkservice = false;\r\n this.commonService.removeLocalStorage([\r\n \"waitingTime\",\r\n \"dropTime\",\r\n \"RentalCar\",\r\n \"kiosk\",\r\n \"AppointDate\",\r\n \"AvailableDates\",\r\n ]);\r\n this.commonService.setLocalStorage(\"RepairComment\",this.RepairComment);\r\n this.currentDate = this.computeDate(new Date());\r\n if (this.TotalDuration != 0 || this.AdditionalTotalDuration != 0 || this.EUControlduration != 0) {\r\n const duration = Number(this.TotalDuration) + Number(this.AdditionalTotalDuration) + Number(this.EUControlduration);\r\n if(duration > this.workingCapacity){\r\n this.modalService.open(\"longDuration\");\r\n return 0;\r\n }\r\n this.commonService.setLocalStorage( \"totalTime\", this.timeConvert(duration));\r\n }\r\n else {\r\n this.commonService.setLocalStorage(\"totalTime\",this.timeConvert(this.OLBDuration));\r\n }\r\n\r\n if (this.FinalPackageServiceData != null && this.FinalPackageServiceData.SelectedPackage.length > 0) {\r\n this.commonService.setLocalStorage(\"PackageServiceListData\",this.FinalPackageServiceData);\r\n }\r\n if(this.SelectedAdditionalService != null && this.SelectedAdditionalService.length > 0){\r\n this.commonService.setLocalStorage(\"SelectedService\", this.SelectedAdditionalService);\r\n }\r\n if(this.AccessoriesList != null && this.AccessoriesList.length>0){\r\n this.commonService.setLocalStorage(\"SelectedAccessories\",this.AccessoriesList.filter(x => x['isSelected'] == true));\r\n }\r\n\r\n if (this.CustomerNotes !== undefined && this.CustomerNotes !== \"\" && this.CustomerNotes != null) {\r\n this.commonService.setLocalStorage(\"notes\", this.CustomerNotes);\r\n }\r\n\r\n if (this.SelectedEUService != null && this.SelectedEUService.length > 0) {\r\n this.commonService.setLocalStorage(\"SelectedEUService\",this.SelectedEUService);\r\n pkkservice = true;\r\n }\r\n // if (this.commonService.getLocalStorage(\"SelectedEUService\")) {\r\n // pkkservice = true;\r\n // }\r\n\r\n this.translate.get(\"LoaderText.loading\").subscribe((message) => {\r\n this.loaderservice.show(message);\r\n });\r\n\r\n const appointmentCheckAvailabilityRequest: any = [];\r\n appointmentCheckAvailabilityRequest.TotalDuration = this.commonService.getLocalStorageitem(\"totalTime\");\r\n appointmentCheckAvailabilityRequest.LicensePlate = this.commonService.getLocalStorageByKey(\"vehicleData\",\"LicensePlateNo\");\r\n appointmentCheckAvailabilityRequest.Make = this.commonService.getLocalStorageByKey(\"vehicleData\",\"BrandName\"),\r\n appointmentCheckAvailabilityRequest.PkkService = pkkservice;\r\n appointmentCheckAvailabilityRequest.DealerId = this.commonService.getLocalStorage(\"dealername\");\r\n appointmentCheckAvailabilityRequest.StartDate = this.currentDate.getFullYear() + \"-\" +Number(this.currentDate.getMonth() + 1) + \"-\" + this.currentDate.getDate();\r\n\r\n if (\r\n this.commonService.getLocalStorageitem(\"waitingTime\") != undefined &&\r\n this.commonService.getLocalStorageitem(\"waitingTime\") != null &&\r\n this.commonService.getLocalStorageitem(\"waitingTime\") != \"\"\r\n ) {\r\n appointmentCheckAvailabilityRequest[\"WaitTimeDropTime\"] = this.commonService.getLocalStorageitem(\"waitingTime\");\r\n }\r\n else if (\r\n this.commonService.getLocalStorageitem(\"dropTime\") != undefined &&\r\n this.commonService.getLocalStorageitem(\"dropTime\") != null &&\r\n this.commonService.getLocalStorageitem(\"dropTime\") != \"\"\r\n ) {\r\n appointmentCheckAvailabilityRequest[\"WaitTimeDropTime\"] = this.commonService.getLocalStorageitem(\"dropTime\");\r\n }\r\n\r\n this.dataCommunicationService\r\n .checkAppointmentAvability(appointmentCheckAvailabilityRequest)\r\n .subscribe((result) => {\r\n // if (result.StatusCode === 1) {\r\n // console.log(result.Data);\r\n // }\r\n //console.log('result', result)\r\n // this.commonService.setLocalStorage('unAvailableDates', result.Data.UnAvailableDates);\r\n // this.commonService.setLocalStorage('UnAvailableDatesForOccupied', result.Data.UnAvailableDatesForOccupied);\r\n // this.commonService.setLocalStorage('WeekDayList', result.Data.WeekDayList);\r\n this.commonService.setLocalStorage(\"AvailableDates\",result.AvailableDates);\r\n if(this.selectedGiftCards != undefined)\r\n {\r\n this.commonService.setLocalStorage(\"selectedGiftCards\",JSON.stringify(this.selectedGiftCards));\r\n }\r\n // if (this.SelectedEUService != null && this.SelectedEUService.length > 0) {\r\n // this.commonService.setLocalStorage(\"SelectedEUService\",this.SelectedEUService);\r\n // }\r\n this.PushDataToAnalytics(appointmentCheckAvailabilityRequest)\r\n this.commonService.NavigatePage(paths.CONFIRMBOOKING);\r\n },\r\n (error) => {\r\n this.loaderservice.hide(); \r\n this.commonService.getErrorMessage(\"LoaderText.DMSDown\"); \r\n \r\n });\r\n \r\n }\r\n\r\n public PushDataToAnalytics(appointmentData) {\r\n let currentData = {\r\n \"so-totalDuration\": appointmentData.TotalDuration+\" hr\",\r\n \"so-isPkkService\": appointmentData.PkkService,\r\n \"so-mileage\": this.VehilceKilometer,\r\n \"so-isPromoCode\": this.selectedGiftCards != undefined && this.selectedGiftCards.length > 0 ? true : false,\r\n };\r\n gtag('event', 'ServiceSelected', currentData);\r\n }\r\n // public filterServiceData() {\r\n // this.panels = [];\r\n // // tslint:disable-next-line:prefer-for-of\r\n // for (let i = 0; i < this.completeserviceList.length; i++) {\r\n // if (\r\n // !this.panels.some((x) => x === this.completeserviceList[i].CategoryName)\r\n // ) {\r\n // this.panels.push(this.completeserviceList[i].CategoryName);\r\n // // add for active id and collapse\r\n // this.activeIds = this.panels;\r\n // }\r\n // }\r\n // // tslint:disable-next-line:prefer-for-of\r\n // for (let j = 0; j < this.panels.length; j++) {\r\n // this.ServiceList = [];\r\n // // tslint:disable-next-line:prefer-for-of\r\n // for (let i = 0; i < this.completeserviceList.length; i++) {\r\n // if (this.panels[j] === this.completeserviceList[i].CategoryName) {\r\n // this.ServiceList.push(this.completeserviceList[i]);\r\n // }\r\n // }\r\n // const finaldata = { data: this.ServiceList, panel: this.panels[j] };\r\n // this.CategorywiseserviceList.push(finaldata);\r\n // this.getServiceChecked();\r\n // }\r\n // }\r\n\r\n public getCheckboxselected(serviceData) {\r\n // this.getServiceChecked();\r\n //to remove below comment in main application\r\n // if (this.SelectedAdditionalService.some(x => x.service === serviceData.ServiceId)) {\r\n if (\r\n this.SelectedAdditionalService.some((x) => x.ServiceId === serviceData.ServiceId)\r\n ) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n public getCheckboxselectedUpSell(serviceData) {\r\n return this.SelectedAdditionalService.some((x) => x.ServiceId === serviceData.ServiceId);\r\n }\r\n \r\n public getAdditionalServiceCheckedupSellData(con, event) {\r\n if (event.target.checked) {\r\n this.SelectedAdditionalService.push(con);\r\n } else {\r\n this.SelectedAdditionalService = this.SelectedAdditionalService.filter(\r\n (x) => x.ServiceId !== con.ServiceId\r\n );\r\n }\r\n }\r\n\r\n public getCheckboxselectedForRecall(serviceData) {\r\n // this.getServiceChecked();\r\n //to remove below comment in main application\r\n // if (this.SelectedAdditionalService.some(x => x.service === serviceData.ServiceId)) {\r\n if (\r\n this.SelectedRecallData.some((x) => x.ServiceId === serviceData.ServiceId)\r\n ) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n openModal() {\r\n this.modalService.open(\"upsellModal\");\r\n }\r\n\r\n public getEUCheckboxselected(euData) {\r\n if (this.SelectedEUService.some((x) => x.ServiceId === euData.ServiceId)) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n public getolbCheckboxselected(serviceData) {\r\n // this.getServiceChecked();\r\n //to remove below comment in main application\r\n // if (this.SelectedAdditionalService.some(x => x.service === serviceData.ServiceId)) {\r\n if (\r\n this.SelectedAdditionalService.some((x) => x.ServiceId === serviceData.ServiceId)\r\n ) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n public getServiceChecked() {\r\n if (this.commonService.getLocalStorageitem(\"SelectedEUService\") != null) {\r\n this.SelectedEUService = this.commonService.getLocalStorage( \"SelectedEUService\" );\r\n }\r\n if (this.commonService.getLocalStorageitem(\"SelectedService\") != null) {\r\n this.SelectedAdditionalService = this.commonService.getLocalStorage( \"SelectedService\" );\r\n\r\n this.IsSubmitted = false;\r\n this.serviceCount = this.SelectedAdditionalService.length;\r\n for (let i = 0; i < this.SelectedAdditionalService.length; i++) {\r\n this.OLBPrice = Number((this.OLBPrice + this.SelectedAdditionalService[i].TotalPrice).toFixed(2));\r\n this.OLBDuration = Number((this.OLBDuration + this.SelectedAdditionalService[i].Duration).toFixed(2));\r\n }\r\n for (let i = 0; i < this.SelectedAdditionalService.length; i++) {\r\n this.AdditionalTotal = Number((this.AdditionalTotal + this.SelectedAdditionalService[i].LineAmountVat).toFixed(2));\r\n this.AddDuration = Number((this.AddDuration + this.SelectedAdditionalService[i].duration).toFixed(2));\r\n }\r\n for (let i = 0; i < this.SelectedEUService.length; i++) {\r\n this.EUTotal = Number((this.EUTotal + this.SelectedEUService[i].LineAmountVat).toFixed(2));\r\n this.EUDuration = Number((this.EUDuration + this.SelectedEUService[i].duration).toFixed(2));\r\n }\r\n this.OLBServicePrice = this.OLBPrice;\r\n this.OLBServiceDuration = this.OLBDuration;\r\n this.AdditionalTotalPrice = this.AdditionalTotal;\r\n this.AdditionalTotalDuration = this.AddDuration;\r\n this.EUControlprice = this.EUTotal;\r\n this.EUControlduration = this.EUDuration;\r\n\r\n if (\r\n this.commonService.getLocalStorageitem(\"PackageServiceListData\") != null\r\n ) {\r\n this.PriceTotal =\r\n this.EUControlprice +\r\n this.AdditionalTotalPrice +\r\n this.accessoryTotalPrice +\r\n Number(\r\n this.commonService\r\n .getLocalStorage(\"PackageServiceListData\")\r\n [\"TotalPrice\"].toFixed(2)\r\n );\r\n this.DurationTotal =\r\n this.EUControlduration +\r\n this.AdditionalTotalDuration +\r\n Number(\r\n this.commonService\r\n .getLocalStorage(\"PackageServiceListData\")\r\n [\"TotalDuration\"].toFixed(2)\r\n );\r\n } else {\r\n this.PriceTotal = this.accessoryTotalPrice + this.EUControlprice + this.AdditionalTotalPrice;\r\n this.DurationTotal =\r\n this.EUControlduration + this.AdditionalTotalDuration;\r\n }\r\n\r\n this.AdditionalServiceCount = this.SelectedAdditionalService.length;\r\n this.EUControlCount = this.SelectedEUService.length;\r\n }\r\n }\r\n\r\n public onAccessorySelecet(){\r\n this.PriceTotal -= this.accessoryTotalPrice;\r\n this.accessoryTotalPrice = 0;\r\n this.AccessoriesList.forEach(x => {\r\n this.accessoryTotalPrice += x['isSelected'] ? x['Price'] : 0;\r\n });\r\n this.PriceTotal += this.accessoryTotalPrice;\r\n }\r\n\r\n public NavigateVehicleList() {\r\n this.commonService.NavigatePage(paths.CARLIST);\r\n }\r\n public notesChange() {\r\n if (\r\n this.CustomerNotes !== undefined &&\r\n this.CustomerNotes !== \"\" &&\r\n this.CustomerNotes != null\r\n ) {\r\n this.commonService.setLocalStorage(\"notes\", this.CustomerNotes);\r\n } else {\r\n this.commonService.removeLocalStorage([\"notes\"]);\r\n }\r\n }\r\n // public GetCssClass() {\r\n // if (this.commonService.getLocalStorageByKey('vehicleData', 'BrandName') != 'Renault') {\r\n // return 'ns-mg-renault'\r\n // }\r\n // else {\r\n // return 'ns-mg-mitsubishi';\r\n // }\r\n // }\r\n\r\n // public ReadJsonVehicleList() {\r\n // this.readJsonFile.getJSONData().then((data) => {\r\n // this.completeserviceList = data.ServiceMasters;\r\n // this.commonService.setLocalStorage(\r\n // \"unAvailableDates\",\r\n // data.UnAvailableDates\r\n // );\r\n // this.commonService.setLocalStorage(\r\n // \"UnAvailableDatesForOccupied\",\r\n // data.UnAvailableDatesForOccupied\r\n // );\r\n // this.commonService.setLocalStorage(\"WeekDayList\", data.WeekDayList);\r\n // this.filterServiceData();\r\n // });\r\n // }\r\n\r\n public ReadServiceFilePDF() {\r\n this.readJsonFile.getJSONFileData().then((data) => {\r\n //debugger;\r\n //console.log(data)\r\n });\r\n }\r\n monthDiff(d1, d2) {\r\n var months;\r\n months = (d2.getFullYear() - d1.getFullYear()) * 12;\r\n months -= d1.getMonth();\r\n months += d2.getMonth();\r\n return months <= 0 ? 0 : months;\r\n }\r\n ngOnInit() {\r\n this.SelectedDealerName = this.commonService.getLocalStorageitem(\"SelectedDealerName\");\r\n this.ReadServiceFilePDF();\r\n this.dealerDetails = this.commonService.getLocalStorage('dealerDetails');\r\n this.BrandCode = this.commonService.getLocalStorageByKey(\"vehicleData\",\"BrandName\");\r\n this.brandName = this.BrandCode + \" \" + this.commonService.getLocalStorageByKey(\"vehicleData\", \"ModelName\");\r\n this.licensePlate = this.commonService.getLocalStorageByKey(\"vehicleData\",\"LicensePlateNo\");\r\n this.vinNo = this.commonService.getLocalStorageByKey(\"vehicleData\",\"VinNo\");\r\n this.year = this.commonService.getLocalStorageByKey(\"vehicleData\", \"Year\");\r\n this.MthsFromRegistration = this.commonService.getLocalStorageByKey(\"vehicleData\",\"MthsFromRegistration\");\r\n this.DateLastService = this.commonService.getLocalStorageByKey(\"vehicleData\",\"DateLastService\");\r\n if (this.DateLastService != \"\" &&this.DateLastService != undefined &&this.DateLastService != null) {\r\n this.DateLastService = this.commonService.formatDate(new Date(this.DateLastService));\r\n }\r\n var pkkdt = this.commonService.getLocalStorageByKey(\"vehicleData\", \"PKKDate\");\r\n //console.log(pkkdt)\r\n //pkkdt = '2022-03-27T00:00:00'\r\n //console.log(pkkdt)\r\n this.pkkDate = this.commonService.formatDate(new Date(pkkdt));\r\n this.isDeadlineForPKK = this.monthDiff(new Date,new Date(pkkdt)) > 6 ? false : true;\r\n this.ModelImage = this.commonService.getLocalStorageByKey(\"vehicleData\",\"ModelImage\");\r\n this.FuelType = this.commonService.getLocalStorageByKey(\"vehicleData\",\"Fuelcode\"\r\n );\r\n this.commonService.removeLocalStorage([\r\n \"serviceIDList\",\r\n \"PackageServiceListData\",\r\n \"SelectedService\",\r\n \"SelectedEUService\",\r\n \"SelectedAccessories\"\r\n ]);\r\n const brand = this.brandName;\r\n const _brandName = brand.slice(0, 7);\r\n this.getFactoryRecall();\r\n this.getLocalStorageData();\r\n this.getModelPDF();\r\n //this.getAccessories();\r\n this.getGiftCardByPhone();\r\n //this.getPackagesData();\r\n this.getdealerConfigurationById(\r\n this.commonService.getLocalStorageitem(\"dealername\")\r\n );\r\n //this.GetUpSellData();\r\n }\r\n\r\n getModelPDF() {\r\n let modelCode = this.commonService.getLocalStorageByKey(\"vehicleData\",\"ModelCode\");\r\n let brandCode = this.commonService.getLocalStorageByKey(\"vehicleData\",\"BrandCode\");\r\n if (brandCode.toLocaleLowerCase() == \"renault\") {\r\n this.dataCommunicationService.getModelPDF(modelCode, brandCode).subscribe((result) => {\r\n if (result.StatusCode == 1) {\r\n if (result.Data.ModelPDFPath != null && result.Data.ModelPDFPath != undefined && result.Data.ModelPDFPath != \"\") {\r\n this.modelPDF = \"data:application/pdf;base64,\" + result.Data.ModelPDFPath;\r\n }\r\n }\r\n });\r\n }\r\n }\r\n //#region New Package-Service Code\r\n\r\n // public ReadJsonPackageData() {\r\n // this.readJsonFile.getJSONData()\r\n // .then(data => {\r\n // this.CompletePackageData = data.ServicePackage;\r\n // this.getPackageChecked();\r\n\r\n // });\r\n // }\r\n getCSSDynamic() {\r\n // if (this.brandName.slice(0, 7) === \"Renault\") {\r\n // return \"renault\";\r\n // } else if (\r\n // this.brandName.slice(0, 7).toLocaleLowerCase().includes(\"dacia\")\r\n // ) {\r\n // return \"dacia\";\r\n // } else {\r\n // return \"mitsubishi\";\r\n // }\r\n return this.BrandCode.toLocaleLowerCase()\r\n }\r\n public getMPOServices(URL, indexprice, packageID) {\r\n this.translate.get(\"LoaderText.services\").subscribe((message) => {\r\n this.loaderservice.show(message);\r\n });\r\n this.searchParams = {\r\n licensePlate: this.licensePlate,\r\n dealerId: this.commonService.getLocalStorage(\"dealername\"),\r\n Kilometer: this.VehilceKilometer,\r\n BrandName: this.commonService.getLocalStorageByKey(\r\n \"vehicleData\",\r\n \"BrandName\"\r\n ),\r\n ModelName: this.commonService.getLocalStorageByKey(\r\n \"vehicleData\",\r\n \"ModelName\"\r\n ),\r\n Url: URL,\r\n IsDetailsService: true,\r\n IsOtherBrand: true,\r\n VINNumber: this.vinNo,\r\n };\r\n\r\n this.dataCommunicationService\r\n .getAllPackages(this.searchParams)\r\n .subscribe((result) => {\r\n if (result.StatusCode === 1) {\r\n this.loaderservice.hide();\r\n const listData = result.Data.PackageDetail[0].ServiceListData[0];\r\n const indexAt = this.FinalService.findIndex(\r\n (x) => x.PackageId == packageID\r\n );\r\n if (indexAt > -1) {\r\n this.FinalService[indexAt].PackageServiceList =\r\n listData.PackageServiceList;\r\n this.FinalService[indexAt].OptionalServiceDetailList =\r\n listData.OptionalServiceDetailList;\r\n }\r\n this.getPackagesDetails(this.FinalService[indexAt], packageID);\r\n }\r\n });\r\n }\r\n getPackage(packages: any, packageId) {\r\n if (this.BrandList.MenuPricing === \"WebCapri\") {\r\n //if(true){\r\n this.getPackagesDetails(packages, packageId);\r\n } else {\r\n if (packages == null || packages.PackageServiceList == null) {\r\n this.getMPOServices(packages.ServiceUrl, 0, packages.PackageId);\r\n } else {\r\n this.getPackagesDetails(packages, packageId);\r\n }\r\n }\r\n }\r\n\r\n getPackagesDetails(packages: any, packageId) {\r\n this.showPrice = false;\r\n //this.showServices = true;\r\n this.showServices = false;\r\n this.selectedPackageId = packageId;\r\n var otherCheckbox = true;\r\n\r\n this.commonService.removeLocalStorage([\"PackageServiceListData\"]);\r\n if (this.SelectedPackageData.length > 0) {\r\n if (\r\n this.SelectedPackageData.some((x) => x.PackageId === packages.PackageId)\r\n ) {\r\n if (this.BrandCode != \"Renault\") {\r\n this.SelectedPackageData = [];\r\n } else {\r\n const indexAt = this.SelectedPackageData.findIndex(\r\n (x) => x.PackageId === packages.PackageId\r\n );\r\n if (indexAt >= 0) {\r\n this.SelectedPackageData.splice(indexAt);\r\n } else {\r\n this.SelectedPackageData.push(packages);\r\n //this.getServicesOfPackages();\r\n }\r\n }\r\n otherCheckbox = false;\r\n // this.PackageSelection(false);\r\n } else {\r\n if (this.BrandCode != \"Renault\") {\r\n this.SelectedPackageData = [];\r\n }\r\n this.SelectedPackageData.push(packages);\r\n // this.getServicesOfPackages();\r\n }\r\n } else {\r\n this.SelectedPackageData = [];\r\n this.SelectedPackageData.push(packages);\r\n // this.getServicesOfPackages();\r\n }\r\n // earlier Code for Checkbox only\r\n // this.SelectedPackageData = [];\r\n // this.SelectedPackageData.push(packages);\r\n\r\n this.PackageSelection(otherCheckbox);\r\n }\r\n\r\n // getServicesOfPackages() {\r\n\r\n // this.PackagesServices = [];\r\n // this.PackagesServices = this.SelectedPackageData[0].PackageServiceList;\r\n // this.requiredservice = this.PackagesServices;\r\n // // this.subpackageList= this.SelectedPackageData[0].subPackageList;\r\n // // if (this.commonService.getLocalStorageitem('PackageServiceListData') != null) {\r\n // // var SelectedPackageData = this.commonService.getLocalStorage('PackageServiceListData')['SelectedPackage'];\r\n // // this.requiredservice = SelectedPackageData[0].SelectedPackageServices;\r\n // // }\r\n // }\r\n\r\n PackageSelection($event) {\r\n this.serviceCount = 0;\r\n this.PriceTotal = 0;\r\n this.selectedPackageName = 0;\r\n this.TotalPrice = 0;\r\n this.TotalDuration = 0;\r\n this.PackageDetail = [];\r\n this.FinalService.forEach((x) => (x.selectedPrice = x.serviceTotal));\r\n if ($event == false) {\r\n this.FinalPackageServiceData = [];\r\n this.serviceCount = 0;\r\n this.selectedPackageName = \"\";\r\n }\r\n for (let k = 0; k < this.SelectedPackageData.length; k++) {\r\n this.PackageDetail.push({\r\n PackageId: this.SelectedPackageData[k].PackageId,\r\n packageName: this.SelectedPackageData[k].PackageName,\r\n price: this.SelectedPackageData[k].serviceTotal,\r\n selectedPrice: this.SelectedPackageData[k].serviceTotal,\r\n duration: this.SelectedPackageData[k].Duration,\r\n PackageType: this.SelectedPackageData[k].PackageType,\r\n PartsTotal: this.SelectedPackageData[k].PartsTotal,\r\n WorkTotal: this.SelectedPackageData[k].WorkTotal,\r\n VM: this.SelectedPackageData[k].VM,\r\n SelectedPackageServices: [],\r\n subPackageList: [],\r\n });\r\n this.requiredservice = this.SelectedPackageData[k].PackageServiceList;\r\n this.TotalPrice =\r\n Number(this.TotalPrice) +\r\n Number(this.SelectedPackageData[k].serviceTotal);\r\n for (let i = 0; i < this.requiredservice.length; i++) {\r\n // if (this.BrandList.MenuPricing == \"WebCapri\") {\r\n // this.TotalPrice = Number((this.TotalPrice + this.requiredservice[i].LineAmountVat).toFixed(2));\r\n // }\r\n // else {\r\n\r\n //}\r\n if (this.requiredservice[i].ElementType == \"1\") {\r\n this.TotalDuration = Number(\r\n (this.TotalDuration + this.requiredservice[i].duration).toFixed(2)\r\n );\r\n }\r\n }\r\n this.PackageDetail[k].SelectedPackageServices = this.requiredservice;\r\n // this.PackageDetail[0].subPackageList=this.subpackageList;\r\n\r\n // if (this.commonService.getLocalStorageitem('PackageServiceListData') != null) {\r\n // var PackageDetail = this.commonService.getLocalStorage('PackageServiceListData')['SelectedPackage'];\r\n // var TotalPrice = this.commonService.getLocalStorage('PackageServiceListData')['TotalPrice'];\r\n // var TotalDuration = this.commonService.getLocalStorage('PackageServiceListData')['TotalDuration'];\r\n\r\n // this.FinalPackageServiceData = {\r\n // SelectedPackage: PackageDetail,\r\n // TotalPrice: TotalPrice,\r\n // TotalDuration:TotalDuration\r\n\r\n // };\r\n // }\r\n }\r\n\r\n this.FinalPackageServiceData = {\r\n SelectedPackage: this.PackageDetail,\r\n TotalPrice: this.TotalPrice,\r\n TotalDuration: this.TotalDuration,\r\n };\r\n\r\n if(this.FinalPackageServiceData.SelectedPackage.length > 0){\r\n this.serviceCount = this.FinalPackageServiceData.SelectedPackage[0].SelectedPackageServices.length;\r\n this.selectedPackageName = this.FinalPackageServiceData.SelectedPackage[0].packageName;\r\n }\r\n\r\n if (this.SelectedPackageData.length > 0) {\r\n this.PriceTotal =\r\n this.FinalPackageServiceData.TotalPrice +\r\n this.AdditionalTotalPrice +\r\n this.accessoryTotalPrice +\r\n this.EUControlprice;\r\n this.DurationTotal =\r\n this.FinalPackageServiceData.TotalDuration +\r\n this.AdditionalTotalDuration +\r\n this.EUControlduration;\r\n } else {\r\n this.PriceTotal = this.accessoryTotalPrice + this.AdditionalTotalPrice;\r\n this.DurationTotal = this.AdditionalTotalDuration;\r\n }\r\n\r\n if (this.serviceCount > 0 || this.SelectedAdditionalService.length > 0) {\r\n this.IsSubmitted = false;\r\n } else {\r\n this.IsSubmitted = true;\r\n }\r\n }\r\n\r\n GetCheckedDetail(services) {\r\n if (this.requiredservice.some((x) => x.ServiceId === services.ServiceId)) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n public numberOnly(event): boolean {\r\n const charCode = event.which ? event.which : event.keyCode;\r\n if (charCode > 31 && (charCode < 48 || charCode > 57)) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n public getAdditionalServiceChecked(con, event) {\r\n return true;\r\n // let AdditionalTotal = 0;\r\n // if (event.target.checked === false) {\r\n // const indexAt = serviceArray.findIndex(x => x.ServiceId === services.ServiceId);\r\n // serviceArray.splice(indexAt, 1);\r\n // this.TotalPrice = this.TotalPrice - services.LineAmountVat;\r\n // }\r\n // else{\r\n\r\n // }\r\n }\r\n // public PushselectedService(serviceData, $event) {\r\n // this.IsSubmitted = true;\r\n // // if(this.commonService.getLocalStorage('OLBServicePrice') != null){\r\n // // this.OLBPrice =this.commonService.getLocalStorage('OLBServicePrice');\r\n // // }\r\n // if ($event.target.checked === false) {\r\n // const indexAt = this.SelectedAdditionalService.findIndex(\r\n // (x) => x.ServiceId === serviceData.ServiceId\r\n // );\r\n // this.SelectedAdditionalService.splice(indexAt, 1);\r\n // this.OLBPrice = Number(\r\n // (this.OLBPrice - serviceData.TotalPrice).toFixed(2)\r\n // );\r\n // this.OLBDuration = Number(\r\n // (this.OLBDuration - serviceData.Duration).toFixed(2)\r\n // );\r\n // } else {\r\n // if (this.SelectedAdditionalService.length === 0) {\r\n // this.SelectedAdditionalService.push(serviceData);\r\n // this.OLBPrice = Number(\r\n // (this.OLBPrice + serviceData.TotalPrice).toFixed(2)\r\n // );\r\n // this.OLBDuration = Number(\r\n // (this.OLBDuration + serviceData.Duration).toFixed(2)\r\n // );\r\n // } else {\r\n // // tslint:disable-next-line:prefer-for-of\r\n // for (let i = 0; i < this.serviceCount; i++) {\r\n // const index = this.SelectedAdditionalService.findIndex(\r\n // (x) => x.CategoryName === serviceData.CategoryName\r\n // );\r\n // if (index > -1) {\r\n // this.SelectedAdditionalService.splice(index, 1);\r\n // this.SelectedAdditionalService.push(serviceData);\r\n // this.OLBPrice = Number(serviceData.TotalPrice.toFixed(2));\r\n // this.OLBDuration = Number(serviceData.Duration.toFixed(2));\r\n // } else {\r\n // this.SelectedAdditionalService.push(serviceData);\r\n // this.OLBPrice = Number(\r\n // (this.OLBPrice + serviceData.TotalPrice).toFixed(2)\r\n // );\r\n // }\r\n // this.OLBDuration = Number(\r\n // (this.OLBDuration + serviceData.Duration).toFixed(2)\r\n // );\r\n // }\r\n // }\r\n // }\r\n\r\n // this.OLBServicePrice = this.OLBPrice;\r\n // this.OLBServiceDuration = this.OLBDuration;\r\n // this.serviceCount = this.SelectedAdditionalService.length;\r\n // if (this.SelectedAdditionalService.length > 0) {\r\n // this.IsSubmitted = false;\r\n // } else {\r\n // this.IsSubmitted = true;\r\n // }\r\n // this.commonService.setLocalStorage(\"SelectedService\", this.SelectedAdditionalService);\r\n // // this.commonService.setLocalStorage('OLBServicePrice', this.OLBServicePrice);\r\n // }\r\n\r\n public PushAdditionalService(serviceData, $event) {\r\n this.IsSubmitted = this.RadioSelection ? false : true;\r\n\r\n if (this.SelectedPackageData.length > 0) {\r\n this.PackagePrice = Number(\r\n this.FinalPackageServiceData.TotalPrice.toFixed(2)\r\n );\r\n this.PackageDuration = Number(\r\n this.FinalPackageServiceData.TotalDuration.toFixed(2)\r\n );\r\n } else {\r\n this.PackagePrice = 0;\r\n this.PackageDuration = 0;\r\n }\r\n\r\n if ($event.target.checked === false) {\r\n const indexAt = this.SelectedAdditionalService.findIndex(\r\n (x) => x.ServiceId === serviceData.ServiceId\r\n );\r\n this.SelectedAdditionalService.splice(indexAt, 1);\r\n this.AdditionalTotalPrice = Number((this.AdditionalTotalPrice \r\n - (!this.commonService.isFreeService(this.BrandCode, serviceData.groupId) ? serviceData.LineAmountVat : 0)).toFixed(2));\r\n this.AdditionalTotalDuration = Number((this.AdditionalTotalDuration - serviceData.duration).toFixed(2));\r\n } else {\r\n // tslint:disable-next-line:prefer-for-of\r\n const index = this.SelectedAdditionalService.findIndex(\r\n (x) => x.ServiceId === serviceData.ServiceId\r\n );\r\n if (index > -1) {\r\n this.SelectedAdditionalService.splice(index, 1);\r\n // this.AdditionalTotal = this.AdditionalTotal - serviceData.LineAmountVat;\r\n // this.AddDuration = this.AddDuration - serviceData.duration;\r\n } else {\r\n this.SelectedAdditionalService.push(serviceData);\r\n this.AdditionalTotalPrice = Number((this.AdditionalTotalPrice \r\n + (!this.commonService.isFreeService(this.BrandCode, serviceData.groupId) ? serviceData.LineAmountVat : 0)).toFixed(2));\r\n this.AdditionalTotalDuration = Number((this.AdditionalTotalDuration + serviceData.duration).toFixed(2));\r\n }\r\n }\r\n this.AdditionalServiceCount = this.SelectedAdditionalService.length;\r\n\r\n //this.AdditionalTotalPrice = this.AdditionalTotal;\r\n this.PriceTotal = this.AdditionalTotalPrice + this.PackagePrice + this.accessoryTotalPrice + this.EUControlprice;\r\n\r\n //this.AdditionalTotalDuration = this.AddDuration;\r\n this.DurationTotal = this.AdditionalTotalDuration + this.PackageDuration + this.EUControlduration;\r\n\r\n if (\r\n this.SelectedAdditionalService.length > 0 ||\r\n this.FinalPackageServiceData.SelectedPackage[0].SelectedPackageServices\r\n .length > 0\r\n ) {\r\n this.IsSubmitted = false;\r\n } else {\r\n this.IsSubmitted = this.RadioSelection ? false : true;\r\n }\r\n //this.commonService.setLocalStorage(\"SelectedService\", this.SelectedAdditionalService);\r\n }\r\n\r\n public PushEUService(EUData, $event) {\r\n if (this.SelectedPackageData.length > 0) {\r\n this.PackagePrice = Number(\r\n this.FinalPackageServiceData.TotalPrice.toFixed(2)\r\n );\r\n this.PackageDuration = Number(\r\n this.FinalPackageServiceData.TotalDuration.toFixed(2)\r\n );\r\n } else {\r\n this.PackagePrice = 0;\r\n this.PackageDuration = 0;\r\n this.IsSubmitted = true;\r\n }\r\n if ($event.target.checked === false) {\r\n const indexAt = this.SelectedEUService.findIndex(\r\n (x) => x.ServiceId === EUData.ServiceId\r\n );\r\n this.SelectedEUService.splice(indexAt, 1);\r\n this.EUTotal = Number((this.EUTotal - EUData.LineAmountVat).toFixed(2));\r\n this.EUDuration = Number((this.EUDuration - EUData.duration).toFixed(2));\r\n } else {\r\n const index = this.SelectedEUService.findIndex(\r\n (x) => x.ServiceId === EUData.ServiceId\r\n );\r\n if (index > -1) {\r\n this.SelectedEUService.splice(index, 1);\r\n } else {\r\n this.SelectedEUService.push(EUData);\r\n this.EUTotal = Number((this.EUTotal + EUData.LineAmountVat).toFixed(2));\r\n this.EUDuration = Number(\r\n (this.EUDuration + EUData.duration).toFixed(2)\r\n );\r\n }\r\n }\r\n this.EUControlCount = this.SelectedEUService.length;\r\n\r\n this.EUControlprice = this.EUTotal;\r\n this.PriceTotal =\r\n this.AdditionalTotalPrice + this.PackagePrice + this.accessoryTotalPrice + this.EUControlprice;\r\n\r\n this.EUControlduration = this.EUDuration;\r\n this.DurationTotal =\r\n this.AdditionalTotalDuration +\r\n this.PackageDuration +\r\n this.EUControlduration;\r\n\r\n if (this.SelectedEUService.length > 0) {\r\n this.IsSubmitted = false;\r\n }\r\n //else {\r\n // this.IsSubmitted = true;\r\n // }\r\n this.commonService.setLocalStorage(\r\n \"SelectedEUService\",\r\n this.SelectedEUService\r\n );\r\n }\r\n getcheckedServices(services, event) {\r\n this.serviceCount = 0;\r\n let serviceArray = JSON.parse(\r\n JSON.stringify(\r\n this.FinalPackageServiceData.SelectedPackage[0].SelectedPackageServices\r\n )\r\n );\r\n if (event.target.checked === false) {\r\n if (serviceArray.length > 0) {\r\n const indexAt = serviceArray.findIndex(\r\n (x) => x.ServiceId === services.ServiceId\r\n );\r\n serviceArray.splice(indexAt, 1);\r\n this.FinalPackageServiceData.SelectedPackage[0].SelectedPackageServices = serviceArray;\r\n this.FinalPackageServiceData.TotalPrice = Number(\r\n (\r\n this.FinalPackageServiceData.TotalPrice - services.LineAmountVat\r\n ).toFixed(2)\r\n );\r\n if (services.ElementType == \"1\") {\r\n this.FinalPackageServiceData.TotalDuration = Number(\r\n (\r\n this.FinalPackageServiceData.TotalDuration - services.duration\r\n ).toFixed(2)\r\n );\r\n }\r\n // this.serviceCount = this.FinalPackageServiceData.SelectedPackage[0].SelectedPackageServices.length;\r\n // this.FinalService.filter(x => x.PackageId === this.PackageDetail[0].PackageId)[0].selectedPrice =\r\n // this.SelectedPackageData.filter(x => x.PackageId == this.PackageDetail[0].PackageId)[0].selectedPrice - services.LineAmountVat;\r\n }\r\n } else {\r\n serviceArray.push(services);\r\n this.FinalPackageServiceData.SelectedPackage[0].SelectedPackageServices = serviceArray;\r\n\r\n this.FinalPackageServiceData.TotalPrice = Number(\r\n (\r\n this.FinalPackageServiceData.TotalPrice + services.LineAmountVat\r\n ).toFixed(2)\r\n );\r\n if (services.ElementType == \"1\") {\r\n this.FinalPackageServiceData.TotalDuration = Number(\r\n (\r\n this.FinalPackageServiceData.TotalDuration + services.duration\r\n ).toFixed(2)\r\n );\r\n }\r\n\r\n this.FinalService.filter(\r\n (x) => x.PackageId == this.PackageDetail[0].PackageId\r\n )[0].selectedPrice =\r\n this.SelectedPackageData.filter(\r\n (x) => x.PackageId == this.PackageDetail[0].PackageId\r\n )[0].selectedPrice + services.LineAmountVat;\r\n }\r\n\r\n this.serviceCount = this.FinalPackageServiceData.SelectedPackage[0].SelectedPackageServices.length;\r\n this.TotalPrice = this.FinalPackageServiceData.TotalPrice;\r\n this.TotalDuration = this.FinalPackageServiceData.TotalDuration;\r\n // this.FinalPackageServiceData.TotalPrice = this.FinalPackageServiceData.TotalPrice;\r\n // this.FinalPackageServiceData.TotalDuration = this.FinalPackageServiceData.TotalDuration;\r\n this.PriceTotal =\r\n this.FinalPackageServiceData.TotalPrice +\r\n this.AdditionalTotalPrice +\r\n this.accessoryTotalPrice +\r\n this.EUControlprice;\r\n this.DurationTotal =\r\n this.FinalPackageServiceData.TotalDuration +\r\n this.AdditionalTotalDuration +\r\n this.EUControlduration;\r\n }\r\n\r\n getPackageCheckboxselected(packages: any) {\r\n if (\r\n this.SelectedPackageData.some((x) => x.PackageId === packages.PackageId)\r\n ) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n public getPackageChecked() {\r\n if (\r\n this.commonService.getLocalStorageitem(\"PackageServiceListData\") != null\r\n ) {\r\n //this.showServices = true;\r\n this.showServices = false;\r\n this.showPrice = true;\r\n this.IsSubmitted = false;\r\n this.SelectedPackageData = this.commonService.getLocalStorage(\r\n \"PackageServiceListData\"\r\n )[\"SelectedPackage\"];\r\n\r\n this.SelectedPackageData = this.FinalService.filter(\r\n (x) => x.PackageId == this.SelectedPackageData[0].PackageId\r\n );\r\n this.selectedPackageName = this.SelectedPackageData[0].PackageName;\r\n\r\n var PackageDetail = this.commonService.getLocalStorage(\r\n \"PackageServiceListData\"\r\n )[\"SelectedPackage\"];\r\n var TotalPrice = this.commonService.getLocalStorage(\r\n \"PackageServiceListData\"\r\n )[\"TotalPrice\"];\r\n var TotalDuration = this.commonService.getLocalStorage(\r\n \"PackageServiceListData\"\r\n )[\"TotalDuration\"];\r\n\r\n this.FinalPackageServiceData = {\r\n SelectedPackage: PackageDetail,\r\n TotalPrice: TotalPrice,\r\n TotalDuration: TotalDuration,\r\n };\r\n this.selectedPackageId = this.FinalPackageServiceData.SelectedPackage[0].PackageId;\r\n this.TotalPrice = this.FinalPackageServiceData.TotalPrice;\r\n this.TotalDuration = this.FinalPackageServiceData.TotalDuration;\r\n var SelectedPackageServices = this.commonService.getLocalStorage(\r\n \"PackageServiceListData\"\r\n )[\"SelectedPackage\"];\r\n this.requiredservice = SelectedPackageServices[0].SelectedPackageServices;\r\n if (this.BrandList.MenuPricing == \"MPO\") {\r\n this.SelectedPackageData[0].PackageServiceList = this.requiredservice;\r\n }\r\n\r\n // for(let i=0 ; i x.PackageId == this.FinalPackageServiceData.SelectedPackage[0].PackageId)[0].selectedPrice =\r\n // this.SelectedPackageData.filter(x => x.PackageId == this.FinalPackageServiceData.SelectedPackage[0].PackageId)[0].selectedPrice + this.requiredservice[i].LineAmountVat;\r\n // }\r\n\r\n this.PriceTotal =\r\n this.EUControlprice +\r\n this.AdditionalTotalPrice +\r\n this.accessoryTotalPrice +\r\n Number(\r\n this.commonService\r\n .getLocalStorage(\"PackageServiceListData\")\r\n [\"TotalPrice\"].toFixed(2)\r\n );\r\n }\r\n }\r\n\r\n public getPackagesData() {\r\n this.FinalService = [];\r\n this.packageListData = [];\r\n this.ServiceListData = [];\r\n this.SelectedPackageData = [];\r\n this.SelectedAdditionalService = [];\r\n this.SelectedEUService = [];\r\n this.FinalAdditionalService = [];\r\n this.showOLBService = false;\r\n this.AdditionalTotalDuration = 0;\r\n this.PackageDuration = 0;\r\n this.EUControlduration = 0;\r\n this.TotalDuration = 0;\r\n this.PriceTotal = 0;\r\n this.EUControlprice = 0;\r\n this.AdditionalTotalPrice = 0;\r\n this.accessoryTotalPrice = 0;\r\n this.PriceTotal = 0;\r\n if(this.factoryRecallData){\r\n this.getCheckedFactory();\r\n }\r\n this.commonService.removeLocalStorage([\r\n \"serviceIDList\",\r\n \"PackageServiceListData\",\r\n \"SelectedService\",\r\n \"SelectedEUService\",\r\n \"SelectedAccessories\"\r\n ]);\r\n if ( this.VehilceKilometer != undefined && this.VehilceKilometer != \"\" && this.VehilceKilometer != null ) {\r\n this.commonService.setLocalStorage(\"VehileKm\", this.VehilceKilometer);\r\n this.brandList();\r\n }else{\r\n this.RequiredKM = true;\r\n }\r\n // if (this.VehilceKilometer == undefined) {\r\n // this.VehilceKilometer = 0;\r\n \r\n // }\r\n \r\n }\r\n\r\n public getdealerConfigurationById(param: any) {\r\n this.translate.get(\"LoaderText.services\").subscribe((message) => {\r\n this.loaderservice.show(message);\r\n });\r\n this.dataCommunicationService\r\n .getDealersConfigurationById(param)\r\n .subscribe((result) => {\r\n if (result.StatusCode === 1) {\r\n //this.loaderservice.hide();\r\n this.commonService.setLocalStorage(\"dealerConfig\", result.Data);\r\n this.workingCapacity = result.Data.WorkingCapacity;\r\n // if (result.Data.EnableMenuPricing == false) {\r\n // this.getServiceList()\r\n // }\r\n // else {\r\n // this.brandList(this.BrandCode);\r\n //}\r\n }\r\n });\r\n }\r\n\r\n public brandList(): void {\r\n this.translate.get(\"LoaderText.services\").subscribe((message) => {\r\n this.loaderservice.show(message);\r\n });\r\n this.dataCommunicationService\r\n .getBrandById(this.BrandCode)\r\n .subscribe((result) => {\r\n if (result.StatusCode === 1) {\r\n this.loaderservice.hide();\r\n this.BrandList = result.Data;\r\n this.getPackageList();\r\n // if (this.BrandList.MenuPricing === \"MPO\") {\r\n // this.getMPOAdditionalService();\r\n // } else {\r\n // //this.FinalAdditionalService = [];\r\n // }\r\n // remove comment if require\r\n // if (this.BrandList.MenuPricing == \"WebCapri\") {\r\n // this.getPackageList();\r\n // }\r\n // else if (this.BrandList.MenuPricing == \"MPO\") {\r\n // console.log(\"Data from MPO\");\r\n // }\r\n // else {\r\n // this.getServiceList();\r\n // }\r\n }\r\n });\r\n }\r\n\r\n public getMPOAdditionalService() {\r\n this.translate.get(\"LoaderText.services\").subscribe((message) => {\r\n this.loaderservice.show(message);\r\n });\r\n this.EUControlData = [];\r\n this.searchParams = {\r\n licensePlate: this.licensePlate,\r\n dealerId: this.commonService.getLocalStorage(\"dealername\"),\r\n Kilometer: this.VehilceKilometer,\r\n BrandName: this.commonService.getLocalStorageByKey(\r\n \"vehicleData\",\r\n \"BrandName\"\r\n ),\r\n ModelName: this.commonService.getLocalStorageByKey(\r\n \"vehicleData\",\r\n \"ModelName\"\r\n ),\r\n PackageId: 0,\r\n IsDetailsService: true,\r\n IsOtherBrand: true,\r\n VINNumber: this.vinNo,\r\n };\r\n\r\n this.dataCommunicationService\r\n .getMPOAdditionalPackage(this.searchParams)\r\n .subscribe((result) => {\r\n //if (result.StatusCode === 1) {\r\n this.loaderservice.hide();\r\n this.FinalAdditionalService = result.AdditionalServices;\r\n this.FinalAdditionalService.forEach(element => {\r\n element.LineAmountVat = Number(element.LineAmountVat.toFixed(0))\r\n });\r\n //EU Control Service\r\n this.EUControlData = result.EUControlaServices;\r\n this.EUControlData.forEach(element => {\r\n element.LineAmountVat = Number(element.LineAmountVat.toFixed(0))\r\n });\r\n // }\r\n });\r\n }\r\n mergeMPOWithUpSellData() {\r\n if (this.upSellData && this.FinalAdditionalService) {\r\n this.mergedUpSellData = [];\r\n this.upSellData.forEach(x => {\r\n const temp = this.FinalAdditionalService.find( y => y.groupId === x.ServiceUpSellId);\r\n if(temp){\r\n\r\n const isServiceSelected = this.SelectedAdditionalService.some(\r\n selectedService => selectedService.ServiceId === temp.ServiceId\r\n );\r\n if(!isServiceSelected){\r\n this.mergedUpSellData.push(temp);\r\n }\r\n }\r\n })\r\n }\r\n }\r\n \r\n public getKilometer() {\r\n this.showKilometer = 0;\r\n if ( this.VehilceKilometer != undefined && this.VehilceKilometer != \"\" && this.VehilceKilometer != null ) {\r\n this.RequiredKM = false;\r\n this.showKilometer = this.VehilceKilometer;\r\n } else {\r\n this.RequiredKM = true;\r\n }\r\n }\r\n\r\n factoryRecallData =[];\r\n labourService:any;\r\n \r\n public getFactoryRecall() {\r\n this.translate.get(\"LoaderText.services\").subscribe((message) => {\r\n this.loaderservice.show(message);\r\n });\r\n this.searchParams = {\r\n licensePlate: this.licensePlate,\r\n VINNumber: this.vinNo,\r\n dealerId: this.commonService.getLocalStorage(\"dealername\"),\r\n BrandName: this.commonService.getLocalStorageByKey(\"vehicleData\",\"BrandName\"),\r\n ModelName: this.commonService.getLocalStorageByKey(\"vehicleData\",\"ModelName\"),\r\n IsOtherBrand: this.checkBrand(),\r\n };\r\n //this.searchParams = {licensePlate : this.licensePlate , dealerId :\"031140\", Kilometer : this.VehilceKilometer };\r\n this.dataCommunicationService\r\n .GetRecallDetail(this.searchParams)\r\n .subscribe((result) => { \r\n this.loaderservice.hide();\r\n if(typeof(result) === 'string'){\r\n this.recallDetail=result;\r\n if (result.toString().toLowerCase() == \"yes\") {\r\n // this.IsSubmitted=true;\r\n this.modalService.open(\"phevmodal\");\r\n this.commonService.setLocalStorage(\"RF\",result.toString().toLowerCase());\r\n } else {\r\n this.HidePopUp(\"phevmodal\");\r\n this.commonService.removeLocalStorage([\"RF\"]);\r\n }\r\n }else{\r\n this.modalService.open(\"phevmodal\");\r\n this.commonService.setLocalStorage(\"RF\",result);\r\n this.factoryRecallData =result.AdditionalServices;\r\n // this.labourService=result.AdditionalServices.Labour.ServiceName\r\n this.getCheckedFactory();\r\n }\r\n this.checkRecallShow();\r\n });\r\n \r\n }\r\n\r\n getCheckedFactory() {\r\n const dummyEvent = {\r\n target: {\r\n checked: true\r\n }\r\n };\r\n this.optional = [];\r\n this.service = [];\r\n this.factoryRecallData.forEach(x => {\r\n // if (x.Obligatory == true && x.Kind== \"Security\") {\r\n // this.IsSubmitted = false;\r\n // this.urgent.push(x);\r\n // console.log(x);\r\n // this.labourService = x.Labour.ServiceName;\r\n // this.PushAdditionalService(x,dummyEvent);\r\n // } else\r\n if (x.Obligatory == true && x.Kind== \"Quality\") {\r\n this.IsSubmitted = false;\r\n this.service.push(x);\r\n // this.service.push(x.Labour[0].ServiceName);\r\n this.PushAdditionalService(x,dummyEvent);\r\n } else {\r\n this.optional.push(x);\r\n }\r\n });\r\n this.loaderservice.hide();\r\n \r\n }\r\n public triggerUpsellPopup() {\r\n this.ShowPopup('upsellPopup');\r\n }\r\n public HidePopUp(id) {\r\n this.modalService.close(id);\r\n }\r\n\r\n public HideAllPopup(){\r\n this.HidePopUp(\"phevmodal\");\r\n this.HidePopUp(\"longDuration\");\r\n this.HidePopUp(\"callmemodal\");\r\n this.HidePopUp(\"openModelPDF\");\r\n this.HidePopUp(\"servicemodal\");\r\n this.HidePopUp(\"workshop\");\r\n this.HidePopUp(\"promocodeModal\");\r\n this.HidePopUp(\"upsellPopup\");\r\n }\r\n public ShowPopup(id) {\r\n if (id === 'upsellPopup') {\r\n this.mergeMPOWithUpSellData();\r\n if(this.mergedUpSellData.length > 0){\r\n this.modalService.open(id);\r\n }\r\n else{\r\n this.ConfirmService();\r\n } \r\n }\r\n else if(id == \"openModelPDF\"){\r\n if(this.BrandCode == \"Renault\" && this.modelPDF != undefined && this.modelPDF != null && this.modelPDF != '')\r\n this.modalService.open(id);\r\n }\r\n else\r\n this.modalService.open(id);\r\n // if (!(id == \"openModelPDF\" && this.BrandCode == \"Mitsubishi\"))\r\n // this.modalService.open(id);\r\n }\r\n checkBrand() {\r\n if (this.brandName.toLocaleLowerCase().includes(\"renault\")) {\r\n return true;\r\n } else if (this.brandName.toLocaleLowerCase().includes(\"dacia\")) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n public getLocalStorageData() {\r\n // this.VehilceKilometer = this.commonService.getLocalStorage('VehileKm');\r\n // if (this.VehilceKilometer != null && this.VehilceKilometer != undefined && this.VehilceKilometer != 0 && this.VehilceKilometer != '') {\r\n // this.getPackagesData();\r\n // }\r\n }\r\n\r\n showPDFData(pack) {\r\n if (this.BrandCode.toLocaleLowerCase() == \"mitsubishi\") {\r\n if (pack.PackageName.toLocaleLowerCase().includes(\"5+\"))\r\n this.pdfPath = \"../../../assets/ServiceCheckList/Mitsubishi5PlusService.pdf\";\r\n else\r\n this.pdfPath = \"../../../assets/ServiceCheckList/Mitsubishi Example serivce checklist.pdf\";\r\n this.ShowPopup(\"servicemodal\");\r\n }\r\n else if(this.BrandCode.toLocaleLowerCase() == \"renault\") {\r\n if (pack.PackageName.toLocaleLowerCase().includes(\"service\")) {\r\n if ( this.FuelType != null && this.FuelType != undefined && this.FuelType.toLocaleLowerCase() == \"electric\" )\r\n this.pdfPath = \"../../../assets/ServiceCheckList/Serviceskjema_04 Renault EL.pdf\";\r\n else\r\n this.pdfPath = \"../../../assets/ServiceCheckList/Serviceskjema_03 Renault ICE.pdf\";\r\n } \r\n else\r\n this.pdfPath = \"../../../assets/ServiceCheckList/OLB mersalgsprodukter.pdf\";\r\n this.ShowPopup(\"servicemodal\");\r\n }\r\n \r\n }\r\n\r\n\r\n checkRecallShow(){\r\n if(typeof(this.recallDetail) === 'string'){\r\n this.showRecallDetails=false;\r\n }\r\n else{\r\n this.showRecallDetails=true;\r\n }\r\n }\r\n\r\n getRepairSelected(){\r\n this.removeRepairItem()\r\n if(this.RadioSelection && this.RepairComment){\r\n this.pushRepairData(); \r\n }else{\r\n this.RepairComment=null;\r\n this.IsSubmitted= (this.SelectedAdditionalService.length > 0) || (this.serviceCount > 0) ? false : true;\r\n }\r\n }\r\n\r\n pushRepairData(){\r\n var res = \r\n {\r\n \"ServiceDetailId\":0,\r\n \"ServiceId\":\"0\",\r\n \"ElementType\":\"ExRepair\",\r\n \"ServiceName\":this.translate.instant('Common.CommonText.label.AddReapirComment'),\r\n \"Quantity\":0,\r\n \"duration\":120,\r\n \"LineAmountVat\":0,\r\n \"VM\":0,\r\n \"Rebate\":0,\r\n \"ApplicablePrice\":0,\r\n \"TotalRegularPrice\":0,\r\n \"groupId\":null,\r\n \"RepairComment\":this.RepairComment,\r\n \"Parts\":null,\r\n \"Labour\":null \r\n }\r\n \r\n this.IsSubmitted =false \r\n this.SelectedAdditionalService.push(res);\r\n this.AdditionalTotalDuration += res.duration;\r\n this.DurationTotal = this.AdditionalTotalDuration + this.PackageDuration + this.EUControlduration;\r\n }\r\n\r\n removeRepairItem(){\r\n const index = this.SelectedAdditionalService.findIndex( x => x.ElementType === 'ExRepair' );\r\n if (index !== -1) {\r\n this.AdditionalTotalDuration -= this.SelectedAdditionalService[index].duration;\r\n this.SelectedAdditionalService.splice(index, 1); \r\n this.DurationTotal = this.AdditionalTotalDuration + this.PackageDuration + this.EUControlduration;\r\n }\r\n }\r\n\r\n}\r\n","module.exports = \".scroll {\\r\\n overflow: auto;\\r\\n }\\r\\n .scroll::-webkit-scrollbar {\\r\\n width: 12px;\\r\\n }\\r\\n .scroll::-webkit-scrollbar-track {\\r\\n -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3); \\r\\n border-radius: 10px;\\r\\n }\\r\\n .scroll::-webkit-scrollbar-thumb {\\r\\n border-radius: 10px;\\r\\n -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.5); \\r\\n }\\r\\n .box-data{\\r\\n background-color: rgb(87, 87, 87);\\r\\n width: 100%;\\r\\n height: auto;\\r\\n border: 1px solid rgb(0, 0, 2);\\r\\n box-sizing: border-box;\\r\\n}\\r\\n /* .mitsubishi .consent-checkbox-custom + .consent-checkbox-custom-label:before {\\r\\n border: 1px solid #ed1c24;\\r\\n border-radius: 24%;\\r\\n}\\r\\n\\r\\n.mitsubishi .consent-checkbox-custom:checked + .consent-checkbox-custom-label:before {\\r\\n background: #ed1c24;\\r\\n} */\\r\\n .hongqi .consent-checkbox + .consent-checkbox-label:before {\\r\\n border: 1px solid #ca9752;\\r\\n border-radius: 24%;\\r\\n}\\r\\n .hongqi .consent-checkbox:checked + .consent-checkbox-label:before {\\r\\n background: #ca9752;\\r\\n}\\r\\n .renault .consent-checkbox + .consent-checkbox-label:before {\\r\\n border: 1px solid #efdf00;\\r\\n border-radius: 24%;\\r\\n}\\r\\n .renault .consent-checkbox:checked + .consent-checkbox-label:before {\\r\\n background: #efdf00;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvTW9kdWxlcy9jb25maXJtLWJvb2tpbmcvY29uZmlybS1ib29raW5nLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSxjQUFjO0NBQ2pCO0NBQ0E7S0FDSSxXQUFXO0NBQ2Y7Q0FFQTtLQUNJLGlEQUFpRDtLQUNqRCxtQkFBbUI7Q0FDdkI7Q0FFQTtLQUNJLG1CQUFtQjtLQUNuQixpREFBaUQ7Q0FDckQ7Q0FFQTtJQUNHLGlDQUFpQztJQUNqQyxXQUFXO0lBQ1gsWUFBWTtJQUNaLDhCQUE4QjtJQUM5QixzQkFBc0I7QUFDMUI7Q0FFQTs7Ozs7OztHQU9HO0NBRUg7SUFDSSx5QkFBeUI7SUFDekIsa0JBQWtCO0FBQ3RCO0NBRUE7SUFDSSxtQkFBbUI7QUFDdkI7Q0FFQTtJQUNJLHlCQUF5QjtJQUN6QixrQkFBa0I7QUFDdEI7Q0FFQTtJQUNJLG1CQUFtQjtBQUN2QiIsImZpbGUiOiJzcmMvYXBwL01vZHVsZXMvY29uZmlybS1ib29raW5nL2NvbmZpcm0tYm9va2luZy5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLnNjcm9sbCB7XHJcbiAgICBvdmVyZmxvdzogYXV0bztcclxuIH1cclxuIC5zY3JvbGw6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcclxuICAgICB3aWR0aDogMTJweDtcclxuIH1cclxuIFxyXG4gLnNjcm9sbDo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xyXG4gICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAwIDZweCByZ2JhKDAsMCwwLDAuMyk7IFxyXG4gICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiB9XHJcbiBcclxuIC5zY3JvbGw6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcclxuICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAwIDZweCByZ2JhKDAsMCwwLDAuNSk7IFxyXG4gfVxyXG5cclxuIC5ib3gtZGF0YXtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYig4NywgODcsIDg3KTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiKDAsIDAsIDIpO1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxufVxyXG5cclxuLyogLm1pdHN1YmlzaGkgLmNvbnNlbnQtY2hlY2tib3gtY3VzdG9tICsgLmNvbnNlbnQtY2hlY2tib3gtY3VzdG9tLWxhYmVsOmJlZm9yZSB7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZWQxYzI0O1xyXG4gICAgYm9yZGVyLXJhZGl1czogMjQlO1xyXG59XHJcblxyXG4ubWl0c3ViaXNoaSAuY29uc2VudC1jaGVja2JveC1jdXN0b206Y2hlY2tlZCArIC5jb25zZW50LWNoZWNrYm94LWN1c3RvbS1sYWJlbDpiZWZvcmUge1xyXG4gICAgYmFja2dyb3VuZDogI2VkMWMyNDtcclxufSAqL1xyXG5cclxuLmhvbmdxaSAuY29uc2VudC1jaGVja2JveCArIC5jb25zZW50LWNoZWNrYm94LWxhYmVsOmJlZm9yZSB7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjY2E5NzUyO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMjQlO1xyXG59XHJcblxyXG4uaG9uZ3FpIC5jb25zZW50LWNoZWNrYm94OmNoZWNrZWQgKyAuY29uc2VudC1jaGVja2JveC1sYWJlbDpiZWZvcmUge1xyXG4gICAgYmFja2dyb3VuZDogI2NhOTc1MjtcclxufVxyXG4gXHJcbi5yZW5hdWx0IC5jb25zZW50LWNoZWNrYm94ICsgLmNvbnNlbnQtY2hlY2tib3gtbGFiZWw6YmVmb3JlIHtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlZmRmMDA7XHJcbiAgICBib3JkZXItcmFkaXVzOiAyNCU7XHJcbn1cclxuXHJcbi5yZW5hdWx0IC5jb25zZW50LWNoZWNrYm94OmNoZWNrZWQgKyAuY29uc2VudC1jaGVja2JveC1sYWJlbDpiZWZvcmUge1xyXG4gICAgYmFja2dyb3VuZDogI2VmZGYwMDtcclxufSJdfQ== */\"","module.exports = \"
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n

\\r\\n Online bestilling aktiveres når du samtykker til å få informasjon knyttet til ditt kjøretøy\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n {{customerVehicleList?.BrandName}} {{customerVehicleList?.ModelName}},\\r\\n {{customerVehicleList?.LicensePlateNo}}\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{ \\\"Common.CommonText.label.yourOrder\\\" | translate }}
\\r\\n \\r\\n
  • \\r\\n Hos {{ SelectedDealerName }}\\r\\n
  • \\r\\n \\r\\n \\r\\n\\r\\n
    \\r\\n
      \\r\\n
    • \\r\\n {{package.packageName}}\\r\\n {{package.price | decimalValue }}\\r\\n
    • \\r\\n\\r\\n
    • \\r\\n {{euData.ServiceName}} \\r\\n {{euData.LineAmountVat | decimalValue }}\\r\\n
    • \\r\\n
    • \\r\\n \\r\\n {{ Servicelist.ServiceName }}\\r\\n {{ Servicelist.CustomerInformation }}\\r\\n\\r\\n egenandel\\r\\n {{ Servicelist.LineAmountVat | decimalValue }}\\r\\n
    • \\r\\n \\r\\n \\r\\n \\r\\n {{ item.Name }}\\r\\n {{ item.Price | decimalValue }}\\r\\n \\r\\n \\r\\n
    • \\r\\n {{rentalCarList.Brand}}\\r\\n {{rentalCarList.Price | decimalValue}}\\r\\n
    • \\r\\n\\r\\n
      Totalt\\r\\n Kr. {{serviceTotal + rentalCarPrice | priceFormat }}\\r\\n \\r\\n
      \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
      \\r\\n
    • \\r\\n {{\\\"Common.CommonText.label.DroppTime\\\" | translate}}\\r\\n {{selectedItem}}\\r\\n
    • \\r\\n\\r\\n
    • \\r\\n {{ \\\"Common.CommonText.label.Date\\\" | translate }}\\r\\n {{SelectedDate}}\\r\\n {{ \\\"Common.CommonText.label.Notselected\\\" | translate }} \\r\\n \\r\\n
    • \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n {{ CustomerNotes.length }}/{{ maxNotesLength }}\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    {{\\\"ConsentText.line2\\\" | translate}}\\r\\n Vit mer her\\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n {{\\\"ConsentText.Warning\\\" | translate}}\\r\\n \\r\\n
    \\r\\n\\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    {{customerVehicleList?.BrandName}} {{customerVehicleList?.ModelName}}
    \\r\\n \\r\\n \\r\\n
      \\r\\n \\r\\n \\r\\n
    • \\r\\n {{ \\\"Common.CommonText.label.KilometerKM\\\" | translate }}\\r\\n {{vehicleKilometer}}\\r\\n
    • \\r\\n
    • \\r\\n {{ \\\"Common.CommonText.label.regNO\\\" | translate }}\\r\\n {{customerVehicleList?.LicensePlateNo}}\\r\\n
    • \\r\\n
    • \\r\\n {{ \\\"Common.CommonText.label.PKKDate\\\" | translate }}\\r\\n {{pkkDate}}\\r\\n
    • \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    0\\\">\\r\\n \\r\\n \\r\\n

    {{selectedGiftCards.Description}}

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

    \\r\\n \\r\\n \\\"image\\\"\\r\\n \\r\\n {{ \\\"Common.CommonText.Headers.Page5Header1\\\" | translate }} \\r\\n

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

    \\r\\n \\r\\n \\\"image\\\"\\r\\n \\r\\n \\r\\n {{'Common.CommonText.label.ChooseTimeRealTime'| translate}}\\r\\n \\r\\n

    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
      \\r\\n
    • {{appt.TimeSloat}}
    • \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
      \\r\\n
    • \\r\\n {{drop.TimeSloat}}\\r\\n
    • \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n Ingen ledige tidspunkter, velg en annen dato\\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n \\r\\n
    \\r\\n
    \\r\\n

    \\r\\n \\r\\n \\\"image\\\"\\r\\n \\r\\n \\r\\n {{'Common.CommonText.label.CustomerWaitingTitle'| translate}}\\r\\n \\r\\n

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

    \\r\\n \\r\\n \\\"image\\\"\\r\\n \\r\\n \\r\\n {{\\\"Common.CommonText.label.KioskTitleRealTime\\\" | translate}}\\r\\n \\r\\n

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

    \\r\\n \\r\\n \\\"image\\\"\\r\\n \\r\\n Serviceavtale\\r\\n

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

    \\r\\n \\r\\n \\\"image\\\"\\r\\n \\r\\n {{'Common.CommonText.label.rentedcar'| translate}}\\r\\n

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n {{\\\"Common.CommonText.label.SelectRentalCar\\\" | translate}}\\r\\n\\r\\n \\r\\n {{\\\"Common.CommonText.label.RentalPrice\\\" | translate}}\\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\"","import { Component, OnInit, ViewChild } from \"@angular/core\";\r\nimport { paths } from \"src/app/Shared/enums/paths.enum\";\r\nimport { CommonService } from \"src/app/Shared/services/common_services/common.service\";\r\nimport { DataCommunicationService } from \"src/app/Shared/services/data_service/data-communication.service\";\r\nimport { LoaderindicatorService } from \"src/app/Shared/services/loaderindicator/loaderindicator.service\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { PlatformLocation, formatDate } from \"@angular/common\";\r\nimport { ReadingJsonService } from \"src/app/Shared/services/configuration_service/reading-json.service\";\r\nimport { RentalCarListComponent } from \"src/app/Shared/component/rental-car-list/rental-car-list.component\";\r\nimport { NgbDateStruct } from \"@ng-bootstrap/ng-bootstrap\";\r\nimport { Input } from \"@angular/core\";\r\nimport { environment } from \"src/environments/environment\";\r\nimport { MinBilConsentModel } from \"src/app/Shared/model/MinBilConsentModel\";\r\n\r\ndeclare var gtag;\r\n@Component({\r\n selector: \"app-confirm-booking\",\r\n templateUrl: \"./confirm-booking.component.html\",\r\n styleUrls: [\"./confirm-booking.component.css\"],\r\n})\r\nexport class ConfirmBookingComponent implements OnInit {\r\n @ViewChild(RentalCarListComponent) rentalCarListComponent: RentalCarListComponent;\r\n @Input() recall ='';\r\n \r\n privacyPolicyLink = environment.privacyPolicyLink\r\n maxNotesLength: number = environment.commentLength;\r\n count = 0;\r\n currentMonth: any;\r\n showRentalCar = false;\r\n Time: boolean;\r\n waitingCheck: boolean = false;\r\n rentalCheck: boolean = false;\r\n timePicker: boolean = true;\r\n searchParams: any;\r\n rentalCarList : any;\r\n rentalCarPrice = 0;\r\n rentalCar: any;\r\n currentDateMonth;\r\n ShowCar: boolean = false;\r\n DropedTime: boolean = false;\r\n rentalCarDate: any;\r\n Timeslote = [];\r\n selectedItem: any;\r\n selectedItems: any;\r\n dropTimeslote = [];\r\n code: string;\r\n CustomerWaitingSelected: boolean = true;\r\n datesDisabled;\r\n weekdends = [];\r\n pkkDate: any;\r\n\r\n weekendDaysList = [];\r\n IsSubmitted = true;\r\n model: NgbDateStruct;\r\n dealerName: string;\r\n currentDate = new Date();\r\n disabledDates: NgbDateStruct[] = [];\r\n brandName: string;\r\n CustomerWaitings: boolean = false;\r\n date: { year: number; month: number };\r\n innerMessage: string;\r\n dealerConfig;\r\n kiosk = false;\r\n IsCustomerWait = false;\r\n rentalYes: boolean = false;\r\n rentalNo: boolean = false;\r\n CustomerWaitingYes: boolean = false;\r\n CuatomerWaitingNo: boolean = false;\r\n BrandCode: any;\r\n customerVehicleList: any = [];\r\n PackageData: any;\r\n serviceList = [];\r\n euServiceData = [];\r\n serviceTotal = 0;\r\n vehicleKilometer = 0;\r\n totalSelectedRental: boolean = false;\r\n CustomerNotes: \"\";\r\n PDetail;\r\n currentData: any;\r\n SelectedDate: any;\r\n ModelImage: any;\r\n MthsFromRegistration: any;\r\n DateLastService: any;\r\n PickAtKiosk = false;\r\n PickUpCar = false;\r\n DeliverCar = false;\r\n serviceAgreement = false;\r\n PkkService = false;\r\n isWaiting = false;\r\n selectedPickupOption = \"\";\r\n selectedDeliveryOption = \"\";\r\n services=[];\r\n optional=[];\r\n urgent=[];\r\n public scrollbarOptions = { axis: \"yx\", theme: \"minimal-dark\" };\r\n public availableTimeSlots: any;\r\n public selectedSlot: string\r\n disableButton: boolean=false;\r\n SelectedDealerName: string='';\r\n isServerLive: boolean = true;\r\n selectedAccessories: any;\r\n selectedGiftCards: any;\r\n\r\n isMinBilUser: boolean = true;\r\n minBilConsent: MinBilConsentModel = new MinBilConsentModel();\r\n\r\n constructor(\r\n private commonService: CommonService,\r\n private loaderservice: LoaderindicatorService,\r\n private dataCommunicationService: DataCommunicationService,\r\n private translate: TranslateService,\r\n private readJsonFile: ReadingJsonService\r\n ) {\r\n const currentDate = new Date();\r\n this.dealerName = this.commonService.getLocalStorage(\"dealername\");\r\n const twoDayLatter = new Date();\r\n twoDayLatter.setDate(twoDayLatter.getDate() + 3);\r\n this.rentalCarDate = {\r\n year: twoDayLatter.getFullYear(),\r\n month: Number(twoDayLatter.getMonth() + 1),\r\n day: Number(twoDayLatter.getDate()),\r\n };\r\n }\r\n\r\n public Slected(codeChecked: any, value: any) {\r\n this.code = codeChecked;\r\n // if (this.code === 'rentalCar' && this.dealerConfig.EnableRentalCar == true) {\r\n // this.showRentalCar = true;\r\n\r\n // }\r\n if (this.code === \"customerWaiting\") {\r\n // this.CustomerWaitings = true;\r\n // this.CustomerWaitingSelected = false;\r\n // this.ShowCar = false;\r\n // this.showRentalCar = true;\r\n this.commonService.setLocalStorage('isWaiting','yes')\r\n //localStorage.removeItem(\"dropTime\");\r\n //localStorage.removeItem(\"RentalCar\");\r\n } else if (this.code === \"DropTime\" && value !=null) {\r\n this.ShowCar = true;\r\n this.showRentalCar = true;\r\n this.selectedItem = value;\r\n this.disableButton=false;\r\n localStorage.setItem(\"dropTime\", value);\r\n } else if (this.code === \"Waiting\") {\r\n this.selectedItems = value;\r\n\r\n localStorage.setItem(\"waitingTime\", value);\r\n } else if(value == null && this.code===\"DropTime\"){\r\n localStorage.removeItem(\"dropTime\");\r\n this.selectedItem =null;\r\n this.disableButton=false;\r\n setTimeout(() => {\r\n this.commonService.getErrorMessage(\r\n \"LoaderText.MechanicNotAvailable\"\r\n );\r\n }, 1000);\r\n \r\n }\r\n }\r\n\r\n public notSlected(event: any) {\r\n this.code = event;\r\n // if (this.code === 'rentalCar') {\r\n // this.showRentalCar = false;\r\n // localStorage.removeItem('RentalCar');\r\n // }\r\n if (this.code === \"customerWaiting\") {\r\n // this.ShowCar = true;\r\n // this.CustomerWaitings = false;\r\n // this.CustomerWaitingSelected = !this.CustomerWaitingSelected;\r\n this.commonService.removeLocalStorage(['isWaiting','waitingTime'])\r\n // this.selectedItems = null;\r\n // this.selectedItem = null;\r\n }\r\n }\r\n public changeisWaiting(){\r\n this.isWaiting = true;\r\n this.PickAtKiosk = false;\r\n this.PickUpCar = false;\r\n }\r\n public changePickAtKiosk(){\r\n this.PickAtKiosk = true;\r\n this.isWaiting = false;\r\n this.PickUpCar = false;\r\n }\r\n public changePickUpCar(){\r\n this.PickUpCar = true;\r\n this.PickAtKiosk = false;\r\n this.isWaiting = false;\r\n }\r\n public changeKioks(){\r\n this.kiosk = true;\r\n this.DeliverCar = false;\r\n }\r\n public changeDeliverCar(){\r\n this.kiosk = false;\r\n this.DeliverCar = true;\r\n }\r\n public notesChange() {\r\n if (\r\n this.CustomerNotes !== undefined &&\r\n this.CustomerNotes !== \"\" &&\r\n this.CustomerNotes != null\r\n ) {\r\n this.commonService.setLocalStorage(\"notes\", this.CustomerNotes);\r\n } else {\r\n this.commonService.removeLocalStorage([\"notes\"]);\r\n }\r\n }\r\n // public storeTime($event){\r\n // debugger\r\n // localStorage.setItem('witingTime',$event.value);\r\n // }\r\n\r\n public getTimeSlot() {\r\n this.Timeslote = [];\r\n this.Timeslote.push(\r\n {\r\n key: \"09:00\",\r\n description: \"09:00\",\r\n value: \"09:00\",\r\n },\r\n {\r\n key: \"10:00\",\r\n description: \"10:00\",\r\n value: \"10:00\",\r\n },\r\n {\r\n key: \"12:00\",\r\n description: \"12:00\",\r\n value: \"12:00\",\r\n }\r\n );\r\n }\r\n\r\n public getDropTimeSlot() {\r\n this.dropTimeslote = [];\r\n this.dropTimeslote.push(\r\n {\r\n key: \"08:00\",\r\n description: \"08:00\",\r\n value: \"08:00\",\r\n },\r\n {\r\n key: \"08:30\",\r\n description: \"08:30\",\r\n value: \"08:30\",\r\n },\r\n {\r\n key: \"09:00\",\r\n description: \"09:00\",\r\n value: \"09:00\",\r\n },\r\n {\r\n key: \"09:30\",\r\n description: \"09:30\",\r\n value: \"09:30\",\r\n },\r\n {\r\n key: \"10:00\",\r\n description: \"10:00\",\r\n value: \"10:00\",\r\n },\r\n {\r\n key: \"10:15\",\r\n description: \"10:15\",\r\n value: \"10:15\",\r\n }\r\n );\r\n }\r\n\r\n public confirmBooking() {\r\n if (this.rentalCar != null) {\r\n this.commonService.setLocalStorage(\"RentalCar\", this.rentalCar);\r\n }\r\n // if (this.ThirdPartyRentalcar > 0 && this.showRentalCar) {\r\n // this.translate.get('Common.CommonText.label.rentedcar').subscribe(message => {\r\n // this.commonService.setLocalStorage('RentalCar', ({ \"Brand\": message, \"Price\": this.dealerConfig.RentalCarPrice }));\r\n // });\r\n // }\r\n this.commonService.setLocalStorage(\"kiosk\", this.kiosk);\r\n this.commonService.setLocalStorage(\"isWaiting\", this.isWaiting);\r\n this.commonService.setLocalStorage(\"serviceAgreement\", this.serviceAgreement);\r\n this.commonService.setLocalStorage(\"PickAtKiosk\", this.PickAtKiosk);\r\n this.commonService.setLocalStorage(\"PickUpCar\", this.PickUpCar);\r\n this.commonService.setLocalStorage(\"DeliverCar\", this.DeliverCar);\r\n\r\n\r\n\r\n const appointmentFormData = {};\r\n\r\n var PackageServiceData = [];\r\n const serviceIDList = [];\r\n\r\n if (this.PackageData != null) {\r\n this.PDetail = [];\r\n if (this.PackageData.SelectedPackage.length > 0) {\r\n for (let g = 0; g < this.PackageData.SelectedPackage.length; g++) {\r\n PackageServiceData = [];\r\n for (\r\n let s = 0;\r\n s <\r\n this.PackageData.SelectedPackage[g].SelectedPackageServices.length;\r\n s++\r\n ) {\r\n const servicepackage = {\r\n ElementType:\r\n this.PackageData.SelectedPackage[g].SelectedPackageServices[s]\r\n .ElementType,\r\n ServiceName:\r\n this.PackageData.SelectedPackage[g].SelectedPackageServices[s]\r\n .ServiceName,\r\n Quantity:\r\n this.PackageData.SelectedPackage[g].SelectedPackageServices[s]\r\n .Quantity,\r\n // Price: this.ServiceDetail[s].Price,\r\n // LineAmount: this.ServiceDetail[s].LineAmount,\r\n VM: this.PackageData.SelectedPackage[g].SelectedPackageServices[s]\r\n .VM,\r\n LineAmountVat:\r\n this.PackageData.SelectedPackage[g].SelectedPackageServices[s]\r\n .LineAmountVat,\r\n Rebate:\r\n this.PackageData.SelectedPackage[g].SelectedPackageServices[s]\r\n .LineAmountVat.Rebate,\r\n duration:\r\n this.PackageData.SelectedPackage[g].SelectedPackageServices[s]\r\n .duration,\r\n ServiceId:\r\n this.PackageData.SelectedPackage[g].SelectedPackageServices[s]\r\n .ServiceId,\r\n };\r\n PackageServiceData.push(servicepackage);\r\n }\r\n\r\n this.PDetail.push({\r\n ServiceName: this.PackageData.SelectedPackage[g].packageName,\r\n ServiceId: this.PackageData.SelectedPackage[g].PackageId,\r\n ServiceType: this.PackageData.SelectedPackage[g].PackageType,\r\n Duration: Number(\r\n this.commonService.getLocalStorageitem(\"totalTime\")\r\n ), //this.PackageData.SelectedPackage[g].duration,\r\n ServiceTotal: this.PackageData.SelectedPackage[g].price,\r\n PartsTotal: this.PackageData.SelectedPackage[g].PartsTotal,\r\n WorkTotal: this.PackageData.SelectedPackage[g].WorkTotal,\r\n ApplicablePrice:\r\n this.PackageData.SelectedPackage[g].ApplicablePrice,\r\n TotalGrossPrice:\r\n this.PackageData.SelectedPackage[g].TotalGrossPrice,\r\n TotalRegularPrice:\r\n this.PackageData.SelectedPackage[g].TotalRegularPrice,\r\n Rebate: this.PackageData.SelectedPackage[g].Rebate,\r\n VM: this.PackageData.SelectedPackage[g].VM,\r\n ServicePackageDetail: PackageServiceData,\r\n //subPackageList:this.PackageData.SelectedPackage[g].subPackageList\r\n });\r\n }\r\n }\r\n }\r\n const appointmentDate = this.commonService.getLocalStorage(\"AppointDate\");\r\n appointmentFormData[\"CustomerExternalViewModel\"] =\r\n this.commonService.getLocalStorage(\"customerData\");\r\n appointmentFormData[\"VehicleExternalViewModel\"] =\r\n this.commonService.getLocalStorage(\"vehicleData\");\r\n appointmentFormData[\"AddtionalServicePackageDetail\"] = this.serviceList;\r\n console.log(this.serviceList)\r\n \r\n appointmentFormData[\"DelerId\"] =\r\n this.commonService.getLocalStorage(\"dealername\");\r\n appointmentFormData[\"AppoinmentBookDateTime\"] =\r\n appointmentDate.month +\r\n \"/\" +\r\n appointmentDate.day +\r\n \"/\" +\r\n appointmentDate.year;\r\n \r\n appointmentFormData[\"Month\"] = this.currentDate.getMonth() + 1;\r\n appointmentFormData[\"YearCalender\"] = this.currentDate.getFullYear();\r\n let custNote = this.CustomerNotes ? this.CustomerNotes : '';\r\n //custNote = custNote + \" | \" + this.selectedDeliveryOption + \" | \" + this.selectedPickupOption;\r\n let rf = this.commonService.getLocalStorageitem(\"RF\");\r\n //custNote += this.commonService.getLocalStorageitem('isWaiting')?' VENTEKUNDE':'';\r\n custNote += this.kiosk?' | Jeg ønsker på levere nøkkelen i kiosk/automat':'';\r\n custNote += this.DeliverCar?' | Jeg leverer bilen minimum 15 minutter før timen':'';\r\n custNote += this.PickAtKiosk?' | Jeg ønsker å hente bil på kiosk/automat døgnåpent':'';\r\n custNote += this.PickUpCar?' | Jeg henter bilen min innenfor åpningstiden':'';\r\n custNote += this.isWaiting? ' | Jeg ønsker å vente under service' : '';\r\n custNote += rf == 'yes' ? ' | Utestående produktforbedringskampanje' : '';\r\n appointmentFormData[\"CustomerNote\"] = custNote;\r\n\r\n appointmentFormData[\"ServicePackageViewModel\"] = this.PDetail;\r\n if(this.selectedAccessories != null && this.selectedAccessories != undefined){\r\n this.selectedAccessories.forEach(element => {\r\n delete element.isSelected;\r\n element.ImagePath = '';\r\n });\r\n }\r\n \r\n appointmentFormData[\"selectedAccessories\"] = this.selectedAccessories;\r\n // appointmentFormData['IsForMaintenance'] = this.maintenance;\r\n // appointmentFormData['IsTiresHotel'] = this.HotelAtTyre;\r\n appointmentFormData[\"IsCustomerWaiting\"] =\r\n this.commonService.getLocalStorageitem(\"waitingTime\") != null\r\n ? true\r\n : false;\r\n appointmentFormData[\"WaitTime\"] =\r\n this.commonService.getLocalStorageitem(\"waitingTime\");\r\n appointmentFormData[\"DropTime\"] =\r\n this.commonService.getLocalStorageitem(\"dropTime\");\r\n let rentalcartemp = this.commonService.getLocalStorage(\"RentalCar\");\r\n appointmentFormData[\"RentalCarDetailModel\"] = rentalcartemp;\r\n appointmentFormData[\"RentalCarId\"] = rentalcartemp != null ? rentalcartemp.RentalCarId : 0;\r\n appointmentFormData[\"RentalProvider\"] = rentalcartemp == null ? 0 : this.commonService.getLocalStorageByKey( \"dealerConfig\", \"RentalProvider\" );\r\n appointmentFormData[\"IsOwnRentalCar\"] = this.commonService.getLocalStorageByKey( \"dealerConfig\",\"RentalProvider\") == 1? true: false;\r\n appointmentFormData[\"RentalCarPrice\"] = rentalcartemp != null ? rentalcartemp.Price : 0;\r\n //appointmentFormData[\"ThirdPartyRentalCarCost\"] = this.commonService.getLocalStorageByKey(\"dealerConfig\", \"RentalCarPrice\");\r\n // appointmentFormData['AppointmentJobPlanningViewModel'] = this.appointmentJobPlanning;\r\n appointmentFormData[\"Kiosk\"] =\r\n this.commonService.getLocalStorageitem(\"kiosk\");\r\n appointmentFormData[\"TotalKM\"] =\r\n this.commonService.getLocalStorageitem(\"VehileKm\") == \"---\"\r\n ? 0\r\n : this.commonService.getLocalStorageitem(\"VehileKm\");\r\n appointmentFormData[\"IsOnlineWidget\"] = true;\r\n \r\n\r\n \r\n\r\n appointmentFormData[\"TotalServicesHours\"] =\r\n this.commonService.getLocalStorageitem(\"totalTime\");\r\n appointmentFormData[\"RecallFactory\"] =\r\n this.commonService.getLocalStorageitem(\"RF\");\r\n appointmentFormData[\"IsElectric\"] =\r\n this.commonService.getLocalStorageByKey(\"vehicleData\", \"Fuelcode\") ==\r\n \"Electric\"\r\n ? true\r\n : false;\r\n appointmentFormData[\"EuControlServiceDetail\"] = this.euServiceData;\r\n appointmentFormData[\"PickAtKiosk\"] =\r\n this.commonService.getLocalStorageitem(\"PickAtKiosk\");\r\n //appointmentFormData[\"PickUpCar\"] =\r\n //this.commonService.getLocalStorageitem(\"PickUpCar\");\r\n //appointmentFormData[\"DeliverCar\"] =\r\n //this.commonService.getLocalStorageitem(\"DeliverCar\");\r\n appointmentFormData[\"ServiceAgreement\"] = this.serviceAgreement;\r\n appointmentFormData[\"AppointmentSource\"] = this.commonService.getLocalStorageitem(\"AppointmentSource\");\r\n appointmentFormData[\"SelectedGiftCards\"] = null;\r\n if(this.selectedGiftCards != undefined){\r\n appointmentFormData[\"SelectedGiftCards\"] = this.selectedGiftCards;\r\n }\r\n \r\n //console.log(JSON.stringify(appointmentFormData))\r\n this.translate.get(\"LoaderText.loading\").subscribe((message) => {\r\n this.loaderservice.show(message);\r\n });\r\n // if(this.selectedSlot!='' && this.selectedSlot!=undefined && this.selectedSlot!=null)\r\n // {\r\n // appointmentFormData[\"IsCustomerWaiting\"] =false\r\n // appointmentFormData[\"WaitTime\"] =null\r\n // appointmentFormData[\"DropTime\"] =this.selectedSlot\r\n // this.commonService.removeLocalStorage(['dropTime','waitingTime']);\r\n // this.commonService.setLocalStorage('dropTime',this.selectedSlot)\r\n // }\r\n appointmentFormData[\"RepairComment\"]=this.commonService.getLocalStorageitem(\"RepairComment\");\r\n this.dataCommunicationService\r\n .saveBookingOrder(appointmentFormData)\r\n .subscribe(\r\n (result) => {\r\n this.disableButton=false;\r\n this.loaderservice.hide();\r\n if (result.StatusCode === 1) {\r\n this.evaluateDataForAnalytics();\r\n this.commonService.NavigatePage(paths.BOOKINGSUMMARY);\r\n } else {\r\n }\r\n },\r\n (error) => {\r\n this.commonService.getErrorMessage(\"LoaderText.WentWrong\");\r\n }\r\n );\r\n }\r\n public evaluateDataForAnalytics() {\r\n let IsNotes = \"false\";\r\n let IsRentalCar = \"true\";\r\n if (this.commonService.getLocalStorageitem(\"notes\") != null) {\r\n IsNotes = \"true\";\r\n }\r\n if ( this.commonService.getLocalStorageByKey(\"RentalCar\", \"RentalCarId\") == null || this.commonService.getLocalStorageByKey(\"RentalCar\", \"RentalCarId\") == \"0\"\r\n ) {\r\n IsRentalCar = \"false\";\r\n }\r\n if (IsRentalCar === \"true\") {\r\n this.PushDataToAnalytics(\r\n this.commonService.getLocalStorageByKey(\"vehicleData\", \"BrandName\") +\r\n \" \" +\r\n this.commonService.getLocalStorageByKey(\"vehicleData\", \"ModelName\"),\r\n IsRentalCar,\r\n IsNotes,\r\n this.serviceTotal +\r\n this.commonService.getLocalStorageByKey(\"RentalCar\", \"Price\")\r\n );\r\n } else {\r\n this.PushDataToAnalytics(\r\n this.commonService.getLocalStorageByKey(\"vehicleData\", \"BrandName\") +\r\n \" \" +\r\n this.commonService.getLocalStorageByKey(\"vehicleData\", \"ModelName\"),\r\n IsRentalCar,\r\n IsNotes,\r\n this.serviceTotal\r\n );\r\n }\r\n }\r\n public PushDataToAnalytics(BrandModel, RentalCar, Notes, TotalSum) {\r\n this.currentData = {\r\n //event: \"BookingRecieved\",\r\n \"so-car\": BrandModel, // make and model of the car\r\n \"so-dealer\": this.SelectedDealerName, // name of the dealer\r\n \"so-dealerMessage\": Notes, // 'true'/'false' based on if the user have submitted a custom message to the dealer\r\n \"so-rentalCar\": RentalCar, // 'true'/'false' based on if the user have selected to rent a car\r\n \"so-orderValue\": TotalSum, // total sum of the order including all services and renalt car\r\n };\r\n //(window as any).dataLayer.push(this.currentData);\r\n\r\n gtag('event', 'BookingRecieved', this.currentData);\r\n }\r\n\r\n toggleShow() {\r\n // this.isShown = ! this.isShown;\r\n const MitsubishiParentClass = document.querySelector(\"#confirmPage\");\r\n if (MitsubishiParentClass.classList.contains(\"os-open\")) {\r\n MitsubishiParentClass.classList.remove(\"os-open\");\r\n } else {\r\n MitsubishiParentClass.classList.add(\"os-open\");\r\n }\r\n }\r\n public ServiceListPage() {\r\n this.commonService.NavigatePage(paths.CARSERVICE);\r\n }\r\n\r\n public dateChanged($event) {\r\n this.IsSubmitted = false;\r\n if ($event != null && $event != undefined) {\r\n this.SelectedDate = $event.day + \".\" + $event.month + \".\" + $event.year;\r\n this.rentalCarDate = {\r\n year: $event.year,\r\n month: $event.month,\r\n day: $event.day,\r\n };\r\n this.commonService.setLocalStorage(\"AppointDate\", $event);\r\n //console.log(this.rentalCarDate);\r\n // if (this.rentalCarListComponent != undefined)\r\n // this.rentalCarListComponent.getRentalCars(this.rentalCarDate);\r\n this.IsSubmitted = false;\r\n } else {\r\n this.IsSubmitted = true;\r\n }\r\n\r\n this.checkMechanic(\"DateChanged\")\r\n this.disableButton=false;\r\n }\r\n public getLocalData() {\r\n this.customerVehicleList =\r\n this.commonService.getLocalStorage(\"vehicleData\");\r\n const pkkdt = this.commonService.formatDate(\r\n new Date(this.customerVehicleList.PKKDate)\r\n );\r\n this.pkkDate = pkkdt;\r\n\r\n this.MthsFromRegistration = this.commonService.getLocalStorageByKey(\r\n \"vehicleData\",\r\n \"MthsFromRegistration\"\r\n );\r\n this.DateLastService = this.commonService.getLocalStorageByKey(\r\n \"vehicleData\",\r\n \"DateLastService\"\r\n );\r\n if (\r\n this.DateLastService != \"\" &&\r\n this.DateLastService != undefined &&\r\n this.DateLastService != null\r\n ) {\r\n this.DateLastService = this.commonService.formatDate(\r\n new Date(this.DateLastService)\r\n );\r\n }\r\n this.BrandCode = this.commonService.getLocalStorageByKey(\r\n \"vehicleData\",\r\n \"BrandName\"\r\n );\r\n this.PackageData = this.commonService.getLocalStorage(\r\n \"PackageServiceListData\"\r\n );\r\n this.serviceList = this.commonService.getLocalStorage(\"SelectedService\");\r\n \r\n this.selectedAccessories = this.commonService.getLocalStorage('SelectedAccessories');\r\n this.euServiceData =\r\n this.commonService.getLocalStorage(\"SelectedEUService\");\r\n this.dealerConfig = this.commonService.getLocalStorage(\"dealerConfig\");\r\n if (this.dealerConfig.ConfigurationWaitingTimes.length == 0) {\r\n this.IsCustomerWait = true;\r\n }\r\n this.vehicleKilometer = this.commonService.getLocalStorageitem(\"VehileKm\");\r\n this.ModelImage = this.commonService.getLocalStorageByKey(\r\n \"vehicleData\",\r\n \"ModelImage\"\r\n );\r\n if (this.commonService.getLocalStorage(\"SelectedEUService\")) {\r\n this.PkkService = true;\r\n }\r\n //debugger;\r\n if (this.serviceList != null) {\r\n // tslint:disable-next-line:prefer-for-of\r\n for (let i = 0; i < this.serviceList.length; i++) {\r\n this.serviceTotal =\r\n this.serviceTotal + (!this.commonService.isFreeService(this.BrandCode, this.serviceList[i].groupId) ? this.serviceList[i].LineAmountVat : 0);\r\n }\r\n }\r\n if (this.PackageData != null) {\r\n this.serviceTotal = Number(\r\n (this.serviceTotal + this.PackageData.TotalPrice).toFixed(2)\r\n );\r\n }\r\n if (this.euServiceData != null) {\r\n for (let i = 0; i < this.euServiceData.length; i++) {\r\n this.serviceTotal =\r\n this.serviceTotal + this.euServiceData[i].LineAmountVat;\r\n }\r\n }\r\n if(this.selectedAccessories != null && this.selectedAccessories != undefined){\r\n this.selectedAccessories.forEach(element => {\r\n this.serviceTotal += element.Price;\r\n });\r\n }\r\n \r\n this.CustomerNotes = this.commonService.getLocalStorageitem(\"notes\");\r\n if(this.CustomerNotes==undefined){\r\n this.CustomerNotes=\"\";\r\n }\r\n this.selectedGiftCards = this.commonService.getLocalStorage(\"selectedGiftCards\");\r\n }\r\n getRentalcar() {\r\n this.rentalCarPrice = 0;\r\n this.rentalCarList = this.commonService.getLocalStorage(\"RentalCar\");\r\n if (this.rentalCarList == undefined || this.rentalCarList == null) {\r\n this.totalSelectedRental = false;\r\n } else {\r\n this.totalSelectedRental = true;\r\n this.rentalCarPrice = this.rentalCarList.Price;\r\n }\r\n }\r\n getCSSDynamic() {\r\n // if (this.brandName.slice(0, 7) === \"Renault\") {\r\n // return \"renault\";\r\n // } else if (\r\n // this.brandName.slice(0, 7).toLocaleLowerCase().includes(\"dacia\")\r\n // ) {\r\n // return \"dacia\";\r\n // } else {\r\n // return \"mitsubishi\";\r\n // }\r\n return this.BrandCode.toLocaleLowerCase()\r\n }\r\n ngOnInit() {\r\n this.SelectedDealerName = this.commonService.getLocalStorageitem(\"SelectedDealerName\");\r\n this.isMinBilUser = this.commonService.getLocalStorageitem(\"IsMinBilUser\") === \"true\";\r\n if(!this.isMinBilUser){\r\n this.getMinBilConsnet();\r\n }else{\r\n this.minBilConsent.CampaignConsent = true;\r\n }\r\n this.ModelImage =\r\n \"data:image/jpeg;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==\";\r\n this.brandName = this.commonService.getLocalStorageByKey(\r\n \"vehicleData\",\r\n \"BrandName\"\r\n );\r\n this.getLocalData();\r\n var dates = this.commonService.getLocalStorage(\"AvailableDates\");\r\n if (dates == null || dates.length == 0) {\r\n this.commonService.getErrorMessage(\"LoaderText.Notavailable\");\r\n }\r\n this.dealerConfig = this.commonService.getLocalStorage(\"dealerConfig\");\r\n // let drTime = [];\r\n // drTime.push({ WaitingTimeSloatId: 0, DealerConfigurationId: 1, TimeSloat: \"07:00\" })\r\n // for (let p = 0; p < this.dealerConfig.ConfigurationArrivalTimes.length; p++) {\r\n // drTime.push(this.dealerConfig.ConfigurationArrivalTimes[p])\r\n // }\r\n // this.dealerConfig.ConfigurationArrivalTimes = drTime\r\n\r\n // let waitTime = [];\r\n // waitTime.push({ WaitingTimeSloatId: 0, DealerConfigurationId: 1, TimeSloat: \"07:00\" })\r\n // for (let p = 0; p < this.dealerConfig.ConfigurationWaitingTimes.length; p++) {\r\n // waitTime.push(this.dealerConfig.ConfigurationWaitingTimes[p])\r\n // }\r\n // this.dealerConfig.ConfigurationWaitingTimes = waitTime\r\n\r\n this.calculateDuration();\r\n if (this.commonService.getLocalStorageitem(\"kiosk\")) {\r\n this.kiosk =\r\n this.commonService.getLocalStorageitem(\"kiosk\") == \"true\"\r\n ? true\r\n : false;\r\n }\r\n if (this.commonService.getLocalStorageitem(\"PickAtKiosk\")) {\r\n this.PickAtKiosk =\r\n this.commonService.getLocalStorageitem(\"PickAtKiosk\") == \"true\"\r\n ? true\r\n : false;\r\n }\r\n if (this.commonService.getLocalStorageitem(\"PickUpCar\")) {\r\n this.PickUpCar =\r\n this.commonService.getLocalStorageitem(\"PickUpCar\") == \"true\"\r\n ? true\r\n : false;\r\n }\r\n if (this.commonService.getLocalStorageitem(\"DeliverCar\")) {\r\n this.DeliverCar =\r\n this.commonService.getLocalStorageitem(\"DeliverCar\") == \"true\"\r\n ? true\r\n : false;\r\n }\r\n if (this.commonService.getLocalStorageitem(\"waitingTime\")) {\r\n this.CustomerWaitingYes = true;\r\n this.CuatomerWaitingNo = false;\r\n this.CustomerWaitings = true;\r\n this.selectedItems =\r\n this.commonService.getLocalStorageitem(\"waitingTime\");\r\n }\r\n\r\n if (this.commonService.getLocalStorageitem(\"dropTime\")) {\r\n this.CuatomerWaitingNo = true;\r\n this.CustomerWaitingYes = false;\r\n this.CustomerWaitingSelected = true;\r\n this.ShowCar = true;\r\n this.selectedItem = this.commonService.getLocalStorageitem(\"dropTime\");\r\n\r\n // if (this.commonService.getLocalStorageitem('RentalCar')) {\r\n // this.showRentalCar = true;\r\n // this.rentalYes = true;\r\n // this.rentalNo = false;\r\n // }\r\n // else {\r\n // this.showRentalCar = false;\r\n // this.rentalYes = false;\r\n // this.rentalNo = true;\r\n // }\r\n if (this.dealerConfig.EnableRentalCar == true) {\r\n this.showRentalCar = true;\r\n } else {\r\n this.showRentalCar = true;\r\n }\r\n }\r\n }\r\n\r\n public calculateDuration() {\r\n if (Number(this.commonService.getLocalStorageitem(\"totalTime\")) > 0) {\r\n const duration = this.commonService\r\n .getLocalStorageitem(\"totalTime\")\r\n .split(\".\");\r\n if (Number(duration[0]) !== 0 || Number(duration[1]) !== 0) {\r\n if (\r\n (Number(duration[0]) == 0 && Number(duration[1]) <= 60) ||\r\n (Number(duration[0]) == 1 && Number(duration[1]) === 0)\r\n ) {\r\n this.loadDefaultValues(\"d\");\r\n //this.IsCustomerWait = false;\r\n } else {\r\n this.loadDefaultValues(\"d\");\r\n // this.notSlected('customerWaiting');\r\n //this.IsCustomerWait = true;\r\n }\r\n } else {\r\n //this.IsCustomerWait = true;\r\n // this.notSlected('customerWaiting');\r\n }\r\n }\r\n }\r\n\r\n public loadDefaultValues(type) {\r\n if (type == \"d\") {\r\n this.notSlected(\"customerWaiting\");\r\n if (!this.commonService.getLocalStorageitem(\"dropTime\")) {\r\n this.Slected(\r\n \"DropTime\",\r\n this.dealerConfig.ConfigurationArrivalTimes[0].TimeSloat\r\n );\r\n }\r\n } else {\r\n // this.notSlected('customerWaiting')\r\n this.Slected(\r\n \"Waiting\",\r\n this.dealerConfig.ConfigurationWaitingTimes[0].TimeSloat\r\n );\r\n }\r\n }\r\n\r\n public checkMechanic(from = \"\") {\r\n this.disableButton=true;\r\n const appointmentDate = this.commonService.getLocalStorage(\"AppointDate\");\r\n const appointmentCheckAvailabilityRequest: any = [];\r\n\r\n appointmentCheckAvailabilityRequest.totalServicesHours =\r\n this.commonService.getLocalStorageitem(\"totalTime\");\r\n \r\n \r\n appointmentCheckAvailabilityRequest.brandCode =\r\n this.commonService.getLocalStorageByKey(\"vehicleData\", \"BrandName\");\r\n appointmentCheckAvailabilityRequest.dealerId =\r\n this.commonService.getLocalStorage(\"dealername\");\r\n appointmentCheckAvailabilityRequest.PkkService = this.PkkService;\r\n appointmentCheckAvailabilityRequest.startDate =\r\n appointmentDate.year +\r\n \"-\" +\r\n appointmentDate.month +\r\n \"-\" +\r\n appointmentDate.day;\r\n appointmentCheckAvailabilityRequest.IsOnlinePlanner = true;\r\n if (\r\n localStorage.getItem(\"waitingTime\") != undefined &&\r\n localStorage.getItem(\"waitingTime\") != null &&\r\n localStorage.getItem(\"waitingTime\") != \"\" && from==''\r\n ) {\r\n appointmentCheckAvailabilityRequest[\"WaitTimeDropTime\"] =\r\n localStorage.getItem(\"waitingTime\");\r\n } else if (\r\n localStorage.getItem(\"dropTime\") != undefined &&\r\n localStorage.getItem(\"dropTime\") != null &&\r\n localStorage.getItem(\"dropTime\") != \"\" && from==''\r\n ) {\r\n appointmentCheckAvailabilityRequest[\"WaitTimeDropTime\"] =\r\n localStorage.getItem(\"dropTime\");\r\n }\r\n\r\n // if(this.selectedSlot!='' && this.selectedSlot!=undefined && this.selectedSlot!=null)\r\n // {\r\n // appointmentCheckAvailabilityRequest[\"WaitTimeDropTime\"] =this.selectedSlot\r\n // }\r\n\r\n this.translate.get(\"LoaderText.loading\").subscribe((message) => {\r\n this.loaderservice.show(message);\r\n });\r\n this.dataCommunicationService\r\n .getAvailableMechanic(appointmentCheckAvailabilityRequest)\r\n .subscribe(\r\n (result) => {\r\n this.loaderservice.hide();\r\n \r\n \r\n if (result != null) {\r\n if (result.Dates != null && result.Dates.length > 0 && result.Dates[0].Mechanics.length > 0) \r\n {\r\n this.commonService.clearToaster();\r\n if (from == \"\") \r\n { \r\n if(!this.isMinBilUser){\r\n this.updateMinBilConsent();\r\n }else{\r\n this.confirmBooking();\r\n }\r\n \r\n \r\n } \r\n else \r\n {\r\n this.availableTimeSlots=result.Timelsots\r\n if(this.availableTimeSlots!=null && this.availableTimeSlots.length>0 && this.dealerConfig.RealTimeBooking )\r\n {\r\n this.selectedSlot=this.availableTimeSlots[0]\r\n this.Slected('DropTime',this.selectedSlot)\r\n }\r\n else if(!this.dealerConfig.RealTimeBooking){ \r\n this.Slected('DropTime',this.dealerConfig.ConfigurationArrivalTimes[0].TimeSloat);\r\n }else{\r\n this.selectedSlot=null;\r\n this.Slected('DropTime',null);\r\n }\r\n }\r\n } \r\n else \r\n {\r\n this.availableTimeSlots=[]\r\n this.commonService.getErrorMessage(\r\n \"LoaderText.MechanicNotAvailable\"\r\n );\r\n this.disableButton=true;\r\n this.selectedItem=null\r\n }\r\n\r\n // this.commonService.NavigatePage(paths.CONFIRMORDER);\r\n }\r\n if (this.rentalCarListComponent != undefined && from!=\"\")\r\n this.rentalCarListComponent.getRentalCars(this.rentalCarDate);\r\n },\r\n (error) => {\r\n this.commonService.getErrorMessage(\"LoaderText.DMSDown\");\r\n this.SelectedDate = undefined;\r\n this.selectedItem = undefined;\r\n this.isServerLive = false;\r\n this.disableButton=false;\r\n }\r\n );\r\n \r\n }\r\n\r\n\r\n public getMinBilConsnet(){\r\n this.translate.get(\"LoaderText.loading\").subscribe((message) => {\r\n this.loaderservice.show(message);\r\n });\r\n let phone = this.commonService.getLocalStorageByKey('customerData', 'MobileNo');\r\n this.dataCommunicationService.GetMinBilConsent(phone).subscribe((resp) =>{\r\n this.loaderservice.hide();\r\n if(resp.StatusCode === 1 && resp.Data != null){\r\n this.minBilConsent = resp.Data;\r\n }else{\r\n this.isMinBilUser = true;\r\n this.minBilConsent.CampaignConsent = true;\r\n }\r\n },\r\n (error)=>{\r\n this.isMinBilUser = true;\r\n this.minBilConsent.CampaignConsent = true;\r\n })\r\n }\r\n\r\n public updateMinBilConsent(){\r\n this.translate.get(\"LoaderText.loading\").subscribe((message) => {\r\n this.loaderservice.show(message);\r\n });\r\n this.dataCommunicationService.UpdateMinBilConsent(this.minBilConsent).subscribe(resp=>{\r\n this.loaderservice.hide();\r\n if(resp){\r\n this.confirmBooking();\r\n }\r\n })\r\n }\r\n\r\n public disableDropTimeSlot(t) {\r\n // var shiftTime = this.dealerConfig.ShiftStartTime.split(':')[0] + '.' + this.dealerConfig.ShiftStartTime.split(':')[1];\r\n // if (t != shiftTime) {\r\n // // let d = moment.duration(t.diff(shiftTime));\r\n // var serviceDuration = Number(this.commonService.getLocalStorageitem('totalTime')) + Number(t.replace(':', '.'))\r\n // var shiftTime1 = (Number(shiftTime) + 9.30)\r\n // if (parseFloat(serviceDuration + '.00') > Number(shiftTime1)) { return 'disableDropTime'; }\r\n // else {\r\n // if (this.selectedItem == t) {\r\n // return 'active'\r\n // }\r\n // }\r\n // }\r\n if (this.selectedItem == t) {\r\n return \"active\";\r\n }\r\n\r\n //return 'active'\r\n }\r\n}\r\n","module.exports = \".ws_form_block select.ws_input {\\r\\n width: 100%;\\r\\n height: 42px;\\r\\n margin: 0 5px 5px 0;\\r\\n padding-left: 10px;\\r\\n padding-right: 10px;\\r\\n border: 1px solid #ddd;\\r\\n}\\r\\n\\r\\n.drop-down-first{\\r\\n -webkit-appearance: none;\\r\\n -moz-appearance: none;\\r\\n appearance: none;\\r\\n border: none;\\r\\n background: none;\\r\\n font-family: MMC-Medium,Arial,Helvetica,Verdana,sans-serif;\\r\\n text-transform: uppercase;\\r\\n letter-spacing: 1px;\\r\\n background-image: url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='24' height='24' viewBox='0 0 24 24'%3E%3Cdefs%3E%3Cpath id='a' fill='%235A646E' d='M12.5 13.563L6.762 8 5 9.712 12.5 17 20 9.712 18.237 8z'/%3E%3C/defs%3E%3Cuse fill-rule='evenodd' xlink:href='%23a'/%3E%3C/svg%3E\\\");\\r\\n background-repeat: no-repeat;\\r\\n background-position: 100%;\\r\\n line-height: 24px;\\r\\n font-size: 16px;\\r\\n padding-right: 24px;\\r\\n max-width: 100%;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.drop-down-second{\\r\\n margin: 0 5px 5px 0;\\r\\n margin-top: 8px;\\r\\n text-transform: none;\\r\\n padding-bottom: 2px;\\r\\n border-bottom: 1px solid #c8c8c8;\\r\\n border-radius: 0;\\r\\n \\r\\n}\\r\\n\\r\\n.dealerName{\\r\\n text-decoration: underline;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.dealerName:hover{\\r\\n text-decoration: none;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvTW9kdWxlcy9kZWFsZXItc2VsZWN0aW9uL2RlYWxlci1zZWxlY3Rpb24uY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLFdBQVc7SUFDWCxZQUFZO0lBQ1osbUJBQW1CO0lBQ25CLGtCQUFrQjtJQUNsQixtQkFBbUI7SUFDbkIsc0JBQXNCO0FBQzFCOztBQUVBO0lBQ0ksd0JBQXdCO0lBQ3hCLHFCQUFxQjtJQUNyQixnQkFBZ0I7SUFDaEIsWUFBWTtJQUNaLGdCQUFnQjtJQUNoQiwwREFBMEQ7SUFDMUQseUJBQXlCO0lBQ3pCLG1CQUFtQjtJQUNuQiwwV0FBMFc7SUFDMVcsNEJBQTRCO0lBQzVCLHlCQUF5QjtJQUN6QixpQkFBaUI7SUFDakIsZUFBZTtJQUNmLG1CQUFtQjtJQUNuQixlQUFlO0lBQ2YsV0FBVztBQUNmOztBQUNBO0lBQ0ksbUJBQW1CO0lBQ25CLGVBQWU7SUFDZixvQkFBb0I7SUFDcEIsbUJBQW1CO0lBQ25CLGdDQUFnQztJQUNoQyxnQkFBZ0I7O0FBRXBCOztBQUVBO0lBQ0ksMEJBQTBCO0lBQzFCLGVBQWU7QUFDbkI7O0FBQ0E7SUFDSSxxQkFBcUI7QUFDekIiLCJmaWxlIjoic3JjL2FwcC9Nb2R1bGVzL2RlYWxlci1zZWxlY3Rpb24vZGVhbGVyLXNlbGVjdGlvbi5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLndzX2Zvcm1fYmxvY2sgc2VsZWN0LndzX2lucHV0IHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiA0MnB4O1xyXG4gICAgbWFyZ2luOiAwIDVweCA1cHggMDtcclxuICAgIHBhZGRpbmctbGVmdDogMTBweDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkO1xyXG59XHJcblxyXG4uZHJvcC1kb3duLWZpcnN0e1xyXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xyXG4gICAgYXBwZWFyYW5jZTogbm9uZTtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICBmb250LWZhbWlseTogTU1DLU1lZGl1bSxBcmlhbCxIZWx2ZXRpY2EsVmVyZGFuYSxzYW5zLXNlcmlmO1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB4bWxuczp4bGluaz0naHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluaycgd2lkdGg9JzI0JyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMjQgMjQnJTNFJTNDZGVmcyUzRSUzQ3BhdGggaWQ9J2EnIGZpbGw9JyUyMzVBNjQ2RScgZD0nTTEyLjUgMTMuNTYzTDYuNzYyIDggNSA5LjcxMiAxMi41IDE3IDIwIDkuNzEyIDE4LjIzNyA4eicvJTNFJTNDL2RlZnMlM0UlM0N1c2UgZmlsbC1ydWxlPSdldmVub2RkJyB4bGluazpocmVmPSclMjNhJy8lM0UlM0Mvc3ZnJTNFXCIpO1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCU7XHJcbiAgICBsaW5lLWhlaWdodDogMjRweDtcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDI0cHg7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxufVxyXG4uZHJvcC1kb3duLXNlY29uZHtcclxuICAgIG1hcmdpbjogMCA1cHggNXB4IDA7XHJcbiAgICBtYXJnaW4tdG9wOiA4cHg7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgIHBhZGRpbmctYm90dG9tOiAycHg7XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2M4YzhjODtcclxuICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICBcclxufVxyXG5cclxuLmRlYWxlck5hbWV7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG4uZGVhbGVyTmFtZTpob3ZlcntcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxufSJdfQ== */\"","module.exports = \"
    \\r\\n \\r\\n
    \\r\\n

    Forhandlerliste

    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n\"","import { Component, OnInit } from '@angular/core';\r\nimport { paths } from 'src/app/Shared/enums/paths.enum';\r\nimport { CommonService } from 'src/app/Shared/services/common_services/common.service';\r\nimport { DataCommunicationService } from 'src/app/Shared/services/data_service/data-communication.service';\r\nimport { LoaderindicatorService } from 'src/app/Shared/services/loaderindicator/loaderindicator.service';\r\n\r\n@Component({\r\n selector: 'mgfw-dealer-selection',\r\n templateUrl: './dealer-selection.component.html',\r\n styleUrls: ['./dealer-selection.component.css']\r\n})\r\nexport class DealerSelectionComponent implements OnInit {\r\n\r\n param = {UserID:0,Brand:'Mitsubishi'}\r\n dealerList = [];\r\n dealerGroupByCounty = []\r\n selectedDealer = null;\r\n constructor(\r\n private commonService: CommonService,\r\n private dataCommunicationService: DataCommunicationService,\r\n private readonly loadingIndicatorService: LoaderindicatorService,\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.commonService.clearLocalStorage();\r\n this.commonService.setLocalStorage(\"AppointmentSource\",\"Mitsubishi\");\r\n this.getAllDealers();\r\n }\r\n\r\n getAllDealers(){\r\n this.dataCommunicationService.getDealerList(this.param).subscribe(result=>{\r\n this.dealerList = [];\r\n if(result.StatusCode === 1){\r\n this.dealerList = result.Data;\r\n var County = this.dealerList.map(item => item.County).filter((value, index, self) => self.indexOf(value) === index)\r\n delete County[County.indexOf(null)]\r\n County.forEach(element => {\r\n this.dealerGroupByCounty.push({'County':element,'Dealers':this.dealerList.filter(x=>x.County == element)})\r\n }); \r\n }\r\n \r\n })\r\n }\r\n\r\n selectDealer(id){\r\n this.selectedDealer = this.dealerList.find(x=>x.DealerNo == id);\r\n }\r\n\r\n redirect(){\r\n this.commonService.setLocalStorage(\"SelectedDealerName\",this.selectedDealer.Name);\r\n this.commonService.NavigatePage(paths.BOOKAPPOINTMENT,this.selectedDealer.DealerAliasName,'Mitsubishi');\r\n \r\n }\r\n\r\n}\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL01vZHVsZXMvbW9iaWxlLXZlcmlmaWNhdGlvbi9tb2JpbGUtdmVyaWZpY2F0aW9uLmNvbXBvbmVudC5jc3MifQ== */\"","module.exports = \"\\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{SelectedDealerName}}\\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n

    {{ \\\"Common.CommonText.Headers.Page1Header1\\\" | translate }}

    \\r\\n
    \\r\\n
    \\r\\n \\\"image\\\"\\r\\n \\r\\n \\\"image\\\"\\r\\n \\r\\n {{ \\\"LoaderText.managers\\\" | translate }}\\r\\n \\r\\n {{managerName}}\\r\\n \\r\\n {{ \\\"LoaderText.manager\\\" | translate }}\\r\\n
    \\r\\n
    \\r\\n

    {{ \\\"Common.CommonText.Details.Page1Description1\\\" | translate }}

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

    {{ \\\"Common.CommonText.Details.Page1Description2\\\" | translate }}

    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n {{ \\\"Common.CommonText.Details.Page1Description3\\\" | translate }}\\r\\n \\r\\n
    \\r\\n {{ \\\"Common.CommonText.label.mobieNo\\\" | translate }}\\r\\n {{\\\"FormValidation.Fieldlength\\\"| translate}}
    \\r\\n
    \\r\\n {{ \\\"Common.CommonText.label.mobieNo\\\" | translate }}\\r\\n {{\\\"FormValidation.isRequired\\\"| translate}}.
    \\r\\n
    \\r\\n {{ \\\"Common.CommonText.label.mobieNo\\\" | translate }}\\r\\n {{\\\"FormValidation.isRequired\\\"| translate}}.
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n {{ \\\"LoaderText.MobileNotMatch\\\" | translate }}\\r\\n \\r\\n {{'LoaderText.MobileNotMatchText' | translate}} \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n\"","import { Component, OnInit } from '@angular/core';\r\nimport { paths } from 'src/app/Shared/enums/paths.enum';\r\nimport { CommonService } from 'src/app/Shared/services/common_services/common.service';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { DataCommunicationService } from 'src/app/Shared/services/data_service/data-communication.service';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { LoaderindicatorService } from 'src/app/Shared/services/loaderindicator/loaderindicator.service';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { AutheticationService } from 'src/app/Shared/services/authentication/authetication.service';\r\nimport { first } from 'rxjs/operators';\r\nimport { THIS_EXPR } from '@angular/compiler/src/output/output_ast';\r\n\r\ndeclare var gtag;\r\n@Component({\r\n selector: 'app-mobile-verification',\r\n templateUrl: './mobile-verification.component.html',\r\n styleUrls: ['./mobile-verification.component.css']\r\n})\r\nexport class MobileVerificationComponent implements OnInit {\r\n public verifyMobileForm: FormGroup;\r\n IsSubmitted = false;\r\n dealerName: string;\r\n currentData: any;\r\n showError = false;\r\n param: any;\r\n dealerImage: any;\r\n managerName: any;\r\n dealerWebsite: string;\r\n AppointmentSource = \"\";\r\n SelectedDealerName = \"\";\r\n mySiteId = null;\r\n isDealerFound: boolean = false;\r\n\r\n constructor(private commonService: CommonService,\r\n private dataCommunicationService: DataCommunicationService,\r\n protected readonly fb: FormBuilder,\r\n private toastrService: ToastrService,\r\n private route: ActivatedRoute,\r\n private readonly loadingIndicatorService: LoaderindicatorService,\r\n private translate: TranslateService,\r\n private autheticationService: AutheticationService,\r\n private activatedRoute: ActivatedRoute\r\n ) { }\r\n\r\n // convenience getter for easy access to form fields\r\n get f() { return this.verifyMobileForm.controls; }\r\n\r\n\r\n public getAuthenticationToken() {\r\n this.isDealerFound = false;\r\n this.autheticationService.login().pipe(first()).subscribe(result => {\r\n this.loadingIndicatorService.hide();\r\n this.dataCommunicationService.getDealerImage(this.param)\r\n .subscribe(result => {\r\n this.loadingIndicatorService.hide();\r\n if (result.StatusCode === 1 && result.Data != null) {\r\n this.isDealerFound = true;\r\n this.verifyMobileForm.controls.MobileNumber.enable();\r\n this.dealerImage = 'data:image/jpeg;base64,' + result.Data.DealerImage;\r\n this.managerName = result.Data.ManagerName;\r\n this.dealerWebsite = result.Data.Website;\r\n this.commonService.setLocalStorage('dealerImage', this.dealerImage);\r\n this.commonService.setLocalStorage('managerName', this.managerName);\r\n this.commonService.setLocalStorage('dealerDetails', result.Data);\r\n this.commonService.setLocalStorage(\"SelectedDealerName\",result.Data.DealerName);\r\n if(this.mySiteId != null && this.mySiteId != \"\"){\r\n this.commonService.setLocalStorage(\"MySiteId\",this.mySiteId);\r\n this.commonService.setLocalStorage(\"IsMinBilUser\",true);\r\n this.dataCommunicationService.GetMySiteParams(this.mySiteId).subscribe(resp=>{\r\n if(resp.StatusCode == 1 && resp.Data != null){\r\n this.commonService.setLocalStorage('SelectedVehicleLicensePlate', resp.Data.LicensePlate); \r\n this.commonService.setLocalStorage(\"AppointmentSource\",resp.Data.Source);\r\n this.commonService.setLocalStorage('SelectedGiftCardId', resp.Data.GiftCardId);\r\n this.AppointmentSource = resp.Data.Source;\r\n this.verifyMobileForm.patchValue({\r\n MobileNumber: resp.Data.Phone\r\n })\r\n this.commonService.setLocalStorage('dealername', result.Data.Id);\r\n this.verifyMobileNumber();\r\n }\r\n })\r\n }\r\n }else{\r\n this.commonService.getErrorMessage('Common.CommonText.label.DealerNotFound');\r\n \r\n }\r\n }, error => {\r\n //this.showError = true;\r\n this.commonService.getErrorMessage('Common.CommonText.label.DealerNotFound');\r\n this.loadingIndicatorService.hide();\r\n this.isDealerFound = false;\r\n });\r\n }, error => {\r\n this.loadingIndicatorService.hide();\r\n });\r\n }\r\n public verifyMobileNumber() {\r\n this.translate.get('LoaderText.VerifyMobile').subscribe(message => {\r\n this.loadingIndicatorService.show(message);\r\n });\r\n this.IsSubmitted = true;\r\n if (this.verifyMobileForm.invalid) {\r\n return;\r\n }\r\n this.dataCommunicationService.getCustomerDetailByMobile(this.verifyMobileForm.value.MobileNumber)\r\n .subscribe(result => {\r\n if (result.StatusCode === 1) {\r\n this.commonService.setLocalStorage('customerData', result.Data);\r\n this.PushDataToAnalytics('true');\r\n if(this.AppointmentSource === 'mysite'){\r\n this.commonService.NavigatePage(paths.CARLIST); \r\n } \r\n else{\r\n this.generateOTP(); \r\n this.IsSubmitted = false;\r\n } \r\n } else {\r\n this.PushDataToAnalytics('false');\r\n }\r\n }, error => {\r\n this.IsSubmitted = false;\r\n this.PushDataToAnalytics('false');\r\n this.showError = true;\r\n // this.commonService.getErrorMessage('LoaderText.MobileNotMatch');\r\n this.loadingIndicatorService.hide();\r\n });\r\n }\r\n\r\n public generateOTP() {\r\n this.dataCommunicationService.getMobileOTP(this.verifyMobileForm.value.MobileNumber, this.dealerName, \r\n this.AppointmentSource).subscribe(result => {\r\n if (result.StatusCode === 1) {\r\n this.IsSubmitted = false;\r\n this.commonService.setLocalStorage('otpguid', result.Data);\r\n this.commonService.NavigatePage(paths.OTPVERIFICATION);\r\n } else {\r\n this.loadingIndicatorService.hide();\r\n this.commonService.getErrorMessage('LoaderText.AlertMsg');\r\n }\r\n });\r\n }\r\n public loadMobileForm() {\r\n\r\n this.verifyMobileForm = this.fb.group({\r\n MobileNumber: [{value:'',disabled: true}, [Validators.required, Validators.maxLength(8), Validators.minLength(8), Validators.pattern('^[0-9]*$')]],\r\n });\r\n \r\n }\r\n\r\n public isNumber(evt) {\r\n evt = (evt) ? evt : window.event;\r\n const charCode = (evt.which) ? evt.which : evt.keyCode;\r\n if (charCode > 31 && (charCode < 48 || charCode > 57)) {\r\n return false;\r\n }\r\n this.toastrService.clear();\r\n return true;\r\n }\r\n\r\n public PushDataToAnalytics(value) {\r\n this.currentData = {\r\n 'event': 'PhoneValidation',\r\n 'so-customer': value\r\n };\r\n //(window as any).dataLayer.push(this.currentData);\r\n \r\n\r\n gtag('event', 'PhoneValidation', {'so-customer': value});\r\n }\r\n\r\n public MobileNoChanged() {\r\n this.showError = false;\r\n }\r\n ngOnInit() {\r\n this.dealerImage = null;\r\n this.managerName = null;\r\n this.AppointmentSource = null;\r\n // console.log(this.activatedRoute.parent.url)\r\n // this.activatedRoute.parent.url.subscribe((urlPath) => {\r\n // const url = urlPath[urlPath.length - 1].path;\r\n // console.log(urlPath)\r\n // console.log(url)\r\n // })\r\n this.dealerName = this.route.snapshot.queryParamMap.get('dealerName');\r\n this.AppointmentSource = this.route.snapshot.queryParamMap.get('source');\r\n this.mySiteId = this.route.snapshot.queryParamMap.get('mysite');\r\n this.SelectedDealerName = this.commonService.getLocalStorageitem(\"SelectedDealerName\");\r\n this.commonService.clearLocalStorage();\r\n this.commonService.setLocalStorage(\"IsMinBilUser\",false);\r\n if(this.AppointmentSource != null && this.AppointmentSource != \"\"){\r\n this.commonService.setLocalStorage(\"AppointmentSource\",this.AppointmentSource);\r\n this.commonService.setLocalStorage(\"SelectedDealerName\",this.SelectedDealerName);\r\n }\r\n \r\n this.loadMobileForm(); \r\n if(this.dealerName != undefined && this.dealerName != '' && this.dealerName != null \r\n && this.dealerName != 'undefined' && this.dealerName != 'null'){\r\n this.translate.get('Common.CommonText.label.welcome').subscribe(message =>{ \r\n this.loadingIndicatorService.show(message); \r\n }); \r\n this.commonService.setLocalStorage('dealername', this.dealerName); \r\n this.commonService.setLocalStorage('DealerAliasName',this.dealerName);\r\n this.getAuthenticationToken();\r\n this.param = { DealerName: this.dealerName }\r\n }\r\n else{\r\n this.loadingIndicatorService.hide();\r\n window.location.href = 'https://www.motorforum.no/verksted/booking/';\r\n } \r\n \r\n // this.dealerImage = 'data:image/jpeg;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==';\r\n }\r\n\r\n back(){\r\n this.commonService.NavigatePage(paths.DEALERSELECTION);\r\n }\r\n\r\n}\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL01vZHVsZXMvb3RwLXZlcmlmaWNhdGlvbi9vdHAtdmVyaWZpY2F0aW9uLmNvbXBvbmVudC5jc3MifQ== */\"","module.exports = \"\\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{SelectedDealerName}}\\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n

    {{ \\\"Common.CommonText.Headers.Page1Header1\\\" | translate }}

    \\r\\n
    \\r\\n
    \\r\\n \\\"image\\\"\\r\\n \\r\\n \\\"image\\\"\\r\\n \\r\\n {{ \\\"LoaderText.managers\\\" | translate }}\\r\\n \\r\\n {{managerName}}\\r\\n \\r\\n {{ \\\"LoaderText.manager\\\" | translate }}\\r\\n
    \\r\\n
    \\r\\n

    {{ \\\"Common.CommonText.Details.Page1Description1\\\" | translate }}

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

    {{ \\\"Common.CommonText.Details.Page1Description2\\\" | translate }}

    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n {{ \\\"Common.CommonText.label.OTPlabel2\\\" | translate }}\\r\\n {{encryptedmobilnummer}}\\r\\n\\r\\n
    \\r\\n {{\\\"Common.CommonText.label.OTPlabel\\\" | translate}}\\r\\n {{\\\"FormValidation.isRequired\\\"| translate}}.\\r\\n
    \\r\\n
    \\r\\n {{\\\"LoaderText.InvalidOTP\\\"|translate}}\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \"","import { Component, OnInit, ViewChild, ElementRef } from '@angular/core';\r\nimport { paths } from 'src/app/Shared/enums/paths.enum';\r\nimport { CommonService } from 'src/app/Shared/services/common_services/common.service';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { LoaderindicatorService } from 'src/app/Shared/services/loaderindicator/loaderindicator.service';\r\nimport { DataCommunicationService } from 'src/app/Shared/services/data_service/data-communication.service';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\ndeclare var gtag;\r\n@Component({\r\n selector: 'app-otp-verification',\r\n templateUrl: './otp-verification.component.html',\r\n styleUrls: ['./otp-verification.component.css']\r\n})\r\nexport class OtpVerificationComponent implements OnInit {\r\n public otpVerificationForm: FormGroup;\r\n ShowResendOtp = false;\r\n mobilnummer: string;\r\n encryptedmobilnummer: string;\r\n IsSubmitted = false;\r\n currentData: any;\r\n showError = false;\r\n dealernName: string;\r\n dealerImage: any;\r\n managerName: any;\r\n @ViewChild('OTPFirstInput') OTPFirstInput: ElementRef;\r\n AppointmentSource: any;\r\n SelectedDealerName: any;\r\n constructor(\r\n private commonService: CommonService,\r\n private loadingIndicatorService: LoaderindicatorService,\r\n private dataCommunicationService: DataCommunicationService,\r\n protected readonly fb: FormBuilder,\r\n private translate: TranslateService\r\n ) { \r\n if(this.commonService.getLocalStorageitem('SelectedVehicleLicensePlate')!=null)\r\n {\r\n this.commonService.NavigatePage(paths.BOOKAPPOINTMENT, 'Drammen');\r\n }\r\n }\r\n\r\n public verifyOTP() {\r\n this.showError = false;\r\n this.IsSubmitted = true;\r\n if (this.otpVerificationForm.invalid) {\r\n return;\r\n }\r\n const otpvalue = this.otpVerificationForm.value.otp1 +\r\n this.otpVerificationForm.value.otp2 +\r\n this.otpVerificationForm.value.otp3 +\r\n this.otpVerificationForm.value.otp4;\r\n const UserOTPViewModel = {};\r\n UserOTPViewModel['OTPCode'] = otpvalue;\r\n UserOTPViewModel['Mobile'] = this.mobilnummer;\r\n UserOTPViewModel['guid'] = this.commonService.getLocalStorageitem('otpguid');\r\n UserOTPViewModel['DealerName'] = this.commonService.getLocalStorageitem('dealername');\r\n this.translate.get('LoaderText.VerifyOTP').subscribe(message => {\r\n this.loadingIndicatorService.show(message);\r\n });\r\n // to remove below comment in main application all comments\r\n this.dataCommunicationService.verifyMobileOTP(UserOTPViewModel).subscribe(\r\n result => {\r\n\r\n this.loadingIndicatorService.hide();\r\n if (result.StatusCode === 1 || result.StatusCode === 3) {\r\n if (result.Data.VerifyResult === true) {\r\n if (result.Data.DelaerNumber != 0) {\r\n this.commonService.setLocalStorage('dealername', result.Data.DelaerNumber);\r\n this.commonService.removeLocalStorage(['otpguid']);\r\n this.showError = false;\r\n this.PushDataToAnalytics('success');\r\n this.commonService.NavigatePage(paths.CARLIST);\r\n } else {\r\n // this.commonService.NavigatePage(paths.CARLIST);\r\n this.commonService.getErrorMessage('Common.CommonText.label.InvalidDealer');\r\n }\r\n } else {\r\n this.showError = true;\r\n this.PushDataToAnalytics('fail');\r\n // this.commonService.getErrorMessage('LoaderText.InvalidOTP');\r\n }\r\n } else {\r\n this.PushDataToAnalytics('fail');\r\n }\r\n }, error => {\r\n this.PushDataToAnalytics('fail');\r\n this.commonService.getErrorMessage('LoaderText.AlertMsg');\r\n\r\n });\r\n\r\n }\r\n public loadotpForm() {\r\n this.otpVerificationForm = this.fb.group({\r\n otp1: [null, [Validators.required, Validators.maxLength(2)]],\r\n otp2: [null, [Validators.required, Validators.maxLength(2)]],\r\n otp3: [null, [Validators.required, Validators.maxLength(2)]],\r\n otp4: [null, [Validators.required, Validators.maxLength(2)]],\r\n });\r\n }\r\n public reSendOTP() {\r\n this.showError = false;\r\n this.dataCommunicationService.getMobileOTP(this.mobilnummer, this.dealernName, this.AppointmentSource).subscribe(\r\n result => {\r\n if (result.StatusCode === 1) {\r\n this.ShowResendOtp = false;\r\n this.delay(60000).then(() => {\r\n this.resendOtpbutton();\r\n });\r\n } else {\r\n // this.toastrService.error(String(result.message));\r\n this.commonService.getErrorMessage('LoaderText.AlertMsg');\r\n }\r\n }\r\n );\r\n }\r\n public resendOtpbutton() {\r\n this.ShowResendOtp = true;\r\n }\r\n async delay(ms: number) {\r\n await new Promise(resolve => setTimeout(() => resolve(), ms)).then(x => x);\r\n }\r\n public PushDataToAnalytics(value) {\r\n // this.currentData = {\r\n // event: 'OtpValidation',\r\n // 'so-result': value\r\n // };\r\n // (window as any).dataLayer.push(this.currentData);\r\n\r\n gtag('event', 'OtpValidation', {'so-result': value});\r\n }\r\n public MobileNoChanged() {\r\n this.showError = false;\r\n }\r\n ngOnInit() {\r\n this.IsSubmitted = false;\r\n this.mobilnummer = this.commonService.getLocalStorageByKey('customerData', 'MobileNo');\r\n this.dealernName = this.commonService.getLocalStorageitem('dealername');\r\n this.dealerImage = this.commonService.getLocalStorageitem('dealerImage');\r\n this.managerName = this.commonService.getLocalStorageitem('managerName');\r\n this.AppointmentSource = this.commonService.getLocalStorageitem(\"AppointmentSource\");\r\n this.SelectedDealerName = this.commonService.getLocalStorageitem(\"SelectedDealerName\");\r\n if (this.mobilnummer !== null && this.mobilnummer !== undefined && this.mobilnummer.trim() !== '' && this.mobilnummer.trim() !== '0') {\r\n this.encryptedmobilnummer = this.mobilnummer;\r\n this.loadotpForm();\r\n this.delay(60000).then(() => {\r\n this.resendOtpbutton();\r\n });\r\n this.OTPFirstInput.nativeElement.focus();\r\n } else {\r\n this.commonService.NavigatePage(paths.BOOKAPPOINTMENT);\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Router, CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, ActivatedRoute } from '@angular/router';\r\nimport { Location } from '@angular/common';\r\nimport { CommonService } from '../services/common_services/common.service';\r\nimport { paths } from '../enums/paths.enum';\r\n\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AuthGuard implements CanActivate {\r\n\r\n constructor(\r\n private router: Router,\r\n private location: Location,\r\n private commonService: CommonService,\r\n ) { }\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\r\n return this.CheckURLHit(route);\r\n }\r\n\r\n CheckURLHit(route): boolean { \r\n \r\n const token = this.commonService.getLocalStorageitem('token'); \r\n // if(this.router.navigated == false){\r\n // if (document.referrer == null || document.referrer == '') {\r\n // this.commonService.NavigatePage(paths.BOOKAPPOINTMENT, 'Drammen');\r\n // return false;\r\n // }}\r\n let DmsNo = route.queryParamMap.get('DMSNo')\r\n let CampId = route.queryParamMap.get('campId')\r\n let MobileNo = route.queryParamMap.get('Mobile')\r\n\r\n if(DmsNo != \"\" && DmsNo != null && CampId != \"\" && CampId != null && MobileNo != \"\" && MobileNo != null){\r\n return true;\r\n }\r\n\r\n if (token === \"\" || token === undefined) {\r\n this.commonService.NavigatePage(paths.BOOKAPPOINTMENT, 'Drammen');\r\n return false;\r\n }\r\n return true;\r\n\r\n }\r\n}","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL1NoYXJlZC9jb21tb25fY29tcG9uZW50cy9sYW5ndWFnZS9sYW5ndWFnZS5jb21wb25lbnQuY3NzIn0= */\"","module.exports = \"\\r\\n\"","import { Component, OnInit, EventEmitter, Output } from '@angular/core';\r\nimport { Router, ActivatedRoute, NavigationEnd } from '@angular/router';\r\nimport { ToastrService } from 'ngx-toastr';\r\n\r\n@Component({\r\n // tslint:disable-next-line:component-selector\r\n selector: 'mgfw-language',\r\n templateUrl: './language.component.html',\r\n styleUrls: ['./language.component.css']\r\n})\r\nexport class LanguageComponent implements OnInit {\r\n\r\n showheader = false;\r\n @Output() IsPageNotFound = new EventEmitter();\r\n\r\n constructor(\r\n private router: Router,\r\n private activeRoute: ActivatedRoute,\r\n private toastrService: ToastrService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.router.events.subscribe((evt) => {\r\n if (!(evt instanceof NavigationEnd)) {\r\n return;\r\n }\r\n window.scrollTo(0, 0);\r\n });\r\n // this.name = this.activeRoute.snapshot.queryParamMap.get('lang');\r\n this.activeRoute.queryParamMap.subscribe(queryParams => {\r\n // this.name = queryParams.get('paramName');\r\n });\r\n }\r\n\r\n}\r\n","module.exports = \".loading-indicator {\\r\\n text-align: center;\\r\\n text-transform: capitalize;\\r\\n}\\r\\n.loading-indicator-backdrop {\\r\\n position: absolute;\\r\\n left: 0;\\r\\n right: 0;\\r\\n top: 0;\\r\\n bottom: 0;\\r\\n background-image: -webkit-gradient(linear, left top, left bottom, from(#eeeff0), color-stop(#adadae), color-stop(#707070), color-stop(#383838), to(#000000));\\r\\n background-image: linear-gradient(to bottom, #eeeff0, #adadae, #707070, #383838, #000000);\\r\\n opacity: 0.7;\\r\\n z-index: 2;\\r\\n}\\r\\n.loading-indicator-overlay {\\r\\n position: absolute;\\r\\n left: 0;\\r\\n right: 0;\\r\\n top: 0;\\r\\n bottom: 0;\\r\\n z-index: 2;\\r\\n opacity: 0.7;\\r\\n display: -webkit-box;\\r\\n display: flex;\\r\\n -webkit-box-align: center;\\r\\n align-items: center;\\r\\n -webkit-box-pack: center;\\r\\n justify-content: center;\\r\\n}\\r\\n.loader {\\r\\n display: -webkit-box;\\r\\n display: flex;\\r\\n -webkit-box-align: center;\\r\\n align-items: center;\\r\\n -webkit-box-pack: center;\\r\\n justify-content: center;\\r\\n}\\r\\n.car__body {\\r\\n -webkit-animation: shake 0.2s ease-in-out infinite alternate;\\r\\n animation: shake 0.2s ease-in-out infinite alternate;\\r\\n}\\r\\n.car__line {\\r\\n -webkit-transform-origin: center right;\\r\\n transform-origin: center right;\\r\\n stroke-dasharray: 22;\\r\\n -webkit-animation: line 0.8s ease-in-out infinite;\\r\\n animation: line 0.8s ease-in-out infinite;\\r\\n -webkit-animation-fill-mode: both;\\r\\n animation-fill-mode: both;\\r\\n}\\r\\n.car__line--top {\\r\\n -webkit-animation-delay: 0s;\\r\\n animation-delay: 0s;\\r\\n}\\r\\n.car__line--middle {\\r\\n -webkit-animation-delay: 0.2s;\\r\\n animation-delay: 0.2s;\\r\\n}\\r\\n.car__line--bottom {\\r\\n -webkit-animation-delay: 0.4s;\\r\\n animation-delay: 0.4s;\\r\\n}\\r\\n@-webkit-keyframes shake {\\r\\n 0% {\\r\\n -webkit-transform: translateY(-1%);\\r\\n transform: translateY(-1%);\\r\\n }\\r\\n 100% {\\r\\n -webkit-transform: translateY(3%);\\r\\n transform: translateY(3%);\\r\\n }\\r\\n}\\r\\n@keyframes shake {\\r\\n 0% {\\r\\n -webkit-transform: translateY(-1%);\\r\\n transform: translateY(-1%);\\r\\n }\\r\\n 100% {\\r\\n -webkit-transform: translateY(3%);\\r\\n transform: translateY(3%);\\r\\n }\\r\\n}\\r\\n@-webkit-keyframes line {\\r\\n 0% {\\r\\n stroke-dashoffset: 22;\\r\\n }\\r\\n 25% {\\r\\n stroke-dashoffset: 22;\\r\\n }\\r\\n 50% {\\r\\n stroke-dashoffset: 0;\\r\\n }\\r\\n 51% {\\r\\n stroke-dashoffset: 0;\\r\\n }\\r\\n 80% {\\r\\n stroke-dashoffset: -22;\\r\\n }\\r\\n 100% {\\r\\n stroke-dashoffset: -22;\\r\\n }\\r\\n}\\r\\n@keyframes line {\\r\\n 0% {\\r\\n stroke-dashoffset: 22;\\r\\n }\\r\\n 25% {\\r\\n stroke-dashoffset: 22;\\r\\n }\\r\\n 50% {\\r\\n stroke-dashoffset: 0;\\r\\n }\\r\\n 51% {\\r\\n stroke-dashoffset: 0;\\r\\n }\\r\\n 80% {\\r\\n stroke-dashoffset: -22;\\r\\n }\\r\\n 100% {\\r\\n stroke-dashoffset: -22;\\r\\n }\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvU2hhcmVkL2NvbW1vbl9jb21wb25lbnRzL2xvYWRlci9sb2FkZXIuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGtCQUFrQjtFQUNsQiwwQkFBMEI7QUFDNUI7QUFDQTtFQUNFLGtCQUFrQjtFQUNsQixPQUFPO0VBQ1AsUUFBUTtFQUNSLE1BQU07RUFDTixTQUFTO0VBQ1QsNEpBQXlGO0VBQXpGLHlGQUF5RjtFQUN6RixZQUFZO0VBQ1osVUFBVTtBQUNaO0FBQ0E7RUFDRSxrQkFBa0I7RUFDbEIsT0FBTztFQUNQLFFBQVE7RUFDUixNQUFNO0VBQ04sU0FBUztFQUNULFVBQVU7RUFDVixZQUFZO0VBQ1osb0JBQWE7RUFBYixhQUFhO0VBQ2IseUJBQW1CO1VBQW5CLG1CQUFtQjtFQUNuQix3QkFBdUI7VUFBdkIsdUJBQXVCO0FBQ3pCO0FBRUE7RUFDRSxvQkFBYTtFQUFiLGFBQWE7RUFDYix5QkFBbUI7VUFBbkIsbUJBQW1CO0VBQ25CLHdCQUF1QjtVQUF2Qix1QkFBdUI7QUFDekI7QUFFQTtFQUNFLDREQUE0RDtFQUM1RCxvREFBb0Q7QUFDdEQ7QUFDQTtFQUNFLHNDQUFzQztFQUN0Qyw4QkFBOEI7RUFDOUIsb0JBQW9CO0VBQ3BCLGlEQUFpRDtFQUNqRCx5Q0FBeUM7RUFDekMsaUNBQWlDO0VBQ2pDLHlCQUF5QjtBQUMzQjtBQUNBO0VBQ0UsMkJBQTJCO0VBQzNCLG1CQUFtQjtBQUNyQjtBQUNBO0VBQ0UsNkJBQTZCO0VBQzdCLHFCQUFxQjtBQUN2QjtBQUNBO0VBQ0UsNkJBQTZCO0VBQzdCLHFCQUFxQjtBQUN2QjtBQUVBO0VBQ0U7SUFDRSxrQ0FBa0M7SUFDbEMsMEJBQTBCO0VBQzVCO0VBQ0E7SUFDRSxpQ0FBaUM7SUFDakMseUJBQXlCO0VBQzNCO0FBQ0Y7QUFFQTtFQUNFO0lBQ0Usa0NBQWtDO0lBQ2xDLDBCQUEwQjtFQUM1QjtFQUNBO0lBQ0UsaUNBQWlDO0lBQ2pDLHlCQUF5QjtFQUMzQjtBQUNGO0FBQ0E7RUFDRTtJQUNFLHFCQUFxQjtFQUN2QjtFQUNBO0lBQ0UscUJBQXFCO0VBQ3ZCO0VBQ0E7SUFDRSxvQkFBb0I7RUFDdEI7RUFDQTtJQUNFLG9CQUFvQjtFQUN0QjtFQUNBO0lBQ0Usc0JBQXNCO0VBQ3hCO0VBQ0E7SUFDRSxzQkFBc0I7RUFDeEI7QUFDRjtBQUNBO0VBQ0U7SUFDRSxxQkFBcUI7RUFDdkI7RUFDQTtJQUNFLHFCQUFxQjtFQUN2QjtFQUNBO0lBQ0Usb0JBQW9CO0VBQ3RCO0VBQ0E7SUFDRSxvQkFBb0I7RUFDdEI7RUFDQTtJQUNFLHNCQUFzQjtFQUN4QjtFQUNBO0lBQ0Usc0JBQXNCO0VBQ3hCO0FBQ0YiLCJmaWxlIjoic3JjL2FwcC9TaGFyZWQvY29tbW9uX2NvbXBvbmVudHMvbG9hZGVyL2xvYWRlci5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmxvYWRpbmctaW5kaWNhdG9yIHtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XHJcbn1cclxuLmxvYWRpbmctaW5kaWNhdG9yLWJhY2tkcm9wIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgbGVmdDogMDtcclxuICByaWdodDogMDtcclxuICB0b3A6IDA7XHJcbiAgYm90dG9tOiAwO1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNlZWVmZjAsICNhZGFkYWUsICM3MDcwNzAsICMzODM4MzgsICMwMDAwMDApO1xyXG4gIG9wYWNpdHk6IDAuNztcclxuICB6LWluZGV4OiAyO1xyXG59XHJcbi5sb2FkaW5nLWluZGljYXRvci1vdmVybGF5IHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgbGVmdDogMDtcclxuICByaWdodDogMDtcclxuICB0b3A6IDA7XHJcbiAgYm90dG9tOiAwO1xyXG4gIHotaW5kZXg6IDI7XHJcbiAgb3BhY2l0eTogMC43O1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxufVxyXG5cclxuLmxvYWRlciB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG59XHJcblxyXG4uY2FyX19ib2R5IHtcclxuICAtd2Via2l0LWFuaW1hdGlvbjogc2hha2UgMC4ycyBlYXNlLWluLW91dCBpbmZpbml0ZSBhbHRlcm5hdGU7XHJcbiAgYW5pbWF0aW9uOiBzaGFrZSAwLjJzIGVhc2UtaW4tb3V0IGluZmluaXRlIGFsdGVybmF0ZTtcclxufVxyXG4uY2FyX19saW5lIHtcclxuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciByaWdodDtcclxuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgcmlnaHQ7XHJcbiAgc3Ryb2tlLWRhc2hhcnJheTogMjI7XHJcbiAgLXdlYmtpdC1hbmltYXRpb246IGxpbmUgMC44cyBlYXNlLWluLW91dCBpbmZpbml0ZTtcclxuICBhbmltYXRpb246IGxpbmUgMC44cyBlYXNlLWluLW91dCBpbmZpbml0ZTtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XHJcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcclxufVxyXG4uY2FyX19saW5lLS10b3Age1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAwcztcclxuICBhbmltYXRpb24tZGVsYXk6IDBzO1xyXG59XHJcbi5jYXJfX2xpbmUtLW1pZGRsZSB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDAuMnM7XHJcbiAgYW5pbWF0aW9uLWRlbGF5OiAwLjJzO1xyXG59XHJcbi5jYXJfX2xpbmUtLWJvdHRvbSB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDAuNHM7XHJcbiAgYW5pbWF0aW9uLWRlbGF5OiAwLjRzO1xyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2hha2Uge1xyXG4gIDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xJSk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTElKTtcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgzJSk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMyUpO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBzaGFrZSB7XHJcbiAgMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTElKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMSUpO1xyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDMlKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgzJSk7XHJcbiAgfVxyXG59XHJcbkAtd2Via2l0LWtleWZyYW1lcyBsaW5lIHtcclxuICAwJSB7XHJcbiAgICBzdHJva2UtZGFzaG9mZnNldDogMjI7XHJcbiAgfVxyXG4gIDI1JSB7XHJcbiAgICBzdHJva2UtZGFzaG9mZnNldDogMjI7XHJcbiAgfVxyXG4gIDUwJSB7XHJcbiAgICBzdHJva2UtZGFzaG9mZnNldDogMDtcclxuICB9XHJcbiAgNTElIHtcclxuICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAwO1xyXG4gIH1cclxuICA4MCUge1xyXG4gICAgc3Ryb2tlLWRhc2hvZmZzZXQ6IC0yMjtcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICBzdHJva2UtZGFzaG9mZnNldDogLTIyO1xyXG4gIH1cclxufVxyXG5Aa2V5ZnJhbWVzIGxpbmUge1xyXG4gIDAlIHtcclxuICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAyMjtcclxuICB9XHJcbiAgMjUlIHtcclxuICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAyMjtcclxuICB9XHJcbiAgNTAlIHtcclxuICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAwO1xyXG4gIH1cclxuICA1MSUge1xyXG4gICAgc3Ryb2tlLWRhc2hvZmZzZXQ6IDA7XHJcbiAgfVxyXG4gIDgwJSB7XHJcbiAgICBzdHJva2UtZGFzaG9mZnNldDogLTIyO1xyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAtMjI7XHJcbiAgfVxyXG59XHJcbiJdfQ== */\"","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n {{messageText}}
    \\r\\n
    \\r\\n Welcome To MotoGruppon Service Booking
    \\r\\n
    \\r\\n
    \\r\\n
    \"","import { Component, OnInit } from '@angular/core';\r\nimport { LoaderindicatorService } from '../../services/loaderindicator/loaderindicator.service';\r\n\r\n@Component({\r\n // tslint:disable-next-line:component-selector\r\n selector: 'mgfw-loader',\r\n templateUrl: './loader.component.html',\r\n styleUrls: ['./loader.component.css']\r\n})\r\nexport class LoaderComponent implements OnInit {\r\n\r\n isVisible = false;\r\n messageText = 'Loading';\r\n constructor(\r\n private service: LoaderindicatorService\r\n ) {\r\n service.subscribe().subscribe((message) => {\r\n this.messageText = message.text;\r\n this.isVisible = (message.text !== '');\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n\r\n }\r\n}\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL1NoYXJlZC9jb21tb25fY29tcG9uZW50cy9wYWdlLW5vdC1mb3VuZC9wYWdlLW5vdC1mb3VuZC5jb21wb25lbnQuY3NzIn0= */\"","module.exports = \"\\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    404

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

    the page you requested could not found.

    \\r\\n Go Back\\r\\n
    \\r\\n
    \\r\\n\"","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { take } from 'rxjs/operators';\r\nimport { environment } from '../../../../environments/environment';\r\n\r\n@Component({\r\n selector: 'app-page-not-found',\r\n templateUrl: './page-not-found.component.html',\r\n styleUrls: ['./page-not-found.component.css']\r\n})\r\nexport class PageNotFoundComponent implements OnInit {\r\n path: any = '';\r\n lang: any = environment.lang;\r\n\r\n constructor(private route: ActivatedRoute, private router: Router) {}\r\n\r\n ngOnInit() {\r\n this.route.data.pipe(take(1)).subscribe((data: { path: string }) => {\r\n this.path = data.path;\r\n });\r\n }\r\n\r\n public pageHandlingByRedirect(): void {\r\n this.router.navigate(['/' + this.lang + this.path]);\r\n }\r\n}\r\n","module.exports = \".custom-day {\\r\\n text-align: center;\\r\\n padding: 0.185rem 0.25rem;\\r\\n border-radius: 0.25rem;\\r\\n display: inline-block;\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n }\\r\\n .custom-day:hover {\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n background-color: #e6e6e6b0;\\r\\n border-radius: 0;\\r\\n }\\r\\n .unavailableDate {\\r\\n /* background-color:#93a5b7; */\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n /* color: #6c757d !important; */\\r\\n color: #9999999e;\\r\\n border-radius: 0;\\r\\n }\\r\\n .unavailableDate:hover {\\r\\n /* background-color:#93a5b7 !important; */\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n /* color: #6c757d !important; */\\r\\n color: #9999999e;\\r\\n border-radius: 0;\\r\\n }\\r\\n .text-muted:hover {\\r\\n color: #6c757d !important;\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n border-radius: 0;\\r\\n background-color: #999999 ;\\r\\n}\\r\\n .hidden {\\r\\n display: none;\\r\\n }\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvU2hhcmVkL2NvbXBvbmVudC9hcHBvaW50bWVudC1kYXRlLXBpY2tlci9hcHBvaW50bWVudC1kYXRlLXBpY2tlci5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksa0JBQWtCO0lBQ2xCLHlCQUF5QjtJQUN6QixzQkFBc0I7SUFDdEIscUJBQXFCO0lBQ3JCLFdBQVc7SUFDWCxZQUFZO0VBQ2Q7RUFDQTtJQUNFLFdBQVc7SUFDWCxZQUFZO0lBQ1osMkJBQTJCO0lBQzNCLGdCQUFnQjtFQUNsQjtFQUNBO0lBQ0UsOEJBQThCO0lBQzlCLFdBQVc7SUFDWCxZQUFZO0lBQ1osK0JBQStCO0lBQy9CLGdCQUFnQjtJQUNoQixnQkFBZ0I7RUFDbEI7RUFDQTtJQUNFLHlDQUF5QztJQUN6QyxXQUFXO0lBQ1gsWUFBWTtJQUNaLCtCQUErQjtJQUMvQixnQkFBZ0I7SUFDaEIsZ0JBQWdCO0VBQ2xCO0VBRUY7RUFDRSx5QkFBeUI7RUFDekIsV0FBVztFQUNYLFlBQVk7Q0FDYixnQkFBZ0I7Q0FDaEIsMEJBQTBCO0FBQzNCO0VBQ0U7SUFDRSxhQUFhO0VBQ2YiLCJmaWxlIjoic3JjL2FwcC9TaGFyZWQvY29tcG9uZW50L2FwcG9pbnRtZW50LWRhdGUtcGlja2VyL2FwcG9pbnRtZW50LWRhdGUtcGlja2VyLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuY3VzdG9tLWRheSB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBwYWRkaW5nOiAwLjE4NXJlbSAwLjI1cmVtO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gIH1cclxuICAuY3VzdG9tLWRheTpob3ZlciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTZiMDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgfVxyXG4gIC51bmF2YWlsYWJsZURhdGUge1xyXG4gICAgLyogYmFja2dyb3VuZC1jb2xvcjojOTNhNWI3OyAqL1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAvKiBjb2xvcjogIzZjNzU3ZCAhaW1wb3J0YW50OyAqL1xyXG4gICAgY29sb3I6ICM5OTk5OTk5ZTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgfVxyXG4gIC51bmF2YWlsYWJsZURhdGU6aG92ZXIge1xyXG4gICAgLyogYmFja2dyb3VuZC1jb2xvcjojOTNhNWI3ICFpbXBvcnRhbnQ7ICovXHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIC8qIGNvbG9yOiAjNmM3NTdkICFpbXBvcnRhbnQ7ICovXHJcbiAgICBjb2xvcjogIzk5OTk5OTllO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMDtcclxuICB9XHJcbiAgXHJcbi50ZXh0LW11dGVkOmhvdmVyIHtcclxuICBjb2xvcjogIzZjNzU3ZCAhaW1wb3J0YW50O1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogMTAwJTtcclxuIGJvcmRlci1yYWRpdXM6IDA7XHJcbiBiYWNrZ3JvdW5kLWNvbG9yOiAjOTk5OTk5IDtcclxufVxyXG4gIC5oaWRkZW4ge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9Il19 */\"","module.exports = \"\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n {{ date.day }}\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
    \\r\\n \\r\\n {{ \\\"Common.CommonText.label.Available\\\" | translate }} \\r\\n \\r\\n {{ \\\"Common.CommonText.label.Closed\\\" | translate }} \\r\\n \\r\\n
    \"","import { debug } from 'util';\r\nimport { CommonService } from '../../services/common_services/common.service';\r\n// import { NgbCalendar } from '@ng-bootstrap/ng-bootstrap/datepicker/ngb-calendar';\r\nimport { NgbDatepickerConfig, NgbDateStruct, NgbCalendar, NgbDate, NgbDatepickerI18n } from '@ng-bootstrap/ng-bootstrap';\r\nimport { Component, OnInit, Input, AfterContentInit, Output, EventEmitter, Injectable } from '@angular/core';\r\nimport { LoaderindicatorService } from '../../services/loaderindicator/loaderindicator.service';\r\nimport { DataCommunicationService } from '../../services/data_service/data-communication.service';\r\nimport { ToastrService } from 'ngx-toastr';\r\n// import { } from '@ng-bootstrap/ng-bootstrap/datepicker/ngb-date';\r\nimport { NgbDatepickerNavigateEvent } from '@ng-bootstrap/ng-bootstrap/datepicker/datepicker';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\nconst I18N_VALUES = {\r\n // tslint:disable-next-line:object-literal-key-quotes\r\n 'no': {\r\n weekdays: ['Man', 'Tirs', 'Ons', 'Tors', 'Fre', 'Lør', 'Søn'],\r\n months: ['januar', 'februar', 'mars', 'april', 'mai', 'juni', 'juli', 'august', 'september', 'oktober', 'november', 'desember'],\r\n },\r\n};\r\n\r\n// Define a service holding the language. You probably already have one if your app is i18ned. Or you could also\r\n// use the Angular LOCALE_ID value\r\n@Injectable()\r\nexport class I18n {\r\n language = 'no';\r\n}\r\n\r\n// Define custom service providing the months and weekdays translations\r\n@Injectable()\r\nexport class CustomDatepickerI18n extends NgbDatepickerI18n {\r\n\r\n // tslint:disable-next-line:variable-name\r\n constructor(private _i18n: I18n) {\r\n super();\r\n }\r\n\r\n getWeekdayShortName(weekday: number): string {\r\n return I18N_VALUES[this._i18n.language].weekdays[weekday - 1];\r\n }\r\n getMonthShortName(month: number): string {\r\n return I18N_VALUES[this._i18n.language].months[month - 1];\r\n }\r\n getMonthFullName(month: number): string {\r\n return this.getMonthShortName(month);\r\n }\r\n\r\n getDayAriaLabel(date: NgbDateStruct): string {\r\n return `${date.day}-${date.month}-${date.year}`;\r\n }\r\n}\r\n\r\n@Component({\r\n selector: 'mgfw-appointment-date-picker',\r\n templateUrl: './appointment-date-picker.component.html',\r\n styleUrls: ['./appointment-date-picker.component.css'],\r\n providers: [I18n, { provide: NgbDatepickerI18n, useClass: CustomDatepickerI18n }]\r\n})\r\nexport class AppointmentDatePickerComponent implements OnInit, AfterContentInit {\r\n\r\n\r\n count: number;\r\n currentMonth: any;\r\n weekdends = [];\r\n weekendDaysList = [];\r\n model: NgbDateStruct;\r\n dealerName: string;\r\n UnAvailableDatesOccupied = [];\r\n currentDate = new Date();\r\n availableDates: NgbDateStruct[] = [];\r\n isArrows: string;\r\n firstDayOfWeek: number;\r\n nextdateEvent: NgbDatepickerNavigateEvent;\r\n calculatedDate = new Date();\r\n pastDaysList = [];\r\n isDisabled = false;\r\n availabledateascopy = [];\r\n PkkService = false;\r\n date: { year: number, month: number, day: number };\r\n\r\n @Output() selectedDate = new EventEmitter();\r\n \r\n\r\n constructor(\r\n private config: NgbDatepickerConfig,\r\n private calendar: NgbCalendar,\r\n private commonService: CommonService,\r\n private loaderservice: LoaderindicatorService,\r\n private dataCommunicationService: DataCommunicationService,\r\n private translate: TranslateService,\r\n ) {\r\n this.isArrows = 'arrows';\r\n this.firstDayOfWeek = 1;\r\n config.outsideDays = 'collapsed';\r\n this.dealerName = this.commonService.getLocalStorage('dealername');\r\n // this.findWeekends();\r\n this.UnavailableDates();\r\n\r\n const twoDayLatter = this.computeDate(new Date());\r\n this.calculatedDate = twoDayLatter;\r\n config.minDate = { year: twoDayLatter.getFullYear(), month: Number(twoDayLatter.getMonth()) + 1, day: Number(twoDayLatter.getDate()) };\r\n config.maxDate = { year: 2099, month: 1, day: 31 };\r\n }\r\n\r\n public computeDate(date) {\r\n date.setDate(date.getDate() + Number(this.commonService.getLocalStorageByKey('dealerConfig', 'LeadTime')));\r\n if (date.getDay() == 5) {\r\n date.setDate(date.getDate() + 3);\r\n } else if (date.getDay() == 6) {\r\n date.setDate(date.getDate() + 2);\r\n } else {\r\n date.setDate(date.getDate() + 1);\r\n }\r\n\r\n return date;\r\n }\r\n isUnAvailableDate = (date: NgbDate, current: { month: number }) => {\r\n const dt = new Date(date.toString());\r\n if ((this.UnAvailableDatesOccupied.find(x => NgbDate.from(x).equals(date)))) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n isWeekend = (date: NgbDate, current: { month: number }) => {\r\n // const dt = new Date(date.toString());\r\n const dt = new Date(this.commonService.changeDateFormat(date, 'yyyy-mm-dd'));\r\n // this.ConfirmService(dt.getMonth() + 1, dt.getFullYear(), '2');\r\n // this.getWeekEnds(dt);\r\n if (dt.getDay() === 0 || dt.getDay() === 6) {\r\n return true;\r\n } else if ((this.availableDates.some(x => NgbDate.from(x).equals(date)))) {\r\n this.availabledateascopy.push(date)\r\n return false;\r\n }\r\n else {\r\n return true;\r\n }\r\n\r\n }\r\n\r\n dateNavigate($event: NgbDatepickerNavigateEvent) {\r\n // to remove below comment in main application all comments\r\n this.UnavailableDates();\r\n // if ($event.current == undefined) {\r\n // // this.availableDates = [];\r\n // let month = $event.next.month+1;\r\n // let year = $event.next.year;\r\n // if(month == 13){\r\n // month = 1;\r\n // year = Number(year)+1;\r\n // }\r\n // this.ConfirmService(month, year, '3');\r\n // } else if ($event.next.month < $event.current.month) {\r\n // //this.availableDates = [];\r\n // let month = $event.next.month+1;\r\n // let year = $event.next.year;\r\n // if(month == 13){\r\n // month = 1;\r\n // year = Number(year)+1;\r\n // }\r\n // //this.ConfirmService(month, year, '3');\r\n // this.ConfirmService($event.next.month, $event.next.year, '3');\r\n // } else {\r\n // //this.availableDates = [];\r\n // let month = $event.next.month+1;\r\n // let year = $event.next.year;\r\n // if(month == 13){\r\n // month = 1;\r\n // year = Number(year)+1;\r\n // }\r\n // this.ConfirmService(month, year, '3');\r\n // //this.ConfirmService($event.next.month - 1, $event.next.year, '3');\r\n // }\r\n // // const onemonthLater = new Date();\r\n // // onemonthLater.setMonth(onemonthLater.getMonth() + 1);\r\n // // if (Number(onemonthLater.getMonth() + 1) > 12) {\r\n // // this.ConfirmService(1, onemonthLater.getFullYear(), '4');\r\n // // } else {\r\n // // this.ConfirmService(Number(onemonthLater.getMonth() + 1), onemonthLater.getFullYear(), '4');\r\n // // }\r\n\r\n\r\n }\r\n\r\n private UnavailableDates() {\r\n const AvailableDates = this.commonService.getLocalStorage('AvailableDates');\r\n\r\n // this.dealerName = this.commonService.getLocalStorage('dealername');\r\n if (AvailableDates !== undefined) {\r\n // tslint:disable-next-line:prefer-for-of\r\n for (let i = 0; i < AvailableDates.length; i++) {\r\n const avalibledate = new Date(AvailableDates[i]);\r\n // tslint:disable-next-line:max-line-length\r\n const eachdate = { year: avalibledate.getFullYear(), month: avalibledate.getMonth() + 1, day: avalibledate.getDate() };\r\n this.availableDates.push(eachdate);\r\n }\r\n }\r\n // if (UnAvailableDatesForOccupied !== undefined) {\r\n // // tslint:disable-next-line:prefer-for-of\r\n // for (let i = 0; i < UnAvailableDatesForOccupied.length; i++) {\r\n // const unavalibledate = new Date(UnAvailableDatesForOccupied[i]);\r\n // // tslint:disable-next-line:max-line-length\r\n // const eachdate = { year: unavalibledate.getFullYear(), month: unavalibledate.getMonth() + 1, day: unavalibledate.getDate() };\r\n // if (new Date(UnAvailableDatesForOccupied[i]) > new Date()) {\r\n // this.disabledDates.push(eachdate);\r\n // this.UnAvailableDatesOccupied.push(eachdate);\r\n // }\r\n // }\r\n // }\r\n // console.log(this.disabledDates)\r\n }\r\n\r\n getWeekEnds(currentDate) {\r\n this.weekdends = [];\r\n const daysinMonth = this.daysInMonth(currentDate.getMonth() - 1, currentDate.getFullYear());\r\n for (let i = 1; i <= daysinMonth; i++) { // looping through days in month\r\n const newDate = new Date(currentDate.getFullYear(), currentDate.getMonth(), i);\r\n // tslint:disable-next-line:prefer-for-of\r\n for (let i = 0; i < this.weekendDaysList.length; i++) {\r\n if (newDate.getDay() === this.weekendDaysList[i]) {\r\n this.weekdends.push(newDate.getDate());\r\n }\r\n\r\n }\r\n }\r\n\r\n }\r\n\r\n\r\n daysInMonth(month, year) {\r\n return new Date(year, month, 0).getDate();\r\n }\r\n private findWeekends() {\r\n this.weekendDaysList = [];\r\n const findWeekends = this.commonService.getLocalStorage('WeekDayList');\r\n // for (let i = 1; i <=1; i++) {\r\n if (!findWeekends.find(x => x === 'Monday')) {\r\n this.weekendDaysList.push(1);\r\n }\r\n if (!findWeekends.find(x => x === 'Tuesday')) {\r\n this.weekendDaysList.push(2);\r\n }\r\n if (!findWeekends.find(x => x === 'Wednesday')) {\r\n this.weekendDaysList.push(3);\r\n }\r\n if (!findWeekends.find(x => x === 'Thursday')) {\r\n this.weekendDaysList.push(4);\r\n }\r\n if (!findWeekends.find(x => x === 'Friday')) {\r\n this.weekendDaysList.push(5);\r\n }\r\n if (!findWeekends.find(x => x === 'Saturday')) {\r\n this.weekendDaysList.push(6);\r\n }\r\n if (!findWeekends.find(x => x === 'Sunday')) {\r\n this.weekendDaysList.push(0);\r\n }\r\n }\r\n private ConfirmService(month, year, where) {\r\n\r\n // if (this.currentMonth === month && this.count === 2) {\r\n // return;\r\n // }\r\n // if (this.commonService.getLocalStorage('SelectedEUService')) {\r\n // this.PkkService = true;\r\n // }\r\n\r\n // const appointmentCheckAvailabilityRequest: any = [];\r\n // appointmentCheckAvailabilityRequest.TotalDuration = this.commonService.getLocalStorageitem('totalTime')\r\n // appointmentCheckAvailabilityRequest.PkkService = this.PkkService;\r\n // appointmentCheckAvailabilityRequest.LicensePlate = this.commonService.getLocalStorageByKey('vehicleData', 'LicensePlateNo');\r\n // appointmentCheckAvailabilityRequest.Make = this.commonService.getLocalStorageByKey('vehicleData', 'BrandName'),\r\n // appointmentCheckAvailabilityRequest.DealerId = this.commonService.getLocalStorage('dealername');\r\n // appointmentCheckAvailabilityRequest.StartDate = year + '-' + (month > 9 ? month : '0'+month) + '-01';\r\n // if (this.commonService.getLocalStorageitem('waitingTime') != undefined &&\r\n // this.commonService.getLocalStorageitem('waitingTime') != null && this.commonService.getLocalStorageitem('waitingTime') != '') {\r\n // appointmentCheckAvailabilityRequest['WaitTimeDropTime'] = this.commonService.getLocalStorageitem('waitingTime')\r\n // } else if (this.commonService.getLocalStorageitem('DropTime') != undefined &&\r\n // this.commonService.getLocalStorageitem('DropTime') != null && this.commonService.getLocalStorageitem('DropTime') != '') {\r\n // appointmentCheckAvailabilityRequest['WaitTimeDropTime'] = this.commonService.getLocalStorageitem('DropTime')\r\n // }\r\n\r\n // this.translate.get('LoaderText.loading').subscribe(message => {\r\n // this.loaderservice.show(message);\r\n // });\r\n this.UnavailableDates();\r\n // this.commonService.removeLocalStorage(['AvailableDates'])\r\n // this.dataCommunicationService.checkAppointmentAvability(appointmentCheckAvailabilityRequest).subscribe(\r\n // result => {\r\n // this.loaderservice.hide();\r\n // // if (result.StatusCode === 1) {\r\n // // console.log(result);\r\n // // this.commonService.setLocalStorage('unAvailableDates', result.Data.UnAvailableDates);\r\n // // this.commonService.setLocalStorage('UnAvailableDatesForOccupied', result.Data.UnAvailableDatesForOccupied);\r\n // // this.commonService.setLocalStorage('WeekDayList', result.Data.WeekDayList);\r\n // // this.findWeekends();\r\n // let dts;\r\n // if (this.commonService.getLocalStorage('AvailableDates')) {\r\n // dts = this.commonService.getLocalStorage('AvailableDates');\r\n // }\r\n // else {\r\n // dts = [];\r\n // }\r\n // for (let i = 0; i < result.AvailableDates.length; i++) {\r\n // dts.push(result.AvailableDates[i])\r\n // }\r\n // this.commonService.setLocalStorage('AvailableDates', dts);\r\n // this.UnavailableDates();\r\n // // this.getWeekEnds(new Date());\r\n // this.count = 0;\r\n // //this.isDisabled = false;\r\n // // } else {\r\n // // this.commonService.getErrorMessage(result.message);\r\n // // this.loaderservice.hide();\r\n // // }\r\n // }, error => {\r\n // // this.commonService.getErrorMessage('LoaderText.AlertMsg');\r\n // this.isDisabled = true;\r\n // this.commonService.getErrorMessage(\"LoaderText.DMSDown\");\r\n // this.loaderservice.hide();\r\n // }\r\n // );\r\n }\r\n\r\n public onDateSelect($event) {\r\n // this.ConfirmService($event.month , $event.year , '3')\r\n this.selectedDate.emit($event);\r\n }\r\n\r\n ngOnInit() {\r\n this.count = 0;\r\n if (this.commonService.getLocalStorage('AppointDate')) {\r\n this.model = this.commonService.getLocalStorage('AppointDate');\r\n this.onDateSelect(this.model);\r\n }\r\n else {\r\n this.model = this.availableDates[0];\r\n //console.log(this.availableDates)\r\n this.onDateSelect(this.model);\r\n }\r\n // tslint:disable-next-line:max-line-length\r\n for (let i = 1; i < this.calculatedDate.getDate(); i++) {\r\n const eachdate = { year: this.calculatedDate.getFullYear(), month: this.calculatedDate.getMonth() + 1, day: i };\r\n this.pastDaysList.push(eachdate);\r\n }\r\n\r\n\r\n // this.model = this.commonService.getLocalStorage('AppointDate');\r\n // if (this.commonService.getLocalStorageByKey('AppointDate', 'month') === this.commonService.getCurrentMonth().toString())\r\n // {\r\n\r\n // // this.model = this.commonService.getLocalStorage('AppointDate');\r\n // this.model = this.calendar.getToday();\r\n // }\r\n // else\r\n // {\r\n // // current: {year: number, month: number};\r\n // // next: {year: number, month: number};\r\n // // preventDefault: () => void;\r\n\r\n // // this.dateNavigate(this.nextdateEvent)\r\n // //this.model = this.commonService.getLocalStorage('AppointDate');\r\n // }\r\n }\r\n\r\n ngAfterContentInit(): void {\r\n\r\n }\r\n\r\n GetCssClass(date) {\r\n const unAvailableDates = this.commonService.getLocalStorage('unAvailableDates');\r\n const UnAvailableDatesForOccupied = this.commonService.getLocalStorage('UnAvailableDatesForOccupied');\r\n\r\n const dt = new Date(this.commonService.changeDateFormat(date, 'yyyy-mm-dd'));\r\n\r\n // if ((this.disabledDates.find(x => NgbDate.from(x).equals(date)))) {\r\n // return true;\r\n // }\r\n // this.getWeekEnds(new Date(this.commonService.changeDateFormat(date, 'yyyy-mm-dd')));\r\n // if(date.day==28|| date.day==27)\r\n // return \"AvailableDate\";\r\n // else if((this.UnAvailableDatesOccupied.find(x => NgbDate.from(x).equals(date))) || this.currentDate.getDate()==date.day || this.currentDate.getDate()==23)\r\n // return \"Occupied\";\r\n // else if (this.weekdends.find(x => x === date.day) || this.pastDaysList.find(x=>x.day==date.day && x.month==date.month))\r\n // return \"closed\";\r\n // else return \"\";\r\n if (dt.getDay() === 0 || dt.getDay() === 6 || this.pastDaysList.find(x => x.day == date.day && x.month == date.month)) {\r\n\r\n } else if ((this.availabledateascopy.find(x => NgbDate.from(x).equals(date)))) { return 'AvailableDate'; } else {\r\n return 'closed';\r\n }\r\n\r\n }\r\n\r\n public GetTiTle(date) {\r\n const dt = new Date(this.commonService.changeDateFormat(date, 'yyyy-mm-dd'));\r\n\r\n if (dt.getDay() === 0 || dt.getDay() === 6) {\r\n return 'Closed';\r\n } else if (this.pastDaysList.find(x => x.day == date.day && x.month == date.month)) {\r\n return 'Past Date';\r\n } else if ((this.availabledateascopy.find(x => NgbDate.from(x).equals(date)))) { return 'AvailableDate'; } else {\r\n return 'closed';\r\n }\r\n }\r\n // getDotInCalender(date) {\r\n // const dt = new Date(date.toString());\r\n // if ((this.disabledDates.find(x => NgbDate.from(x).equals(date)))) {\r\n // return true;\r\n // }\r\n // return false;\r\n // }\r\n\r\n}\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL1NoYXJlZC9jb21wb25lbnQvZGVhbGVyLWRldGFpbC9kZWFsZXItZGV0YWlsLmNvbXBvbmVudC5jc3MifQ== */\"","module.exports = \"\\r\\n
    \\r\\n
    \\r\\n \\\"MF-Drammen-img\\\"\\r\\n
    {{dealerDetails?.Name}}
    \\r\\n
    \\r\\n {{dealerDetails?.Address}}\\r\\n {{\\\"Common.CommonText.label.ShowMap\\\" | translate}}\\r\\n
    \\r\\n
    \\r\\n {{dealerDetails?.PhoneNo}}\\r\\n
    \\r\\n
    \\r\\n \\r\\n
      \\r\\n
    • {{workingDays}}{{shilftTiming}}
    • \\r\\n
    • {{holidays}} {{\\\"Common.CommonText.label.Closed\\\" | translate}}
    • \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n\"","import { ModalService } from '../../services/model_service/model.service';\r\nimport { Component, OnInit, Input, ViewChild } from '@angular/core';\r\nimport { DataCommunicationService } from '../../services/data_service/data-communication.service';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { DealerLocationComponent } from '../dealer-location/dealer-location.component';\r\nimport { LoaderindicatorService } from '../../services/loaderindicator/loaderindicator.service';\r\nimport { CommonService } from '../../services/common_services/common.service';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\n@Component({\r\n // tslint:disable-next-line:component-selector\r\n selector: 'mgfw-dealer-detail',\r\n templateUrl: './dealer-detail.component.html',\r\n styleUrls: ['./dealer-detail.component.css']\r\n})\r\nexport class DealerDetailComponent implements OnInit {\r\n\r\n @Input() dealerNumber: any;\r\n @Input() nextAvailableDate: boolean;\r\n @Input() selectAnotherDealer: boolean;\r\n showSelectAnotherDealer: false;\r\n\r\n @ViewChild(DealerLocationComponent) dealerLocationComponent;\r\n dealerDetails: any;\r\n holidaysList: any;\r\n workingDayList: any;\r\n workingDays: any;\r\n holidays='';\r\n shilftTiming: any;\r\n dealerID\r\n\r\n constructor(\r\n private readonly dataCommunicationService: DataCommunicationService,\r\n private modalService: ModalService,\r\n private loaderservice: LoaderindicatorService,\r\n private commonService: CommonService,\r\n private translate: TranslateService\r\n\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.dealerID=this.commonService.getLocalStorage('dealername')\r\n this.translate.get('LoaderText.loading').subscribe(message => {\r\n this.loaderservice.show(message);\r\n });\r\n setTimeout(() => {\r\n this.loaderservice.hide();\r\n }, 5000);\r\n this.getDealerDetailsbyId(this.dealerNumber);\r\n }\r\n\r\n public getDealerDetailsbyId(dealerNumber: string): void {\r\n this.dataCommunicationService.getDealerById(dealerNumber).subscribe(result => {\r\n if (result.StatusCode === 1) {\r\n //console.log(result)\r\n this.holidaysList = [];\r\n this.workingDayList = [];\r\n this.dealerDetails = result.Data;\r\n this.dealerShiftTime();\r\n } else {\r\n this.commonService.getErrorMessage('LoaderText.NoDataFound');\r\n }\r\n });\r\n }\r\n\r\n public openDealerLocation(id: string, modeData: any) {\r\n this.modalService.open(id);\r\n this.dealerLocationComponent.getModType(modeData);\r\n }\r\n\r\n public dealerShiftTime() {\r\n this.workingDay();\r\n this.findholiday();\r\n \r\n this.translate.get('monthNames.days').subscribe(message => {\r\n this.workingDays = message[this.workingDayList[0] - 1] + ' - ' + message[this.workingDayList[this.workingDayList.length - 2]];\r\n });\r\n this.shilftTiming=this.dealerDetails.DealerShift.StartTime.split(':')[0]+':'+this.dealerDetails.DealerShift.StartTime.split(':')[1]\r\n +' - '+this.dealerDetails.DealerShift.EndTime.split(':')[0]+':'+this.dealerDetails.DealerShift.EndTime.split(':')[1]\r\n\r\n }\r\n\r\n public workingDay() {\r\n if (this.dealerDetails.DealerShift.Days.find(x => x === 'Monday')) {\r\n this.workingDayList.push(1);\r\n }\r\n if (this.dealerDetails.DealerShift.Days.find(x => x === 'Tuesday')) {\r\n this.workingDayList.push(2);\r\n }\r\n if (this.dealerDetails.DealerShift.Days.find(x => x === 'Wednesday')) {\r\n this.workingDayList.push(3);\r\n }\r\n if (this.dealerDetails.DealerShift.Days.find(x => x === 'Thursday')) {\r\n this.workingDayList.push(4);\r\n }\r\n if (this.dealerDetails.DealerShift.Days.find(x => x === 'Friday')) {\r\n this.workingDayList.push(5);\r\n }\r\n if (this.dealerDetails.DealerShift.Days.find(x => x === 'Saturday')) {\r\n this.workingDayList.push(6);\r\n }\r\n }\r\n\r\n public findholiday() {\r\n \r\n if (!this.dealerDetails.DealerShift.Days.find(x => x === 'Monday')) {\r\n this.translate.get('monthNames.days').subscribe(message => {\r\n this.holidays = message[0] + ' - ';\r\n });\r\n }\r\n if (!this.dealerDetails.DealerShift.Days.find(x => x === 'Tuesday')) {\r\n this.translate.get('monthNames.days').subscribe(message => {\r\n this.holidays = this.holidays + message[1] + ' - ';\r\n });\r\n }\r\n if (!this.dealerDetails.DealerShift.Days.find(x => x === 'Wednesday')) {\r\n this.translate.get('monthNames.days').subscribe(message => {\r\n this.holidays = this.holidays + message[2] + ' - ';\r\n });\r\n }\r\n if (!this.dealerDetails.DealerShift.Days.find(x => x === 'Thursday')) {\r\n this.translate.get('monthNames.days').subscribe(message => {\r\n this.holidays = this.holidays + message[3] + ' - ';\r\n });\r\n }\r\n if (!this.dealerDetails.DealerShift.Days.find(x => x === 'Friday')) {\r\n this.translate.get('monthNames.days').subscribe(message => {\r\n this.holidays = this.holidays + message[4] + ' - ';\r\n });\r\n }\r\n if (!this.dealerDetails.DealerShift.Days.find(x => x === 'Saturday')) {\r\n this.translate.get('monthNames.days').subscribe(message => {\r\n this.holidays =this.holidays+ message[5] ;\r\n });\r\n }\r\n }\r\n}\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL1NoYXJlZC9jb21wb25lbnQvZGVhbGVyLWxpc3QvZGVhbGVyLWxpc3QuY29tcG9uZW50LmNzcyJ9 */\"","module.exports = \"

    \\r\\n dealer-list works!\\r\\n

    \\r\\n\"","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'mgfw-dealer-list',\r\n templateUrl: './dealer-list.component.html',\r\n styleUrls: ['./dealer-list.component.css']\r\n})\r\nexport class DealerListComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","module.exports = \".modal-backdrop { \\r\\n z-index: 1040 !important;\\r\\n opacity: 0.5;\\r\\n}\\r\\n.modal-dialog {\\r\\n margin: 2px auto;\\r\\n z-index: 1100 !important;\\r\\n}\\r\\n.modal {\\r\\n top:50px;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvU2hhcmVkL2NvbXBvbmVudC9kZWFsZXItbG9jYXRpb24vZGVhbGVyLWxvY2F0aW9uLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSx3QkFBd0I7SUFDeEIsWUFBWTtBQUNoQjtBQUNBO0lBQ0ksZ0JBQWdCO0lBQ2hCLHdCQUF3QjtBQUM1QjtBQUNBO0lBQ0ksUUFBUTtBQUNaIiwiZmlsZSI6InNyYy9hcHAvU2hhcmVkL2NvbXBvbmVudC9kZWFsZXItbG9jYXRpb24vZGVhbGVyLWxvY2F0aW9uLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIubW9kYWwtYmFja2Ryb3AgeyAgIFxyXG4gICAgei1pbmRleDogMTA0MCAhaW1wb3J0YW50O1xyXG4gICAgb3BhY2l0eTogMC41O1xyXG59XHJcbi5tb2RhbC1kaWFsb2cge1xyXG4gICAgbWFyZ2luOiAycHggYXV0bztcclxuICAgIHotaW5kZXg6IDExMDAgIWltcG9ydGFudDtcclxufVxyXG4ubW9kYWwge1xyXG4gICAgdG9wOjUwcHg7XHJcbn0iXX0= */\"","module.exports = \"\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    {{_dealerList?.Name}}

    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    {{_dealerList?.Name}}
    \\r\\n
    \\r\\n
    {{_dealerList?.Address}}
    \\r\\n
    Norway
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
    \\r\\n\\r\\n
    \\r\\n\\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\"","import { Component, OnInit, Input } from '@angular/core';\r\nimport { ModalService } from '../../services';\r\n\r\n@Component({\r\n selector: 'mgfw-dealer-location',\r\n templateUrl: './dealer-location.component.html',\r\n styleUrls: ['./dealer-location.component.css']\r\n})\r\nexport class DealerLocationComponent implements OnInit {\r\n lat:any;\r\n lng:any;\r\n zoom: any;\r\n info=true;\r\n _dealerList: any;\r\n addressLine1: any;\r\n addressLine2: any;\r\n \r\n @Input()\r\n public set dealerList(value: any[]) {\r\n this._dealerList = value;\r\n }\r\n\r\n constructor(\r\n private modalService: ModalService,\r\n ) { }\r\n\r\n ngOnInit() {\r\n // this.lat=59.752865; \r\n // this.lng=10.126080;\r\n // this.zoom=15;\r\n // navigator.geolocation.getCurrentPosition( pos => {\r\n // this.lng = +pos.coords.longitude;\r\n // this.lat = +pos.coords.latitude;\r\n // });\r\n \r\n }\r\n\r\n public getModType(data: any) {\r\n this.lat=data.Latitude;\r\n this.lng=data.Longitude;\r\n this.zoom=15;\r\n \r\n }\r\n public closeModal(id: string) {\r\n this.modalService.close(id);\r\n }\r\n\r\n\r\n}\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL1NoYXJlZC9jb21wb25lbnQvcmVudGFsLWNhci1saXN0L3JlbnRhbC1jYXItbGlzdC5jb21wb25lbnQuY3NzIn0= */\"","module.exports = \"
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    0\\\">\\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n {{\\\"Common.CommonText.label.NoRentalCar\\\" | translate}}\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \"","import { Component, OnInit, Input, Inject, Output, EventEmitter, Directive } from '@angular/core';\r\nimport { LoaderindicatorService } from '../../services/loaderindicator/loaderindicator.service';\r\nimport { DataCommunicationService } from '../../services/data_service/data-communication.service';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { CommonService } from '../../services/common_services/common.service';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { MgDecimalValuePipe } from './../../../Shared/pipe/decimalValue';\r\nimport { DOCUMENT } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'mgfw-rental-car-list',\r\n templateUrl: './rental-car-list.component.html',\r\n styleUrls: ['./rental-car-list.component.css']\r\n})\r\nexport class RentalCarListComponent implements OnInit {\r\n\r\n @Input() dateValue: any;\r\n @Input() showRentalCar: boolean;\r\n @Input() rentalCarPrice: any;\r\n @Input() rentalProvider: any;\r\n @Output() selectedRentalCarData = new EventEmitter();\r\n\r\n searchParams: any;\r\n rentalCarList = [];\r\n localrentalCar;\r\n thirdpartyprice = null;\r\n dealerConfig;\r\n ThirdPartyRental: any;\r\n constructor(\r\n private loaderservice: LoaderindicatorService,\r\n private dataCommunicationService: DataCommunicationService,\r\n private commonService: CommonService,\r\n private translate: TranslateService,\r\n ) { }\r\n\r\n\r\n public getRentalCars(dateValue) {\r\n this.localrentalCar = this.commonService.getLocalStorage('RentalCar');\r\n // this.commonService.removeLocalStorage(['RentalCar']);\r\n // tslint:disable-next-line:max-line-length\r\n this.searchParams = { DealerNo: this.commonService.getLocalStorage('dealername'), status: true, AvailableDate: (dateValue.year + '-' + dateValue.month + '-' + dateValue.day) };\r\n this.translate.get('LoaderText.loading').subscribe(message => {\r\n this.loaderservice.show(message);\r\n });\r\n this.dataCommunicationService.getrentalCar(this.searchParams).subscribe(\r\n result => {\r\n this.loaderservice.hide();\r\n if (result.StatusCode === 1) {\r\n this.rentalCarList = result.Data;\r\n }\r\n }, error => {\r\n this.commonService.getErrorMessage('LoaderText.AlertMsg');\r\n });\r\n\r\n }\r\n public selectThirdPartyRentalCar(rentalCarData, $event) {\r\n if ($event.target.checked === false) {\r\n this.commonService.removeLocalStorage(['RentalCar']);\r\n rentalCarData == null;\r\n this.selectedRentalCarData.emit(this.thirdpartyprice);\r\n } else {\r\n if (rentalCarData != null) {\r\n if (this.dealerConfig.RentalCarPrice > 0 && this.showRentalCar) {\r\n this.translate.get('Common.CommonText.label.rentedcar').subscribe(message => {\r\n this.commonService.setLocalStorage('RentalCar', ({ \"Brand\": message, \"RentalCarId\": 0, \"Price\": this.dealerConfig.RentalCarPrice }));\r\n this.ThirdPartyRental = this.commonService.getLocalStorage('RentalCar');\r\n this.selectedRentalCarData.emit(this.commonService.getLocalStorage('RentalCar'));\r\n });\r\n }\r\n }\r\n }\r\n }\r\n public selectRentalCar(rentalCarData) {\r\n\r\n if (rentalCarData != null) {\r\n if (rentalCarData.RentalCarId === this.commonService.getLocalStorageByKey('RentalCar', 'RentalCarId')) {\r\n (document.getElementById(\r\n rentalCarData.LicensePlateNo + rentalCarData.Brand + rentalCarData.Model\r\n ) as HTMLInputElement).checked = false;\r\n this.commonService.removeLocalStorage(['RentalCar']);\r\n this.selectedRentalCarData.emit(rentalCarData);\r\n } else {\r\n (document.getElementById(\r\n rentalCarData.LicensePlateNo + rentalCarData.Brand + rentalCarData.Model\r\n ) as HTMLInputElement).checked = true;\r\n this.commonService.setLocalStorage('RentalCar', rentalCarData);\r\n this.selectedRentalCarData.emit(rentalCarData);\r\n }\r\n }\r\n }\r\n\r\n // public getCheckboxselected(serviceData) {\r\n // // this.getServiceChecked();\r\n // if (this.SelectedService.some(x => x.ServiceId === serviceData.ServiceId)) {\r\n // return true;\r\n // } else { return false; }\r\n // }\r\n\r\n public checkSelectedRentalCar(car) {\r\n if (this.localrentalCar != null) {\r\n if (this.localrentalCar.RentalCarId == car.RentalCarId) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n ngOnInit() {\r\n this.commonService.removeLocalStorage(['RentalCar']);\r\n this.dealerConfig = this.commonService.getLocalStorage('dealerConfig');\r\n if (Number(this.rentalCarPrice) > 0) {\r\n\r\n } else {\r\n this.getRentalCars(this.dateValue);\r\n }\r\n }\r\n\r\n\r\n}\r\n","import { Component, ElementRef, Input, OnInit, OnDestroy } from '@angular/core';\r\nimport * as $ from 'jquery';\r\n\r\nimport { ModalService } from '../services/index';\r\n\r\n@Component({\r\n selector: 'app-model',\r\n template: ''\r\n})\r\n\r\nexport class ModalComponent implements OnInit, OnDestroy {\r\n @Input() id: string;\r\n private element: JQuery;\r\n\r\n constructor(private modalService: ModalService, private el: ElementRef) {\r\n this.element = $(el.nativeElement);\r\n }\r\n\r\n ngOnInit(): void {\r\n let modal = this;\r\n\r\n // ensure id attribute exists\r\n if (!this.id) {\r\n console.error('modal must have an id');\r\n return;\r\n }\r\n\r\n // move element to bottom of page (just before ) so it can be displayed above everything else\r\n this.element.appendTo('body');\r\n\r\n // close modal on background click\r\n /*this.element.on('click', function (e: any) {\r\n var target = $(e.target);\r\n if (!target.closest('.modal-body').length) {\r\n modal.close();\r\n }\r\n });*/\r\n\r\n // add self (this modal instance) to the modal service so it's accessible from controllers\r\n this.modalService.add(this);\r\n }\r\n\r\n // remove self from modal service when directive is destroyed\r\n ngOnDestroy(): void {\r\n this.modalService.remove(this.id);\r\n this.element.remove();\r\n }\r\n\r\n // open modal\r\n open(): void {\r\n this.element.show();\r\n this.element.removeClass('hide');\r\n this.element.addClass('show');\r\n $('body').addClass('modal-open');\r\n }\r\n\r\n // close modal\r\n close(): void {\r\n this.element.hide();\r\n this.element.removeClass('show');\r\n this.element.addClass('hide');\r\n $('body').removeClass('modal-open');\r\n }\r\n}\r\n","import { Directive, ElementRef, HostListener, Input } from '@angular/core';\r\nimport { NgControl } from '@angular/forms';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\n@Directive({\r\n selector: 'input[numbersOnly]'\r\n})\r\nexport class NumberDirective {\r\n\r\n constructor(private _el: ElementRef,\r\n private toastrService: ToastrService,\r\n private translate: TranslateService) { }\r\n //Allow number only\r\n @HostListener('input', ['$event']) onInputChange(event) {\r\n const initalValue = this._el.nativeElement.value;\r\n this._el.nativeElement.value = initalValue.replace(/[^0-9]*/g, '');\r\n if (initalValue !== this._el.nativeElement.value) {\r\n this.translate.get('LoaderText.NumberOnly').subscribe(message => {\r\n this.toastrService.error(message);\r\n });\r\n event.stopPropagation();\r\n return false;\r\n }\r\n this.toastrService.clear();\r\n return true;\r\n }\r\n\r\n}","export const ActionNames = {\r\n EXTENRAINTERFACE: 'extenrainterface',\r\n GETCUSTOMER: 'getCustomer',\r\n MOBILENUMBER: 'MobileNumber',\r\n GETCUSTOMERVEHICLELIST: 'getCustomerVehicleList',\r\n SERVICES: 'Services',\r\n DEALERS: 'Dealers',\r\n RENTALCARS: 'RentalCars',\r\n GETAPPOINTMENTDATES: '',\r\n SAVEORDER: '',\r\n VERIFYOTP: 'VerifyOTP',\r\n SMS: 'sms',\r\n SENDOTP: 'SendOtp',\r\n APPOINTMENT: 'appointment',\r\n CHECKAVABLITY: 'CheckAvailabilityDates',\r\n ADD: 'AddAppointment',\r\n PACKAGE: 'GetPackageDetail',\r\n DEALERCONFIGURATION:'DealerConfiguration',\r\n BRAND:'Brands',\r\n MODELS:'Models',\r\n MPOADDITIONALSERVICE:'AdditionalPackages',\r\n GETUPSELLDATABYBRAND: 'GetUpSellDataByCode',\r\n MECHANICSDATA:'MechanicsCalendePlanner',\r\n RECALLDETAIL:'RecallDetail',\r\n DEALERIMAGE: 'DealerImage',\r\n GETMODELPDF: 'getModelPDF',\r\n GETDEALERBYDMSID: 'getDealerByDmsId',\r\n BRANDMPDEL: 'BrandModel',\r\n ACCESSORIES: 'accessories',\r\n GETACCESSORIES: 'getBydealerId',\r\n CUSTOMERS: 'Customers',\r\n GETMYSITEPARAM: 'MySiteParams',\r\n GETGIFTCARDBYPHONE: 'GetGiftCardByPhone',\r\n GETMINBILCONSNET: 'getMinBilConsent',\r\n UPDATEMINBILCONSNET: 'updateMinBilConsent',\r\n};\r\n","export enum DateForm {\r\n ind_f1 = 'dd/mm/yyyy',\r\n ind_f2 = 'mm/dd/yyyy',\r\n ind_f3 = 'yyyy-dd-mm',\r\n ind_f4 = 'yyyy/mm/dd',\r\n ind_f5 = 'dd/yyyy/mm',\r\n ind_f6 = 'mm/yyyy/dd',\r\n\r\n nor_f1 = 'dd.mm.yyyy',\r\n nor_f2 = 'yyyy.mm.dd',\r\n nor_f3 = 'yyyy.dd.mm',\r\n nor_f4 = 'dd.yyyy.dd',\r\n nor_f5 = 'mm.dd.yyyy',\r\n nor_f6 = 'mm.yyyy.dd',\r\n\r\n nsg_f1 = 'dd-mm-yyyy',\r\n nsg_f2 = 'yyyy-dd-mm',\r\n nsg_f3 = 'mm-dd-yyyy',\r\n nsg_f4 = 'yyyy-mm-dd',\r\n nsg_f5 = 'dd-yyyy-mm',\r\n nsg_f6 = 'mm-yyyy-dd',\r\n}\r\n","export const paths = {\r\n BOOKAPPOINTMENT: 'bookappointment',\r\n OTPVERIFICATION: 'otpverification',\r\n CARLIST: 'carlist',\r\n CARSERVICE: 'carservice',\r\n CARSERVICELIST: 'carservicelist',\r\n CONFIRMBOOKING: 'confirmbooking',\r\n BOOKINGSUMMARY: 'bookingsummary',\r\n DEALERSELECTION: 'dealerselection',\r\n PRIVACYPOLICY: 'privacy',\r\n};\r\n\r\nexport const months = {\r\n // tslint:disable-next-line:object-literal-key-quotes\r\n NO: {\r\n months: ['januar', 'februar', 'mars', 'april', 'mai', 'juni', 'juli', 'august', 'september', 'oktober', 'november', 'desember'],\r\n },\r\n };","export class MinBilConsentModel {\r\n CustomerId: string;\r\n EmailConsent: boolean;\r\n SMSConsent: boolean;\r\n CampaignConsent: boolean;\r\n CampaignNotificationConsent: boolean;\r\n IsMinBilUser: boolean;\r\n Source: string;\r\n}","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'decimalValue'\r\n})\r\nexport class MgDecimalValuePipe implements PipeTransform {\r\n finalString = '';\r\n count = 0;\r\n decimalValue;\r\n transform(value: string) {\r\n this.finalString = '';\r\n this.count = 0;\r\n if (value != null) {\r\n this.decimalValue = '-';\r\n if (value.toString().indexOf('.')>-1) {\r\n this.decimalValue = value.toString().split('.')[1];\r\n value = value.toString().split('.')[0];\r\n }\r\n const lengthValue = value.toString().length;\r\n if (lengthValue > 3) {\r\n const ValueArry = value.toString().split('');\r\n for (let i = ValueArry.length - 1; i >= 0; i--) {\r\n this.count = this.count + 1;\r\n this.finalString = this.finalString + ValueArry[i];\r\n if (this.count === 3) {\r\n if(i!=0)\r\n {\r\n this.finalString = this.finalString + '.';\r\n } else {\r\n this.finalString = this.finalString ;\r\n }\r\n\r\n this.count = 0;\r\n }\r\n }\r\n // tslint:disable-next-line:max-line-length\r\n // this.finalString= value.toString().substr(0,value.toString().length-3) +'.'+value.toString().substr(value.toString().length-3,3)\r\n const ReverserString = this.finalString.split('');\r\n ReverserString.reverse();\r\n if (this.decimalValue.length === 1 && this.decimalValue!='-') {\r\n this.decimalValue = this.decimalValue + '0';\r\n }\r\n // if(this.decimalValue!=undefined && this.decimalValue!=0)\r\n // {\r\n return 'Kr. ' + ReverserString.toString().replace(/,/g, '') //+ ',' + this.decimalValue.substr(0,2);\r\n // }\r\n // return 'Kr. ' + ReverserString.toString().replace(/,/g, '') + ' ,-';\r\n // this.finalString= this.finalString.toString();\r\n // return this.finalString.replace(',','');\r\n } else {\r\n if (this.decimalValue.length === 1 && this.decimalValue!='-') {\r\n this.decimalValue = this.decimalValue + '0';\r\n }\r\n return 'Kr. ' + `${value}` //+ ',' + this.decimalValue;\r\n }\r\n } else {\r\n return ',-';\r\n }\r\n // if (completeWords) {\r\n // minlimit = value.substr(0, 13).lastIndexOf(' ');\r\n // }\r\n // if (value != null) {\r\n // if (value.length < 25) {\r\n // return `${value.substr(0, minlimit)}`;\r\n // } else {\r\n // return `${value.substr(0, minlimit)}${ellipsis}`;\r\n // }\r\n // }\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'priceFormat'\r\n})\r\nexport class MgPriceFormatPipe implements PipeTransform {\r\n finalString = '';\r\n count = 0;\r\n decimalValue;\r\n transform(value: string) {\r\n this.finalString = '';\r\n this.count = 0;\r\n if (value != null) {\r\n this.decimalValue = '-';\r\n if (value.toString().indexOf('.')>-1) {\r\n this.decimalValue = value.toString().split('.')[1];\r\n value = value.toString().split('.')[0];\r\n }\r\n const lengthValue = value.toString().length;\r\n if (lengthValue > 3) {\r\n const ValueArry = value.toString().split('');\r\n for (let i = ValueArry.length - 1; i >= 0; i--) {\r\n this.count = this.count + 1;\r\n this.finalString = this.finalString + ValueArry[i];\r\n if (this.count === 3) {\r\n if(i!=0)\r\n {\r\n this.finalString = this.finalString + '.';\r\n } else {\r\n this.finalString = this.finalString ;\r\n }\r\n\r\n this.count = 0;\r\n }\r\n }\r\n // tslint:disable-next-line:max-line-length\r\n // this.finalString= value.toString().substr(0,value.toString().length-3) +'.'+value.toString().substr(value.toString().length-3,3)\r\n const ReverserString = this.finalString.split('');\r\n ReverserString.reverse();\r\n if (this.decimalValue.length === 1 && this.decimalValue!='-') {\r\n this.decimalValue = this.decimalValue + '0';\r\n }\r\n // if(this.decimalValue!=undefined && this.decimalValue!=0)\r\n // {\r\n return ReverserString.toString().replace(/,/g, '') //+ ',' + this.decimalValue.substr(0,2);\r\n // }\r\n // return 'Kr. ' + ReverserString.toString().replace(/,/g, '') + ' ,-';\r\n // this.finalString= this.finalString.toString();\r\n // return this.finalString.replace(',','');\r\n } else {\r\n if (this.decimalValue.length === 1 && this.decimalValue!='-') {\r\n this.decimalValue = this.decimalValue + '0';\r\n }\r\n return `${value}` //+ ',' + this.decimalValue;\r\n }\r\n } else {\r\n return ',-';\r\n }\r\n // if (completeWords) {\r\n // minlimit = value.substr(0, 13).lastIndexOf(' ');\r\n // }\r\n // if (value != null) {\r\n // if (value.length < 25) {\r\n // return `${value.substr(0, minlimit)}`;\r\n // } else {\r\n // return `${value.substr(0, minlimit)}${ellipsis}`;\r\n // }\r\n // }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { environment } from '../../../../environments/environment';\r\nimport { HttpClient, HttpHeaders, HttpErrorResponse } from '@angular/common/http';\r\nimport { throwError } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { CommonService } from '../common_services/common.service';\r\nimport { config } from 'src/assets/config';\r\nimport { EncryptionService } from '../common_services/encryption.service';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AutheticationService {\r\n\r\n apiToken: string;\r\n\r\n constructor(\r\n private http: HttpClient,\r\n private commonService: CommonService,\r\n private encryptionService: EncryptionService\r\n ) {\r\n\r\n }\r\n\r\n \r\n\r\n login() {\r\n const data = 'grant_type=' + environment.token_grant_type\r\n + '&username=' + config.username\r\n + '&password=' + config.password\r\n + '&client_id=' + environment.token_client_id\r\n + '&client_secret=' + this.encryptionService.encryptText(environment.token_client_secret);\r\n const options = { headers: new HttpHeaders({ 'Content-Type': 'application/x-www-form-urlencoded' }) };\r\n\r\n return this.http.post(config.apiHostClient + config.apiURL + '/FOToken', data, options)\r\n .pipe(map(x => {\r\n this.commonService.setLocalStorage('token', x);\r\n })).catch(this.handleError);\r\n }\r\n\r\n\r\n private handleError(error: HttpErrorResponse) {\r\n if (error.error instanceof ErrorEvent) {\r\n console.error('An error occurred:', error.error.message);\r\n } else {\r\n console.error(`Backend returned code ${error.status}, ` + `body was: ${error.error}` + error.error.message);\r\n }\r\n const data = JSON.parse(error.error.error);\r\n return throwError(data.Errors[0].Message);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CommonService } from '../common_services/common.service';\r\nimport { DataCommunicationService } from '../data_service/data-communication.service';\r\nimport { AutheticationService } from '../authentication/authetication.service';\r\nimport { LoaderindicatorService } from '../loaderindicator/loaderindicator.service';\r\nimport { first } from 'rxjs/operators';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CampaignRedirectionService {\r\n\r\n showError = false;\r\n currentData: any;\r\n\r\n constructor(\r\n private commonService: CommonService,\r\n private dataCommunicationService: DataCommunicationService,\r\n private autheticationService: AutheticationService,\r\n private readonly loadingIndicatorService: LoaderindicatorService,\r\n ) { }\r\n\r\n public getDealerByDMSNo(DmsNo,MobileNo){\r\n return new Promise((resolve)=>{\r\n this.autheticationService.login().pipe(first()).subscribe(result => {\r\n //this.loadingIndicatorService.hide();\r\n this.dataCommunicationService.getDealerByDmsNo({DmsId : DmsNo}).subscribe(result =>{\r\n this.commonService.setLocalStorage('dealerImage', 'data:image/jpeg;base64,' + result.Data.DealerImage);\r\n this.commonService.setLocalStorage('managerName', result.Data.ManagerName);\r\n this.commonService.setLocalStorage('dealername', result.Data.Id);\r\n this.getCustomerData(MobileNo).then(res=>{\r\n resolve();\r\n }); \r\n }); \r\n }, error => {\r\n this.loadingIndicatorService.hide();\r\n });\r\n }) \r\n }\r\n\r\n public getCustomerData(MobileNo){\r\n return new Promise((resolve)=>{\r\n this.dataCommunicationService.getCustomerDetailByMobile(MobileNo)\r\n .subscribe(result => {\r\n if (result.StatusCode === 1) {\r\n this.commonService.setLocalStorage('customerData', result.Data);\r\n this.PushDataToAnalytics('true');\r\n } else {\r\n this.PushDataToAnalytics('false');\r\n }\r\n resolve();\r\n }, error => {\r\n this.PushDataToAnalytics('false');\r\n this.showError = true; \r\n this.loadingIndicatorService.hide();\r\n });\r\n }) \r\n }\r\n\r\n public PushDataToAnalytics(value) {\r\n this.currentData = {\r\n 'event': 'PhoneValidation',\r\n 'so-customer': value\r\n };\r\n (window as any).dataLayer.push(this.currentData);\r\n }\r\n}\r\n","import { config } from './../../../../assets/config';\r\nimport { Injectable } from '@angular/core';\r\nimport { DateForm } from '../../enums/dateFormat.enum';\r\nimport { debug } from 'util';\r\nimport { Router } from '@angular/router';\r\nimport { environment } from '../../../../environments/environment';\r\nimport { months } from '../../enums/paths.enum';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { ToastrService } from 'ngx-toastr';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CommonService {\r\n lang: any = environment.lang;\r\n redirectURL: string;\r\n constructor(private router: Router,\r\n private toastrService: ToastrService,\r\n private translate: TranslateService) { }\r\n\r\n appLanguage = environment.lang;\r\n\r\n\r\n public routerNavigation(nextRouteStep: string): void {\r\n // console.log(`${this.appLanguage}/${nextRouteStep}`);\r\n this.router.navigate([`${this.appLanguage}/${nextRouteStep}`]);\r\n\r\n }\r\n\r\n public changeDateFormat(data: any, dateFormat: string) {\r\n\r\n if (dateFormat === DateForm.ind_f1) {\r\n return data.day + '/' + data.month + '/' + data.year;\r\n } else if (dateFormat === DateForm.ind_f3) {\r\n return data.year + '-' + data.day + '-' + data.month;\r\n } else if (dateFormat === DateForm.ind_f4) {\r\n return data.year + '-' + data.month + '-' + data.day;\r\n } else if (dateFormat === DateForm.ind_f2) {\r\n return data.month + '/' + data.day + '/' + data.year;\r\n } else if (dateFormat === DateForm.nsg_f4) {\r\n return data.year + '-' + data.month + '-' + data.day;\r\n }\r\n }\r\n\r\n public getLocalStorage(keyValue: string): any {\r\n if (localStorage.getItem(keyValue) != null) {\r\n return JSON.parse(localStorage.getItem(keyValue));\r\n }\r\n\r\n }\r\n\r\n public getLocalStorageitem(keyValue: string): any {\r\n if (localStorage.getItem(keyValue) != null) {\r\n return localStorage.getItem(keyValue);\r\n }\r\n\r\n }\r\n\r\n public setLocalStorage(keyValue: string, data: any): void {\r\n if (typeof (data) === 'object') {\r\n localStorage.setItem(keyValue, JSON.stringify(data));\r\n } else {\r\n localStorage.setItem(keyValue, data);\r\n }\r\n }\r\n\r\n public removeLocalStorage(keyValue: string[]): boolean {\r\n // tslint:disable-next-line:no-shadowed-variable\r\n keyValue.forEach(element => {\r\n localStorage.removeItem(element);\r\n });\r\n return true;\r\n }\r\n\r\n public clearLocalStorage(): boolean {\r\n localStorage.clear();\r\n return true;\r\n }\r\n\r\n public getMonthName(monthNumber: any): string {\r\n return months.NO.months[monthNumber - 1];\r\n }\r\n\r\n public NavigatePage(actionName: string, queryParam?: string, source?: string) {\r\n this.toastrService.clear();\r\n if (queryParam != null && queryParam !== undefined && queryParam !== '') {\r\n if(source != null && source !== undefined && source !== '')\r\n this.router.navigate([`${this.appLanguage}/${actionName}`], { queryParams: { dealerName: queryParam, source: source } });\r\n else\r\n this.router.navigate([`${this.appLanguage}/${actionName}`], { queryParams: { dealerName: queryParam } });\r\n } else {\r\n this.router.navigate([`${this.appLanguage}/${actionName}`]);\r\n }\r\n }\r\n\r\n public getLocalStorageByKey(Keyvalue: string, key: string): any {\r\n if (localStorage.getItem(Keyvalue)) {\r\n return JSON.parse(localStorage.getItem(Keyvalue))[key];\r\n } else { return '0'; }\r\n }\r\n\r\n public getReturnURL(brandName: string, LicensePlateNo: string, modelName: string): string {\r\n this.redirectURL = config.redirectURL + '/?69=' + brandName + ' ' + modelName +\r\n '&70=' + LicensePlateNo +\r\n '&73=' + this.getLocalStorageByKey('customerData', 'MobileNo') +\r\n '&74=' + this.getLocalStorageByKey('customerData', 'Email') +\r\n '&72=' + this.getLocalStorageByKey('customerData', 'FirstName') + ' ' + this.getLocalStorageByKey('customerData', 'LastName') +\r\n '&76=';\r\n return this.redirectURL;\r\n }\r\n\r\n public getErrorMessage(msg: any) {\r\n this.translate.get(msg).subscribe(message => {\r\n this.toastrService.error(message);\r\n });\r\n // this.translate.get(msg).subscribe(message => {\r\n // alert(message);\r\n // });\r\n\r\n }\r\n\r\n public clearToaster(){\r\n this.toastrService.clear();\r\n }\r\n public formatDate(data: any) {\r\n if (data == null || data == '' || data == \"\") {\r\n return data;\r\n }\r\n else {\r\n var dd = data.getDate();\r\n var mm = data.getMonth() + 1;\r\n var y = data.getFullYear();\r\n if (mm < 10) {\r\n mm = '0' + mm;\r\n }\r\n if (dd < 10) {\r\n dd = '0' + dd;\r\n }\r\n return dd + '.' + mm + '.' + y;\r\n }\r\n }\r\n\r\n // change color according to brand\r\n public getBrandColorMitsubishi() {\r\n const MitsubishiParentClass = document.querySelector('.ns-mg-mitsubishi');\r\n const MitsubishiChildClass = document.querySelector('.ns-mg-mitsubishi.mt-5');\r\n if (MitsubishiParentClass.classList.contains('ns-mg-mitsubishi')) {\r\n MitsubishiParentClass.classList.remove('ns-mg-mitsubishi');\r\n MitsubishiParentClass.classList.add('ns-mg-renault');\r\n }\r\n if (MitsubishiChildClass.classList.contains('mt-5')) {\r\n MitsubishiChildClass.classList.remove('ns-mg-mitsubishi', 'mt-5');\r\n MitsubishiChildClass.classList.add('ns-mg-renault', 'mt-5');\r\n }\r\n }\r\n\r\n public getBrandColorMitsubishiWithOutChildClass() {\r\n const MitsubishiParentClass = document.querySelector('.ns-mg-mitsubishi');\r\n if (MitsubishiParentClass.classList.contains('ns-mg-mitsubishi')) {\r\n MitsubishiParentClass.classList.remove('ns-mg-mitsubishi');\r\n MitsubishiParentClass.classList.add('ns-mg-renault');\r\n }\r\n }\r\n\r\n public getCurrentMonth(): number {\r\n const DateObject = new Date();\r\n return DateObject.getMonth();\r\n }\r\n\r\n public isFreeService(brand: string, serviceGroupId: string): boolean{\r\n if(brand == 'Mitsubishi' && serviceGroupId == '42')\r\n return true;\r\n if(brand == 'Hongqi' && serviceGroupId == '51')\r\n return true;\r\n // if(brand == 'Renault' && serviceGroupId == '51')\r\n // return true;\r\n return false;\r\n }\r\n \r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport * as CryptoJS from 'crypto-js';\r\nimport { environment } from '../../../../environments/environment';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class EncryptionService {\r\n\r\n constructor() { }\r\n encryptText(plainText: string) {\r\n const key = CryptoJS.enc.Utf8.parse(environment.PasswordEncryptionKey.trim());\r\n const iv = CryptoJS.enc.Utf8.parse(environment.PasswordEncryptionKey.trim());\r\n\r\n return CryptoJS.AES.encrypt(\r\n plainText.trim(),\r\n key,\r\n {\r\n keySize: 32,\r\n iv,\r\n mode: CryptoJS.mode.CBC,\r\n padding: CryptoJS.pad.Pkcs7\r\n }).toString();\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpErrorResponse } from '@angular/common/http';\r\nimport 'rxjs/add/operator/catch';\r\nimport 'rxjs/add/operator/map';\r\nimport { throwError } from 'rxjs';\r\nimport { CommonService } from '../common_services/common.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class BaseapiService {\r\n\r\n message: string[];\r\n\r\n constructor(\r\n private http: HttpClient,\r\n private commonService: CommonService,\r\n ) { }\r\n\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + this.commonService.getLocalStorageByKey('token', 'access_token'),\r\n RefreshToken: this.commonService.getLocalStorageByKey('token', 'refresh_token')\r\n })\r\n };\r\n\r\n Get(uri: string, param: any) {\r\n this.refreshHeader();\r\n return this.http.get(`${uri}`, { params: param, headers: this.httpOptions.headers }).map((response: T) => {\r\n return response;\r\n }).catch(this.handleError);\r\n }\r\n\r\n GetById(uri: string, param: any) {\r\n this.refreshHeader();\r\n return this.http.get(`${uri}/${param}`, { headers: this.httpOptions.headers }).map((response: T) => {\r\n return response;\r\n }).catch(this.handleError);\r\n }\r\n \r\n\r\n GetAll(uri: string) {\r\n this.refreshHeader();\r\n return this.http.get(`${uri}`, { headers: this.httpOptions.headers }).map((response: T) => {\r\n return response;\r\n }).catch(this.handleError);\r\n }\r\n\r\n Post(uri: string, params: any, isReturn: boolean = false) {\r\n this.refreshHeader();\r\n return this.http.post(uri, params, this.httpOptions).map((response: T) => {\r\n return response;\r\n }).catch(this.handleError);\r\n }\r\n\r\n Put(uri: string, params: any, id?: any, isReturn: boolean = false) {\r\n this.refreshHeader();\r\n return this.http.put(`${uri}`, params, this.httpOptions).map((response: T) => {\r\n return response;\r\n }).catch(this.handleError);\r\n }\r\n\r\n Delete(uri: string, params: any, isReturn: boolean = false) {\r\n this.refreshHeader();\r\n return this.http.delete(`${uri}/${params}`, this.httpOptions).map((response: T) => {\r\n return response;\r\n }).catch(this.handleError);\r\n }\r\n\r\n private refreshHeader() {\r\n this.httpOptions = null;\r\n this.httpOptions = {\r\n headers: new HttpHeaders({\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + this.commonService.getLocalStorageByKey('token', 'access_token'),\r\n \r\n })\r\n };\r\n }\r\n\r\n private handleError(error: HttpErrorResponse) {\r\n if (error.error instanceof ErrorEvent) {\r\n console.error('An error occurred:', error.error.message);\r\n } else {\r\n console.error(`Backend returned code ${error.status}, ` + `body was: ${error.error}` + error.error.message);\r\n }\r\n this.message = [String(error.status), error.error.message];\r\n return throwError(this.message);\r\n }\r\n\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { environment } from '../../../../environments/environment';\r\nimport { config } from '../../../../assets/config';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ConfigurationService {\r\n // public MGAPIUrl: string = config.apiHostClient + config.apiURL + config.apiHostVersion;\r\n\r\n // public MGAPIUrl: string = environment.apiHostClient + environment.apiURL + environment.apiHostVersion;\r\n public MGAPIUrl: string = config.apiHostClient + config.apiURL + config.apiHostVersion;\r\n\r\n // MGAPIUrl: string;\r\n\r\n constructor() {\r\n // this.readConfiguration().then(result => {\r\n // this.MGAPIUrl = result.apiHostClient + result.apiURL + result.apiHostVersion;\r\n // console.log(this.MGAPIUrl);\r\n // });\r\n }\r\n\r\n\r\n public baseUrl(): string {\r\n // this.MGAPIUrl = localStorage.getItem('url');\r\n return `${this.MGAPIUrl}`;\r\n }\r\n\r\n public createUrl(actionName: string): string {\r\n // this.MGAPIUrl = localStorage.getItem('url');\r\n return `${this.MGAPIUrl}${actionName}`;\r\n }\r\n\r\n\r\n public returnAction(actionName: string): string {\r\n return `${actionName}`;\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n ActivatedRouteSnapshot,\r\n RouterStateSnapshot,\r\n Resolve\r\n} from '@angular/router';\r\nimport { paths } from './../../enums/paths.enum';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PathResolverService implements Resolve {\r\n resolve(\r\n route: ActivatedRouteSnapshot,\r\n state: RouterStateSnapshot\r\n ): string | null {\r\n const typoPath = state.url.replace('/', '');\r\n const threshold = this.getThreshold(typoPath);\r\n const dictionary = Object.values(paths).filter(\r\n path => Math.abs(path.length - typoPath.length) < threshold\r\n );\r\n\r\n if (!dictionary.length) {\r\n return null;\r\n }\r\n\r\n this.sortByDistances(typoPath, dictionary);\r\n\r\n return `/${dictionary[0]}`;\r\n }\r\n\r\n getThreshold(path: string): number {\r\n if (path.length < 5) {\r\n return 3;\r\n }\r\n\r\n return 5;\r\n }\r\n\r\n sortByDistances(typoPath: string, dictionary: string[]) {\r\n const pathsDistance = {} as { [name: string]: number };\r\n\r\n dictionary.sort((a, b) => {\r\n if (!(a in pathsDistance)) {\r\n pathsDistance[a] = this.levenshtein(a, typoPath);\r\n }\r\n if (!(b in pathsDistance)) {\r\n pathsDistance[b] = this.levenshtein(b, typoPath);\r\n }\r\n return pathsDistance[a] - pathsDistance[b];\r\n });\r\n }\r\n\r\n /**\r\n * Calculate the levenshtein distance of two strings.\r\n * See https://en.wikipedia.org/wiki/Levenshtein_distance.\r\n * Based off https://gist.github.com/andrei-m/982927 (for using the faster dynamic programming\r\n * version).\r\n *\r\n * @param a String a.\r\n * @param b String b.\r\n * @returns A number that represents the distance between the two strings. The greater the number\r\n * the more distant the strings are from each others.\r\n */\r\n levenshtein(a: string, b: string): number {\r\n if (a.length === 0) {\r\n return b.length;\r\n }\r\n if (b.length === 0) {\r\n return a.length;\r\n }\r\n\r\n const matrix = [];\r\n\r\n // increment along the first column of each row\r\n for (let i = 0; i <= b.length; i++) {\r\n matrix[i] = [i];\r\n }\r\n\r\n // increment each column in the first row\r\n for (let j = 0; j <= a.length; j++) {\r\n matrix[0][j] = j;\r\n }\r\n\r\n // Fill in the rest of the matrix\r\n for (let i = 1; i <= b.length; i++) {\r\n for (let j = 1; j <= a.length; j++) {\r\n if (b.charAt(i - 1) === a.charAt(j - 1)) {\r\n matrix[i][j] = matrix[i - 1][j - 1];\r\n } else {\r\n matrix[i][j] = Math.min(\r\n matrix[i - 1][j - 1] + 1, // substitution\r\n matrix[i][j - 1] + 1, // insertion\r\n matrix[i - 1][j] + 1 // deletion\r\n );\r\n }\r\n }\r\n }\r\n\r\n return matrix[b.length][a.length];\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ReadingJsonService {\r\n\r\n apiURL = 'assets/json/database.json';\r\n apiFileURL = 'assets/json/renault.json';\r\n \r\n constructor(private httpClient: HttpClient) { }\r\n \r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json'\r\n })\r\n }\r\n\r\n public getJSONFileData(): Promise {\r\n return this.httpClient.get(this.apiFileURL)\r\n .toPromise()\r\n .then(response => {\r\n return response;\r\n }, error => {\r\n });\r\n }\r\n\r\n \r\n public getJSONData(): Promise {\r\n return this.httpClient.get(this.apiURL)\r\n .toPromise()\r\n .then(response => {\r\n return response;\r\n }, error => {\r\n });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BaseapiService } from '../configuration_service/baseapi.service';\r\nimport { ConfigurationService } from '../configuration_service/configuration.service';\r\nimport { ActionNames } from '../../enums/apiActionName.enum';\r\nimport { ResultModel } from '../../model/ResultModel';\r\nimport { MinBilConsentModel } from '../../model/MinBilConsentModel';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DataCommunicationService {\r\n\r\n constructor(\r\n private baseService: BaseapiService,\r\n private config: ConfigurationService\r\n ) { }\r\n\r\n public getCustomerDetailByMobile(mobileNo: string) {\r\n const APIpath = ActionNames.EXTENRAINTERFACE + '/' + ActionNames.GETCUSTOMER + '/' + ActionNames.MOBILENUMBER + '/' + mobileNo;\r\n return this.baseService.Get(this.config.createUrl(APIpath), mobileNo);\r\n }\r\n\r\n public getDealerImage(DealerName: any){\r\n const APIpath = ActionNames.DEALERIMAGE;\r\n return this.baseService.Get(this.config.createUrl(APIpath),DealerName);\r\n }\r\n\r\n public getDealerByDmsNo(DmsId: any){\r\n const APIpath = ActionNames.GETDEALERBYDMSID;\r\n return this.baseService.Get(this.config.createUrl(APIpath),DmsId);\r\n }\r\n\r\n public getMobileOTP(mobileNo: string, dealername: string, appointmentSource: string) {\r\n const APIpath = ActionNames.SMS +\r\n '/' + ActionNames.SENDOTP +\r\n '/' + mobileNo +\r\n '/' + dealername +\r\n '/' + appointmentSource;\r\n return this.baseService.Get(this.config.createUrl(APIpath), mobileNo);\r\n }\r\n\r\n public verifyMobileOTP(otpForm: any) {\r\n const APIpath = ActionNames.SMS +\r\n '/' + ActionNames.VERIFYOTP;\r\n return this.baseService.Post(this.config.createUrl(APIpath), otpForm);\r\n }\r\n\r\n public getCustomerVehicleList(mobileNo: string,dealerNo: number) {\r\n const APIpath = ActionNames.EXTENRAINTERFACE +\r\n '/' + ActionNames.GETCUSTOMERVEHICLELIST +\r\n '/' + ActionNames.MOBILENUMBER +\r\n '/' + mobileNo +\r\n '/' + dealerNo;\r\n return this.baseService.Get(this.config.createUrl(APIpath), mobileNo);\r\n }\r\n\r\n public getVehicleServiceList(param: any) {\r\n const APIpath = ActionNames.SERVICES;\r\n return this.baseService.Get(this.config.createUrl(APIpath), param);\r\n }\r\n public getAllPackages(formData: FormData) {\r\n\r\n const APIpath = ActionNames.PACKAGE;\r\n return this.baseService.Get(this.config.createUrl(APIpath),formData);\r\n }\r\n public GetRecallDetail(formData: FormData) {\r\n\r\n const APIpath = ActionNames.RECALLDETAIL;\r\n return this.baseService.Get(this.config.createUrl(APIpath),formData);\r\n }\r\n public getMPOAdditionalPackage(formData: FormData)\r\n {\r\n const APIpath = ActionNames.MPOADDITIONALSERVICE;\r\n return this.baseService.Get(this.config.createUrl(APIpath),formData);\r\n }\r\n public getrentalCar(param: any) {\r\n const APIpath = ActionNames.RENTALCARS;\r\n return this.baseService.Get(this.config.createUrl(APIpath), param);\r\n }\r\n\r\n public getDealerList(param: any) {\r\n const APIpath = ActionNames.DEALERS;\r\n return this.baseService.Get(this.config.createUrl(APIpath), param);\r\n }\r\n\r\n public checkAppointmentAvability(param: any) {\r\n const APIpath = ActionNames.APPOINTMENT +\r\n '/' + ActionNames.CHECKAVABLITY;\r\n return this.baseService.Get(this.config.createUrl(APIpath), param);\r\n }\r\n\r\n public saveBookingOrder(param: any) {\r\n const APIpath = ActionNames.APPOINTMENT +\r\n '/' + ActionNames.ADD;\r\n return this.baseService.Post(this.config.createUrl(APIpath), param);\r\n }\r\n\r\n public getDealerById(dealerId: any) {\r\n const APIpath = ActionNames.DEALERS;\r\n return this.baseService.GetById(this.config.createUrl(APIpath),dealerId);\r\n }\r\n public getBrandById(Id: any) {\r\n const APIpath = ActionNames.BRAND;\r\n return this.baseService.GetById(this.config.createUrl(APIpath),Id);\r\n }\r\n\r\n public getDealersConfigurationById(param: any) {\r\n const APIpath = ActionNames.DEALERCONFIGURATION;\r\n return this.baseService.GetById(this.config.createUrl(APIpath), param);\r\n }\r\n\r\n public getDealerBrands(dealerID:any)\r\n {\r\n const APIpath = ActionNames.DEALERS+'/'+dealerID+'/'+ActionNames.BRAND;\r\n return this.baseService.GetAll(this.config.createUrl(APIpath));\r\n }\r\n\r\n public getDealerModels(dealerID:any)\r\n {\r\n const APIpath = ActionNames.DEALERS+'/'+dealerID+'/'+ActionNames.MODELS;\r\n return this.baseService.GetAll(this.config.createUrl(APIpath));\r\n }\r\n\r\n public getAvailableMechanic(mechanicForm: any){\r\n const APIpath = ActionNames.APPOINTMENT+'/'+ActionNames.MECHANICSDATA;\r\n return this.baseService.Get(this.config.createUrl(APIpath), mechanicForm);\r\n }\r\n\r\n public getModelPDF(modelCode: string, brandCode: string){\r\n const APIpath = ActionNames.EXTENRAINTERFACE +'/' + ActionNames.GETMODELPDF+'/'+modelCode+'/'+brandCode;\r\n return this.baseService.GetAll(this.config.createUrl(APIpath));\r\n }\r\n\r\n public getAllBrandModels(){\r\n const APIpath = ActionNames.BRANDMPDEL;\r\n return this.baseService.GetAll(this.config.createUrl(APIpath));\r\n }\r\n\r\n public getAccessories(id: any){\r\n const APIpath = ActionNames.ACCESSORIES + '/' + ActionNames.GETACCESSORIES + '/'+id+'/'+true;\r\n return this.baseService.GetAll(this.config.createUrl(APIpath));\r\n }\r\n\r\n public GetMySiteParams(id: any){\r\n const APIpath = ActionNames.CUSTOMERS + '/' + ActionNames.GETMYSITEPARAM + '/'+id;\r\n return this.baseService.GetAll(this.config.createUrl(APIpath));\r\n }\r\n\r\n public GetGiftCardByPhone(phone: string){\r\n const APIpath = ActionNames.CUSTOMERS + '/' + ActionNames.GETGIFTCARDBYPHONE + '/'+phone + '/' + false;\r\n return this.baseService.GetAll(this.config.createUrl(APIpath));\r\n }\r\n\r\n public GetMinBilConsent(phone: string){\r\n const APIpath = ActionNames.CUSTOMERS + '/' + ActionNames.GETMINBILCONSNET + '/'+phone;\r\n return this.baseService.GetAll>(this.config.createUrl(APIpath));\r\n }\r\n\r\n public UpdateMinBilConsent(param: MinBilConsentModel) {\r\n const APIpath = ActionNames.CUSTOMERS + '/' + ActionNames.UPDATEMINBILCONSNET;\r\n return this.baseService.Post(this.config.createUrl(APIpath), param);\r\n }\r\n public GetUpSellData(brand: string){\r\n const APIpath = ActionNames.GETUPSELLDATABYBRAND + '/' + brand;\r\n return this.baseService.GetAll(this.config.createUrl(APIpath));\r\n }\r\n}\r\n","export * from './model_service/model.service';\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable, Subject } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LoaderindicatorService {\r\n\r\n private subject = new Subject();\r\n\r\n constructor() { }\r\n\r\n public show(message: string) {\r\n this.subject.next({ text: message });\r\n }\r\n\r\n public hide() {\r\n this.subject.next({ text: '' });\r\n }\r\n\r\n public subscribe(): Observable {\r\n return this.subject;\r\n }\r\n}\r\n","import * as _ from 'underscore';\r\n\r\nexport class ModalService {\r\n private modals: any[] = [];\r\n public data: string;\r\n add(modal: any) {\r\n // add modal to array of active modals\r\n this.modals.push(modal);\r\n }\r\n\r\n remove(id: string) {\r\n // remove modal from array of active modals\r\n const modalToRemove = _.findWhere(this.modals, { id });\r\n this.modals = _.without(this.modals, modalToRemove);\r\n }\r\n\r\n open(id: string) {\r\n // open modal specified by id\r\n const modal = _.findWhere(this.modals, { id });\r\n modal.open();\r\n }\r\n\r\n close(id: string) {\r\n // close modal specified by id\r\n const modal = _.find(this.modals, { id });\r\n if(modal)\r\n modal.close();\r\n }\r\n}\r\n","import { CarServiceListComponent } from './Modules/car-service-list/car-service-list.component';\r\nimport { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { paths } from './Shared/enums/paths.enum';\r\nimport { MobileVerificationComponent } from './Modules/mobile-verification/mobile-verification.component';\r\nimport { OtpVerificationComponent } from './Modules/otp-verification/otp-verification.component';\r\nimport { CarListComponent } from './Modules/car-list/car-list.component';\r\nimport { CarServiceComponent } from './Modules/car-service/car-service.component';\r\nimport { ConfirmBookingComponent } from './Modules/confirm-booking/confirm-booking.component';\r\nimport { BookingSummaryComponent } from './Modules/booking-summary/booking-summary.component';\r\nimport { PathResolverService } from './Shared/services/configuration_service/path-resolver-service.service';\r\nimport { PageNotFoundComponent } from './Shared/common_components/page-not-found/page-not-found.component';\r\nimport { AuthGuard } from './Shared/authGaurd/auth.guard';\r\nimport { LanguageComponent } from './Shared/common_components/language/language.component';\r\nimport { DealerSelectionComponent } from './Modules/dealer-selection/dealer-selection.component';\r\nimport { PrivacyPolicyComponent } from './modules/privacy-policy/privacy-policy.component';\r\n\r\nconst childroutes: Routes = [\r\n { path: '', redirectTo: paths.BOOKAPPOINTMENT, pathMatch: 'full' },\r\n { path: paths.BOOKAPPOINTMENT, component: MobileVerificationComponent },\r\n { path: paths.OTPVERIFICATION, component: OtpVerificationComponent,canActivate: [AuthGuard] },\r\n { path: paths.CARLIST, component: CarListComponent,canActivate: [AuthGuard] },\r\n { path: paths.CARSERVICE, component: CarServiceComponent,canActivate: [AuthGuard] },\r\n { path: paths.CONFIRMBOOKING, component: ConfirmBookingComponent,canActivate: [AuthGuard] },\r\n { path: paths.BOOKINGSUMMARY, component: BookingSummaryComponent,canActivate: [AuthGuard] },\r\n { path: paths.DEALERSELECTION, component: DealerSelectionComponent },\r\n { path: paths.CARSERVICELIST, component: CarServiceListComponent },\r\n { path: paths.PRIVACYPOLICY, component: PrivacyPolicyComponent },\r\n\r\n];\r\n\r\nconst routes: Routes = [\r\n { path: '', redirectTo: 'no', pathMatch: 'full' },\r\n {\r\n path: ':lang',\r\n component: LanguageComponent,\r\n children: childroutes\r\n },\r\n {\r\n path: '**',\r\n resolve: { path: PathResolverService },\r\n component: PageNotFoundComponent\r\n }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class AppRoutingModule { }\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2FwcC5jb21wb25lbnQuY3NzIn0= */\"","module.exports = \"\"","import { Component } from '@angular/core';\r\nimport { LoaderindicatorService } from './Shared/services/loaderindicator/loaderindicator.service';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { Router } from '@angular/router';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { ConfigurationService } from './Shared/services/configuration_service/configuration.service';\r\nimport { PlatformLocation } from '@angular/common';\r\nimport { CommonService } from './Shared/services/common_services/common.service';\r\nimport { environment } from 'src/environments/environment';\r\nimport { paths } from './Shared/enums/paths.enum';\r\nimport { config } from './../assets/config';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.css']\r\n})\r\nexport class AppComponent {\r\n domainName = false;\r\n public MGAPIUrl: string;\r\n public getConfiguration = 'assets/config.json';\r\n\r\n constructor(\r\n private readonly loadingIndicatorService: LoaderindicatorService,\r\n private translate: TranslateService,\r\n private router: Router,\r\n private httpClient: HttpClient,\r\n private configurationService: ConfigurationService,\r\n private location: PlatformLocation,\r\n private commonService: CommonService,\r\n\r\n ) {\r\n translate.setDefaultLang(environment.lang);\r\n // location.onPopState(() => { \r\n // this.commonService.NavigatePage(paths.BOOKAPPOINTMENT, 'Drammen');\r\n // });\r\n\r\n}\r\n \r\n\r\n ngOnInit(): void {\r\n this.restrictDomain();\r\n this.loadingIndicatorService.show('default');\r\n // setTimeout(() => {\r\n // this.loadingIndicatorService.hide();\r\n // }, 100);\r\n //this.createAPIUrl();\r\n }\r\n\r\n // createAPIUrl(): void { \r\n // this.readConfiguration().then(\r\n // result => {\r\n // this.configurationService.MGAPIUrl = result.apiHostClient + result.apiURL + result.apiHostVersion;\r\n // // localStorage.setItem('url', this.MGAPIUrl);\r\n // });\r\n // }\r\n\r\n // public readConfiguration(): Promise {\r\n // return this.httpClient.get(this.getConfiguration).toPromise().then(response => {\r\n // return response;\r\n // }, error => {\r\n // console.log(error);\r\n // });\r\n // }\r\n\r\n public restrictDomain() {\r\n if (document.referrer.includes(config.domainName)) {\r\n this.domainName = true;\r\n } else {\r\n this.domainName = false;\r\n }\r\n }\r\n}\r\n","import { BrowserModule } from '@angular/platform-browser';\r\nimport { NgModule, CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA } from '@angular/core';\r\n\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { AppComponent } from './app.component';\r\nimport { MobileVerificationComponent } from './Modules/mobile-verification/mobile-verification.component';\r\nimport { OtpVerificationComponent } from './Modules/otp-verification/otp-verification.component';\r\nimport { CarListComponent } from './Modules/car-list/car-list.component';\r\nimport { CarServiceComponent } from './Modules/car-service/car-service.component';\r\nimport { ConfirmBookingComponent } from './Modules/confirm-booking/confirm-booking.component';\r\nimport { BookingSummaryComponent } from './Modules/booking-summary/booking-summary.component';\r\nimport { ToastrModule } from 'ngx-toastr';\r\nimport { HttpClientModule, HttpClient } from '@angular/common/http';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { TranslateModule, TranslateLoader, TranslateService } from '@ngx-translate/core';\r\nimport { ModalService } from './Shared/services';\r\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { ModalComponent } from './Shared/directives/modal.component';\r\nimport { MgDecimalValuePipe } from './Shared/pipe/decimalValue';\r\nimport { NumberDirective } from './Shared/directives/numbers-only.directive';\r\nimport { DealerDetailComponent } from './Shared/component/dealer-detail/dealer-detail.component';\r\nimport { DealerLocationComponent } from './Shared/component/dealer-location/dealer-location.component';\r\nimport { DealerListComponent } from './Shared/component/dealer-list/dealer-list.component';\r\nimport { RentalCarListComponent } from './Shared/component/rental-car-list/rental-car-list.component';\r\nimport { AppointmentDatePickerComponent } from './Shared/component/appointment-date-picker/appointment-date-picker.component';\r\nimport { LoaderComponent } from './Shared/common_components/loader/loader.component';\r\nimport { PageNotFoundComponent } from './Shared/common_components/page-not-found/page-not-found.component';\r\nimport { CarouselModule } from 'ngx-owl-carousel-o';\r\nimport { LanguageComponent } from './Shared/common_components/language/language.component';\r\nimport { MalihuScrollbarModule } from 'ngx-malihu-scrollbar';\r\nimport { MgPriceFormatPipe } from './Shared/pipe/priceFormat';\r\nimport { PdfViewerModule } from 'ng2-pdf-viewer';\r\nimport { DealerSelectionComponent } from './Modules/dealer-selection/dealer-selection.component';\r\nimport { CarServiceListComponent } from './Modules/car-service-list/car-service-list.component';\r\nimport { PrivacyPolicyComponent } from './modules/privacy-policy/privacy-policy.component';\r\nexport function HttpLoaderFactory(httpClient: HttpClient) {\r\n return new TranslateHttpLoader(httpClient);\r\n}\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n\r\n MobileVerificationComponent,\r\n OtpVerificationComponent,\r\n CarListComponent,\r\n CarServiceComponent,\r\n ConfirmBookingComponent,\r\n BookingSummaryComponent,\r\n LoaderComponent,\r\n LanguageComponent,\r\n DealerDetailComponent,\r\n DealerLocationComponent,\r\n DealerListComponent,\r\n RentalCarListComponent,\r\n AppointmentDatePickerComponent,\r\n PageNotFoundComponent,\r\n ModalComponent,\r\n MgDecimalValuePipe,\r\n NumberDirective,\r\n MgPriceFormatPipe,\r\n DealerSelectionComponent,\r\n CarServiceListComponent,\r\n PrivacyPolicyComponent\r\n ],\r\n imports: [\r\n BrowserModule,\r\n AppRoutingModule,\r\n BrowserAnimationsModule,\r\n CarouselModule,\r\n PdfViewerModule,\r\n MalihuScrollbarModule.forRoot(),\r\n // AgmCoreModule.forRoot({\r\n // apiKey: 'AIzaSyANzieW0BymrMPGnmjBl3AWyilA79xoIao'\r\n // }),\r\n ToastrModule.forRoot({\r\n positionClass: 'toast-top-center',\r\n preventDuplicates: true,\r\n maxOpened: 2,\r\n newestOnTop: true,\r\n disableTimeOut: true,\r\n tapToDismiss: false,\r\n closeButton: true,\r\n // toastClass: 'toast border-red',\r\n }),\r\n NgbModule,\r\n HttpClientModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n TranslateModule.forRoot({\r\n loader: {\r\n provide: TranslateLoader,\r\n useFactory: HttpLoaderFactory,\r\n deps: [HttpClient]\r\n }\r\n })\r\n ],\r\n providers: [\r\n ModalService,\r\n TranslateService,\r\n ],\r\n bootstrap: [AppComponent],\r\n schemas: [\r\n CUSTOM_ELEMENTS_SCHEMA,\r\n NO_ERRORS_SCHEMA\r\n ]\r\n})\r\nexport class AppModule { }\r\n","module.exports = \"\\r\\n
    \\r\\n

    Personvernerklæring – MGI Digitale tjenester

    \\r\\n

    Oppdatert 25. April 2024

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

    1) Innledning

    \\r\\n

    Vi i Motor Gruppen Import AS (Org. Nr. 919 141 182) (\\\"MGI\\\") bryr oss om ditt personvern. I denne\\r\\n personvernerklæringen gir vi deg informasjon om hvilke personopplysninger vi samler inn, behandler og leverer ut\\r\\n til andre når du oppretter profil på og bruker våre våre digitale tjenester*.

    \\r\\n

    MGI er behandlingsansvarlig for behandling av personopplysninger som skjer i forbindelse med digitale tjenester\\r\\n og innsamling av dine bil- og kontaktopplysninger. I noen sammenhenger er vi også databehandler på vegne av\\r\\n Hongqi, Mitsubishi, Renault og Dacia. Du kan lese mer om dette nedenfor og på de norske bilimportørenes\\r\\n hjemmesider

    \\r\\n

    Har du spørsmål rundt denne personvernerklæringen eller vår behandling av personopplysninger, kan du sende e-post\\r\\n til mailto:personvern@motorgruppen.no.

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

    2) Om personopplysninger og regelverket

    \\r\\n

    Personopplysninger er opplysninger og vurderinger som direkte eller indirekte kan knyttes til en identifiserbar\\r\\n enkeltperson. Dette kan være for eksempel navn, adresse, telefonnummer, e-postadresse, IP-adresse eller kjøps- og\\r\\n servicehistorikk. Behandling av personopplysninger, slik som innsamling, registrering, lagring og utlevering er\\r\\n underlagt reglene i personopplysningsloven og personvernforordningen (\\\"GDPR\\\")

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

    3) Vår behandling av dine personopplysninger

    \\r\\n

    For å kunne levere digitale tjenester og etterleve lovpålagte plikter, er vi avhengige av å samle inn og behandle\\r\\n ulike typer informasjon, inkludert personopplysninger om deg. Under følger en oversikt over hvordan vi samler inn\\r\\n og bruker dine personopplysninger. Vi samler ikke inn sensitiv informasjon.

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

    3.1) Dine bil- og kontaktopplysninger

    \\r\\n

    Vi henter informasjon om din bil fra Statens Vegvesens registre og kobler dette til telefonnummeret ditt.\\r\\n Telefonnummeret ditt henter vi fra Data Factory. Du kan lese mer om Data Factorys behandling av\\r\\n personopplysninger her.

    \\r\\n

    Opplysningene vi henter fra Statens Vegvesen oppdateres ukentlig. Fra Statens Vegvesens registre henter vi\\r\\n Registreringsnummer, Bilmerke, modell, evt. Org. Nr. registrert på bilen og Firmanavn tilknyttet bilen,\\r\\n Fødselsdato, Navn, Postnummer og Adresse, biltekniske opplysninger, dekktekniske opplysninger, eierforhold\\r\\n (leasing, sameier eller eneeier), type kjøretøy (om bilen er en personbil etc.), første registrering, siste\\r\\n registrering, understellnummer, og neste EU-kontroll (PKK).

    \\r\\n

    Vi behandler informasjonen om din bil og ditt telefonnummer så lenge du er eier av bilen din, frem til bilen\\r\\n blir vraket/kondemnert eller ført ut av landet. Vi lagrer denne informasjonen selv om du ikke registrerer deg på\\r\\n våre digitale tjenester. Formålet med lagringen er sikkerhets-, produktansvars- og garantihensyn.

    \\r\\n

    Etter produktkontroll loven og produktansvarsloven, har MGI og bilimportører plikt til å melde ifra til brukere\\r\\n eller eiere dersom en biltype utgjør en uakseptabel helse- eller miljørisiko.

    \\r\\n

    For at vi skal kunne etterkomme disse lovpålagte pliktene må vi behandle de opplysningene som er nevnt ovenfor,\\r\\n for eksempel dersom vi må tilbakekalle biler. Det rettslige grunnlaget for vår behandling av disse\\r\\n personopplysningene for disse formålene er rettslig forpliktelse, jf. GDPR artikkel 6 nr. 1 bokstav c.

    \\r\\n

    For enkelte biler har bileier en garanti. Garantien er gitt av bilprodusenten og forvaltes av bilimportøren.\\r\\n Vilkårene for garantien følger av kjøpsavtalen som du inngikk da du kjøpte bilen. For at vi skal etterkomme\\r\\n garantien og sikre dokumentasjon som er relevant i forbindelse med garantien, må vi lagre opplysninger om den\\r\\n aktuelle bilen, herunder personopplysninger om nåværende eier. Vårt behandlingsgrunnlag for lagring av\\r\\n opplysninger om deg og bilen din for garantiformål skjer derfor med grunnlag i berettiget interesse, jf. GDPR\\r\\n artikkel 6 nr. 1 bokstav f.

    \\r\\n

    Du har rett til å protestere på at vi lagrer informasjon om bilen din for garantiformål. Vi gjør oppmerksom på\\r\\n at vi uansett må beholde personopplysningene av hensyn til sikkerhet og produktansvar. For å benytte deg av\\r\\n retten til å protestere, kan du sende e-post til mailto:personvern@motorgruppen.no..

    \\r\\n

    Du har også mulighet til å selv laste opp dokumentasjon om bilen din. Dette kan for eksempel være\\r\\n verkstedsinformasjon som ikke automatisk lastes opp i \\\"Min Bil\\\". Vårt behandlingsgrunnlag for bilopplysninger\\r\\n som du laster opp selv er samtykke, jf. GDPR artikkel 6 nr. 1 bokstav a. Du kan når som helst trekke tilbake\\r\\n samtykke ved å selv slette de opplastete dokumentene og kan selv bestemme om dokumentene skal fortsatt lagres\\r\\n etter at du ikke lenger er eier av bilen.

    \\r\\n

    Utsendelse av informasjon etter GDPR og om DIGITALE TJENESTER

    \\r\\n

    Etter GDPR har vi som behandlingsansvarlig, og andre behandlingsansvarlige som vi er databehandler for, plikt\\r\\n til å deg informasjon om behandlingen av dine personopplysninger. Vi oppfyller plikten ved å sende eksisterende\\r\\n eiere, og nye eiere av brukte eller importerte biler informasjon på SMS eller e-post om denne\\r\\n personvernerklæringen og om våre digitale tjenester, der du kan opprette en bruker for å få innsyn i all\\r\\n informasjon om bilen din

    \\r\\n

    Behandlingsgrunnlaget vårt og andre behandlingsansvarlige som vi evt. er databehandler for er både rettslig\\r\\n forpliktelse, jf. GDPR artikkel 12-14, jf. artikkel 6 nr. 1 bokstav c, og berettiget interesse, jf. GDPR\\r\\n artikkel 6 nr. bokstav f.

    \\r\\n

    MGI har behov for å ha en enhetlig informasjonsportal for bileierne og -brukerne. På den måten kan bilbrukere\\r\\n og -eiere selv få tilgang til relevant informasjon om bilen sin, samtidig som vi reduserer behovet for manuell\\r\\n behandling av henvendelser fra bileiere og -brukere i stor skala. Disse berettigede interessene ivaretas ved å\\r\\n informere om våre digitale tjenester.

    \\r\\n

    Du har rett til å protestere mot at vi sender ut informasjon om våre digitale tjenester. For å benytte deg av\\r\\n retten til å protestere, kan du sende e-post til mailto:personvern@motorgruppen.no.

    \\r\\n

    For eksisterende eiere er det importøren av Hongqi, Mitsubishi, Renault eller Dacia som er behandlingsansvarlig\\r\\n for utsendelse av informasjon om \\\"Min Bil\\\". MGI sender informasjon om \\\"Min Bil\\\" til eksisterende kunder på vegne\\r\\n av importørene. For alle andre kunder er MGI behandlingsansvarlig. Er du usikker på hvem som er din\\r\\n behandlingsansvarlige, kan du ta kontakt med mailto:personvern@motorgruppen.no.

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

    3.2) Opprettelse av bruker, innlogging og autentisering på \\\"Min Bil\\\"

    \\r\\n

    Når du lager en bruker på \\\"Min Bil\\\", må du registrere navn, e-postadresse, telefonnummer og passord. Formålet\\r\\n med dette er autentisering. Det vil si at vi må være sikre på at det er riktig person som får tilgang til\\r\\n bilopplysningene knyttet til telefonnummeret. Vi lagrer disse personopplysningene for disse formålene så lenge\\r\\n du har en registrert bruker på \\\"Min Bil\\\".

    \\r\\n

    Hvis du sletter brukeren din på \\\"Min Bil\\\", vil vi likevel lagre de opplysningene som er nevnt under \\\"Dine bil- og kontaktopplysninger. Bakgrunnen for dette er sikkerhets- og\\r\\n produktansvarshensyn, som du kan lese mer om under Dine bil- og kontaktopplysninger.\\r\\n

    \\r\\n

    Det rettslige grunnlaget for behandling av disse personopplysningene for autentiseringsformål er berettiget\\r\\n interesse, jf. GDPR artikkel 6 nr. 1 bokstav f.

    \\r\\n

    Du har rett til å protestere på at vi behandler navn, e-postadresse, telefonnummer og passord. Vi anser likevel\\r\\n denne behandlingen som tvingende nødvendig og vil kun helt unntaksvis kunne etterkomme protester mot vår\\r\\n behandling som skjer for å autentiseringsformål. For å benytte deg av retten til å protestere, kan du sende\\r\\n e-post til mailto:personvern@motorgruppen.no.

    \\r\\n

    Du kan lese mer om innsyn i dine bil- og kontaktopplysninger uten å opprette en bruker under Dine rettigheter.

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

    3.3) Markedsføring og samtykker

    \\r\\n

    \\\"Min Bil\\\" er en informasjonstjeneste. Dersom du ønsker tilgang til andre tjenester og tilbud, både på siden og\\r\\n gjennom markedsføring på e-post og SMS, må du samtykke til dette.

    \\r\\n

    Samtykke er ikke nødvendig dersom du har et aktivt kundeforhold hos oss. Da kan vi sende og vise deg\\r\\n markedsføring om våre produkter og tjenester, eller andre ytelser som kundeforholdet bygger på. I slike\\r\\n tilfeller er vårt behandlingsgrunnlag berettiget interesse, jf. GDPR artikkel 6 nr. 1 bokstav f. Vi har en\\r\\n berettiget kommersiell interesse i å vise deg som eksisterende kunde andre produkter og tjenester som vi tror du\\r\\n vil kunne være interessert i, og ha nytte av.

    \\r\\n

    Som eksisterende kunde har du rett til å reservere deg mot at vi sender deg markedsføring. Du kan melde deg av\\r\\n nyhetsbrev eller markedsføring på e-post eller SMS ved å følge instruksene i e-posten eller SMSen, eller ved å\\r\\n sende en e-post til mailto:personvern@motorgruppen.no.

    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    Min Bil - Behandling av personopplysninger til markedsføringsformål
    PersonopplysningerLagringstidHvor er personopplysningene hentet fraForekomsten av profilering eller automatiserte beslutninger
    Tilgang til å bestille service og andre tjenester gjennom \\\"Min Bil\\\" Vi krever at du\\r\\n forhåndssamtykker for at du skal få mulighet til å kjøpe produkter og tjenester av MGI eller våre\\r\\n samarbeidspartnere, med mindre du er eksisterende kunde, jf. markedsføringsloven § 15. Mottakerne av dine\\r\\n personopplysninger vil kun være selskaper innad i Motor Gruppen-konsernet.Navn, e-post, telefonnummer og samtykkeregistrering.Så lenge du har en aktiv bruker på \\\"Min Bil\\\".Fra deg i forbindelse med registrering og avgivelse av samtykke.Nei
    Tilbud og gavekort Hvis du samtykker, vil du få nyhetsbrev eller tilbud per e-post eller SMS, og\\r\\n jevnlig motta informasjon om rabatter og gode tilbud på e-post eller SMS. Mottakerne av dine\\r\\n personopplysninger vil være andre selskaper i Motor Gruppen-konsernet og samarbeidspartnere, som trykkerier\\r\\n og mediebyråer.Navn, e-post, telefonnummer, medlemskap i kundeklubb og samtykkeregisteringSå lenge du har samtykket. Du kan når som helst trekke tilbake samtykke.Fra deg i forbindelse med registrering og avgivelse av samtykke.Nei
    Tilpassete tilbud og kommunikasjon Hvis du samtykker, vil MGI samle inn og behandle\\r\\n personopplysninger om deg knyttet til din kjøpshistorikk og forbrukeradferd og gi deg tilbud basert på\\r\\n dette. Vi kan kun gi deg slike tilpassete tilbud om vi vet hva du tidligere har kjøpt. Mottakerne av dine\\r\\n personopplysninger vil kun være selskaper innad i Motor Gruppen-konsernetNavn, e-post, telefonnummer, kjøpshistorikk, forbrukeradferd og samtykkeregistreringSå lenge du har samtykket. Du kan når som helst trekke tilbake samtykke.Fra deg i forbindelse med registrering og avgivelse av samtykkeJa. Basert på dine personopplysninger lages en profil på deg som bestemmer hvilke produkter og tjenester\\r\\n du kan være interessert i å få gode tilbud på.
    \\r\\n

    MGI og andre behandlingsansvarlige som vi er databehandler for, vil opprettholde et register over alle avgitte\\r\\n samtykker. Her registrerer vi navn, e-post, telefonnummer og hvilke samtykker du har avgitt. Dette gjør vi fordi\\r\\n vi har en rettslig forpliktelse til å dokumentere at du har avgitt samtykke, jf. Markedsføringsloven § 15 og\\r\\n GDPR artikkel 7 nr. 1. Personopplysningene i samtykkeregisteret vil bli lagret så lenge du har en aktiv\\r\\n brukerkonto på \\\"Min Bil\\\".

    \\r\\n

    For å avgi samtykke, må du ha opprettet en bruker på \\\"Min Bil\\\".

    \\r\\n

    Du kan når som helst trekke dine avgitte samtykker. Dette gjør du inne på \\\"Min Bil\\\", under \\\"Mine Samtykker\\\".\\r\\n

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

    3.4) Bruk av \\\"Min Bil\\\" – informasjonskapsler (cookies) andre tekniske verktøy i appen og i nettleseren

    \\r\\n

    Vi bruker informasjonskapsler (cookies) for å drifte Appen og nettleserløsningen til \\\"Min Bil\\\" og våre digitale\\r\\n tjenester. Informasjonskapsler er små tekstfiler som plasseres på din datamaskin når du laster ned en nettside.\\r\\n Vi bruker ikke informasjonskapsler fra tredjeparter.

    \\r\\n

    Formålet informasjonskapslene er å sikre tilfredsstillende funksjonalitet for ulike tjenester på nettsiden\\r\\n eller Appen.

    \\r\\n

    Våre informasjonskapsler samler inn følgende personopplysninger:

    \\r\\n
      \\r\\n
    • Innloggingsopplysninger;
    • \\r\\n
    • Telefonnummer;
    • \\r\\n
    • Kunde-ID;
    • \\r\\n
    • E-postadresse;
    • \\r\\n
    • Valgt språk;
    • \\r\\n
    • Om du er billeier;
    • \\r\\n
    • Om du er kunde;
    • \\r\\n
    • Bilmerke, modell og Bil-ID; og
    • \\r\\n
    • Din foretrukne forhandler;
    • \\r\\n
    \\r\\n

    Innloggingsopplysninger vil lagres i fem dager fra de er inntastet. Formålet med dette er å sikre at du slipper\\r\\n å taste inn innloggingsopplysninger regelmessig.

    \\r\\n

    De øvrige personopplysningene vil bli slettet når du avslutter økten på \\\"Min Bil\\\" og våre digitale tjenester.\\r\\n

    \\r\\n

    Du har rett til å protestere mot at vi behandler personopplysninger i nødvendige informasjonskapsler. Vi anser\\r\\n likevel denne behandlingen som tvingende nødvendig og vil kun helt unntaksvis kunne etterkomme innvendinger mot\\r\\n vår behandling for å sikre at ulike tjenester på nettsiden eller Appen fungerer. For å benytte deg av retten til\\r\\n å protestere, kan du sende e-post til mailto:personvern@motorgruppen.no.

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

    4) Overføring av personopplysninger til utlandet

    \\r\\n

    Vi bruker underleverandører (underdatabehandler) som kun lagrer personopplysningene dine innenfor EU/EØS.

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

    5) Dine rettigheter

    \\r\\n

    Vi er opptatt av at du skal ha kontroll over dine personopplysninger. Etter personopplysningsregelverket har du\\r\\n følgende rettigheter:

    \\r\\n
      \\r\\n
    • rett il innsyn i egne personopplysninger;
    • \\r\\n
    • rett til å kreve uriktige personopplysninger om deg rettet;
    • \\r\\n
    • rett til å kreve sletting av personopplysningene dine;
    • \\r\\n
    • rett til å kreve at vi begrenser bruken av dine personopplysninger;
    • \\r\\n
    • rett til å motta personopplysningene i strukturert, alminnelig anvendt og maskinlesbart format, samt overføre\\r\\n disse personopplysningene til en annen behandlingsansvarlig (\\\"Dataportabilitet\\\");
    • \\r\\n
    • rett til å protestere;
    • \\r\\n
    • rett til å trekke tilbake samtykke; og
    • \\r\\n
    • rett til å klage til Datatilsynet.
    • \\r\\n
    \\r\\n

    Innsyn og Dataportabilitet

    \\r\\n

    Du kan få innsyn i alle dine person- og bilopplysninger ved å opprette en bruker på \\\"Min Bil\\\".

    \\r\\n

    Dersom du ikke ønsker å opprette en bruker, kan du få innsyn ved å sende en e-post til\\r\\n mailto:personvern@motorgruppen.no. I e-posten må du oppgi navn, telefonnummer og bilmerke. Det samme gjelder\\r\\n dersom du ønsker å benytte deg av retten til Dataportabilitet. Dette trenger vi for at vi skal kunne autentisere\\r\\n deg. For mer informasjon om hvorfor vi trenger dette, se Opprettelse av bruker, innlogging og\\r\\n autentisering på \\\"Min Bil\\\".

    \\r\\n

    Retting, sletting og begrensing av behandling

    \\r\\n

    Personopplysninger som du avgir selv til \\\"Min Bil\\\", kan du enkelt endre inne på \\\"Mine Innstillinger\\\" inne på \\\"Min\\r\\n Bil\\\". Dersom du mener vi har registrert feil tekniske opplysninger om bilen din, kan du sende oss en e-post på\\r\\n mailto:personvern@motorgruppen.no. Det samme gjelder hvis du ønsker å begrense vår behandling av dine\\r\\n personopplysninger.

    \\r\\n

    Dersom du ikke har bruker på min bil, og ønsker å slette personopplysninger, å rette personopplysninger, eller å\\r\\n begrense vår behandling av dine personopplysninger, gjør du også dette ved å sende oss e-post på\\r\\n mailto:personvern@motorgruppen.no.

    \\r\\n

    Rett til å protestere

    \\r\\n

    Du har rett til å protestere dersom vi behandler personopplysninger om deg som bygger på våre berettigete\\r\\n interesser. Vi har presisert overfor hvilke behandlingsaktiviteter som bygger på berettiget interesse.

    \\r\\n

    Hvis du protesterer, må vi kunne dokumentere at det foreligger tvingende berettigete grunner for at vi skal\\r\\n fortsette behandlingen. Vi har indikert enkelte steder i denne personvernerklæring hvor dette er tilfelle, uten at\\r\\n dette begrenser din rett til å protestere.

    \\r\\n

    Dersom du protesterer mot direkte markedsføring, vil ikke dine personopplysninger lengre brukes til slike formål.\\r\\n

    \\r\\n

    Rett til å trekke tilbake samtykke

    \\r\\n

    Du har rett til å trekke tilbake avgitte samtykker når som helst. Dette gjør du inne på \\\"Min Bil\\\", under \\\"Mine\\r\\n Samtykker\\\". Opplever du vanskeligheter med å trekke samtykke, kan du sende oss en e-post på\\r\\n mailto:personvern@motorgruppen.no.

    \\r\\n

    Rett til å klage til Datatilsynet

    \\r\\n

    Du har rett til å klage over vår behandling av dine personopplysninger til Datatilsynet. For mer informasjon, se\\r\\n https://www.datatilsynet.no.

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

    6) Endringer av personvernerklæringen

    \\r\\n

    Vi vil med jevne mellomrom kunne oppdatere eller endre personvernerklæringen og vil ved behov informere om dette.\\r\\n

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

    *Min Bil og Online Booking

    \\r\\n
    \\r\\n
    \"","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'mgfw-privacy-policy',\r\n templateUrl: './privacy-policy.component.html',\r\n styleUrls: []\r\n})\r\nexport class PrivacyPolicyComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","export const config = Object({\r\n\r\n //Local\r\n // apiHostClient: 'http://',\r\n // apiURL: 'localhost:62683',\r\n \r\n //UAT\r\n // apiHostClient: 'https://',\r\n // apiURL: 'dev-booking.motorforum.no/PlannerAPI',\r\n \r\n //Prod\r\n apiHostClient: 'https://',\r\n apiURL: 'booking.motorforum.no/PlannerAPI',\r\n\r\n apiHostVersion: '/api/',\r\n // apiURL: '192.168.10.168',\r\n\r\n\r\n redirectURL : 'https://www.motorforum.no/bestill-time',\r\n username: 'WHaSQkORXebh7ASjmxyoxA==',\r\n password: 'zSnCh4vPA emC5lAswPqaQ==',\r\n domainName: 'localhost:4200'\r\n});\r\n","\r\n// This file can be replaced during build by using the `fileReplacements` array.\r\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\r\n// The list of file replacements can be found in `angular.json`.\r\n\r\nexport const environment = {\r\n production: true,\r\n lang: 'no',\r\n token_client_id: 'MotoGruppenBackEnd',\r\n token_grant_type: 'password',\r\n token_client_secret: 'moto@123@',\r\n PasswordEncryptionKey: 'ABCDEFGHIJ123456',\r\n commentLength: 1000,\r\n privacyPolicyLink: 'https://motorgruppen.no/admin/wp-content/uploads/2024/08/Personvernerklaering-Motor-Gruppen.pdf'\r\n\r\n};\r\n\r\n/*\r\n * For easier debugging in development mode, you can import the following file\r\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\r\n *\r\n * This import should be commented out in production mode because it will have a negative impact\r\n * on performance if an error is thrown.\r\n */\r\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\r\n","import { enableProdMode } from '@angular/core';\r\nimport 'zone.js'; \r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.error(err));\r\n","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */"],"sourceRoot":""}