made it work for ram sticks data
This commit is contained in:
@@ -1,14 +1,12 @@
|
|||||||
import { useState } from 'react'
|
import { useState } from 'react'
|
||||||
import Table from './components/Table.jsx';
|
import Table from './components/Table.jsx';
|
||||||
import buildings from './data.js';
|
import ram_sticks from './data.js';
|
||||||
import './CSS/App.css'
|
import './CSS/App.css'
|
||||||
function App() {
|
function App() {
|
||||||
const [count, setCount] = useState(0)
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="App">
|
<div className="App">
|
||||||
<h3>Самые высокие здания и сооружения</h3>
|
<h3>Самые высокие здания и сооружения</h3>
|
||||||
<Table data={ buildings } amountRows="15" />
|
<Table data={ ram_sticks } amountRows="15" />
|
||||||
</div>
|
</div>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,14 +11,16 @@ const Filter = (props) => {
|
|||||||
const handleSubmit = (event) => {
|
const handleSubmit = (event) => {
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
|
|
||||||
|
const readNumConstrain = (name, event) => [event.target[name + "From"].value == "" ? null : Number(event.target[name + "From"].value), event.target[name + "To"].value == "" ? null : Number(event.target[name + "To"].value)]
|
||||||
|
|
||||||
// создаем словарь со значениями полей формы
|
// создаем словарь со значениями полей формы
|
||||||
const filterField = {
|
const filterField = {
|
||||||
"Название": event.target["structure"].value.toLowerCase(),
|
"type": event.target["type"].value.toLowerCase(),
|
||||||
"Тип": event.target["type"].value.toLowerCase(),
|
"name": event.target["name"].value.toLowerCase(),
|
||||||
"Страна": event.target["country"].value.toLowerCase(),
|
"size": readNumConstrain("size", event),
|
||||||
"Город": event.target["city"].value.toLowerCase(),
|
"maker": event.target["maker"].value.toLowerCase(),
|
||||||
"Год":[event.target["yearFrom"].value==""?null:Number(event.target["yearFrom"].value),event.target["yearTo"].value==""?null:Number(event.target["yearTo"].value)],
|
"release": readNumConstrain("release", event),
|
||||||
"Высота":[event.target["heightFrom"].value==""?null:Number(event.target["heightFrom"].value),event.target["heightTo"].value==""?null:Number(event.target["heightTo"].value)]
|
"price": readNumConstrain("price", event)
|
||||||
};
|
};
|
||||||
|
|
||||||
//фильтруем данные по значениям всех полей формы
|
//фильтруем данные по значениям всех полей формы
|
||||||
@@ -37,32 +39,34 @@ const Filter = (props) => {
|
|||||||
return (
|
return (
|
||||||
<form onSubmit={handleSubmit} onReset={handleSubmit}>
|
<form onSubmit={handleSubmit} onReset={handleSubmit}>
|
||||||
<p>
|
<p>
|
||||||
<label>Название:</label>
|
<label>Type:</label>
|
||||||
<input name="structure" type="text" />
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
<label>Тип:</label>
|
|
||||||
<input name="type" type="text" />
|
<input name="type" type="text" />
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
<label>Страна:</label>
|
<label>Name:</label>
|
||||||
<input name="country" type="text" />
|
<input name="name" type="text" />
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
<label>Город:</label>
|
<label>Size from (gb):</label>
|
||||||
<input name="city" type="text" />
|
<input name="sizeFrom" type="numer" />
|
||||||
|
<label>to:</label>
|
||||||
|
<input name="sizeTo" type="numer" />
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
<label>Год от:</label>
|
<label>Maker:</label>
|
||||||
<input name="yearFrom" type="number" />
|
<input name="maker" type="text" />
|
||||||
<label>до:</label>
|
|
||||||
<input name="yearTo" type="number" />
|
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
<label>Высота от:</label>
|
<label>Release year from:</label>
|
||||||
<input name="heightFrom" type="number" />
|
<input name="releaseFrom" type="number" />
|
||||||
<label>до:</label>
|
<label>to:</label>
|
||||||
<input name="heightTo" type="number" />
|
<input name="releaseTo" type="number" />
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<label>Price from:</label>
|
||||||
|
<input name="priceFrom" type="number" />
|
||||||
|
<label>Price to:</label>
|
||||||
|
<input name="priceTo" type="number" />
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ const Table = (props) => {
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<h4>Фильтры</h4>
|
<h4>Filters</h4>
|
||||||
<Filter filtering={updateDataTable} data={dataTable} fullData={props.data} />
|
<Filter filtering={updateDataTable} data={dataTable} fullData={props.data} />
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
|
|
||||||
const ram_sticks = [
|
let ram_sticks = [
|
||||||
{ "type": "DDR3", "name": "DDR3-1600-4GB-A1", "size": 4, "maker": "Kingston", "release": "2014-03", "price": 18, },
|
{ "type": "DDR3", "name": "DDR3-1600-4GB-A1", "size": 4, "maker": "Kingston", "release": "2014-03", "price": 18, },
|
||||||
{ "type": "DDR3", "name": "DDR3-1600-8GB-A2", "size": 8, "maker": "Corsair", "release": "2015-06", "price": 26, },
|
{ "type": "DDR3", "name": "DDR3-1600-8GB-A2", "size": 8, "maker": "Corsair", "release": "2015-06", "price": 26, },
|
||||||
{ "type": "DDR3", "name": "DDR3-1866-8GB-A3", "size": 8, "maker": "G.Skill", "release": "2016-02", "price": 29, },
|
{ "type": "DDR3", "name": "DDR3-1866-8GB-A3", "size": 8, "maker": "G.Skill", "release": "2016-02", "price": 29, },
|
||||||
|
|||||||
Reference in New Issue
Block a user