projects
/
arvados-workbench2.git
/ blobdiff
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'main' into 19462-colorscheme refs #19462
[arvados-workbench2.git]
/
src
/
store
/
collections
/
collection-create-actions.ts
diff --git
a/src/store/collections/collection-create-actions.ts
b/src/store/collections/collection-create-actions.ts
index 0b73e6f151a7419393f1ac4bcead66c8bba19cd5..f3d1fd3b77ebcc71df07e169f8dfdc4c79b1d36a 100644
(file)
--- a/
src/store/collections/collection-create-actions.ts
+++ b/
src/store/collections/collection-create-actions.ts
@@
-3,7
+3,14
@@
// SPDX-License-Identifier: AGPL-3.0
import { Dispatch } from "redux";
// SPDX-License-Identifier: AGPL-3.0
import { Dispatch } from "redux";
-import { reset, startSubmit, stopSubmit, initialize, FormErrors } from 'redux-form';
+import {
+ reset,
+ startSubmit,
+ stopSubmit,
+ initialize,
+ FormErrors,
+ formValueSelector
+} from 'redux-form';
import { RootState } from 'store/store';
import { getUserUuid } from "common/getuser";
import { dialogActions } from "store/dialog/dialog-actions";
import { RootState } from 'store/store';
import { getUserUuid } from "common/getuser";
import { dialogActions } from "store/dialog/dialog-actions";
@@
-20,9
+27,17
@@
export interface CollectionCreateFormDialogData {
ownerUuid: string;
name: string;
description: string;
ownerUuid: string;
name: string;
description: string;
+ storageClassesDesired: string[];
+ properties: CollectionProperties;
+}
+
+export interface CollectionProperties {
+ [key: string]: string | string[];
}
export const COLLECTION_CREATE_FORM_NAME = "collectionCreateFormName";
}
export const COLLECTION_CREATE_FORM_NAME = "collectionCreateFormName";
+export const COLLECTION_CREATE_PROPERTIES_FORM_NAME = "collectionCreatePropertiesFormName";
+export const COLLECTION_CREATE_FORM_SELECTOR = formValueSelector(COLLECTION_CREATE_FORM_NAME);
export const openCollectionCreateDialog = (ownerUuid: string) =>
(dispatch: Dispatch, getState: () => RootState, services: ServiceRepository) => {
export const openCollectionCreateDialog = (ownerUuid: string) =>
(dispatch: Dispatch, getState: () => RootState, services: ServiceRepository) => {
@@
-44,7
+59,7
@@
export const createCollection = (data: CollectionCreateFormDialogData) =>
let newCollection: CollectionResource | undefined;
try {
dispatch(progressIndicatorActions.START_WORKING(COLLECTION_CREATE_FORM_NAME));
let newCollection: CollectionResource | undefined;
try {
dispatch(progressIndicatorActions.START_WORKING(COLLECTION_CREATE_FORM_NAME));
- newCollection = await services.collectionService.create(data);
+ newCollection = await services.collectionService.create(data
, false
);
await dispatch<any>(uploadCollectionFiles(newCollection.uuid));
dispatch(dialogActions.CLOSE_DIALOG({ id: COLLECTION_CREATE_FORM_NAME }));
dispatch(reset(COLLECTION_CREATE_FORM_NAME));
await dispatch<any>(uploadCollectionFiles(newCollection.uuid));
dispatch(dialogActions.CLOSE_DIALOG({ id: COLLECTION_CREATE_FORM_NAME }));
dispatch(reset(COLLECTION_CREATE_FORM_NAME));
@@
-53,11
+68,14
@@
export const createCollection = (data: CollectionCreateFormDialogData) =>
const error = getCommonResourceServiceError(e);
if (error === CommonResourceServiceError.UNIQUE_NAME_VIOLATION) {
dispatch(stopSubmit(COLLECTION_CREATE_FORM_NAME, { name: 'Collection with the same name already exists.' } as FormErrors));
const error = getCommonResourceServiceError(e);
if (error === CommonResourceServiceError.UNIQUE_NAME_VIOLATION) {
dispatch(stopSubmit(COLLECTION_CREATE_FORM_NAME, { name: 'Collection with the same name already exists.' } as FormErrors));
- } else
if (error === CommonResourceServiceError.NONE)
{
+ } else {
dispatch(stopSubmit(COLLECTION_CREATE_FORM_NAME));
dispatch(dialogActions.CLOSE_DIALOG({ id: COLLECTION_CREATE_FORM_NAME }));
dispatch(stopSubmit(COLLECTION_CREATE_FORM_NAME));
dispatch(dialogActions.CLOSE_DIALOG({ id: COLLECTION_CREATE_FORM_NAME }));
+ const errMsg = e.errors
+ ? e.errors.join('')
+ : 'There was an error while creating the collection';
dispatch(snackbarActions.OPEN_SNACKBAR({
dispatch(snackbarActions.OPEN_SNACKBAR({
- message:
'Collection has not been created.'
,
+ message:
errMsg
,
hideDuration: 2000,
kind: SnackbarKind.ERROR
}));
hideDuration: 2000,
kind: SnackbarKind.ERROR
}));