import React from 'react'; import {Table, Tag, Tooltip} from '../../../index'; const {Column} = Table; function getRandomNumber(end = 100, start = 0) { const number = Math.ceil(Math.random() * (end - start)) + start; return number; } function getData(total = 25) { const _data = []; for (let i = 0; i < total; i++) { let age = (i * 1000) % 149; let name = `Edward King ${i}`; _data.push({ key: String(i), name, age, address: `London, Park Lane no. ${i} Lake Park`, description: `My name is ${name}, I am ${age} years old, living in New York No. ${i + 1} Lake Park.`, }); } return _data; } function getGroupData() { const data = [ {city: 'Beijing', job: 'FE', department: 'IES'}, {city: 'Beijing', job: 'BE', department: 'IES'}, {city: 'Shanghai', job: 'Android', department: 'IES'}, {city: 'Tokyo', job: 'Android', department: 'IES'}, {city: 'Shanghai', job: 'IOS', department: 'EE'}, {city: 'LA', job: 'SE', department: 'EE'}, {city: 'Beijing', job: 'Android', department: 'EE'}, {city: 'Tokyo', job: 'IOS', department: 'EE'}, {city: 'Tokyo', job: 'SE', department: 'DATA'}, {city: 'Shanghai', job: 'BE', department: 'DATA'}, {city: 'LA', job: 'Android', department: 'DATA'}, {city: 'LA', job: 'IOS', department: 'DATA'}, ]; return data; } function getColumns() { const columns = [ { title: 'Name', dataIndex: 'name', width: 150, fixed: 'left', }, { title: 'Age', dataIndex: 'age', width: 150, }, { title: 'Description', dataIndex: 'description', }, { title: 'Address', dataIndex: 'address', }, { render: (text, record) => ( Show Info ), width: 150, fixed: 'right', }, ]; return columns; } function getJSXColumns() { const jsxColumns = ( <> ( Show Info )} width={150} /> ); return jsxColumns; } function getGroupColumns() { const columns = [ {dataIndex: 'city', title: 'City', width: 400, sorter: (a, b) => (a.city > b.city ? 1 : -1)}, { dataIndex: 'job', title: 'Job', width: 200, filters: [ {text: 'IOS', value: 'IOS'}, {text: 'Android', value: 'Android'}, ], onFilter: (value, record) => record.job && record.job.indexOf(value) === 0, }, {dataIndex: 'department', title: 'Department'}, ]; return columns; } function getNestColumns() { const nestColumns = ([ { title: 'Base Information', fixed: 'left', children: [ { title: 'Name', dataIndex: 'name', fixed: 'left', width: 200, filters: [ { text: 'Code 45', value: '45', }, { text: 'King 4', value: 'King 4', }, ], onFilter: (value, record) => record.name.includes(value), }, { title: 'Age', dataIndex: 'age', fixed: 'left', width: 100, sorter: (a, b) => (a.age - b.age > 0 ? 1 : -1), }, ], }, { title: 'Company Information', children: [ { title: 'Company Name', dataIndex: 'company.name', }, { title: 'Company Address', dataIndex: 'company.address', }, ], }, { title: 'Address', width: 250, dataIndex: 'address', fixed: 'right', }, ]); return nestColumns; } function getNestData(total = 25) { const data = []; for (let i = 0; i < total; i++) { let age = (i * 1000) % 149; let name = `Edward King ${i}`; data.push({ key: String(i), company: { name: 'ByteDance', address: 'No. 48, Zhichun Road', }, name, age, address: `No ${i + 1}, Zhongguancun Street`, description: `My name is ${name}, I am ${age} years old, living in No ${i + 1}, Zhongguancun Street`, }); } return data; } function getTreeData() { const childrenData = [ { key: 1, name: 'ZhangSan', age: 30, address: 'bytedance 1', children: [ { key: 11, name: 'LiSi', age: 40, address: 'bytedance 2', }, { key: 12, name: 'WangWu', age: 30, address: 'bytedance 2', children: [ { key: 121, name: 'XiaoMing', age: 50, address: 'bytedance 3', }, ], }, { key: 13, name: 'XiaoZhang', age: 60, address: 'bytedance 4', children: [ { key: 131, name: 'XiaoLi', age: 50, address: 'bytedance 5', children: [ { key: 1311, name: 'XiaoGuo', age: 40, address: 'bytedance 6', }, { key: 1312, name: 'XiaoHong', age: 30, address: 'bytedance 7', }, ], }, ], }, ], }, { key: 2, name: 'XiaoGang', age: 80, address: 'bytedance 8', }, ]; return childrenData; } function getJSXNestColumns() { const filters = [ { text: 'Code 45', value: '45', }, { text: 'King 4', value: 'King 4', }, ]; const jsxNestColumns = ( <> record.name.includes(value)} /> (a.age - b.age > 0 ? 1 : -1)} /> ); return jsxNestColumns; } export { getRandomNumber, getData, getGroupData, getNestData, getTreeData, getColumns, getJSXColumns, getGroupColumns, getJSXNestColumns, getNestColumns };