asb_cloud_front/src/pages/Measure/View.jsx

62 lines
1.4 KiB
React
Raw Normal View History

2021-10-06 13:57:04 +05:00
import { Empty, Form } from 'antd';
2021-09-03 09:26:43 +05:00
import {Grid, GridItem} from '../../components/Grid'
2021-10-06 13:57:04 +05:00
import '../../styles/index.css'
const renderSwitchableColumn = (column, itm) => {
if(column.render) {
return (
<Form.Item
key={column.dataIndex}
2021-10-06 13:57:04 +05:00
name={column.dataIndex}
style={{margin: 0}}
rules={column.formItemRules}
>
{column.render(itm[column.dataIndex])}
</Form.Item>
)
}
return <p key={column.title} className='m-5px'>{itm[column.dataIndex]}</p>
2021-10-06 13:57:04 +05:00
}
2021-09-03 09:26:43 +05:00
export const View = ({columns, item}) => {
if (!item || !columns?.length)
return <Empty key='empty' image={Empty.PRESENTED_IMAGE_SIMPLE}/>
2021-09-03 09:26:43 +05:00
const colsCount = 3
const viewItems = columns.map( (column, i) => {
const row = Math.floor(i / colsCount) + 1
const colb = i % colsCount
2021-09-03 09:26:43 +05:00
return <>
2021-10-06 13:57:04 +05:00
<GridItem
key={column.dataIndex}
2021-10-06 13:57:04 +05:00
row={row}
col={colb*2 + 1}
style={{border:'1px solid lightgrey'}}
2021-10-06 13:57:04 +05:00
>
{column.title}
</GridItem>
<GridItem
key={column.title}
2021-10-06 13:57:04 +05:00
row={row}
col={colb*2 + 2}
style={{border:'1px solid lightgrey',
2021-10-06 13:57:04 +05:00
justifyContent:'right',
marginRight:'16px',
fontWeight:'bold',
textAlign:'right',
padding: 0}}
2021-10-06 13:57:04 +05:00
>
{renderSwitchableColumn(column, item)}
</GridItem>
2021-09-03 09:26:43 +05:00
</>
})
return <>
<Grid>
{viewItems}
</Grid>
</>
2021-09-03 09:26:43 +05:00
}