@mirai/core 0.3.56 → 0.3.58
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/components/Booking/partials/__tests__/__snapshots__/Booking.Details.test.js.snap +472 -236
- package/build/components/Checkout/Checkout.js +2 -2
- package/build/components/Checkout/Checkout.js.map +1 -1
- package/build/components/Checkout/helpers/trackDataSource.js +15 -21
- package/build/components/Checkout/helpers/trackDataSource.js.map +1 -1
- package/build/components/__shared__/BookingTable/__tests__/__snapshots__/BookingTable.Row.test.js.snap +16 -8
- package/package.json +1 -1
|
@@ -48,7 +48,7 @@ const Checkout = _ref => {
|
|
|
48
48
|
language,
|
|
49
49
|
locale,
|
|
50
50
|
session,
|
|
51
|
-
urlParams
|
|
51
|
+
urlParams = {}
|
|
52
52
|
}
|
|
53
53
|
} = (0, _dataSources.useStore)();
|
|
54
54
|
const [dataSource, setDataSource] = (0, _react.useState)();
|
|
@@ -78,7 +78,7 @@ const Checkout = _ref => {
|
|
|
78
78
|
});
|
|
79
79
|
});
|
|
80
80
|
setDataSource(response);
|
|
81
|
-
(0, _helpers.trackDataSource)({
|
|
81
|
+
response && (0, _helpers.trackDataSource)({
|
|
82
82
|
...response,
|
|
83
83
|
...urlParams,
|
|
84
84
|
isMobile
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Checkout.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Checkout","_Checkout2","style","_Checkout3","_helpers","_partials","_partials2","_Booking","_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","hasTracking","Checkout","_ref","session","showSession","skeleton","others","isDesktop","isMobile","useDevice","translate","useLocale","track","trackRender","useMetrics","value","currency","hotel","id","language","locale","urlParams","useStore","dataSource","setDataSource","useState","error","setError","modalAgency","setModalAgency","responseError","setResponseError","useEffect","ServiceFeatures","FEATURE_CHECKOUT_TRACKING","concat","TRACKING","response","ServiceBooking","checkout","catch","service","method","trackDataSource","window","addEventListener","innerHeight","scrollY","documentElement","scrollHeight","document","handleModalAgency","agency","image","undefined","variant","getVariant","createElement","Fragment","View","role","className","styles","container","Progress","indeterminate","visible","progress","src","logo","row","content","main","Summary","box","Details","Session","name","Notification","small","info","wide","L10N","NOTIFICATION_AGENCY","link","Action","inline","underline","onPress","action","ACTION_MORE_INFO","Form","onError","Others","tracking","Confirmation","disabled","large","NOTIFICATION_ERROR","code","ERROR","UNKNOWN","ModalAgency","onClose","exports","propTypes","PropTypes","bool"],"sources":["../../../src/components/Checkout/Checkout.jsx"],"sourcesContent":["import { useMetrics, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { ServiceBooking, ServiceFeatures } from '@mirai/services';\nimport { Action, Notification, Progress, styles, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { ERROR, FEATURE_CHECKOUT_TRACKING, TRACKING } from './Checkout.constants';\nimport { L10N } from './Checkout.l10n';\nimport * as style from './Checkout.module.css';\nimport Skeleton from './Checkout.skeleton';\nimport { getVariant, trackDataSource } from './helpers';\nimport { Confirmation, Details, Form, Session, Summary } from './partials';\nimport { Others } from '../Booking/partials';\nimport { ModalAgency } from '../Booking/partials/Booking.ModalAgency';\n\nlet hasTracking = false;\n\nconst Checkout = ({ session: showSession = true, skeleton, ...others }) => {\n const { isDesktop, isMobile } = useDevice();\n const { translate } = useLocale();\n const { track, trackRender } = useMetrics();\n const {\n value: { currency, hotel, id, language, locale, session, urlParams },\n } = useStore();\n\n const [dataSource, setDataSource] = useState();\n const [error, setError] = useState();\n const [modalAgency, setModalAgency] = useState(false);\n const [responseError, setResponseError] = useState();\n\n useEffect(() => {\n if (skeleton) return;\n\n hasTracking = ServiceFeatures.get(FEATURE_CHECKOUT_TRACKING, id);\n hasTracking && trackRender(`${TRACKING}:RENDER`, { locale });\n\n (async () => {\n const response = await ServiceBooking.checkout({\n currency,\n hotel,\n language,\n locale,\n session,\n ...urlParams,\n }).catch((error) => {\n setResponseError(error);\n hasTracking && track(`${TRACKING}:ERROR:SERVICE`, { service: 'Booking', method: 'checkout', error });\n });\n setDataSource(response);\n trackDataSource({ ...response, ...urlParams, isMobile });\n })();\n\n window.addEventListener('scroll', () => {\n if (!hasTracking) return;\n const { innerHeight = 0, scrollY } = window;\n const { documentElement: { scrollHeight = 0 } = {} } = document;\n\n if (scrollY >= scrollHeight - innerHeight) track(`${TRACKING}:SCROLL:BOTTOM`);\n else if (scrollY === 0) track(`${TRACKING}:SCROLL:TOP`);\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [session]);\n\n const handleModalAgency = () => {\n setModalAgency(true);\n };\n\n const { agency = {}, hotel: { image } = {} } = dataSource || {};\n const response = dataSource !== undefined;\n const variant = getVariant({ id, isMobile, urlParams });\n\n return (\n <>\n <View {...others} role=\"checkout\" className={styles(style.container, others.className)}>\n <Progress indeterminate visible={!response && !responseError} className={style.progress} />\n {response ? (\n <>\n <img src={image} className={style.logo} />\n\n <View row={isDesktop} className={style.content}>\n <View className={style.main}>\n {variant === 'B' && <Summary dataSource={dataSource} className={style.box} />}\n\n {isMobile && <Details dataSource={dataSource} variant={variant} />}\n {!session && showSession === 'true' && <Session />}\n {agency.name && (\n <Notification {...others} small info wide className={styles(style.agency, others.className)}>\n {translate(L10N.NOTIFICATION_AGENCY, {\n agency: agency.name,\n link: (\n <>\n <Action inline underline small onPress={handleModalAgency} className={styles(style.action)}>\n {translate(L10N.ACTION_MORE_INFO)}\n </Action>\n </>\n ),\n })}\n </Notification>\n )}\n <Form dataSource={dataSource} onError={setError} />\n {!isMobile && <Details dataSource={dataSource} variant={variant} />}\n <Others dataSource={dataSource} small tracking={TRACKING} />\n </View>\n\n <Confirmation dataSource={dataSource} disabled={error} variant={variant} />\n </View>\n </>\n ) : responseError ? (\n <Notification error large>\n {translate(L10N.NOTIFICATION_ERROR[responseError?.code || ERROR.UNKNOWN])}\n </Notification>\n ) : (\n <Skeleton />\n )}\n </View>\n {agency?.name && <ModalAgency {...agency} visible={modalAgency} onClose={() => setModalAgency(false)} />}\n </>\n );\n};\n\nCheckout.propTypes = {\n session: PropTypes.bool,\n skeleton: PropTypes.bool,\n};\n\nexport { Checkout };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Checkout.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Checkout","_Checkout2","style","_Checkout3","_helpers","_partials","_partials2","_Booking","_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","hasTracking","Checkout","_ref","session","showSession","skeleton","others","isDesktop","isMobile","useDevice","translate","useLocale","track","trackRender","useMetrics","value","currency","hotel","id","language","locale","urlParams","useStore","dataSource","setDataSource","useState","error","setError","modalAgency","setModalAgency","responseError","setResponseError","useEffect","ServiceFeatures","FEATURE_CHECKOUT_TRACKING","concat","TRACKING","response","ServiceBooking","checkout","catch","service","method","trackDataSource","window","addEventListener","innerHeight","scrollY","documentElement","scrollHeight","document","handleModalAgency","agency","image","undefined","variant","getVariant","createElement","Fragment","View","role","className","styles","container","Progress","indeterminate","visible","progress","src","logo","row","content","main","Summary","box","Details","Session","name","Notification","small","info","wide","L10N","NOTIFICATION_AGENCY","link","Action","inline","underline","onPress","action","ACTION_MORE_INFO","Form","onError","Others","tracking","Confirmation","disabled","large","NOTIFICATION_ERROR","code","ERROR","UNKNOWN","ModalAgency","onClose","exports","propTypes","PropTypes","bool"],"sources":["../../../src/components/Checkout/Checkout.jsx"],"sourcesContent":["import { useMetrics, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { ServiceBooking, ServiceFeatures } from '@mirai/services';\nimport { Action, Notification, Progress, styles, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { ERROR, FEATURE_CHECKOUT_TRACKING, TRACKING } from './Checkout.constants';\nimport { L10N } from './Checkout.l10n';\nimport * as style from './Checkout.module.css';\nimport Skeleton from './Checkout.skeleton';\nimport { getVariant, trackDataSource } from './helpers';\nimport { Confirmation, Details, Form, Session, Summary } from './partials';\nimport { Others } from '../Booking/partials';\nimport { ModalAgency } from '../Booking/partials/Booking.ModalAgency';\n\nlet hasTracking = false;\n\nconst Checkout = ({ session: showSession = true, skeleton, ...others }) => {\n const { isDesktop, isMobile } = useDevice();\n const { translate } = useLocale();\n const { track, trackRender } = useMetrics();\n const {\n value: { currency, hotel, id, language, locale, session, urlParams = {} },\n } = useStore();\n\n const [dataSource, setDataSource] = useState();\n const [error, setError] = useState();\n const [modalAgency, setModalAgency] = useState(false);\n const [responseError, setResponseError] = useState();\n\n useEffect(() => {\n if (skeleton) return;\n\n hasTracking = ServiceFeatures.get(FEATURE_CHECKOUT_TRACKING, id);\n hasTracking && trackRender(`${TRACKING}:RENDER`, { locale });\n\n (async () => {\n const response = await ServiceBooking.checkout({\n currency,\n hotel,\n language,\n locale,\n session,\n ...urlParams,\n }).catch((error) => {\n setResponseError(error);\n hasTracking && track(`${TRACKING}:ERROR:SERVICE`, { service: 'Booking', method: 'checkout', error });\n });\n setDataSource(response);\n response && trackDataSource({ ...response, ...urlParams, isMobile });\n })();\n\n window.addEventListener('scroll', () => {\n if (!hasTracking) return;\n const { innerHeight = 0, scrollY } = window;\n const { documentElement: { scrollHeight = 0 } = {} } = document;\n\n if (scrollY >= scrollHeight - innerHeight) track(`${TRACKING}:SCROLL:BOTTOM`);\n else if (scrollY === 0) track(`${TRACKING}:SCROLL:TOP`);\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [session]);\n\n const handleModalAgency = () => {\n setModalAgency(true);\n };\n\n const { agency = {}, hotel: { image } = {} } = dataSource || {};\n const response = dataSource !== undefined;\n const variant = getVariant({ id, isMobile, urlParams });\n\n return (\n <>\n <View {...others} role=\"checkout\" className={styles(style.container, others.className)}>\n <Progress indeterminate visible={!response && !responseError} className={style.progress} />\n {response ? (\n <>\n <img src={image} className={style.logo} />\n\n <View row={isDesktop} className={style.content}>\n <View className={style.main}>\n {variant === 'B' && <Summary dataSource={dataSource} className={style.box} />}\n\n {isMobile && <Details dataSource={dataSource} variant={variant} />}\n {!session && showSession === 'true' && <Session />}\n {agency.name && (\n <Notification {...others} small info wide className={styles(style.agency, others.className)}>\n {translate(L10N.NOTIFICATION_AGENCY, {\n agency: agency.name,\n link: (\n <>\n <Action inline underline small onPress={handleModalAgency} className={styles(style.action)}>\n {translate(L10N.ACTION_MORE_INFO)}\n </Action>\n </>\n ),\n })}\n </Notification>\n )}\n <Form dataSource={dataSource} onError={setError} />\n {!isMobile && <Details dataSource={dataSource} variant={variant} />}\n <Others dataSource={dataSource} small tracking={TRACKING} />\n </View>\n\n <Confirmation dataSource={dataSource} disabled={error} variant={variant} />\n </View>\n </>\n ) : responseError ? (\n <Notification error large>\n {translate(L10N.NOTIFICATION_ERROR[responseError?.code || ERROR.UNKNOWN])}\n </Notification>\n ) : (\n <Skeleton />\n )}\n </View>\n {agency?.name && <ModalAgency {...agency} visible={modalAgency} onClose={() => setModalAgency(false)} />}\n </>\n );\n};\n\nCheckout.propTypes = {\n session: PropTypes.bool,\n skeleton: PropTypes.bool,\n};\n\nexport { Checkout };\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AACA,IAAAG,GAAA,GAAAH,OAAA;AACA,IAAAI,UAAA,GAAAC,sBAAA,CAAAL,OAAA;AACA,IAAAM,MAAA,GAAAC,uBAAA,CAAAP,OAAA;AAEA,IAAAQ,SAAA,GAAAR,OAAA;AACA,IAAAS,UAAA,GAAAT,OAAA;AACA,IAAAU,KAAA,GAAAH,uBAAA,CAAAP,OAAA;AACA,IAAAW,UAAA,GAAAN,sBAAA,CAAAL,OAAA;AACA,IAAAY,QAAA,GAAAZ,OAAA;AACA,IAAAa,SAAA,GAAAb,OAAA;AACA,IAAAc,UAAA,GAAAd,OAAA;AACA,IAAAe,QAAA,GAAAf,OAAA;AAAsE,SAAAgB,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAV,wBAAAU,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA,SAAApB,uBAAAgC,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAhB,UAAA,GAAAgB,GAAA,KAAAf,OAAA,EAAAe,GAAA;AAAA,SAAAC,SAAA,IAAAA,QAAA,GAAAV,MAAA,CAAAW,MAAA,GAAAX,MAAA,CAAAW,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAN,CAAA,MAAAA,CAAA,GAAAO,SAAA,CAAAC,MAAA,EAAAR,CAAA,UAAAS,MAAA,GAAAF,SAAA,CAAAP,CAAA,YAAAU,GAAA,IAAAD,MAAA,QAAAhB,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAU,MAAA,EAAAC,GAAA,KAAAJ,MAAA,CAAAI,GAAA,IAAAD,MAAA,CAAAC,GAAA,gBAAAJ,MAAA,YAAAH,QAAA,CAAAQ,KAAA,OAAAJ,SAAA;AAEtE,IAAIK,WAAW,GAAG,KAAK;AAEvB,MAAMC,QAAQ,GAAGC,IAAA,IAA0D;EAAA,IAAzD;IAAEC,OAAO,EAAEC,WAAW,GAAG,IAAI;IAAEC,QAAQ;IAAE,GAAGC;EAAO,CAAC,GAAAJ,IAAA;EACpE,MAAM;IAAEK,SAAS;IAAEC;EAAS,CAAC,GAAG,IAAAC,aAAS,EAAC,CAAC;EAC3C,MAAM;IAAEC;EAAU,CAAC,GAAG,IAAAC,iBAAS,EAAC,CAAC;EACjC,MAAM;IAAEC,KAAK;IAAEC;EAAY,CAAC,GAAG,IAAAC,uBAAU,EAAC,CAAC;EAC3C,MAAM;IACJC,KAAK,EAAE;MAAEC,QAAQ;MAAEC,KAAK;MAAEC,EAAE;MAAEC,QAAQ;MAAEC,MAAM;MAAEjB,OAAO;MAAEkB,SAAS,GAAG,CAAC;IAAE;EAC1E,CAAC,GAAG,IAAAC,qBAAQ,EAAC,CAAC;EAEd,MAAM,CAACC,UAAU,EAAEC,aAAa,CAAC,GAAG,IAAAC,eAAQ,EAAC,CAAC;EAC9C,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAG,IAAAF,eAAQ,EAAC,CAAC;EACpC,MAAM,CAACG,WAAW,EAAEC,cAAc,CAAC,GAAG,IAAAJ,eAAQ,EAAC,KAAK,CAAC;EACrD,MAAM,CAACK,aAAa,EAAEC,gBAAgB,CAAC,GAAG,IAAAN,eAAQ,EAAC,CAAC;EAEpD,IAAAO,gBAAS,EAAC,MAAM;IACd,IAAI3B,QAAQ,EAAE;IAEdL,WAAW,GAAGiC,yBAAe,CAACxD,GAAG,CAACyD,mCAAyB,EAAEhB,EAAE,CAAC;IAChElB,WAAW,IAAIa,WAAW,IAAAsB,MAAA,CAAIC,kBAAQ,cAAW;MAAEhB;IAAO,CAAC,CAAC;IAE5D,CAAC,YAAY;MACX,MAAMiB,QAAQ,GAAG,MAAMC,wBAAc,CAACC,QAAQ,CAAC;QAC7CvB,QAAQ;QACRC,KAAK;QACLE,QAAQ;QACRC,MAAM;QACNjB,OAAO;QACP,GAAGkB;MACL,CAAC,CAAC,CAACmB,KAAK,CAAEd,KAAK,IAAK;QAClBK,gBAAgB,CAACL,KAAK,CAAC;QACvB1B,WAAW,IAAIY,KAAK,IAAAuB,MAAA,CAAIC,kBAAQ,qBAAkB;UAAEK,OAAO,EAAE,SAAS;UAAEC,MAAM,EAAE,UAAU;UAAEhB;QAAM,CAAC,CAAC;MACtG,CAAC,CAAC;MACFF,aAAa,CAACa,QAAQ,CAAC;MACvBA,QAAQ,IAAI,IAAAM,wBAAe,EAAC;QAAE,GAAGN,QAAQ;QAAE,GAAGhB,SAAS;QAAEb;MAAS,CAAC,CAAC;IACtE,CAAC,EAAE,CAAC;IAEJoC,MAAM,CAACC,gBAAgB,CAAC,QAAQ,EAAE,MAAM;MACtC,IAAI,CAAC7C,WAAW,EAAE;MAClB,MAAM;QAAE8C,WAAW,GAAG,CAAC;QAAEC;MAAQ,CAAC,GAAGH,MAAM;MAC3C,MAAM;QAAEI,eAAe,EAAE;UAAEC,YAAY,GAAG;QAAE,CAAC,GAAG,CAAC;MAAE,CAAC,GAAGC,QAAQ;MAE/D,IAAIH,OAAO,IAAIE,YAAY,GAAGH,WAAW,EAAElC,KAAK,IAAAuB,MAAA,CAAIC,kBAAQ,mBAAgB,CAAC,CAAC,KACzE,IAAIW,OAAO,KAAK,CAAC,EAAEnC,KAAK,IAAAuB,MAAA,CAAIC,kBAAQ,gBAAa,CAAC;IACzD,CAAC,CAAC;IACF;EACF,CAAC,EAAE,CAACjC,OAAO,CAAC,CAAC;EAEb,MAAMgD,iBAAiB,GAAGA,CAAA,KAAM;IAC9BtB,cAAc,CAAC,IAAI,CAAC;EACtB,CAAC;EAED,MAAM;IAAEuB,MAAM,GAAG,CAAC,CAAC;IAAEnC,KAAK,EAAE;MAAEoC;IAAM,CAAC,GAAG,CAAC;EAAE,CAAC,GAAG9B,UAAU,IAAI,CAAC,CAAC;EAC/D,MAAMc,QAAQ,GAAGd,UAAU,KAAK+B,SAAS;EACzC,MAAMC,OAAO,GAAG,IAAAC,mBAAU,EAAC;IAAEtC,EAAE;IAAEV,QAAQ;IAAEa;EAAU,CAAC,CAAC;EAEvD,oBACE9D,MAAA,CAAAgB,OAAA,CAAAkF,aAAA,CAAAlG,MAAA,CAAAgB,OAAA,CAAAmF,QAAA,qBACEnG,MAAA,CAAAgB,OAAA,CAAAkF,aAAA,CAACrG,GAAA,CAAAuG,IAAI,EAAApE,QAAA,KAAKe,MAAM;IAAEsD,IAAI,EAAC,UAAU;IAACC,SAAS,EAAE,IAAAC,UAAM,EAACnG,KAAK,CAACoG,SAAS,EAAEzD,MAAM,CAACuD,SAAS;EAAE,iBACrFtG,MAAA,CAAAgB,OAAA,CAAAkF,aAAA,CAACrG,GAAA,CAAA4G,QAAQ;IAACC,aAAa;IAACC,OAAO,EAAE,CAAC7B,QAAQ,IAAI,CAACP,aAAc;IAAC+B,SAAS,EAAElG,KAAK,CAACwG;EAAS,CAAE,CAAC,EAC1F9B,QAAQ,gBACP9E,MAAA,CAAAgB,OAAA,CAAAkF,aAAA,CAAAlG,MAAA,CAAAgB,OAAA,CAAAmF,QAAA,qBACEnG,MAAA,CAAAgB,OAAA,CAAAkF,aAAA;IAAKW,GAAG,EAAEf,KAAM;IAACQ,SAAS,EAAElG,KAAK,CAAC0G;EAAK,CAAE,CAAC,eAE1C9G,MAAA,CAAAgB,OAAA,CAAAkF,aAAA,CAACrG,GAAA,CAAAuG,IAAI;IAACW,GAAG,EAAE/D,SAAU;IAACsD,SAAS,EAAElG,KAAK,CAAC4G;EAAQ,gBAC7ChH,MAAA,CAAAgB,OAAA,CAAAkF,aAAA,CAACrG,GAAA,CAAAuG,IAAI;IAACE,SAAS,EAAElG,KAAK,CAAC6G;EAAK,GACzBjB,OAAO,KAAK,GAAG,iBAAIhG,MAAA,CAAAgB,OAAA,CAAAkF,aAAA,CAAC3F,SAAA,CAAA2G,OAAO;IAAClD,UAAU,EAAEA,UAAW;IAACsC,SAAS,EAAElG,KAAK,CAAC+G;EAAI,CAAE,CAAC,EAE5ElE,QAAQ,iBAAIjD,MAAA,CAAAgB,OAAA,CAAAkF,aAAA,CAAC3F,SAAA,CAAA6G,OAAO;IAACpD,UAAU,EAAEA,UAAW;IAACgC,OAAO,EAAEA;EAAQ,CAAE,CAAC,EACjE,CAACpD,OAAO,IAAIC,WAAW,KAAK,MAAM,iBAAI7C,MAAA,CAAAgB,OAAA,CAAAkF,aAAA,CAAC3F,SAAA,CAAA8G,OAAO,MAAE,CAAC,EACjDxB,MAAM,CAACyB,IAAI,iBACVtH,MAAA,CAAAgB,OAAA,CAAAkF,aAAA,CAACrG,GAAA,CAAA0H,YAAY,EAAAvF,QAAA,KAAKe,MAAM;IAAEyE,KAAK;IAACC,IAAI;IAACC,IAAI;IAACpB,SAAS,EAAE,IAAAC,UAAM,EAACnG,KAAK,CAACyF,MAAM,EAAE9C,MAAM,CAACuD,SAAS;EAAE,IACzFnD,SAAS,CAACwE,eAAI,CAACC,mBAAmB,EAAE;IACnC/B,MAAM,EAAEA,MAAM,CAACyB,IAAI;IACnBO,IAAI,eACF7H,MAAA,CAAAgB,OAAA,CAAAkF,aAAA,CAAAlG,MAAA,CAAAgB,OAAA,CAAAmF,QAAA,qBACEnG,MAAA,CAAAgB,OAAA,CAAAkF,aAAA,CAACrG,GAAA,CAAAiI,MAAM;MAACC,MAAM;MAACC,SAAS;MAACR,KAAK;MAACS,OAAO,EAAErC,iBAAkB;MAACU,SAAS,EAAE,IAAAC,UAAM,EAACnG,KAAK,CAAC8H,MAAM;IAAE,GACxF/E,SAAS,CAACwE,eAAI,CAACQ,gBAAgB,CAC1B,CACR;EAEN,CAAC,CACW,CACf,eACDnI,MAAA,CAAAgB,OAAA,CAAAkF,aAAA,CAAC3F,SAAA,CAAA6H,IAAI;IAACpE,UAAU,EAAEA,UAAW;IAACqE,OAAO,EAAEjE;EAAS,CAAE,CAAC,EAClD,CAACnB,QAAQ,iBAAIjD,MAAA,CAAAgB,OAAA,CAAAkF,aAAA,CAAC3F,SAAA,CAAA6G,OAAO;IAACpD,UAAU,EAAEA,UAAW;IAACgC,OAAO,EAAEA;EAAQ,CAAE,CAAC,eACnEhG,MAAA,CAAAgB,OAAA,CAAAkF,aAAA,CAAC1F,UAAA,CAAA8H,MAAM;IAACtE,UAAU,EAAEA,UAAW;IAACwD,KAAK;IAACe,QAAQ,EAAE1D;EAAS,CAAE,CACvD,CAAC,eAEP7E,MAAA,CAAAgB,OAAA,CAAAkF,aAAA,CAAC3F,SAAA,CAAAiI,YAAY;IAACxE,UAAU,EAAEA,UAAW;IAACyE,QAAQ,EAAEtE,KAAM;IAAC6B,OAAO,EAAEA;EAAQ,CAAE,CACtE,CACN,CAAC,GACDzB,aAAa,gBACfvE,MAAA,CAAAgB,OAAA,CAAAkF,aAAA,CAACrG,GAAA,CAAA0H,YAAY;IAACpD,KAAK;IAACuE,KAAK;EAAA,GACtBvF,SAAS,CAACwE,eAAI,CAACgB,kBAAkB,CAAC,CAAApE,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEqE,IAAI,KAAIC,eAAK,CAACC,OAAO,CAAC,CAC5D,CAAC,gBAEf9I,MAAA,CAAAgB,OAAA,CAAAkF,aAAA,CAAC7F,UAAA,CAAAW,OAAQ,MAAE,CAET,CAAC,EACN,CAAA6E,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEyB,IAAI,kBAAItH,MAAA,CAAAgB,OAAA,CAAAkF,aAAA,CAACzF,QAAA,CAAAsI,WAAW,EAAA/G,QAAA,KAAK6D,MAAM;IAAEc,OAAO,EAAEtC,WAAY;IAAC2E,OAAO,EAAEA,CAAA,KAAM1E,cAAc,CAAC,KAAK;EAAE,EAAE,CACvG,CAAC;AAEP,CAAC;AAAC2E,OAAA,CAAAvG,QAAA,GAAAA,QAAA;AAEFA,QAAQ,CAACwG,SAAS,GAAG;EACnBtG,OAAO,EAAEuG,kBAAS,CAACC,IAAI;EACvBtG,QAAQ,EAAEqG,kBAAS,CAACC;AACtB,CAAC"}
|
|
@@ -6,36 +6,30 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.trackDataSource = void 0;
|
|
7
7
|
var _locale = require("@mirai/locale");
|
|
8
8
|
var _helpers = require("../../helpers");
|
|
9
|
-
const trackDataSource =
|
|
10
|
-
let {
|
|
11
|
-
response,
|
|
12
|
-
...others
|
|
13
|
-
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
14
|
-
if (!response) return;
|
|
9
|
+
const trackDataSource = dataSource => {
|
|
15
10
|
const {
|
|
16
11
|
checkin,
|
|
17
12
|
clientCode,
|
|
18
|
-
currencies,
|
|
19
13
|
currency: userCurrency,
|
|
20
|
-
hotelCurrency,
|
|
21
|
-
hotelLocality,
|
|
22
14
|
idchain,
|
|
23
15
|
idtokenprovider,
|
|
24
16
|
isMobile,
|
|
25
17
|
lang,
|
|
26
18
|
nights,
|
|
27
19
|
parties,
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
20
|
+
tracking: {
|
|
21
|
+
currencies = {},
|
|
22
|
+
hotelCurrency,
|
|
23
|
+
hotelLocality,
|
|
24
|
+
propertyName,
|
|
25
|
+
propertyType,
|
|
26
|
+
reservedExtras = {},
|
|
27
|
+
reservedRooms = [],
|
|
28
|
+
totalPriceWithoutTaxes: totalPriceRoomWithoutTaxes,
|
|
29
|
+
totalPriceWithTaxes: totalPriceRoomWithTaxes,
|
|
30
|
+
userCountry
|
|
31
|
+
} = {}
|
|
32
|
+
} = dataSource;
|
|
39
33
|
let totalNumRooms = 0;
|
|
40
34
|
let totalNumAdults = 0;
|
|
41
35
|
let totalNumChildren = 0;
|
|
@@ -67,7 +61,7 @@ const trackDataSource = function () {
|
|
|
67
61
|
});
|
|
68
62
|
const totalExtrasTaxes = totalExtrasWithTaxes - totalExtrasWithoutTaxes;
|
|
69
63
|
const totalRoomsTaxes = totalPriceRoomWithTaxes - totalPriceRoomWithoutTaxes;
|
|
70
|
-
|
|
64
|
+
(0, _helpers.trace)({
|
|
71
65
|
bookingValues: {
|
|
72
66
|
nights,
|
|
73
67
|
checkin,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trackDataSource.js","names":["_locale","require","_helpers","trackDataSource","
|
|
1
|
+
{"version":3,"file":"trackDataSource.js","names":["_locale","require","_helpers","trackDataSource","dataSource","checkin","clientCode","currency","userCurrency","idchain","idtokenprovider","isMobile","lang","nights","parties","tracking","currencies","hotelCurrency","hotelLocality","propertyName","propertyType","reservedExtras","reservedRooms","totalPriceWithoutTaxes","totalPriceRoomWithoutTaxes","totalPriceWithTaxes","totalPriceRoomWithTaxes","userCountry","totalNumRooms","totalNumAdults","totalNumChildren","totalNumBabies","forEach","_ref","numRoomsToReserve","occupation","numAdults","numFirstRangeChildren","numSecondRangeChildren","numBabies","totalExtrasWithTaxes","totalExtrasWithoutTaxes","Object","keys","extraKey","totalExtrasTaxes","totalRoomsTaxes","trace","bookingValues","checkout","dateFormat","dateCalc","parseDate","parseInt","format","language","coupon","device","country","JSON","parse","window","atob","decodeURIComponent","reduce","prev","_ref2","adults","children","length","chainId","hotelId","hotelInfo","hotelProvince","step","totalPriceWithoutTaxesWithoutExtras","totalPriceWithTaxesWithoutExtras","totalTaxes","exports"],"sources":["../../../../src/components/Checkout/helpers/trackDataSource.js"],"sourcesContent":["import { dateCalc, parseDate, dateFormat } from '@mirai/locale';\n\nimport { trace } from '../../helpers';\nexport const trackDataSource = (dataSource) => {\n const {\n checkin,\n clientCode,\n currency: userCurrency,\n idchain,\n idtokenprovider,\n isMobile,\n lang,\n nights,\n parties,\n tracking: {\n currencies = {},\n hotelCurrency,\n hotelLocality,\n propertyName,\n propertyType,\n reservedExtras = {},\n reservedRooms = [],\n totalPriceWithoutTaxes: totalPriceRoomWithoutTaxes,\n totalPriceWithTaxes: totalPriceRoomWithTaxes,\n userCountry,\n } = {},\n } = dataSource;\n\n let totalNumRooms = 0;\n let totalNumAdults = 0;\n let totalNumChildren = 0;\n let totalNumBabies = 0;\n reservedRooms.forEach(\n ({\n numRoomsToReserve,\n occupation: { numAdults, numFirstRangeChildren, numSecondRangeChildren, numBabies } = {},\n }) => {\n totalNumRooms += numRoomsToReserve;\n totalNumAdults += numRoomsToReserve * numAdults;\n totalNumChildren += numRoomsToReserve * (numFirstRangeChildren + numSecondRangeChildren);\n totalNumBabies += numRoomsToReserve * numBabies;\n },\n );\n let totalExtrasWithTaxes = 0;\n let totalExtrasWithoutTaxes = 0;\n Object.keys(reservedExtras).forEach((extraKey) => {\n const { totalPriceWithTaxes, totalPriceWithoutTaxes } = reservedExtras[extraKey] || {};\n totalExtrasWithTaxes += totalPriceWithTaxes;\n totalExtrasWithoutTaxes += totalPriceWithoutTaxes;\n });\n const totalExtrasTaxes = totalExtrasWithTaxes - totalExtrasWithoutTaxes;\n const totalRoomsTaxes = totalPriceRoomWithTaxes - totalPriceRoomWithoutTaxes;\n\n trace({\n bookingValues: {\n nights,\n checkin,\n checkout: dateFormat(dateCalc(parseDate(checkin), parseInt(nights), 'days'), { format: 'DD/MM/YYYY' }),\n language: lang,\n coupon: clientCode,\n device: isMobile ? 'MOBILE' : 'DESKTOP_TABLET',\n userCurrency: currencies[userCurrency],\n country: userCountry,\n occupation: JSON.parse(window.atob(decodeURIComponent(parties))).reduce(\n (prev, { adults, children }) => prev + adults + children.length,\n 0,\n ),\n },\n chainId: idchain,\n hotelId: idtokenprovider,\n hotelInfo: { currency: currencies[hotelCurrency], hotelProvince: hotelLocality, propertyName, propertyType },\n reservedExtras,\n reservedRooms,\n step: 'CLIENTFORM',\n totalExtrasTaxes,\n totalExtrasWithoutTaxes,\n totalExtrasWithTaxes,\n totalNumAdults,\n totalNumBabies,\n totalNumChildren,\n totalNumRooms,\n totalPriceWithoutTaxes: totalPriceRoomWithoutTaxes + totalExtrasWithoutTaxes,\n totalPriceWithoutTaxesWithoutExtras: totalPriceRoomWithoutTaxes,\n totalPriceWithTaxes: totalPriceRoomWithTaxes + totalExtrasWithTaxes,\n totalPriceWithTaxesWithoutExtras: totalPriceRoomWithTaxes,\n totalRoomsTaxes,\n totalTaxes: totalRoomsTaxes + totalExtrasTaxes,\n });\n};\n"],"mappings":"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"}
|
|
@@ -34,11 +34,15 @@ exports[`component:<BookingTable.Row> all props 1`] = `
|
|
|
34
34
|
-
|
|
35
35
|
</span>
|
|
36
36
|
<span>
|
|
37
|
-
<
|
|
38
|
-
class="
|
|
37
|
+
<div
|
|
38
|
+
class="view"
|
|
39
39
|
>
|
|
40
|
-
|
|
41
|
-
|
|
40
|
+
<span
|
|
41
|
+
class="text small dispatcher"
|
|
42
|
+
>
|
|
43
|
+
common.action.more_info
|
|
44
|
+
</span>
|
|
45
|
+
</div>
|
|
42
46
|
</span>
|
|
43
47
|
</div>
|
|
44
48
|
</div>
|
|
@@ -177,11 +181,15 @@ exports[`component:<BookingTable.Row> prop:description 1`] = `
|
|
|
177
181
|
class="view row wide"
|
|
178
182
|
>
|
|
179
183
|
<span>
|
|
180
|
-
<
|
|
181
|
-
class="
|
|
184
|
+
<div
|
|
185
|
+
class="view"
|
|
182
186
|
>
|
|
183
|
-
|
|
184
|
-
|
|
187
|
+
<span
|
|
188
|
+
class="text small dispatcher"
|
|
189
|
+
>
|
|
190
|
+
common.action.more_info
|
|
191
|
+
</span>
|
|
192
|
+
</div>
|
|
185
193
|
</span>
|
|
186
194
|
</div>
|
|
187
195
|
</div>
|