MCPcopy Create free account
hub / github.com/Autodesk/react-base-table / SelectableTable

Class SelectableTable

website/src/examples/selection.js:26–179  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

24}
25
26class SelectableTable extends React.PureComponent {
27 constructor(props) {
28 super(props)
29
30 const {
31 selectedRowKeys,
32 defaultSelectedRowKeys,
33 expandedRowKeys,
34 defaultExpandedRowKeys,
35 } = props
36 this.state = {
37 selectedRowKeys:
38 (selectedRowKeys !== undefined
39 ? selectedRowKeys
40 : defaultSelectedRowKeys) || [],
41 expandedRowKeys:
42 (expandedRowKeys !== undefined
43 ? expandedRowKeys
44 : defaultExpandedRowKeys) || [],
45 }
46 }
47
48 /**
49 * Set `selectedRowKeys` manually.
50 * This method is available only if `selectedRowKeys` is uncontrolled.
51 *
52 * @param {array} selectedRowKeys
53 */
54 setSelectedRowKeys(selectedRowKeys) {
55 // if `selectedRowKeys` is controlled
56 if (this.props.selectedRowKeys !== undefined) return
57
58 this.setState({
59 selectedRowKeys: cloneArray(selectedRowKeys),
60 })
61 }
62
63 /**
64 * See BaseTable#setExpandedRowKeys
65 */
66 setExpandedRowKeys(expandedRowKeys) {
67 // if `expandedRowKeys` is controlled
68 if (this.props.expandedRowKeys !== undefined) return
69
70 this.setState({
71 expandedRowKeys: cloneArray(expandedRowKeys),
72 })
73 }
74
75 /* some other custom methods and proxy methods */
76
77 /**
78 * Remove rowKeys from inner state manually, it's useful to purge dirty state after rows removed.
79 * This method is available only if `selectedRowKeys` or `expandedRowKeys` is uncontrolled.
80 *
81 * @param {array} rowKeys
82 */
83 removeRowKeysFromState(rowKeys) {

Callers

nothing calls this directly

Calls 1

callOrReturnFunction · 0.85

Tested by

no test coverage detected