{"version":3,"sources":["webpack://fxsWidgets/../src/js/widgets/calendar-frequency-source/actions/localizationActions.js","webpack://fxsWidgets/../src/js/widgets/calendar-frequency-source/store.js","webpack://fxsWidgets/../src/js/widgets/calendar-frequency-source/actions/eventActions.js","webpack://fxsWidgets/../src/js/widgets/calendar-frequency-source/components/FrequencySource.js","webpack://fxsWidgets/../src/js/widgets/calendar-frequency-source/components/FrequencySourceContainer.js","webpack://fxsWidgets/../src/js/widgets/calendar-frequency-source/actions/index.js","webpack://fxsWidgets/../src/js/widgets/calendar-frequency-source/index.js","webpack://fxsWidgets/../src/js/widgets/calendar-common/helpers/periodTypeHelper.js"],"names":["translations","fetchLocalizations","_ref","store","storeCulture","getState","config","culture","toLowerCase","currentCulture","hasOwnProperty","catch","console","error","default","_x","apply","arguments","INITIAL_STATE","calendarApiUrl","CALENDAR_API_URL","type","eventId","isFetching","fetchError","data","convertCulture","input","Object","keys","includes","setState","FrequencySource","_Component","props","_this","_callSuper","renderData","bind","_inherits","key","value","translate","this","h","source","name","class","link","href","target","getPeriodType","frequency","Spinner","WidgetError","message","Component","connectWithTranslations","FrequencySourceContainer","_classCallCheck","fetchEventData","dir","concat","requested","_store$getState$confi","url","cacheFetch","then","response","ok","json","values","officialSourceUrl","periodType","received","err","CalendarFrequencySourceWidget","createCustomStore","createStore","Provider"],"mappings":"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","file":"calendar-frequency-source.4abbba63eb66df77a295.js","sourcesContent":["export const translations = {\r\n \"ar\": () => import(/*webpackChunkName: 'calendar-frequency-source-t-ar'*/\"../translations/ar\"),\r\n \"de\": () => import(/*webpackChunkName: 'calendar-frequency-source-t-de'*/\"../translations/de\"),\r\n \"en\": () => import(/*webpackChunkName: 'calendar-frequency-source-t-en'*/\"../translations/en\"),\r\n \"es\": () => import(/*webpackChunkName: 'calendar-frequency-source-t-es'*/\"../translations/es\"),\r\n \"fr\": () => import(/*webpackChunkName: 'calendar-frequency-source-t-fr'*/\"../translations/fr\"),\r\n \"id\": () => import(/*webpackChunkName: 'calendar-frequency-source-t-id'*/\"../translations/id\"),\r\n \"ru\": () => import(/*webpackChunkName: 'calendar-frequency-source-t-ru'*/\"../translations/ru\"),\r\n \"tr\": () => import(/*webpackChunkName: 'calendar-frequency-source-t-tr'*/\"../translations/tr\"),\r\n \"zh-cht\": () => import(/*webpackChunkName: 'calendar-frequency-source-t-zh-cht'*/\"../translations/zh-cht\"),\r\n \"zh-cn\": () => import(/*webpackChunkName: 'calendar-frequency-source-t-zh-cn'*/\"../translations/zh-cn\"),\r\n \"vi\": () => import(/*webpackChunkName: 'calendar-frequency-source-t-vi'*/\"../translations/vi\"),\r\n \"fa\": () => import(/*webpackChunkName: 'calendar-frequency-source-t-fa'*/\"../translations/fa\"),\r\n \"pt\": () => import(/*webpackChunkName: 'calendar-frequency-source-t-pt'*/\"../translations/pt\"),\r\n \"cs\": () => import(/*webpackChunkName: 'calendar-frequency-source-t-cs'*/\"../translations/cs\"),\r\n}\r\n\r\nexport const fetchLocalizations = async (store) => {\r\n const storeCulture = store.getState().config.culture\r\n const culture = storeCulture ? storeCulture.toLowerCase() : 'en'\r\n\r\n const currentCulture = translations.hasOwnProperty(culture) ? culture : 'en'\r\n\r\n const fetchedTranslations = await translations[currentCulture]()\r\n .catch(() => {\r\n console.error('Could not fetch translations')\r\n return null\r\n })\r\n\r\n return { translations: fetchedTranslations.default }\r\n}\r\n","import { createCustomStore } from '../common/helpers/storeHelpers'\r\nimport { translations } from './actions/localizationActions'\r\n\r\nconst INITIAL_STATE = {\r\n config: {\r\n culture: 'en',\r\n calendarApiUrl: CALENDAR_API_URL,\r\n type: 'title',\r\n eventId: ''\r\n },\r\n isFetching: false,\r\n fetchError: false,\r\n data: null\r\n}\r\n\r\nconst convertCulture = input => {\r\n const result = input && Object.keys(translations).includes(input.toLowerCase()) ?\r\n input.toLowerCase() : 'en'\r\n return result\r\n}\r\n\r\nconst createStore = (props) => {\r\n const result = createCustomStore(props, INITIAL_STATE, { culture: convertCulture })\r\n return result\r\n}\r\n\r\nexport { createStore }\r\n","import { cacheFetch } from '../../common/helpers/cacheFetchHelpers'\r\n\r\nconst requested = (store) => {\r\n store.setState({ isFetching: true, fetchError: false, data: null })\r\n}\r\n\r\nconst received = (store, values) => {\r\n store.setState({\r\n isFetching: false,\r\n fetchError: false,\r\n data: {\r\n source: {\r\n name: values.source,\r\n link : values.officialSourceUrl\r\n },\r\n frequency: values.periodType\r\n }\r\n })\r\n}\r\n\r\nconst error = (store) => {\r\n store.setState({ isFetching: false, fetchError: true, data: null })\r\n}\r\n\r\nexport const fetchEventData = (store) => {\r\n requested(store)\r\n\r\n const { calendarApiUrl, culture, eventId } = store.getState().config\r\n let url = `${calendarApiUrl}/${culture}/api/v1/events/${eventId}`\r\n\r\n cacheFetch(url, false)\r\n .then(response => {\r\n if (response.ok) {\r\n response.json().then(values => received(store, values))\r\n } else if (response.status === 404) {\r\n error(store)\r\n } else {\r\n error(store)\r\n }\r\n })\r\n .catch(err => {\r\n console.error(err)\r\n error(store)\r\n })\r\n}\r\n","import { h, Component } from \"preact\";\r\nimport { connectWithTranslations } from \"../../common/helpers/translationsHelpers\";\r\nimport Spinner from \"../../common/components/Spinner\";\r\nimport WidgetError from \"../../common/components/WidgetError\";\r\nimport { getPeriodType } from \"../../calendar-common/helpers/periodTypeHelper\";\r\n\r\nclass FrequencySource extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.renderData = this.renderData.bind(this);\r\n }\r\n renderData(data) {\r\n const { translate } = this.props;\r\n return (\r\n <table>\r\n <tbody>\r\n {data.source && data.source.name && (\r\n <tr class=\"fxs_entryPlain_txt\">\r\n <td>\r\n <strong>\r\n {translate(\"DetailEventDateSourceLabel\")}\r\n </strong>\r\n </td>\r\n {!data.source.link ? (\r\n <td>{data.source.name}</td>\r\n ) : (\r\n <a\r\n data-gtmid=\"features-calendar-text-source\"\r\n data-ga4event-clk-name=\"features-calendar\"\r\n data-ga4event-element=\"text-source\"\r\n href={data.source.link}\r\n target='_blank'>\r\n {data.source.name}\r\n </a>\r\n )}\r\n </tr>\r\n )}\r\n <tr class=\"fxs_entryPlain_txt\">\r\n <td>\r\n <strong>{translate(\"DetailEventFrequency\")}</strong>\r\n </td>\r\n <td>{getPeriodType(data.frequency, translate)}</td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n );\r\n }\r\n render({ translate, data, isFetching, fetchError }) {\r\n return (\r\n <div>\r\n {isFetching && <Spinner />}\r\n {fetchError && (\r\n <WidgetError\r\n message={\r\n <p>\r\n {translate(\"WidgetErrorMessageLine1\")}\r\n <br />\r\n {translate(\"WidgetErrorMessageLine2\")}\r\n </p>\r\n }\r\n />\r\n )}\r\n {!isFetching && !fetchError && data && this.renderData(data)}\r\n </div>\r\n );\r\n }\r\n}\r\nexport default connectWithTranslations(\"config,data,isFetching,fetchError\")(\r\n FrequencySource\r\n);\r\n","import { h, Component } from 'preact'\r\nimport actions from '../actions'\r\nimport FrequencySource from './FrequencySource'\r\nimport { connectWithTranslations } from '../../common/helpers/translationsHelpers'\r\n\r\nclass FrequencySourceContainer extends Component {\r\n constructor(props) {\r\n super(props)\r\n }\r\n componentWillMount() {\r\n this.props.fetchEventData();\r\n this.props.fetchLocalizations();\r\n }\r\n\r\n render({translate}) {\r\n return (\r\n <div class=\"fxs_widget fxs_frequency_source\" dir={`${!!translate('IsRightToLeftOriented') ? 'rtl' : 'auto'}`} >\r\n {\r\n <FrequencySource/>\r\n }\r\n </div>\r\n )\r\n }\r\n\r\n}\r\nexport default connectWithTranslations('config', actions)(FrequencySourceContainer)\r\n","import { fetchEventData } from './eventActions'\r\nimport { fetchLocalizations } from './localizationActions'\r\n\r\nexport default (store) => ({\r\n fetchEventData: (state) => fetchEventData(store),\r\n fetchLocalizations: (state) => fetchLocalizations(store)\r\n})\r\n","import { h, Component } from 'preact'\r\nimport { Provider } from 'unistore/preact'\r\nimport { createStore } from './store'\r\nimport FrequencySourceContainer from './components/FrequencySourceContainer'\r\n\r\n\r\nclass CalendarFrequencySourceWidget extends Component {\r\n constructor(props) {\r\n super(props)\r\n this.store = createStore(props)\r\n }\r\n\r\n render(props) {\r\n return (\r\n <Provider store={this.store}>\r\n <FrequencySourceContainer/>\r\n </Provider>\r\n )\r\n }\r\n}\r\n\r\nexport default CalendarFrequencySourceWidget","export const getPeriodType = (periodType, translate) => {\r\n\r\n switch(periodType) { \r\n case \"DAY\": { \r\n return translate(\"DetailEventReleaseWeekly\") \r\n } \r\n case \"MONTH\": { \r\n return translate(\"DetailEventReleaseMonthly\")\r\n }\r\n \r\n case \"QUARTER\": { \r\n return translate(\"DetailEventReleaseQuarterly\")\r\n } \r\n default: { \r\n return translate(\"DetailEventReleaseIrregular\")\r\n }\r\n }\r\n }"],"sourceRoot":""}