18219: Replaces edit props dialog with full editor on details panel.
[arvados-workbench2.git] / src / views-components / resource-properties-dialog / resource-properties-dialog.tsx
diff --git a/src/views-components/resource-properties-dialog/resource-properties-dialog.tsx b/src/views-components/resource-properties-dialog/resource-properties-dialog.tsx
deleted file mode 100644 (file)
index 2502f50..0000000
+++ /dev/null
@@ -1,94 +0,0 @@
-// Copyright (C) The Arvados Authors. All rights reserved.
-//
-// SPDX-License-Identifier: AGPL-3.0
-
-import React from "react";
-import { Dispatch } from "redux";
-import { connect } from "react-redux";
-import { RootState } from 'store/store';
-import { withDialog, WithDialogProps } from "store/dialog/with-dialog";
-import { RESOURCE_PROPERTIES_DIALOG_NAME } from 'store/details-panel/details-panel-action';
-import {
-    Dialog,
-    DialogTitle,
-    DialogContent,
-    DialogActions,
-    Button,
-    withStyles,
-    StyleRulesCallback,
-    WithStyles
-} from '@material-ui/core';
-import { ArvadosTheme } from 'common/custom-theme';
-import { ResourcePropertiesDialogForm } from 'views-components/resource-properties-dialog/resource-properties-dialog-form';
-import { getResource } from 'store/resources/resources';
-import { getPropertyChip } from "../resource-properties-form/property-chip";
-import { deleteResourceProperty } from "store/resources/resources-actions";
-import { ResourceWithProperties } from "models/resource";
-
-type CssRules = 'tag';
-
-const styles: StyleRulesCallback<CssRules> = (theme: ArvadosTheme) => ({
-    tag: {
-        marginRight: theme.spacing.unit,
-        marginBottom: theme.spacing.unit
-    }
-});
-
-interface ResourcePropertiesDialogDataProps {
-    resource: ResourceWithProperties;
-}
-
-interface ResourcePropertiesDialogActionProps {
-    handleDelete: (uuid: string, key: string, value: string) => void;
-}
-
-const mapStateToProps = ({ detailsPanel, resources, properties }: RootState): ResourcePropertiesDialogDataProps => ({
-    resource: getResource(detailsPanel.resourceUuid)(resources) as ResourceWithProperties,
-});
-
-const mapDispatchToProps = (dispatch: Dispatch): ResourcePropertiesDialogActionProps => ({
-    handleDelete: (uuid: string, key: string, value: string) => () => dispatch<any>(deleteResourceProperty(uuid, key, value)),
-});
-
-type ResourcePropertiesDialogProps = ResourcePropertiesDialogDataProps & ResourcePropertiesDialogActionProps & WithDialogProps<{}> & WithStyles<CssRules>;
-
-export const ResourcePropertiesDialog = connect(mapStateToProps, mapDispatchToProps)(
-    withStyles(styles)(
-        withDialog(RESOURCE_PROPERTIES_DIALOG_NAME)(
-            ({ classes, open, closeDialog, handleDelete, resource }: ResourcePropertiesDialogProps) =>
-                <Dialog open={open}
-                    onClose={closeDialog}
-                    fullWidth
-                    maxWidth='sm'>
-                    <div data-cy='resource-properties-dialog'>
-                    <DialogTitle>Edit properties</DialogTitle>
-                    <DialogContent>
-                        <ResourcePropertiesDialogForm uuid={resource ? resource.uuid : ''} />
-                        {resource && resource.properties &&
-                            Object.keys(resource.properties).map(k =>
-                                Array.isArray(resource.properties[k])
-                                    ? resource.properties[k].map((v: string) =>
-                                        getPropertyChip(
-                                            k, v,
-                                            handleDelete(resource.uuid, k, v),
-                                            classes.tag))
-                                    : getPropertyChip(
-                                        k, resource.properties[k],
-                                        handleDelete(resource.uuid, k, resource.properties[k]),
-                                        classes.tag)
-                            )
-                        }
-                    </DialogContent>
-                    <DialogActions>
-                        <Button
-                            data-cy='close-dialog-btn'
-                            variant='text'
-                            color='primary'
-                            onClick={closeDialog}>
-                            Close
-                    </Button>
-                    </DialogActions>
-                    </div>
-                </Dialog>
-            )
-    ));