15067: Creates project tags by id when possible.
authorLucas Di Pentima <lucas@di-pentima.com.ar>
Wed, 13 Nov 2019 22:02:59 +0000 (19:02 -0300)
committerLucas Di Pentima <lucas@di-pentima.com.ar>
Wed, 13 Nov 2019 22:02:59 +0000 (19:02 -0300)
Arvados-DCO-1.1-Signed-off-by: Lucas Di Pentima <ldipentima@veritasgenetics.com>

src/store/details-panel/details-panel-action.ts

index 8083716e7adfc9f7138907fb40888b4b2fc46781..6874671432ff8b31bd8bdf77092e753262b000b3 100644 (file)
@@ -60,8 +60,14 @@ export const createProjectProperty = (data: TagProperty) =>
         dispatch(startSubmit(PROJECT_PROPERTIES_FORM_NAME));
         try {
             if (project) {
-                project.properties[data.key] = data.value;
-                const updatedProject = await services.projectService.update(project.uuid, { properties: project.properties });
+                const updatedProject = await services.projectService.update(
+                    project.uuid, {
+                        properties: {
+                            ...JSON.parse(JSON.stringify(project.properties)),
+                            [data.keyID || data.key]: data.valueID || data.value
+                        }
+                    }
+                );
                 dispatch(resourcesActions.SET_RESOURCES([updatedProject]));
                 dispatch(snackbarActions.OPEN_SNACKBAR({ message: "Property has been successfully added.", hideDuration: 2000, kind: SnackbarKind.SUCCESS }));
                 dispatch(stopSubmit(PROJECT_PROPERTIES_FORM_NAME));