asb_cloud_front/src/pages/Measure/View.jsx

58 lines
1.3 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
name={column.dataIndex}
style={{margin: 0}}
rules={column.formItemRules}
>
{column.render(itm[column.dataIndex])}
</Form.Item>
)
}
return <p className='m-5px-auto'>{itm[column.dataIndex]}</p>
}
2021-09-03 09:26:43 +05:00
export const View = ({columns, item}) => {
if (!item || !columns?.length)
return <Empty image={Empty.PRESENTED_IMAGE_SIMPLE}/>
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
row={row}
col={colb*2 + 1}
style={{border:'1px solid lightgrey'}}
2021-10-06 13:57:04 +05:00
>
{column.title}
</GridItem>
<GridItem
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'}}
>
{renderSwitchableColumn(column, item)}
</GridItem>
2021-09-03 09:26:43 +05:00
</>
})
return <>
<Grid>
{viewItems}
</Grid>
</>
2021-09-03 09:26:43 +05:00
}