@qite/tide-booking-component 1.4.101 → 1.4.103
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/build-cjs/index.js +998 -451
- package/build/build-cjs/src/index.d.ts +3 -1
- package/build/build-cjs/src/search-results/components/flight/flight-selection/independent-flight-option.d.ts +3 -0
- package/build/build-cjs/src/search-results/store/search-results-slice.d.ts +8 -1
- package/build/build-cjs/src/search-results/types.d.ts +3 -1
- package/build/build-cjs/src/search-results/utils/flight-utils.d.ts +1 -0
- package/build/build-cjs/src/shared/utils/localization-util.d.ts +2 -0
- package/build/build-esm/index.js +998 -445
- package/build/build-esm/src/index.d.ts +3 -1
- package/build/build-esm/src/search-results/components/flight/flight-selection/independent-flight-option.d.ts +3 -0
- package/build/build-esm/src/search-results/store/search-results-slice.d.ts +8 -1
- package/build/build-esm/src/search-results/types.d.ts +3 -1
- package/build/build-esm/src/search-results/utils/flight-utils.d.ts +1 -0
- package/build/build-esm/src/shared/utils/localization-util.d.ts +2 -0
- package/package.json +2 -2
- package/src/index.ts +3 -1
- package/src/search-results/components/flight/flight-selection/independent-flight-option.tsx +30 -9
- package/src/search-results/components/flight/flight-selection/independent-flight-selection.tsx +2 -6
- package/src/search-results/components/hotel/hotel-accommodation-results.tsx +11 -12
- package/src/search-results/components/icon.tsx +1 -1
- package/src/search-results/components/itinerary/index.tsx +0 -2
- package/src/search-results/components/search-results-container/search-results-container.tsx +695 -83
- package/src/search-results/store/search-results-slice.ts +20 -1
- package/src/search-results/types.ts +3 -1
- package/src/search-results/utils/flight-utils.ts +5 -0
- package/src/shared/components/flyin/accommodation-flyin.tsx +4 -2
- package/src/shared/translations/ar-SA.json +2 -0
- package/src/shared/translations/da-DK.json +2 -0
- package/src/shared/translations/de-DE.json +2 -0
- package/src/shared/translations/en-GB.json +2 -0
- package/src/shared/translations/es-ES.json +2 -0
- package/src/shared/translations/fr-BE.json +2 -0
- package/src/shared/translations/fr-FR.json +2 -0
- package/src/shared/translations/is-IS.json +2 -0
- package/src/shared/translations/it-IT.json +2 -0
- package/src/shared/translations/ja-JP.json +2 -0
- package/src/shared/translations/nl-BE.json +2 -0
- package/src/shared/translations/nl-NL.json +2 -0
- package/src/shared/translations/no-NO.json +2 -0
- package/src/shared/translations/pl-PL.json +2 -0
- package/src/shared/translations/pt-PT.json +2 -0
- package/src/shared/translations/sv-SE.json +2 -0
- package/src/shared/utils/localization-util.ts +5 -2
- package/styles/components/_flight-option.scss +14 -1
- package/styles/components/_search.scss +5 -0
package/build/build-cjs/index.js
CHANGED
|
@@ -579,6 +579,8 @@ var QSM$g = {
|
|
|
579
579
|
GROUP_TOUR: 'جولة جماعية'
|
|
580
580
|
};
|
|
581
581
|
var SRP$f = {
|
|
582
|
+
SHOW_MORE: 'عرض المزيد',
|
|
583
|
+
SHOW_LESS: 'عرض أقل',
|
|
582
584
|
NO_RESULTS: 'لم يتم العثور على نتائج.',
|
|
583
585
|
TOTAL_RESULTS_LABEL: 'تم العثور على باقات',
|
|
584
586
|
RESET: 'إعادة تعيين',
|
|
@@ -983,6 +985,8 @@ var QSM$f = {
|
|
|
983
985
|
GROUP_TOUR: 'Grupperejse'
|
|
984
986
|
};
|
|
985
987
|
var SRP$e = {
|
|
988
|
+
SHOW_MORE: 'Vis flere',
|
|
989
|
+
SHOW_LESS: 'Vis færre',
|
|
986
990
|
NO_RESULTS: 'Ingen resultater fundet.',
|
|
987
991
|
TOTAL_RESULTS_LABEL: 'Fundne pakker',
|
|
988
992
|
RESET: 'Nulstil',
|
|
@@ -1388,6 +1392,8 @@ var QSM$e = {
|
|
|
1388
1392
|
GROUP_TOUR: 'Gruppentour'
|
|
1389
1393
|
};
|
|
1390
1394
|
var SRP$d = {
|
|
1395
|
+
SHOW_MORE: 'Mehr anzeigen',
|
|
1396
|
+
SHOW_LESS: 'Weniger anzeigen',
|
|
1391
1397
|
NO_RESULTS: 'Keine Ergebnisse gefunden.',
|
|
1392
1398
|
TOTAL_RESULTS_LABEL: 'Gefundene Pakete',
|
|
1393
1399
|
RESET: 'Zurücksetzen',
|
|
@@ -1796,6 +1802,8 @@ var QSM$d = {
|
|
|
1796
1802
|
GROUP_TOUR: 'Group tour'
|
|
1797
1803
|
};
|
|
1798
1804
|
var SRP$c = {
|
|
1805
|
+
SHOW_MORE: 'Show more',
|
|
1806
|
+
SHOW_LESS: 'Show less',
|
|
1799
1807
|
NO_RESULTS: 'No results found.',
|
|
1800
1808
|
TOTAL_RESULTS_LABEL: 'Packages found',
|
|
1801
1809
|
RESET: 'Reset',
|
|
@@ -2201,6 +2209,8 @@ var QSM$c = {
|
|
|
2201
2209
|
GROUP_TOUR: 'Tour grupal'
|
|
2202
2210
|
};
|
|
2203
2211
|
var SRP$b = {
|
|
2212
|
+
SHOW_MORE: 'Mostrar más',
|
|
2213
|
+
SHOW_LESS: 'Mostrar menos',
|
|
2204
2214
|
NO_RESULTS: 'No se han encontrado resultados.',
|
|
2205
2215
|
TOTAL_RESULTS_LABEL: 'Paquetes encontrados',
|
|
2206
2216
|
RESET: 'Restablecer',
|
|
@@ -2610,6 +2620,8 @@ var QSM$b = {
|
|
|
2610
2620
|
GROUP_TOUR: 'Tour en groupe'
|
|
2611
2621
|
};
|
|
2612
2622
|
var SRP$a = {
|
|
2623
|
+
SHOW_MORE: 'Afficher plus',
|
|
2624
|
+
SHOW_LESS: 'Afficher moins',
|
|
2613
2625
|
NO_RESULTS: 'Aucun résultat trouvé.',
|
|
2614
2626
|
TOTAL_RESULTS_LABEL: 'Forfaits trouvés',
|
|
2615
2627
|
RESET: 'Réinitialiser',
|
|
@@ -3014,6 +3026,8 @@ var QSM$a = {
|
|
|
3014
3026
|
GROUP_TOUR: 'Tour en groupe'
|
|
3015
3027
|
};
|
|
3016
3028
|
var SRP$9 = {
|
|
3029
|
+
SHOW_MORE: 'Afficher plus',
|
|
3030
|
+
SHOW_LESS: 'Afficher moins',
|
|
3017
3031
|
NO_RESULTS: 'Aucun résultat trouvé.',
|
|
3018
3032
|
TOTAL_RESULTS_LABEL: 'Forfaits trouvés',
|
|
3019
3033
|
RESET: 'Réinitialiser',
|
|
@@ -3418,6 +3432,8 @@ var QSM$9 = {
|
|
|
3418
3432
|
GROUP_TOUR: 'Ferð í hóp'
|
|
3419
3433
|
};
|
|
3420
3434
|
var SRP$8 = {
|
|
3435
|
+
SHOW_MORE: 'Sýna meira',
|
|
3436
|
+
SHOW_LESS: 'Sýna minna',
|
|
3421
3437
|
NO_RESULTS: 'Engar niðurstöður fundust.',
|
|
3422
3438
|
TOTAL_RESULTS_LABEL: 'Fundnar pakkar',
|
|
3423
3439
|
RESET: 'Endurstilla',
|
|
@@ -3823,6 +3839,8 @@ var QSM$8 = {
|
|
|
3823
3839
|
GROUP_TOUR: 'Tour di gruppo'
|
|
3824
3840
|
};
|
|
3825
3841
|
var SRP$7 = {
|
|
3842
|
+
SHOW_MORE: 'Mostra di più',
|
|
3843
|
+
SHOW_LESS: 'Mostra di meno',
|
|
3826
3844
|
NO_RESULTS: 'Nessun risultato trovato.',
|
|
3827
3845
|
TOTAL_RESULTS_LABEL: 'Pacchetti trovati',
|
|
3828
3846
|
RESET: 'Reimposta',
|
|
@@ -4232,6 +4250,8 @@ var QSM$7 = {
|
|
|
4232
4250
|
GROUP_TOUR: 'Groepsreis'
|
|
4233
4251
|
};
|
|
4234
4252
|
var SRP$6 = {
|
|
4253
|
+
SHOW_MORE: 'Toon meer',
|
|
4254
|
+
SHOW_LESS: 'Toon minder',
|
|
4235
4255
|
NO_RESULTS: 'Geen resultaten gevonden.',
|
|
4236
4256
|
TOTAL_RESULTS_LABEL: 'Gevonden pakketten',
|
|
4237
4257
|
RESET: 'Resetten',
|
|
@@ -4637,6 +4657,8 @@ var QSM$6 = {
|
|
|
4637
4657
|
GROUP_TOUR: 'Groepsreis'
|
|
4638
4658
|
};
|
|
4639
4659
|
var SRP$5 = {
|
|
4660
|
+
SHOW_MORE: 'Toon meer',
|
|
4661
|
+
SHOW_LESS: 'Toon minder',
|
|
4640
4662
|
NO_RESULTS: 'Geen resultaten gevonden.',
|
|
4641
4663
|
TOTAL_RESULTS_LABEL: 'Gevonden pakketten',
|
|
4642
4664
|
RESET: 'Resetten',
|
|
@@ -5042,6 +5064,8 @@ var QSM$5 = {
|
|
|
5042
5064
|
GROUP_TOUR: 'Gruppetur'
|
|
5043
5065
|
};
|
|
5044
5066
|
var SRP$4 = {
|
|
5067
|
+
SHOW_MORE: 'Vis mer',
|
|
5068
|
+
SHOW_LESS: 'Vis mindre',
|
|
5045
5069
|
NO_RESULTS: 'Ingen resultater funnet.',
|
|
5046
5070
|
TOTAL_RESULTS_LABEL: 'Fant pakker',
|
|
5047
5071
|
RESET: 'Tilbakestill',
|
|
@@ -5447,6 +5471,8 @@ var QSM$4 = {
|
|
|
5447
5471
|
GROUP_TOUR: 'Tour w grupie'
|
|
5448
5472
|
};
|
|
5449
5473
|
var SRP$3 = {
|
|
5474
|
+
SHOW_MORE: 'Pokaż więcej',
|
|
5475
|
+
SHOW_LESS: 'Pokaż mniej',
|
|
5450
5476
|
NO_RESULTS: 'Nie znaleziono wyników.',
|
|
5451
5477
|
TOTAL_RESULTS_LABEL: 'Znalezione pakiety',
|
|
5452
5478
|
RESET: 'Resetuj',
|
|
@@ -5852,6 +5878,8 @@ var QSM$3 = {
|
|
|
5852
5878
|
GROUP_TOUR: 'Tour em grupo'
|
|
5853
5879
|
};
|
|
5854
5880
|
var SRP$2 = {
|
|
5881
|
+
SHOW_MORE: 'Mostrar mais',
|
|
5882
|
+
SHOW_LESS: 'Mostrar menos',
|
|
5855
5883
|
NO_RESULTS: 'Nenhum resultado encontrado.',
|
|
5856
5884
|
TOTAL_RESULTS_LABEL: 'Pacotes encontrados',
|
|
5857
5885
|
RESET: 'Redefinir',
|
|
@@ -6257,6 +6285,8 @@ var QSM$2 = {
|
|
|
6257
6285
|
GROUP_TOUR: 'Gruppresa'
|
|
6258
6286
|
};
|
|
6259
6287
|
var SRP$1 = {
|
|
6288
|
+
SHOW_MORE: 'Visa mer',
|
|
6289
|
+
SHOW_LESS: 'Visa mindre',
|
|
6260
6290
|
NO_RESULTS: 'Inga resultat hittades.',
|
|
6261
6291
|
TOTAL_RESULTS_LABEL: 'Hittade paket',
|
|
6262
6292
|
RESET: 'Återställ',
|
|
@@ -6660,6 +6690,8 @@ var QSM$1 = {
|
|
|
6660
6690
|
GROUP_TOUR: 'グループツアー'
|
|
6661
6691
|
};
|
|
6662
6692
|
var SRP = {
|
|
6693
|
+
SHOW_MORE: 'もっと見る',
|
|
6694
|
+
SHOW_LESS: '閉じる',
|
|
6663
6695
|
NO_RESULTS: '結果が見つかりませんでした。',
|
|
6664
6696
|
TOTAL_RESULTS_LABEL: '見つかったパッケージ',
|
|
6665
6697
|
RESET: 'リセット',
|
|
@@ -6866,8 +6898,8 @@ var timeFromDateTime = function (dateTime) {
|
|
|
6866
6898
|
return '';
|
|
6867
6899
|
}
|
|
6868
6900
|
var date = new Date(dateTime);
|
|
6869
|
-
var hours = date.
|
|
6870
|
-
var minutes = date.
|
|
6901
|
+
var hours = date.getUTCHours();
|
|
6902
|
+
var minutes = date.getUTCMinutes();
|
|
6871
6903
|
return ''
|
|
6872
6904
|
.concat(hours, ':')
|
|
6873
6905
|
.concat(minutes < 10 ? '0' : '')
|
|
@@ -13417,6 +13449,7 @@ PERFORMANCE OF THIS SOFTWARE.
|
|
|
13417
13449
|
var ENDPOINT = '/api/web/packaging';
|
|
13418
13450
|
var ENDPOINT_START_TRANSACTION = ENDPOINT + '/start';
|
|
13419
13451
|
var ENDPOINT_ACCOMMODATIONS = ENDPOINT + '/accommodations';
|
|
13452
|
+
var ENDPOINT_FLIGHTS = ENDPOINT + '/flights';
|
|
13420
13453
|
var ENDPOINT_PRICE_DETAILS = ENDPOINT + '/price-details';
|
|
13421
13454
|
var ENDPOINT_ITINERARY = ENDPOINT + '/itinerary';
|
|
13422
13455
|
var ENDPOINT_ENTRY = function (magicLinkCode) {
|
|
@@ -13433,6 +13466,12 @@ PERFORMANCE OF THIS SOFTWARE.
|
|
|
13433
13466
|
var body = JSON.stringify(request);
|
|
13434
13467
|
return post(url, apiKey, body, config.token, signal, true);
|
|
13435
13468
|
};
|
|
13469
|
+
var searchPackagingFlights = function (config, request, signal) {
|
|
13470
|
+
var url = '' + config.host + ENDPOINT_FLIGHTS;
|
|
13471
|
+
var apiKey = config.apiKey;
|
|
13472
|
+
var body = JSON.stringify(request);
|
|
13473
|
+
return post(url, apiKey, body, config.token, signal, true);
|
|
13474
|
+
};
|
|
13436
13475
|
var getEntry = function (config, magicLinkCode, signal) {
|
|
13437
13476
|
var apiKey = config.apiKey;
|
|
13438
13477
|
var url = '' + config.host + ENDPOINT_ENTRY(magicLinkCode);
|
|
@@ -13524,6 +13563,7 @@ PERFORMANCE OF THIS SOFTWARE.
|
|
|
13524
13563
|
exports.searchLocations = searchLocations;
|
|
13525
13564
|
exports.searchOords = searchOords;
|
|
13526
13565
|
exports.searchPackagingAccommodations = searchPackagingAccommodations;
|
|
13566
|
+
exports.searchPackagingFlights = searchPackagingFlights;
|
|
13527
13567
|
exports.searchRegions = searchRegions;
|
|
13528
13568
|
exports.searchWithErrorMapping = searchWithErrorMapping;
|
|
13529
13569
|
exports.setCustomEntryStatus = setCustomEntryStatus;
|
|
@@ -20511,7 +20551,7 @@ var getFlightDetails = function (flight) {
|
|
|
20511
20551
|
arrivalDate: lastLine.arrivalDate,
|
|
20512
20552
|
arrivalTime: lastLine.arrivalTime,
|
|
20513
20553
|
arrivalAirport: lastLine.arrivalAirportDescription,
|
|
20514
|
-
travelDuration: formatDuration
|
|
20554
|
+
travelDuration: formatDuration(flight.flightMetaData.durationInTicks),
|
|
20515
20555
|
travelDurationMinutes: minutesFromTicks(flight.flightMetaData.durationInTicks),
|
|
20516
20556
|
changeDurationMinutes: getTotalChangeDuration(flight),
|
|
20517
20557
|
numberOfStops: flight.flightMetaData.flightLines.length - 1,
|
|
@@ -20527,7 +20567,7 @@ var getFlightDetails = function (flight) {
|
|
|
20527
20567
|
arrivalTime: x.arrivalTime,
|
|
20528
20568
|
arrivalAirport: x.arrivalAirportDescription,
|
|
20529
20569
|
number: ''.concat(x.airlineCode, ' ').concat(x.number),
|
|
20530
|
-
travelDuration: formatDuration
|
|
20570
|
+
travelDuration: formatDuration(x.durationInTicks),
|
|
20531
20571
|
waitDuration: waitDurations.length - 1 <= i ? waitDurations[i] : undefined
|
|
20532
20572
|
};
|
|
20533
20573
|
})
|
|
@@ -20603,7 +20643,7 @@ var minutesFromTicks = function (ticks) {
|
|
|
20603
20643
|
var totalSeconds = ticks / 10000000;
|
|
20604
20644
|
return Math.floor(totalSeconds / 60);
|
|
20605
20645
|
};
|
|
20606
|
-
var formatDuration
|
|
20646
|
+
var formatDuration = function (ticks) {
|
|
20607
20647
|
if (!ticks) return '';
|
|
20608
20648
|
var totalSeconds = ticks / 10000000;
|
|
20609
20649
|
var hh = Math.floor(totalSeconds / 3600);
|
|
@@ -33816,10 +33856,13 @@ var initialState$1 = {
|
|
|
33816
33856
|
filteredPackagingAccoResults: [],
|
|
33817
33857
|
packagingAccoSearchDetails: [],
|
|
33818
33858
|
selectedPackagingAccoResultCode: null,
|
|
33859
|
+
packagingFlightResults: [],
|
|
33860
|
+
selectedPackagingFlight: null,
|
|
33819
33861
|
selectedFlight: null,
|
|
33820
33862
|
selectedFlightDetails: null,
|
|
33821
33863
|
bookingPackageDetails: null,
|
|
33822
33864
|
isLoading: false,
|
|
33865
|
+
flightsLoading: false,
|
|
33823
33866
|
filters: [],
|
|
33824
33867
|
selectedSortType: null,
|
|
33825
33868
|
activeTab: 'compact',
|
|
@@ -33856,6 +33899,12 @@ var searchResultsSlice = toolkit.createSlice({
|
|
|
33856
33899
|
setSelectedPackagingAccoResult: function (state, action) {
|
|
33857
33900
|
state.selectedPackagingAccoResultCode = action.payload;
|
|
33858
33901
|
},
|
|
33902
|
+
setPackagingFlightResults: function (state, action) {
|
|
33903
|
+
state.packagingFlightResults = action.payload;
|
|
33904
|
+
},
|
|
33905
|
+
setSelectedPackagingFlight: function (state, action) {
|
|
33906
|
+
state.selectedPackagingFlight = action.payload;
|
|
33907
|
+
},
|
|
33859
33908
|
setSelectedFlight: function (state, action) {
|
|
33860
33909
|
state.selectedFlight = action.payload;
|
|
33861
33910
|
},
|
|
@@ -33878,6 +33927,9 @@ var searchResultsSlice = toolkit.createSlice({
|
|
|
33878
33927
|
setIsLoading: function (state, action) {
|
|
33879
33928
|
state.isLoading = action.payload;
|
|
33880
33929
|
},
|
|
33930
|
+
setFlightsLoading: function (state, action) {
|
|
33931
|
+
state.flightsLoading = action.payload;
|
|
33932
|
+
},
|
|
33881
33933
|
setFilters: function (state, action) {
|
|
33882
33934
|
var updatedFilters = action.payload;
|
|
33883
33935
|
updatedFilters.forEach(function (updatedFilter) {
|
|
@@ -33938,11 +33990,14 @@ var setResults = ((_a = searchResultsSlice.actions), _a.setResults),
|
|
|
33938
33990
|
setFilteredPackagingAccoResults = _a.setFilteredPackagingAccoResults,
|
|
33939
33991
|
setPackagingAccoSearchDetails = _a.setPackagingAccoSearchDetails,
|
|
33940
33992
|
setSelectedPackagingAccoResult = _a.setSelectedPackagingAccoResult,
|
|
33993
|
+
setPackagingFlightResults = _a.setPackagingFlightResults,
|
|
33994
|
+
setSelectedPackagingFlight = _a.setSelectedPackagingFlight,
|
|
33941
33995
|
setSelectedFlight = _a.setSelectedFlight,
|
|
33942
33996
|
setSelectedFlightDetails = _a.setSelectedFlightDetails,
|
|
33943
|
-
setBookingPackageDetails = _a.setBookingPackageDetails
|
|
33944
|
-
|
|
33945
|
-
|
|
33997
|
+
setBookingPackageDetails = _a.setBookingPackageDetails;
|
|
33998
|
+
_a.selectFlight;
|
|
33999
|
+
var setIsLoading = _a.setIsLoading,
|
|
34000
|
+
setFlightsLoading = _a.setFlightsLoading,
|
|
33946
34001
|
setFilters = _a.setFilters,
|
|
33947
34002
|
resetFilters = _a.resetFilters,
|
|
33948
34003
|
setSortType = _a.setSortType,
|
|
@@ -34219,7 +34274,7 @@ var Icon$1 = function (_a) {
|
|
|
34219
34274
|
title && React__default['default'].createElement('title', null, title),
|
|
34220
34275
|
React__default['default'].createElement('path', {
|
|
34221
34276
|
d: 'M32 32c17.7 0 32 14.3 32 32l0 256 224 0 0-160c0-17.7 14.3-32 32-32l224 0c53 0 96 43 96 96l0 224c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-32-224 0-32 0L64 416l0 32c0 17.7-14.3 32-32 32s-32-14.3-32-32L0 64C0 46.3 14.3 32 32 32zm144 96a80 80 0 1 1 0 160 80 80 0 1 1 0-160z',
|
|
34222
|
-
fill: 'currentColor'
|
|
34277
|
+
fill: fill !== null && fill !== void 0 ? fill : 'currentColor'
|
|
34223
34278
|
})
|
|
34224
34279
|
);
|
|
34225
34280
|
case 'ui-utensils':
|
|
@@ -35314,8 +35369,6 @@ var Itinerary = function (_a) {
|
|
|
35314
35369
|
segments: segments
|
|
35315
35370
|
};
|
|
35316
35371
|
});
|
|
35317
|
-
console.log('otherSegments', otherSegments);
|
|
35318
|
-
console.log('groupedOtherSegments', groupedOtherSegments);
|
|
35319
35372
|
var numberOfPax = ((_p = packagingEntry.pax) === null || _p === void 0 ? void 0 : _p.length) || 1;
|
|
35320
35373
|
var totalPrice = (priceDetails === null || priceDetails === void 0 ? void 0 : priceDetails.total) || packagingEntry.price || 0;
|
|
35321
35374
|
var pricePerPerson = totalPrice / numberOfPax;
|
|
@@ -36899,6 +36952,14 @@ var Icon = function (_a) {
|
|
|
36899
36952
|
}
|
|
36900
36953
|
};
|
|
36901
36954
|
|
|
36955
|
+
var getFlightKey = function (segments) {
|
|
36956
|
+
if (!segments || segments.length === 0) return '';
|
|
36957
|
+
return segments
|
|
36958
|
+
.map(function (s) {
|
|
36959
|
+
return ''.concat(s.marketingAirlineCode).concat(s.flightNumber, '_').concat(s.departureDateTime);
|
|
36960
|
+
})
|
|
36961
|
+
.join('_');
|
|
36962
|
+
};
|
|
36902
36963
|
// export const getAirportName = (airport: TideAirport | undefined, language: string): string => {
|
|
36903
36964
|
// if (!airport || !airport.name) {
|
|
36904
36965
|
// return "";
|
|
@@ -38459,13 +38520,11 @@ var FlightsFlyIn = function (_a) {
|
|
|
38459
38520
|
};
|
|
38460
38521
|
|
|
38461
38522
|
var formatPrice$1 = function (price, currencyCode) {
|
|
38462
|
-
if (currencyCode === void 0) {
|
|
38463
|
-
currencyCode = 'EUR';
|
|
38464
|
-
}
|
|
38465
38523
|
if (typeof price !== 'number') return '';
|
|
38524
|
+
var safeCurrency = currencyCode !== null && currencyCode !== void 0 ? currencyCode : 'EUR';
|
|
38466
38525
|
return new Intl.NumberFormat('nl-BE', {
|
|
38467
38526
|
style: 'currency',
|
|
38468
|
-
currency:
|
|
38527
|
+
currency: safeCurrency
|
|
38469
38528
|
}).format(price);
|
|
38470
38529
|
};
|
|
38471
38530
|
var AccommodationFlyIn = function (_a) {
|
|
@@ -43672,16 +43731,6 @@ var HotelAccommodationResults = function (_a) {
|
|
|
43672
43731
|
: firstPackagingResult.fromDate;
|
|
43673
43732
|
var firstResultDay = firstResultDate ? dateFns.format(dateFns.parseISO(firstResultDate), 'd') : null;
|
|
43674
43733
|
var firstResultMonth = firstResultDate ? dateFns.format(dateFns.parseISO(firstResultDate), 'MMM') : null;
|
|
43675
|
-
if (isLoading) {
|
|
43676
|
-
return React__default['default'].createElement(
|
|
43677
|
-
React__default['default'].Fragment,
|
|
43678
|
-
null,
|
|
43679
|
-
(_c = context.customSpinner) !== null && _c !== void 0 ? _c : React__default['default'].createElement(Spinner, null)
|
|
43680
|
-
);
|
|
43681
|
-
}
|
|
43682
|
-
if (mappedResults.length === 0) {
|
|
43683
|
-
return React__default['default'].createElement('div', { className: 'no-results' }, translations.SRP.NO_RESULTS);
|
|
43684
|
-
}
|
|
43685
43734
|
return React__default['default'].createElement(
|
|
43686
43735
|
React__default['default'].Fragment,
|
|
43687
43736
|
null,
|
|
@@ -43691,8 +43740,14 @@ var HotelAccommodationResults = function (_a) {
|
|
|
43691
43740
|
React__default['default'].createElement(
|
|
43692
43741
|
'div',
|
|
43693
43742
|
{ className: 'search__results__label__date' },
|
|
43694
|
-
|
|
43695
|
-
|
|
43743
|
+
firstResultDay && firstResultMonth
|
|
43744
|
+
? React__default['default'].createElement(
|
|
43745
|
+
React__default['default'].Fragment,
|
|
43746
|
+
null,
|
|
43747
|
+
React__default['default'].createElement('p', { className: 'search__results__label__date-date' }, firstResultDay),
|
|
43748
|
+
React__default['default'].createElement('p', null, firstResultMonth)
|
|
43749
|
+
)
|
|
43750
|
+
: React__default['default'].createElement(Icon$1, { name: 'ui-bed', height: 16, fill: 'white' })
|
|
43696
43751
|
),
|
|
43697
43752
|
React__default['default'].createElement(
|
|
43698
43753
|
'div',
|
|
@@ -43706,7 +43761,14 @@ var HotelAccommodationResults = function (_a) {
|
|
|
43706
43761
|
)
|
|
43707
43762
|
)
|
|
43708
43763
|
),
|
|
43709
|
-
|
|
43764
|
+
isLoading
|
|
43765
|
+
? React__default['default'].createElement(
|
|
43766
|
+
React__default['default'].Fragment,
|
|
43767
|
+
null,
|
|
43768
|
+
(_c = context.customSpinner) !== null && _c !== void 0 ? _c : React__default['default'].createElement(Spinner, null)
|
|
43769
|
+
)
|
|
43770
|
+
: renderHotelResults(mappedResults, context, activeTab, translations),
|
|
43771
|
+
mappedResults.length === 0 && !isLoading && React__default['default'].createElement('div', { className: 'no-results' }, translations.SRP.NO_RESULTS)
|
|
43710
43772
|
);
|
|
43711
43773
|
};
|
|
43712
43774
|
|
|
@@ -44138,266 +44200,6 @@ var RoundTripResults = function () {
|
|
|
44138
44200
|
);
|
|
44139
44201
|
};
|
|
44140
44202
|
|
|
44141
|
-
var ticksToMinutes = function (ticks) {
|
|
44142
|
-
return Math.floor(ticks / 600000000);
|
|
44143
|
-
};
|
|
44144
|
-
var formatDuration = function (ticks) {
|
|
44145
|
-
var minutes = ticksToMinutes(ticks);
|
|
44146
|
-
var h = Math.floor(minutes / 60);
|
|
44147
|
-
var m = minutes % 60;
|
|
44148
|
-
return ''.concat(h, 'h ').concat(m, 'm');
|
|
44149
|
-
};
|
|
44150
|
-
var FlightResults = function (_a) {
|
|
44151
|
-
var _b;
|
|
44152
|
-
var flights = _a.flights,
|
|
44153
|
-
isDeparture = _a.isDeparture;
|
|
44154
|
-
var context = React.useContext(SearchResultsConfigurationContext);
|
|
44155
|
-
var translations = getTranslations((_b = context === null || context === void 0 ? void 0 : context.languageCode) !== null && _b !== void 0 ? _b : 'en-GB');
|
|
44156
|
-
var dispatch = reactRedux.useDispatch();
|
|
44157
|
-
var _c = React.useState(null),
|
|
44158
|
-
activeDetailId = _c[0],
|
|
44159
|
-
setActiveDetailId = _c[1];
|
|
44160
|
-
var handleDetailClick = function (flightOptionId) {
|
|
44161
|
-
setActiveDetailId(function (prev) {
|
|
44162
|
-
return prev === flightOptionId ? null : flightOptionId;
|
|
44163
|
-
});
|
|
44164
|
-
};
|
|
44165
|
-
var firstResult = flights === null || flights === void 0 ? void 0 : flights[0];
|
|
44166
|
-
var firstResultDate = (firstResult === null || firstResult === void 0 ? void 0 : firstResult.startDateTime)
|
|
44167
|
-
? dateFns.parseISO(firstResult.startDateTime)
|
|
44168
|
-
: null;
|
|
44169
|
-
return React__default['default'].createElement(
|
|
44170
|
-
React__default['default'].Fragment,
|
|
44171
|
-
null,
|
|
44172
|
-
React__default['default'].createElement(
|
|
44173
|
-
'div',
|
|
44174
|
-
{ className: 'search__results__label' },
|
|
44175
|
-
React__default['default'].createElement(
|
|
44176
|
-
'div',
|
|
44177
|
-
{ className: 'search__results__label__date' },
|
|
44178
|
-
firstResultDate &&
|
|
44179
|
-
React__default['default'].createElement(
|
|
44180
|
-
React__default['default'].Fragment,
|
|
44181
|
-
null,
|
|
44182
|
-
React__default['default'].createElement('p', { className: 'search__results__label__date-date' }, dateFns.format(firstResultDate, 'd')),
|
|
44183
|
-
React__default['default'].createElement('p', null, dateFns.format(firstResultDate, 'MMM'))
|
|
44184
|
-
)
|
|
44185
|
-
),
|
|
44186
|
-
React__default['default'].createElement(
|
|
44187
|
-
'div',
|
|
44188
|
-
{ className: 'search__results__label__text' },
|
|
44189
|
-
React__default['default'].createElement(
|
|
44190
|
-
'h3',
|
|
44191
|
-
null,
|
|
44192
|
-
translations.SRP.SELECT,
|
|
44193
|
-
' ',
|
|
44194
|
-
React__default['default'].createElement('strong', null, isDeparture ? translations.SRP.DEPARTURE : translations.SRP.RETURN)
|
|
44195
|
-
)
|
|
44196
|
-
)
|
|
44197
|
-
),
|
|
44198
|
-
flights &&
|
|
44199
|
-
flights.length > 0 &&
|
|
44200
|
-
React__default['default'].createElement(
|
|
44201
|
-
'div',
|
|
44202
|
-
{ className: 'search__results__cards search__results__cards--extended' },
|
|
44203
|
-
flights.map(function (flight, index) {
|
|
44204
|
-
var lines = flight.flightMetaData.flightLines;
|
|
44205
|
-
var firstLine = lines[0];
|
|
44206
|
-
var lastLine = lines[lines.length - 1];
|
|
44207
|
-
var stops = lines.length - 1;
|
|
44208
|
-
return React__default['default'].createElement(
|
|
44209
|
-
'div',
|
|
44210
|
-
{ className: 'flight', key: 'flight-'.concat(flight.flightId, '-').concat(index) },
|
|
44211
|
-
React__default['default'].createElement(
|
|
44212
|
-
'div',
|
|
44213
|
-
{ className: 'flight__option' },
|
|
44214
|
-
React__default['default'].createElement(
|
|
44215
|
-
'div',
|
|
44216
|
-
{ className: 'flight__content' },
|
|
44217
|
-
React__default['default'].createElement(
|
|
44218
|
-
'div',
|
|
44219
|
-
{ className: 'flight__flights' },
|
|
44220
|
-
React__default['default'].createElement(
|
|
44221
|
-
'div',
|
|
44222
|
-
{ className: 'flight__flight' },
|
|
44223
|
-
React__default['default'].createElement(
|
|
44224
|
-
'div',
|
|
44225
|
-
{ className: 'flight__flight__header' },
|
|
44226
|
-
React__default['default'].createElement('div', { className: 'flight__status__container' }),
|
|
44227
|
-
React__default['default'].createElement(
|
|
44228
|
-
'div',
|
|
44229
|
-
{ className: 'flight__price' },
|
|
44230
|
-
React__default['default'].createElement('span', { className: 'price' }, '\u20AC ', flight.price.toFixed(2)),
|
|
44231
|
-
React__default['default'].createElement(
|
|
44232
|
-
'button',
|
|
44233
|
-
{
|
|
44234
|
-
type: 'button',
|
|
44235
|
-
className: 'cta '.concat(flight.isSelected ? 'cta--selected' : 'cta--select'),
|
|
44236
|
-
onClick: function () {
|
|
44237
|
-
return dispatch(selectFlight({ flightOptionId: flight.flightOptionId, isDeparture: !!isDeparture }));
|
|
44238
|
-
}
|
|
44239
|
-
},
|
|
44240
|
-
flight.isSelected ? 'Selected' : 'Select'
|
|
44241
|
-
)
|
|
44242
|
-
)
|
|
44243
|
-
)
|
|
44244
|
-
),
|
|
44245
|
-
React__default['default'].createElement(
|
|
44246
|
-
'div',
|
|
44247
|
-
{ className: 'flight__flight' },
|
|
44248
|
-
React__default['default'].createElement(
|
|
44249
|
-
'div',
|
|
44250
|
-
{ className: 'flight__flight__container' },
|
|
44251
|
-
React__default['default'].createElement(
|
|
44252
|
-
'div',
|
|
44253
|
-
{ className: 'flight__flight__wrapper' },
|
|
44254
|
-
React__default['default'].createElement(
|
|
44255
|
-
'div',
|
|
44256
|
-
{ className: 'flight__logo__wrapper' },
|
|
44257
|
-
React__default['default'].createElement('img', {
|
|
44258
|
-
src: 'https://media.tidesoftware.be/media/shared/Airlines/'.concat(firstLine.airlineCode, '.png?height=256'),
|
|
44259
|
-
alt: flight.airlineDescription,
|
|
44260
|
-
className: 'flight__logo'
|
|
44261
|
-
}),
|
|
44262
|
-
React__default['default'].createElement('span', null, flight.airlineDescription)
|
|
44263
|
-
),
|
|
44264
|
-
React__default['default'].createElement(
|
|
44265
|
-
'div',
|
|
44266
|
-
{ className: 'flight__info' },
|
|
44267
|
-
React__default['default'].createElement(
|
|
44268
|
-
'div',
|
|
44269
|
-
{ className: 'flight__info__times' },
|
|
44270
|
-
React__default['default'].createElement('strong', null, firstLine.departureTime, ' ', firstLine.departureAirport),
|
|
44271
|
-
React__default['default'].createElement('p', null, dateFns.format(dateFns.parseISO(firstLine.departureDate), 'EEE dd MMM yyyy'))
|
|
44272
|
-
),
|
|
44273
|
-
React__default['default'].createElement(
|
|
44274
|
-
'div',
|
|
44275
|
-
{ className: 'flight__info__duration' },
|
|
44276
|
-
React__default['default'].createElement('p', null, formatDuration(flight.flightMetaData.durationInTicks)),
|
|
44277
|
-
React__default['default'].createElement(
|
|
44278
|
-
'div',
|
|
44279
|
-
{ className: 'flight__info__duration__stops' },
|
|
44280
|
-
stops > 0 && React__default['default'].createElement('div', { className: 'flight__info__duration__stop' })
|
|
44281
|
-
),
|
|
44282
|
-
React__default['default'].createElement(
|
|
44283
|
-
'span',
|
|
44284
|
-
null,
|
|
44285
|
-
stops === 0
|
|
44286
|
-
? translations.SRP.DIRECT
|
|
44287
|
-
: ''
|
|
44288
|
-
.concat(stops, ' ')
|
|
44289
|
-
.concat(translations.SRP.STOP)
|
|
44290
|
-
.concat(stops > 1 ? 's' : '')
|
|
44291
|
-
)
|
|
44292
|
-
),
|
|
44293
|
-
React__default['default'].createElement(
|
|
44294
|
-
'div',
|
|
44295
|
-
{ className: 'flight__info__times flight__info__times--arrival' },
|
|
44296
|
-
React__default['default'].createElement('strong', null, lastLine.arrivalTime, ' ', lastLine.arrivalAirport),
|
|
44297
|
-
React__default['default'].createElement('p', null, dateFns.format(dateFns.parseISO(lastLine.arrivalDate), 'EEE dd MMM yyyy'))
|
|
44298
|
-
)
|
|
44299
|
-
)
|
|
44300
|
-
),
|
|
44301
|
-
React__default['default'].createElement(
|
|
44302
|
-
'div',
|
|
44303
|
-
{ className: 'flight__detail__btn__wrapper' },
|
|
44304
|
-
React__default['default'].createElement(
|
|
44305
|
-
'div',
|
|
44306
|
-
{
|
|
44307
|
-
className: 'flight__detail__btn '.concat(activeDetailId === flight.flightOptionId ? 'flight__detail__btn--active' : ''),
|
|
44308
|
-
onClick: function () {
|
|
44309
|
-
return handleDetailClick(flight.flightOptionId);
|
|
44310
|
-
}
|
|
44311
|
-
},
|
|
44312
|
-
React__default['default'].createElement(Icon$1, {
|
|
44313
|
-
name: 'ui-chevron',
|
|
44314
|
-
className: 'flight__detail__btn__arrow',
|
|
44315
|
-
width: 16,
|
|
44316
|
-
height: 16
|
|
44317
|
-
})
|
|
44318
|
-
)
|
|
44319
|
-
)
|
|
44320
|
-
),
|
|
44321
|
-
React__default['default'].createElement(
|
|
44322
|
-
'div',
|
|
44323
|
-
{ className: 'flight__detail '.concat(activeDetailId === flight.flightOptionId ? 'flight__detail--active' : '') },
|
|
44324
|
-
lines.map(function (line, index) {
|
|
44325
|
-
var nextLine = lines[index + 1];
|
|
44326
|
-
return React__default['default'].createElement(
|
|
44327
|
-
React__default['default'].Fragment,
|
|
44328
|
-
{ key: index },
|
|
44329
|
-
React__default['default'].createElement(
|
|
44330
|
-
'div',
|
|
44331
|
-
{ className: 'flight__info' },
|
|
44332
|
-
React__default['default'].createElement(
|
|
44333
|
-
'div',
|
|
44334
|
-
{ className: 'flight__info__times__wrapper' },
|
|
44335
|
-
React__default['default'].createElement(
|
|
44336
|
-
'div',
|
|
44337
|
-
{ className: 'flight__info__times' },
|
|
44338
|
-
React__default['default'].createElement('p', null, line.departureTime),
|
|
44339
|
-
React__default['default'].createElement('strong', null, line.departureAirport),
|
|
44340
|
-
React__default['default'].createElement('p', null, dateFns.format(dateFns.parseISO(line.departureDate), 'EEE dd MMM yyyy'))
|
|
44341
|
-
),
|
|
44342
|
-
React__default['default'].createElement(Icon$1, { name: 'ui-plane-depart', width: 30, height: 20 })
|
|
44343
|
-
),
|
|
44344
|
-
React__default['default'].createElement(
|
|
44345
|
-
'div',
|
|
44346
|
-
{ className: 'flight__info__duration' },
|
|
44347
|
-
React__default['default'].createElement('p', null, formatDuration(line.durationInTicks)),
|
|
44348
|
-
React__default['default'].createElement('span', null, line.airline, ' ', line.number)
|
|
44349
|
-
),
|
|
44350
|
-
React__default['default'].createElement(
|
|
44351
|
-
'div',
|
|
44352
|
-
{ className: 'flight__info__times__wrapper flight__info__times__wrapper--arrival' },
|
|
44353
|
-
React__default['default'].createElement(Icon$1, { name: 'ui-plane-arrive', width: 30, height: 20 }),
|
|
44354
|
-
React__default['default'].createElement(
|
|
44355
|
-
'div',
|
|
44356
|
-
{ className: 'flight__info__times flight__info__times--arrival' },
|
|
44357
|
-
React__default['default'].createElement('p', null, line.arrivalTime),
|
|
44358
|
-
React__default['default'].createElement('strong', null, line.arrivalAirport),
|
|
44359
|
-
React__default['default'].createElement('p', null, dateFns.format(dateFns.parseISO(line.arrivalDate), 'EEE dd MMM yyyy'))
|
|
44360
|
-
)
|
|
44361
|
-
)
|
|
44362
|
-
),
|
|
44363
|
-
nextLine &&
|
|
44364
|
-
React__default['default'].createElement(
|
|
44365
|
-
'div',
|
|
44366
|
-
{ className: 'flight__info' },
|
|
44367
|
-
React__default['default'].createElement(
|
|
44368
|
-
'div',
|
|
44369
|
-
{ className: 'flight__info__duration flight__info__duration--waittime' },
|
|
44370
|
-
React__default['default'].createElement(
|
|
44371
|
-
'div',
|
|
44372
|
-
{ className: 'flight__info__duration__stops flight__info__duration__stops--stoptime' },
|
|
44373
|
-
React__default['default'].createElement(Icon$1, { name: 'ui-clock', width: 24, height: 24 })
|
|
44374
|
-
),
|
|
44375
|
-
React__default['default'].createElement(
|
|
44376
|
-
'div',
|
|
44377
|
-
{ className: 'flight__info__duration__stoptime' },
|
|
44378
|
-
React__default['default'].createElement('span', null, translations.SRP.STOP_TIME),
|
|
44379
|
-
React__default['default'].createElement(
|
|
44380
|
-
'strong',
|
|
44381
|
-
null,
|
|
44382
|
-
formatDuration(dateFns.parseISO(nextLine.departureDate).getTime() - dateFns.parseISO(line.arrivalDate).getTime())
|
|
44383
|
-
)
|
|
44384
|
-
)
|
|
44385
|
-
)
|
|
44386
|
-
)
|
|
44387
|
-
);
|
|
44388
|
-
})
|
|
44389
|
-
)
|
|
44390
|
-
)
|
|
44391
|
-
),
|
|
44392
|
-
React__default['default'].createElement('div', { className: 'flight__rate' })
|
|
44393
|
-
)
|
|
44394
|
-
)
|
|
44395
|
-
);
|
|
44396
|
-
})
|
|
44397
|
-
)
|
|
44398
|
-
);
|
|
44399
|
-
};
|
|
44400
|
-
|
|
44401
44203
|
var PairedFlightOption = function (_a) {
|
|
44402
44204
|
var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u;
|
|
44403
44205
|
var item = _a.item;
|
|
@@ -44862,25 +44664,28 @@ var PairedFlightSelection = function (_a) {
|
|
|
44862
44664
|
};
|
|
44863
44665
|
|
|
44864
44666
|
var IndependentFlightOption = function (_a) {
|
|
44865
|
-
var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
|
|
44667
|
+
var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
|
|
44866
44668
|
var item = _a.item,
|
|
44867
44669
|
onSelect = _a.onSelect,
|
|
44868
44670
|
guid = _a.guid,
|
|
44869
|
-
selectedGuid = _a.selectedGuid
|
|
44870
|
-
|
|
44871
|
-
|
|
44671
|
+
selectedGuid = _a.selectedGuid,
|
|
44672
|
+
isOutward = _a.isOutward,
|
|
44673
|
+
showSelectedState = _a.showSelectedState,
|
|
44674
|
+
currentSelectedPrice = _a.currentSelectedPrice,
|
|
44675
|
+
price = _a.price;
|
|
44872
44676
|
var context = React.useContext(SearchResultsConfigurationContext);
|
|
44873
44677
|
var language = (_b = context === null || context === void 0 ? void 0 : context.languageCode) !== null && _b !== void 0 ? _b : 'en-GB';
|
|
44874
44678
|
var translations = getTranslations(language);
|
|
44875
|
-
var
|
|
44876
|
-
detailsOpen =
|
|
44877
|
-
setDetailsOpen =
|
|
44679
|
+
var _p = React.useState(false),
|
|
44680
|
+
detailsOpen = _p[0],
|
|
44681
|
+
setDetailsOpen = _p[1];
|
|
44682
|
+
var priceDifference = price && currentSelectedPrice ? price - currentSelectedPrice : null;
|
|
44878
44683
|
return React__default['default'].createElement(
|
|
44879
44684
|
'div',
|
|
44880
44685
|
{ className: 'search__result-card', key: 'flight-'.concat(item.code) },
|
|
44881
44686
|
React__default['default'].createElement(
|
|
44882
44687
|
'div',
|
|
44883
|
-
{ className: 'flight' },
|
|
44688
|
+
{ className: 'flight '.concat(showSelectedState && selectedGuid === guid ? 'flight--selected' : '') },
|
|
44884
44689
|
React__default['default'].createElement(
|
|
44885
44690
|
'div',
|
|
44886
44691
|
{ className: 'flight__option' },
|
|
@@ -44900,6 +44705,33 @@ var IndependentFlightOption = function (_a) {
|
|
|
44900
44705
|
React__default['default'].createElement(
|
|
44901
44706
|
'div',
|
|
44902
44707
|
{ className: 'flight__price' },
|
|
44708
|
+
price != null &&
|
|
44709
|
+
price > 0 &&
|
|
44710
|
+
(isOutward
|
|
44711
|
+
? React__default['default'].createElement(
|
|
44712
|
+
'span',
|
|
44713
|
+
{ className: 'price' },
|
|
44714
|
+
translations.QSM.ROUNDTRIP + ' ' + translations.SRP.PRICE,
|
|
44715
|
+
'\u00A0',
|
|
44716
|
+
formatPrice$2(
|
|
44717
|
+
price,
|
|
44718
|
+
'EUR',
|
|
44719
|
+
(_c = context === null || context === void 0 ? void 0 : context.languageCode) !== null && _c !== void 0 ? _c : 'en-GB'
|
|
44720
|
+
)
|
|
44721
|
+
)
|
|
44722
|
+
: priceDifference != null &&
|
|
44723
|
+
Math.abs(priceDifference) > 0 &&
|
|
44724
|
+
React__default['default'].createElement(
|
|
44725
|
+
'span',
|
|
44726
|
+
{ className: 'price' },
|
|
44727
|
+
priceDifference > 0 ? '+' : '-',
|
|
44728
|
+
'\u00A0',
|
|
44729
|
+
formatPrice$2(
|
|
44730
|
+
Math.abs(priceDifference),
|
|
44731
|
+
'EUR',
|
|
44732
|
+
(_d = context === null || context === void 0 ? void 0 : context.languageCode) !== null && _d !== void 0 ? _d : 'en-GB'
|
|
44733
|
+
)
|
|
44734
|
+
)),
|
|
44903
44735
|
React__default['default'].createElement(
|
|
44904
44736
|
'button',
|
|
44905
44737
|
{
|
|
@@ -44928,7 +44760,7 @@ var IndependentFlightOption = function (_a) {
|
|
|
44928
44760
|
{ className: 'flight__logo__wrapper' },
|
|
44929
44761
|
React__default['default'].createElement('img', {
|
|
44930
44762
|
src: 'https://media.tidesoftware.be/media/shared/Airlines/'.concat(
|
|
44931
|
-
(
|
|
44763
|
+
(_e = getDepartureSegment(item)) === null || _e === void 0 ? void 0 : _e.marketingAirlineCode,
|
|
44932
44764
|
'.png?height=256'
|
|
44933
44765
|
),
|
|
44934
44766
|
alt: '',
|
|
@@ -44937,7 +44769,7 @@ var IndependentFlightOption = function (_a) {
|
|
|
44937
44769
|
React__default['default'].createElement(
|
|
44938
44770
|
'span',
|
|
44939
44771
|
null,
|
|
44940
|
-
(
|
|
44772
|
+
(_f = getDepartureSegment(item)) === null || _f === void 0 ? void 0 : _f.marketingAirlineName
|
|
44941
44773
|
)
|
|
44942
44774
|
),
|
|
44943
44775
|
React__default['default'].createElement(
|
|
@@ -44949,14 +44781,14 @@ var IndependentFlightOption = function (_a) {
|
|
|
44949
44781
|
React__default['default'].createElement(
|
|
44950
44782
|
'strong',
|
|
44951
44783
|
null,
|
|
44952
|
-
timeFromDateTime((
|
|
44784
|
+
timeFromDateTime((_g = getDepartureSegment(item)) === null || _g === void 0 ? void 0 : _g.departureDateTime),
|
|
44953
44785
|
' ',
|
|
44954
|
-
(
|
|
44786
|
+
(_h = getDepartureSegment(item)) === null || _h === void 0 ? void 0 : _h.departureAirportCode
|
|
44955
44787
|
),
|
|
44956
44788
|
React__default['default'].createElement(
|
|
44957
44789
|
'p',
|
|
44958
44790
|
null,
|
|
44959
|
-
longFormatDate((
|
|
44791
|
+
longFormatDate((_j = getDepartureSegment(item)) === null || _j === void 0 ? void 0 : _j.departureDateTime, language)
|
|
44960
44792
|
)
|
|
44961
44793
|
),
|
|
44962
44794
|
React__default['default'].createElement(
|
|
@@ -44980,14 +44812,14 @@ var IndependentFlightOption = function (_a) {
|
|
|
44980
44812
|
React__default['default'].createElement(
|
|
44981
44813
|
'strong',
|
|
44982
44814
|
null,
|
|
44983
|
-
timeFromDateTime((
|
|
44815
|
+
timeFromDateTime((_k = getArrivalSegment(item)) === null || _k === void 0 ? void 0 : _k.arrivalDateTime),
|
|
44984
44816
|
' ',
|
|
44985
|
-
(
|
|
44817
|
+
(_l = getArrivalSegment(item)) === null || _l === void 0 ? void 0 : _l.arrivalAirportCode
|
|
44986
44818
|
),
|
|
44987
44819
|
React__default['default'].createElement(
|
|
44988
44820
|
'p',
|
|
44989
44821
|
null,
|
|
44990
|
-
longFormatDate((
|
|
44822
|
+
longFormatDate((_m = getArrivalSegment(item)) === null || _m === void 0 ? void 0 : _m.arrivalDateTime, language)
|
|
44991
44823
|
)
|
|
44992
44824
|
)
|
|
44993
44825
|
)
|
|
@@ -45012,9 +44844,9 @@ var IndependentFlightOption = function (_a) {
|
|
|
45012
44844
|
React__default['default'].createElement(
|
|
45013
44845
|
'div',
|
|
45014
44846
|
{ className: 'flight__detail '.concat(detailsOpen ? 'flight__detail--active' : '') },
|
|
45015
|
-
(
|
|
44847
|
+
(_o = getFlightSegments(item)) === null || _o === void 0
|
|
45016
44848
|
? void 0
|
|
45017
|
-
:
|
|
44849
|
+
: _o.map(function (segment, index) {
|
|
45018
44850
|
return React__default['default'].createElement(
|
|
45019
44851
|
React__default['default'].Fragment,
|
|
45020
44852
|
{ key: 'outward-segment-'.concat(index, '-').concat(segment.flightNumber) },
|
|
@@ -45095,14 +44927,6 @@ var IndependentFlightOption = function (_a) {
|
|
|
45095
44927
|
);
|
|
45096
44928
|
};
|
|
45097
44929
|
|
|
45098
|
-
var getFlightKey = function (segments) {
|
|
45099
|
-
if (!segments || segments.length === 0) return '';
|
|
45100
|
-
return segments
|
|
45101
|
-
.map(function (s) {
|
|
45102
|
-
return ''.concat(s.marketingAirlineCode).concat(s.flightNumber, '_').concat(s.departureDateTime);
|
|
45103
|
-
})
|
|
45104
|
-
.join('_');
|
|
45105
|
-
};
|
|
45106
44930
|
var IndependentFlightSelection = function (_a) {
|
|
45107
44931
|
var _b;
|
|
45108
44932
|
var searchResults = _a.searchResults;
|
|
@@ -47458,9 +47282,10 @@ var SearchResultsContainer = function () {
|
|
|
47458
47282
|
results = _c.results,
|
|
47459
47283
|
filteredResults = _c.filteredResults,
|
|
47460
47284
|
packagingAccoResults = _c.packagingAccoResults,
|
|
47461
|
-
filteredPackagingAccoResults = _c.filteredPackagingAccoResults
|
|
47462
|
-
|
|
47463
|
-
|
|
47285
|
+
filteredPackagingAccoResults = _c.filteredPackagingAccoResults;
|
|
47286
|
+
_c.bookingPackageDetails;
|
|
47287
|
+
var isLoading = _c.isLoading,
|
|
47288
|
+
flightsLoading = _c.flightsLoading,
|
|
47464
47289
|
filters = _c.filters,
|
|
47465
47290
|
selectedSortType = _c.selectedSortType,
|
|
47466
47291
|
selectedSearchResult = _c.selectedSearchResult,
|
|
@@ -47470,7 +47295,8 @@ var SearchResultsContainer = function () {
|
|
|
47470
47295
|
editablePackagingEntry = _c.editablePackagingEntry,
|
|
47471
47296
|
transactionId = _c.transactionId,
|
|
47472
47297
|
accommodationFlyInStep = _c.accommodationFlyInStep,
|
|
47473
|
-
itinerary = _c.itinerary
|
|
47298
|
+
itinerary = _c.itinerary,
|
|
47299
|
+
packagingFlightResults = _c.packagingFlightResults;
|
|
47474
47300
|
var isMobile = useMediaQuery('(max-width: 1200px)');
|
|
47475
47301
|
var _d = React.useState(false),
|
|
47476
47302
|
initialFiltersSet = _d[0],
|
|
@@ -47496,6 +47322,10 @@ var SearchResultsContainer = function () {
|
|
|
47496
47322
|
var _l = React.useState(null),
|
|
47497
47323
|
selectedAccommodationSeed = _l[0],
|
|
47498
47324
|
setSelectedAccommodationSeed = _l[1];
|
|
47325
|
+
var skipInitialPackagingAccoDetailsRef = React.useRef(false);
|
|
47326
|
+
var _m = React.useState(false),
|
|
47327
|
+
showAllOutwardFlights = _m[0],
|
|
47328
|
+
setShowAllOutwardFlights = _m[1];
|
|
47499
47329
|
var panelRef = React.useRef(null);
|
|
47500
47330
|
var sortByTypes = [
|
|
47501
47331
|
{ direction: 'asc', label: 'default' },
|
|
@@ -47607,7 +47437,7 @@ var SearchResultsContainer = function () {
|
|
|
47607
47437
|
};
|
|
47608
47438
|
};
|
|
47609
47439
|
var buildPackagingAccommodationRequestFromSeed = function (seed, currentTransactionId) {
|
|
47610
|
-
var _a, _b, _c, _d;
|
|
47440
|
+
var _a, _b, _c, _d, _e, _f;
|
|
47611
47441
|
var country = seed.country;
|
|
47612
47442
|
var region = seed.region;
|
|
47613
47443
|
var oord = seed.oord;
|
|
@@ -47643,11 +47473,15 @@ var SearchResultsContainer = function () {
|
|
|
47643
47473
|
}
|
|
47644
47474
|
return {
|
|
47645
47475
|
transactionId: currentTransactionId,
|
|
47646
|
-
officeId:
|
|
47647
|
-
|
|
47648
|
-
|
|
47476
|
+
officeId:
|
|
47477
|
+
(_c = (_b = context === null || context === void 0 ? void 0 : context.tideConnection) === null || _b === void 0 ? void 0 : _b.officeId) !== null &&
|
|
47478
|
+
_c !== void 0
|
|
47479
|
+
? _c
|
|
47480
|
+
: 1,
|
|
47481
|
+
agentId: (_d = context === null || context === void 0 ? void 0 : context.agentId) !== null && _d !== void 0 ? _d : null,
|
|
47482
|
+
catalogueId: (_e = context.searchConfiguration.defaultCatalogueId) !== null && _e !== void 0 ? _e : 0,
|
|
47649
47483
|
searchConfigurationId: context.searchConfiguration.id,
|
|
47650
|
-
language: (
|
|
47484
|
+
language: (_f = context.languageCode) !== null && _f !== void 0 ? _f : 'en-GB',
|
|
47651
47485
|
serviceType: ACCOMMODATION_SERVICE_TYPE,
|
|
47652
47486
|
fromDate: seed.fromDate,
|
|
47653
47487
|
toDate: seed.toDate,
|
|
@@ -47665,6 +47499,75 @@ var SearchResultsContainer = function () {
|
|
|
47665
47499
|
tagIds: tagId ? [tagId] : []
|
|
47666
47500
|
};
|
|
47667
47501
|
};
|
|
47502
|
+
var buildPackagingFlightRequestFromSeed = function (seed, currentTransactionId) {
|
|
47503
|
+
var _a, _b, _c, _d;
|
|
47504
|
+
if (typeof window !== 'undefined') {
|
|
47505
|
+
window.scrollTo(0, 0);
|
|
47506
|
+
}
|
|
47507
|
+
var adults = seed.rooms
|
|
47508
|
+
.flatMap(function (x) {
|
|
47509
|
+
return x.pax;
|
|
47510
|
+
})
|
|
47511
|
+
.filter(function (x) {
|
|
47512
|
+
return x.age >= 18;
|
|
47513
|
+
}).length;
|
|
47514
|
+
var kids = seed.rooms
|
|
47515
|
+
.flatMap(function (x) {
|
|
47516
|
+
return x.pax;
|
|
47517
|
+
})
|
|
47518
|
+
.filter(function (x) {
|
|
47519
|
+
return x.age >= 2 && x.age < 18;
|
|
47520
|
+
}).length;
|
|
47521
|
+
var babies = seed.rooms
|
|
47522
|
+
.flatMap(function (x) {
|
|
47523
|
+
return x.pax;
|
|
47524
|
+
})
|
|
47525
|
+
.filter(function (x) {
|
|
47526
|
+
return x.age < 2;
|
|
47527
|
+
}).length;
|
|
47528
|
+
return {
|
|
47529
|
+
transactionId: currentTransactionId,
|
|
47530
|
+
officeId:
|
|
47531
|
+
(_b = (_a = context === null || context === void 0 ? void 0 : context.tideConnection) === null || _a === void 0 ? void 0 : _a.officeId) !== null &&
|
|
47532
|
+
_b !== void 0
|
|
47533
|
+
? _b
|
|
47534
|
+
: 1,
|
|
47535
|
+
catalogueId:
|
|
47536
|
+
(_d = lodash.first(
|
|
47537
|
+
(_c = context === null || context === void 0 ? void 0 : context.tideConnection) === null || _c === void 0 ? void 0 : _c.catalogueIds
|
|
47538
|
+
)) !== null && _d !== void 0
|
|
47539
|
+
? _d
|
|
47540
|
+
: 0,
|
|
47541
|
+
departureAirportCode: seed.departureAirport,
|
|
47542
|
+
arrivalAirportCode: seed.destinationAirport,
|
|
47543
|
+
returnAirportCode: seed.returnAirport,
|
|
47544
|
+
luggageIncluded: null,
|
|
47545
|
+
maxStops: null,
|
|
47546
|
+
travelClass: seed.travelClass,
|
|
47547
|
+
pax: lodash.concat(
|
|
47548
|
+
Array.from({ length: adults !== null && adults !== void 0 ? adults : 0 }, function (_, index) {
|
|
47549
|
+
return {
|
|
47550
|
+
id: index,
|
|
47551
|
+
age: 31
|
|
47552
|
+
};
|
|
47553
|
+
}),
|
|
47554
|
+
Array.from({ length: kids !== null && kids !== void 0 ? kids : 0 }, function (_, index) {
|
|
47555
|
+
return {
|
|
47556
|
+
id: index + (adults !== null && adults !== void 0 ? adults : 0),
|
|
47557
|
+
age: 8
|
|
47558
|
+
};
|
|
47559
|
+
}),
|
|
47560
|
+
Array.from({ length: babies !== null && babies !== void 0 ? babies : 0 }, function (_, index) {
|
|
47561
|
+
return {
|
|
47562
|
+
id: index + (adults !== null && adults !== void 0 ? adults : 0) + (kids !== null && kids !== void 0 ? kids : 0),
|
|
47563
|
+
age: 1
|
|
47564
|
+
};
|
|
47565
|
+
})
|
|
47566
|
+
),
|
|
47567
|
+
outward: seed.fromDate ? { date: dateToDateStruct(new Date(seed.fromDate)) } : null,
|
|
47568
|
+
return: seed.toDate ? { date: dateToDateStruct(new Date(seed.toDate)) } : null
|
|
47569
|
+
};
|
|
47570
|
+
};
|
|
47668
47571
|
var buildSearchSeedFromQueryParams = function (params) {
|
|
47669
47572
|
var from = getDateFromParams(params, 'fromDate');
|
|
47670
47573
|
var to = getDateFromParams(params, 'toDate');
|
|
@@ -47677,6 +47580,8 @@ var SearchResultsContainer = function () {
|
|
|
47677
47580
|
var tagId = getNumberFromParams(params, 'tagId');
|
|
47678
47581
|
var destinationAirport = getStringFromParams(params, 'destinationAirport');
|
|
47679
47582
|
var departureAirport = getStringFromParams(params, 'departureAirport');
|
|
47583
|
+
var travelClass = getStringFromParams(params, 'travelClass');
|
|
47584
|
+
var nationality = getStringFromParams(params, 'nationality');
|
|
47680
47585
|
if (!from || !to) {
|
|
47681
47586
|
return null;
|
|
47682
47587
|
}
|
|
@@ -47692,9 +47597,66 @@ var SearchResultsContainer = function () {
|
|
|
47692
47597
|
tagId: tagId,
|
|
47693
47598
|
destinationAirport: destinationAirport,
|
|
47694
47599
|
departureAirport: departureAirport,
|
|
47600
|
+
travelClass: travelClass,
|
|
47601
|
+
nationality: nationality,
|
|
47695
47602
|
rooms: getRequestRooms(rooms)
|
|
47696
47603
|
};
|
|
47697
47604
|
};
|
|
47605
|
+
var buildSearchSeedFromAccommodationSegments = function (entry, segments) {
|
|
47606
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
|
|
47607
|
+
if (!(segments === null || segments === void 0 ? void 0 : segments.length)) return null;
|
|
47608
|
+
var sortedSegments = __spreadArray([], segments, true).sort(function (a, b) {
|
|
47609
|
+
return new Date(a.from).getTime() - new Date(b.from).getTime();
|
|
47610
|
+
});
|
|
47611
|
+
var firstSegment = lodash.first(sortedSegments);
|
|
47612
|
+
var lastSegment = lodash.last(sortedSegments);
|
|
47613
|
+
if (!firstSegment || !lastSegment) return null;
|
|
47614
|
+
return {
|
|
47615
|
+
fromDate: toDateOnlyString(firstSegment.from),
|
|
47616
|
+
toDate: toDateOnlyString(lastSegment.to),
|
|
47617
|
+
country: (_b = (_a = firstSegment.country) === null || _a === void 0 ? void 0 : _a.id) !== null && _b !== void 0 ? _b : null,
|
|
47618
|
+
region: (_d = (_c = firstSegment.region) === null || _c === void 0 ? void 0 : _c.id) !== null && _d !== void 0 ? _d : null,
|
|
47619
|
+
oord: (_f = (_e = firstSegment.oord) === null || _e === void 0 ? void 0 : _e.id) !== null && _f !== void 0 ? _f : null,
|
|
47620
|
+
location: (_h = (_g = firstSegment.location) === null || _g === void 0 ? void 0 : _g.id) !== null && _h !== void 0 ? _h : null,
|
|
47621
|
+
hotel: parseHotelId(firstSegment),
|
|
47622
|
+
hotelCode: (_j = firstSegment.productCode) !== null && _j !== void 0 ? _j : null,
|
|
47623
|
+
tagId: null,
|
|
47624
|
+
destinationAirport: getDestinationAirportFromEntry((_k = entry.lines) !== null && _k !== void 0 ? _k : []),
|
|
47625
|
+
departureAirport: getDepartureAirportFromEntry((_l = entry.lines) !== null && _l !== void 0 ? _l : []),
|
|
47626
|
+
rooms: getRequestRoomsFromPackagingSegments(entry, sortedSegments)
|
|
47627
|
+
};
|
|
47628
|
+
};
|
|
47629
|
+
var handleEditAccommodation = function (segments) {
|
|
47630
|
+
return __awaiter(void 0, void 0, void 0, function () {
|
|
47631
|
+
var sourceEntry, seed, currentTransactionId;
|
|
47632
|
+
return __generator(this, function (_a) {
|
|
47633
|
+
switch (_a.label) {
|
|
47634
|
+
case 0:
|
|
47635
|
+
sourceEntry =
|
|
47636
|
+
editablePackagingEntry !== null && editablePackagingEntry !== void 0
|
|
47637
|
+
? editablePackagingEntry
|
|
47638
|
+
: context === null || context === void 0
|
|
47639
|
+
? void 0
|
|
47640
|
+
: context.packagingEntry;
|
|
47641
|
+
if (!sourceEntry) return [2 /*return*/];
|
|
47642
|
+
seed = buildSearchSeedFromAccommodationSegments(sourceEntry, segments);
|
|
47643
|
+
if (!seed) return [2 /*return*/];
|
|
47644
|
+
setDetailsIsLoading(true);
|
|
47645
|
+
setSelectedAccommodationSeed(seed);
|
|
47646
|
+
dispatch(setAccommodationFlyInStep('results'));
|
|
47647
|
+
handleFlyInToggle(true);
|
|
47648
|
+
return [4 /*yield*/, getOrCreateTransactionId()];
|
|
47649
|
+
case 1:
|
|
47650
|
+
currentTransactionId = _a.sent();
|
|
47651
|
+
return [4 /*yield*/, runAccommodationFlow(seed, currentTransactionId !== null && currentTransactionId !== void 0 ? currentTransactionId : '')];
|
|
47652
|
+
case 2:
|
|
47653
|
+
_a.sent();
|
|
47654
|
+
setDetailsIsLoading(false);
|
|
47655
|
+
return [2 /*return*/];
|
|
47656
|
+
}
|
|
47657
|
+
});
|
|
47658
|
+
});
|
|
47659
|
+
};
|
|
47698
47660
|
var handleConfirmHotelSwap = function () {
|
|
47699
47661
|
var updatedEntry = swapHotelInPackagingEntry();
|
|
47700
47662
|
if (!updatedEntry) return;
|
|
@@ -47795,6 +47757,25 @@ var SearchResultsContainer = function () {
|
|
|
47795
47757
|
},
|
|
47796
47758
|
[filtersOpen]
|
|
47797
47759
|
);
|
|
47760
|
+
var getOrCreateTransactionId = function () {
|
|
47761
|
+
return __awaiter(void 0, void 0, void 0, function () {
|
|
47762
|
+
var _a;
|
|
47763
|
+
return __generator(this, function (_b) {
|
|
47764
|
+
switch (_b.label) {
|
|
47765
|
+
case 0:
|
|
47766
|
+
if ((_a = context === null || context === void 0 ? void 0 : context.packagingEntry) === null || _a === void 0 ? void 0 : _a.transactionId) {
|
|
47767
|
+
return [2 /*return*/, context.packagingEntry.transactionId];
|
|
47768
|
+
}
|
|
47769
|
+
if (transactionId) {
|
|
47770
|
+
return [2 /*return*/, transactionId];
|
|
47771
|
+
}
|
|
47772
|
+
return [4 /*yield*/, runStartTransaction()];
|
|
47773
|
+
case 1:
|
|
47774
|
+
return [2 /*return*/, _b.sent()];
|
|
47775
|
+
}
|
|
47776
|
+
});
|
|
47777
|
+
});
|
|
47778
|
+
};
|
|
47798
47779
|
var runSearch = function () {
|
|
47799
47780
|
return __awaiter(void 0, void 0, void 0, function () {
|
|
47800
47781
|
var config, seed, searchRequest, packageSearchResults, enrichedFilters, initialFilteredResults, err_1;
|
|
@@ -47853,6 +47834,7 @@ var SearchResultsContainer = function () {
|
|
|
47853
47834
|
case 0:
|
|
47854
47835
|
_a.trys.push([0, 2, , 3]);
|
|
47855
47836
|
if (!context) return [2 /*return*/, null];
|
|
47837
|
+
dispatch(setIsLoading(true));
|
|
47856
47838
|
config = {
|
|
47857
47839
|
host: context.tideConnection.host,
|
|
47858
47840
|
apiKey: context.tideConnection.apiKey
|
|
@@ -47860,12 +47842,13 @@ var SearchResultsContainer = function () {
|
|
|
47860
47842
|
return [4 /*yield*/, build.startTransaction(config)];
|
|
47861
47843
|
case 1:
|
|
47862
47844
|
transaction = _a.sent();
|
|
47863
|
-
console.log('Transaction started', transaction);
|
|
47864
47845
|
dispatch(setTransactionId(transaction.transactionId));
|
|
47846
|
+
dispatch(setIsLoading(false));
|
|
47865
47847
|
return [2 /*return*/, transaction.transactionId];
|
|
47866
47848
|
case 2:
|
|
47867
47849
|
err_2 = _a.sent();
|
|
47868
47850
|
console.error('Transaction failed', err_2);
|
|
47851
|
+
dispatch(setIsLoading(false));
|
|
47869
47852
|
return [2 /*return*/, null];
|
|
47870
47853
|
case 3:
|
|
47871
47854
|
return [2 /*return*/];
|
|
@@ -47876,11 +47859,11 @@ var SearchResultsContainer = function () {
|
|
|
47876
47859
|
var runHotelSearch = function (currentTransactionId, seed) {
|
|
47877
47860
|
return __awaiter(void 0, void 0, void 0, function () {
|
|
47878
47861
|
var config, searchRequest, packageAccoSearchResults, enrichedFilters, initialFilteredResults, err_3;
|
|
47879
|
-
var _a;
|
|
47880
|
-
return __generator(this, function (
|
|
47881
|
-
switch (
|
|
47862
|
+
var _a, _b, _c;
|
|
47863
|
+
return __generator(this, function (_d) {
|
|
47864
|
+
switch (_d.label) {
|
|
47882
47865
|
case 0:
|
|
47883
|
-
|
|
47866
|
+
_d.trys.push([0, 2, , 3]);
|
|
47884
47867
|
if (!context) return [2 /*return*/];
|
|
47885
47868
|
dispatch(setIsLoading(true));
|
|
47886
47869
|
config = {
|
|
@@ -47892,7 +47875,7 @@ var SearchResultsContainer = function () {
|
|
|
47892
47875
|
searchRequest.agentId = context.agentId;
|
|
47893
47876
|
return [4 /*yield*/, build.searchPackagingAccommodations(config, searchRequest)];
|
|
47894
47877
|
case 1:
|
|
47895
|
-
packageAccoSearchResults =
|
|
47878
|
+
packageAccoSearchResults = _d.sent();
|
|
47896
47879
|
enrichedFilters = enrichFiltersWithPackageAccoResults(
|
|
47897
47880
|
packageAccoSearchResults,
|
|
47898
47881
|
context.filters,
|
|
@@ -47906,11 +47889,19 @@ var SearchResultsContainer = function () {
|
|
|
47906
47889
|
dispatch(setPackagingAccoResults(packageAccoSearchResults));
|
|
47907
47890
|
initialFilteredResults = applyFiltersToPackageAccoResults(packageAccoSearchResults, filters, null);
|
|
47908
47891
|
dispatch(setFilteredPackagingAccoResults(initialFilteredResults));
|
|
47892
|
+
if (initialFilteredResults.length > 0) {
|
|
47893
|
+
skipInitialPackagingAccoDetailsRef.current = true;
|
|
47894
|
+
dispatch(
|
|
47895
|
+
setSelectedPackagingAccoResult(
|
|
47896
|
+
(_c = (_b = lodash.first(initialFilteredResults)) === null || _b === void 0 ? void 0 : _b.code) !== null && _c !== void 0 ? _c : null
|
|
47897
|
+
)
|
|
47898
|
+
);
|
|
47899
|
+
}
|
|
47909
47900
|
dispatch(setIsLoading(false));
|
|
47910
47901
|
return [3 /*break*/, 3];
|
|
47911
47902
|
case 2:
|
|
47912
|
-
err_3 =
|
|
47913
|
-
console.error('
|
|
47903
|
+
err_3 = _d.sent();
|
|
47904
|
+
console.error('HotelSearch failed', err_3);
|
|
47914
47905
|
dispatch(setIsLoading(false));
|
|
47915
47906
|
return [3 /*break*/, 3];
|
|
47916
47907
|
case 3:
|
|
@@ -47919,31 +47910,66 @@ var SearchResultsContainer = function () {
|
|
|
47919
47910
|
});
|
|
47920
47911
|
});
|
|
47921
47912
|
};
|
|
47922
|
-
var runAccommodationFlow = function (seed) {
|
|
47913
|
+
var runAccommodationFlow = function (seed, currentTransactionId) {
|
|
47923
47914
|
return __awaiter(void 0, void 0, void 0, function () {
|
|
47924
|
-
|
|
47925
|
-
|
|
47926
|
-
return __generator(this, function (_b) {
|
|
47927
|
-
switch (_b.label) {
|
|
47915
|
+
return __generator(this, function (_a) {
|
|
47916
|
+
switch (_a.label) {
|
|
47928
47917
|
case 0:
|
|
47929
47918
|
if (!context || context.showMockup) return [2 /*return*/];
|
|
47930
|
-
currentTransactionId
|
|
47931
|
-
((_a = context === null || context === void 0 ? void 0 : context.packagingEntry) === null || _a === void 0 ? void 0 : _a.transactionId) ||
|
|
47932
|
-
transactionId;
|
|
47933
|
-
if (!!currentTransactionId) return [3 /*break*/, 2];
|
|
47934
|
-
dispatch(setIsLoading(true));
|
|
47935
|
-
return [4 /*yield*/, runStartTransaction()];
|
|
47919
|
+
return [4 /*yield*/, runHotelSearch(currentTransactionId, seed)];
|
|
47936
47920
|
case 1:
|
|
47937
|
-
|
|
47938
|
-
|
|
47939
|
-
|
|
47940
|
-
|
|
47941
|
-
|
|
47942
|
-
|
|
47921
|
+
_a.sent();
|
|
47922
|
+
return [2 /*return*/];
|
|
47923
|
+
}
|
|
47924
|
+
});
|
|
47925
|
+
});
|
|
47926
|
+
};
|
|
47927
|
+
var runFlightSearch = function (currentTransactionId, seed) {
|
|
47928
|
+
return __awaiter(void 0, void 0, void 0, function () {
|
|
47929
|
+
var config, searchRequest, packageFlightSearchResults, firstResult, err_4;
|
|
47930
|
+
return __generator(this, function (_a) {
|
|
47931
|
+
switch (_a.label) {
|
|
47932
|
+
case 0:
|
|
47933
|
+
_a.trys.push([0, 2, , 3]);
|
|
47934
|
+
if (!context) return [2 /*return*/];
|
|
47935
|
+
dispatch(setFlightsLoading(true));
|
|
47936
|
+
config = {
|
|
47937
|
+
host: context.tideConnection.host,
|
|
47938
|
+
apiKey: context.tideConnection.apiKey
|
|
47939
|
+
};
|
|
47940
|
+
searchRequest = buildPackagingFlightRequestFromSeed(seed, currentTransactionId);
|
|
47941
|
+
searchRequest.agentId = context.agentId;
|
|
47942
|
+
return [4 /*yield*/, build.searchPackagingFlights(config, searchRequest)];
|
|
47943
|
+
case 1:
|
|
47944
|
+
packageFlightSearchResults = _a.sent();
|
|
47945
|
+
dispatch(setPackagingFlightResults(packageFlightSearchResults));
|
|
47946
|
+
firstResult = lodash.first(packageFlightSearchResults);
|
|
47947
|
+
if (firstResult) {
|
|
47948
|
+
setSelectedOutwardKey(getFlightKey(firstResult.outward.segments));
|
|
47949
|
+
setSelectedReturnKey(getFlightKey(firstResult.return.segments));
|
|
47943
47950
|
}
|
|
47944
|
-
|
|
47951
|
+
dispatch(setFlightsLoading(false));
|
|
47952
|
+
return [3 /*break*/, 3];
|
|
47953
|
+
case 2:
|
|
47954
|
+
err_4 = _a.sent();
|
|
47955
|
+
console.error('FlightSearch failed', err_4);
|
|
47956
|
+
dispatch(setFlightsLoading(false));
|
|
47957
|
+
return [3 /*break*/, 3];
|
|
47945
47958
|
case 3:
|
|
47946
|
-
|
|
47959
|
+
return [2 /*return*/];
|
|
47960
|
+
}
|
|
47961
|
+
});
|
|
47962
|
+
});
|
|
47963
|
+
};
|
|
47964
|
+
var runFlightFlow = function (seed, currentTransactionId) {
|
|
47965
|
+
return __awaiter(void 0, void 0, void 0, function () {
|
|
47966
|
+
return __generator(this, function (_a) {
|
|
47967
|
+
switch (_a.label) {
|
|
47968
|
+
case 0:
|
|
47969
|
+
if (!context || context.showMockup) return [2 /*return*/];
|
|
47970
|
+
return [4 /*yield*/, runFlightSearch(currentTransactionId, seed)];
|
|
47971
|
+
case 1:
|
|
47972
|
+
_a.sent();
|
|
47947
47973
|
return [2 /*return*/];
|
|
47948
47974
|
}
|
|
47949
47975
|
});
|
|
@@ -47960,20 +47986,60 @@ var SearchResultsContainer = function () {
|
|
|
47960
47986
|
runSearch();
|
|
47961
47987
|
}
|
|
47962
47988
|
if ((context === null || context === void 0 ? void 0 : context.searchConfiguration.qsmType) === build.PortalQsmType.Accommodation) {
|
|
47963
|
-
var
|
|
47964
|
-
if (
|
|
47965
|
-
|
|
47989
|
+
var seed_1 = activeSearchSeed;
|
|
47990
|
+
if (seed_1) {
|
|
47991
|
+
(function () {
|
|
47992
|
+
return __awaiter(void 0, void 0, void 0, function () {
|
|
47993
|
+
var transactionId;
|
|
47994
|
+
return __generator(this, function (_a) {
|
|
47995
|
+
switch (_a.label) {
|
|
47996
|
+
case 0:
|
|
47997
|
+
return [4 /*yield*/, getOrCreateTransactionId()];
|
|
47998
|
+
case 1:
|
|
47999
|
+
transactionId = _a.sent();
|
|
48000
|
+
if (!transactionId) return [2 /*return*/];
|
|
48001
|
+
return [4 /*yield*/, runAccommodationFlow(seed_1, transactionId)];
|
|
48002
|
+
case 2:
|
|
48003
|
+
_a.sent();
|
|
48004
|
+
return [2 /*return*/];
|
|
48005
|
+
}
|
|
48006
|
+
});
|
|
48007
|
+
});
|
|
48008
|
+
})();
|
|
47966
48009
|
}
|
|
47967
48010
|
}
|
|
47968
48011
|
if (
|
|
47969
48012
|
(context === null || context === void 0 ? void 0 : context.searchConfiguration.qsmType) === build.PortalQsmType.AccommodationAndFlight &&
|
|
47970
48013
|
context.searchConfiguration.enableManualPackaging &&
|
|
47971
|
-
context.searchConfiguration.allowAccommodations &&
|
|
47972
48014
|
!(context === null || context === void 0 ? void 0 : context.packagingEntry)
|
|
47973
48015
|
) {
|
|
47974
|
-
var
|
|
47975
|
-
if (
|
|
47976
|
-
|
|
48016
|
+
var seed_2 = activeSearchSeed;
|
|
48017
|
+
if (seed_2) {
|
|
48018
|
+
(function () {
|
|
48019
|
+
return __awaiter(void 0, void 0, void 0, function () {
|
|
48020
|
+
var sharedTransactionId, tasks;
|
|
48021
|
+
return __generator(this, function (_a) {
|
|
48022
|
+
switch (_a.label) {
|
|
48023
|
+
case 0:
|
|
48024
|
+
return [4 /*yield*/, getOrCreateTransactionId()];
|
|
48025
|
+
case 1:
|
|
48026
|
+
sharedTransactionId = _a.sent();
|
|
48027
|
+
if (!sharedTransactionId) return [2 /*return*/];
|
|
48028
|
+
tasks = [];
|
|
48029
|
+
if (context.searchConfiguration.allowAccommodations) {
|
|
48030
|
+
tasks.push(runAccommodationFlow(seed_2, sharedTransactionId));
|
|
48031
|
+
}
|
|
48032
|
+
if (context.searchConfiguration.allowFlights) {
|
|
48033
|
+
tasks.push(runFlightFlow(seed_2, sharedTransactionId));
|
|
48034
|
+
}
|
|
48035
|
+
return [4 /*yield*/, Promise.all(tasks)];
|
|
48036
|
+
case 2:
|
|
48037
|
+
_a.sent();
|
|
48038
|
+
return [2 /*return*/];
|
|
48039
|
+
}
|
|
48040
|
+
});
|
|
48041
|
+
});
|
|
48042
|
+
})();
|
|
47977
48043
|
}
|
|
47978
48044
|
}
|
|
47979
48045
|
},
|
|
@@ -47990,7 +48056,6 @@ var SearchResultsContainer = function () {
|
|
|
47990
48056
|
React.useEffect(
|
|
47991
48057
|
function () {
|
|
47992
48058
|
if (context === null || context === void 0 ? void 0 : context.packagingEntry) {
|
|
47993
|
-
console.log('original packaging entry from context', context.packagingEntry);
|
|
47994
48059
|
dispatch(setEditablePackagingEntry(structuredClone(context.packagingEntry)));
|
|
47995
48060
|
dispatch(setTransactionId(context.packagingEntry.transactionId));
|
|
47996
48061
|
}
|
|
@@ -48002,7 +48067,7 @@ var SearchResultsContainer = function () {
|
|
|
48002
48067
|
function () {
|
|
48003
48068
|
var fetchDetails = function () {
|
|
48004
48069
|
return __awaiter(void 0, void 0, void 0, function () {
|
|
48005
|
-
var config, selectedItem, requestRooms, seed, detailsRequest, detailsResponse,
|
|
48070
|
+
var config, selectedItem, requestRooms, seed, detailsRequest, detailsResponse, err_5;
|
|
48006
48071
|
var _a;
|
|
48007
48072
|
return __generator(this, function (_b) {
|
|
48008
48073
|
switch (_b.label) {
|
|
@@ -48065,8 +48130,8 @@ var SearchResultsContainer = function () {
|
|
|
48065
48130
|
setDetailsIsLoading(false);
|
|
48066
48131
|
return [3 /*break*/, 4];
|
|
48067
48132
|
case 3:
|
|
48068
|
-
|
|
48069
|
-
console.error('Failed to fetch package details',
|
|
48133
|
+
err_5 = _b.sent();
|
|
48134
|
+
console.error('Failed to fetch package details', err_5);
|
|
48070
48135
|
setDetailsIsLoading(false);
|
|
48071
48136
|
return [3 /*break*/, 4];
|
|
48072
48137
|
case 4:
|
|
@@ -48091,12 +48156,16 @@ var SearchResultsContainer = function () {
|
|
|
48091
48156
|
destinationIsAirport,
|
|
48092
48157
|
detailSearchRequest,
|
|
48093
48158
|
packageAccoSearchDetails,
|
|
48094
|
-
|
|
48159
|
+
err_6;
|
|
48095
48160
|
var _a, _b, _c, _d, _e;
|
|
48096
48161
|
return __generator(this, function (_f) {
|
|
48097
48162
|
switch (_f.label) {
|
|
48098
48163
|
case 0:
|
|
48099
48164
|
if (!selectedPackagingAccoResultCode || !context) return [2 /*return*/];
|
|
48165
|
+
if (skipInitialPackagingAccoDetailsRef.current) {
|
|
48166
|
+
skipInitialPackagingAccoDetailsRef.current = false;
|
|
48167
|
+
return [2 /*return*/];
|
|
48168
|
+
}
|
|
48100
48169
|
setDetailsIsLoading(true);
|
|
48101
48170
|
if (
|
|
48102
48171
|
(context === null || context === void 0 ? void 0 : context.searchConfiguration.qsmType) === build.PortalQsmType.Accommodation ||
|
|
@@ -48179,8 +48248,8 @@ var SearchResultsContainer = function () {
|
|
|
48179
48248
|
setDetailsIsLoading(false);
|
|
48180
48249
|
return [3 /*break*/, 4];
|
|
48181
48250
|
case 3:
|
|
48182
|
-
|
|
48183
|
-
console.error('Failed to fetch package details',
|
|
48251
|
+
err_6 = _f.sent();
|
|
48252
|
+
console.error('Failed to fetch package details', err_6);
|
|
48184
48253
|
setDetailsIsLoading(false);
|
|
48185
48254
|
return [3 /*break*/, 4];
|
|
48186
48255
|
case 4:
|
|
@@ -48217,84 +48286,40 @@ var SearchResultsContainer = function () {
|
|
|
48217
48286
|
},
|
|
48218
48287
|
[activeSearchSeed]
|
|
48219
48288
|
);
|
|
48220
|
-
var handleEditAccommodation = function (segments) {
|
|
48221
|
-
return __awaiter(void 0, void 0, void 0, function () {
|
|
48222
|
-
var sourceEntry, seed;
|
|
48223
|
-
return __generator(this, function (_a) {
|
|
48224
|
-
switch (_a.label) {
|
|
48225
|
-
case 0:
|
|
48226
|
-
sourceEntry =
|
|
48227
|
-
editablePackagingEntry !== null && editablePackagingEntry !== void 0
|
|
48228
|
-
? editablePackagingEntry
|
|
48229
|
-
: context === null || context === void 0
|
|
48230
|
-
? void 0
|
|
48231
|
-
: context.packagingEntry;
|
|
48232
|
-
if (!sourceEntry) return [2 /*return*/];
|
|
48233
|
-
seed = buildSearchSeedFromAccommodationSegments(sourceEntry, segments);
|
|
48234
|
-
if (!seed) return [2 /*return*/];
|
|
48235
|
-
setDetailsIsLoading(true);
|
|
48236
|
-
setSelectedAccommodationSeed(seed);
|
|
48237
|
-
dispatch(setAccommodationFlyInStep('results'));
|
|
48238
|
-
handleFlyInToggle(true);
|
|
48239
|
-
return [4 /*yield*/, runAccommodationFlow(seed)];
|
|
48240
|
-
case 1:
|
|
48241
|
-
_a.sent();
|
|
48242
|
-
setDetailsIsLoading(false);
|
|
48243
|
-
return [2 /*return*/];
|
|
48244
|
-
}
|
|
48245
|
-
});
|
|
48246
|
-
});
|
|
48247
|
-
};
|
|
48248
|
-
var buildSearchSeedFromAccommodationSegments = function (entry, segments) {
|
|
48249
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
|
|
48250
|
-
if (!(segments === null || segments === void 0 ? void 0 : segments.length)) return null;
|
|
48251
|
-
var sortedSegments = __spreadArray([], segments, true).sort(function (a, b) {
|
|
48252
|
-
return new Date(a.from).getTime() - new Date(b.from).getTime();
|
|
48253
|
-
});
|
|
48254
|
-
var firstSegment = lodash.first(sortedSegments);
|
|
48255
|
-
var lastSegment = lodash.last(sortedSegments);
|
|
48256
|
-
if (!firstSegment || !lastSegment) return null;
|
|
48257
|
-
return {
|
|
48258
|
-
fromDate: toDateOnlyString(firstSegment.from),
|
|
48259
|
-
toDate: toDateOnlyString(lastSegment.to),
|
|
48260
|
-
country: (_b = (_a = firstSegment.country) === null || _a === void 0 ? void 0 : _a.id) !== null && _b !== void 0 ? _b : null,
|
|
48261
|
-
region: (_d = (_c = firstSegment.region) === null || _c === void 0 ? void 0 : _c.id) !== null && _d !== void 0 ? _d : null,
|
|
48262
|
-
oord: (_f = (_e = firstSegment.oord) === null || _e === void 0 ? void 0 : _e.id) !== null && _f !== void 0 ? _f : null,
|
|
48263
|
-
location: (_h = (_g = firstSegment.location) === null || _g === void 0 ? void 0 : _g.id) !== null && _h !== void 0 ? _h : null,
|
|
48264
|
-
hotel: parseHotelId(firstSegment),
|
|
48265
|
-
hotelCode: (_j = firstSegment.productCode) !== null && _j !== void 0 ? _j : null,
|
|
48266
|
-
tagId: null,
|
|
48267
|
-
destinationAirport: getDestinationAirportFromEntry((_k = entry.lines) !== null && _k !== void 0 ? _k : []),
|
|
48268
|
-
departureAirport: getDepartureAirportFromEntry((_l = entry.lines) !== null && _l !== void 0 ? _l : []),
|
|
48269
|
-
rooms: getRequestRoomsFromPackagingSegments(entry, sortedSegments)
|
|
48270
|
-
};
|
|
48271
|
-
};
|
|
48272
48289
|
React.useEffect(
|
|
48273
48290
|
function () {
|
|
48274
48291
|
var fetchPriceDetails = function () {
|
|
48275
48292
|
return __awaiter(void 0, void 0, void 0, function () {
|
|
48276
|
-
var config, priceDetails,
|
|
48277
|
-
|
|
48278
|
-
|
|
48293
|
+
var config, request, priceDetails, err_7;
|
|
48294
|
+
var _a, _b;
|
|
48295
|
+
return __generator(this, function (_c) {
|
|
48296
|
+
switch (_c.label) {
|
|
48279
48297
|
case 0:
|
|
48280
|
-
if (!context || !editablePackagingEntry) return [2 /*return*/];
|
|
48298
|
+
if (!context || !editablePackagingEntry || lodash.isEmpty(editablePackagingEntry.lines)) return [2 /*return*/];
|
|
48281
48299
|
setPricesAreLoading(true);
|
|
48282
|
-
|
|
48300
|
+
_c.label = 1;
|
|
48283
48301
|
case 1:
|
|
48284
|
-
|
|
48302
|
+
_c.trys.push([1, 3, , 4]);
|
|
48285
48303
|
config = {
|
|
48286
48304
|
host: context.tideConnection.host,
|
|
48287
48305
|
apiKey: context.tideConnection.apiKey
|
|
48288
48306
|
};
|
|
48289
|
-
|
|
48307
|
+
request = {
|
|
48308
|
+
language: (_a = context.languageCode) !== null && _a !== void 0 ? _a : 'en-GB',
|
|
48309
|
+
officeId: context.tideConnection.officeId,
|
|
48310
|
+
catalogueId: (_b = context.searchConfiguration.defaultCatalogueId) !== null && _b !== void 0 ? _b : 0,
|
|
48311
|
+
agentId: context.agentId,
|
|
48312
|
+
payload: editablePackagingEntry
|
|
48313
|
+
};
|
|
48314
|
+
return [4 /*yield*/, build.getPriceDetails(config, request)];
|
|
48290
48315
|
case 2:
|
|
48291
|
-
priceDetails =
|
|
48316
|
+
priceDetails = _c.sent();
|
|
48292
48317
|
dispatch(setPriceDetails(priceDetails));
|
|
48293
48318
|
setPricesAreLoading(false);
|
|
48294
48319
|
return [3 /*break*/, 4];
|
|
48295
48320
|
case 3:
|
|
48296
|
-
|
|
48297
|
-
console.error('Error fetching price details',
|
|
48321
|
+
err_7 = _c.sent();
|
|
48322
|
+
console.error('Error fetching price details', err_7);
|
|
48298
48323
|
setPricesAreLoading(false);
|
|
48299
48324
|
return [3 /*break*/, 4];
|
|
48300
48325
|
case 4:
|
|
@@ -48305,30 +48330,37 @@ var SearchResultsContainer = function () {
|
|
|
48305
48330
|
};
|
|
48306
48331
|
var fetchItinerary = function () {
|
|
48307
48332
|
return __awaiter(void 0, void 0, void 0, function () {
|
|
48308
|
-
var config, itinerary_1,
|
|
48309
|
-
|
|
48310
|
-
|
|
48333
|
+
var config, request, itinerary_1, err_8;
|
|
48334
|
+
var _a, _b;
|
|
48335
|
+
return __generator(this, function (_c) {
|
|
48336
|
+
switch (_c.label) {
|
|
48311
48337
|
case 0:
|
|
48312
|
-
|
|
48313
|
-
if (!context || !editablePackagingEntry) return [2 /*return*/];
|
|
48338
|
+
if (!context || !context.packagingEntry || !editablePackagingEntry || lodash.isEmpty(editablePackagingEntry.lines)) return [2 /*return*/];
|
|
48314
48339
|
setItineraryIsLoading(true);
|
|
48315
|
-
|
|
48340
|
+
_c.label = 1;
|
|
48316
48341
|
case 1:
|
|
48317
|
-
|
|
48342
|
+
_c.trys.push([1, 3, , 4]);
|
|
48318
48343
|
config = {
|
|
48319
48344
|
host: context.tideConnection.host,
|
|
48320
48345
|
apiKey: context.tideConnection.apiKey
|
|
48321
48346
|
};
|
|
48322
|
-
|
|
48347
|
+
request = {
|
|
48348
|
+
language: (_a = context.languageCode) !== null && _a !== void 0 ? _a : 'en-GB',
|
|
48349
|
+
officeId: context.tideConnection.officeId,
|
|
48350
|
+
catalogueId: (_b = context.searchConfiguration.defaultCatalogueId) !== null && _b !== void 0 ? _b : 0,
|
|
48351
|
+
agentId: context.agentId,
|
|
48352
|
+
payload: editablePackagingEntry
|
|
48353
|
+
};
|
|
48354
|
+
return [4 /*yield*/, build.getItinerary(config, request)];
|
|
48323
48355
|
case 2:
|
|
48324
|
-
itinerary_1 =
|
|
48356
|
+
itinerary_1 = _c.sent();
|
|
48325
48357
|
console.log('Fetched itinerary', itinerary_1);
|
|
48326
48358
|
dispatch(setItinerary(itinerary_1));
|
|
48327
48359
|
setItineraryIsLoading(false);
|
|
48328
48360
|
return [3 /*break*/, 4];
|
|
48329
48361
|
case 3:
|
|
48330
|
-
|
|
48331
|
-
console.error('Error fetching itinerary',
|
|
48362
|
+
err_8 = _c.sent();
|
|
48363
|
+
console.error('Error fetching itinerary', err_8);
|
|
48332
48364
|
setItineraryIsLoading(false);
|
|
48333
48365
|
return [3 /*break*/, 4];
|
|
48334
48366
|
case 4:
|
|
@@ -48342,6 +48374,399 @@ var SearchResultsContainer = function () {
|
|
|
48342
48374
|
},
|
|
48343
48375
|
[editablePackagingEntry]
|
|
48344
48376
|
);
|
|
48377
|
+
// Flight selection
|
|
48378
|
+
var _o = React.useState(null),
|
|
48379
|
+
selectedOutwardKey = _o[0],
|
|
48380
|
+
setSelectedOutwardKey = _o[1];
|
|
48381
|
+
var _p = React.useState(null),
|
|
48382
|
+
selectedReturnKey = _p[0],
|
|
48383
|
+
setSelectedReturnKey = _p[1];
|
|
48384
|
+
var uniqueOutwardFlights = React__default['default'].useMemo(
|
|
48385
|
+
function () {
|
|
48386
|
+
var map = new Map();
|
|
48387
|
+
packagingFlightResults.forEach(function (flight) {
|
|
48388
|
+
var key = getFlightKey(flight.outward.segments);
|
|
48389
|
+
if (!map.has(key)) {
|
|
48390
|
+
map.set(key, flight);
|
|
48391
|
+
}
|
|
48392
|
+
});
|
|
48393
|
+
return Array.from(map.values());
|
|
48394
|
+
},
|
|
48395
|
+
[packagingFlightResults]
|
|
48396
|
+
);
|
|
48397
|
+
var _q = React.useState([]),
|
|
48398
|
+
uniqueReturnFlights = _q[0],
|
|
48399
|
+
setUniqueReturnFlights = _q[1];
|
|
48400
|
+
React.useEffect(
|
|
48401
|
+
function () {
|
|
48402
|
+
var _a;
|
|
48403
|
+
if (!selectedOutwardKey) {
|
|
48404
|
+
setUniqueReturnFlights([]);
|
|
48405
|
+
setSelectedReturnKey(null);
|
|
48406
|
+
return;
|
|
48407
|
+
}
|
|
48408
|
+
// Filter combinations that match selected outward fare
|
|
48409
|
+
var matchingCombinations = packagingFlightResults.filter(function (flight) {
|
|
48410
|
+
return getFlightKey(flight.outward.segments) === selectedOutwardKey;
|
|
48411
|
+
});
|
|
48412
|
+
var returnMap = new Map();
|
|
48413
|
+
matchingCombinations.forEach(function (flight) {
|
|
48414
|
+
var key = getFlightKey(flight.return.segments);
|
|
48415
|
+
if (!returnMap.has(key)) {
|
|
48416
|
+
returnMap.set(key, flight);
|
|
48417
|
+
}
|
|
48418
|
+
});
|
|
48419
|
+
var returns = Array.from(returnMap.values());
|
|
48420
|
+
setUniqueReturnFlights(returns);
|
|
48421
|
+
var firstReturnKey = returns.length > 0 ? getFlightKey((_a = lodash.first(returns)) === null || _a === void 0 ? void 0 : _a.return.segments) : null;
|
|
48422
|
+
if (firstReturnKey) {
|
|
48423
|
+
setSelectedReturnKey(firstReturnKey);
|
|
48424
|
+
}
|
|
48425
|
+
},
|
|
48426
|
+
[selectedOutwardKey, packagingFlightResults]
|
|
48427
|
+
);
|
|
48428
|
+
var selectedOutward = React__default['default'].useMemo(
|
|
48429
|
+
function () {
|
|
48430
|
+
if (!selectedOutwardKey) return null;
|
|
48431
|
+
return (
|
|
48432
|
+
packagingFlightResults.find(function (flight) {
|
|
48433
|
+
return getFlightKey(flight.outward.segments) === selectedOutwardKey;
|
|
48434
|
+
}) || null
|
|
48435
|
+
);
|
|
48436
|
+
},
|
|
48437
|
+
[packagingFlightResults, selectedOutwardKey]
|
|
48438
|
+
);
|
|
48439
|
+
var selectedReturn = React__default['default'].useMemo(
|
|
48440
|
+
function () {
|
|
48441
|
+
if (!selectedReturnKey) return null;
|
|
48442
|
+
return (
|
|
48443
|
+
packagingFlightResults.find(function (flight) {
|
|
48444
|
+
return getFlightKey(flight.return.segments) === selectedReturnKey;
|
|
48445
|
+
}) || null
|
|
48446
|
+
);
|
|
48447
|
+
},
|
|
48448
|
+
[packagingFlightResults, selectedReturnKey]
|
|
48449
|
+
);
|
|
48450
|
+
var selectedCombinationFlight = React__default['default'].useMemo(
|
|
48451
|
+
function () {
|
|
48452
|
+
if (!selectedOutwardKey || !selectedReturnKey) return undefined;
|
|
48453
|
+
return packagingFlightResults.find(function (flight) {
|
|
48454
|
+
return getFlightKey(flight.outward.segments) === selectedOutwardKey && getFlightKey(flight.return.segments) === selectedReturnKey;
|
|
48455
|
+
});
|
|
48456
|
+
},
|
|
48457
|
+
[packagingFlightResults, selectedOutwardKey, selectedReturnKey]
|
|
48458
|
+
);
|
|
48459
|
+
// TODO: get details for selected combination flight and show in fly-in
|
|
48460
|
+
// useEffect(() => {
|
|
48461
|
+
// if (!selectedCombinationFlight) return;
|
|
48462
|
+
// dispatch(setSelectedPackagingFlight(selectedCombinationFlight));
|
|
48463
|
+
// // onFlightSearch(selectedCombinationFlight); // Trigger search to update accommodation options based on selected flight
|
|
48464
|
+
// dispatch(setFlyInIsOpen(true));
|
|
48465
|
+
// }, [selectedCombinationFlight, dispatch]);
|
|
48466
|
+
React.useEffect(
|
|
48467
|
+
function () {
|
|
48468
|
+
var _a, _b, _c, _d;
|
|
48469
|
+
if (!context) return;
|
|
48470
|
+
var seed = activeSearchSeed;
|
|
48471
|
+
if (!seed) return;
|
|
48472
|
+
var nextEntry = buildOrUpdatePackagingEntryPartial({
|
|
48473
|
+
sourceEntry:
|
|
48474
|
+
(_a = editablePackagingEntry !== null && editablePackagingEntry !== void 0 ? editablePackagingEntry : context.packagingEntry) !== null &&
|
|
48475
|
+
_a !== void 0
|
|
48476
|
+
? _a
|
|
48477
|
+
: null,
|
|
48478
|
+
selectedHotelCode: selectedPackagingAccoResultCode,
|
|
48479
|
+
accommodationResults: packagingAccoResults,
|
|
48480
|
+
selectedFlight: selectedCombinationFlight !== null && selectedCombinationFlight !== void 0 ? selectedCombinationFlight : null,
|
|
48481
|
+
seed: seed,
|
|
48482
|
+
transactionId:
|
|
48483
|
+
(_c =
|
|
48484
|
+
transactionId !== null && transactionId !== void 0
|
|
48485
|
+
? transactionId
|
|
48486
|
+
: (_b = context.packagingEntry) === null || _b === void 0
|
|
48487
|
+
? void 0
|
|
48488
|
+
: _b.transactionId) !== null && _c !== void 0
|
|
48489
|
+
? _c
|
|
48490
|
+
: '',
|
|
48491
|
+
language: (_d = context.languageCode) !== null && _d !== void 0 ? _d : 'en-GB'
|
|
48492
|
+
});
|
|
48493
|
+
if (!nextEntry) return;
|
|
48494
|
+
dispatch(setEditablePackagingEntry(nextEntry));
|
|
48495
|
+
if (selectedCombinationFlight) {
|
|
48496
|
+
dispatch(setSelectedPackagingFlight(selectedCombinationFlight));
|
|
48497
|
+
}
|
|
48498
|
+
},
|
|
48499
|
+
[
|
|
48500
|
+
context,
|
|
48501
|
+
activeSearchSeed,
|
|
48502
|
+
selectedPackagingAccoResultCode,
|
|
48503
|
+
packagingAccoResults,
|
|
48504
|
+
packagingAccoSearchDetails,
|
|
48505
|
+
selectedCombinationFlight,
|
|
48506
|
+
transactionId,
|
|
48507
|
+
dispatch
|
|
48508
|
+
]
|
|
48509
|
+
);
|
|
48510
|
+
var removeAccommodationLines = function (lines) {
|
|
48511
|
+
return lines.filter(function (line) {
|
|
48512
|
+
return line.serviceType !== ACCOMMODATION_SERVICE_TYPE;
|
|
48513
|
+
});
|
|
48514
|
+
};
|
|
48515
|
+
var removeFlightLines = function (lines) {
|
|
48516
|
+
return lines.filter(function (line) {
|
|
48517
|
+
return line.serviceType !== FLIGHT_SERVICE_TYPE;
|
|
48518
|
+
});
|
|
48519
|
+
};
|
|
48520
|
+
var buildAccommodationLinesFromSelection = function (selectedHotel, seed) {
|
|
48521
|
+
if (!selectedHotel) return [];
|
|
48522
|
+
var parentGuid = crypto.randomUUID();
|
|
48523
|
+
return selectedHotel.rooms
|
|
48524
|
+
.filter(function (room) {
|
|
48525
|
+
return room.options.some(function (o) {
|
|
48526
|
+
return o.isSelected;
|
|
48527
|
+
});
|
|
48528
|
+
})
|
|
48529
|
+
.map(function (room, index) {
|
|
48530
|
+
var _a, _b, _c, _d, _e;
|
|
48531
|
+
var option = room.options.find(function (o) {
|
|
48532
|
+
return o.isSelected;
|
|
48533
|
+
});
|
|
48534
|
+
var pax =
|
|
48535
|
+
(_b =
|
|
48536
|
+
(_a = seed.rooms) === null || _a === void 0
|
|
48537
|
+
? void 0
|
|
48538
|
+
: _a.flatMap(function (room, roomIndex) {
|
|
48539
|
+
return room.pax.map(function (p, paxIndex) {
|
|
48540
|
+
return {
|
|
48541
|
+
paxId: p.id,
|
|
48542
|
+
room: roomIndex,
|
|
48543
|
+
order: paxIndex
|
|
48544
|
+
};
|
|
48545
|
+
});
|
|
48546
|
+
})) !== null && _b !== void 0
|
|
48547
|
+
? _b
|
|
48548
|
+
: [];
|
|
48549
|
+
return {
|
|
48550
|
+
guid: (_c = option.guid) !== null && _c !== void 0 ? _c : crypto.randomUUID(),
|
|
48551
|
+
moment: '',
|
|
48552
|
+
parentGuid: index === 0 ? null : parentGuid,
|
|
48553
|
+
order: index,
|
|
48554
|
+
isChanged: true,
|
|
48555
|
+
from: selectedHotel.fromDate,
|
|
48556
|
+
to: selectedHotel.toDate,
|
|
48557
|
+
serviceType: ACCOMMODATION_SERVICE_TYPE,
|
|
48558
|
+
productName: selectedHotel.name,
|
|
48559
|
+
productCode: selectedHotel.code,
|
|
48560
|
+
accommodationName: option.accommodationName,
|
|
48561
|
+
accommodationCode: option.accommodationCode,
|
|
48562
|
+
regimeName: option.regimeName,
|
|
48563
|
+
regimeCode: option.regimeCode,
|
|
48564
|
+
country: selectedHotel.countryId ? { id: selectedHotel.countryId, name: selectedHotel.countryName, localizations: [] } : null,
|
|
48565
|
+
region: selectedHotel.regionId ? { id: selectedHotel.regionId, name: selectedHotel.regionName, localizations: [] } : null,
|
|
48566
|
+
oord: selectedHotel.oordId ? { id: selectedHotel.oordId, name: selectedHotel.oordName, localizations: [] } : null,
|
|
48567
|
+
location: selectedHotel.locationId ? { id: selectedHotel.locationId, name: selectedHotel.locationName, localizations: [] } : null,
|
|
48568
|
+
longitude: (_d = selectedHotel.longitude) !== null && _d !== void 0 ? _d : null,
|
|
48569
|
+
latitude: (_e = selectedHotel.latitude) !== null && _e !== void 0 ? _e : null,
|
|
48570
|
+
pax: pax,
|
|
48571
|
+
flightInformation: null
|
|
48572
|
+
};
|
|
48573
|
+
});
|
|
48574
|
+
};
|
|
48575
|
+
var toDateOnlyUtcString = function (value) {
|
|
48576
|
+
var date = new Date(value);
|
|
48577
|
+
return new Date(Date.UTC(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate())).toISOString();
|
|
48578
|
+
};
|
|
48579
|
+
var toTimeOnlyString = function (value) {
|
|
48580
|
+
var date = new Date(value);
|
|
48581
|
+
var hh = String(date.getUTCHours()).padStart(2, '0');
|
|
48582
|
+
var mm = String(date.getUTCMinutes()).padStart(2, '0');
|
|
48583
|
+
var ss = String(date.getUTCSeconds()).padStart(2, '0');
|
|
48584
|
+
return ''.concat(hh, ':').concat(mm, ':').concat(ss);
|
|
48585
|
+
};
|
|
48586
|
+
var mapFlightSegmentsToFlightLines = function (segments) {
|
|
48587
|
+
return segments.map(function (segment) {
|
|
48588
|
+
var _a;
|
|
48589
|
+
return {
|
|
48590
|
+
airlineCode: segment.marketingAirlineCode,
|
|
48591
|
+
airlineDescription: segment.marketingAirlineName,
|
|
48592
|
+
operatingAirlineCode: segment.operatingAirlineCode,
|
|
48593
|
+
operatingAirlineDescription: segment.operatingAirlineName,
|
|
48594
|
+
flightNumber: segment.flightNumber,
|
|
48595
|
+
operatingFlightNumber: (_a = segment.operatingFlightNumber) !== null && _a !== void 0 ? _a : null,
|
|
48596
|
+
departureDate: toDateOnlyUtcString(segment.departureDateTime),
|
|
48597
|
+
departureTime: toTimeOnlyString(segment.departureDateTime),
|
|
48598
|
+
departureAirportCode: segment.departureAirportCode,
|
|
48599
|
+
departureAirportDescription: segment.departureAirportName,
|
|
48600
|
+
arrivalDate: toDateOnlyUtcString(segment.arrivalDateTime),
|
|
48601
|
+
arrivalTime: toTimeOnlyString(segment.arrivalDateTime),
|
|
48602
|
+
arrivalAirportCode: segment.arrivalAirportCode,
|
|
48603
|
+
arrivalAirportDescription: segment.arrivalAirportName,
|
|
48604
|
+
durationInTicks: segment.durationInTicks
|
|
48605
|
+
};
|
|
48606
|
+
});
|
|
48607
|
+
};
|
|
48608
|
+
var buildFlightLabel = function (segments) {
|
|
48609
|
+
var firstSegment = lodash.first(segments);
|
|
48610
|
+
var lastSegment = lodash.last(segments);
|
|
48611
|
+
if (!firstSegment || !lastSegment) {
|
|
48612
|
+
return { productName: 'Flight', productCode: 'FLIGHT' };
|
|
48613
|
+
}
|
|
48614
|
+
return {
|
|
48615
|
+
productName: ''
|
|
48616
|
+
.concat(firstSegment.departureAirportName, ' - ')
|
|
48617
|
+
.concat(lastSegment.arrivalAirportName, ' (')
|
|
48618
|
+
.concat(firstSegment.marketingAirlineName, ')'),
|
|
48619
|
+
productCode: ''.concat(firstSegment.departureAirportCode, ' ').concat(lastSegment.arrivalAirportCode, '/').concat(firstSegment.marketingAirlineCode)
|
|
48620
|
+
};
|
|
48621
|
+
};
|
|
48622
|
+
var buildFlightLinesFromSelection = function (selectedFlight) {
|
|
48623
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
|
|
48624
|
+
if (!selectedFlight) return [];
|
|
48625
|
+
var outwardSegments = (_b = (_a = selectedFlight.outward) === null || _a === void 0 ? void 0 : _a.segments) !== null && _b !== void 0 ? _b : [];
|
|
48626
|
+
var returnSegments = (_d = (_c = selectedFlight.return) === null || _c === void 0 ? void 0 : _c.segments) !== null && _d !== void 0 ? _d : [];
|
|
48627
|
+
if (!outwardSegments.length || !returnSegments.length) return [];
|
|
48628
|
+
var outwardLabel = buildFlightLabel(outwardSegments);
|
|
48629
|
+
var returnLabel = buildFlightLabel(returnSegments);
|
|
48630
|
+
var outwardFirst = lodash.first(outwardSegments);
|
|
48631
|
+
var outwardLast = lodash.last(outwardSegments);
|
|
48632
|
+
var returnFirst = lodash.first(returnSegments);
|
|
48633
|
+
var returnLast = lodash.last(returnSegments);
|
|
48634
|
+
var outwardLine = {
|
|
48635
|
+
guid: selectedFlight.outwardGuid,
|
|
48636
|
+
parentGuid: null,
|
|
48637
|
+
order: 0,
|
|
48638
|
+
isChanged: true,
|
|
48639
|
+
from: (_e = outwardFirst === null || outwardFirst === void 0 ? void 0 : outwardFirst.departureDateTime.toString()) !== null && _e !== void 0 ? _e : '',
|
|
48640
|
+
to: (_f = outwardLast === null || outwardLast === void 0 ? void 0 : outwardLast.arrivalDateTime.toString()) !== null && _f !== void 0 ? _f : '',
|
|
48641
|
+
serviceType: FLIGHT_SERVICE_TYPE,
|
|
48642
|
+
productName: outwardLabel.productName,
|
|
48643
|
+
productCode: outwardLabel.productCode,
|
|
48644
|
+
accommodationName:
|
|
48645
|
+
(_g = outwardFirst === null || outwardFirst === void 0 ? void 0 : outwardFirst.metaData) === null || _g === void 0 ? void 0 : _g.farePriceClassName,
|
|
48646
|
+
accommodationCode:
|
|
48647
|
+
(_h = outwardFirst === null || outwardFirst === void 0 ? void 0 : outwardFirst.metaData) === null || _h === void 0 ? void 0 : _h.fareCode,
|
|
48648
|
+
regimeName: null,
|
|
48649
|
+
regimeCode: null,
|
|
48650
|
+
country: null,
|
|
48651
|
+
region: null,
|
|
48652
|
+
oord: null,
|
|
48653
|
+
location: null,
|
|
48654
|
+
longitude: null,
|
|
48655
|
+
latitude: null,
|
|
48656
|
+
// pax: allPaxAssignments,
|
|
48657
|
+
flightInformation: {
|
|
48658
|
+
pnr: '',
|
|
48659
|
+
flightLines: mapFlightSegmentsToFlightLines(outwardSegments)
|
|
48660
|
+
}
|
|
48661
|
+
};
|
|
48662
|
+
var returnLine = {
|
|
48663
|
+
guid: selectedFlight.returnGuid,
|
|
48664
|
+
parentGuid: selectedFlight.outwardGuid,
|
|
48665
|
+
order: 1,
|
|
48666
|
+
isChanged: true,
|
|
48667
|
+
from: (_j = returnFirst === null || returnFirst === void 0 ? void 0 : returnFirst.departureDateTime.toString()) !== null && _j !== void 0 ? _j : '',
|
|
48668
|
+
to: (_k = returnLast === null || returnLast === void 0 ? void 0 : returnLast.departureDateTime.toString()) !== null && _k !== void 0 ? _k : '',
|
|
48669
|
+
serviceType: FLIGHT_SERVICE_TYPE,
|
|
48670
|
+
productName: returnLabel.productName,
|
|
48671
|
+
productCode: returnLabel.productCode,
|
|
48672
|
+
accommodationName:
|
|
48673
|
+
(_l = returnFirst === null || returnFirst === void 0 ? void 0 : returnFirst.metaData) === null || _l === void 0 ? void 0 : _l.farePriceClassName,
|
|
48674
|
+
accommodationCode: (_m = returnFirst === null || returnFirst === void 0 ? void 0 : returnFirst.metaData) === null || _m === void 0 ? void 0 : _m.fareCode,
|
|
48675
|
+
regimeName: null,
|
|
48676
|
+
regimeCode: null,
|
|
48677
|
+
country: null,
|
|
48678
|
+
region: null,
|
|
48679
|
+
oord: null,
|
|
48680
|
+
location: null,
|
|
48681
|
+
longitude: null,
|
|
48682
|
+
latitude: null,
|
|
48683
|
+
// pax: allPaxAssignments,
|
|
48684
|
+
flightInformation: {
|
|
48685
|
+
pnr: '',
|
|
48686
|
+
flightLines: mapFlightSegmentsToFlightLines(returnSegments)
|
|
48687
|
+
}
|
|
48688
|
+
};
|
|
48689
|
+
return [outwardLine, returnLine];
|
|
48690
|
+
};
|
|
48691
|
+
var buildOrUpdatePackagingEntryPartial = function (_a) {
|
|
48692
|
+
var _b, _c;
|
|
48693
|
+
var sourceEntry = _a.sourceEntry,
|
|
48694
|
+
selectedHotelCode = _a.selectedHotelCode,
|
|
48695
|
+
accommodationResults = _a.accommodationResults,
|
|
48696
|
+
selectedFlight = _a.selectedFlight,
|
|
48697
|
+
seed = _a.seed,
|
|
48698
|
+
transactionId = _a.transactionId,
|
|
48699
|
+
language = _a.language;
|
|
48700
|
+
if (!((_b = seed === null || seed === void 0 ? void 0 : seed.rooms) === null || _b === void 0 ? void 0 : _b.length)) return null;
|
|
48701
|
+
var entry = buildBasePackagingEntry(sourceEntry, seed, transactionId, language);
|
|
48702
|
+
var nextLines = __spreadArray([], (_c = entry.lines) !== null && _c !== void 0 ? _c : [], true);
|
|
48703
|
+
var selectedHotel = selectedHotelCode
|
|
48704
|
+
? accommodationResults.find(function (r) {
|
|
48705
|
+
return r.code === selectedHotelCode;
|
|
48706
|
+
})
|
|
48707
|
+
: null;
|
|
48708
|
+
// Update accommodation only when enough data exists
|
|
48709
|
+
if (selectedHotel) {
|
|
48710
|
+
var accommodationLines = buildAccommodationLinesFromSelection(selectedHotel, seed);
|
|
48711
|
+
if (accommodationLines.length) {
|
|
48712
|
+
nextLines = removeAccommodationLines(nextLines);
|
|
48713
|
+
nextLines = __spreadArray(__spreadArray([], nextLines, true), accommodationLines, true);
|
|
48714
|
+
}
|
|
48715
|
+
}
|
|
48716
|
+
// Update flights only when full selected combination exists
|
|
48717
|
+
if (selectedFlight) {
|
|
48718
|
+
var flightLines = buildFlightLinesFromSelection(selectedFlight);
|
|
48719
|
+
if (flightLines.length) {
|
|
48720
|
+
nextLines = removeFlightLines(nextLines);
|
|
48721
|
+
nextLines = __spreadArray(__spreadArray([], nextLines, true), flightLines, true);
|
|
48722
|
+
}
|
|
48723
|
+
}
|
|
48724
|
+
nextLines = nextLines.map(function (line, index) {
|
|
48725
|
+
return __assign(__assign({}, line), { order: index });
|
|
48726
|
+
});
|
|
48727
|
+
return __assign(__assign({}, entry), { language: language, transactionId: transactionId, pax: entry.pax, lines: nextLines });
|
|
48728
|
+
};
|
|
48729
|
+
var buildBasePackagingEntry = function (sourceEntry, seed, transactionId, language) {
|
|
48730
|
+
var _a, _b;
|
|
48731
|
+
if (sourceEntry) {
|
|
48732
|
+
return structuredClone(sourceEntry);
|
|
48733
|
+
}
|
|
48734
|
+
var paxId = 1;
|
|
48735
|
+
var pax =
|
|
48736
|
+
(_b =
|
|
48737
|
+
(_a = seed.rooms) === null || _a === void 0
|
|
48738
|
+
? void 0
|
|
48739
|
+
: _a.flatMap(function (room, roomIndex) {
|
|
48740
|
+
return room.pax.map(function (_, paxIndex) {
|
|
48741
|
+
return {
|
|
48742
|
+
id: paxId++,
|
|
48743
|
+
firstName: '',
|
|
48744
|
+
lastName: '',
|
|
48745
|
+
dateOfBirth: null,
|
|
48746
|
+
isMainBooker: roomIndex === 0 && paxIndex === 0
|
|
48747
|
+
};
|
|
48748
|
+
});
|
|
48749
|
+
})) !== null && _b !== void 0
|
|
48750
|
+
? _b
|
|
48751
|
+
: [];
|
|
48752
|
+
return {
|
|
48753
|
+
language: language,
|
|
48754
|
+
transactionId: transactionId,
|
|
48755
|
+
dossierNumber: '',
|
|
48756
|
+
status: 0,
|
|
48757
|
+
bookingDate: null,
|
|
48758
|
+
price: 0,
|
|
48759
|
+
depositAmount: 0,
|
|
48760
|
+
pax: pax,
|
|
48761
|
+
lines: []
|
|
48762
|
+
};
|
|
48763
|
+
};
|
|
48764
|
+
var visibleOutwardFlights = React__default['default'].useMemo(
|
|
48765
|
+
function () {
|
|
48766
|
+
return showAllOutwardFlights ? uniqueOutwardFlights : uniqueOutwardFlights.slice(0, 3);
|
|
48767
|
+
},
|
|
48768
|
+
[showAllOutwardFlights, uniqueOutwardFlights]
|
|
48769
|
+
);
|
|
48345
48770
|
return React__default['default'].createElement(
|
|
48346
48771
|
'div',
|
|
48347
48772
|
{ id: 'tide-booking', className: 'search__bg' },
|
|
@@ -48459,13 +48884,11 @@ var SearchResultsContainer = function () {
|
|
|
48459
48884
|
'span',
|
|
48460
48885
|
{ className: 'search__result-row-text' },
|
|
48461
48886
|
!isLoading &&
|
|
48462
|
-
|
|
48887
|
+
context.searchConfiguration.qsmType !== build.PortalQsmType.AccommodationAndFlight &&
|
|
48463
48888
|
React__default['default'].createElement(
|
|
48464
48889
|
React__default['default'].Fragment,
|
|
48465
48890
|
null,
|
|
48466
|
-
|
|
48467
|
-
context.searchConfiguration.enableManualPackaging) ||
|
|
48468
|
-
context.searchConfiguration.qsmType === build.PortalQsmType.Accommodation) &&
|
|
48891
|
+
context.searchConfiguration.qsmType === build.PortalQsmType.Accommodation &&
|
|
48469
48892
|
(filteredPackagingAccoResults === null || filteredPackagingAccoResults === void 0 ? void 0 : filteredPackagingAccoResults.length) &&
|
|
48470
48893
|
(filteredPackagingAccoResults === null || filteredPackagingAccoResults === void 0 ? void 0 : filteredPackagingAccoResults.length),
|
|
48471
48894
|
context.searchConfiguration.qsmType !== build.PortalQsmType.Accommodation &&
|
|
@@ -48514,22 +48937,145 @@ var SearchResultsContainer = function () {
|
|
|
48514
48937
|
context.searchConfiguration.qsmType === build.PortalQsmType.AccommodationAndFlight &&
|
|
48515
48938
|
!context.packagingEntry &&
|
|
48516
48939
|
context.showFlightResults &&
|
|
48517
|
-
|
|
48518
|
-
|
|
48519
|
-
|
|
48520
|
-
|
|
48521
|
-
|
|
48940
|
+
// bookingPackageDetails?.outwardFlights &&
|
|
48941
|
+
// <FlightResults flights={bookingPackageDetails?.outwardFlights} isDeparture={true} />
|
|
48942
|
+
React__default['default'].createElement(
|
|
48943
|
+
React__default['default'].Fragment,
|
|
48944
|
+
null,
|
|
48945
|
+
React__default['default'].createElement(
|
|
48946
|
+
'div',
|
|
48947
|
+
{ className: 'search__results__label search__results__label--secondary' },
|
|
48948
|
+
React__default['default'].createElement(
|
|
48949
|
+
'div',
|
|
48950
|
+
{ className: 'search__results__label__date' },
|
|
48951
|
+
React__default['default'].createElement(Icon$1, { name: 'ui-flight', height: 16, fill: 'white' })
|
|
48952
|
+
),
|
|
48953
|
+
React__default['default'].createElement(
|
|
48954
|
+
'div',
|
|
48955
|
+
{ className: 'search__results__label__text' },
|
|
48956
|
+
React__default['default'].createElement(
|
|
48957
|
+
'h3',
|
|
48958
|
+
null,
|
|
48959
|
+
translations.SRP.SELECT,
|
|
48960
|
+
' ',
|
|
48961
|
+
React__default['default'].createElement('strong', null, ' ', translations.SRP.DEPARTURE)
|
|
48962
|
+
)
|
|
48963
|
+
)
|
|
48964
|
+
),
|
|
48965
|
+
flightsLoading
|
|
48966
|
+
? React__default['default'].createElement(Spinner, null)
|
|
48967
|
+
: React__default['default'].createElement(
|
|
48968
|
+
React__default['default'].Fragment,
|
|
48969
|
+
null,
|
|
48970
|
+
React__default['default'].createElement(
|
|
48971
|
+
'div',
|
|
48972
|
+
{ className: 'search__results__cards search__results__cards--extended' },
|
|
48973
|
+
selectedOutwardKey &&
|
|
48974
|
+
selectedOutward &&
|
|
48975
|
+
React__default['default'].createElement(IndependentFlightOption, {
|
|
48976
|
+
key: 'flight-'.concat(selectedOutwardKey),
|
|
48977
|
+
item: selectedOutward.outward,
|
|
48978
|
+
guid: selectedOutward.outwardGuid,
|
|
48979
|
+
onSelect: function () {
|
|
48980
|
+
return setSelectedOutwardKey(null);
|
|
48981
|
+
},
|
|
48982
|
+
selectedGuid: selectedOutward.outwardGuid,
|
|
48983
|
+
isOutward: true,
|
|
48984
|
+
showSelectedState: true,
|
|
48985
|
+
price: selectedOutward.price
|
|
48986
|
+
}),
|
|
48987
|
+
visibleOutwardFlights.map(function (result) {
|
|
48988
|
+
return React__default['default'].createElement(IndependentFlightOption, {
|
|
48989
|
+
key: 'flight-'.concat(result.outwardGuid),
|
|
48990
|
+
item: result.outward,
|
|
48991
|
+
onSelect: function () {
|
|
48992
|
+
return setSelectedOutwardKey(getFlightKey(result.outward.segments));
|
|
48993
|
+
},
|
|
48994
|
+
guid: result.outwardGuid,
|
|
48995
|
+
isOutward: true,
|
|
48996
|
+
price: result.price,
|
|
48997
|
+
currentSelectedPrice: selectedOutward === null || selectedOutward === void 0 ? void 0 : selectedOutward.price
|
|
48998
|
+
});
|
|
48999
|
+
})
|
|
49000
|
+
),
|
|
49001
|
+
uniqueOutwardFlights &&
|
|
49002
|
+
uniqueOutwardFlights.length > 3 &&
|
|
49003
|
+
React__default['default'].createElement(
|
|
49004
|
+
'div',
|
|
49005
|
+
{ className: 'search__results__cards__actions' },
|
|
49006
|
+
React__default['default'].createElement(
|
|
49007
|
+
'button',
|
|
49008
|
+
{
|
|
49009
|
+
className: 'cta cta--secondary',
|
|
49010
|
+
onClick: function () {
|
|
49011
|
+
return setShowAllOutwardFlights(!showAllOutwardFlights);
|
|
49012
|
+
}
|
|
49013
|
+
},
|
|
49014
|
+
showAllOutwardFlights ? translations.SRP.SHOW_LESS : translations.SRP.SHOW_MORE
|
|
49015
|
+
)
|
|
49016
|
+
)
|
|
49017
|
+
)
|
|
49018
|
+
),
|
|
48522
49019
|
context.showHotelAccommodationResults &&
|
|
48523
49020
|
!context.packagingEntry &&
|
|
48524
49021
|
React__default['default'].createElement(HotelAccommodationResults, { isLoading: isLoading }),
|
|
48525
49022
|
context.searchConfiguration.qsmType === build.PortalQsmType.AccommodationAndFlight &&
|
|
48526
49023
|
!context.packagingEntry &&
|
|
48527
49024
|
context.showFlightResults &&
|
|
48528
|
-
|
|
48529
|
-
|
|
48530
|
-
|
|
48531
|
-
|
|
48532
|
-
|
|
49025
|
+
// bookingPackageDetails?.returnFlights &&
|
|
49026
|
+
// <FlightResults flights={bookingPackageDetails?.returnFlights} isDeparture={false} />
|
|
49027
|
+
React__default['default'].createElement(
|
|
49028
|
+
React__default['default'].Fragment,
|
|
49029
|
+
null,
|
|
49030
|
+
React__default['default'].createElement(
|
|
49031
|
+
'div',
|
|
49032
|
+
{ className: 'search__results__label search__results__label--secondary' },
|
|
49033
|
+
React__default['default'].createElement(
|
|
49034
|
+
'div',
|
|
49035
|
+
{ className: 'search__results__label__date' },
|
|
49036
|
+
React__default['default'].createElement(Icon$1, { name: 'ui-flight', height: 16, fill: 'white' })
|
|
49037
|
+
),
|
|
49038
|
+
React__default['default'].createElement(
|
|
49039
|
+
'div',
|
|
49040
|
+
{ className: 'search__results__label__text' },
|
|
49041
|
+
React__default['default'].createElement(
|
|
49042
|
+
'h3',
|
|
49043
|
+
null,
|
|
49044
|
+
translations.SRP.SELECT,
|
|
49045
|
+
' ',
|
|
49046
|
+
React__default['default'].createElement('strong', null, ' ', translations.SRP.RETURN)
|
|
49047
|
+
)
|
|
49048
|
+
)
|
|
49049
|
+
),
|
|
49050
|
+
React__default['default'].createElement(
|
|
49051
|
+
'div',
|
|
49052
|
+
{ className: 'search__results__cards search__results__cards--extended' },
|
|
49053
|
+
selectedReturnKey &&
|
|
49054
|
+
selectedReturn &&
|
|
49055
|
+
React__default['default'].createElement(IndependentFlightOption, {
|
|
49056
|
+
key: 'flight-'.concat(selectedReturnKey),
|
|
49057
|
+
item: selectedReturn.return,
|
|
49058
|
+
guid: selectedReturn.outwardGuid,
|
|
49059
|
+
selectedGuid: selectedReturn.outwardGuid,
|
|
49060
|
+
isOutward: false,
|
|
49061
|
+
showSelectedState: true,
|
|
49062
|
+
price: selectedReturn.price
|
|
49063
|
+
}),
|
|
49064
|
+
uniqueReturnFlights.map(function (result) {
|
|
49065
|
+
return React__default['default'].createElement(IndependentFlightOption, {
|
|
49066
|
+
key: 'flight-'.concat(result.outwardGuid),
|
|
49067
|
+
item: result.return,
|
|
49068
|
+
onSelect: function () {
|
|
49069
|
+
return setSelectedReturnKey(getFlightKey(result.return.segments));
|
|
49070
|
+
},
|
|
49071
|
+
guid: result.outwardGuid,
|
|
49072
|
+
isOutward: false,
|
|
49073
|
+
currentSelectedPrice: selectedReturn === null || selectedReturn === void 0 ? void 0 : selectedReturn.price,
|
|
49074
|
+
price: result.price
|
|
49075
|
+
});
|
|
49076
|
+
})
|
|
49077
|
+
)
|
|
49078
|
+
),
|
|
48533
49079
|
context.searchConfiguration.qsmType === build.PortalQsmType.AccommodationAndFlight &&
|
|
48534
49080
|
context.packagingEntry &&
|
|
48535
49081
|
itinerary &&
|
|
@@ -55996,3 +56542,4 @@ exports.PhotoGallery = PhotoGallery;
|
|
|
55996
56542
|
exports.QSM = QSM;
|
|
55997
56543
|
exports.SearchResults = SearchResults;
|
|
55998
56544
|
exports.Slider = Slider;
|
|
56545
|
+
exports.Spinner = Spinner;
|