@mirai/core 0.4.352 → 0.4.353
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.
|
@@ -88,7 +88,7 @@ const RatesExplorer = _ref => {
|
|
|
88
88
|
dataSource: occupation = []
|
|
89
89
|
} = {}
|
|
90
90
|
} = dataSource || {};
|
|
91
|
-
console.log('>>>>>rooms', occupation);
|
|
91
|
+
console.log('>>>>>rooms', occupation, value === null || value === void 0 ? void 0 : value.occupation);
|
|
92
92
|
!(value !== null && value !== void 0 && value.occupation) && occupation.length > 0 && handleChange('occupation', [...Array(minRooms)].map(() => Array.isArray(guests) ? guests.map(guest => ({
|
|
93
93
|
...guest,
|
|
94
94
|
ages: new Array(guest.amount).fill(undefined)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RatesExplorer.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","_RatesExplorer","_RatesExplorer2","_RatesExplorer3","style","_RatesExplorer4","_","_Core","_prepareRoom","_helpers2","_toParties","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","RatesExplorer","_ref","offerId","roomId","others","isMobile","useDevice","translate","useLocale","value","cookies","currency","deals","hotel","language","locale","origin","rooms","skeleton","urlParams","store","useStore","ref","useRef","busy","setBusy","useState","dataSource","setDataSource","error","setError","visible","setVisible","visited","setVisited","notification","setNotification","useEffect","document","addEventListener","handleClickOutside","window","handlePageShow","removeEventListener","console","log","getDataSource","calendar","pricesInfo","guests","occupation","minRooms","handleChange","Array","map","isArray","guest","ages","amount","fill","undefined","prepareRoom","concat","field","fieldValue","nextValue","handleClear","_ref$current","current","contains","type","persisted","handleSubmit","calendarValid","validate","FIELD","CALENDAR","OCCUPATION","promoCode","params","checkin","dateFormat","format","clientCode","getCurrency","hsri","commissionCode","idoffers","idtokenprovider","id","lang","nights","dateDiff","days","parties","btoa","JSON","stringify","toParties","roomTypeId","location","href","process","env","SERVICE_BOOKING","REDIRECT_PATH","toQueryString","ServiceDeals","ServiceRooms","catch","role","createElement","View","className","styles","ratesExplorer","row","header","Text","bold","headline","level","markdown","text","L10N","LABEL_SELECT_DATES_PERSONS","Button","transparent","onPress","testId","Icon","ICON","CLEAR","ACTION_CLEAR","Calendar","onChange","event","container","Notification","small","wide","NOTIFICATION_SELECT_DATES","extras","FieldOccupation","forceRender","hideLabel","hotels","ACTION_APPLY","onError","onSubmit","onValid","FieldPromocode","PROMOCODE","onEnter","onLeave","footer","large","cta","ACTION_SEARCH","exports","displayName","propTypes","PropTypes","string"],"sources":["../../../../src/components/__shared__/RatesExplorer/RatesExplorer.jsx"],"sourcesContent":["/* eslint-disable react-hooks/exhaustive-deps */\nimport { useStore } from '@mirai/data-sources';\nimport { dateFormat, dateDiff, useLocale } from '@mirai/locale';\nimport { ServiceDeals, ServiceRooms } from '@mirai/services';\nimport { Button, Icon, Notification, styles, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { getCurrency, validate } from './helpers';\nimport { Calendar } from './RatesExplorer.Calendar';\nimport { FIELD } from './RatesExplorer.constants';\nimport { L10N } from './RatesExplorer.l10n';\nimport * as style from './RatesExplorer.module.css';\nimport Skeleton from './RatesExplorer.skeleton';\nimport { FieldOccupation, FieldPromocode } from '../';\nimport { REDIRECT_PATH } from '../../../Core.constants';\nimport { prepareRoom } from '../../../helpers/prepareRoom';\nimport { ICON, toQueryString } from '../../helpers';\nimport { toParties } from '../Occupation/helpers/toParties';\n\nconst RatesExplorer = ({ offerId, roomId, ...others }) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const {\n set,\n value: {\n cookies = {},\n currency,\n deals,\n hotel,\n language,\n locale,\n origin,\n rooms,\n skeleton = false,\n urlParams = {},\n ...store\n },\n } = useStore();\n const ref = useRef(null);\n\n const [busy, setBusy] = useState(false);\n const [dataSource, setDataSource] = useState();\n const [error, setError] = useState({});\n const [visible, setVisible] = useState();\n const [visited, setVisited] = useState({});\n const [notification, setNotification] = useState();\n\n useEffect(() => {\n !isMobile && document.addEventListener('click', handleClickOutside, true);\n\n window.addEventListener('pageshow', handlePageShow);\n\n return () => {\n !isMobile && document.removeEventListener('click', handleClickOutside, true);\n window.removeEventListener('pageshow', handlePageShow);\n };\n }, []);\n\n useEffect(() => {\n if (skeleton) return;\n console.log({ currency, locale });\n (async () => setDataSource(await getDataSource()))();\n }, [currency, locale]);\n\n useEffect(() => {\n const {\n calendar: { pricesInfo: { guests } = {} } = {},\n occupation: { minRooms = 1, dataSource: occupation = [] } = {},\n } = dataSource || {};\n\n console.log('>>>>>rooms', occupation);\n\n !value?.occupation &&\n occupation.length > 0 &&\n handleChange(\n 'occupation',\n [...Array(minRooms)].map(() =>\n Array.isArray(guests)\n ? guests.map((guest) => ({ ...guest, ages: new Array(guest.amount).fill(undefined) }))\n : prepareRoom(occupation),\n ),\n );\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource]);\n\n useEffect(() => {\n visible && setVisited({ ...visited, [`${visible}`]: true });\n }, [visible]);\n\n const handleChange = (field, fieldValue) => {\n if (!dataSource) return;\n\n const nextValue = { ...value, [field]: fieldValue };\n set(offerId ? { deals: nextValue } : { rooms: nextValue });\n };\n\n const handleClear = () => {\n set(offerId ? { deals: undefined } : { rooms: undefined });\n setError({});\n setVisible();\n setVisited(false);\n setNotification();\n };\n\n const handleClickOutside = ({ target } = {}) =>\n !ref.current?.contains(target) && target.type !== 'text' && setVisible();\n\n const handlePageShow = async ({ persisted } = {}) => {\n if (!persisted) return;\n\n setBusy(false);\n handleClear();\n setDataSource(await getDataSource());\n };\n\n const handleSubmit = () => {\n setNotification();\n const calendarValid = validate({ dataSource, value });\n if (!calendarValid) {\n isMobile ? setVisible(FIELD.CALENDAR) : setNotification(true);\n\n return;\n }\n if (error.occupation) {\n setVisible(FIELD.OCCUPATION);\n\n return;\n }\n\n setBusy(true);\n const { calendar, occupation, promoCode } = value;\n\n const params = {\n checkin: dateFormat(calendar[0], { format: 'DD/MM/YYYY' }),\n clientCode: promoCode || '',\n currency: getCurrency({ urlParams, cookies, currency }) || '',\n hsri: origin.commissionCode,\n ...(offerId ? { idoffers: offerId } : undefined),\n idtokenprovider: hotel.id,\n lang: language,\n nights: dateDiff(calendar[0], calendar[1]).days,\n parties: window.btoa(JSON.stringify(toParties(occupation))),\n ...(roomId ? { roomTypeId: roomId } : undefined),\n };\n window.location.href = `${process.env.SERVICE_BOOKING}/${REDIRECT_PATH}${toQueryString(params)}`;\n\n setBusy(true);\n };\n\n const getDataSource = () =>\n (offerId ? ServiceDeals : ServiceRooms)\n .get({\n ...store,\n currency: getCurrency({ cookies, currency, urlParams }),\n hotel,\n locale,\n offerId,\n roomId,\n })\n .catch(() => {});\n\n const value = deals || rooms || {};\n const { calendar = [], occupation, promoCode = '' } = value;\n\n const role = offerId ? 'deals' : 'rooms';\n console.log(dataSource?.occupation);\n return !skeleton ? (\n <View {...others} role={role} className={styles(style.ratesExplorer, others.className)}>\n <View row className={style.header}>\n <Text bold headline level={2} markdown={false} className={style.text}>\n {translate(L10N.LABEL_SELECT_DATES_PERSONS)}\n </Text>\n\n <Button transparent onPress={handleClear} testId={`${role}-button-clear`}>\n <Icon value={ICON.CLEAR} />\n {translate(L10N.ACTION_CLEAR)}\n </Button>\n </View>\n\n <Calendar\n {...dataSource?.calendar}\n value={calendar}\n visible={visible === FIELD.CALENDAR}\n visited={visited.calendar}\n onChange={(calendar, event) => handleChange('calendar', calendar, event)}\n onPress={() => setVisible(visible !== FIELD.CALENDAR ? FIELD.CALENDAR : undefined)}\n testId={`${role}-calendar`}\n />\n\n <View className={style.container}>\n {!isMobile && notification && (\n <Notification error small wide className={style.notification}>\n {translate(L10N.NOTIFICATION_SELECT_DATES)}\n </Notification>\n )}\n <View row={!isMobile} className={style.extras}>\n <FieldOccupation\n {...dataSource?.occupation}\n error={!!error.occupation}\n forceRender\n hideLabel={!isMobile}\n hotels={[hotel?.id]}\n ref={ref}\n text={translate(L10N.ACTION_APPLY)}\n value={occupation}\n visible={visible === FIELD.OCCUPATION}\n onChange={(occupation) => handleChange('occupation', occupation)}\n onError={(occupation) => setError({ ...error, occupation })}\n onPress={() => setVisible(visible !== FIELD.OCCUPATION ? FIELD.OCCUPATION : undefined)}\n onSubmit={isMobile ? () => setVisible() : undefined}\n onValid={() => setError({ ...error, occupation: undefined })}\n testId={`${role}-occupation`}\n />\n\n <FieldPromocode\n value={promoCode}\n visible={visible === FIELD.PROMOCODE}\n onChange={(promoCode) => handleChange('promoCode', promoCode)}\n onEnter={() => setVisible(FIELD.PROMOCODE)}\n onLeave={() => setVisible(undefined)}\n testId={`${role}-promocode`}\n />\n\n {!isMobile && <View className={style.footer} />}\n\n <Button\n busy={busy}\n large\n wide={isMobile}\n onPress={handleSubmit}\n className={style.cta}\n testId={`${role}-button`}\n >\n {translate(L10N.ACTION_SEARCH)}\n </Button>\n </View>\n </View>\n </View>\n ) : (\n <Skeleton />\n );\n};\n\nRatesExplorer.displayName = 'Mirai:Core:RatesExplorer';\n\nRatesExplorer.propTypes = {\n offerId: PropTypes.string,\n roomId: PropTypes.string,\n};\n\nexport { RatesExplorer };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"RatesExplorer.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","_RatesExplorer","_RatesExplorer2","_RatesExplorer3","style","_RatesExplorer4","_","_Core","_prepareRoom","_helpers2","_toParties","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","RatesExplorer","_ref","offerId","roomId","others","isMobile","useDevice","translate","useLocale","value","cookies","currency","deals","hotel","language","locale","origin","rooms","skeleton","urlParams","store","useStore","ref","useRef","busy","setBusy","useState","dataSource","setDataSource","error","setError","visible","setVisible","visited","setVisited","notification","setNotification","useEffect","document","addEventListener","handleClickOutside","window","handlePageShow","removeEventListener","console","log","getDataSource","calendar","pricesInfo","guests","occupation","minRooms","handleChange","Array","map","isArray","guest","ages","amount","fill","undefined","prepareRoom","concat","field","fieldValue","nextValue","handleClear","_ref$current","current","contains","type","persisted","handleSubmit","calendarValid","validate","FIELD","CALENDAR","OCCUPATION","promoCode","params","checkin","dateFormat","format","clientCode","getCurrency","hsri","commissionCode","idoffers","idtokenprovider","id","lang","nights","dateDiff","days","parties","btoa","JSON","stringify","toParties","roomTypeId","location","href","process","env","SERVICE_BOOKING","REDIRECT_PATH","toQueryString","ServiceDeals","ServiceRooms","catch","role","createElement","View","className","styles","ratesExplorer","row","header","Text","bold","headline","level","markdown","text","L10N","LABEL_SELECT_DATES_PERSONS","Button","transparent","onPress","testId","Icon","ICON","CLEAR","ACTION_CLEAR","Calendar","onChange","event","container","Notification","small","wide","NOTIFICATION_SELECT_DATES","extras","FieldOccupation","forceRender","hideLabel","hotels","ACTION_APPLY","onError","onSubmit","onValid","FieldPromocode","PROMOCODE","onEnter","onLeave","footer","large","cta","ACTION_SEARCH","exports","displayName","propTypes","PropTypes","string"],"sources":["../../../../src/components/__shared__/RatesExplorer/RatesExplorer.jsx"],"sourcesContent":["/* eslint-disable react-hooks/exhaustive-deps */\nimport { useStore } from '@mirai/data-sources';\nimport { dateFormat, dateDiff, useLocale } from '@mirai/locale';\nimport { ServiceDeals, ServiceRooms } from '@mirai/services';\nimport { Button, Icon, Notification, styles, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { getCurrency, validate } from './helpers';\nimport { Calendar } from './RatesExplorer.Calendar';\nimport { FIELD } from './RatesExplorer.constants';\nimport { L10N } from './RatesExplorer.l10n';\nimport * as style from './RatesExplorer.module.css';\nimport Skeleton from './RatesExplorer.skeleton';\nimport { FieldOccupation, FieldPromocode } from '../';\nimport { REDIRECT_PATH } from '../../../Core.constants';\nimport { prepareRoom } from '../../../helpers/prepareRoom';\nimport { ICON, toQueryString } from '../../helpers';\nimport { toParties } from '../Occupation/helpers/toParties';\n\nconst RatesExplorer = ({ offerId, roomId, ...others }) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const {\n set,\n value: {\n cookies = {},\n currency,\n deals,\n hotel,\n language,\n locale,\n origin,\n rooms,\n skeleton = false,\n urlParams = {},\n ...store\n },\n } = useStore();\n const ref = useRef(null);\n\n const [busy, setBusy] = useState(false);\n const [dataSource, setDataSource] = useState();\n const [error, setError] = useState({});\n const [visible, setVisible] = useState();\n const [visited, setVisited] = useState({});\n const [notification, setNotification] = useState();\n\n useEffect(() => {\n !isMobile && document.addEventListener('click', handleClickOutside, true);\n\n window.addEventListener('pageshow', handlePageShow);\n\n return () => {\n !isMobile && document.removeEventListener('click', handleClickOutside, true);\n window.removeEventListener('pageshow', handlePageShow);\n };\n }, []);\n\n useEffect(() => {\n if (skeleton) return;\n console.log({ currency, locale });\n (async () => setDataSource(await getDataSource()))();\n }, [currency, locale]);\n\n useEffect(() => {\n const {\n calendar: { pricesInfo: { guests } = {} } = {},\n occupation: { minRooms = 1, dataSource: occupation = [] } = {},\n } = dataSource || {};\n\n console.log('>>>>>rooms', occupation, value?.occupation);\n\n !value?.occupation &&\n occupation.length > 0 &&\n handleChange(\n 'occupation',\n [...Array(minRooms)].map(() =>\n Array.isArray(guests)\n ? guests.map((guest) => ({ ...guest, ages: new Array(guest.amount).fill(undefined) }))\n : prepareRoom(occupation),\n ),\n );\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource]);\n\n useEffect(() => {\n visible && setVisited({ ...visited, [`${visible}`]: true });\n }, [visible]);\n\n const handleChange = (field, fieldValue) => {\n if (!dataSource) return;\n\n const nextValue = { ...value, [field]: fieldValue };\n set(offerId ? { deals: nextValue } : { rooms: nextValue });\n };\n\n const handleClear = () => {\n set(offerId ? { deals: undefined } : { rooms: undefined });\n setError({});\n setVisible();\n setVisited(false);\n setNotification();\n };\n\n const handleClickOutside = ({ target } = {}) =>\n !ref.current?.contains(target) && target.type !== 'text' && setVisible();\n\n const handlePageShow = async ({ persisted } = {}) => {\n if (!persisted) return;\n\n setBusy(false);\n handleClear();\n setDataSource(await getDataSource());\n };\n\n const handleSubmit = () => {\n setNotification();\n const calendarValid = validate({ dataSource, value });\n if (!calendarValid) {\n isMobile ? setVisible(FIELD.CALENDAR) : setNotification(true);\n\n return;\n }\n if (error.occupation) {\n setVisible(FIELD.OCCUPATION);\n\n return;\n }\n\n setBusy(true);\n const { calendar, occupation, promoCode } = value;\n\n const params = {\n checkin: dateFormat(calendar[0], { format: 'DD/MM/YYYY' }),\n clientCode: promoCode || '',\n currency: getCurrency({ urlParams, cookies, currency }) || '',\n hsri: origin.commissionCode,\n ...(offerId ? { idoffers: offerId } : undefined),\n idtokenprovider: hotel.id,\n lang: language,\n nights: dateDiff(calendar[0], calendar[1]).days,\n parties: window.btoa(JSON.stringify(toParties(occupation))),\n ...(roomId ? { roomTypeId: roomId } : undefined),\n };\n window.location.href = `${process.env.SERVICE_BOOKING}/${REDIRECT_PATH}${toQueryString(params)}`;\n\n setBusy(true);\n };\n\n const getDataSource = () =>\n (offerId ? ServiceDeals : ServiceRooms)\n .get({\n ...store,\n currency: getCurrency({ cookies, currency, urlParams }),\n hotel,\n locale,\n offerId,\n roomId,\n })\n .catch(() => {});\n\n const value = deals || rooms || {};\n const { calendar = [], occupation, promoCode = '' } = value;\n\n const role = offerId ? 'deals' : 'rooms';\n console.log(dataSource?.occupation);\n return !skeleton ? (\n <View {...others} role={role} className={styles(style.ratesExplorer, others.className)}>\n <View row className={style.header}>\n <Text bold headline level={2} markdown={false} className={style.text}>\n {translate(L10N.LABEL_SELECT_DATES_PERSONS)}\n </Text>\n\n <Button transparent onPress={handleClear} testId={`${role}-button-clear`}>\n <Icon value={ICON.CLEAR} />\n {translate(L10N.ACTION_CLEAR)}\n </Button>\n </View>\n\n <Calendar\n {...dataSource?.calendar}\n value={calendar}\n visible={visible === FIELD.CALENDAR}\n visited={visited.calendar}\n onChange={(calendar, event) => handleChange('calendar', calendar, event)}\n onPress={() => setVisible(visible !== FIELD.CALENDAR ? FIELD.CALENDAR : undefined)}\n testId={`${role}-calendar`}\n />\n\n <View className={style.container}>\n {!isMobile && notification && (\n <Notification error small wide className={style.notification}>\n {translate(L10N.NOTIFICATION_SELECT_DATES)}\n </Notification>\n )}\n <View row={!isMobile} className={style.extras}>\n <FieldOccupation\n {...dataSource?.occupation}\n error={!!error.occupation}\n forceRender\n hideLabel={!isMobile}\n hotels={[hotel?.id]}\n ref={ref}\n text={translate(L10N.ACTION_APPLY)}\n value={occupation}\n visible={visible === FIELD.OCCUPATION}\n onChange={(occupation) => handleChange('occupation', occupation)}\n onError={(occupation) => setError({ ...error, occupation })}\n onPress={() => setVisible(visible !== FIELD.OCCUPATION ? FIELD.OCCUPATION : undefined)}\n onSubmit={isMobile ? () => setVisible() : undefined}\n onValid={() => setError({ ...error, occupation: undefined })}\n testId={`${role}-occupation`}\n />\n\n <FieldPromocode\n value={promoCode}\n visible={visible === FIELD.PROMOCODE}\n onChange={(promoCode) => handleChange('promoCode', promoCode)}\n onEnter={() => setVisible(FIELD.PROMOCODE)}\n onLeave={() => setVisible(undefined)}\n testId={`${role}-promocode`}\n />\n\n {!isMobile && <View className={style.footer} />}\n\n <Button\n busy={busy}\n large\n wide={isMobile}\n onPress={handleSubmit}\n className={style.cta}\n testId={`${role}-button`}\n >\n {translate(L10N.ACTION_SEARCH)}\n </Button>\n </View>\n </View>\n </View>\n ) : (\n <Skeleton />\n );\n};\n\nRatesExplorer.displayName = 'Mirai:Core:RatesExplorer';\n\nRatesExplorer.propTypes = {\n offerId: PropTypes.string,\n roomId: PropTypes.string,\n};\n\nexport { RatesExplorer };\n"],"mappings":"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"}
|