@pinuts/bsr-uikit-relaunch
Version:
BSR UI-KIT Relaunch
104 lines • 3.55 kB
JavaScript
// import React, { useEffect, useState } from 'react';
// import PropTypes from 'prop-types';
// import { useTranslation } from 'react-i18next';
//
// // form-builder
// import { registerComponent, formik } from '@pinuts/form-builder';
//
// import useGetOptionList from '../../hooks/useGetOptionList.js';
// import { getFormControlClassNames } from '../../utils/getUikitClassNames.js';
// import FormFieldChildPropTypes from '../FormFieldWrapper/FormFieldChildPropTypes.jsx';
// import FormFieldWrapper from '../FormFieldWrapper/FormFieldWrapper.jsx';
// import withFieldGroup from '../../hooks/withFieldGroup.jsx';
//
// import SelectField from '../SelectField/SelectField.jsx';
//
// const { useFormikContext } = formik;
//
// const fetchHouseNumbers = async (streetId) => {
// const response = await fetch(`http://localhost:8086/cmsbs/rest/de.bsr.adressen.app/streetNo?streetid=${streetId}`);
// const data = await response.json();
//
// return data;
// };
//
// const HouseNumberSelectField = (config) => {
//
// const [selectedStreetId, setSelectedStreetId] = useState(null);
// const [houseNumberOptions, setHouseNumberOptions] = useState([]);
// const {
// streedFieldKey,
// key,
// } = config.config;
// const { values, setFieldValue } = useFormikContext();
//
// useEffect(() => {
// console.log('values: ' + streedFieldKey, config);
// const streetId = values[streedFieldKey] || '';
//
// console.log('values[streedFieldKey]: ', values[streedFieldKey]);
// setSelectedStreetId(streetId);
//
// // set number label
// if (houseNumberOptions && streetId) {
// const numberLabelFieldKey = `${key}Label`;
// const numberSelectKey = values[key];
// const numberlabel = houseNumberOptions.find(option => option.value === numberSelectKey)?.label;
// if (values[numberLabelFieldKey] !== numberlabel) {
// setFieldValue(numberLabelFieldKey, numberlabel);
// }
// }
// }, [values]);
//
// useEffect(() => {
// if (selectedStreetId) {
// fetchHouseNumbers(selectedStreetId).catch(console.error).then(setHouseNumberOptions);
// } else {
// setHouseNumberOptions([]);
// if (values[key]) {
// setFieldValue(key, '');
// }
// }
// }, [selectedStreetId]);
//
// const newConfig = {
// ...config,
// options: houseNumberOptions,
// };
//
// return (
// <SelectField {...newConfig} />
// );
// };
//
// HouseNumberSelectField.propTypes = {
// ...FormFieldChildPropTypes,
//
// validation: PropTypes.arrayOf(PropTypes.string),
// options: PropTypes.arrayOf(
// PropTypes.oneOfType([
// PropTypes.shape({
// value: PropTypes.oneOfType([
// PropTypes.string,
// PropTypes.number,
// ]),
// label: PropTypes.oneOfType([
// PropTypes.string,
// PropTypes.object,
// ]),
// }),
// PropTypes.string]),
// ).isRequired,
// emptyOptionLabel: PropTypes.string,
// skipOptions: PropTypes.oneOfType([
// PropTypes.arrayOf(PropTypes.string),
// PropTypes.string,
// ]),
// };
//
//
// registerComponent('HouseNumberSelectField', HouseNumberSelectField);
//
//
// export default HouseNumberSelectField;
;