Skip to content

Commit 7ee88a6

Browse files
committed
upload
1 parent 1d582f6 commit 7ee88a6

3 files changed

Lines changed: 122 additions & 0 deletions

File tree

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
import React from 'react';
2+
import messages from 'lib/text';
3+
import style from './style.css';
4+
5+
import SelectField from 'material-ui/SelectField';
6+
import MenuItem from 'material-ui/MenuItem';
7+
import Toggle from 'material-ui/Toggle';
8+
9+
export default ({
10+
active,
11+
discontinued,
12+
on_sale,
13+
stock_status,
14+
setActive,
15+
setDiscontinued,
16+
setOnSale,
17+
setStock
18+
}) => {
19+
return (
20+
<div className={style.filter}>
21+
<Toggle
22+
label={messages.products_onlyEnabled}
23+
onToggle={(e, value) => {
24+
setActive(value);
25+
}}
26+
toggled={active}
27+
className={style.toggle}
28+
/>
29+
<Toggle
30+
label={messages.products_onlyDiscontinued}
31+
onToggle={(e, value) => {
32+
setDiscontinued(value);
33+
}}
34+
toggled={discontinued}
35+
className={style.toggle}
36+
/>
37+
<Toggle
38+
label={messages.products_onlyOnSale}
39+
onToggle={(e, value) => {
40+
setOnSale(value);
41+
}}
42+
toggled={on_sale}
43+
className={style.toggle}
44+
/>
45+
<SelectField
46+
value={stock_status}
47+
onChange={(event, index, value) => {
48+
setStock(value);
49+
}}
50+
floatingLabelText={messages.products_stockStatus}
51+
fullWidth={true}
52+
>
53+
<MenuItem value={'all'} primaryText={messages.all} />
54+
<MenuItem value={'available'} primaryText={messages.products_inStock} />
55+
<MenuItem
56+
value={'out_of_stock'}
57+
primaryText={messages.products_outOfStock}
58+
/>
59+
<MenuItem
60+
value={'backorder'}
61+
primaryText={messages.products_backorder}
62+
/>
63+
<MenuItem value={'preorder'} primaryText={messages.products_preorder} />
64+
<MenuItem
65+
value={'discontinued'}
66+
primaryText={messages.products_discontinued}
67+
/>
68+
</SelectField>
69+
</div>
70+
);
71+
};
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
.filter {
2+
padding: 0 16px;
3+
}
4+
5+
.toggle {
6+
margin-bottom: 16px;
7+
}
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
import { connect } from 'react-redux';
2+
import {
3+
fetchProducts,
4+
setFilterActive,
5+
setFilterDiscontinued,
6+
setFilterOnSale,
7+
setFilterStock
8+
} from '../actions';
9+
import Filter from './components/fields';
10+
11+
const mapStateToProps = state => {
12+
return {
13+
active: state.products.filter_active,
14+
discontinued: state.products.filter_discontinued,
15+
on_sale: state.products.filter_on_sale,
16+
stock_status: state.products.filter_stock_status
17+
};
18+
};
19+
20+
const mapDispatchToProps = dispatch => {
21+
return {
22+
setActive: value => {
23+
dispatch(setFilterActive(value));
24+
dispatch(fetchProducts());
25+
},
26+
setDiscontinued: value => {
27+
dispatch(setFilterDiscontinued(value));
28+
dispatch(fetchProducts());
29+
},
30+
setOnSale: value => {
31+
dispatch(setFilterOnSale(value));
32+
dispatch(fetchProducts());
33+
},
34+
setStock: value => {
35+
dispatch(setFilterStock(value));
36+
dispatch(fetchProducts());
37+
}
38+
};
39+
};
40+
41+
export default connect(
42+
mapStateToProps,
43+
mapDispatchToProps
44+
)(Filter);

0 commit comments

Comments
 (0)