{ "version": 3, "sources": ["src/app/core/constants/additional-service.ts", "src/app/states/resources/resources-state.model.ts", "src/app/states/resources/resources.actions.ts", "src/app/search-page/search-block/utils.ts", "src/app/states/resources/resources.state.ts", "src/app/states/resources-state.service.ts"], "sourcesContent": ["import {BaseModel} from \"@app-core/models\";\n\nexport enum AdditionalServiceTypes {\n Luggage = 1,\n // Service = 2,\n}\nexport enum AdditionalServiceDirectionTypes {\n Direct = 1,\n Back = 2,\n}\nexport const AdditionalServiceTypesArray: BaseModel[] = [\n { value: AdditionalServiceTypes.Luggage, label: 'Luggage' },\n // { id: AdditionalServiceTypes.Service, name: 'Service' },\n];\n", "import {\n Aircompany,\n Airport,\n AirportExtended,\n AllowedDirection,\n City,\n Country, Currency,\n Nationality,\n PriceAdjustedDefaultAdditionalLuggage,\n} from '@app-core/entities';\nimport {Announcement} from \"@app-core/models\";\n\nexport interface ResourcesStateModel {\n airports: Airport[];\n countries: Country[];\n cities: City[];\n currencies: Currency[];\n nationality: Nationality[];\n allowedDirections: AllowedDirection[];\n aircompanies: Aircompany[];\n announcements: Announcement[];\n groupedAirports: AirportExtended[];\n nameInverted: boolean;\n availableLuggage: PriceAdjustedDefaultAdditionalLuggage[];\n}\n\nexport const DEFAULT_RESOURCES_STATE_MODEL: ResourcesStateModel = {\n airports: [],\n countries: [],\n cities: [],\n currencies: [],\n nationality: [],\n allowedDirections: [],\n aircompanies: [],\n announcements: [],\n groupedAirports: [],\n nameInverted: false,\n availableLuggage: [],\n // announcements: [{\n // id: 1,\n // text: 'Тест 1',\n // enText: 'Test 1',\n // theme: AnnouncementTheme.Error,\n // showOrder: 1\n // },{\n // id: 2,\n // text: 'Тест 2',\n // enText: 'Test 2',\n // theme: AnnouncementTheme.Warning,\n // showOrder: 3\n // },{\n // id: 3,\n // text: 'Тест 3',\n // enText: 'Test 3',\n // theme: AnnouncementTheme.Success,\n // showOrder: 2\n // }]\n};\n", "import {\n AirportExtended,\n AvailableAdditionalLuggageRequest,\n MainDictionary,\n} from '@app-core/entities';\n\nexport class GetAnnouncements {\n public static readonly type = '[Resources] Get Announcements';\n}\nexport class GetAirports {\n public static readonly type = '[Resources] Get airports';\n}\nexport class GetCountries {\n public static readonly type = '[Resources] Get countries';\n}\nexport class GetCities {\n public static readonly type = '[Resources] Get cities';\n}\nexport class GetNationalities {\n public static readonly type = '[Resources] Get nationalities';\n}\nexport class GetResources {\n public static readonly type = '[Resources] Get all items';\n}\nexport class GetResourcesSuccess {\n public static readonly type = '[Resources] Get all items success';\n constructor(public readonly payload: MainDictionary, public readonly groupedAirports: AirportExtended[]) {}\n}\nexport class GetAvailableAdditionalLuggage {\n public static readonly type = '[Resources] Get Available Additional Luggage';\n constructor(public readonly payload: AvailableAdditionalLuggageRequest) {}\n}\n\n", "import {RUS_ENG_DIC} from '@app-core/constants';\nimport {Airport, AirportExtended, City, Country} from '@app-core/entities';\nimport {DictionaryType} from '@app-core/models';\n\nexport const convertString = (str: string): string => {\n return str\n .split('')\n .map((c) => {\n const convertedChar = RUS_ENG_DIC[c];\n return convertedChar ? convertedChar : c;\n })\n .join('');\n};\nexport const calcHasParent = (items: AirportExtended[]): AirportExtended[] => {\n const result: AirportExtended[] = [];\n const lookup: DictionaryType = {};\n //TODO чет как-то не очень\n items.forEach((item) => {\n lookup[item.airport.id] = {...item};\n });\n items.forEach((item) => {\n const { airport, city, country, parent } = item;\n\n if (parent !== undefined) {\n if (lookup[airport.parentId!] === undefined) {\n lookup[airport.id].hasParentInSearchResult = false;\n lookup[airport.id].label = labelFactoryIn(\n airport,\n city,\n country,\n false,\n false\n );\n } else {\n lookup[airport.id].hasParentInSearchResult = true;\n lookup[airport.id].label = labelFactoryIn(airport, city, country, false);\n }\n } else {\n lookup[airport.id].label = labelFactoryIn(airport, city, country, true);\n }\n result.push(lookup[airport.id]);\n });\n return result;\n};\n\nexport function search(\n items: any[],\n searchTerm: string | number,\n key = 'value',\n comparison?: 'equal' | 'includes',\n nestedKey?: string\n): any[] {\n return items.filter((item) => {\n if (comparison === 'equal') {\n return nestedKey\n ? item[key][nestedKey] === searchTerm\n : item[key] === searchTerm;\n } else {\n return nestedKey\n ? item[key][nestedKey].includes(searchTerm)\n : item[key].includes(searchTerm);\n }\n });\n}\nconst labelFactoryIn = (\n airportIn: Airport,\n cityIn: City | undefined,\n countryIn: Country | undefined,\n parent: boolean,\n hasParent: boolean = true\n): string => {\n const iata = airportIn.iata ?? '';\n const airportName = airportIn.name ?? '';\n const cityName = cityIn ? cityIn.name : '';\n const countryName = countryIn ? countryIn.name : '';\n\n let result = '';\n if (parent && cityIn !== undefined) {\n result = `${iata} ${cityName} ${countryName}`;\n } else if (!hasParent) {\n result = `${iata} ${airportName} ${cityName}`;\n } else {\n result = `${iata} ${airportName}`;\n }\n return result;\n};\nconst makeString = (airport: AirportExtended) =>\n airport.parent\n ? airport.parent.airport.name + airport.airport.name\n : airport.airport.name;\n\nexport const sortAirportsFunc = (\n airport1: AirportExtended,\n airport2: AirportExtended\n) => makeString(airport1).localeCompare(makeString(airport2));\n\nexport const labelFactory = (\n airportIn: Airport,\n cityIn: City | undefined,\n countryIn: Country | undefined,\n parent: boolean\n): string => {\n const iata = airportIn.iata ?? '';\n const airportName = airportIn.name ?? '';\n const cityName = cityIn ? cityIn.name : '';\n const countryName = countryIn ? countryIn.name : '';\n\n return parent\n ? `${iata} ${cityName} ${countryName}`\n : `${iata} ${airportName}`;\n};\n", "import {Inject, Injectable} from '@angular/core';\nimport {\n Airport,\n AirportExtended,\n AllowedDirection,\n City,\n Country, Currency,\n Nationality, PriceAdjustedDefaultAdditionalLuggage,\n} from '@app-core/entities';\nimport { AnnouncementTheme, SortingOrder } from '@app-core/enums';\nimport { Announcement } from '@app-core/models';\nimport {AnnouncementService, OrdersApiService} from '@app-core/api-services';\nimport {\n ChangeLanguage,\n ChangeLanguageSuccess,\n LayoutState,\n} from '@app-states/layout';\nimport { Action, Selector, State, StateContext, Store } from '@ngxs/store';\nimport { sort } from '@shared/utils';\nimport { switchMap, tap } from 'rxjs/operators';\nimport { sortAirportsFunc } from '../../search-page/search-block/utils';\nimport {\n DEFAULT_RESOURCES_STATE_MODEL,\n ResourcesStateModel,\n} from './resources-state.model';\nimport {\n GetAnnouncements, GetAvailableAdditionalLuggage,\n GetResources,\n GetResourcesSuccess,\n} from './resources.actions';\nimport {IResourcesService, IS_FULL_VERSION_TOKEN, RESOURCES_SERVICE} from \"@app-core/constants\";\n\n@State({\n name: 'resources',\n defaults: DEFAULT_RESOURCES_STATE_MODEL,\n})\n@Injectable()\nexport class ResourcesState {\n @Selector()\n public static airports(state: ResourcesStateModel): Airport[] {\n return state.airports;\n }\n @Selector()\n public static groupedAirports(state: ResourcesStateModel): AirportExtended[] {\n return state.groupedAirports;\n }\n @Selector()\n public static countries(state: ResourcesStateModel): Country[] {\n return state.countries;\n }\n @Selector()\n public static currencies(state: ResourcesStateModel): Currency[] {\n return state.currencies;\n }\n @Selector()\n public static cities(state: ResourcesStateModel): City[] {\n return state.cities;\n }\n @Selector()\n public static nationalities(state: ResourcesStateModel): Nationality[] {\n return state.nationality;\n }\n @Selector()\n public static availableLuggage(state: ResourcesStateModel): PriceAdjustedDefaultAdditionalLuggage[] {\n return state.availableLuggage;\n }\n @Selector()\n public static allowedDictionaries(\n state: ResourcesStateModel\n ): AllowedDirection[] {\n return state.allowedDirections;\n }\n // FIXME щитаю что костыль, но кусками почему-то не видит изменения в search провайдере через combineLatest\n @Selector()\n public static state(state: ResourcesStateModel): ResourcesStateModel {\n return state;\n }\n @Selector()\n public static announcements(state: ResourcesStateModel): Announcement[] {\n return state.announcements;\n }\n\n constructor(\n private readonly announcementApiService: AnnouncementService,\n private readonly ordersApiService: OrdersApiService,\n private readonly store: Store,\n @Inject(IS_FULL_VERSION_TOKEN) private isFullToken: boolean,\n @Inject(RESOURCES_SERVICE) private requestService: IResourcesService,\n ) {}\n\n @Action(GetResources)\n public getResources({\n setState,\n dispatch,\n patchState,\n }: StateContext) {\n return this.requestService.getAllDictionaries().pipe(\n tap((val) => {\n const language = this.store.selectSnapshot(LayoutState.language);\n const {\n airports,\n countries,\n cities,\n currencies,\n nationalities,\n allowedDirections,\n aircompanies,\n } = val;\n // return sort(result, { field: 'label', order: SortingOrder.Asc });\n const normalize = () => {\n if (language && language.locale === 'ru') {\n const result = this.groupedAirportsFactory(\n airports,\n countries,\n cities,\n allowedDirections\n );\n return {\n newAirports: airports,\n newCountries: countries,\n newCities: cities,\n groupedAirports: result,\n };\n }\n return this.invert(airports, countries, cities, allowedDirections);\n };\n const normalized = normalize();\n patchState({\n cities: normalized.newCities,\n airports: normalized.newAirports,\n countries: normalized.newCountries,\n nationality: nationalities.filter(val=>!val.isDeleted),\n allowedDirections,\n aircompanies,\n currencies,\n groupedAirports: normalized.groupedAirports,\n });\n return dispatch(\n new GetResourcesSuccess(val, normalized.groupedAirports)\n );\n })\n );\n }\n @Action(ChangeLanguage)\n public changeLanguage(\n { dispatch, patchState, getState }: StateContext,\n { language }: ChangeLanguage\n ) {\n const {\n airports,\n countries,\n cities,\n allowedDirections,\n nameInverted,\n } = getState();\n\n const invertedValue = this.invert(\n airports,\n countries,\n cities,\n allowedDirections\n );\n if (language && language.locale !== 'ru' && !nameInverted) {\n patchState({\n airports: invertedValue.newAirports,\n cities: invertedValue.newCities,\n countries: invertedValue.newCountries,\n nameInverted: true,\n groupedAirports: invertedValue.groupedAirports,\n });\n } else if (language && language.locale === 'ru' && nameInverted) {\n patchState({\n airports: invertedValue.newAirports,\n cities: invertedValue.newCities,\n countries: invertedValue.newCountries,\n nameInverted: false,\n groupedAirports: invertedValue.groupedAirports,\n });\n }\n return dispatch(new ChangeLanguageSuccess());\n }\n @Action(GetAnnouncements)\n public getAnnouncements({\n dispatch,\n patchState,\n }: StateContext) {\n return this.announcementApiService.getAnnouncements().pipe(\n tap((announcements) =>\n patchState({\n announcements: sort(announcements, {\n field: 'showOrder',\n order: SortingOrder.Asc,\n }),\n })\n )\n );\n }\n @Action(GetAvailableAdditionalLuggage)\n public getAvailableAdditionalLuggage({ patchState }: StateContext, { payload }: GetAvailableAdditionalLuggage) {\n return this.ordersApiService\n .getAvailableAdditionalLuggage(payload)\n .pipe(tap((availableLuggage) => patchState({ availableLuggage })));\n }\n private invert(\n airports: Airport[],\n countries: Country[],\n cities: City[],\n allowedDirections: AllowedDirection[]\n ) {\n const newAirports = airports.map((value) => ({\n ...value,\n name: value.systemName,\n systemName: value.name,\n }));\n const newCountries = countries.map((value) => ({\n ...value,\n name: value.systemName,\n systemName: value.name,\n }));\n const newCities = cities.map((value) => ({\n ...value,\n name: value.systemName,\n systemName: value.name,\n }));\n const groupedAirports = this.groupedAirportsFactory(\n newAirports,\n newCountries,\n newCities,\n allowedDirections\n );\n return { newAirports, newCountries, newCities, groupedAirports };\n }\n private groupedAirportsFactory(\n airports: Airport[],\n countries: Country[],\n cities: City[],\n allowedDirections: AllowedDirection[]\n ): AirportExtended[] {\n const citiesDic: Record = {};\n cities.forEach((c) => (citiesDic[c.id] = c));\n\n const countriesDic: Record = {};\n countries.forEach((c) => (countriesDic[c.id] = c));\n\n let resultDic: Record = {};\n const result: AirportExtended[] = [];\n\n airports\n .filter((x) => !x.isDeleted)\n .forEach((airport) => {\n const city = citiesDic[airport.cityId];\n const country = countriesDic[city ? city.countryId : 0];\n\n const iata = airport.iata ?? '';\n const airportName = airport.name ?? '';\n const airportSysName = airport.systemName ?? '';\n const cityName = city ? city.name : '';\n const citySysName = city ? city.systemName : '';\n const countryName = country ? country.name : '';\n const countrySysName = country ? country.systemName : '';\n const value =\n `${iata} ${airportName} ${airportSysName} ${cityName} ${citySysName} ${countryName} ${countrySysName}`.toLowerCase();\n // .replace(/\\s+/g, '')\n resultDic[airport.id] = {\n value,\n airport,\n city,\n country,\n };\n });\n\n for (let key in resultDic) {\n const value = resultDic[key];\n\n if (value.airport.parentId && value.airport.parentId !== 0) {\n value.parent = Object.assign({}, resultDic[value.airport.parentId!]);\n value.hasParentInSearchResult = true;\n }\n\n result.push(value);\n }\n\n return result\n .sort(sortAirportsFunc)\n .filter(\n (item) =>\n allowedDirections.findIndex(\n (el) =>\n el.cityFromId === item.city?.id || el.cityToId === item.city?.id\n ) !== -1\n );\n }\n}\n", "import { Injectable } from '@angular/core';\nimport {\n Airport,\n AllowedDirection,\n AvailableAdditionalLuggageRequest,\n City,\n Country,\n Nationality,\n PriceAdjustedDefaultAdditionalLuggage,\n PriceAdjustedDefaultAdditionalLuggageExtended,\n} from '@app-core/entities';\nimport { Dispatch } from '@ngxs-labs/dispatch-decorator';\nimport { Actions, ofActionSuccessful, Select } from '@ngxs/store';\nimport {Observable, shareReplay, startWith} from 'rxjs';\nimport {\n GetAnnouncements,\n GetAvailableAdditionalLuggage,\n GetResources,\n ResourcesState,\n} from './resources';\nimport { ResourcesStateModel } from './resources/resources-state.model';\nimport { combineLatest, map } from 'rxjs';\nimport { AdditionalServiceDirectionTypes } from '@app-core/constants/additional-service';\nimport {Announcement} from \"@app-core/models\";\n\n@Injectable()\nexport class ResourcesStateService {\n constructor(private readonly actions$: Actions) {}\n @Select(ResourcesState.airports)\n public readonly airports$!: Observable;\n @Select(ResourcesState.countries)\n public readonly countries$!: Observable;\n @Select(ResourcesState.cities)\n public readonly cities$!: Observable;\n @Select(ResourcesState.nationalities)\n public readonly nationalities$!: Observable;\n @Select(ResourcesState.state)\n public readonly state$!: Observable;\n @Select(ResourcesState.allowedDictionaries)\n public readonly allowedDictionaries$!: Observable;\n @Select(ResourcesState.announcements)\n public readonly announcements$!: Observable;\n @Select(ResourcesState.availableLuggage)\n public readonly availableLuggage$!: Observable;\n\n availableAdditionalLuggage$: Observable<\n PriceAdjustedDefaultAdditionalLuggageExtended[] | null\n > = combineLatest([\n this.state$,\n this.availableLuggage$\n ]).pipe(\n map(([resources, payload]) => {\n const { aircompanies } = resources;\n if (!payload) {\n return null;\n }\n return payload?.map((luggage) => {\n return {\n ...luggage,\n directionName:\n luggage.direction === AdditionalServiceDirectionTypes.Direct\n ? 'Direct'\n : 'Return',\n airlineName:\n aircompanies.find((a) => a.id === luggage.airlineId)?.name ?? '',\n };\n });\n })\n );\n @Dispatch() public getCommonData = () => new GetResources();\n @Dispatch() public getAnnouncements = () => new GetAnnouncements();\n @Dispatch() public getAvailableAdditionalLuggage = (\n parameters: AvailableAdditionalLuggageRequest\n ) => new GetAvailableAdditionalLuggage(parameters);\n}\n"], "mappings": "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", "names": ["AdditionalServiceTypes", "AdditionalServiceDirectionTypes", "AdditionalServiceTypesArray", "value", "Luggage", "label", "DEFAULT_RESOURCES_STATE_MODEL", "airports", "countries", "cities", "currencies", "nationality", "allowedDirections", "aircompanies", "announcements", "groupedAirports", "nameInverted", "availableLuggage", "GetAnnouncements", "_GetAnnouncements", "type", "GetResources", "_GetResources", "type", "GetResourcesSuccess", "constructor", "payload", "groupedAirports", "_GetResourcesSuccess", "GetAvailableAdditionalLuggage", "_GetAvailableAdditionalLuggage", "convertString", "str", "split", "map", "c", "convertedChar", "RUS_ENG_DIC", "join", "calcHasParent", "items", "result", "lookup", "forEach", "item", "airport", "id", "__spreadValues", "city", "country", "parent", "undefined", "parentId", "hasParentInSearchResult", "label", "labelFactoryIn", "push", "search", "searchTerm", "key", "comparison", "nestedKey", "filter", "includes", "airportIn", "cityIn", "countryIn", "hasParent", "_a", "_b", "iata", "airportName", "name", "cityName", "countryName", "makeString", "sortAirportsFunc", "airport1", "airport2", "localeCompare", "labelFactory", "ResourcesState", "_a", "airports", "state", "groupedAirports", "countries", "currencies", "cities", "nationalities", "nationality", "availableLuggage", "allowedDictionaries", "allowedDirections", "announcements", "constructor", "announcementApiService", "ordersApiService", "store", "isFullToken", "requestService", "getResources", "setState", "dispatch", "patchState", "getAllDictionaries", "pipe", "tap", "val", "language", "selectSnapshot", "LayoutState", "aircompanies", "normalized", "normalize", "locale", "result", "groupedAirportsFactory", "newAirports", "newCountries", "newCities", "invert", "filter", "isDeleted", "GetResourcesSuccess", "changeLanguage", "getState", "nameInverted", "invertedValue", "ChangeLanguageSuccess", "getAnnouncements", "sort", "field", "order", "SortingOrder", "Asc", "getAvailableAdditionalLuggage", "payload", "map", "value", "__spreadProps", "__spreadValues", "name", "systemName", "citiesDic", "forEach", "c", "id", "countriesDic", "resultDic", "x", "airport", "city", "cityId", "country", "countryId", "iata", "airportName", "airportSysName", "cityName", "citySysName", "countryName", "countrySysName", "toLowerCase", "key", "parentId", "parent", "Object", "assign", "hasParentInSearchResult", "push", "sortAirportsFunc", "item", "findIndex", "el", "cityFromId", "cityToId", "\u0275\u0275inject", "AnnouncementService", "OrdersApiService", "Store", "IS_FULL_VERSION_TOKEN", "RESOURCES_SERVICE", "factory", "\u0275fac", "__decorate", "Action", "GetResources", "ChangeLanguage", "GetAnnouncements", "GetAvailableAdditionalLuggage", "Selector", "State", "defaults", "DEFAULT_RESOURCES_STATE_MODEL", "ResourcesStateService", "constructor", "actions$", "availableAdditionalLuggage$", "combineLatest", "state$", "availableLuggage$", "pipe", "map", "resources", "payload", "aircompanies", "luggage", "__spreadProps", "__spreadValues", "directionName", "direction", "AdditionalServiceDirectionTypes", "Direct", "airlineName", "find", "a", "id", "airlineId", "name", "getCommonData", "GetResources", "getAnnouncements", "GetAnnouncements", "getAvailableAdditionalLuggage", "parameters", "GetAvailableAdditionalLuggage", "\u0275\u0275inject", "Actions", "factory", "\u0275fac", "_ResourcesStateService", "__decorate", "Select", "ResourcesState", "airports", "countries", "cities", "nationalities", "state", "allowedDictionaries", "announcements", "availableLuggage", "Dispatch"] }