Add restore icon in trash panel
[arvados.git] / src / components / data-explorer / data-explorer.tsx
index 681caa9478c15d194c0ab1f904a59369b015089a..ea400b100edfac2b8d06a8ea7e9fb45b4fef3e61 100644 (file)
@@ -48,9 +48,11 @@ interface DataExplorerDataProps<T> {
     page: number;
     defaultIcon: IconType;
     defaultMessages: string[];
+    contextMenuColumn: boolean;
 }
 
 interface DataExplorerActionProps<T> {
+    onSetColumns: (columns: DataColumns<T>) => void;
     onSearch: (value: string) => void;
     onRowClick: (item: T) => void;
     onRowDoubleClick: (item: T) => void;
@@ -67,6 +69,11 @@ type DataExplorerProps<T> = DataExplorerDataProps<T> & DataExplorerActionProps<T
 
 export const DataExplorer = withStyles(styles)(
     class DataExplorerGeneric<T> extends React.Component<DataExplorerProps<T>> {
+        componentDidMount() {
+            if (this.props.onSetColumns) {
+                this.props.onSetColumns(this.props.columns);
+            }
+        }
         render() {
             const {
                 columns, onContextMenu, onFiltersChange, onSortToggle, extractKey,
@@ -89,7 +96,7 @@ export const DataExplorer = withStyles(styles)(
                             </Grid>
                         </Toolbar>
                         <DataTable
-                            columns={[...columns, this.contextMenuColumn]}
+                            columns={this.props.contextMenuColumn ? [...columns, this.contextMenuColumn] : columns}
                             items={items}
                             onRowClick={(_, item: T) => onRowClick(item)}
                             onContextMenu={onContextMenu}
@@ -136,7 +143,7 @@ export const DataExplorer = withStyles(styles)(
                 </IconButton>
             </Grid>
 
-        contextMenuColumn = {
+        contextMenuColumn: DataColumn<any> = {
             name: "Actions",
             selected: true,
             configurable: false,