{"version":3,"file":"static/chunks/6630-ae924b760db66e95.js","mappings":"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","sources":["webpack://_N_E/./src/components/Bundles/helpers/index.js","webpack://_N_E/./src/helpers/object.js","webpack://_N_E/./src/store/actions/bundles.js","webpack://_N_E/./src/store/selectors/bundles/index.js","webpack://_N_E/../../packages/api-domru/src/api-epg/v1/channel-categories/index.ts","webpack://_N_E/../../packages/api-domru/src/api-epg/v1/channels.ts"],"sourcesContent":["import { COLORS } from '@r1-frontend/ui-react/tokens/colors';\nimport uniqueId from 'lodash/uniqueId';\n\nimport { hasProp } from '~/src/helpers/object';\n\nexport const quantityHdChannels = channels => channels.reduce((quantityHd, channel) => {\n const currentHd = hasProp(channel, 'quality') && channel.quality === 'HD' ? 1 : 0;\n return quantityHd + currentHd;\n}, 0);\n\nexport const searchCategory = (themes, label) => {\n\n let category = { value: 0, label: 'Все каналы' };\n\n themes.forEach(item => {\n if (item.label === label) {\n category = item;\n}\n });\n\n return category;\n};\n\nexport const filteringTariffs = (tariffs, filteredTariffsId) => {\n if (filteredTariffsId && Array.isArray(filteredTariffsId) && filteredTariffsId.length) {\n return tariffs.reduce((acc, tariff) => {\n if (filteredTariffsId.find(id => tariff.id === id)) {\n acc.push(tariff);\n}\n return acc;\n }, []);\n } else {\n return tariffs;\n }\n};\n\nexport const createTariffBuilder = (price) => ({\n salePackage2in1: {\n is_cottage: 0,\n free_packets: '',\n price_final: price,\n promo_price_final: 0,\n promo_duration_final: 0,\n },\n description: {\n color: '',\n color_title_start: COLORS.TextPrimary,\n color_title_end: COLORS.TextPrimary,\n alias: 'constructor',\n color_text: COLORS.TextPrimary,\n description: 'Соберите тариф только из того, что нужно: онлайн-кинотеатры, подписки на полезные сервисы, пакеты каналов и многое другое',\n image_background: '/static/images/tariff-builder/constructor-card-background.png',\n image_background_webp: '/static/images/tariff-builder/constructor-card-background.webp',\n sort_on_bundles: 0,\n sort_on_internet: 0,\n sort_on_internet_lines: 0,\n tariffLine: {\n id: 1,\n title: '',\n body: '',\n sort: 1,\n title_short: '',\n url_landing: '',\n },\n title: 'Тариф Конструктор',\n weight: 0,\n available_on_main_page: 1,\n available_on_internet_page: 1,\n sort: 0,\n },\n additionalProducts: [],\n hasRequiredEquipment: 0,\n lineId: 0,\n location: '',\n offerContents: [],\n sale_package_id: uniqueId(),\n productType: 100,\n salePackageLinks: [],\n speed_int: 0,\n speed_bonus: 0,\n available_on_main_page: 1,\n available_on_internet_page: 1,\n is_cottage: 0,\n price_final: price,\n tariff_name_display: 'Тариф Конструктор',\n sort_on_bundles: 0,\n sort_on_internet: 0,\n sort_on_internet_lines: 0,\n});\n\n","/**\n * Shorthand for .hasOwnProperty\n * @param {object} object or class\n * @param {string} property\n * @return {boolean} true\\false\n */\n\nexport const hasProp = (obj, prop) => {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n};\n","import { dataLayerPush } from '@r1-frontend/analytics/dataLayerPush';\nimport { getCategories } from '@r1-frontend/api-domru/api-epg/v1/channel-categories';\nimport { getChannels as getAllChannelsRequest } from '@r1-frontend/api-domru/api-epg/v1/channels';\nimport { doRequest } from '@r1-frontend/do-request';\nimport { EVENTS } from '@r1-frontend/shared/constants/analytics';\n\nimport { searchCategory } from '~/src/components/Bundles/helpers';\nimport {\n APPLY_CHANNELS_FILTERS,\n CHANNELS_PACKAGE_ID,\n CLEAR_CHANNELS_PACKAGE_ID,\n CLEAR_SEARCH_CHANNELS_FILTER,\n CLEAR_THEME_CHANNELS_FILTER,\n GET_ALL_CHANNELS,\n GET_BUNDLES_BANNER,\n GET_BUNDLES_TARIFFS,\n GET_BUNDLES_TARIFFS_SELF_ORDER,\n GET_CHANNEL_THEMES,\n GET_TARIFF_LINES,\n SET_FILTER_FOR_CHANNELS,\n SET_FILTERED_TARIFFS_ID,\n SET_SEARCH_CHANNELS_FILTER,\n SET_SELECTED_TARIFF_ID,\n SET_TARIFF_CHANNELS,\n SET_THEME_CHANNELS_FILTER,\n} from '~/src/store/actionTypes/bundles';\nexport const saveBanner = banner => ({\n type: GET_BUNDLES_BANNER,\n payload: banner,\n});\n\nexport const changeChannelsBundleId = (id) => ({\n type: CHANNELS_PACKAGE_ID,\n payload: id,\n});\n\nexport const clearChannelsBundleId = () => ({\n type: CLEAR_CHANNELS_PACKAGE_ID,\n});\n\nexport const saveTariffs = (tariffs, selfOrder = false) => ({\n type: selfOrder ? GET_BUNDLES_TARIFFS_SELF_ORDER : GET_BUNDLES_TARIFFS,\n payload: tariffs,\n});\n\nexport const saveTariffLinesAvailableOnBundles = (lines) => ({\n type: GET_TARIFF_LINES,\n payload: lines,\n});\n\nconst saveAllChannels = (channels) => ({\n type: GET_ALL_CHANNELS,\n payload: channels,\n});\n\n/**\n * Получение списка всех каналов\n * @param providerId\n * @returns {Function}\n */\nexport function getAllChannels(providerId) {\n\n return async(dispatch) => {\n const response = await doRequest.apiEPG(\n getAllChannelsRequest(providerId, { with: 'category,channelInfo,packets' }),\n );\n if (response.isSuccess) {\n const data = response.payload.map(channel => {\n return ({\n ...channel,\n button: channel.lcn,\n logo: channel?.channelInfo?.logo,\n chid: channel.channelId,\n xvid: channel.epgId,\n display: channel.display.toString(),\n bids: channel.packets.map(({ billing_id }) => (billing_id || '').toString()),\n thid: (channel?.category?.id || '').toString(),\n });\n });\n\n dispatch(saveAllChannels(data));\n }\n };\n}\n\nconst applyChannelsFilters = () => ({\n type: APPLY_CHANNELS_FILTERS,\n});\n\nconst setSearchChannelFilter = (searchValue) => ({\n type: SET_SEARCH_CHANNELS_FILTER,\n payload: searchValue,\n});\n\n/**\n * Поиск каналов\n * @param searchValue поисковое слово\n * @returns {Function}\n */\nexport function searchChannels(searchValue) {\n return async(dispatch) => {\n try {\n if (!searchValue) {\n return;\n }\n\n dispatch(setSearchChannelFilter(searchValue));\n dispatch(applyChannelsFilters());\n dataLayerPush({\n event: EVENTS.UAevent,\n category: 'Click Bundles on the channel', 'action': 'search',\n });\n } catch (error) {\n console.info('Action: searchChannels error', error.message || error);\n }\n };\n}\n\n/**\n * Очищение поискового фильтра\n * @returns {{type: string}}\n */\nexport function clearSearchChannels() {\n return async(dispatch) => {\n try {\n dispatch(clearSearchChannelFilter());\n dispatch(applyChannelsFilters());\n } catch (error) {\n console.info('Action: clearSearchChannels error', error.message || error);\n }\n };\n}\n\nconst setChannelsThemeFilter = (themeId) => ({\n type: SET_THEME_CHANNELS_FILTER,\n payload: themeId,\n});\n\n/**\n * Фильтруем каналы по теме\n * @param themeId\n * @returns {Function}\n */\nexport function filterChannelsByTheme(themeId) {\n return async(dispatch) => {\n try {\n dispatch(setChannelsThemeFilter(themeId));\n dispatch(applyChannelsFilters());\n } catch (error) {\n console.info('Action: filterChannelsByTheme error', error.message || error);\n }\n };\n}\n\nconst clearChannelThemeFilter = () => ({\n type: CLEAR_THEME_CHANNELS_FILTER,\n});\n\n/**\n * Очищаем фильтр по теме\n * @returns {Function}\n */\nexport function clearChannelThemeSelection() {\n return async(dispatch) => {\n try {\n dispatch(clearChannelThemeFilter());\n dispatch(applyChannelsFilters());\n } catch (error) {\n console.info('Action: clearChannelThemeFilter error', error.message || error);\n }\n };\n}\n\nexport const clearSearchChannelFilter = () => ({\n type: CLEAR_SEARCH_CHANNELS_FILTER,\n});\n\nconst saveChannelThemes = (themes) => ({\n type: GET_CHANNEL_THEMES,\n payload: themes,\n});\n\n/**\n * Получение список тематик для каналов\n * @returns {Function}\n */\nexport function getChannelThemes() {\n return async(dispatch, getState) => {\n const channelThemes = getState().bundles.channelThemes;\n const providerId = getState().city.provider.providerId;\n if (channelThemes && channelThemes.length) {\n return;\n }\n\n const response = await doRequest.apiEPG(\n getCategories(providerId, { order: '+weight', with: 'channels' }),\n );\n if (response.isSuccess) {\n const formattedThemes = response.payload.map(theme => ({\n value: theme.rndId,\n id: theme.rndId,\n label: theme.name,\n name: theme.name,\n weight: theme.weight,\n channels: (theme.channels || []).map(channel => ({\n ...channel,\n isHd: channel.quality === 'HD',\n id: channel.epgId,\n logo: channel?.channelInfo?.logo,\n })),\n }));\n\n dispatch(saveChannelThemes(formattedThemes));\n }\n };\n}\n\nconst saveTariffChannels = (packages) => ({\n type: SET_TARIFF_CHANNELS,\n payload: packages,\n});\n\n/**\n * Получение пакетов телеканалов, по нему сможем опеределить\n * какие каналы входят в определенный пакет\n * @param {number | string | number[] | string[]} freePackets Пакеты каналов\n * @returns {Function}\n */\nexport function getChannelPackages(freePackets) {\n return async(dispatch) => {\n try {\n const packagesIds = Array.isArray(freePackets)\n ? freePackets.map(String)\n : String(freePackets).split(',');\n\n dispatch(saveTariffChannels(\n {\n packages: [...new Set(packagesIds)],\n isOfferChannels: false,\n },\n ));\n } catch (error) {\n console.info('Action: getChannelPackages error', error.message || error);\n }\n };\n}\n\n/**\n * Получение пакетов телеканалов для определённго СП (оффера)\n * @param {string, string[], number[] | undefined} freePackets Пакеты каналов\n * @returns {Function}\n */\nexport function getOfferChannelPackages(freePackets) {\n return async(dispatch) => {\n try {\n dispatch(saveTariffChannels(\n {\n packages: [...new Set(freePackets)],\n isOfferChannels: true,\n },\n ));\n } catch (error) {\n console.info('Action: getOfferChannelPackages error', error.message || error);\n }\n };\n}\n\nexport const setSelectedTariffIdAction = selectedTariffId => ({\n type: SET_SELECTED_TARIFF_ID,\n payload: selectedTariffId,\n});\n\nexport const setFilterForChannelsAction = selectedFilter => ({\n type: SET_FILTER_FOR_CHANNELS,\n payload: selectedFilter,\n});\n\nexport function setFilteredTariffsIdActions(filteredTariffsId) {\n return ({\n type: SET_FILTERED_TARIFFS_ID,\n payload: filteredTariffsId,\n });\n}\n\n/**\n * Смена темы каналов и фильтрация каналов в зависимости от выбранной темы\n * @returns {Function}\n */\n\nexport const onChangeChannelThemeAction = (data, channelThemes) => {\n return async(dispatch) => {\n try {\n const theme = typeof data === 'string' ? searchCategory(channelThemes, data) : data;\n\n if (theme.value === 0) {\n dispatch(clearChannelThemeSelection());\n dispatch(changeChannelsBundleId(theme.value));\n } else {\n dispatch(filterChannelsByTheme(theme.value));\n dispatch(changeChannelsBundleId(theme.value));\n }\n\n dispatch(setFilterForChannelsAction(theme));\n\n dataLayerPush({\n event: EVENTS.UAevent,\n category: 'Click Bundles on the channel',\n action: 'Filter_сhannel',\n label: theme.label,\n });\n } catch (error) {\n console.info('Action: onChangeChannelThemeAction error', error.message || error);\n }\n };\n};\n","import get from 'lodash/get';\nimport { createSelector } from 'reselect';\n\n/**\n *\n * @param {import('../../index').TState} state\n */\nconst getTariffs = ({ bundles }) => get(bundles, 'tariffs.byId');\nexport const getTariffsSelector = createSelector(\n [getTariffs],\n tariffs => [...Object.values(tariffs)],\n);\n\nexport const getTariffChannels = (state) => {\n const isActiveFilter = state.bundles.channelsFiltersIsApply;\n return isActiveFilter ? state.bundles.filteredChannels : state.bundles.tariffChannels;\n};\n\nexport const getTariffChannelsWithId = createSelector(\n state => getTariffChannels(state),\n channels => channels.map(channel => ({\n ...channel,\n id: channel.xvid,\n })),\n);\n\n","import { IRequest } from '@r1-frontend/shared/types/IRequest';\n\n/*\n* Информация о категориях каналов\n* https://master.api-epg.sandbox.d2c.r-one.io/docs/#/v1/ChannelCategoryController_getChannelCategoriesByProviderId\n*/\n\ninterface IParams {\n order?: string,\n with?: string,\n}\nexport const getCategories = (providerId: number, params?: IParams): IRequest => ({\n uri: `/api/v1/${providerId}/channel-categories`,\n method: 'GET',\n queryParams: {\n ...params,\n },\n headers: {\n providerId: `${providerId}`,\n },\n});\n","import { IRequest } from '@r1-frontend/shared/types/IRequest';\n\ninterface IGetChannels {\n includeDeleted?: 0 | 1,\n display?: 0 | 1,\n analog?: 0 | 1,\n digital?: 0 | 1,\n packetIds?: number[],\n channelId?: number,\n categoryId?: number,\n quality?: 'HD' | 'SD',\n with?: string,\n}\n\n/*\n* Список каналов в разрезе провайдеров\n* https://master.api-epg.sandbox.d2c.r-one.io/docs/#/v1/ChannelController_getChannelsByProviderId\n*/\nexport const getChannels = (providerId: number, params: IGetChannels): IRequest => ({\n uri: `/api/v1/${providerId}/channels`,\n method: 'GET',\n queryParams: {\n ...params,\n },\n headers: {\n providerId: `${providerId}`,\n },\n});\n"],"names":["quantityHdChannels","channels","reduce","quantityHd","channel","hasProp","quality","searchCategory","themes","label","category","value","forEach","item","createTariffBuilder","price","salePackage2in1","is_cottage","free_packets","price_final","promo_price_final","promo_duration_final","description","color","color_title_start","COLORS","color_title_end","alias","color_text","image_background","image_background_webp","sort_on_bundles","sort_on_internet","sort_on_internet_lines","tariffLine","id","title","body","sort","title_short","url_landing","weight","available_on_main_page","available_on_internet_page","additionalProducts","hasRequiredEquipment","lineId","location","offerContents","sale_package_id","uniqueId","productType","salePackageLinks","speed_int","speed_bonus","tariff_name_display","obj","prop","Object","prototype","hasOwnProperty","call","saveBanner","banner","type","GET_BUNDLES_BANNER","payload","changeChannelsBundleId","CHANNELS_PACKAGE_ID","clearChannelsBundleId","CLEAR_CHANNELS_PACKAGE_ID","saveTariffs","tariffs","selfOrder","GET_BUNDLES_TARIFFS_SELF_ORDER","GET_BUNDLES_TARIFFS","saveTariffLinesAvailableOnBundles","lines","GET_TARIFF_LINES","getAllChannels","providerId","dispatch","response","data","doRequest","getAllChannelsRequest","with","isSuccess","map","button","lcn","logo","channelInfo","chid","channelId","xvid","epgId","display","toString","bids","packets","billing_id","thid","GET_ALL_CHANNELS","applyChannelsFilters","APPLY_CHANNELS_FILTERS","setSearchChannelFilter","searchValue","SET_SEARCH_CHANNELS_FILTER","searchChannels","dataLayerPush","event","EVENTS","console","info","error","message","clearSearchChannels","clearSearchChannelFilter","setChannelsThemeFilter","themeId","SET_THEME_CHANNELS_FILTER","filterChannelsByTheme","clearChannelThemeSelection","CLEAR_THEME_CHANNELS_FILTER","CLEAR_SEARCH_CHANNELS_FILTER","getChannelThemes","getState","channelThemes","formattedThemes","bundles","city","provider","length","getCategories","order","theme","rndId","name","isHd","GET_CHANNEL_THEMES","saveTariffChannels","packages","SET_TARIFF_CHANNELS","getChannelPackages","freePackets","packagesIds","Array","isArray","String","split","Set","isOfferChannels","getOfferChannelPackages","setFilterForChannelsAction","selectedFilter","SET_FILTER_FOR_CHANNELS","onChangeChannelThemeAction","action","getTariffsSelector","createSelector","get","values","getTariffChannels","state","channelsFiltersIsApply","filteredChannels","tariffChannels","getTariffChannelsWithId","params","uri","method","queryParams","headers","getChannels"],"sourceRoot":""}