/* * This program is part of the OpenLMIS logistics management information system platform software. * Copyright © 2017 VillageReach * * This program is free software: you can redistribute it and/or modify it under the terms * of the GNU Affero General Public License as published by the Free Software Foundation, either * version 3 of the License, or (at your option) any later version. *   * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  * See the GNU Affero General Public License for more details. You should have received a copy of * the GNU Affero General Public License along with this program. If not, see * http://www.gnu.org/licenses.  For additional information contact info@OpenLMIS.org.  */ import React, { useMemo, useEffect, useState } from 'react'; import { useHistory } from 'react-router-dom'; import { useSelector } from 'react-redux'; import RadioButton from '../../react-components/buttons/radio-button'; import Select from '../../react-components/inputs/select'; import InputWithSuggestions from '../../react-components/inputs/input-with-suggestions'; const ProgramSelect = ({ offlineService }) => { const history = useHistory(); const convertIntoSelectOptions = (values) => { return values.map(({ id, name }) => ({ value: id, name })); }; const facility = useSelector(state => state['facilitiesStockOnHand']['userHomeFacilityStockOnHand']); const supervisedPrograms = useSelector(state => convertIntoSelectOptions(state['programsStockOnHand']['supervisedProgramsStockOnHand'])); const supervisedFacilities = useSelector(state => state['facilitiesStockOnHand']['supervisedFacilitiesStockOnHand']); const programs = convertIntoSelectOptions(facility.supportedPrograms); const [facilityId, setFacilityId] = useState(null); const [programId, setProgramId] = useState(null); const [facilityType, setFacilityType] = useState('MyFacility'); const [supervisedFacilitiesOptions, setSupervisedFacilitiesOptions] = useState([]); const radioChangeHandler = (e) => { setFacilityId(null); setProgramId(null); setFacilityType(e.target.value); }; const supervisedProgramsHandler = (value) => { setProgramId(value); setSupervisedFacilitiesOptions(supervisedFacilities[value]); }; const handleSearch = (programId, facilityId) => { history.push(`/stockOnHand/${facilityId}/${programId}`); } const menu = document.getElementsByClassName('header ng-scope')[0]; useEffect(() => { menu.style.display = ''; }, [menu]); return ( <>

Stock on Hand

{facilityType !== 'SupervisedFacility' ?
setFacilityId(value.id)} sortFunction={(a, b) => a.name.localeCompare(b.name)} />
}
); }; export default ProgramSelect;