Merge branch '21128-toolbar-context-menu'
[arvados-workbench2.git] / src / views / user-panel / user-panel.tsx
index f2491dc27182e351d466dd9a7d09b8a1308a0a68..950262d8c6693936b83c7dff60c6df86ba41e516 100644 (file)
@@ -3,7 +3,7 @@
 // SPDX-License-Identifier: AGPL-3.0
 
 import React from 'react';
-import { WithStyles, withStyles, Paper, Button, Grid } from '@material-ui/core';
+import { WithStyles, withStyles, Paper, Typography } from '@material-ui/core';
 import { DataExplorer } from "views-components/data-explorer/data-explorer";
 import { connect, DispatchProp } from 'react-redux';
 import { DataColumns } from 'components/data-table/data-table';
@@ -23,7 +23,7 @@ import { navigateToUserProfile } from "store/navigation/navigation-action";
 import { createTree } from 'models/tree';
 import { compose, Dispatch } from 'redux';
 import { UserResource } from 'models/user';
-import { ShareMeIcon, AddIcon } from 'components/icon/icon';
+import { ShareMeIcon } from 'components/icon/icon';
 import { USERS_PANEL_ID, openUserCreateDialog } from 'store/users/users-actions';
 import { noop } from 'lodash';
 
@@ -51,12 +51,12 @@ export enum UserPanelColumnNames {
     USERNAME = "Username"
 }
 
-export const userPanelColumns: DataColumns<string> = [
+export const userPanelColumns: DataColumns<string, UserResource> = [
     {
         name: UserPanelColumnNames.NAME,
         selected: true,
         configurable: true,
-        sortDirection: SortDirection.NONE,
+        sort: {direction: SortDirection.NONE, field: "firstName"},
         filters: createTree(),
         render: uuid => <UserResourceFullName uuid={uuid} link={true} />
     },
@@ -64,7 +64,7 @@ export const userPanelColumns: DataColumns<string> = [
         name: UserPanelColumnNames.UUID,
         selected: true,
         configurable: true,
-        sortDirection: SortDirection.NONE,
+        sort: {direction: SortDirection.NONE, field: "uuid"},
         filters: createTree(),
         render: uuid => <ResourceUuid uuid={uuid} />
     },
@@ -72,7 +72,7 @@ export const userPanelColumns: DataColumns<string> = [
         name: UserPanelColumnNames.EMAIL,
         selected: true,
         configurable: true,
-        sortDirection: SortDirection.NONE,
+        sort: {direction: SortDirection.NONE, field: "email"},
         filters: createTree(),
         render: uuid => <ResourceEmail uuid={uuid} />
     },
@@ -94,7 +94,7 @@ export const userPanelColumns: DataColumns<string> = [
         name: UserPanelColumnNames.USERNAME,
         selected: true,
         configurable: false,
-        sortDirection: SortDirection.NONE,
+        sort: {direction: SortDirection.NONE, field: "username"},
         filters: createTree(),
         render: uuid => <ResourceUsername uuid={uuid} />
     }
@@ -132,18 +132,20 @@ export const UserPanel = compose(
                 return <Paper className={this.props.classes.root}>
                     <DataExplorer
                         id={USERS_PANEL_ID}
+                        title={
+                            <>
+                                <Typography>
+                                    User records are created automatically on first log in.
+                                </Typography>
+                                <Typography>
+                                    To add a new user, add them to your configured log in provider.
+                                </Typography>
+                            </>}
                         onRowClick={noop}
                         onRowDoubleClick={noop}
                         onContextMenu={this.handleContextMenu}
                         contextMenuColumn={true}
                         hideColumnSelector
-                        actions={
-                            <Grid container justify='flex-end'>
-                                <Button variant="contained" color="primary" onClick={this.props.openUserCreateDialog}>
-                                    <AddIcon /> NEW USER
-                                </Button>
-                            </Grid>
-                        }
                         paperProps={{
                             elevation: 0,
                         }}