added Search Input for meters in Web UI

pull/42/MERGE
13621160019@163.com 2021-06-26 08:06:23 +08:00
parent 73447386a2
commit 31509e4009
5 changed files with 121 additions and 61 deletions

View File

@ -60,6 +60,7 @@ const MeterCost = ({ setRedirect, setRedirectUrl, t }) => {
const [selectedSpaceName, setSelectedSpaceName] = useState(undefined); const [selectedSpaceName, setSelectedSpaceName] = useState(undefined);
const [selectedSpaceID, setSelectedSpaceID] = useState(undefined); const [selectedSpaceID, setSelectedSpaceID] = useState(undefined);
const [meterList, setMeterList] = useState([]); const [meterList, setMeterList] = useState([]);
const [filteredMeterList, setFilteredMeterList] = useState([]);
const [selectedMeter, setSelectedMeter] = useState(undefined); const [selectedMeter, setSelectedMeter] = useState(undefined);
const [comparisonType, setComparisonType] = useState('month-on-month'); const [comparisonType, setComparisonType] = useState('month-on-month');
const [periodType, setPeriodType] = useState('daily'); const [periodType, setPeriodType] = useState('daily');
@ -139,6 +140,7 @@ const MeterCost = ({ setRedirect, setRedirectUrl, t }) => {
json = JSON.parse(JSON.stringify([json]).split('"id":').join('"value":').split('"name":').join('"label":')); json = JSON.parse(JSON.stringify([json]).split('"id":').join('"value":').split('"name":').join('"label":'));
console.log(json); console.log(json);
setMeterList(json[0]); setMeterList(json[0]);
setFilteredMeterList(json[0]);
if (json[0].length > 0) { if (json[0].length > 0) {
setSelectedMeter(json[0][0].value); setSelectedMeter(json[0][0].value);
// enable submit button // enable submit button
@ -190,6 +192,7 @@ const MeterCost = ({ setRedirect, setRedirectUrl, t }) => {
json = JSON.parse(JSON.stringify([json]).split('"id":').join('"value":').split('"name":').join('"label":')); json = JSON.parse(JSON.stringify([json]).split('"id":').join('"value":').split('"name":').join('"label":'));
console.log(json) console.log(json)
setMeterList(json[0]); setMeterList(json[0]);
setFilteredMeterList(json[0]);
if (json[0].length > 0) { if (json[0].length > 0) {
setSelectedMeter(json[0][0].value); setSelectedMeter(json[0][0].value);
// enable submit button // enable submit button
@ -205,7 +208,15 @@ const MeterCost = ({ setRedirect, setRedirectUrl, t }) => {
}).catch(err => { }).catch(err => {
console.log(err); console.log(err);
}); });
} };
const onSearchMeter = ({ target }) => {
const keyword = target.value.toLowerCase();
const filteredResult = meterList.filter(
meter => meter.label.toLowerCase().includes(keyword)
);
setFilteredMeterList(keyword.length ? filteredResult : meterList);
};
let onComparisonTypeChange = ({ target }) => { let onComparisonTypeChange = ({ target }) => {
console.log(target.value); console.log(target.value);
@ -229,15 +240,15 @@ const MeterCost = ({ setRedirect, setRedirectUrl, t }) => {
setBasePeriodBeginsDatetimeDisabled(true); setBasePeriodBeginsDatetimeDisabled(true);
setBasePeriodEndsDatetimeDisabled(true); setBasePeriodEndsDatetimeDisabled(true);
} }
} };
let onBasePeriodBeginsDatetimeChange = (newDateTime) => { let onBasePeriodBeginsDatetimeChange = (newDateTime) => {
setBasePeriodBeginsDatetime(newDateTime); setBasePeriodBeginsDatetime(newDateTime);
} };
let onBasePeriodEndsDatetimeChange = (newDateTime) => { let onBasePeriodEndsDatetimeChange = (newDateTime) => {
setBasePeriodEndsDatetime(newDateTime); setBasePeriodEndsDatetime(newDateTime);
} };
let onReportingPeriodBeginsDatetimeChange = (newDateTime) => { let onReportingPeriodBeginsDatetimeChange = (newDateTime) => {
setReportingPeriodBeginsDatetime(newDateTime); setReportingPeriodBeginsDatetime(newDateTime);
@ -246,7 +257,7 @@ const MeterCost = ({ setRedirect, setRedirectUrl, t }) => {
} else if (comparisonType === 'month-on-month') { } else if (comparisonType === 'month-on-month') {
setBasePeriodBeginsDatetime(newDateTime.clone().subtract(1, 'months')); setBasePeriodBeginsDatetime(newDateTime.clone().subtract(1, 'months'));
} }
} };
let onReportingPeriodEndsDatetimeChange = (newDateTime) => { let onReportingPeriodEndsDatetimeChange = (newDateTime) => {
setReportingPeriodEndsDatetime(newDateTime); setReportingPeriodEndsDatetime(newDateTime);
@ -255,23 +266,24 @@ const MeterCost = ({ setRedirect, setRedirectUrl, t }) => {
} else if (comparisonType === 'month-on-month') { } else if (comparisonType === 'month-on-month') {
setBasePeriodEndsDatetime(newDateTime.clone().subtract(1, 'months')); setBasePeriodEndsDatetime(newDateTime.clone().subtract(1, 'months'));
} }
} };
var getValidBasePeriodBeginsDatetimes = function (currentDate) { var getValidBasePeriodBeginsDatetimes = function (currentDate) {
return currentDate.isBefore(moment(basePeriodEndsDatetime, 'MM/DD/YYYY, hh:mm:ss a')); return currentDate.isBefore(moment(basePeriodEndsDatetime, 'MM/DD/YYYY, hh:mm:ss a'));
} };
var getValidBasePeriodEndsDatetimes = function (currentDate) { var getValidBasePeriodEndsDatetimes = function (currentDate) {
return currentDate.isAfter(moment(basePeriodBeginsDatetime, 'MM/DD/YYYY, hh:mm:ss a')); return currentDate.isAfter(moment(basePeriodBeginsDatetime, 'MM/DD/YYYY, hh:mm:ss a'));
} };
var getValidReportingPeriodBeginsDatetimes = function (currentDate) { var getValidReportingPeriodBeginsDatetimes = function (currentDate) {
return currentDate.isBefore(moment(reportingPeriodEndsDatetime, 'MM/DD/YYYY, hh:mm:ss a')); return currentDate.isBefore(moment(reportingPeriodEndsDatetime, 'MM/DD/YYYY, hh:mm:ss a'));
} };
var getValidReportingPeriodEndsDatetimes = function (currentDate) { var getValidReportingPeriodEndsDatetimes = function (currentDate) {
return currentDate.isAfter(moment(reportingPeriodBeginsDatetime, 'MM/DD/YYYY, hh:mm:ss a')); return currentDate.isAfter(moment(reportingPeriodBeginsDatetime, 'MM/DD/YYYY, hh:mm:ss a'));
} };
// Handler // Handler
const handleSubmit = e => { const handleSubmit = e => {
e.preventDefault(); e.preventDefault();
@ -454,14 +466,17 @@ const MeterCost = ({ setRedirect, setRedirectUrl, t }) => {
<Label className={labelClasses} for="meterSelect"> <Label className={labelClasses} for="meterSelect">
{t('Meter')} {t('Meter')}
</Label> </Label>
<CustomInput type="select" id="meterSelect" name="meterSelect" onChange={({ target }) => setSelectedMeter(target.value)} <Form inline>
> <Input placeholder={t('Search')} onChange={onSearchMeter} />
{meterList.map((meter, index) => ( <CustomInput type="select" id="meterSelect" name="meterSelect" onChange={({ target }) => setSelectedMeter(target.value)}
<option value={meter.value} key={meter.value}> >
{meter.label} {filteredMeterList.map((meter, index) => (
</option> <option value={meter.value} key={meter.value}>
))} {meter.label}
</CustomInput> </option>
))}
</CustomInput>
</Form>
</FormGroup> </FormGroup>
</Col> </Col>
<Col xs="auto"> <Col xs="auto">

View File

@ -61,6 +61,7 @@ const MeterEnergy = ({ setRedirect, setRedirectUrl, t }) => {
const [selectedSpaceName, setSelectedSpaceName] = useState(undefined); const [selectedSpaceName, setSelectedSpaceName] = useState(undefined);
const [selectedSpaceID, setSelectedSpaceID] = useState(undefined); const [selectedSpaceID, setSelectedSpaceID] = useState(undefined);
const [meterList, setMeterList] = useState([]); const [meterList, setMeterList] = useState([]);
const [filteredMeterList, setFilteredMeterList] = useState([]);
const [selectedMeter, setSelectedMeter] = useState(undefined); const [selectedMeter, setSelectedMeter] = useState(undefined);
const [comparisonType, setComparisonType] = useState('month-on-month'); const [comparisonType, setComparisonType] = useState('month-on-month');
const [periodType, setPeriodType] = useState('daily'); const [periodType, setPeriodType] = useState('daily');
@ -141,6 +142,7 @@ const MeterEnergy = ({ setRedirect, setRedirectUrl, t }) => {
json = JSON.parse(JSON.stringify([json]).split('"id":').join('"value":').split('"name":').join('"label":')); json = JSON.parse(JSON.stringify([json]).split('"id":').join('"value":').split('"name":').join('"label":'));
console.log(json); console.log(json);
setMeterList(json[0]); setMeterList(json[0]);
setFilteredMeterList(json[0]);
if (json[0].length > 0) { if (json[0].length > 0) {
setSelectedMeter(json[0][0].value); setSelectedMeter(json[0][0].value);
// enable submit button // enable submit button
@ -193,6 +195,7 @@ const MeterEnergy = ({ setRedirect, setRedirectUrl, t }) => {
json = JSON.parse(JSON.stringify([json]).split('"id":').join('"value":').split('"name":').join('"label":')); json = JSON.parse(JSON.stringify([json]).split('"id":').join('"value":').split('"name":').join('"label":'));
console.log(json) console.log(json)
setMeterList(json[0]); setMeterList(json[0]);
setFilteredMeterList(json[0]);
if (json[0].length > 0) { if (json[0].length > 0) {
setSelectedMeter(json[0][0].value); setSelectedMeter(json[0][0].value);
// enable submit button // enable submit button
@ -232,15 +235,23 @@ const MeterEnergy = ({ setRedirect, setRedirectUrl, t }) => {
setBasePeriodBeginsDatetimeDisabled(true); setBasePeriodBeginsDatetimeDisabled(true);
setBasePeriodEndsDatetimeDisabled(true); setBasePeriodEndsDatetimeDisabled(true);
} }
} };
const onSearchMeter = ({ target }) => {
const keyword = target.value.toLowerCase();
const filteredResult = meterList.filter(
meter => meter.label.toLowerCase().includes(keyword)
);
setFilteredMeterList(keyword.length ? filteredResult : meterList);
};
let onBasePeriodBeginsDatetimeChange = (newDateTime) => { let onBasePeriodBeginsDatetimeChange = (newDateTime) => {
setBasePeriodBeginsDatetime(newDateTime); setBasePeriodBeginsDatetime(newDateTime);
} };
let onBasePeriodEndsDatetimeChange = (newDateTime) => { let onBasePeriodEndsDatetimeChange = (newDateTime) => {
setBasePeriodEndsDatetime(newDateTime); setBasePeriodEndsDatetime(newDateTime);
} };
let onReportingPeriodBeginsDatetimeChange = (newDateTime) => { let onReportingPeriodBeginsDatetimeChange = (newDateTime) => {
setReportingPeriodBeginsDatetime(newDateTime); setReportingPeriodBeginsDatetime(newDateTime);
@ -249,7 +260,7 @@ const MeterEnergy = ({ setRedirect, setRedirectUrl, t }) => {
} else if (comparisonType === 'month-on-month') { } else if (comparisonType === 'month-on-month') {
setBasePeriodBeginsDatetime(newDateTime.clone().subtract(1, 'months')); setBasePeriodBeginsDatetime(newDateTime.clone().subtract(1, 'months'));
} }
} };
let onReportingPeriodEndsDatetimeChange = (newDateTime) => { let onReportingPeriodEndsDatetimeChange = (newDateTime) => {
setReportingPeriodEndsDatetime(newDateTime); setReportingPeriodEndsDatetime(newDateTime);
@ -258,23 +269,24 @@ const MeterEnergy = ({ setRedirect, setRedirectUrl, t }) => {
} else if (comparisonType === 'month-on-month') { } else if (comparisonType === 'month-on-month') {
setBasePeriodEndsDatetime(newDateTime.clone().subtract(1, 'months')); setBasePeriodEndsDatetime(newDateTime.clone().subtract(1, 'months'));
} }
} };
var getValidBasePeriodBeginsDatetimes = function (currentDate) { var getValidBasePeriodBeginsDatetimes = function (currentDate) {
return currentDate.isBefore(moment(basePeriodEndsDatetime, 'MM/DD/YYYY, hh:mm:ss a')); return currentDate.isBefore(moment(basePeriodEndsDatetime, 'MM/DD/YYYY, hh:mm:ss a'));
} };
var getValidBasePeriodEndsDatetimes = function (currentDate) { var getValidBasePeriodEndsDatetimes = function (currentDate) {
return currentDate.isAfter(moment(basePeriodBeginsDatetime, 'MM/DD/YYYY, hh:mm:ss a')); return currentDate.isAfter(moment(basePeriodBeginsDatetime, 'MM/DD/YYYY, hh:mm:ss a'));
} };
var getValidReportingPeriodBeginsDatetimes = function (currentDate) { var getValidReportingPeriodBeginsDatetimes = function (currentDate) {
return currentDate.isBefore(moment(reportingPeriodEndsDatetime, 'MM/DD/YYYY, hh:mm:ss a')); return currentDate.isBefore(moment(reportingPeriodEndsDatetime, 'MM/DD/YYYY, hh:mm:ss a'));
} };
var getValidReportingPeriodEndsDatetimes = function (currentDate) { var getValidReportingPeriodEndsDatetimes = function (currentDate) {
return currentDate.isAfter(moment(reportingPeriodBeginsDatetime, 'MM/DD/YYYY, hh:mm:ss a')); return currentDate.isAfter(moment(reportingPeriodBeginsDatetime, 'MM/DD/YYYY, hh:mm:ss a'));
} };
// Handler // Handler
const handleSubmit = e => { const handleSubmit = e => {
e.preventDefault(); e.preventDefault();
@ -406,7 +418,7 @@ const MeterEnergy = ({ setRedirect, setRedirectUrl, t }) => {
console.log(err); console.log(err);
}); });
}; };
const handleExport = e => { const handleExport = e => {
e.preventDefault(); e.preventDefault();
const mimeType='application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' const mimeType='application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
@ -455,14 +467,19 @@ const MeterEnergy = ({ setRedirect, setRedirectUrl, t }) => {
<Label className={labelClasses} for="meterSelect"> <Label className={labelClasses} for="meterSelect">
{t('Meter')} {t('Meter')}
</Label> </Label>
<CustomInput type="select" id="meterSelect" name="meterSelect" onChange={({ target }) => setSelectedMeter(target.value)}
> <Form inline>
{meterList.map((meter, index) => ( <Input placeholder={t('Search')} onChange={onSearchMeter} />
<option value={meter.value} key={meter.value}> <CustomInput type="select" id="meterSelect" name="meterSelect" onChange={({ target }) => setSelectedMeter(target.value)}
{meter.label} >
</option> {filteredMeterList.map((meter, index) => (
))} <option value={meter.value} key={meter.value}>
</CustomInput> {meter.label}
</option>
))}
</CustomInput>
</Form>
</FormGroup> </FormGroup>
</Col> </Col>
<Col xs="auto"> <Col xs="auto">

View File

@ -60,6 +60,7 @@ const MeterSubmetersBalance = ({ setRedirect, setRedirectUrl, t }) => {
const [selectedSpaceName, setSelectedSpaceName] = useState(undefined); const [selectedSpaceName, setSelectedSpaceName] = useState(undefined);
const [selectedSpaceID, setSelectedSpaceID] = useState(undefined); const [selectedSpaceID, setSelectedSpaceID] = useState(undefined);
const [meterList, setMeterList] = useState([]); const [meterList, setMeterList] = useState([]);
const [filteredMeterList, setFilteredMeterList] = useState([]);
const [selectedMeter, setSelectedMeter] = useState(undefined); const [selectedMeter, setSelectedMeter] = useState(undefined);
const [periodType, setPeriodType] = useState('daily'); const [periodType, setPeriodType] = useState('daily');
const [reportingPeriodBeginsDatetime, setReportingPeriodBeginsDatetime] = useState(current_moment.clone().startOf('month')); const [reportingPeriodBeginsDatetime, setReportingPeriodBeginsDatetime] = useState(current_moment.clone().startOf('month'));
@ -134,6 +135,7 @@ const MeterSubmetersBalance = ({ setRedirect, setRedirectUrl, t }) => {
json = JSON.parse(JSON.stringify([json]).split('"id":').join('"value":').split('"name":').join('"label":')); json = JSON.parse(JSON.stringify([json]).split('"id":').join('"value":').split('"name":').join('"label":'));
console.log(json); console.log(json);
setMeterList(json[0]); setMeterList(json[0]);
setFilteredMeterList(json[0]);
if (json[0].length > 0) { if (json[0].length > 0) {
setSelectedMeter(json[0][0].value); setSelectedMeter(json[0][0].value);
// enable submit button // enable submit button
@ -186,6 +188,7 @@ const MeterSubmetersBalance = ({ setRedirect, setRedirectUrl, t }) => {
json = JSON.parse(JSON.stringify([json]).split('"id":').join('"value":').split('"name":').join('"label":')); json = JSON.parse(JSON.stringify([json]).split('"id":').join('"value":').split('"name":').join('"label":'));
console.log(json) console.log(json)
setMeterList(json[0]); setMeterList(json[0]);
setFilteredMeterList(json[0]);
if (json[0].length > 0) { if (json[0].length > 0) {
setSelectedMeter(json[0][0].value); setSelectedMeter(json[0][0].value);
// enable submit button // enable submit button
@ -201,15 +204,23 @@ const MeterSubmetersBalance = ({ setRedirect, setRedirectUrl, t }) => {
}).catch(err => { }).catch(err => {
console.log(err); console.log(err);
}); });
} };
const onSearchMeter = ({ target }) => {
const keyword = target.value.toLowerCase();
const filteredResult = meterList.filter(
meter => meter.label.toLowerCase().includes(keyword)
);
setFilteredMeterList(keyword.length ? filteredResult : meterList);
};
let onReportingPeriodBeginsDatetimeChange = (newDateTime) => { let onReportingPeriodBeginsDatetimeChange = (newDateTime) => {
setReportingPeriodBeginsDatetime(newDateTime); setReportingPeriodBeginsDatetime(newDateTime);
} };
let onReportingPeriodEndsDatetimeChange = (newDateTime) => { let onReportingPeriodEndsDatetimeChange = (newDateTime) => {
setReportingPeriodEndsDatetime(newDateTime); setReportingPeriodEndsDatetime(newDateTime);
} };
var getValidReportingPeriodBeginsDatetimes = function (currentDate) { var getValidReportingPeriodBeginsDatetimes = function (currentDate) {
return currentDate.isBefore(moment(reportingPeriodEndsDatetime, 'MM/DD/YYYY, hh:mm:ss a')); return currentDate.isBefore(moment(reportingPeriodEndsDatetime, 'MM/DD/YYYY, hh:mm:ss a'));
@ -393,14 +404,17 @@ const MeterSubmetersBalance = ({ setRedirect, setRedirectUrl, t }) => {
<Label className={labelClasses} for="meterSelect"> <Label className={labelClasses} for="meterSelect">
{t('Meter')} {t('Meter')}
</Label> </Label>
<CustomInput type="select" id="meterSelect" name="meterSelect" onChange={({ target }) => setSelectedMeter(target.value)} <Form inline>
> <Input placeholder={t('Search')} onChange={onSearchMeter} />
{meterList.map((meter, index) => ( <CustomInput type="select" id="meterSelect" name="meterSelect" onChange={({ target }) => setSelectedMeter(target.value)}
<option value={meter.value} key={meter.value}> >
{meter.label} {filteredMeterList.map((meter, index) => (
</option> <option value={meter.value} key={meter.value}>
))} {meter.label}
</CustomInput> </option>
))}
</CustomInput>
</Form>
</FormGroup> </FormGroup>
</Col> </Col>
<Col xs="auto"> <Col xs="auto">

View File

@ -56,6 +56,7 @@ const MeterTrend = ({ setRedirect, setRedirectUrl, t }) => {
const [selectedSpaceName, setSelectedSpaceName] = useState(undefined); const [selectedSpaceName, setSelectedSpaceName] = useState(undefined);
const [selectedSpaceID, setSelectedSpaceID] = useState(undefined); const [selectedSpaceID, setSelectedSpaceID] = useState(undefined);
const [meterList, setMeterList] = useState([]); const [meterList, setMeterList] = useState([]);
const [filteredMeterList, setFilteredMeterList] = useState([]);
const [selectedMeter, setSelectedMeter] = useState(undefined); const [selectedMeter, setSelectedMeter] = useState(undefined);
const [reportingPeriodBeginsDatetime, setReportingPeriodBeginsDatetime] = useState(current_moment.clone().startOf('day')); const [reportingPeriodBeginsDatetime, setReportingPeriodBeginsDatetime] = useState(current_moment.clone().startOf('day'));
const [reportingPeriodEndsDatetime, setReportingPeriodEndsDatetime] = useState(current_moment); const [reportingPeriodEndsDatetime, setReportingPeriodEndsDatetime] = useState(current_moment);
@ -123,6 +124,7 @@ const MeterTrend = ({ setRedirect, setRedirectUrl, t }) => {
json = JSON.parse(JSON.stringify([json]).split('"id":').join('"value":').split('"name":').join('"label":')); json = JSON.parse(JSON.stringify([json]).split('"id":').join('"value":').split('"name":').join('"label":'));
console.log(json); console.log(json);
setMeterList(json[0]); setMeterList(json[0]);
setFilteredMeterList(json[0]);
if (json[0].length > 0) { if (json[0].length > 0) {
setSelectedMeter(json[0][0].value); setSelectedMeter(json[0][0].value);
// enable submit button // enable submit button
@ -175,6 +177,7 @@ const MeterTrend = ({ setRedirect, setRedirectUrl, t }) => {
json = JSON.parse(JSON.stringify([json]).split('"id":').join('"value":').split('"name":').join('"label":')); json = JSON.parse(JSON.stringify([json]).split('"id":').join('"value":').split('"name":').join('"label":'));
console.log(json) console.log(json)
setMeterList(json[0]); setMeterList(json[0]);
setFilteredMeterList(json[0]);
if (json[0].length > 0) { if (json[0].length > 0) {
setSelectedMeter(json[0][0].value); setSelectedMeter(json[0][0].value);
// enable submit button // enable submit button
@ -190,18 +193,23 @@ const MeterTrend = ({ setRedirect, setRedirectUrl, t }) => {
}).catch(err => { }).catch(err => {
console.log(err); console.log(err);
}); });
} };
const onSearchMeter = ({ target }) => {
const keyword = target.value.toLowerCase();
const filteredResult = meterList.filter(
meter => meter.label.toLowerCase().includes(keyword)
);
setFilteredMeterList(keyword.length ? filteredResult : meterList);
};
let onReportingPeriodBeginsDatetimeChange = (newDateTime) => { let onReportingPeriodBeginsDatetimeChange = (newDateTime) => {
setReportingPeriodBeginsDatetime(newDateTime); setReportingPeriodBeginsDatetime(newDateTime);
};
}
let onReportingPeriodEndsDatetimeChange = (newDateTime) => { let onReportingPeriodEndsDatetimeChange = (newDateTime) => {
setReportingPeriodEndsDatetime(newDateTime); setReportingPeriodEndsDatetime(newDateTime);
};
}
var getValidReportingPeriodBeginsDatetimes = function (currentDate) { var getValidReportingPeriodBeginsDatetimes = function (currentDate) {
return currentDate.isBefore(moment(reportingPeriodEndsDatetime, 'MM/DD/YYYY, hh:mm:ss a')); return currentDate.isBefore(moment(reportingPeriodEndsDatetime, 'MM/DD/YYYY, hh:mm:ss a'));
@ -381,14 +389,17 @@ const MeterTrend = ({ setRedirect, setRedirectUrl, t }) => {
<Label className={labelClasses} for="meterSelect"> <Label className={labelClasses} for="meterSelect">
{t('Meter')} {t('Meter')}
</Label> </Label>
<CustomInput type="select" id="meterSelect" name="meterSelect" onChange={({ target }) => setSelectedMeter(target.value)} <Form inline>
> <Input placeholder={t('Search')} onChange={onSearchMeter} />
{meterList.map((meter, index) => ( <CustomInput type="select" id="meterSelect" name="meterSelect" onChange={({ target }) => setSelectedMeter(target.value)}
<option value={meter.value} key={meter.value}> >
{meter.label} {filteredMeterList.map((meter, index) => (
</option> <option value={meter.value} key={meter.value}>
))} {meter.label}
</CustomInput> </option>
))}
</CustomInput>
</Form>
</FormGroup> </FormGroup>
</Col> </Col>
<Col xs={6} sm={3}> <Col xs={6} sm={3}>

View File

@ -133,6 +133,7 @@ const resources = {
"Input Energy Category": "Input Energy Category", "Input Energy Category": "Input Energy Category",
"Output Energy Category": "Output Energy Category", "Output Energy Category": "Output Energy Category",
"Fraction Parameter": "Fraction Parameter", "Fraction Parameter": "Fraction Parameter",
"Search": "Search",
//Card Summaries and Line Charts //Card Summaries and Line Charts
"Base Period": "Base Period", "Base Period": "Base Period",
"Reporting Period": "Reporting Period", "Reporting Period": "Reporting Period",
@ -473,6 +474,7 @@ const resources = {
"Input Energy Category": "Eingangsenergiekategorie", "Input Energy Category": "Eingangsenergiekategorie",
"Output Energy Category": "Ausgangsenergiekategorie", "Output Energy Category": "Ausgangsenergiekategorie",
"Fraction Parameter": "Fraktion Parameter", "Fraction Parameter": "Fraktion Parameter",
"Search": "Suche",
//Card Summaries and Line Charts //Card Summaries and Line Charts
"Base Period": "Basiszeitraum", "Base Period": "Basiszeitraum",
"Reporting Period": "Berichtszeitraum", "Reporting Period": "Berichtszeitraum",
@ -816,6 +818,7 @@ const resources = {
"Input Energy Category": "消耗能源分类", "Input Energy Category": "消耗能源分类",
"Output Energy Category": "产出能源分类", "Output Energy Category": "产出能源分类",
"Fraction Parameter": "分式参数", "Fraction Parameter": "分式参数",
"Search": "搜索",
//Card Summaries and Line Charts //Card Summaries and Line Charts
"Base Period": "基准期", "Base Period": "基准期",
"Reporting Period": "报告期", "Reporting Period": "报告期",