Browse Source

대시보드(드론 별 비행운항 목록) 페이징 처리

pull/2/head
김장현 10 months ago
parent
commit
fe08d04daf
  1. 5
      src/components/crud/grid/GridDatatable.js
  2. 88
      src/components/dashboard/DroneFlightSchedule.js

5
src/components/crud/grid/GridDatatable.js

@ -10,6 +10,7 @@ import {
import { selectableRowsComponent } from './selectableRowsComponent'; import { selectableRowsComponent } from './selectableRowsComponent';
export const GridDatabase = props => { export const GridDatabase = props => {
console.log(props.rowsPerPageText);
return props[`${props.handlerPageChange ? 'total' : 'count'}`] <= 0 ? ( return props[`${props.handlerPageChange ? 'total' : 'count'}`] <= 0 ? (
<div className='d-flex justify-content-center align-items-center h-100'> <div className='d-flex justify-content-center align-items-center h-100'>
<p>표시할 데이터가 없습니다.</p> <p>표시할 데이터가 없습니다.</p>
@ -39,7 +40,9 @@ export const GridDatabase = props => {
} }
onChangePage={props.pagination ? props.handlerPageChange : null} onChangePage={props.pagination ? props.handlerPageChange : null}
paginationComponentOptions={{ paginationComponentOptions={{
noRowsPerPage: props.handlerPageChange ? true : false noRowsPerPage: props.handlerPageChange ? true : false,
rowsPerPageText:
props.rowsPerPageText === 'noText' ? '' : 'Rows per page:'
}} }}
selectableRows={props.selectableRows} selectableRows={props.selectableRows}
selectableRowsComponent={props.selectableRowsComponent} selectableRowsComponent={props.selectableRowsComponent}

88
src/components/dashboard/DroneFlightSchedule.js

@ -120,47 +120,57 @@ export default function DroneFlightSchedule({
const { dronOperationList } = useSelector(state => state.mainDashState); const { dronOperationList } = useSelector(state => state.mainDashState);
return ( return (
<Card> <div className='invoice-list-wrapper'>
<CardHeader className=''> <Card>
<div className='w-100 d-flex justify-content-between'> <div className='invoice-list-dataTable'>
<CardTitle tag='h4'>드론 비행운항 목록</CardTitle> <CardHeader className=''>
<div className='d-flex align-items-center'> <div className='w-100 d-flex justify-content-between'>
{user?.cptAuthCode === 'KAC' || <CardTitle tag='h4'>드론 비행운항 목록</CardTitle>
(user?.authId === 'SUPER' && ( <div className='d-flex align-items-center'>
<Input {user?.cptAuthCode === 'KAC' ||
id='groupSelect' (user?.authId === 'SUPER' && (
type='select' <Input
size='sm' id='groupSelect'
style={{ minWidth: '120px' }} type='select'
s size='sm'
onChange={e => { style={{ minWidth: '120px' }}
const { value } = e.target; s
handlerDronOperationChange(value); onChange={e => {
}} const { value } = e.target;
> handlerDronOperationChange(value);
<option value='all'>그룹선택</option> }}
{competentAgency?.map(i => ( >
<option value={i.value}>{i.text}</option> <option value='all'>그룹선택</option>
{competentAgency?.map(i => (
<option value={i.value}>{i.text}</option>
))}
</Input>
))} ))}
</Input>
))}
<button <button
onClick={() => handlerMovePage('/basis/flight/schedule/index')} onClick={() =>
style={{ marginLeft: '8px' }} handlerMovePage('/basis/flight/schedule/index')
> }
<Plus /> style={{ marginLeft: '8px' }}
</button> >
</div> <Plus />
</button>
</div>
</div>
</CardHeader>
<CardBody>
<GridDatabase
data={dronOperationList || []}
paginationPerPage={8}
paginationRowsPerPageOptions={[]}
rowsPerPageText={'noText'}
total={dronOperationList?.length || 0}
columns={columns}
pagination
/>
</CardBody>
</div> </div>
</CardHeader> </Card>
<CardBody> </div>
<GridDatabase
data={dronOperationList || []}
count={dronOperationList?.length || 0}
columns={columns}
/>
</CardBody>
</Card>
); );
} }

Loading…
Cancel
Save