[ARVADOS-WORKBENCH2] updated: 1.3.0-32-ga1e2b8b
Git user
git at public.curoverse.com
Wed Dec 5 10:14:06 EST 2018
Summary of changes:
README.md | 4 +
package.json | 1 +
public/vocabulary-example.json | 32 +++
src/common/config.ts | 3 +-
src/components/file-tree/file-thumbnail.tsx | 36 ++++
src/components/file-tree/file-tree-data.ts | 1 +
src/components/file-tree/file-tree-item.tsx | 36 ++--
src/index.tsx | 6 +
src/models/{keep.ts => keep-services.ts} | 25 +--
src/models/node.ts | 37 ++++
src/models/resource.ts | 10 +-
src/models/virtual-machines.ts | 13 +-
src/routes/route-change-handlers.ts | 69 ++++---
src/routes/routes.ts | 10 +-
src/services/auth-service/auth-service.ts | 4 +-
src/services/keep-service/keep-service.ts | 6 +-
.../node-service.ts} | 8 +-
src/services/services.ts | 3 +
src/store/advanced-tab/advanced-tab.ts | 229 +++++++++++++++++++--
src/store/auth/auth-action.ts | 4 +-
src/store/auth/auth-actions.test.ts | 2 +-
src/store/compute-nodes/compute-nodes-actions.ts | 71 +++++++
src/store/compute-nodes/compute-nodes-reducer.ts | 17 ++
src/store/context-menu/context-menu-actions.ts | 63 ++++--
src/store/keep-services/keep-services-actions.ts | 71 +++++++
src/store/keep-services/keep-services-reducer.ts | 17 ++
src/store/navigation/navigation-action.ts | 4 +
src/store/repositories/repositories-actions.ts | 6 +-
src/store/store.ts | 6 +-
.../virtual-machines/virtual-machines-actions.ts | 38 +++-
.../virtual-machines/virtual-machines-reducer.ts | 9 +-
src/store/workbench/workbench-actions.ts | 12 ++
.../collection-panel-files.ts | 15 +-
.../compute-nodes-dialog/attributes-dialog.tsx | 115 +++++++++++
.../remove-dialog.tsx} | 10 +-
...ey-action-set.ts => compute-node-action-set.ts} | 16 +-
...ey-action-set.ts => keep-service-action-set.ts} | 16 +-
.../action-sets/repository-action-set.ts | 6 +-
.../context-menu/action-sets/ssh-key-action-set.ts | 8 +-
...action-set.ts => virtual-machine-action-set.ts} | 14 +-
src/views-components/context-menu/context-menu.tsx | 5 +-
.../keep-services-dialog/attributes-dialog.tsx | 73 +++++++
.../remove-dialog.tsx | 8 +-
src/views-components/main-app-bar/account-menu.tsx | 4 +-
.../main-content-bar/main-content-bar.tsx | 29 +--
.../repository-remove-dialog.ts | 5 +-
.../attributes-dialog.tsx} | 34 +--
.../remove-dialog.tsx} | 10 +-
.../compute-node-panel/compute-node-panel-root.tsx | 85 ++++++++
.../compute-node-panel/compute-node-panel.tsx | 29 +++
.../keep-service-panel/keep-service-panel-root.tsx | 87 ++++++++
.../keep-service-panel/keep-service-panel.tsx | 28 +++
.../repositories-panel/repositories-panel.tsx | 8 +-
.../run-process-panel/inputs/boolean-input.tsx | 17 +-
.../run-process-panel/inputs/directory-input.tsx | 42 ++--
src/views/run-process-panel/inputs/enum-input.tsx | 20 +-
src/views/run-process-panel/inputs/file-input.tsx | 31 +--
src/views/run-process-panel/inputs/float-input.tsx | 17 +-
src/views/run-process-panel/inputs/int-input.tsx | 22 +-
.../run-process-panel/inputs/string-input.tsx | 14 +-
src/views/ssh-key-panel/ssh-key-panel-root.tsx | 4 +-
src/views/ssh-key-panel/ssh-key-panel.tsx | 4 +-
.../virtual-machine-panel.tsx | 167 +++++++++------
src/views/workbench/workbench.tsx | 16 ++
typings/global.d.ts | 6 +-
yarn.lock | 12 ++
66 files changed, 1492 insertions(+), 338 deletions(-)
create mode 100644 public/vocabulary-example.json
create mode 100644 src/components/file-tree/file-thumbnail.tsx
rename src/models/{keep.ts => keep-services.ts} (61%)
create mode 100644 src/models/node.ts
copy src/services/{workflow-service/workflow-service.ts => node-service/node-service.ts} (66%)
create mode 100644 src/store/compute-nodes/compute-nodes-actions.ts
create mode 100644 src/store/compute-nodes/compute-nodes-reducer.ts
create mode 100644 src/store/keep-services/keep-services-actions.ts
create mode 100644 src/store/keep-services/keep-services-reducer.ts
create mode 100644 src/views-components/compute-nodes-dialog/attributes-dialog.tsx
copy src/views-components/{process-remove-dialog/process-remove-dialog.tsx => compute-nodes-dialog/remove-dialog.tsx} (65%)
copy src/views-components/context-menu/action-sets/{ssh-key-action-set.ts => compute-node-action-set.ts} (56%)
copy src/views-components/context-menu/action-sets/{ssh-key-action-set.ts => keep-service-action-set.ts} (56%)
copy src/views-components/context-menu/action-sets/{ssh-key-action-set.ts => virtual-machine-action-set.ts} (55%)
create mode 100644 src/views-components/keep-services-dialog/attributes-dialog.tsx
copy src/views-components/{ssh-keys-dialog => keep-services-dialog}/remove-dialog.tsx (65%)
copy src/views-components/{repository-attributes-dialog/repository-attributes-dialog.tsx => virtual-machines-dialog/attributes-dialog.tsx} (70%)
copy src/views-components/{process-remove-dialog/process-remove-dialog.tsx => virtual-machines-dialog/remove-dialog.tsx} (63%)
create mode 100644 src/views/compute-node-panel/compute-node-panel-root.tsx
create mode 100644 src/views/compute-node-panel/compute-node-panel.tsx
create mode 100644 src/views/keep-service-panel/keep-service-panel-root.tsx
create mode 100644 src/views/keep-service-panel/keep-service-panel.tsx
via a1e2b8ba77e4a7273940a3fc542bc42e282618a7 (commit)
via ceda57340f34d71fb4289b344e6ca839db06f5e7 (commit)
via e5e090c801a015f04c04327a176faf54ba3650b7 (commit)
via e032ee615c409d084d84e35ae6d572999105dd22 (commit)
via 1fa1f80e121450f963ca4e6a69e6a8c1ccc78cfe (commit)
via 3b5edb7ae1de4709acef5d2c58ce12ecf5eb9fcf (commit)
via 0070db330ad6cbd9078b0c9f10bd18a32e4d1012 (commit)
via bd90d772a159901336b119b0ad82109e3ec1d9fc (commit)
via 4b1c3715e20a9a1b9b10f419c2cd88fe51fbbfbe (commit)
via 6679f4cd3a96759e165ba52d20a2296a94638b46 (commit)
via 0259a44c3a1ab6f8e9ce24ce60c8fbb09aa3ee70 (commit)
via 86756a239efd4b410295b403ff712a4b3e7304f5 (commit)
via 26e05f295b57de342d4cd13306ead196e2841a21 (commit)
via 68c2068a9371fd5b158adbeef0ba0021832c8a76 (commit)
via bf4ccae9e1adeb1fcb757a5539587a4b8cbf4d28 (commit)
via cc72c29b709759a4498ad232e3f0374e857c7a62 (commit)
via 0aa3289dc8b20b497f1544d78925cbc794ec2449 (commit)
via 8695e9d621330e691fbcc4bbc1d600d91bae2ac6 (commit)
via 785a62a8934dc439cbd201d9011775ccbcbb2c24 (commit)
via 60e8ad5f90108900b4c189f88fbe483e7010432e (commit)
via f320a6e774ee53dbefb8dafdc40a4f42ab7454ed (commit)
via 33916938dc164fa0cca9e8abb693b3048fc931ab (commit)
via 17d467bf2fecc68a6d66beea293cf23a38f95a53 (commit)
via 9dbb20349af9d1fa275e01147c53242d3b4680f5 (commit)
via 756f931c1faeb27a00625093697ff95358e0afc4 (commit)
via bb4f491da85b1e953941209e4bc422c707504ee3 (commit)
via 93cb6b20b9f7893c588d9679c7b904ee35238f1b (commit)
via 9ee2f1c761b0d5867dfcab90fc8d11de211a3030 (commit)
via ee3ea64385ba6c409f74c8a2f2a367f007a44bd6 (commit)
via dbca22d752af6473a39e4f67c5fc0be355c80eaf (commit)
via e4143ec29fb0adb4f38d4066fccc88af036bbe01 (commit)
via 0ded4d49712a782919828e3d6a2d258e71d3f8f3 (commit)
via 3e2e65e95cf4070e4742ee96ea16cb6c5e841b7a (commit)
via 598e2bcda179324f0457f6e15cdd2f2a8785374d (commit)
via fa9e1f065eefa7265879869e4b45eb76be64b4ce (commit)
via 2759843b203ee1b3db4da0d2326319e072c3bf33 (commit)
via a8187ba6c1780cef4de40729cbd3875a9d3dafc4 (commit)
via 793701b5251bea3670137b4a14a35bb537f40a82 (commit)
via 36e62deaa887cea4bd475e222c37c941af70534c (commit)
via 89f5e163802e04dc6ebb84a390bbc5907486a718 (commit)
via fc3f2ce8575095a33a3e62571c85cba6db7a6200 (commit)
via 1e5b9cce5a4bb83fe958f1a0a1a47c6748b8ea86 (commit)
via c09ad994a225b752e81acc4d956981f2239d5297 (commit)
via 7108a1b63584de629f0632f8179304216a5ec9bb (commit)
via 717210dfd80d0831c83c08086a3c27cace13ed18 (commit)
via 135ec797465fc6052cb51ef00243d86f6d794659 (commit)
via 292980a1d4fb85d873effed62729dc014162c8c6 (commit)
via 2b86e5928fb3ebe3d32a7dceef56b3803958f1cb (commit)
via c26c98ff85da6a9ed2b946eae1d3484a3056bd10 (commit)
via e80358167d498a3601c10b03a497622dcdf25167 (commit)
via e3232103918da984d2d8198a08abe389af15aeb1 (commit)
via ce23dccaf88e67b279c17ab2ce744f54536972f9 (commit)
via 8623f430ea556381f8681c2aea00e43e64d3f6d1 (commit)
via 25d3415ed6b183eb627bfc06e2d5d977c85ad828 (commit)
via 9c22ff485ae2e065ae705fd5066fda6d508cf236 (commit)
from e8e0182d65a74b1a222127eb8b36f31a906b14c8 (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 a1e2b8ba77e4a7273940a3fc542bc42e282618a7
Merge: e8e0182 ceda573
Author: Pawel Kromplewski <pawel.kromplewski at contractors.roche.com>
Date: Wed Dec 5 16:13:43 2018 +0100
Merge branch 'master' into 14452-my-account
refs #14452
Arvados-DCO-1.1-Signed-off-by: Pawel Kromplewski <pawel.kromplewski at contractors.roche.com>
diff --cc src/routes/route-change-handlers.ts
index 400866e,f2304ac..68de310
--- a/src/routes/route-change-handlers.ts
+++ b/src/routes/route-change-handlers.ts
@@@ -16,51 -15,54 +15,57 @@@ export const addRouteChangeHandlers = (
};
const handleLocationChange = (store: RootStore) => ({ pathname }: Location) => {
- const rootMatch = matchRootRoute(pathname);
- const projectMatch = matchProjectRoute(pathname);
- const collectionMatch = matchCollectionRoute(pathname);
- const favoriteMatch = matchFavoritesRoute(pathname);
- const trashMatch = matchTrashRoute(pathname);
- const processMatch = matchProcessRoute(pathname);
- const processLogMatch = matchProcessLogRoute(pathname);
- const repositoryMatch = matchRepositoriesRoute(pathname);
- const searchResultsMatch = matchSearchResultsRoute(pathname);
- const sharedWithMeMatch = matchSharedWithMeRoute(pathname);
- const runProcessMatch = matchRunProcessRoute(pathname);
- const virtualMachineMatch = matchVirtualMachineRoute(pathname);
- const workflowMatch = matchWorkflowRoute(pathname);
- const sshKeysMatch = matchSshKeysRoute(pathname);
- const myAccountMatch = matchMyAccountRoute(pathname);
+ const rootMatch = Routes.matchRootRoute(pathname);
+ const projectMatch = Routes.matchProjectRoute(pathname);
+ const collectionMatch = Routes.matchCollectionRoute(pathname);
+ const favoriteMatch = Routes.matchFavoritesRoute(pathname);
+ const trashMatch = Routes.matchTrashRoute(pathname);
+ const processMatch = Routes.matchProcessRoute(pathname);
+ const processLogMatch = Routes.matchProcessLogRoute(pathname);
+ const repositoryMatch = Routes.matchRepositoriesRoute(pathname);
+ const searchResultsMatch = Routes.matchSearchResultsRoute(pathname);
+ const sharedWithMeMatch = Routes.matchSharedWithMeRoute(pathname);
+ const runProcessMatch = Routes.matchRunProcessRoute(pathname);
+ const virtualMachineMatch = Routes.matchVirtualMachineRoute(pathname);
+ const workflowMatch = Routes.matchWorkflowRoute(pathname);
+ const sshKeysMatch = Routes.matchSshKeysRoute(pathname);
+ const keepServicesMatch = Routes.matchKeepServicesRoute(pathname);
+ const computeNodesMatch = Routes.matchComputeNodesRoute(pathname);
++ const myAccountMatch = Routes.matchMyAccountRoute(pathname);
if (projectMatch) {
- store.dispatch(loadProject(projectMatch.params.id));
+ store.dispatch(WorkbenchActions.loadProject(projectMatch.params.id));
} else if (collectionMatch) {
- store.dispatch(loadCollection(collectionMatch.params.id));
+ store.dispatch(WorkbenchActions.loadCollection(collectionMatch.params.id));
} else if (favoriteMatch) {
- store.dispatch(loadFavorites());
+ store.dispatch(WorkbenchActions.loadFavorites());
} else if (trashMatch) {
- store.dispatch(loadTrash());
+ store.dispatch(WorkbenchActions.loadTrash());
} else if (processMatch) {
- store.dispatch(loadProcess(processMatch.params.id));
+ store.dispatch(WorkbenchActions.loadProcess(processMatch.params.id));
} else if (processLogMatch) {
- store.dispatch(loadProcessLog(processLogMatch.params.id));
+ store.dispatch(WorkbenchActions.loadProcessLog(processLogMatch.params.id));
} else if (rootMatch) {
store.dispatch(navigateToRootProject);
} else if (sharedWithMeMatch) {
- store.dispatch(loadSharedWithMe);
+ store.dispatch(WorkbenchActions.loadSharedWithMe);
} else if (runProcessMatch) {
- store.dispatch(loadRunProcess);
+ store.dispatch(WorkbenchActions.loadRunProcess);
} else if (workflowMatch) {
- store.dispatch(loadWorkflow);
+ store.dispatch(WorkbenchActions.loadWorkflow);
} else if (searchResultsMatch) {
- store.dispatch(loadSearchResults);
+ store.dispatch(WorkbenchActions.loadSearchResults);
} else if (virtualMachineMatch) {
- store.dispatch(loadVirtualMachines);
+ store.dispatch(WorkbenchActions.loadVirtualMachines);
} else if(repositoryMatch) {
- store.dispatch(loadRepositories);
+ store.dispatch(WorkbenchActions.loadRepositories);
} else if (sshKeysMatch) {
- store.dispatch(loadSshKeys);
+ store.dispatch(WorkbenchActions.loadSshKeys);
+ } else if (keepServicesMatch) {
+ store.dispatch(WorkbenchActions.loadKeepServices);
+ } else if (computeNodesMatch) {
+ store.dispatch(WorkbenchActions.loadComputeNodes);
+ } else if (myAccountMatch) {
- store.dispatch(loadMyAccount);
++ store.dispatch(WorkbenchActions.loadMyAccount);
}
};
diff --cc src/routes/routes.ts
index a27b427,8f8fa06..71d920a
--- a/src/routes/routes.ts
+++ b/src/routes/routes.ts
@@@ -23,7 -23,8 +23,9 @@@ export const Routes =
WORKFLOWS: '/workflows',
SEARCH_RESULTS: '/search-results',
SSH_KEYS: `/ssh-keys`,
- MY_ACCOUNT: '/my-account'
++ MY_ACCOUNT: '/my-account',
+ KEEP_SERVICES: `/keep-services`,
+ COMPUTE_NODES: `/nodes`
};
export const getResourceUrl = (uuid: string) => {
@@@ -90,5 -91,8 +92,11 @@@ export const matchRepositoriesRoute = (
export const matchSshKeysRoute = (route: string) =>
matchPath(route, { path: Routes.SSH_KEYS });
+export const matchMyAccountRoute = (route: string) =>
+ matchPath(route, { path: Routes.MY_ACCOUNT });
++
+ export const matchKeepServicesRoute = (route: string) =>
+ matchPath(route, { path: Routes.KEEP_SERVICES });
+
+ export const matchComputeNodesRoute = (route: string) =>
+ matchPath(route, { path: Routes.COMPUTE_NODES });
diff --cc src/services/auth-service/auth-service.ts
index 6faaf99,98c0321..8c2ad5c
--- a/src/services/auth-service/auth-service.ts
+++ b/src/services/auth-service/auth-service.ts
@@@ -2,9 -2,9 +2,9 @@@
//
// SPDX-License-Identifier: AGPL-3.0
-import { User } from "~/models/user";
+import { User, userPrefs } from "~/models/user";
import { AxiosInstance } from "axios";
- import { ApiActions, ProgressFn } from "~/services/api/api-actions";
+ import { ApiActions } from "~/services/api/api-actions";
import * as uuid from "uuid/v4";
export const API_TOKEN_KEY = 'apiToken';
diff --cc src/store/navigation/navigation-action.ts
index 80a7f21,50cfd88..a365272
--- a/src/store/navigation/navigation-action.ts
+++ b/src/store/navigation/navigation-action.ts
@@@ -68,4 -68,6 +68,8 @@@ export const navigateToRepositories = p
export const navigateToSshKeys= push(Routes.SSH_KEYS);
+export const navigateToMyAccount = push(Routes.MY_ACCOUNT);
++
+ export const navigateToKeepServices = push(Routes.KEEP_SERVICES);
+
+ export const navigateToComputeNodes = push(Routes.COMPUTE_NODES);
diff --cc src/store/workbench/workbench-actions.ts
index 091a8cc,e3f96a9..9d0140f
--- a/src/store/workbench/workbench-actions.ts
+++ b/src/store/workbench/workbench-actions.ts
@@@ -411,11 -412,16 +413,21 @@@ export const loadSshKeys = handleFirstT
await dispatch(loadSshKeysPanel());
});
+export const loadMyAccount = handleFirstTimeLoad(
+ async (dispatch: Dispatch<any>) => {
+ await dispatch(loadMyAccountPanel());
+ });
+
+ export const loadKeepServices = handleFirstTimeLoad(
+ async (dispatch: Dispatch<any>) => {
+ await dispatch(loadKeepServicesPanel());
+ });
+
+ export const loadComputeNodes = handleFirstTimeLoad(
+ async (dispatch: Dispatch<any>) => {
+ await dispatch(loadComputeNodesPanel());
+ });
+
const finishLoadingProject = (project: GroupContentsResource | string) =>
async (dispatch: Dispatch<any>) => {
const uuid = typeof project === 'string' ? project : project.uuid;
diff --cc src/views-components/main-app-bar/account-menu.tsx
index 0aedee9,f4232a1..ee726f3
--- a/src/views-components/main-app-bar/account-menu.tsx
+++ b/src/views-components/main-app-bar/account-menu.tsx
@@@ -12,7 -12,7 +12,7 @@@ import { logout } from '~/store/auth/au
import { RootState } from "~/store/store";
import { openCurrentTokenDialog } from '~/store/current-token-dialog/current-token-dialog-actions';
import { openRepositoriesPanel } from "~/store/repositories/repositories-actions";
- import { navigateToSshKeys, navigateToMyAccount } from '~/store/navigation/navigation-action';
-import { navigateToSshKeys, navigateToKeepServices, navigateToComputeNodes } from '~/store/navigation/navigation-action';
++import { navigateToSshKeys, navigateToKeepServices, navigateToComputeNodes, navigateToMyAccount } from '~/store/navigation/navigation-action';
import { openVirtualMachines } from "~/store/virtual-machines/virtual-machines-actions";
interface AccountMenuProps {
@@@ -37,7 -37,9 +37,9 @@@ export const AccountMenu = connect(mapS
<MenuItem onClick={() => dispatch(openRepositoriesPanel())}>Repositories</MenuItem>
<MenuItem onClick={() => dispatch(openCurrentTokenDialog)}>Current token</MenuItem>
<MenuItem onClick={() => dispatch(navigateToSshKeys)}>Ssh Keys</MenuItem>
+ { user.isAdmin && <MenuItem onClick={() => dispatch(navigateToKeepServices)}>Keep Services</MenuItem> }
+ { user.isAdmin && <MenuItem onClick={() => dispatch(navigateToComputeNodes)}>Compute Nodes</MenuItem> }
- <MenuItem>My account</MenuItem>
+ <MenuItem onClick={() => dispatch(navigateToMyAccount)}>My account</MenuItem>
<MenuItem onClick={() => dispatch(logout())}>Logout</MenuItem>
</DropdownMenu>
: null);
diff --cc src/views/workbench/workbench.tsx
index 2cff431,92c2438..5efffa1
--- a/src/views/workbench/workbench.tsx
+++ b/src/views/workbench/workbench.tsx
@@@ -132,7 -139,8 +140,9 @@@ export const WorkbenchPanel
<Route path={Routes.VIRTUAL_MACHINES} component={VirtualMachinePanel} />
<Route path={Routes.REPOSITORIES} component={RepositoriesPanel} />
<Route path={Routes.SSH_KEYS} component={SshKeyPanel} />
+ <Route path={Routes.KEEP_SERVICES} component={KeepServicePanel} />
+ <Route path={Routes.COMPUTE_NODES} component={ComputeNodePanel} />
+ <Route path={Routes.MY_ACCOUNT} component={MyAccountPanel} />
</Switch>
</Grid>
</Grid>
-----------------------------------------------------------------------
hooks/post-receive
--
More information about the arvados-commits
mailing list