0 ? items : [{ key: '', value: '', cascade: false }]}
+ tags={
+ items.length > 0
+ ? items
+ : [{ key: '', value: '', cascade: false }]
+ }
closeUpdate={closeUpdate}
/>
) : (
@@ -100,7 +102,9 @@ const KeyValueTagList = ({ targetUri, targetType }) => {
Key
Value
- {targetType == 'environment' && (Cascade enabled)}
+ {targetType === 'environment' && (
+ Cascade enabled
+ )}
@@ -108,15 +112,17 @@ const KeyValueTagList = ({ targetUri, targetType }) => {
{tag.key || '-'}
{tag.value || '-'}
- {targetType == 'environment' && (
-
- )}
+ {targetType === 'environment' && (
+
+
+
+ )}
))}
diff --git a/frontend/src/views/KeyValueTags/KeyValueTagUpdateForm.js b/frontend/src/views/KeyValueTags/KeyValueTagUpdateForm.js
index 688393d0d..67572c1b9 100644
--- a/frontend/src/views/KeyValueTags/KeyValueTagUpdateForm.js
+++ b/frontend/src/views/KeyValueTags/KeyValueTagUpdateForm.js
@@ -32,7 +32,7 @@ const KeyValueTagUpdateForm = (props) => {
const client = useClient();
const [isSubmitting, setIsSubmitting] = useState(false);
const [kvTags, setKeyValueTags] = useState(
- tags && tags.length > 0 ? tags : [{ key: '', value: '', cascade: false}]
+ tags && tags.length > 0 ? tags : [{ key: '', value: '', cascade: false }]
);
const handleAddKeyValueRow = () => {
@@ -83,7 +83,11 @@ const KeyValueTagUpdateForm = (props) => {
targetType,
tags:
kvTags.length > 0
- ? kvTags.map((k) => ({ key: k.key, value: k.value, cascade: k.cascade }))
+ ? kvTags.map((k) => ({
+ key: k.key,
+ value: k.value,
+ cascade: k.cascade
+ }))
: []
})
);
@@ -125,7 +129,9 @@ const KeyValueTagUpdateForm = (props) => {
Key
Value
- {targetType == 'environment' && (Cascade enabled)}
+ {targetType === 'environment' && (
+ Cascade enabled
+ )}
)}
@@ -151,16 +157,21 @@ const KeyValueTagUpdateForm = (props) => {
variant="outlined"
/>
- {targetType == 'environment' && (
+ {targetType === 'environment' && (
+
- )}
+ color="primary"
+ edge="start"
+ name="cascade"
+ checked={kvTags[idx].cascade}
+ value={kvTags[idx].cascade}
+ onChange={handleKeyValueChange(
+ idx,
+ 'cascade'
+ )}
+ />
+
+ )}
{
diff --git a/frontend/src/views/MLStudio/NotebookCreateForm.js b/frontend/src/views/MLStudio/NotebookCreateForm.js
index c22ede279..91f1b09ff 100644
--- a/frontend/src/views/MLStudio/NotebookCreateForm.js
+++ b/frontend/src/views/MLStudio/NotebookCreateForm.js
@@ -145,10 +145,7 @@ const NotebookCreateForm = (props) => {
-
+
Create a new ML Studio profile
{
const handleInputKeyup = (event) => {
if (event.code === 'Enter') {
- setFilter({page: 1, term: event.target.value});
+ setFilter({ page: 1, term: event.target.value });
fetchItems().catch((e) =>
dispatch({ type: SET_ERROR, error: e.message })
);
diff --git a/frontend/src/views/Notebooks/NotebookCreateForm.js b/frontend/src/views/Notebooks/NotebookCreateForm.js
index 9ace9c33c..2b78d9885 100644
--- a/frontend/src/views/Notebooks/NotebookCreateForm.js
+++ b/frontend/src/views/Notebooks/NotebookCreateForm.js
@@ -243,7 +243,9 @@ const NotebookCreateForm = (props) => {
environment: Yup.object().required('*Environment is required'),
tags: Yup.array().nullable(),
VpcId: Yup.string().min(1).required('*VPC ID is required'),
- SubnetId: Yup.string().min(1).required('*Subnet ID is required'),
+ SubnetId: Yup.string()
+ .min(1)
+ .required('*Subnet ID is required'),
InstanceType: Yup.string()
.min(1)
.required('*Instance type is required'),
@@ -373,13 +375,14 @@ const NotebookCreateForm = (props) => {
setFieldValue('VolumeSizeInGB', value);
}}
/>
- {touched.VolumeSizeInGB && errors.VolumeSizeInGB && (
-
-
- {errors.VolumeSizeInGB}
-
-
- )}
+ {touched.VolumeSizeInGB &&
+ errors.VolumeSizeInGB && (
+
+
+ {errors.VolumeSizeInGB}
+
+
+ )}
diff --git a/frontend/src/views/Notebooks/NotebookList.js b/frontend/src/views/Notebooks/NotebookList.js
index deba2258d..c687c50e6 100644
--- a/frontend/src/views/Notebooks/NotebookList.js
+++ b/frontend/src/views/Notebooks/NotebookList.js
@@ -99,7 +99,7 @@ const NotebookList = () => {
const handleInputKeyup = (event) => {
if (event.code === 'Enter') {
- setFilter({page: 1, term: event.target.value});
+ setFilter({ page: 1, term: event.target.value });
fetchItems().catch((e) =>
dispatch({ type: SET_ERROR, error: e.message })
);
diff --git a/frontend/src/views/Organizations/OrganizationList.js b/frontend/src/views/Organizations/OrganizationList.js
index 200a04329..f1c7f0447 100644
--- a/frontend/src/views/Organizations/OrganizationList.js
+++ b/frontend/src/views/Organizations/OrganizationList.js
@@ -35,7 +35,7 @@ const OrganizationList = () => {
const client = useClient();
const fetchItems = useCallback(async () => {
setLoading(true);
- const response = await client.query(listOrganizations({filter}));
+ const response = await client.query(listOrganizations({ filter }));
if (!response.errors) {
setItems(response.data.listOrganizations);
} else {
diff --git a/frontend/src/views/Organizations/OrganizationTeamInviteForm.js b/frontend/src/views/Organizations/OrganizationTeamInviteForm.js
index d0ea4b11b..ea31c3992 100644
--- a/frontend/src/views/Organizations/OrganizationTeamInviteForm.js
+++ b/frontend/src/views/Organizations/OrganizationTeamInviteForm.js
@@ -38,9 +38,9 @@ const OrganizationTeamInviteForm = (props) => {
const [groupOptions, setGroupOptions] = useState([]);
const filter = {
- type: "organization",
+ type: 'organization',
uri: organization.organizationUri
- }
+ };
const fetchGroups = useCallback(async () => {
try {
diff --git a/frontend/src/views/Pipelines/PipelineCICD.js b/frontend/src/views/Pipelines/PipelineCICD.js
index 1bc5ff168..db133207f 100644
--- a/frontend/src/views/Pipelines/PipelineCICD.js
+++ b/frontend/src/views/Pipelines/PipelineCICD.js
@@ -9,7 +9,6 @@ import {
IconButton,
List,
ListItem,
- Chip,
Typography
} from '@mui/material';
import { LoadingButton } from '@mui/lab';
@@ -21,8 +20,6 @@ import useClient from '../../hooks/useClient';
import { SET_ERROR } from '../../store/errorReducer';
import { useDispatch } from '../../store';
import getDataPipelineCredsLinux from '../../api/DataPipeline/getDataPipelineCredsLinux';
-import ChipInput from "../../components/TagsInput";
-import Label from "../../components/Label";
const PipelineCICD = (props) => {
const { pipeline } = props;
@@ -159,7 +156,9 @@ const PipelineCICD = (props) => {
copyNotification()}
- text={`git clone codecommit::${pipeline.environment.region}:${'//'}${pipeline.repo}`}
+ text={`git clone codecommit::${
+ pipeline.environment.region
+ }:${'//'}${pipeline.repo}`}
>
{
/>
- {`git clone codecommit::${pipeline.environment.region}:${'//'}${pipeline.repo}`}
-
+ {`git clone codecommit::${pipeline.environment.region}:${'//'}${
+ pipeline.repo
+ }`}
+
diff --git a/frontend/src/views/Pipelines/PipelineCreateForm.js b/frontend/src/views/Pipelines/PipelineCreateForm.js
index 1f3ffe456..522c72575 100644
--- a/frontend/src/views/Pipelines/PipelineCreateForm.js
+++ b/frontend/src/views/Pipelines/PipelineCreateForm.js
@@ -32,8 +32,7 @@ import ChipInput from '../../components/TagsInput';
import createDataPipeline from '../../api/DataPipeline/createDataPipeline';
import listEnvironmentGroups from '../../api/Environment/listEnvironmentGroups';
import * as Defaults from '../../components/defaults';
-import PipelineEnvironmentCreateForm from "./PipelineEnvironmentCreateForm";
-
+import PipelineEnvironmentCreateForm from './PipelineEnvironmentCreateForm';
const PipelineCrateForm = (props) => {
const navigate = useNavigate();
@@ -44,15 +43,20 @@ const PipelineCrateForm = (props) => {
const [loading, setLoading] = useState(true);
const [groupOptions, setGroupOptions] = useState([]);
const [environmentOptions, setEnvironmentOptions] = useState([]);
- const devOptions =[{value:"cdk-trunk", label:"CDK Pipelines - Trunk-based"},{value:"trunk", label:"CodePipeline - Trunk-based"},{value:"gitflow", label:"CodePipeline - Gitflow"},{value:"template", label:"GitHub Template"}];/*DBT Pipelines*/
+ const devOptions = [
+ { value: 'cdk-trunk', label: 'CDK Pipelines - Trunk-based' },
+ { value: 'trunk', label: 'CodePipeline - Trunk-based' },
+ { value: 'gitflow', label: 'CodePipeline - Gitflow' },
+ { value: 'template', label: 'GitHub Template' }
+ ]; /*DBT Pipelines*/
const [triggerEnvSubmit, setTriggerEnvSubmit] = useState(false);
const [countEnvironmentsValid, setCountEnvironmentsValid] = useState(false);
const [pipelineUri, setPipelineUri] = useState('');
- const handleCountEnvironmentValid = state => {
+ const handleCountEnvironmentValid = (state) => {
setCountEnvironmentsValid(state);
- };
-
+ };
+
const fetchEnvironments = useCallback(async () => {
setLoading(true);
const response = await client.query(
@@ -102,56 +106,58 @@ const PipelineCrateForm = (props) => {
);
}
}, [client, dispatch, fetchEnvironments]);
-
+
async function submit(values, setStatus, setSubmitting, setErrors) {
- if (!countEnvironmentsValid){
- dispatch({ type: SET_ERROR, error: "At least one deployment environment is required" })
- }else{
- try {
- const response = await client.mutate(
- createDataPipeline({
- input: {
- label: values.label,
- environmentUri: values.environment.environmentUri,
- description: values.description,
- SamlGroupName: values.SamlGroupName,
- tags: values.tags,
- devStrategy: values.devStrategy,
- template: values.template
- }
- })
+ if (!countEnvironmentsValid) {
+ dispatch({
+ type: SET_ERROR,
+ error: 'At least one deployment environment is required'
+ });
+ } else {
+ try {
+ const response = await client.mutate(
+ createDataPipeline({
+ input: {
+ label: values.label,
+ environmentUri: values.environment.environmentUri,
+ description: values.description,
+ SamlGroupName: values.SamlGroupName,
+ tags: values.tags,
+ devStrategy: values.devStrategy,
+ template: values.template
+ }
+ })
+ );
+ if (!response.errors) {
+ setStatus({ success: true });
+ setTriggerEnvSubmit(true);
+ setPipelineUri(response.data.createDataPipeline.DataPipelineUri);
+ setSubmitting(false);
+ enqueueSnackbar('Pipeline creation started', {
+ anchorOrigin: {
+ horizontal: 'right',
+ vertical: 'top'
+ },
+ variant: 'success'
+ });
+ navigate(
+ `/console/pipelines/${response.data.createDataPipeline.DataPipelineUri}`
);
- if (!response.errors) {
- setStatus({ success: true });
- setTriggerEnvSubmit(true);
- setPipelineUri(response.data.createDataPipeline.DataPipelineUri);
- setSubmitting(false);
- enqueueSnackbar('Pipeline creation started', {
- anchorOrigin: {
- horizontal: 'right',
- vertical: 'top'
- },
- variant: 'success'
- });
- navigate(
- `/console/pipelines/${response.data.createDataPipeline.DataPipelineUri}`
- );
- } else {
- setTriggerEnvSubmit(false);
- dispatch({ type: SET_ERROR, error: response.errors[0].message });
- }
- } catch (err) {
- console.error(err);
- setStatus({ success: false });
+ } else {
setTriggerEnvSubmit(false);
- setErrors({ submit: err.message });
- setSubmitting(false);
- dispatch({ type: SET_ERROR, error: err.message });
+ dispatch({ type: SET_ERROR, error: response.errors[0].message });
}
+ } catch (err) {
+ console.error(err);
+ setStatus({ success: false });
+ setTriggerEnvSubmit(false);
+ setErrors({ submit: err.message });
+ setSubmitting(false);
+ dispatch({ type: SET_ERROR, error: err.message });
}
+ }
}
-
if (loading) {
return ;
}
@@ -226,19 +232,20 @@ const PipelineCrateForm = (props) => {
environment: '',
tags: [],
devStrategy: 'cdk-trunk',
- template: '',
+ template: ''
}}
validationSchema={Yup.object().shape({
label: Yup.string()
.max(255)
.required('*Pipeline name is required'),
description: Yup.string().max(5000),
- SamlGroupName: Yup.string()
- .max(255),
+ SamlGroupName: Yup.string().max(255),
environment: Yup.object(),
- devStrategy: Yup.string().required('*A CICD strategy is required'),
+ devStrategy: Yup.string().required(
+ '*A CICD strategy is required'
+ ),
tags: Yup.array().nullable(),
- template: Yup.string().nullable(),
+ template: Yup.string().nullable()
})}
onSubmit={async (
values,
@@ -370,7 +377,10 @@ const PipelineCrateForm = (props) => {
label="Team"
name="SamlGroupName"
onChange={(event) => {
- setFieldValue('SamlGroupName', event.target.value);
+ setFieldValue(
+ 'SamlGroupName',
+ event.target.value
+ );
}}
select
value={values.SamlGroupName}
@@ -435,9 +445,11 @@ const PipelineCrateForm = (props) => {
- {values.devStrategy === "template" && (
+ {values.devStrategy === 'template' && (
{
environmentOptions={environmentOptions}
triggerEnvSubmit={triggerEnvSubmit}
pipelineUri={pipelineUri}
- handleCountEnvironmentValid={handleCountEnvironmentValid}
+ handleCountEnvironmentValid={
+ handleCountEnvironmentValid
+ }
/>
{errors.submit && (
@@ -481,7 +495,7 @@ const PipelineCrateForm = (props) => {
Create Pipeline
-
+
)}
@@ -493,4 +507,4 @@ const PipelineCrateForm = (props) => {
);
};
-export default PipelineCrateForm;
\ No newline at end of file
+export default PipelineCrateForm;
diff --git a/frontend/src/views/Pipelines/PipelineDatasets.js b/frontend/src/views/Pipelines/PipelineDatasets.js
index afd5f573e..b26b6f2b3 100644
--- a/frontend/src/views/Pipelines/PipelineDatasets.js
+++ b/frontend/src/views/Pipelines/PipelineDatasets.js
@@ -1,5 +1,5 @@
import PropTypes from 'prop-types';
-import {useCallback, useState, useEffect } from 'react';
+import { useCallback, useState, useEffect } from 'react';
import {
Card,
CardContent,
@@ -11,52 +11,51 @@ import {
} from '@mui/material';
import useClient from '../../hooks/useClient';
import { useDispatch } from '../../store';
-import getDataset from "../../api/Dataset/getDataset";
-import {SET_ERROR} from "../../store/errorReducer";
-
+import getDataset from '../../api/Dataset/getDataset';
+import { SET_ERROR } from '../../store/errorReducer';
const PipelineDatasets = (props) => {
const { pipeline } = props;
const client = useClient();
const dispatch = useDispatch();
- const [loading, setLoading] = useState(false);
- const [inputDataset, setInputDataset] = useState("");
- const [outputDataset, setOutputDataset] = useState("");
+ const [inputDataset, setInputDataset] = useState('');
+ const [outputDataset, setOutputDataset] = useState('');
const fetchDatasets = useCallback(async () => {
- setLoading(true);
if (pipeline.inputDatasetUri) {
const response = await client.query(getDataset(pipeline.inputDatasetUri));
if (!response.errors && response.data.getDataset !== null) {
setInputDataset(response.data.getDataset.label);
} else {
const error = response.errors
- ? response.errors[0].message
- : 'Dataset not found';
- dispatch({type: SET_ERROR, error});
+ ? response.errors[0].message
+ : 'Dataset not found';
+ dispatch({ type: SET_ERROR, error });
}
}
if (pipeline.outputDatasetUri) {
- const response = await client.query(getDataset(pipeline.outputDatasetUri));
+ const response = await client.query(
+ getDataset(pipeline.outputDatasetUri)
+ );
if (!response.errors && response.data.getDataset !== null) {
setOutputDataset(response.data.getDataset.label);
} else {
const error = response.errors
- ? response.errors[0].message
- : 'Dataset not found';
- dispatch({type: SET_ERROR, error});
+ ? response.errors[0].message
+ : 'Dataset not found';
+ dispatch({ type: SET_ERROR, error });
}
}
- setLoading(false);
}, [client, dispatch]);
useEffect(() => {
if (client) {
- fetchDatasets().catch((e) => dispatch({ type: SET_ERROR, error: e.message }));
+ fetchDatasets().catch((e) =>
+ dispatch({ type: SET_ERROR, error: e.message })
+ );
}
}, [client, dispatch, fetchDatasets]);
-
return (
diff --git a/frontend/src/views/Pipelines/PipelineEditForm.js b/frontend/src/views/Pipelines/PipelineEditForm.js
index a6d1c23a1..6a984bc10 100644
--- a/frontend/src/views/Pipelines/PipelineEditForm.js
+++ b/frontend/src/views/Pipelines/PipelineEditForm.js
@@ -30,10 +30,9 @@ import ChipInput from '../../components/TagsInput';
import getDataPipeline from '../../api/DataPipeline/getDataPipeline';
import updateDataPipeline from '../../api/DataPipeline/updateDataPipeline';
import listEnvironments from '../../api/Environment/listEnvironments';
-import PipelineEnvironmentEditForm from "./PipelineEnvironmentEditForm";
+import PipelineEnvironmentEditForm from './PipelineEnvironmentEditForm';
import * as Defaults from '../../components/defaults';
-
const PipelineEditForm = (props) => {
const dispatch = useDispatch();
const navigate = useNavigate();
@@ -48,9 +47,9 @@ const PipelineEditForm = (props) => {
const [triggerEnvSubmit, setTriggerEnvSubmit] = useState(false);
const [countEnvironmentsValid, setCountEnvironmentsValid] = useState(false);
- const handleCountEnvironmentValid = state => {
+ const handleCountEnvironmentValid = (state) => {
setCountEnvironmentsValid(state);
- };
+ };
const fetchItem = useCallback(async () => {
setLoadingPipeline(true);
@@ -100,49 +99,52 @@ const PipelineEditForm = (props) => {
}, [client, dispatch, fetchEnvironments]);
async function submit(values, setStatus, setSubmitting, setErrors) {
- if (!countEnvironmentsValid){
- dispatch({ type: SET_ERROR, error: "At least one deployment environment is required" })
- } else{
- try {
- const response = await client.mutate(
- updateDataPipeline({
- DataPipelineUri: pipeline.DataPipelineUri,
- input: {
- description: values.description,
- label: values.label,
- tags: values.tags
- }
- })
+ if (!countEnvironmentsValid) {
+ dispatch({
+ type: SET_ERROR,
+ error: 'At least one deployment environment is required'
+ });
+ } else {
+ try {
+ const response = await client.mutate(
+ updateDataPipeline({
+ DataPipelineUri: pipeline.DataPipelineUri,
+ input: {
+ description: values.description,
+ label: values.label,
+ tags: values.tags
+ }
+ })
+ );
+ if (!response.errors) {
+ setStatus({ success: true });
+ setTriggerEnvSubmit(true);
+ setSubmitting(false);
+ enqueueSnackbar('Pipeline updated', {
+ anchorOrigin: {
+ horizontal: 'right',
+ vertical: 'top'
+ },
+ variant: 'success'
+ });
+ navigate(
+ `/console/pipelines/${response.data.updateDataPipeline.DataPipelineUri}`
);
- if (!response.errors) {
- setStatus({ success: true });
- setTriggerEnvSubmit(true);
- setSubmitting(false);
- enqueueSnackbar('Pipeline updated', {
- anchorOrigin: {
- horizontal: 'right',
- vertical: 'top'
- },
- variant: 'success'
- });
- navigate(
- `/console/pipelines/${response.data.updateDataPipeline.DataPipelineUri}`
- );
- } else {
- setTriggerEnvSubmit(false);
- dispatch({ type: SET_ERROR, error: response.errors[0].message });
- }
- } catch (err) {
- setStatus({ success: false });
+ } else {
setTriggerEnvSubmit(false);
- setErrors({ submit: err.message });
- setSubmitting(false);
- dispatch({ type: SET_ERROR, error: err.message });
+ dispatch({ type: SET_ERROR, error: response.errors[0].message });
}
+ } catch (err) {
+ setStatus({ success: false });
+ setTriggerEnvSubmit(false);
+ setErrors({ submit: err.message });
+ setSubmitting(false);
+ dispatch({ type: SET_ERROR, error: err.message });
}
}
+ }
- if ((loadingPipeline || loadingEnvs) || (!pipeline && pipeline.environment)) {
+ if (loadingPipeline || loadingEnvs || (!pipeline && pipeline.environment)) {
return ;
}
@@ -373,7 +375,9 @@ const PipelineEditForm = (props) => {
triggerEnvSubmit={triggerEnvSubmit}
pipelineUri={pipeline.DataPipelineUri}
pipeline={pipeline}
- handleCountEnvironmentValid={handleCountEnvironmentValid}
+ handleCountEnvironmentValid={
+ handleCountEnvironmentValid
+ }
/>
{errors.submit && (
@@ -397,7 +401,7 @@ const PipelineEditForm = (props) => {
Update Pipeline
-
+
)}
diff --git a/frontend/src/views/Pipelines/PipelineEnvironmentCreateForm.js b/frontend/src/views/Pipelines/PipelineEnvironmentCreateForm.js
index 5f566be0c..446c1dddb 100644
--- a/frontend/src/views/Pipelines/PipelineEnvironmentCreateForm.js
+++ b/frontend/src/views/Pipelines/PipelineEnvironmentCreateForm.js
@@ -1,5 +1,4 @@
import React, { useEffect, useState } from 'react';
-import { useSnackbar } from 'notistack';
import {
Box,
Button,
@@ -27,35 +26,57 @@ import listEnvironmentGroups from '../../api/Environment/listEnvironmentGroups';
import * as Defaults from '../../components/defaults';
const PipelineEnvironmentCreateForm = (props) => {
- const { environmentOptions, triggerEnvSubmit, pipelineUri, handleCountEnvironmentValid } = props;
+ const {
+ environmentOptions,
+ triggerEnvSubmit,
+ pipelineUri,
+ handleCountEnvironmentValid
+ } = props;
const dispatch = useDispatch();
- const { enqueueSnackbar } = useSnackbar();
const client = useClient();
const [kvEnvs, setKeyValueEnvs] = useState([]);
- const [mapGroups, setMapGroups] = useState(new Map())
- const stageOps =[{value:"dev", label:"dev"},{value:"test", label:"test"},{value:"val", label:"val"},{value:"prod", label:"prod"},{value:"other", label:"other"}];
- const [environmentOps, setEnvironmentOps] = useState(
- environmentOptions && environmentOptions.length > 0 ? environmentOptions : [{ environmentUri: 'someUri', label: 'some' },{ environmentUri: 'someUri', label: 'some2' }]
- );
+ const [mapGroups, setMapGroups] = useState(new Map());
+ const stageOps = [
+ { value: 'dev', label: 'dev' },
+ { value: 'test', label: 'test' },
+ { value: 'val', label: 'val' },
+ { value: 'prod', label: 'prod' },
+ { value: 'other', label: 'other' }
+ ];
+
+ const environmentOps =
+ environmentOptions && environmentOptions.length > 0
+ ? environmentOptions
+ : [
+ { environmentUri: 'someUri', label: 'some' },
+ { environmentUri: 'someUri', label: 'some2' }
+ ];
const fetchGroups = async (environment) => {
- try {
- const response = await client.query(
- listEnvironmentGroups({
- filter: Defaults.SelectListFilter,
- environmentUri: environment.environmentUri
- })
- );
+ try {
+ const response = await client.query(
+ listEnvironmentGroups({
+ filter: Defaults.SelectListFilter,
+ environmentUri: environment.environmentUri
+ })
+ );
- if (!response.errors) {
- setMapGroups(new Map(mapGroups.set(environment.environmentUri, response.data.listEnvironmentGroups.nodes)) )//Array of groups (Objects)
- } else {
- dispatch({ type: SET_ERROR, error: response.errors[0].message });
+ if (!response.errors) {
+ setMapGroups(
+ new Map(
+ mapGroups.set(
+ environment.environmentUri,
+ response.data.listEnvironmentGroups.nodes
+ )
+ )
+ ); //Array of groups (Objects)
+ } else {
+ dispatch({ type: SET_ERROR, error: response.errors[0].message });
+ }
+ } catch (e) {
+ dispatch({ type: SET_ERROR, error: e.message });
}
- } catch (e) {
- dispatch({ type: SET_ERROR, error: e.message });
- }
-};
+ };
const handleAddEnvRow = () => {
if (kvEnvs.length <= 40) {
@@ -80,10 +101,10 @@ const PipelineEnvironmentCreateForm = (props) => {
const rows = [...prevstate];
if (field === 'stage') {
rows[idx].stage = value;
- } else if (field === 'env'){
+ } else if (field === 'env') {
rows[idx].environmentLabel = value.label;
rows[idx].environmentUri = value.environmentUri;
- } else{
+ } else {
rows[idx].samlGroupName = value;
}
return rows;
@@ -104,12 +125,11 @@ const PipelineEnvironmentCreateForm = (props) => {
createDataPipelineEnvironment({
input: {
stage: element.stage,
- order: index+1,
+ order: index + 1,
pipelineUri: pipelineUri,
environmentLabel: element.environmentLabel,
environmentUri: element.environmentUri,
samlGroupName: element.samlGroupName
-
}
})
);
@@ -124,19 +144,19 @@ const PipelineEnvironmentCreateForm = (props) => {
}
useEffect(() => {
- if (client && triggerEnvSubmit && pipelineUri && kvEnvs.length > 0) {
- kvEnvs.forEach((element, index) => submit(element, index))
- }
- if (client && environmentOptions.length > 0) {
- environmentOptions.forEach((element) => fetchGroups(element))
- }
- }, [client, dispatch, triggerEnvSubmit, pipelineUri, environmentOptions]);
+ if (client && triggerEnvSubmit && pipelineUri && kvEnvs.length > 0) {
+ kvEnvs.forEach((element, index) => submit(element, index));
+ }
+ if (client && environmentOptions.length > 0) {
+ environmentOptions.forEach((element) => fetchGroups(element));
+ }
+ }, [client, dispatch, triggerEnvSubmit, pipelineUri, environmentOptions]);
useEffect(() => {
- if (kvEnvs.length > 0){
- handleCountEnvironmentValid(true)
- }else{
- handleCountEnvironmentValid(false)
+ if (kvEnvs.length > 0) {
+ handleCountEnvironmentValid(true);
+ } else {
+ handleCountEnvironmentValid(false);
}
}, [kvEnvs.length]);
@@ -152,10 +172,10 @@ const PipelineEnvironmentCreateForm = (props) => {
-
-
-
-
+
+
+
+
{kvEnvs && kvEnvs.length > 0 && (
@@ -175,7 +195,7 @@ const PipelineEnvironmentCreateForm = (props) => {
@@ -226,14 +246,17 @@ const PipelineEnvironmentCreateForm = (props) => {
select
variant="outlined"
>
- {mapGroups.get(kvEnvs[idx].environmentUri) && (mapGroups.get(kvEnvs[idx].environmentUri).map((g) => (
-
- )))}
+ {mapGroups.get(kvEnvs[idx].environmentUri) &&
+ mapGroups
+ .get(kvEnvs[idx].environmentUri)
+ .map((g) => (
+
+ ))}
diff --git a/frontend/src/views/Pipelines/PipelineEnvironmentEditForm.js b/frontend/src/views/Pipelines/PipelineEnvironmentEditForm.js
index cbe334fdb..58d2251c8 100644
--- a/frontend/src/views/Pipelines/PipelineEnvironmentEditForm.js
+++ b/frontend/src/views/Pipelines/PipelineEnvironmentEditForm.js
@@ -1,5 +1,4 @@
import React, { useEffect, useState } from 'react';
-import { useSnackbar } from 'notistack';
import {
Box,
Button,
@@ -29,28 +28,44 @@ import listEnvironmentGroups from '../../api/Environment/listEnvironmentGroups';
import * as Defaults from '../../components/defaults';
const PipelineEnvironmentEditForm = (props) => {
- const { environmentOptions, triggerEnvSubmit, pipelineUri, pipeline, handleCountEnvironmentValid } = props;
+ const {
+ environmentOptions,
+ triggerEnvSubmit,
+ pipelineUri,
+ pipeline,
+ handleCountEnvironmentValid
+ } = props;
const dispatch = useDispatch();
- const { enqueueSnackbar } = useSnackbar();
const client = useClient();
const [kvEnvs, setKeyValueEnvs] = useState([]);
const [envsToRemove, setEnvsToRemove] = useState([]);
const [environments, setEnvironments] = useState([]);
- const [mapGroups, setMapGroups] = useState(new Map())
- const stageOps =[{value:"dev", label:"dev"},{value:"test", label:"test"},{value:"val", label:"val"},{value:"prod", label:"prod"},{value:"other", label:"other"}];
- const [environmentOps, setEnvironmentOps] = useState(
- environmentOptions && environmentOptions.length > 0 ? environmentOptions : [{ environmentUri: 'someUri', label: 'some' },{ environmentUri: 'someUri', label: 'some2' }]
- );
+ const [mapGroups, setMapGroups] = useState(new Map());
+ const stageOps = [
+ { value: 'dev', label: 'dev' },
+ { value: 'test', label: 'test' },
+ { value: 'val', label: 'val' },
+ { value: 'prod', label: 'prod' },
+ { value: 'other', label: 'other' }
+ ];
+
+ const environmentOps =
+ environmentOptions && environmentOptions.length > 0
+ ? environmentOptions
+ : [
+ { environmentUri: 'someUri', label: 'some' },
+ { environmentUri: 'someUri', label: 'some2' }
+ ];
useEffect(() => {
if (client && pipeline) {
- console.log("useeffect")
- console.log(pipeline)
- const environmentsSorted = pipeline.developmentEnvironments.nodes.sort((a, b) => {
- return a.order - b.order;
- });
+ const environmentsSorted = pipeline.developmentEnvironments.nodes.sort(
+ (a, b) => {
+ return a.order - b.order;
+ }
+ );
if (environmentsSorted) {
- environmentsSorted.map((e) => (handleExistingEnvRow(e)))
+ environmentsSorted.map((e) => handleExistingEnvRow(e));
}
}
}, [client, pipeline]);
@@ -65,7 +80,14 @@ const PipelineEnvironmentEditForm = (props) => {
);
if (!response.errors) {
- setMapGroups(new Map(mapGroups.set(environment.environmentUri, response.data.listEnvironmentGroups.nodes)) )//Array of groups (Objects)
+ setMapGroups(
+ new Map(
+ mapGroups.set(
+ environment.environmentUri,
+ response.data.listEnvironmentGroups.nodes
+ )
+ )
+ ); //Array of groups (Objects)
} else {
dispatch({ type: SET_ERROR, error: response.errors[0].message });
}
@@ -118,10 +140,10 @@ const PipelineEnvironmentEditForm = (props) => {
const rows = [...prevstate];
if (field === 'stage') {
rows[idx].stage = value;
- } else if (field === 'env'){
+ } else if (field === 'env') {
rows[idx].environmentLabel = value.label;
rows[idx].environmentUri = value.environmentUri;
- } else{
+ } else {
rows[idx].samlGroupName = value;
}
return rows;
@@ -156,7 +178,6 @@ const PipelineEnvironmentEditForm = (props) => {
environmentLabel: element.environmentLabel,
environmentUri: element.environmentUri,
samlGroupName: element.samlGroupName
-
}
})
);
@@ -212,25 +233,25 @@ const PipelineEnvironmentEditForm = (props) => {
}
useEffect(() => {
- if (client && triggerEnvSubmit && pipelineUri && envsToRemove.length > 0) {
- envsToRemove.forEach((element, index) => deleteEnv(element, index))
- }
- if (client && triggerEnvSubmit && pipelineUri && environments.length > 0) {
- environments.forEach((element, index) => update(element, index))
- }
- if (client && triggerEnvSubmit && pipelineUri && kvEnvs.length > 0) {
- kvEnvs.forEach((element, index) => submit(element, index))
- }
- if (client && environmentOptions.length > 0) {
- environmentOptions.forEach((element) => fetchGroups(element))
- }
- }, [client, dispatch, triggerEnvSubmit, pipelineUri, environmentOptions]);
+ if (client && triggerEnvSubmit && pipelineUri && envsToRemove.length > 0) {
+ envsToRemove.forEach((element, index) => deleteEnv(element, index));
+ }
+ if (client && triggerEnvSubmit && pipelineUri && environments.length > 0) {
+ environments.forEach((element, index) => update(element, index));
+ }
+ if (client && triggerEnvSubmit && pipelineUri && kvEnvs.length > 0) {
+ kvEnvs.forEach((element, index) => submit(element, index));
+ }
+ if (client && environmentOptions.length > 0) {
+ environmentOptions.forEach((element) => fetchGroups(element));
+ }
+ }, [client, dispatch, triggerEnvSubmit, pipelineUri, environmentOptions]);
useEffect(() => {
- if ((kvEnvs.length + environments.length) > 0){
- handleCountEnvironmentValid(true)
- }else{
- handleCountEnvironmentValid(false)
+ if (kvEnvs.length + environments.length > 0) {
+ handleCountEnvironmentValid(true);
+ } else {
+ handleCountEnvironmentValid(false);
}
}, [kvEnvs.length, environments.length]);
@@ -239,18 +260,18 @@ const PipelineEnvironmentEditForm = (props) => {
-
+
-
-
-
-
-
+
+
+
+
+
{environments && environments.length > 0 && (
@@ -261,64 +282,64 @@ const PipelineEnvironmentEditForm = (props) => {
Team
AWS Account
-
+
)}
{environments.map((item, idx) => (
- <>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {
- handleRemoveExistingEnvRow(idx);
- }}
- >
-
-
- |
-
- >
- ))}
+ <>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {
+ handleRemoveExistingEnvRow(idx);
+ }}
+ >
+
+
+ |
+
+ >
+ ))}
@@ -333,10 +354,10 @@ const PipelineEnvironmentEditForm = (props) => {
-
-
-
-
+
+
+
+
{kvEnvs && kvEnvs.length > 0 && (
@@ -356,7 +377,11 @@ const PipelineEnvironmentEditForm = (props) => {
@@ -407,14 +432,17 @@ const PipelineEnvironmentEditForm = (props) => {
select
variant="outlined"
>
- {mapGroups.get(kvEnvs[idx].environmentUri) && (mapGroups.get(kvEnvs[idx].environmentUri).map((g) => (
-
- )))}
+ {mapGroups.get(kvEnvs[idx].environmentUri) &&
+ mapGroups
+ .get(kvEnvs[idx].environmentUri)
+ .map((g) => (
+
+ ))}
diff --git a/frontend/src/views/Pipelines/PipelineEnvironments.js b/frontend/src/views/Pipelines/PipelineEnvironments.js
index b3aefd47d..2606e6c56 100644
--- a/frontend/src/views/Pipelines/PipelineEnvironments.js
+++ b/frontend/src/views/Pipelines/PipelineEnvironments.js
@@ -1,49 +1,35 @@
-import React, {useCallback, useEffect, useState} from 'react';
-import { useSnackbar } from 'notistack';
+import React, { useEffect, useState } from 'react';
import {
Box,
- Button,
Card,
CardContent,
CardHeader,
Divider,
Grid,
- IconButton,
- MenuItem,
Table,
TableBody,
TableCell,
TableHead,
- TableRow,
- TextField
+ TableRow
} from '@mui/material';
-import { DeleteOutlined } from '@mui/icons-material';
import PropTypes from 'prop-types';
-import { LoadingButton } from '@mui/lab';
import useClient from '../../hooks/useClient';
-import { SET_ERROR } from '../../store/errorReducer';
-import { useDispatch } from '../../store';
-import * as Defaults from '../../components/defaults';
const PipelineEnvironments = (props) => {
const { pipeline } = props;
- const dispatch = useDispatch();
- const { enqueueSnackbar } = useSnackbar();
const client = useClient();
const [environments, setEnvironments] = useState([]);
- const [loading, setLoading] = useState(true);
useEffect(() => {
- if (client && pipeline) {
- console.log("useeffect")
- console.log(pipeline)
- const environmentsSorted = pipeline.developmentEnvironments.nodes.sort((a, b) => {
+ if (client && pipeline) {
+ const environmentsSorted = pipeline.developmentEnvironments.nodes.sort(
+ (a, b) => {
return a.order - b.order;
- });
- setEnvironments(environmentsSorted)
- console.log(environments)
- }
- }, [client, pipeline]);
+ }
+ );
+ setEnvironments(environmentsSorted);
+ }
+ }, [client, pipeline]);
return (
<>
@@ -57,11 +43,11 @@ const PipelineEnvironments = (props) => {
-
-
-
-
-
+
+
+
+
+
{environments > 0 && (
@@ -75,17 +61,18 @@ const PipelineEnvironments = (props) => {
)}
- {environments && (environments.map((e) => (
- <>
-
- {e.order}
- {e.stage}
- {e.environmentLabel}
- {e.samlGroupName}
- {e.AwsAccountId}
-
- >
- )))}
+ {environments &&
+ environments.map((e) => (
+ <>
+
+ {e.order}
+ {e.stage}
+ {e.environmentLabel}
+ {e.samlGroupName}
+ {e.AwsAccountId}
+
+ >
+ ))}
diff --git a/frontend/src/views/Pipelines/PipelineList.js b/frontend/src/views/Pipelines/PipelineList.js
index e3ff00c95..cf2c945d1 100644
--- a/frontend/src/views/Pipelines/PipelineList.js
+++ b/frontend/src/views/Pipelines/PipelineList.js
@@ -28,7 +28,6 @@ import listDataPipelines from '../../api/DataPipeline/listDataPipelines';
import ChipInput from '../../components/TagsInput';
import { AwsRegions } from '../../constants';
-
function PipelinesPageHeader() {
return (
{
const [inputValue, setInputValue] = useState('');
const [loading, setLoading] = useState(true);
const client = useClient();
- const devOptions =[{value:"cdk-trunk", label:"CDK Pipelines - Trunk-based"},{value:"trunk", label:"CodePipeline - Trunk-based"},{value:"gitflow", label:"CodePipeline - Gitflow"},{value:"template", label:"GitHub Template"}];/*DBT Pipelines*/
- const [filterItems] = useState([{title:'DevStrategy', options: devOptions},{title:'Tags'},{title: 'Region', options: AwsRegions}]);
+ const devOptions = [
+ { value: 'cdk-trunk', label: 'CDK Pipelines - Trunk-based' },
+ { value: 'trunk', label: 'CodePipeline - Trunk-based' },
+ { value: 'gitflow', label: 'CodePipeline - Gitflow' },
+ { value: 'template', label: 'GitHub Template' }
+ ]; /*DBT Pipelines*/
+ const [filterItems] = useState([
+ { title: 'DevStrategy', options: devOptions },
+ { title: 'Tags' },
+ { title: 'Region', options: AwsRegions }
+ ]);
const fetchItems = useCallback(async () => {
setLoading(true);
@@ -107,7 +115,7 @@ const PipelineList = () => {
const handleInputKeyup = (event) => {
if (event.code === 'Enter') {
- setFilter({...filter, page: 1, term: event.target.value});
+ setFilter({ ...filter, page: 1, term: event.target.value });
}
};
@@ -118,14 +126,14 @@ const PipelineList = () => {
};
const handleFilterChange = (filterLabel, values) => {
- if (filterLabel === "Region"){
- const selectedRegions = values.map((region) => region.value)
- setFilter({ ...filter, region: selectedRegions});
- } else if (filterLabel === "Tags"){
+ if (filterLabel === 'Region') {
+ const selectedRegions = values.map((region) => region.value);
+ setFilter({ ...filter, region: selectedRegions });
+ } else if (filterLabel === 'Tags') {
setFilter({ ...filter, tags: values });
- } else if (filterLabel === "DevStrategy"){
- const selectedTypes = values.map((type) => type.value)
- setFilter({ ...filter, type: selectedTypes })
+ } else if (filterLabel === 'DevStrategy') {
+ const selectedTypes = values.map((type) => type.value);
+ setFilter({ ...filter, type: selectedTypes });
}
};
@@ -166,14 +174,16 @@ const PipelineList = () => {
{filterItems.map((item) => (
- {item.title != 'Tags'
- ? option.label}
- onChange={(event, value) => handleFilterChange(item.title, value)}
+ onChange={(event, value) =>
+ handleFilterChange(item.title, value)
+ }
renderInput={(regionParams) => (
{
/>
)}
/>
- : handleFilterChange(item.title, e)}
/>
- }
+ )}
))}
diff --git a/frontend/src/views/Pipelines/PipelineOverview.js b/frontend/src/views/Pipelines/PipelineOverview.js
index 3f0938d69..88ccc3ba2 100644
--- a/frontend/src/views/Pipelines/PipelineOverview.js
+++ b/frontend/src/views/Pipelines/PipelineOverview.js
@@ -11,43 +11,43 @@ const PipelineOverview = (props) => {
return (
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
- 0 ? pipeline.tags : ['-']
- }
- />
-
-
+
+
+
+
+
+
+
+ 0
+ ? pipeline.tags
+ : ['-']
+ }
+ />
+
+
);
diff --git a/frontend/src/views/Pipelines/PipelineView.js b/frontend/src/views/Pipelines/PipelineView.js
index 77cf3bc0b..3316022f0 100644
--- a/frontend/src/views/Pipelines/PipelineView.js
+++ b/frontend/src/views/Pipelines/PipelineView.js
@@ -18,12 +18,7 @@ import { FaAws, FaTrash } from 'react-icons/fa';
import { useNavigate } from 'react-router';
import * as PropTypes from 'prop-types';
import { useSnackbar } from 'notistack';
-import {
- ForumOutlined,
- Info,
- LocalOffer,
- PlaylistPlay
-} from '@mui/icons-material';
+import { ForumOutlined, Info, LocalOffer } from '@mui/icons-material';
import useSettings from '../../hooks/useSettings';
import useClient from '../../hooks/useClient';
import ChevronRightIcon from '../../icons/ChevronRight';
@@ -39,7 +34,6 @@ import StackStatus from '../Stack/StackStatus';
import KeyValueTagList from '../KeyValueTags/KeyValueTagList';
import FeedComments from '../Feed/FeedComments';
-
function PipelineViewPageHeader({ pipeline, deletePipeline }) {
const [openFeed, setOpenFeed] = useState(false);
return (
@@ -138,13 +132,14 @@ const PipelineView = () => {
const [loading, setLoading] = useState(true);
const [pipeline, setPipeline] = useState(null);
const [stack, setStack] = useState(null);
- const [cdkTrunk, setCdkTrunk] = useState(null);
const [isDeleteObjectModalOpen, setIsDeleteObjectModalOpen] = useState(false);
- const [tabs, setTabs] = useState([
+ const tabs = [
{ label: 'Overview', value: 'overview', icon: },
{ label: 'Tags', value: 'tags', icon: },
- { label: 'Stack', value: 'stack', icon: }]);
- const handleDeleteObjectModalOpen = () => {
+ { label: 'Stack', value: 'stack', icon: }
+ ];
+
+ const handleDeleteObjectModalOpen = () => {
setIsDeleteObjectModalOpen(true);
};
@@ -165,7 +160,7 @@ const PipelineView = () => {
}
setLoading(false);
}, [client, dispatch, params.uri, stack]);
-
+
useEffect(() => {
if (client) {
fetchItem().catch((e) => dispatch({ type: SET_ERROR, error: e.message }));
@@ -263,7 +258,11 @@ const PipelineView = () => {
environmentUri={pipeline.environment.environmentUri}
stackUri={pipeline.stack.stackUri}
targetUri={pipeline.DataPipelineUri}
- targetType={pipeline.devStrategy == 'cdk-trunk' ? "cdkpipeline" : "pipeline"}
+ targetType={
+ pipeline.devStrategy === 'cdk-trunk'
+ ? 'cdkpipeline'
+ : 'pipeline'
+ }
/>
)}
diff --git a/frontend/src/views/Shares/RevokeShareItemsModal.js b/frontend/src/views/Shares/RevokeShareItemsModal.js
index ccff68e5d..9e9954ab4 100644
--- a/frontend/src/views/Shares/RevokeShareItemsModal.js
+++ b/frontend/src/views/Shares/RevokeShareItemsModal.js
@@ -1,13 +1,7 @@
import PropTypes from 'prop-types';
import { useSnackbar } from 'notistack';
-import {
- Box, Card,
- Dialog,
- Divider,
- IconButton,
- Typography
-} from '@mui/material';
-import {Add, SyncAlt} from '@mui/icons-material';
+import { Box, Card, Dialog, Divider, Typography } from '@mui/material';
+import { SyncAlt } from '@mui/icons-material';
import React, { useCallback, useEffect, useState } from 'react';
import { useParams } from 'react-router-dom';
import { SET_ERROR } from '../../store/errorReducer';
@@ -16,14 +10,13 @@ import useClient from '../../hooks/useClient';
import * as Defaults from '../../components/defaults';
import getShareObject from '../../api/ShareObject/getShareObject';
import revokeItemsShareObject from '../../api/ShareObject/revokeItemsShareObject';
-import {LoadingButton} from "@mui/lab";
-import {DataGrid} from "@mui/x-data-grid";
+import { LoadingButton } from '@mui/lab';
+import { DataGrid } from '@mui/x-data-grid';
const RevokeShareItemsModal = (props) => {
const client = useClient();
const { share, onApply, onClose, open, reloadSharedItems, ...other } = props;
const { enqueueSnackbar } = useSnackbar();
- const [filter, setFilter] = useState(Defaults.DefaultFilter);
const [rows, setRows] = useState([]);
const dispatch = useDispatch();
const params = useParams();
@@ -37,7 +30,7 @@ const RevokeShareItemsModal = (props) => {
getShareObject({
shareUri: params.uri,
filter: {
- ...filter,
+ ...Defaults.DefaultFilter,
pageSize: 1000,
isShared: true,
isRevokable: true
@@ -46,19 +39,18 @@ const RevokeShareItemsModal = (props) => {
);
if (!response.errors) {
setRows(
- response.data.getShareObject.items.nodes.map((item) => ({
- id: item.shareItemUri,
- name: item.itemName,
- type: item.itemType == "StorageLocation"? "Folder": "Table",
- status: item.status
- }))
+ response.data.getShareObject.items.nodes.map((item) => ({
+ id: item.shareItemUri,
+ name: item.itemName,
+ type: item.itemType === 'StorageLocation' ? 'Folder' : 'Table',
+ status: item.status
+ }))
);
} else {
dispatch({ type: SET_ERROR, error: response.errors[0].message });
}
setLoading(false);
- }, [client, dispatch, params.uri, filter]);
-
+ }, [client, dispatch, params.uri, Defaults.DefaultFilter]);
const revoke = async () => {
setLoading(true);
@@ -85,7 +77,7 @@ const RevokeShareItemsModal = (props) => {
}
setLoading(false);
};
-
+
useEffect(() => {
if (client) {
fetchShareItems().catch((e) =>
@@ -93,7 +85,7 @@ const RevokeShareItemsModal = (props) => {
);
}
}, [client, dispatch, fetchShareItems]);
-
+
if (!share) {
return null;
}
@@ -103,7 +95,7 @@ const RevokeShareItemsModal = (props) => {
const header = [
{ field: 'name', headerName: 'Name', width: 200, editable: false },
{ field: 'type', headerName: 'Type', width: 300, editable: false },
- { field: 'status', headerName: 'Status', width: 300, editable: false },
+ { field: 'status', headerName: 'Status', width: 300, editable: false }
];
return (
@@ -119,18 +111,18 @@ const RevokeShareItemsModal = (props) => {
{
- "After selecting the items that you want to revoke, click on Revoke Selected Items"
+ 'After selecting the items that you want to revoke, click on Revoke Selected Items'
}
-
-
+
+
{!loading && rows.length > 0 ? (
setPageSize(newPageSize)}
checkboxSelection
onSelectionModelChange={(newSelection) => {
@@ -145,23 +137,23 @@ const RevokeShareItemsModal = (props) => {
)}
+ }
+ sx={{ m: 1 }}
+ variant="outlined"
>
- }
- sx={{ m: 1 }}
- variant="outlined"
- >
- Revoke Selected Items
-
+ Revoke Selected Items
+
diff --git a/frontend/src/views/Shares/ShareInboxListItem.js b/frontend/src/views/Shares/ShareInboxListItem.js
index 1a5562ada..ebc4b86c3 100644
--- a/frontend/src/views/Shares/ShareInboxListItem.js
+++ b/frontend/src/views/Shares/ShareInboxListItem.js
@@ -14,8 +14,7 @@ import ShareStatus from '../../components/ShareStatus';
import TextAvatar from '../../components/TextAvatar';
import useCardStyle from '../../hooks/useCardStyle';
-const ShareInboxListItem = (props) => {
- const { share, reload } = props;
+const ShareInboxListItem = ({ share }) => {
const classes = useCardStyle();
return (
@@ -84,51 +83,51 @@ const ShareInboxListItem = (props) => {
-
-
- {`Currently shared items: ${share.statistics.sharedItems}`}
-
-
-
-
- {`Revoked items: ${share.statistics.revokedItems}`}
-
-
-
-
- {`Failed items: ${share.statistics.failedItems}`}
-
-
-
-
- {`Pending items: ${share.statistics.pendingItems}`}
-
-
+
+
+ {`Currently shared items: ${share.statistics.sharedItems}`}
+
+
+
+
+ {`Revoked items: ${share.statistics.revokedItems}`}
+
+
+
+
+ {`Failed items: ${share.statistics.failedItems}`}
+
+
+
+
+ {`Pending items: ${share.statistics.pendingItems}`}
+
+
diff --git a/frontend/src/views/Shares/ShareOutboxListItem.js b/frontend/src/views/Shares/ShareOutboxListItem.js
index bb00bf1b4..d4a11a578 100644
--- a/frontend/src/views/Shares/ShareOutboxListItem.js
+++ b/frontend/src/views/Shares/ShareOutboxListItem.js
@@ -13,8 +13,7 @@ import PropTypes from 'prop-types';
import ShareStatus from '../../components/ShareStatus';
import TextAvatar from '../../components/TextAvatar';
-const ShareOutboxListItem = (props) => {
- const { share, reload } = props;
+const ShareOutboxListItem = ({ share }) => {
return (
{
-
-
- {`Currently shared items: ${share.statistics.sharedItems}`}
-
-
-
-
- {`Revoked items: ${share.statistics.revokedItems}`}
-
-
-
-
- {`Failed items: ${share.statistics.failedItems}`}
-
-
-
-
- {`Pending items: ${share.statistics.pendingItems}`}
-
-
+
+
+ {`Currently shared items: ${share.statistics.sharedItems}`}
+
+
+
+
+ {`Revoked items: ${share.statistics.revokedItems}`}
+
+
+
+
+ {`Failed items: ${share.statistics.failedItems}`}
+
+
+
+
+ {`Pending items: ${share.statistics.pendingItems}`}
+
+
diff --git a/frontend/src/views/Shares/ShareView.js b/frontend/src/views/Shares/ShareView.js
index e26e05d4e..a8b04db1a 100644
--- a/frontend/src/views/Shares/ShareView.js
+++ b/frontend/src/views/Shares/ShareView.js
@@ -30,7 +30,6 @@ import {
CopyAllOutlined,
DeleteOutlined,
RemoveCircleOutlineOutlined,
- LockRounded,
RefreshRounded
} from '@mui/icons-material';
import { LoadingButton } from '@mui/lab';
@@ -60,7 +59,6 @@ import deleteShareObject from '../../api/ShareObject/deleteShareObject.js';
import submitApproval from '../../api/ShareObject/submitApproval';
import removeSharedItem from '../../api/ShareObject/removeSharedItem';
-
function ShareViewHeader(props) {
const {
share,
@@ -75,7 +73,7 @@ function ShareViewHeader(props) {
const [accepting, setAccepting] = useState(false);
const [rejecting, setRejecting] = useState(false);
const [submitting, setSubmitting] = useState(false);
- const [removing, setRemoving] = useState(false);
+
const submit = async () => {
setSubmitting(true);
const response = await client.mutate(
@@ -83,6 +81,7 @@ function ShareViewHeader(props) {
shareUri: share.shareUri
})
);
+
if (!response.errors) {
enqueueSnackbar('Share request submitted', {
anchorOrigin: {
@@ -97,13 +96,14 @@ function ShareViewHeader(props) {
}
setSubmitting(false);
};
+
const remove = async () => {
- setRemoving(true);
const response = await client.mutate(
deleteShareObject({
shareUri: share.shareUri
})
);
+
if (!response.errors) {
enqueueSnackbar('Share request deleted', {
anchorOrigin: {
@@ -116,8 +116,8 @@ function ShareViewHeader(props) {
} else {
dispatch({ type: SET_ERROR, error: response.errors[0].message });
}
- setRemoving(false);
};
+
const accept = async () => {
setAccepting(true);
const response = await client.mutate(
@@ -125,6 +125,7 @@ function ShareViewHeader(props) {
shareUri: share.shareUri
})
);
+
if (!response.errors) {
enqueueSnackbar('Share request approved', {
anchorOrigin: {
@@ -140,6 +141,7 @@ function ShareViewHeader(props) {
}
setAccepting(false);
};
+
const reject = async () => {
setRejecting(true);
const response = await client.mutate(
@@ -147,6 +149,7 @@ function ShareViewHeader(props) {
shareUri: share.shareUri
})
);
+
if (!response.errors) {
enqueueSnackbar('Share request rejected', {
anchorOrigin: {
@@ -162,6 +165,7 @@ function ShareViewHeader(props) {
}
setRejecting(false);
};
+
return (
@@ -329,38 +333,34 @@ function SharedItem(props) {
- {(isRemovingItem) ? (
+ {isRemovingItem ? (
) : (
- <>
- {
- (item.status === 'Share_Succeeded' || item.status === 'Revoke_Failed') ? (
-
- Revoke access to this item before deleting
-
- ) : (item.status === 'Share_Approved' || item.status === 'Revoke_Approved' || item.status === 'Revoke_In_Progress' || item.status === 'Share_In_Progress') ? (
-
- Wait until this item is processed
-
- ) : (
- }
- sx={{ m: 1 }}
- variant="outlined"
- onClick={removeItemFromShareObject}
- >
- Delete
-
- )
- }
- >
+ <>
+ {item.status === 'Share_Succeeded' ||
+ item.status === 'Revoke_Failed' ? (
+
+ Revoke access to this item before deleting
+
+ ) : item.status === 'Share_Approved' ||
+ item.status === 'Revoke_Approved' ||
+ item.status === 'Revoke_In_Progress' ||
+ item.status === 'Share_In_Progress' ? (
+
+ Wait until this item is processed
+
+ ) : (
+ }
+ sx={{ m: 1 }}
+ variant="outlined"
+ onClick={removeItemFromShareObject}
+ >
+ Delete
+
+ )}
+ >
)}
@@ -391,10 +391,18 @@ const ShareView = () => {
const [loadingShareItems, setLoadingShareItems] = useState(false);
const [isAddItemModalOpen, setIsAddItemModalOpen] = useState(false);
const [isRevokeItemsModalOpen, setIsRevokeItemsModalOpen] = useState(false);
- const handleAddItemModalOpen = () => {setIsAddItemModalOpen(true);};
- const handleAddItemModalClose = () => {setIsAddItemModalOpen(false);};
- const handleRevokeItemModalOpen = () => {setIsRevokeItemsModalOpen(true);};
- const handleRevokeItemModalClose = () => {setIsRevokeItemsModalOpen(false);};
+ const handleAddItemModalOpen = () => {
+ setIsAddItemModalOpen(true);
+ };
+ const handleAddItemModalClose = () => {
+ setIsAddItemModalOpen(false);
+ };
+ const handleRevokeItemModalOpen = () => {
+ setIsRevokeItemsModalOpen(true);
+ };
+ const handleRevokeItemModalClose = () => {
+ setIsRevokeItemsModalOpen(false);
+ };
const handlePageChange = async (event, value) => {
if (value <= sharedItems.pages && value !== sharedItems.page) {
await setFilter({ ...filter, isShared: true, page: value });
@@ -409,7 +417,7 @@ const ShareView = () => {
variant: 'success'
});
};
-
+
const fetchItem = useCallback(async () => {
setLoading(true);
const response = await client.query(
@@ -446,7 +454,7 @@ const ShareView = () => {
},
[client, dispatch, filter, fetchItem, params.uri]
);
-
+
useEffect(() => {
if (client) {
fetchItem().catch((e) => dispatch({ type: SET_ERROR, error: e.message }));
@@ -695,10 +703,18 @@ const ShareView = () => {
-
+
S3 Access Point name (Folder sharing):
-
+
{` ${share.consumptionData.s3AccessPointName || '-'}`}
@@ -721,11 +737,21 @@ const ShareView = () => {
-
+
Glue database name (Table sharing):
-
- {` ${share.consumptionData.sharedGlueDatabase || '-'}`}
+
+ {` ${
+ share.consumptionData.sharedGlueDatabase || '-'
+ }`}
{
onClick={handleRevokeItemModalOpen}
type="button"
variant="outlined"
- >
+ >
Revoke Items
diff --git a/frontend/src/views/Tables/TableColumns.js b/frontend/src/views/Tables/TableColumns.js
index 346da5914..4bf3c2cb0 100644
--- a/frontend/src/views/Tables/TableColumns.js
+++ b/frontend/src/views/Tables/TableColumns.js
@@ -43,7 +43,7 @@ const TableColumns = (props) => {
}
};
- const handleEditCellChangeCommitted = (e:GridCellEditCommitParams) => {
+ const handleEditCellChangeCommitted = (e: GridCellEditCommitParams) => {
const data = e.value;
if (e.field === 'description') {
columns.map((c) => {
diff --git a/frontend/src/views/Worksheets/WorksheetList.js b/frontend/src/views/Worksheets/WorksheetList.js
index 9d6a7b55a..28f68ecb0 100644
--- a/frontend/src/views/Worksheets/WorksheetList.js
+++ b/frontend/src/views/Worksheets/WorksheetList.js
@@ -108,7 +108,7 @@ const WorksheetList = () => {
const handleInputKeyup = (event) => {
if (event.code === 'Enter') {
- setFilter({page: 1, term: event.target.value});
+ setFilter({ page: 1, term: event.target.value });
fetchItems().catch((e) =>
dispatch({ type: SET_ERROR, error: e.message })
);
diff --git a/frontend/src/views/Worksheets/WorksheetView.js b/frontend/src/views/Worksheets/WorksheetView.js
index 52f1c6121..62f875692 100644
--- a/frontend/src/views/Worksheets/WorksheetView.js
+++ b/frontend/src/views/Worksheets/WorksheetView.js
@@ -43,8 +43,6 @@ import WorksheetEditFormModal from './WorksheetEditFormModal';
import DeleteObjectWithFrictionModal from '../../components/DeleteObjectWithFrictionModal';
import * as Defaults from '../../components/defaults';
-
-
const WorksheetView = () => {
const navigate = useNavigate();
const params = useParams();
@@ -135,24 +133,26 @@ const WorksheetView = () => {
let sharedWithDatabases = [];
let response = await client.query(
listDatasetsOwnedByEnvGroup({
- filter: {
- term: '',
- page: 1,
+ filter: {
+ term: '',
+ page: 1,
pageSize: 10000
},
environmentUri: environment.environmentUri,
groupUri: team
- }));
+ })
+ );
if (response.errors) {
dispatch({ type: SET_ERROR, error: response.errors[0].message });
}
if (response.data.listDatasetsOwnedByEnvGroup.nodes) {
- ownedDatabases =
- response.data.listDatasetsOwnedByEnvGroup.nodes?.map((d) => ({
+ ownedDatabases = response.data.listDatasetsOwnedByEnvGroup.nodes?.map(
+ (d) => ({
...d,
value: d.datasetUri,
label: d.GlueDatabaseName
- }));
+ })
+ );
}
response = await client.query(
searchEnvironmentDataItems({
@@ -175,7 +175,8 @@ const WorksheetView = () => {
datasetUri: d.datasetUri,
value: d.datasetUri,
label: `${d.GlueDatabaseName}_shared_${d.shareUri}`,
- GlueDatabaseName: `${d.GlueDatabaseName}_shared_${d.shareUri}`.substring(0,254),
+ GlueDatabaseName:
+ `${d.GlueDatabaseName}_shared_${d.shareUri}`.substring(0, 254),
environmentUri: d.environmentUri
}));
}
@@ -187,15 +188,15 @@ const WorksheetView = () => {
const fetchTables = useCallback(
async (environment, dataset) => {
setLoadingTables(true);
- let response = ""
- if (dataset.GlueDatabaseName.includes(dataset.datasetUri+"_shared_")){
+ let response = '';
+ if (dataset.GlueDatabaseName.includes(dataset.datasetUri + '_shared_')) {
response = await client.query(
getSharedDatasetTables({
datasetUri: dataset.datasetUri,
envUri: environment.environmentUri
})
);
- } else{
+ } else {
response = await client.query(
listDatasetTables({
datasetUri: dataset.datasetUri,
@@ -204,25 +205,24 @@ const WorksheetView = () => {
);
}
- if (!response.errors && dataset.GlueDatabaseName.includes(dataset.datasetUri+"_shared_")) {
+ if (
+ !response.errors &&
+ dataset.GlueDatabaseName.includes(dataset.datasetUri + '_shared_')
+ ) {
setTableOptions(
- response.data.getSharedDatasetTables.map((t) => (
- {
- ...t,
- value: t.tableUri,
- label: t.GlueTableName
- }
- ))
+ response.data.getSharedDatasetTables.map((t) => ({
+ ...t,
+ value: t.tableUri,
+ label: t.GlueTableName
+ }))
);
- } else if(!response.errors){
+ } else if (!response.errors) {
setTableOptions(
- response.data.getDataset.tables.nodes.map((t) => (
- {
- ...t,
- value: t.tableUri,
- label: t.GlueTableName
- }
- ))
+ response.data.getDataset.tables.nodes.map((t) => ({
+ ...t,
+ value: t.tableUri,
+ label: t.GlueTableName
+ }))
);
} else {
dispatch({ type: SET_ERROR, error: response.errors[0].message });
@@ -285,9 +285,9 @@ const WorksheetView = () => {
setRunningQuery(true);
const response = await client.query(
runAthenaSqlQuery({
- sqlQuery: sqlBody,
- environmentUri:currentEnv.environmentUri,
- worksheetUri: worksheet.worksheetUri
+ sqlQuery: sqlBody,
+ environmentUri: currentEnv.environmentUri,
+ worksheetUri: worksheet.worksheetUri
})
);
if (!response.errors) {
@@ -357,11 +357,9 @@ const WorksheetView = () => {
setTableOptions([]);
setCurrentTeam('');
setCurrentEnv(event.target.value);
- fetchGroups(
- event.target.value.environmentUri
- ).catch((e) =>
- dispatch({ type: SET_ERROR, error: e.message })
- );
+ fetchGroups(event.target.value.environmentUri).catch((e) =>
+ dispatch({ type: SET_ERROR, error: e.message })
+ );
}
function handleTeamChange(event) {
@@ -372,7 +370,7 @@ const WorksheetView = () => {
setTableOptions([]);
setCurrentTeam(event.target.value);
fetchDatabases(currentEnv, event.target.value).catch((e) =>
- dispatch({ type: SET_ERROR, error: e.message })
+ dispatch({ type: SET_ERROR, error: e.message })
);
}
@@ -482,9 +480,7 @@ const WorksheetView = () => {
}}
>
{groupOptions.map((group) => (
- | | |