{"version":3,"file":"fieldTransformations-DY2-qceq.js","sources":["../../src/utils/fieldTransformations.js"],"sourcesContent":["const mockCountrylistFromJson = (fields) => {\n if (!fields) {\n return {};\n }\n if (!fields.countryList) {\n return fields;\n }\n try {\n const json = fields.countryList.value;\n const parsed = JSON.parse(json);\n const Elements = parsed.values.map((element) => ({\n fields: {\n Title: {\n value: element.title,\n },\n Value: {\n value: element.value,\n },\n },\n }));\n const defaultOption = {};\n if (parsed.default) {\n defaultOption['Default Option'] = {\n fields: {\n Value: {\n value: parsed.default,\n },\n },\n };\n }\n return {\n debugZoomLevels: fields.debugZoomLevels,\n countryList: {\n fields: {\n ...defaultOption,\n Elements,\n },\n },\n };\n } catch (e) {\n // eslint-disable-next-line no-console\n console.log('Could not create mock countrylist from fields', e, fields);\n return null;\n }\n};\n\nconst getSelectList = (fields, fieldsName, fallbackValue, sortAlphabetically) => {\n if (IS_SHOWROOM) {\n if (\n fields?.[fieldsName] &&\n typeof fields[fieldsName].value === 'string' &&\n !fields[fieldsName].fields\n ) {\n fields[fieldsName] = mockCountrylistFromJson(fields)[fieldsName];\n }\n }\n if (!(fields?.[fieldsName] && fields[fieldsName].fields?.Elements)) {\n return [null, fallbackValue];\n }\n\n let selectList;\n if (fieldsName === 'targetGroupSectorList') {\n fields[fieldsName].fields.Elements.forEach((element) => {\n if (!element.fields) {\n console.error('\"fields\" are not defined');\n return;\n }\n\n if (!element.fields.Title) {\n console.error('\"Title\" is not defined (field: \"targetGroupSectorList\")', element);\n }\n if (!element.fields.Value) {\n console.error('\"Value\" is not defined (field: \"targetGroupSectorList\")', element);\n }\n if (!element.fields.Image) {\n console.error('\"Image\" is not defined (field: \"targetGroupSectorList\")', element);\n }\n });\n\n selectList = fields[fieldsName].fields.Elements.map((element) => ({\n title: element.fields.Title.value || element.fields.Value.value,\n name: element.fields.Title.value || element.fields.Value.value,\n value: element.fields.Value.value,\n image: element.fields.Image ? element.fields.Image.value : undefined,\n newsletter: element.fields.Newsletter ? element.fields.Newsletter.id : '',\n }));\n } else {\n selectList = fields[fieldsName].fields.Elements.map((element) => ({\n title: element.fields.Title.value || element.fields.Value.value,\n name: element.fields.Title.value || element.fields.Value.value,\n value: element.fields.Value.value,\n }));\n }\n\n const defaultField = fields[fieldsName].fields['Default Option'];\n let defaultOption;\n let defaultValue;\n\n if (defaultField) {\n defaultValue = defaultField.fields.Value.value;\n defaultOption = selectList.find((el) => el.value === defaultValue);\n } else {\n defaultOption = null;\n }\n\n if (sortAlphabetically) {\n selectList.sort((a, b) => {\n if (a.name < b.name) {\n return -1;\n }\n if (a.name > b.name) {\n return 1;\n }\n return 0;\n });\n }\n\n return [defaultOption, selectList, defaultValue];\n};\n\nconst getApiSelectList = (data, fieldsName, fallbackValue, sortAlphabetically) => {\n if (IS_SHOWROOM) {\n if (data?.[fieldsName] && typeof data[fieldsName] === 'string' && !data[fieldsName]) {\n data[fieldsName] = mockCountrylistFromJson(data)[fieldsName];\n }\n }\n if (!(data?.[fieldsName] && data[fieldsName]?.Elements)) {\n return [null, fallbackValue];\n }\n\n let selectList;\n if (fieldsName === 'TargetGroupSectorList') {\n data[fieldsName].Elements.forEach((element) => {\n if (!element) {\n console.error('\"fields\" are not defined');\n return;\n }\n\n if (!element.Title) {\n console.error('\"Title\" is not defined (field: \"TargetGroupSectorList\")', element);\n }\n if (!element.Value) {\n console.error('\"Value\" is not defined (field: \"TargetGroupSectorList\")', element);\n }\n });\n\n selectList = data[fieldsName].Elements?.map((element) => ({\n title: element.Title || element.Value,\n name: element.Title || element.Value,\n value: element.Value,\n newsletter: element.Newsletter || '',\n }));\n } else {\n selectList = data[fieldsName].Elements?.map((element) => ({\n title: element.Title || element.Value,\n name: element.Title || element.Value,\n value: element.Value,\n }));\n }\n\n const defaultField = data[fieldsName]['Default_Option'];\n let defaultOption;\n let defaultValue;\n\n if (defaultField) {\n defaultValue = defaultField.Value;\n defaultOption = selectList.find((el) => el.value === defaultValue);\n } else {\n defaultOption = null;\n }\n\n if (sortAlphabetically) {\n selectList.sort((a, b) => {\n if (a.name < b.name) {\n return -1;\n }\n if (a.name > b.name) {\n return 1;\n }\n return 0;\n });\n }\n\n return [defaultOption, selectList, defaultValue];\n};\n\nconst mockChannel = (fields, $fischer) => {\n if (!IS_SHOWROOM) {\n // eslint-disable-next-line no-console\n console.log('Called dev-tool outside of showroom!');\n return;\n }\n if (fields?.mockChannel?.value) {\n const locale = fields.mockChannel.value;\n $fischer.setCatalogSetting('locale', locale);\n $fischer.showroomOverrides.setContext('language', locale.replace('_', '-'));\n }\n if (fields?.mockBaseSiteId) {\n const baseSiteId = fields.mockBaseSiteId.value;\n $fischer.setShopSetting('baseSiteId', baseSiteId);\n }\n};\n\nconst getSplitted = (obj) => {\n let result = [];\n\n if (!obj?.value) {\n return result;\n }\n\n if (obj.value.indexOf('{0}') !== -1) {\n result = obj.value.split('{0}');\n } else {\n result.push(obj.value);\n }\n\n return result;\n};\n\nconst getPreparedPlaceholderValue = (fields, fieldName, placeholderValue) => {\n const obj = fields[fieldName];\n let value = '';\n\n if (obj?.value?.indexOf('{0}') !== -1) {\n value = getSplitted(obj)[0] + placeholderValue + getSplitted(obj)[1];\n } else if (obj?.value) {\n value = obj.value;\n }\n\n return value;\n};\n\nexport {\n getSelectList,\n getApiSelectList,\n mockCountrylistFromJson,\n mockChannel,\n getPreparedPlaceholderValue,\n getSplitted,\n};\n"],"names":["getSelectList","fields","fieldsName","fallbackValue","sortAlphabetically","_a","selectList","element","defaultField","defaultOption","defaultValue","el","a","b","getApiSelectList","data","_b","_c","getSplitted","obj","result","getPreparedPlaceholderValue","fieldName","placeholderValue","value"],"mappings":"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"}