import Link from "next/link";
import { useState } from "react";
import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation";
import { reduxForm, formValueSelector, Field } from "redux-form";
import { useDispatch, useSelector, shallowEqual, connect } from "react-redux";
import jsonpath from "jsonpath";
import data from "../../data/collections.json";
import LoadingOverlay from "react-loading-overlay";
import transLookup from "../../data/lookuptranslations.json";
let AdvancedSearch = (props) => {
let { t } = useTranslation();
const router = useRouter();
const { locale } = router;
const { LPAData, onSubmit, handleSubmit } = props;
const appealOptionsObj = _.isEmpty(props)
? [{}]
: _.isEmpty(props.appealType)
? [{}]
: _.isEmpty(props.appealType.appealTypeOptions)
? [{}]
: _.isEmpty(props.appealType.appealTypeOptions.value)
? [{}]
: props.appealType.appealTypeOptions.value;
let lpaOptionsObj = _.isEmpty(props)
? [{}]
: _.isEmpty(props.LPAData)
? [{}]
: _.isEmpty(props.LPAData.LPAData)
? [{}]
: _.isEmpty(props.LPAData.LPAData)
? [{}]
: props.LPAData.LPAData.value;
const RenderLPAList = ({
name,
id,
input,
optionsObj,
meta: { touched, error },
label,
errormsg,
}) => {
return (
<>
{" "}
{touched && error && (
Error:
{" "}
{errormsg}
)}
>
);
};
const RenderAppealTypeList = ({
name,
id,
input,
optionsObj,
meta: { touched, error },
label,
errormsg,
}) => {
return (
<>
{touched && error && (
Error:
{" "}
{errormsg}
)}
>
);
};
const required = (value) => (value ? undefined : "Required");
const [showSpinnerState, setShowSpinnerState] = useState(false);
let spinnerState = () => {
showSpinnerState == true
? setShowSpinnerState(false)
: setShowSpinnerState(true);
};
const onHandleSubmit = (values) => {
event.preventDefault();
spinnerState();
var searchString = "";
searchString += values.caseRef != null ? "?q=" + values.caseRef : "";
searchString +=
values.lpaTypes != null
? (typeof values.caseRef == "undefined" ? "?" : "&") +
"lpa=" +
values.lpaTypes
: "";
searchString +=
values.appealTypes != null
? (typeof values.caseRef == "undefined" &&
typeof values.lpaTypes == "undefined"
? "?"
: "&") +
("apt=" + values.appealTypes.split(",")[0])
: "";
router.replace(
(router.locale == "cy"
? "/canlyniadauchwiliouwch"
: "/advancedsearchresults") + searchString,
null,
{
shallow: true,
}
);
};
return (
<>
{/*
*/}
>
);
};
const mapStateToProps = (state) => {
return {
currentView: state.currentView,
search: state.search,
searchResultsObj: state.searchResultsObj,
formData: state.formData,
appealType: state.appealType,
LPAData: state.LPAData,
//form: state.form,
myCases: state.myCases,
watchedCases: state.watchedCases,
myRepresentations: state.myRepresentations,
awaitingSubmission: state.awaitingSubmission,
};
};
const mapDispatchToProps = (dispatch) => {
return {};
};
const selector = formValueSelector("advancedSearchForm"); // <-- same as form name
export default connect(
mapStateToProps,
mapDispatchToProps
)(
reduxForm({
form: "advancedSearchForm",
destroyOnUnmount: false,
})(AdvancedSearch)
);