1. import { Table } from 'uskin';
    2. const column = [{
    3. title: 'ID',
    4. width: '150px',
    5. key: 'id',
    6. dataIndex: 'id',
    7. sortBy: 'number',
    8. filter: [{
    9. name: 'id >= 2',
    10. key: '1',
    11. filterBy: (item) => {
    12. if (item.id >= 2) return true;
    13. return false;
    14. },
    15. }, {
    16. name: 'id < 2',
    17. key: '2',
    18. filterBy: (item) => {
    19. if (item.id < 2) return true;
    20. return false;
    21. },
    22. }],
    23. }, {
    24. title: 'Category',
    25. width: '120px',
    26. key: 'category',
    27. dataIndex: 'category',
    28. }, {
    29. title: 'Level',
    30. key: 'level',
    31. dataIndex: 'level',
    32. filter: [{
    33. name: 'level 1',
    34. key: '1',
    35. filterBy: item => item.level.localeCompare('First Level') === 0,
    36. }, {
    37. name: 'level 2',
    38. key: '2',
    39. filterBy: item => item.level.localeCompare('Second Level') === 0,
    40. }, {
    41. name: 'level 3',
    42. key: '3',
    43. filterBy: item => item.level.localeCompare('Third Level') === 0,
    44. }, {
    45. name: 'level 4',
    46. key: '4',
    47. filterBy: item => item.level.localeCompare('Fourth Level') === 0,
    48. }],
    49. }, {
    50. title: 'Price',
    51. key: 'price',
    52. dataIndex: 'price',
    53. }, {
    54. title: 'Double Price',
    55. key: 'double_price',
    56. sortBy: (item1, item2) => {
    57. if (item1.price * 2 > item2.price * 2) {
    58. return 1;
    59. } else if (item1.price * 2 < item2.price * 2) {
    60. return -1;
    61. }
    62. return 0;
    63. },
    64. render: (col, item) => (<div style={{ color: '#f78913' }}>{item.price * 2}</div>),
    65. }];
    66. const data = [{
    67. id: 1,
    68. category: 'Micro-1',
    69. level: 'First Level',
    70. price: '0.056',
    71. }, {
    72. id: 2,
    73. category: 'Standard-3',
    74. level: 'Second Level',
    75. price: '0.444',
    76. }, {
    77. id: 3,
    78. category: 'Micro-2',
    79. level: 'Third Level',
    80. price: '0.056',
    81. }, {
    82. id: 4,
    83. category: 'Standard-2',
    84. level: 'Fourth Level',
    85. price: '0.444',
    86. }];
    87. ReactDOM.render(<div>
    88. <Table
    89. column={column}
    90. data={data}
    91. dataKey={'id'}/>
    92. </div>, mountNode);