[ARVADOS-WORKBENCH2] updated: 1.2.0-406-ga2bf1ed
Git user
git at public.curoverse.com
Tue Sep 18 07:32:30 EDT 2018
Summary of changes:
package.json | 1 +
src/common/custom-theme.ts | 20 ++---
.../data-table-filters/data-table-filters.tsx | 25 +++---
src/components/icon/icon.tsx | 6 +-
src/components/search-bar/search-bar.tsx | 14 ++--
src/components/search-input/search-input.tsx | 8 +-
src/routes/route-change-handlers.ts | 9 ++-
src/routes/routes.ts | 6 +-
.../ancestors-service/ancestors-service.ts | 22 +++---
src/services/groups-service/groups-service.ts | 17 +++-
src/store/breadcrumbs/breadcrumbs-actions.ts | 34 +++++++-
src/store/navigation/navigation-action.ts | 6 +-
.../project-panel-middleware-service.ts | 8 +-
.../shared-with-me-middleware-service.ts | 82 +++++++++++++++++++
.../shared-with-me-panel-actions.ts | 18 +++++
.../side-panel-tree/side-panel-tree-actions.ts | 4 +-
src/store/side-panel/side-panel-action.ts | 4 +-
src/store/store.ts | 8 +-
src/store/workbench/workbench-actions.ts | 22 ++++--
.../details-panel/details-data.tsx | 2 +-
.../side-panel-button/side-panel-button.tsx | 4 +-
src/views/project-panel/project-panel.tsx | 9 +--
.../shared-with-me-panel/shared-with-me-panel.tsx | 77 ++++++++++++++++++
src/views/workbench/workbench.tsx | 58 +++++++++-----
typings/global.d.ts | 2 +
yarn.lock | 92 ++++------------------
26 files changed, 389 insertions(+), 169 deletions(-)
create mode 100644 src/store/shared-with-me-panel/shared-with-me-middleware-service.ts
create mode 100644 src/store/shared-with-me-panel/shared-with-me-panel-actions.ts
create mode 100644 src/views/shared-with-me-panel/shared-with-me-panel.tsx
via a2bf1ed3a15cf55e426c51ad8e6febd7ff2e3020 (commit)
via 48415d7eb1c2c1d8454c25f3d0795995fdc3857e (commit)
via 5d7f5774cccbe8f978f2d41afedacb149489405a (commit)
via 85719156f00d2508bc02dfcc8f44accb7a707e1e (commit)
via 23d078f1e47a034f23a344f44c2e2f31ef5901a8 (commit)
via 8d16d4c8b7705e68e6dc9acb4210e9df53a3fa88 (commit)
via 62210d9f0b937947e52e7a9a0f5cb8f9201258a7 (commit)
via 75e65fcb253a488da1b3032a54c229cdafdbc9a2 (commit)
via 877ce2a1b858c685eec0e8f47652ebb8a271195e (commit)
via f4ad575d90e25defd2a98a3e52566f00a0322cc8 (commit)
via 5f2fb95b13a393614a570b541eec754a9ae3d7a6 (commit)
via fa7af09515176daff7109c7f135eb5d742ed42d8 (commit)
via a189d04efc7e3d8f7a66f7302ac1fda346c40a4e (commit)
via a6540e058f12352e3cde3486f6a613b6a7420172 (commit)
via 9dd75d38ab049da5c98f81fa69b5247356bba438 (commit)
via 328078ca88804f25882ac091c92b753ed724b9ec (commit)
via 5fdf4adc6981e60169966e549e37c5611d7d420b (commit)
via 0a97d1cc5eedb11445af4b675c57b8cbdb4f1af3 (commit)
via b1f6165cbc3db9a248fa06542dffa93814c9dbe2 (commit)
via ca8b222695a58831ea5b2aeb62195f74a0808d6b (commit)
via 085692af7ee9809e2714edacad1251e78a196bd3 (commit)
via ca1736b82188c7c341f61a779552708263ca5def (commit)
via fbe71606b4a8bcdb9561c64ee71e0cbd0a38dc08 (commit)
via 5f27c58e1c34d147786de6104ead8a57c48f7d2e (commit)
from 41df718825e8a136eb2378a07aa60d572bdb00b4 (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 a2bf1ed3a15cf55e426c51ad8e6febd7ff2e3020
Merge: 41df718 48415d7
Author: Daniel Kos <daniel.kos at contractors.roche.com>
Date: Tue Sep 18 13:32:23 2018 +0200
refs #master Merge branch 'origin/master' into 14186-progress-indicator-store
# Conflicts:
# src/services/groups-service/groups-service.ts
# src/store/store.ts
# src/views/project-panel/project-panel.tsx
# src/views/workbench/workbench.tsx
Arvados-DCO-1.1-Signed-off-by: Daniel Kos <daniel.kos at contractors.roche.com>
diff --cc src/common/custom-theme.ts
index be8e77f,3d56f78..ff0eb5e
--- a/src/common/custom-theme.ts
+++ b/src/common/custom-theme.ts
@@@ -26,12 -27,12 +27,10 @@@ interface Colors
yellow700: string;
red900: string;
blue500: string;
- grey500: string;
- grey700: string;
}
- const red900 = red["900"];
+ const arvadosPurple = '#361336';
const purple800 = purple["800"];
- const grey200 = grey["200"];
- const grey300 = grey["300"];
const grey500 = grey["500"];
const grey600 = grey["600"];
const grey700 = grey["700"];
diff --cc src/services/groups-service/groups-service.ts
index c2b559b,299e680..e705b6e
--- a/src/services/groups-service/groups-service.ts
+++ b/src/services/groups-service/groups-service.ts
@@@ -10,7 -10,7 +10,8 @@@ import { ProjectResource } from "~/mode
import { ProcessResource } from "~/models/process";
import { TrashableResource } from "~/models/resource";
import { TrashableResourceService } from "~/services/common-service/trashable-resource-service";
-import { GroupResource } from '~/models/group';
+import { ApiActions } from "~/services/api/api-actions";
++import { GroupResource } from "~/models/group";
export interface ContentsArguments {
limit?: number;
@@@ -26,10 -30,10 +31,10 @@@ export type GroupContentsResource
ProjectResource |
ProcessResource;
- export class GroupsService<T extends TrashableResource = TrashableResource> extends TrashableResourceService<T> {
+ export class GroupsService<T extends GroupResource = GroupResource> extends TrashableResourceService<T> {
- constructor(serverApi: AxiosInstance) {
- super(serverApi, "groups");
+ constructor(serverApi: AxiosInstance, actions: ApiActions) {
+ super(serverApi, "groups", actions);
}
contents(uuid: string, args: ContentsArguments = {}): Promise<ListResults<GroupContentsResource>> {
@@@ -39,14 -43,18 +44,22 @@@
filters: filters ? `[${filters}]` : undefined,
order: order ? order : undefined
};
- return this.serverApi
- .get(this.resourceType + `${uuid}/contents`, {
- params: CommonResourceService.mapKeys(_.snakeCase)(params)
- })
- .then(CommonResourceService.mapResponseKeys);
+ return CommonResourceService.defaultResponse(
+ this.serverApi
+ .get(this.resourceType + `${uuid}/contents`, {
+ params: CommonResourceService.mapKeys(_.snakeCase)(params)
+ }),
+ this.actions
+ );
}
+
+ shared(params: SharedArguments = {}): Promise<ListResults<GroupContentsResource>> {
- return this.serverApi
- .get(this.resourceType + 'shared', { params })
- .then(CommonResourceService.mapResponseKeys);
++ return CommonResourceService.defaultResponse(
++ this.serverApi
++ .get(this.resourceType + 'shared', { params }),
++ this.actions
++ );
+ }
}
export enum GroupContentsResourcePrefix {
diff --cc src/store/store.ts
index 205a21e,43ab231..012b747
--- a/src/store/store.ts
+++ b/src/store/store.ts
@@@ -32,7 -32,8 +32,9 @@@ import { TrashPanelMiddlewareService }
import { TRASH_PANEL_ID } from "~/store/trash-panel/trash-panel-action";
import { processLogsPanelReducer } from './process-logs-panel/process-logs-panel-reducer';
import { processPanelReducer } from '~/store/process-panel/process-panel-reducer';
+ import { SHARED_WITH_ME_PANEL_ID } from '~/store/shared-with-me-panel/shared-with-me-panel-actions';
+ import { SharedWithMeMiddlewareService } from './shared-with-me-panel/shared-with-me-middleware-service';
+import { progressIndicatorReducer } from './progress-indicator/progress-indicator-reducer';
const composeEnhancers =
(process.env.NODE_ENV === 'development' &&
diff --cc src/views/project-panel/project-panel.tsx
index 61f6766,2557939..2b2be2e
--- a/src/views/project-panel/project-panel.tsx
+++ b/src/views/project-panel/project-panel.tsx
@@@ -25,24 -23,9 +23,23 @@@ import { ProjectResource } from '~/mode
import { navigateTo } from '~/store/navigation/navigation-action';
import { getProperty } from '~/store/properties/properties';
import { PROJECT_PANEL_CURRENT_UUID } from '~/store/project-panel/project-panel-action';
- import { openCollectionCreateDialog } from '~/store/collections/collection-create-actions';
- import { openProjectCreateDialog } from '~/store/projects/project-create-actions';
--import { filterResources } from '~/store/resources/resources';
--import { PanelDefaultView } from '~/components/panel-default-view/panel-default-view';
import { DataTableDefaultView } from '~/components/data-table-default-view/data-table-default-view';
++import { StyleRulesCallback, WithStyles } from "@material-ui/core";
++import { ArvadosTheme } from "~/common/custom-theme";
++import withStyles from "@material-ui/core/styles/withStyles";
+
+type CssRules = 'root' | "button";
+
+const styles: StyleRulesCallback<CssRules> = (theme: ArvadosTheme) => ({
+ root: {
+ position: 'relative',
+ width: '100%',
+ height: '100%'
+ },
+ button: {
+ marginLeft: theme.spacing.unit
+ },
+});
export enum ProjectPanelColumnNames {
NAME = "Name",
diff --cc src/views/workbench/workbench.tsx
index c22dde2,1d7d47d..ad1a266
--- a/src/views/workbench/workbench.tsx
+++ b/src/views/workbench/workbench.tsx
@@@ -41,21 -41,29 +41,31 @@@ import { FilesUploadCollectionDialog }
import { PartialCopyCollectionDialog } from '~/views-components/dialog-forms/partial-copy-collection-dialog';
import { TrashPanel } from "~/views/trash-panel/trash-panel";
import { MainContentBar } from '~/views-components/main-content-bar/main-content-bar';
-import { Grid } from '@material-ui/core';
+import { Grid, LinearProgress } from '@material-ui/core';
+ import { SharedWithMePanel } from '../shared-with-me-panel/shared-with-me-panel';
-import { ProcessCommandDialog } from '~/views-components/process-command-dialog/process-command-dialog';
+ import SplitterLayout from 'react-splitter-layout';
+import { ProcessCommandDialog } from '~/views-components/process-command-dialog/process-command-dialog';
+import { isSystemWorking } from "~/store/progress-indicator/progress-indicator-reducer";
- type CssRules = 'root' | 'asidePanel' | 'contentWrapper' | 'content' | 'appBar';
+ type CssRules = 'root' | 'container' | 'splitter' | 'asidePanel' | 'contentWrapper' | 'content' | 'appBar';
const styles: StyleRulesCallback<CssRules> = (theme: ArvadosTheme) => ({
root: {
overflow: 'hidden',
width: '100vw',
- height: '100vh'
+ height: '100vh',
+ paddingTop: theme.spacing.unit * 8
},
+ container: {
+ position: 'relative'
+ },
+ splitter: {
+ '& > .layout-splitter': {
+ width: '2px'
+ }
+ },
asidePanel: {
- maxWidth: '240px',
+ height: '100%',
background: theme.palette.background.default
},
contentWrapper: {
@@@ -105,33 -110,39 +114,39 @@@ export const Workbench = withStyles(sty
render() {
const { classes } = this.props;
return <>
+ <MainAppBar
+ searchText={this.state.searchText}
+ user={this.props.user}
+ onSearch={this.onSearch}
+ buildInfo={this.props.buildInfo}>
+ {this.props.working ? <LinearProgress color="secondary" /> : null}
+ </MainAppBar>
<Grid container direction="column" className={classes.root}>
- <Grid className={classes.appBar}>
- <MainAppBar
- searchText={this.state.searchText}
- user={this.props.user}
- onSearch={this.onSearch}
- buildInfo={this.props.buildInfo} />
- </Grid>
{this.props.user &&
<Grid container item xs alignItems="stretch" wrap="nowrap">
- <Grid container item xs component='aside' direction='column' className={classes.asidePanel}>
- <SidePanel />
- </Grid>
- <Grid container item xs component="main" direction="column" className={classes.contentWrapper}>
- <Grid item>
- <MainContentBar />
- </Grid>
- <Grid item xs className={classes.content}>
- <Switch>
- <Route path={Routes.PROJECTS} component={ProjectPanel} />
- <Route path={Routes.COLLECTIONS} component={CollectionPanel} />
- <Route path={Routes.FAVORITES} component={FavoritePanel} />
- <Route path={Routes.PROCESSES} component={ProcessPanel} />
- <Route path={Routes.TRASH} component={TrashPanel} />
- <Route path={Routes.PROCESS_LOGS} component={ProcessLogPanel} />
- </Switch>
- </Grid>
+ <Grid container item className={classes.container}>
+ <SplitterLayout customClassName={classes.splitter} percentage={true}
+ primaryIndex={0} primaryMinSize={20} secondaryInitialSize={80} secondaryMinSize={40}>
+ <Grid container item xs component='aside' direction='column' className={classes.asidePanel}>
+ <SidePanel />
+ </Grid>
+ <Grid container item xs component="main" direction="column" className={classes.contentWrapper}>
+ <Grid item>
+ <MainContentBar />
+ </Grid>
+ <Grid item xs className={classes.content}>
+ <Switch>
+ <Route path={Routes.PROJECTS} component={ProjectPanel} />
+ <Route path={Routes.COLLECTIONS} component={CollectionPanel} />
+ <Route path={Routes.FAVORITES} component={FavoritePanel} />
+ <Route path={Routes.PROCESSES} component={ProcessPanel} />
+ <Route path={Routes.TRASH} component={TrashPanel} />
+ <Route path={Routes.PROCESS_LOGS} component={ProcessLogPanel} />
+ <Route path={Routes.SHARED_WITH_ME} component={SharedWithMePanel} />
+ </Switch>
+ </Grid>
+ </Grid>
+ </SplitterLayout>
</Grid>
<Grid item>
<DetailsPanel />
-----------------------------------------------------------------------
hooks/post-receive
--
More information about the arvados-commits
mailing list