[arvados-workbench2] updated: 2.6.2-39-gcb89000d

git repository hosting git at public.arvados.org
Mon Jun 5 19:06:56 UTC 2023


Summary of changes:
 cypress/integration/collection.spec.js             | 204 ++++++++++++++++-
 cypress/integration/create-workflow.spec.js        |   2 +-
 .../collection-panel-files.tsx                     |   6 +-
 src/components/data-explorer/data-explorer.tsx     |   4 +-
 src/components/icon/icon.tsx                       |  27 ++-
 src/components/tree/tree.tsx                       | 193 ++++++++--------
 src/index.tsx                                      |   4 +-
 src/models/collection-file.ts                      |   6 +-
 .../ancestors-service/ancestors-service.ts         |  11 +-
 .../collection-service/collection-service.test.ts  |  12 +-
 .../collection-service/collection-service.ts       |  86 ++++---
 .../common-service/common-resource-service.ts      |   5 +-
 src/services/services.ts                           |   3 +-
 .../collection-panel-files-state.ts                |  23 +-
 .../collections/collection-partial-copy-actions.ts | 253 ++++++++++++++-------
 .../collections/collection-partial-move-actions.ts | 252 ++++++++++++++++++++
 src/store/context-menu/context-menu-actions.ts     |  10 +-
 src/store/tree-picker/tree-picker-actions.ts       | 130 +++++++++--
 src/store/tree-picker/tree-picker-middleware.ts    | 104 +++++----
 .../action-sets/collection-files-action-set.ts     | 112 +++++++--
 .../collection-files-item-action-set.ts            |  34 ++-
 .../collection-files-not-selected-action-set.ts    |   4 +-
 src/views-components/context-menu/context-menu.tsx |   4 +-
 ...ection-partial-copy-to-existing-collection.tsx} |  15 +-
 ...-collection-partial-copy-to-new-collection.tsx} |  12 +-
 ...ction-partial-copy-to-separate-collections.tsx} |  16 +-
 .../dialog-forms/partial-copy-collection-dialog.ts |  22 --
 .../partial-copy-to-collection-dialog.ts           |  21 --
 .../partial-copy-to-existing-collection-dialog.ts  |  21 ++
 .../partial-copy-to-new-collection-dialog.ts       |  21 ++
 .../partial-copy-to-separate-collections-dialog.ts |  21 ++
 .../partial-move-to-existing-collection-dialog.ts  |  21 ++
 .../partial-move-to-new-collection-dialog.ts       |  21 ++
 .../partial-move-to-separate-collections-dialog.ts |  21 ++
 ...lection-partial-move-to-existing-collection.tsx |  30 +++
 ...-collection-partial-move-to-new-collection.tsx} |  14 +-
 ...ection-partial-move-to-separate-collections.tsx |  29 +++
 .../form-fields/collection-form-fields.tsx         |  14 +-
 .../projects-tree-picker/favorites-tree-picker.tsx |   6 +-
 .../generic-projects-tree-picker.tsx               |  11 +-
 .../projects-tree-picker/home-tree-picker.tsx      |   4 +-
 .../projects-tree-picker/projects-tree-picker.tsx  |   6 +-
 .../public-favorites-tree-picker.tsx               |   6 +-
 .../search-projects-picker.tsx                     |   4 +-
 .../projects-tree-picker/shared-tree-picker.tsx    |   4 +-
 .../projects-tree-picker/tree-picker-field.tsx     |  23 ++
 src/views/collection-panel/collection-panel.tsx    |   4 +-
 .../keep-service-panel/keep-service-panel-root.tsx |   8 +-
 src/views/process-panel/process-details-card.tsx   |   4 +-
 .../repositories-panel/repositories-panel.tsx      |   6 +-
 .../run-process-panel/inputs/file-array-input.tsx  |   1 +
 src/views/run-process-panel/inputs/file-input.tsx  |   1 +
 src/views/ssh-key-panel/ssh-key-panel-root.tsx     |   6 +-
 .../user-profile-panel/user-profile-panel-root.tsx |   4 +-
 .../virtual-machine-admin-panel.tsx                |   4 +-
 src/views/workbench/workbench.tsx                  |  16 +-
 .../workflow-panel/registered-workflow-panel.tsx   |   4 +-
 57 files changed, 1471 insertions(+), 439 deletions(-)
 create mode 100644 src/store/collections/collection-partial-move-actions.ts
 copy src/views-components/dialog-copy/{dialog-partial-copy-to-collection.tsx => dialog-collection-partial-copy-to-existing-collection.tsx} (63%)
 copy src/views-components/dialog-copy/{dialog-collection-partial-copy.tsx => dialog-collection-partial-copy-to-new-collection.tsx} (68%)
 rename src/views-components/dialog-copy/{dialog-partial-copy-to-collection.tsx => dialog-collection-partial-copy-to-separate-collections.tsx} (55%)
 delete mode 100644 src/views-components/dialog-forms/partial-copy-collection-dialog.ts
 delete mode 100644 src/views-components/dialog-forms/partial-copy-to-collection-dialog.ts
 create mode 100644 src/views-components/dialog-forms/partial-copy-to-existing-collection-dialog.ts
 create mode 100644 src/views-components/dialog-forms/partial-copy-to-new-collection-dialog.ts
 create mode 100644 src/views-components/dialog-forms/partial-copy-to-separate-collections-dialog.ts
 create mode 100644 src/views-components/dialog-forms/partial-move-to-existing-collection-dialog.ts
 create mode 100644 src/views-components/dialog-forms/partial-move-to-new-collection-dialog.ts
 create mode 100644 src/views-components/dialog-forms/partial-move-to-separate-collections-dialog.ts
 create mode 100644 src/views-components/dialog-move/dialog-collection-partial-move-to-existing-collection.tsx
 rename src/views-components/{dialog-copy/dialog-collection-partial-copy.tsx => dialog-move/dialog-collection-partial-move-to-new-collection.tsx} (59%)
 create mode 100644 src/views-components/dialog-move/dialog-collection-partial-move-to-separate-collections.tsx

       via  cb89000d480757f8e0f97f3560c5942d08bcd95a (commit)
       via  a167017da0181a84d0c5493364bc0f7f3fa3e942 (commit)
       via  f0f6c4a0d9d29b0e9651b79096f264093c298c9a (commit)
       via  fe0f3f07a4dea0506844d47529752484cf0347a7 (commit)
       via  28cbbd7ed4a4d051e1b920f5c397fd121123af5e (commit)
       via  5786e88839dd7ef52885a03aedfc7642b19cd5a1 (commit)
       via  edb0ce16ee7ccef6cec38c9787ba0dadde5da697 (commit)
       via  8b5ee21b5b8e1dca0613151e4b38df55381d0e6f (commit)
       via  5e8d8fd1172273a14c9306f36eefc7aef8442dc6 (commit)
       via  c65d58daa5d570be4c19fc207abeda7e01ae1466 (commit)
       via  b49ca531d77614d3029b4d34c39df3e2938c39cf (commit)
       via  cfe49be676877567de9704e8d7968d611fa77fc9 (commit)
       via  e3c678438f8400d15843dc745df83525a53b07e3 (commit)
       via  c9cbcb68f87f432452991e5e904fff7d65395e6c (commit)
       via  7f8d3a8c260418c02c85e74d9da27c45802be837 (commit)
       via  70593b8d415d8858123a3df4eb148ce686611c26 (commit)
       via  f3d184828b69929818603bd1e88ef8cb98a472df (commit)
       via  7d3e2f9561e8cebfa7c3d4fddd8d2c586aadccd8 (commit)
       via  5b7e7988f1992e04e676c0c1e3e969ea2ef3b627 (commit)
       via  8b7a3f52ea0b0ee7ae7a744e76b337e90d4da1f6 (commit)
       via  7b8448155a3b9ca4c3c17c4879ed7ca256b4a42a (commit)
       via  5d0a9458a1910b76c432c83ef4dd9a3337fdff38 (commit)
       via  4710b7919dcdc3435bab7bd7e706169175991cf5 (commit)
       via  f526bdc34a4815fd0e0978b879c6fca70c0887c8 (commit)
       via  0de2dbbdaa1c0906e105cfc685affdb3d03dc9e7 (commit)
       via  39bdc716190a21ee7c70d9450fc121a0513ff8ba (commit)
       via  54c77552a4ff0403eb627408ed38a9d8b60606b3 (commit)
       via  8822913c680fa37634b9ab103bc962b77ebde830 (commit)
       via  0a61c946e683e8a44db3212656aa4b3da82ffd8e (commit)
       via  bc0041ffcbc42f92edc6bde05c8ba3ce392873fc (commit)
       via  80b9537fc9d1ae6f8c907efdf01be0505c693eb8 (commit)
       via  b6c145e81728b3916370000a83648280bbfb94d2 (commit)
       via  c6b3db3a8e2fcb7fe8d44cdd60e12fe7e2be571f (commit)
      from  9a62117dbe56bdfa42489415eb6696638c2bb336 (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 cb89000d480757f8e0f97f3560c5942d08bcd95a
Merge: 9a62117d a167017d
Author: Stephen Smith <stephen at curii.com>
Date:   Mon Jun 5 15:06:24 2023 -0400

    Merge branch '20031-collection-files-batch-operations' into main. Closes #20031
    
    Arvados-DCO-1.1-Signed-off-by: Stephen Smith <stephen at curii.com>

diff --cc src/components/collection-panel-files/collection-panel-files.tsx
index ddf30364,84b37a70..c9d5b657
--- a/src/components/collection-panel-files/collection-panel-files.tsx
+++ b/src/components/collection-panel-files/collection-panel-files.tsx
@@@ -555,38 -554,37 +555,38 @@@ export const CollectionPanelFiles = wit
                      ? <AutoSizer defaultHeight={500}>{({ height, width }) => {
                          const filtered = rightData.filter(({ name }) => name.indexOf(rightSearch) > -1);
                          return !!filtered.length
 -                        ? <FixedSizeList height={height} itemCount={filtered.length}
 -                            itemSize={35} width={width}>{ ({ index, style }) => {
 -                                const { id, type, name, size } = filtered[index];
 -
 -                                return <div style={style} data-id={id} data-item="true"
 -                                    data-type={type} data-subfolder-path={name}
 -                                    className={classes.row} key={id}>
 -                                    <Checkbox color="primary"
 -                                        className={classes.rowSelection}
 -                                        checked={collectionPanelFiles[id] ? collectionPanelFiles[id].value.selected : false}
 -                                    /> 
 -                                    {getItemIcon(type, null)}
 -                                    <div className={classes.rowName}>
 -                                        {name}
 +                            ? <FixedSizeList height={height} itemCount={filtered.length}
 +                                itemSize={35} width={width}>{({ index, style }) => {
 +                                    const { id, type, name, size } = filtered[index];
 +
 +                                    return <div style={style} data-id={id} data-item="true"
 +                                        data-type={type} data-subfolder-path={name}
 +                                        className={classes.row} key={id}>
 +                                        <Checkbox color="primary"
 +                                            className={classes.rowSelection}
 +                                            checked={collectionPanelFiles[id] ? collectionPanelFiles[id].value.selected : false}
 +                                        /> 
 +                                        {getItemIcon(type, null)}
 +                                        <div className={classes.rowName}>
 +                                            {name}
 +                                        </div>
 +                                        <span className={classes.rowName} style={{
 +                                            marginLeft: 'auto', marginRight: '1rem'
 +                                        }}>
 +                                            {formatFileSize(size)}
 +                                        </span>
 +                                        <Tooltip title="More options" disableFocusListener>
 +                                            <IconButton data-id='moreOptions'
 +                                                data-cy='file-item-options-btn'
 +                                                className={classes.moreOptionsButton}>
-                                                 <MoreOptionsIcon
++                                                <MoreHorizontalIcon
 +                                                    data-id='moreOptions'
 +                                                    className={classes.moreOptions} />
 +                                            </IconButton>
 +                                        </Tooltip>
                                      </div>
 -                                    <span className={classes.rowName} style={{
 -                                        marginLeft: 'auto', marginRight: '1rem' }}>
 -                                        { formatFileSize(size) }
 -                                    </span>
 -                                    <Tooltip title="More options" disableFocusListener>
 -                                        <IconButton data-id='moreOptions'
 -                                            data-cy='file-item-options-btn'
 -                                            className={classes.moreOptionsButton}>
 -                                            <MoreHorizontalIcon
 -                                                data-id='moreOptions'
 -                                                className={classes.moreOptions} />
 -                                        </IconButton>
 -                                    </Tooltip>
 -                                </div>
 -                            } }</FixedSizeList>
 -                        : <div className={classes.rowEmpty}>This collection is empty</div>
 +                                }}</FixedSizeList>
 +                            : <div className={classes.rowEmpty}>This collection is empty</div>
                      }}</AutoSizer>
                      : <div className={classes.row}>
                          <CircularProgress className={classes.loader} size={30} />
diff --cc src/services/common-service/common-resource-service.ts
index 515eb6a4,11bfec38..624525e6
--- a/src/services/common-service/common-resource-service.ts
+++ b/src/services/common-service/common-resource-service.ts
@@@ -13,7 -13,7 +13,8 @@@ export enum CommonResourceServiceError 
      OWNERSHIP_CYCLE = 'OwnershipCycle',
      MODIFYING_CONTAINER_REQUEST_FINAL_STATE = 'ModifyingContainerRequestFinalState',
      NAME_HAS_ALREADY_BEEN_TAKEN = 'NameHasAlreadyBeenTaken',
 +    PERMISSION_ERROR_FORBIDDEN = 'PermissionErrorForbidden',
+     SOURCE_DESTINATION_CANNOT_BE_SAME = 'SourceDestinationCannotBeSame',
      UNKNOWN = 'Unknown',
      NONE = 'None'
  }
@@@ -65,8 -65,8 +66,10 @@@ export const getCommonResourceServiceEr
                  return CommonResourceServiceError.MODIFYING_CONTAINER_REQUEST_FINAL_STATE;
              case /Name has already been taken/.test(error):
                  return CommonResourceServiceError.NAME_HAS_ALREADY_BEEN_TAKEN;
 +            case /403 Forbidden/.test(error):
 +                return CommonResourceServiceError.PERMISSION_ERROR_FORBIDDEN;
+             case new RegExp(CommonResourceServiceError.SOURCE_DESTINATION_CANNOT_BE_SAME).test(error):
+                 return CommonResourceServiceError.SOURCE_DESTINATION_CANNOT_BE_SAME;
              default:
                  return CommonResourceServiceError.UNKNOWN;
          }

-----------------------------------------------------------------------


hooks/post-receive
-- 




More information about the arvados-commits mailing list