1 line
23 KiB
JSON
1 line
23 KiB
JSON
{"ast":null,"code":"import _asyncToGenerator from \"/Users/gnezim/_projects/tims/flights_web_raw/Aeroflot.Flights.Web/apps/angular/node_modules/@babel/runtime/helpers/esm/asyncToGenerator\";\nimport { FLIGHTS_INFO_PARAM } from '@schedule/services/url/flights-info-param';\nimport { CurrentScheduleService } from './services/current-schedule.service';\nimport { DetailsScheduleDatesService } from './services/details-schedule-dates.service';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@schedule/services/data-source/details-data-source.service\";\nimport * as i2 from \"@angular/router\";\nimport * as i3 from \"@schedule/services/navigation.service\";\nimport * as i4 from \"./services/details-schedule-dates.service\";\nimport * as i5 from \"@schedule/services/state.service\";\nimport * as i6 from \"./services/current-schedule.service\";\nimport * as i7 from \"./components/meta-tags/schedule-flight-details-meta-tags.component\";\nimport * as i8 from \"./components/view/schedule-flight-details-view.component\";\nimport * as i9 from \"./components/title/schedule-flight-details-title.component\";\nexport class ScheduleFlightDetailsPageComponent {\n constructor(dataSource, route, navigationService, dateService, scheduleState, currentScheduleService, flightsInfoParamName) {\n this.dataSource = dataSource;\n this.route = route;\n this.navigationService = navigationService;\n this.dateService = dateService;\n this.scheduleState = scheduleState;\n this.currentScheduleService = currentScheduleService;\n this.flightsInfoParamName = flightsInfoParamName;\n }\n\n ngOnInit() {\n this.route.data.subscribe(data => {\n var _a, _b;\n\n if ((_a = data.urlParams) === null || _a === void 0 ? void 0 : _a.details) {\n this.dataSource.loadFlightDetails(data.urlParams.details).then(() => {\n this.schedule = this.currentScheduleService.getCurrentSchedule();\n }).catch(() => {\n return this.navigationService.toNotFound();\n });\n }\n\n if (((_b = data.urlParams) === null || _b === void 0 ? void 0 : _b.details) && data.requestData) {\n this.handleRequestChange(data.requestData, data.urlParams.details);\n }\n });\n }\n\n handleRedirectToScheduleDate(date) {\n var _this = this;\n\n return _asyncToGenerator(function* () {\n _this.scheduleState.selectedDate = date;\n const datesRange = yield _this.dateService.getScheduleDatesRange(date);\n let routeParams;\n let returnRouteParams;\n\n _this.navigationService.toDetailsPage(_this.dataSource.flight, _this.requestQueryParam, date);\n /*\n // There are three cases of navigation:\n // - User loaded page without 'request' query param.\n // - User loaded page with param and flag isReturnSchedule is true.\n // - User loaded page with param and flag isReturnSchedule is false.\n \n // The first case. We cannot get arrival/departure from request,\n // so we generate them from loaded flight.\n if (!this.request) {\n routeParams = {\n arrival: getFlightArrivalCityCode(this.dataSource.flight),\n departure: getFlightDepartureCityCode(this.dataSource.flight),\n ...datesRange,\n };\n \n this.navigationService.toRoutePage(routeParams);\n return;\n }\n \n if (this.scheduleState.isReturnSchedule) {\n // The second case. We need to set new dates only for\n // return route params.\n routeParams = this.request.outbound;\n returnRouteParams = {\n ...this.request.inbound,\n ...datesRange,\n };\n } else {\n // The third case. We need to set new dates only for\n // route params.\n routeParams = {\n ...this.request.outbound,\n ...datesRange,\n };\n returnRouteParams = this.request.inbound;\n }\n \n this.navigationService.toRoutePage(routeParams, returnRouteParams);\n */\n\n })();\n }\n\n handleRedirectToFlightDetails(flight) {\n this.navigationService.toDetailsPage(flight, this.requestQueryParam);\n }\n\n handleRequestChange(requestData, detailsParams) {\n var _this2 = this;\n\n return _asyncToGenerator(function* () {\n _this2.requestQueryParam = requestData.raw;\n _this2.request = requestData.parsed; // Compute dates range for mini list: [-1 day, first flight date, +1 day].\n // If some date in range exceeds schedule validation range it'll be\n // discarded.\n\n const datesRange = yield _this2.dateService.getMiniListDatesRange(detailsParams.flights[0].date); // Generate route params with new dates.\n\n const routeParams = Object.assign(Object.assign({}, _this2.request.outbound), {\n dateFrom: datesRange.dateFrom,\n dateTo: datesRange.dateTo\n });\n let returnRouteParams; // We need to generate return route params only if\n // it exists in request\n\n if (_this2.request.inbound) {\n returnRouteParams = Object.assign(Object.assign({}, _this2.request.inbound), {\n dateFrom: datesRange.dateFrom,\n dateTo: datesRange.dateTo\n });\n }\n\n _this2.dataSource.loadFlightsByRoute(routeParams, returnRouteParams).then(() => {\n _this2.schedule = _this2.currentScheduleService.getCurrentSchedule();\n });\n })();\n }\n\n}\n\nScheduleFlightDetailsPageComponent.ɵfac = function ScheduleFlightDetailsPageComponent_Factory(t) {\n return new (t || ScheduleFlightDetailsPageComponent)(i0.ɵɵdirectiveInject(i1.ScheduleDetailsDataSourceService), i0.ɵɵdirectiveInject(i2.ActivatedRoute), i0.ɵɵdirectiveInject(i3.ScheduleNavigationService), i0.ɵɵdirectiveInject(i4.DetailsScheduleDatesService), i0.ɵɵdirectiveInject(i5.ScheduleStateService), i0.ɵɵdirectiveInject(i6.CurrentScheduleService), i0.ɵɵdirectiveInject(FLIGHTS_INFO_PARAM));\n};\n\nScheduleFlightDetailsPageComponent.ɵcmp = /*@__PURE__*/i0.ɵɵdefineComponent({\n type: ScheduleFlightDetailsPageComponent,\n selectors: [[\"schedule-flight-details\"]],\n features: [i0.ɵɵProvidersFeature([DetailsScheduleDatesService, CurrentScheduleService])],\n decls: 3,\n vars: 7,\n consts: [[3, \"flights\", \"flight\", \"disabledDates\", \"schedule\", \"flightsLoading\", \"detailsLoading\", \"toFlightDetails\", \"toScheduleDate\"], [\"title\", \"\", 3, \"flight\"]],\n template: function ScheduleFlightDetailsPageComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelement(0, \"schedule-flight-details-meta-tags\");\n i0.ɵɵelementStart(1, \"schedule-flight-details-view\", 0);\n i0.ɵɵlistener(\"toFlightDetails\", function ScheduleFlightDetailsPageComponent_Template_schedule_flight_details_view_toFlightDetails_1_listener($event) {\n return ctx.handleRedirectToFlightDetails($event);\n })(\"toScheduleDate\", function ScheduleFlightDetailsPageComponent_Template_schedule_flight_details_view_toScheduleDate_1_listener($event) {\n return ctx.handleRedirectToScheduleDate($event);\n });\n i0.ɵɵelement(2, \"schedule-flight-details-title\", 1);\n i0.ɵɵelementEnd();\n }\n\n if (rf & 2) {\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"flights\", ctx.dataSource.flightsLegacy)(\"flight\", ctx.dataSource.flightLegacy)(\"disabledDates\", ctx.dataSource.disabledDates)(\"schedule\", ctx.schedule)(\"flightsLoading\", ctx.dataSource.loading)(\"detailsLoading\", ctx.dataSource.detailsLoading);\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"flight\", ctx.dataSource.flight);\n }\n },\n directives: [i7.ScheduleFlightDetailsMetaTagsComponent, i8.ScheduleFlightDetailsViewComponent, i9.ScheduleFlightDetailsTitleComponent],\n encapsulation: 2\n});","map":{"version":3,"sources":["/Users/gnezim/_projects/tims/flights_web_raw/Aeroflot.Flights.Web/apps/angular/src/app/features/schedule/pages/flight-details/schedule-flight-details-page.component.ts"],"names":["FLIGHTS_INFO_PARAM","CurrentScheduleService","DetailsScheduleDatesService","i0","i1","i2","i3","i4","i5","i6","i7","i8","i9","ScheduleFlightDetailsPageComponent","constructor","dataSource","route","navigationService","dateService","scheduleState","currentScheduleService","flightsInfoParamName","ngOnInit","data","subscribe","_a","_b","urlParams","details","loadFlightDetails","then","schedule","getCurrentSchedule","catch","toNotFound","requestData","handleRequestChange","handleRedirectToScheduleDate","date","selectedDate","datesRange","getScheduleDatesRange","routeParams","returnRouteParams","toDetailsPage","flight","requestQueryParam","handleRedirectToFlightDetails","detailsParams","raw","request","parsed","getMiniListDatesRange","flights","Object","assign","outbound","dateFrom","dateTo","inbound","loadFlightsByRoute","ɵfac","ScheduleFlightDetailsPageComponent_Factory","t","ɵɵdirectiveInject","ScheduleDetailsDataSourceService","ActivatedRoute","ScheduleNavigationService","ScheduleStateService","ɵcmp","ɵɵdefineComponent","type","selectors","features","ɵɵProvidersFeature","decls","vars","consts","template","ScheduleFlightDetailsPageComponent_Template","rf","ctx","ɵɵelement","ɵɵelementStart","ɵɵlistener","ScheduleFlightDetailsPageComponent_Template_schedule_flight_details_view_toFlightDetails_1_listener","$event","ScheduleFlightDetailsPageComponent_Template_schedule_flight_details_view_toScheduleDate_1_listener","ɵɵelementEnd","ɵɵadvance","ɵɵproperty","flightsLegacy","flightLegacy","disabledDates","loading","detailsLoading","directives","ScheduleFlightDetailsMetaTagsComponent","ScheduleFlightDetailsViewComponent","ScheduleFlightDetailsTitleComponent","encapsulation"],"mappings":"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","sourcesContent":["import { FLIGHTS_INFO_PARAM } from '@schedule/services/url/flights-info-param';\nimport { CurrentScheduleService } from './services/current-schedule.service';\nimport { DetailsScheduleDatesService } from './services/details-schedule-dates.service';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@schedule/services/data-source/details-data-source.service\";\nimport * as i2 from \"@angular/router\";\nimport * as i3 from \"@schedule/services/navigation.service\";\nimport * as i4 from \"./services/details-schedule-dates.service\";\nimport * as i5 from \"@schedule/services/state.service\";\nimport * as i6 from \"./services/current-schedule.service\";\nimport * as i7 from \"./components/meta-tags/schedule-flight-details-meta-tags.component\";\nimport * as i8 from \"./components/view/schedule-flight-details-view.component\";\nimport * as i9 from \"./components/title/schedule-flight-details-title.component\";\nexport class ScheduleFlightDetailsPageComponent {\n constructor(dataSource, route, navigationService, dateService, scheduleState, currentScheduleService, flightsInfoParamName) {\n this.dataSource = dataSource;\n this.route = route;\n this.navigationService = navigationService;\n this.dateService = dateService;\n this.scheduleState = scheduleState;\n this.currentScheduleService = currentScheduleService;\n this.flightsInfoParamName = flightsInfoParamName;\n }\n ngOnInit() {\n this.route.data.subscribe((data) => {\n var _a, _b;\n if ((_a = data.urlParams) === null || _a === void 0 ? void 0 : _a.details) {\n this.dataSource\n .loadFlightDetails(data.urlParams.details)\n .then(() => {\n this.schedule =\n this.currentScheduleService.getCurrentSchedule();\n })\n .catch(() => {\n return this.navigationService.toNotFound();\n });\n }\n if (((_b = data.urlParams) === null || _b === void 0 ? void 0 : _b.details) && data.requestData) {\n this.handleRequestChange(data.requestData, data.urlParams.details);\n }\n });\n }\n async handleRedirectToScheduleDate(date) {\n this.scheduleState.selectedDate = date;\n const datesRange = await this.dateService.getScheduleDatesRange(date);\n let routeParams;\n let returnRouteParams;\n this.navigationService.toDetailsPage(this.dataSource.flight, this.requestQueryParam, date);\n /*\n // There are three cases of navigation:\n // - User loaded page without 'request' query param.\n // - User loaded page with param and flag isReturnSchedule is true.\n // - User loaded page with param and flag isReturnSchedule is false.\n \n // The first case. We cannot get arrival/departure from request,\n // so we generate them from loaded flight.\n if (!this.request) {\n routeParams = {\n arrival: getFlightArrivalCityCode(this.dataSource.flight),\n departure: getFlightDepartureCityCode(this.dataSource.flight),\n ...datesRange,\n };\n \n this.navigationService.toRoutePage(routeParams);\n return;\n }\n \n if (this.scheduleState.isReturnSchedule) {\n // The second case. We need to set new dates only for\n // return route params.\n routeParams = this.request.outbound;\n returnRouteParams = {\n ...this.request.inbound,\n ...datesRange,\n };\n } else {\n // The third case. We need to set new dates only for\n // route params.\n routeParams = {\n ...this.request.outbound,\n ...datesRange,\n };\n returnRouteParams = this.request.inbound;\n }\n \n this.navigationService.toRoutePage(routeParams, returnRouteParams);\n */\n }\n handleRedirectToFlightDetails(flight) {\n this.navigationService.toDetailsPage(flight, this.requestQueryParam);\n }\n async handleRequestChange(requestData, detailsParams) {\n this.requestQueryParam = requestData.raw;\n this.request = requestData.parsed;\n // Compute dates range for mini list: [-1 day, first flight date, +1 day].\n // If some date in range exceeds schedule validation range it'll be\n // discarded.\n const datesRange = await this.dateService.getMiniListDatesRange(detailsParams.flights[0].date);\n // Generate route params with new dates.\n const routeParams = Object.assign(Object.assign({}, this.request.outbound), { dateFrom: datesRange.dateFrom, dateTo: datesRange.dateTo });\n let returnRouteParams;\n // We need to generate return route params only if\n // it exists in request\n if (this.request.inbound) {\n returnRouteParams = Object.assign(Object.assign({}, this.request.inbound), { dateFrom: datesRange.dateFrom, dateTo: datesRange.dateTo });\n }\n this.dataSource\n .loadFlightsByRoute(routeParams, returnRouteParams)\n .then(() => {\n this.schedule =\n this.currentScheduleService.getCurrentSchedule();\n });\n }\n}\nScheduleFlightDetailsPageComponent.ɵfac = function ScheduleFlightDetailsPageComponent_Factory(t) { return new (t || ScheduleFlightDetailsPageComponent)(i0.ɵɵdirectiveInject(i1.ScheduleDetailsDataSourceService), i0.ɵɵdirectiveInject(i2.ActivatedRoute), i0.ɵɵdirectiveInject(i3.ScheduleNavigationService), i0.ɵɵdirectiveInject(i4.DetailsScheduleDatesService), i0.ɵɵdirectiveInject(i5.ScheduleStateService), i0.ɵɵdirectiveInject(i6.CurrentScheduleService), i0.ɵɵdirectiveInject(FLIGHTS_INFO_PARAM)); };\nScheduleFlightDetailsPageComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ScheduleFlightDetailsPageComponent, selectors: [[\"schedule-flight-details\"]], features: [i0.ɵɵProvidersFeature([DetailsScheduleDatesService, CurrentScheduleService])], decls: 3, vars: 7, consts: [[3, \"flights\", \"flight\", \"disabledDates\", \"schedule\", \"flightsLoading\", \"detailsLoading\", \"toFlightDetails\", \"toScheduleDate\"], [\"title\", \"\", 3, \"flight\"]], template: function ScheduleFlightDetailsPageComponent_Template(rf, ctx) { if (rf & 1) {\n i0.ɵɵelement(0, \"schedule-flight-details-meta-tags\");\n i0.ɵɵelementStart(1, \"schedule-flight-details-view\", 0);\n i0.ɵɵlistener(\"toFlightDetails\", function ScheduleFlightDetailsPageComponent_Template_schedule_flight_details_view_toFlightDetails_1_listener($event) { return ctx.handleRedirectToFlightDetails($event); })(\"toScheduleDate\", function ScheduleFlightDetailsPageComponent_Template_schedule_flight_details_view_toScheduleDate_1_listener($event) { return ctx.handleRedirectToScheduleDate($event); });\n i0.ɵɵelement(2, \"schedule-flight-details-title\", 1);\n i0.ɵɵelementEnd();\n } if (rf & 2) {\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"flights\", ctx.dataSource.flightsLegacy)(\"flight\", ctx.dataSource.flightLegacy)(\"disabledDates\", ctx.dataSource.disabledDates)(\"schedule\", ctx.schedule)(\"flightsLoading\", ctx.dataSource.loading)(\"detailsLoading\", ctx.dataSource.detailsLoading);\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"flight\", ctx.dataSource.flight);\n } }, directives: [i7.ScheduleFlightDetailsMetaTagsComponent, i8.ScheduleFlightDetailsViewComponent, i9.ScheduleFlightDetailsTitleComponent], encapsulation: 2 });\n"]},"metadata":{},"sourceType":"module"} |