[ARVADOS-WORKBENCH2] updated: 1.1.4-57-ga7dc770
Git user
git at public.curoverse.com
Thu Jun 14 04:57:33 EDT 2018
Summary of changes:
src/components/main-app-bar/main-app-bar.test.tsx | 7 +++--
src/components/main-app-bar/main-app-bar.tsx | 31 ++++++++++++-----------
src/models/user.ts | 4 +++
3 files changed, 25 insertions(+), 17 deletions(-)
via a7dc770135000ddee283340222f1fb2f03740df7 (commit)
from d9846c586fe756b07f9b0c4898a99990653058de (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
commit a7dc770135000ddee283340222f1fb2f03740df7
Author: Michal Klobukowski <michal.klobukowski at contractors.roche.com>
Date: Thu Jun 14 10:16:45 2018 +0200
refactor main app bar, move getUseFullname fn to user model
Feature #13590
Arvados-DCO-1.1-Signed-off-by: Michal Klobukowski <michal.klobukowski at contractors.roche.com>
diff --git a/src/components/main-app-bar/main-app-bar.test.tsx b/src/components/main-app-bar/main-app-bar.test.tsx
index cf24b29..f08c939 100644
--- a/src/components/main-app-bar/main-app-bar.test.tsx
+++ b/src/components/main-app-bar/main-app-bar.test.tsx
@@ -10,15 +10,18 @@ import SearchBar from "./search-bar/search-bar";
import Breadcrumbs from "../breadcrumbs/breadcrumbs";
import DropdownMenu from "./dropdown-menu/dropdown-menu";
import { Button, MenuItem, IconButton } from "@material-ui/core";
+import { User } from "../../models/user";
configure({ adapter: new Adapter() });
describe("<MainAppBar />", () => {
- const user = {
+ const user: User = {
firstName: "Test",
lastName: "User",
- email: "test.user at example.com"
+ email: "test.user at example.com",
+ uuid: "",
+ ownerUuid: ""
};
it("renders all components and the menu for authenticated user if user prop has value", () => {
diff --git a/src/components/main-app-bar/main-app-bar.tsx b/src/components/main-app-bar/main-app-bar.tsx
index d0dee65..27cd8bd 100644
--- a/src/components/main-app-bar/main-app-bar.tsx
+++ b/src/components/main-app-bar/main-app-bar.tsx
@@ -10,7 +10,7 @@ import HelpIcon from "@material-ui/icons/Help";
import SearchBar from "./search-bar/search-bar";
import Breadcrumbs, { Breadcrumb } from "../breadcrumbs/breadcrumbs";
import DropdownMenu from "./dropdown-menu/dropdown-menu";
-import { User } from "../../models/user";
+import { User, getUserFullname } from "../../models/user";
export interface MainAppBarMenuItem {
label: string;
@@ -39,9 +39,8 @@ export interface MainAppBarActionProps {
type MainAppBarProps = MainAppBarDataProps & MainAppBarActionProps & WithStyles<CssRules>;
export const MainAppBar: React.SFC<MainAppBarProps> = (props) => {
- const { classes, searchText, breadcrumbs, searchDebounce, user } = props;
- return <AppBar className={classes.appBar} position="static">
- <Toolbar className={classes.toolbar}>
+ return <AppBar className={props.classes.appBar} position="static">
+ <Toolbar className={props.classes.toolbar}>
<Grid
container
justify="space-between"
@@ -57,9 +56,9 @@ export const MainAppBar: React.SFC<MainAppBarProps> = (props) => {
<Grid item xs={6} container alignItems="center">
{
props.user && <SearchBar
- value={searchText}
+ value={props.searchText}
onSearch={props.onSearch}
- debounce={searchDebounce}
+ debounce={props.searchDebounce}
/>
}
</Grid>
@@ -71,8 +70,8 @@ export const MainAppBar: React.SFC<MainAppBarProps> = (props) => {
</Grid>
</Toolbar>
{
- props.user && <Toolbar className={classes.toolbar}>
- <Breadcrumbs items={breadcrumbs} onClick={props.onBreadcrumbClick} />
+ props.user && <Toolbar className={props.classes.toolbar}>
+ <Breadcrumbs items={props.breadcrumbs} onClick={props.onBreadcrumbClick} />
</Toolbar>
}
</AppBar>;
@@ -88,7 +87,9 @@ const renderMenuForUser = ({ user, menuItems, onMenuItemClick }: MainAppBarProps
</Badge>
</IconButton>
<DropdownMenu icon={PersonIcon} id="account-menu">
- <MenuItem>{getUserFullname(user)}</MenuItem>
+ <MenuItem>
+ {getUserFullname(user)}
+ </MenuItem>
{renderMenuItems(menuItems.accountMenu, onMenuItemClick)}
</DropdownMenu>
<DropdownMenu icon={HelpIcon} id="help-menu">
@@ -100,20 +101,20 @@ const renderMenuForUser = ({ user, menuItems, onMenuItemClick }: MainAppBarProps
const renderMenuForAnonymous = ({ onMenuItemClick, menuItems }: MainAppBarProps) => {
return menuItems.anonymousMenu.map((item, index) => (
- <Button key={index} color="inherit" onClick={() => onMenuItemClick(item)}>{item.label}</Button>
+ <Button key={index} color="inherit" onClick={() => onMenuItemClick(item)}>
+ {item.label}
+ </Button>
));
};
const renderMenuItems = (menuItems: MainAppBarMenuItem[], onMenuItemClick: (menuItem: MainAppBarMenuItem) => void) => {
return menuItems.map((item, index) => (
- <MenuItem key={index} onClick={() => onMenuItemClick(item)}>{item.label}</MenuItem>
+ <MenuItem key={index} onClick={() => onMenuItemClick(item)}>
+ {item.label}
+ </MenuItem>
));
};
-const getUserFullname = (user?: User) => {
- return user ? `${user.firstName} ${user.lastName}` : "";
-};
-
type CssRules = "appBar" | "toolbar";
const styles: StyleRulesCallback<CssRules> = theme => ({
diff --git a/src/models/user.ts b/src/models/user.ts
index ae7cf43..4cc29ba 100644
--- a/src/models/user.ts
+++ b/src/models/user.ts
@@ -9,3 +9,7 @@ export interface User {
uuid: string;
ownerUuid: string;
}
+
+export const getUserFullname = (user?: User) => {
+ return user ? `${user.firstName} ${user.lastName}` : "";
+};
\ No newline at end of file
-----------------------------------------------------------------------
hooks/post-receive
--
More information about the arvados-commits
mailing list