[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