Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
W
warehouse-management
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Ascend
warehouse-management
Commits
5a875b5a
Commit
5a875b5a
authored
May 05, 2021
by
Darrick Yong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add filter
parent
bda5bf1b
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
127 additions
and
24 deletions
+127
-24
filter.css
frontend/public/stylesheets/filter.css
+24
-0
master.css
frontend/public/stylesheets/master.css
+2
-1
App.jsx
frontend/src/App.jsx
+2
-2
Filter.jsx
frontend/src/components/filter/Filter.jsx
+93
-0
OrderIndex.jsx
frontend/src/components/order/OrderIndex.jsx
+1
-16
OrderIndexItem.jsx
frontend/src/components/order/OrderIndexItem.jsx
+5
-5
No files found.
frontend/public/stylesheets/filter.css
0 → 100644
View file @
5a875b5a
.filter
{
width
:
25%
;
display
:
flex
;
justify-content
:
space-evenly
;
align-items
:
center
;
}
.filter
>
*
{
cursor
:
pointer
;
}
.filter-all.selected
{
color
:
orange
;
}
.filter-rec.selected
{
color
:
blue
;
}
.filter-ful.selected
{
color
:
green
;
}
.filter-can.selected
{
color
:
red
;
}
\ No newline at end of file
frontend/public/stylesheets/master.css
View file @
5a875b5a
@import
'./reset.css'
;
@import
'./header.css'
;
@import
'./footer.css'
;
\ No newline at end of file
@import
'./footer.css'
;
@import
'./filter.css'
;
\ No newline at end of file
frontend/src/App.jsx
View file @
5a875b5a
import
{
useEffect
,
useState
}
from
"react"
;
import
{
connect
}
from
"react-redux"
;
import
Header
from
"./components/header/Header"
;
import
OrderIndex
from
"./components/order/OrderIndex"
import
{
fetchOrders
}
from
"./actions/order_actions"
;
import
Filter
from
"./components/filter/Filter"
;
const
App
=
({
orders
,
fetchOrders
})
=>
{
...
...
@@ -22,6 +21,7 @@ const App = ({ orders, fetchOrders }) => {
return
(
<
div
className=
"app"
>
<
Header
/>
<
Filter
orders=
{
orders
}
setOrdersToShow=
{
setOrdersToShow
}
/>
<
OrderIndex
orders=
{
ordersToShow
}
/>
</
div
>
);
...
...
frontend/src/components/filter/Filter.jsx
0 → 100644
View file @
5a875b5a
import
{
useEffect
,
useState
}
from
"react"
;
const
Filter
=
({
orders
,
setOrdersToShow
})
=>
{
const
[
all
,
setAll
]
=
useState
(
true
);
const
[
received
,
setReceived
]
=
useState
(
false
);
const
[
fulfilled
,
setFulfilled
]
=
useState
(
false
);
const
[
cancelled
,
setCancelled
]
=
useState
(
false
);
const
RECEIVED
=
"RECEIVED"
;
const
FULFILLED
=
"FULFILLED"
;
const
CANCELLED
=
"CANCELLED"
;
const
reset
=
()
=>
{
setAll
(
true
);
setReceived
(
false
);
setFulfilled
(
false
);
setCancelled
(
false
);
};
const
receive
=
()
=>
{
setAll
(
false
);
setReceived
(
!
received
);
};
const
fulfill
=
()
=>
{
setAll
(
false
);
setFulfilled
(
!
fulfilled
);
};
const
cancel
=
()
=>
{
setAll
(
false
);
setCancelled
(
!
cancelled
);
};
useEffect
(()
=>
{
const
newOrders
=
{
allIds
:
[],
byId
:
{}
};
orders
.
allIds
.
map
((
wareId
)
=>
{
const
order
=
orders
.
byId
[
wareId
];
switch
(
order
.
status
)
{
case
RECEIVED
:
if
(
all
||
received
)
{
newOrders
.
allIds
.
push
(
wareId
);
newOrders
.
byId
[
wareId
]
=
order
;
}
break
;
case
FULFILLED
:
if
(
all
||
fulfilled
)
{
newOrders
.
allIds
.
push
(
wareId
);
newOrders
.
byId
[
wareId
]
=
order
;
}
break
;
case
CANCELLED
:
if
(
all
||
cancelled
)
{
newOrders
.
allIds
.
push
(
wareId
);
newOrders
.
byId
[
wareId
]
=
order
;
}
break
;
default
:
break
;
}
});
setOrdersToShow
(
newOrders
);
},
[
all
,
received
,
fulfilled
,
cancelled
]);
if
(
!
orders
.
allIds
.
length
)
return
null
;
return
(
<
div
className=
"filter"
>
<
div
className=
{
`filter-all ${all ? "selected" : ""}`
}
onClick=
{
reset
}
>
All
</
div
>
<
div
className=
{
`filter-rec ${received ? "selected" : ""}`
}
onClick=
{
receive
}
>
Received
</
div
>
<
div
className=
{
`filter-ful ${fulfilled ? "selected" : ""}`
}
onClick=
{
fulfill
}
>
Fulfilled
</
div
>
<
div
className=
{
`filter-can ${cancelled ? "selected" : ""}`
}
onClick=
{
cancel
}
>
Cancelled
</
div
>
</
div
>
);
};;
export
default
Filter
;
frontend/src/components/order/OrderIndex.jsx
View file @
5a875b5a
import
React
,
{
useState
,
useEffect
}
from
'react'
;
import
OrderIndexItem
from
'./OrderIndexItem'
;
import
{
connect
}
from
"react-redux"
;
// import { createOrder, fetchOrders, editOrder } from '../../actions/order_actions';
const
OrderIndex
=
({
orders
,
...
...
@@ -10,7 +7,6 @@ const OrderIndex = ({
<
div
>
<
h1
>
Order Index
</
h1
>
<
br
/>
<
br
/>
{
orders
.
allIds
.
map
((
orderId
)
=>
{
...
...
@@ -22,15 +18,4 @@ const OrderIndex = ({
}
const
mapStateToProps
=
(
state
,
ownProps
)
=>
{
// debugger;
return
{
orders
:
ownProps
.
orders
,
}
}
const
mapDispatchToProps
=
dispatch
=>
({
})
export
default
connect
(
mapStateToProps
,
mapDispatchToProps
)(
OrderIndex
)
export
default
OrderIndex
;
\ No newline at end of file
frontend/src/components/order/OrderIndexItem.jsx
View file @
5a875b5a
...
...
@@ -12,13 +12,13 @@ const OrderIndexItem = ({ order }) => {
modifiedAt
}
=
order
;
const
actions
=
(
status
===
"RECEIV
ED"
?
<
OrderButtons
order=
{
order
}
/>
:
<
div
>
{
status
}
</
div
>)
const
actions
=
(
status
!==
"FULFILLED"
||
status
!==
"CANCELL
ED"
?
<
OrderButtons
order=
{
order
}
/>
:
<
div
>
{
status
}
</
div
>
);
return
(
<
div
>
<
div
className=
"oii"
>
<
div
>
{
`Order #: ${orderId}`
}
</
div
>
{
actions
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment