Fix SonarQube issues

This commit is contained in:
Aditya Toshniwal 2024-02-22 16:54:20 +05:30
parent 125d36e7d2
commit 29e85a6b06
26 changed files with 74 additions and 141 deletions

View File

@ -11,7 +11,6 @@ import gettext from 'sources/gettext';
import url_for from 'sources/url_for';
import React, { useEffect, useState, useRef } from 'react';
import { Box, Grid, InputLabel } from '@material-ui/core';
import PropTypes from 'prop-types';
import { DefaultButton } from '../../../static/js/components/Buttons';
import { makeStyles } from '@material-ui/styles';
import { InputText } from '../../../static/js/components/FormComponents';
@ -149,8 +148,4 @@ export default function AboutComponent() {
}
</Box>
);
}
AboutComponent.propTypes = {
closeModal: PropTypes.func
};
}

View File

@ -239,7 +239,6 @@ export default function CPU({preferences, sid, did, pageVisible, enablePoll=true
showTooltip={preferences['graph_mouse_track']}
showDataPoints={preferences['graph_data_points']}
lineBorderWidth={preferences['graph_line_border_width']}
isDatabase={did > 0}
isTest={false}
/>
}
@ -308,6 +307,5 @@ CPUWrapper.propTypes = {
showTooltip: PropTypes.bool.isRequired,
showDataPoints: PropTypes.bool.isRequired,
lineBorderWidth: PropTypes.number.isRequired,
isDatabase: PropTypes.bool.isRequired,
isTest: PropTypes.bool,
};

View File

@ -241,7 +241,6 @@ export default function Memory({preferences, sid, did, pageVisible, enablePoll=t
showTooltip={preferences['graph_mouse_track']}
showDataPoints={preferences['graph_data_points']}
lineBorderWidth={preferences['graph_line_border_width']}
isDatabase={did > 0}
isTest={false}
/>
}
@ -313,6 +312,5 @@ MemoryWrapper.propTypes = {
showTooltip: PropTypes.bool.isRequired,
showDataPoints: PropTypes.bool.isRequired,
lineBorderWidth: PropTypes.number.isRequired,
isDatabase: PropTypes.bool.isRequired,
isTest: PropTypes.bool,
};

View File

@ -392,7 +392,6 @@ export default function Storage({preferences, sid, did, pageVisible, enablePoll=
showTooltip={preferences['graph_mouse_track']}
showDataPoints={preferences['graph_data_points']}
lineBorderWidth={preferences['graph_line_border_width']}
isDatabase={did > 0}
isTest={false}
/>
}
@ -565,6 +564,5 @@ StorageWrapper.propTypes = {
showTooltip: PropTypes.bool.isRequired,
showDataPoints: PropTypes.bool.isRequired,
lineBorderWidth: PropTypes.number.isRequired,
isDatabase: PropTypes.bool.isRequired,
isTest: PropTypes.bool,
};

View File

@ -92,23 +92,6 @@ export default function Summary({preferences, sid, did, pageVisible, enablePoll=
const [errorMsg, setErrorMsg] = useState(null);
const [chartDrawnOnce, setChartDrawnOnce] = useState(false);
const tableHeader = [
{
Header: gettext('Property'),
accessor: 'name',
sortable: true,
resizable: true,
disableGlobalFilter: false,
},
{
Header: gettext('Value'),
accessor: 'value',
sortable: true,
resizable: true,
disableGlobalFilter: false,
},
];
useEffect(()=>{
let calcPollDelay = false;
if(prevPrefernces) {
@ -256,12 +239,10 @@ export default function Summary({preferences, sid, did, pageVisible, enablePoll=
processHandleCount={transformData(processHandleCount, preferences['hpc_stats_refresh'])}
osStats={osStats}
cpuStats={cpuStats}
tableHeader={tableHeader}
errorMsg={errorMsg}
showTooltip={preferences['graph_mouse_track']}
showDataPoints={preferences['graph_data_points']}
lineBorderWidth={preferences['graph_line_border_width']}
isDatabase={did > 0}
isTest={false}
/>
}
@ -317,11 +298,9 @@ SummaryWrapper.propTypes = {
processHandleCount: PropTypes.any.isRequired,
osStats: PropTypes.any.isRequired,
cpuStats: PropTypes.any.isRequired,
tableHeader: PropTypes.any.isRequired,
errorMsg: PropTypes.any,
showTooltip: PropTypes.bool,
showDataPoints: PropTypes.bool,
lineBorderWidth: PropTypes.number,
isDatabase: PropTypes.bool,
isTest: PropTypes.bool,
};

View File

@ -192,8 +192,5 @@ export default function ProcessDetails({data}) {
}
ProcessDetails.propTypes = {
closeModal: PropTypes.func,
data: PropTypes.object,
onOK: PropTypes.func,
setHeight: PropTypes.func
};

View File

@ -111,9 +111,6 @@ export default function Processes() {
<ErrorBoundary>
<ProcessDetails
data={p}
closeModal={()=>{
pgAdmin.Browser.docker.close(panelId);
}}
/>
</ErrorBoundary>
)
@ -121,8 +118,58 @@ export default function Processes() {
}, []);
const columns = useMemo(()=>[
{
const columns = useMemo(()=>{
const cellPropTypes = {
row: PropTypes.any,
};
const CancelCell = ({ row }) => {
return (
<PgIconButton
size="xs"
noBorder
icon={<CancelIcon />}
className={classes.stopButton}
disabled={row.original.process_state != BgProcessManagerProcessState.PROCESS_STARTED
|| row.original.server_id != null}
onClick={(e) => {
e.preventDefault();
pgAdmin.Browser.BgProcessManager.stopProcess(row.original.id);
}}
aria-label="Stop Process"
title={gettext('Stop Process')}
></PgIconButton>
);
};
CancelCell.displayName = 'CancelCell';
CancelCell.propTypes = cellPropTypes;
const LogsCell = ({ row }) => {
return (
<PgIconButton
size="xs"
icon={<DescriptionOutlinedIcon />}
noBorder
onClick={(e) => {
e.preventDefault();
onViewDetailsClick(row.original);
}}
aria-label="View details"
title={gettext('View details')}
/>
);
};
LogsCell.displayName = 'LogsCell';
LogsCell.propTypes = cellPropTypes;
const StatusCell = ({row})=>{
const [text, bgcolor] = ProcessStateTextAndColor[row.original.process_state];
return <Box className={classes[bgcolor]}>{text}</Box>;
};
StatusCell.displayName = 'StatusCell';
StatusCell.propTypes = cellPropTypes;
return [{
accessor: 'stop_process',
Header: () => null,
sortable: false,
@ -132,25 +179,7 @@ export default function Processes() {
maxWidth: 35,
minWidth: 35,
id: 'btn-stop',
// eslint-disable-next-line react/display-name
Cell: ({ row }) => {
return (
<PgIconButton
size="xs"
noBorder
icon={<CancelIcon />}
className={classes.stopButton}
disabled={row.original.process_state != BgProcessManagerProcessState.PROCESS_STARTED
|| row.original.server_id != null}
onClick={(e) => {
e.preventDefault();
pgAdmin.Browser.BgProcessManager.stopProcess(row.original.id);
}}
aria-label="Stop Process"
title={gettext('Stop Process')}
></PgIconButton>
);
},
Cell: CancelCell,
},
{
accessor: 'view_details',
@ -162,22 +191,7 @@ export default function Processes() {
maxWidth: 35,
minWidth: 35,
id: 'btn-logs',
// eslint-disable-next-line react/display-name
Cell: ({ row }) => {
return (
<PgIconButton
size="xs"
icon={<DescriptionOutlinedIcon />}
noBorder
onClick={(e) => {
e.preventDefault();
onViewDetailsClick(row.original);
}}
aria-label="View details"
title={gettext('View details')}
/>
);
},
Cell: LogsCell,
},
{
Header: gettext('PID'),
@ -235,10 +249,7 @@ export default function Processes() {
minWidth: 120,
accessor: (row)=>ProcessStateTextAndColor[row.process_state][0],
dataClassName: classes.noPadding,
Cell: ({row})=>{
const [text, bgcolor] = ProcessStateTextAndColor[row.original.process_state];
return <Box className={classes[bgcolor]}>{text}</Box>;
},
Cell: StatusCell,
},
{
Header: gettext('Time Taken (sec)'),
@ -246,8 +257,8 @@ export default function Processes() {
sortable: true,
resizable: true,
disableGlobalFilter: true,
},
], []);
}];
}, []);
const updateList = ()=>{
if(pgAdmin.Browser.BgProcessManager.procList) {
@ -310,12 +321,3 @@ export default function Processes() {
</>
);
}
Processes.propTypes = {
res: PropTypes.array,
nodeData: PropTypes.object,
treeNodeInfo: PropTypes.object,
node: PropTypes.func,
item: PropTypes.object,
row: PropTypes.object,
};

View File

@ -461,10 +461,10 @@ export default function CloudWizard({ nodeInfo, nodeData, onClose, cloudPanelId}
{cloudProvider == CLOUD_PROVIDERS.AWS && <AwsCredentials cloudProvider={cloudProvider} nodeInfo={nodeInfo} nodeData={nodeData} setCloudDBCred={setCloudDBCred}/>}
{ cloudProvider == CLOUD_PROVIDERS.AZURE &&
<Box flexGrow={1}>
<AzureCredentials cloudProvider={cloudProvider} nodeInfo={nodeInfo} nodeData={nodeData} setAzureCredData={setAzureCredData}/>
<AzureCredentials cloudProvider={cloudProvider} setAzureCredData={setAzureCredData}/>
</Box>}
<Box flexGrow={1}>
{cloudProvider == CLOUD_PROVIDERS.GOOGLE && <GoogleCredentials cloudProvider={cloudProvider} nodeInfo={nodeInfo} nodeData={nodeData} setGoogleCredData={setGoogleCredData}/>}
{cloudProvider == CLOUD_PROVIDERS.GOOGLE && <GoogleCredentials cloudProvider={cloudProvider} setGoogleCredData={setGoogleCredData}/>}
</Box>
<FormFooterMessage type={errMsg[0]} message={errMsg[1]} onClose={onErrClose} />
</WizardStep>
@ -582,6 +582,5 @@ CloudWizard.propTypes = {
nodeInfo: PropTypes.object,
nodeData: PropTypes.object,
onClose: PropTypes.func,
cloudPanel: PropTypes.object,
cloudPanelId: PropTypes.string,
};

View File

@ -103,8 +103,6 @@ export function AzureCredentials(props) {
/>;
}
AzureCredentials.propTypes = {
nodeInfo: PropTypes.object,
nodeData: PropTypes.object,
cloudProvider: PropTypes.string,
setAzureCredData: PropTypes.func
};
@ -206,7 +204,6 @@ AzureInstanceDetails.propTypes = {
cloudProvider: PropTypes.string,
setAzureInstanceData: PropTypes.func,
hostIP: PropTypes.string,
subscriptions: PropTypes.array,
azureInstanceData: PropTypes.object
};

View File

@ -119,8 +119,6 @@ export function GoogleCredentials(props) {
/>;
}
GoogleCredentials.propTypes = {
nodeInfo: PropTypes.object,
nodeData: PropTypes.object,
cloudProvider: PropTypes.string,
setGoogleCredData: PropTypes.func
};
@ -197,7 +195,6 @@ GoogleInstanceDetails.propTypes = {
cloudProvider: PropTypes.string,
setGoogleInstanceData: PropTypes.func,
hostIP: PropTypes.string,
subscriptions: PropTypes.array,
googleInstanceData: PropTypes.object
};

View File

@ -181,7 +181,6 @@ function Dependencies({ nodeData, nodeItem, node, treeNodeInfo, isActive, isStal
}
Dependencies.propTypes = {
res: PropTypes.array,
nodeData: PropTypes.object,
treeNodeInfo: PropTypes.object,
node: PropTypes.func,

View File

@ -185,7 +185,6 @@ function Dependents({ nodeData, nodeItem, node, treeNodeInfo, isActive, isStale,
}
Dependents.propTypes = {
res: PropTypes.array,
nodeData: PropTypes.object,
treeNodeInfo: PropTypes.object,
node: PropTypes.func,

View File

@ -215,6 +215,14 @@ export default function CollectionNodeProperties({
schemaRef.current?.fields.forEach((field) => {
if (node.columns.indexOf(field.id) > -1) {
if (field.label.indexOf('?') > -1) {
const Cell = ({value})=>{
return <Switch color="primary" checked={value} className={classes.readOnlySwitch} value={value} readOnly title={String(value)} />;
};
Cell.displayName = 'StatusCell';
Cell.propTypes = {
value: PropTypes.any,
};
column = {
Header: field.label,
accessor: field.id,
@ -222,10 +230,7 @@ export default function CollectionNodeProperties({
resizable: true,
disableGlobalFilter: false,
minWidth: 0,
// eslint-disable-next-line react/display-name
Cell: ({ value }) => {
return (<Switch color="primary" checked={value} className={classes.readOnlySwitch} value={value} readOnly title={String(value)} />);
}
Cell: Cell
};
} else {
column = {
@ -359,16 +364,9 @@ export default function CollectionNodeProperties({
CollectionNodeProperties.propTypes = {
node: PropTypes.func,
itemData: PropTypes.object,
nodeData: PropTypes.object,
treeNodeInfo: PropTypes.object,
nodeItem: PropTypes.object,
preferences: PropTypes.object,
sid: PropTypes.number,
did: PropTypes.number,
row: PropTypes.object,
serverConnected: PropTypes.bool,
value: PropTypes.bool,
isActive: PropTypes.bool,
isStale: PropTypes.bool,
setIsStale: PropTypes.func,

View File

@ -105,12 +105,9 @@ function SQL({nodeData, node, treeNodeInfo, isActive, isStale, setIsStale}) {
}
SQL.propTypes = {
res: PropTypes.array,
nodeData: PropTypes.object,
treeNodeInfo: PropTypes.object,
node: PropTypes.func,
dbConnected: PropTypes.bool,
did: PropTypes.number,
isActive: PropTypes.bool,
isStale: PropTypes.bool,
setIsStale: PropTypes.func,

View File

@ -89,8 +89,11 @@ function getColumn(data, singleLineStatistics, prettifyFields=[]) {
columns.forEach((c)=>{
// Prettify the cell view
if(prettifyFields.includes(c.Header)) {
// eslint-disable-next-line react/display-name,react/prop-types
c.Cell = ({value})=><>{toPrettySize(value)}</>;
c.Cell.displayName = 'Cell';
c.Cell.propTypes = {
value: PropTypes.any,
};
}
});
return columns;
@ -249,7 +252,6 @@ function Statistics({ nodeData, nodeItem, node, treeNodeInfo, isActive, isStale,
}
Statistics.propTypes = {
res: PropTypes.array,
nodeData: PropTypes.object,
nodeItem: PropTypes.object,
treeNodeInfo: PropTypes.object,

View File

@ -80,7 +80,6 @@ export default function ChangeOwnershipContent({onSave, onClose, deletedUser, us
ChangeOwnershipContent.propTypes = {
onSave: PropTypes.func,
onClose: PropTypes.func,
currentUser: PropTypes.string,
userList: PropTypes.array,
noOfSharedServers: PropTypes.number,
deletedUser: PropTypes.string

View File

@ -102,8 +102,6 @@ export default function ChangePasswordContent({getInitData=() => { /*This is int
ChangePasswordContent.propTypes = {
onSave: PropTypes.func,
onClose: PropTypes.func,
userName: PropTypes.string,
isPgpassFileUsed: PropTypes.bool,
getInitData: PropTypes.func,
hasCsrfToken: PropTypes.bool,
showUser: PropTypes.bool

View File

@ -84,7 +84,6 @@ export default function NamedRestoreContent({closeModal, onOK, setHeight}) {
NamedRestoreContent.propTypes = {
closeModal: PropTypes.func,
data: PropTypes.object,
onOK: PropTypes.func,
setHeight: PropTypes.func
};

View File

@ -128,7 +128,6 @@ export default function KeyboardShortcuts({ value, onChange, fields, title }) {
KeyboardShortcuts.propTypes = {
value: PropTypes.object,
onChange: PropTypes.func,
controlProps: PropTypes.object,
fields: PropTypes.array,
title: PropTypes.string
};

View File

@ -3,7 +3,6 @@ import React, { useState, useEffect } from 'react';
import AccountTreeIcon from '@material-ui/icons/AccountTree';
import CommentIcon from '@material-ui/icons/Comment';
import ArrowForwardIosRoundedIcon from '@material-ui/icons/ArrowForwardIosRounded';
import PropTypes from 'prop-types';
import { usePgAdmin } from '../../../static/js/BrowserComponent';
import usePreferences from '../../../preferences/static/js/store';
@ -88,8 +87,4 @@ export default function ObjectBreadcrumbs() {
</Box>
</>
);
}
ObjectBreadcrumbs.propTypes = {
pgAdmin: PropTypes.object,
};
}

View File

@ -199,5 +199,4 @@ FindDialog.propTypes = {
show: PropTypes.bool,
replace: PropTypes.bool,
onClose: PropTypes.func,
selFindVal: PropTypes.string,
};

View File

@ -89,7 +89,5 @@ export default function GotoDialog({editor, show, onClose}) {
GotoDialog.propTypes = {
editor: PropTypes.object,
show: PropTypes.bool,
replace: PropTypes.bool,
onClose: PropTypes.func,
selFindVal: PropTypes.string,
};

View File

@ -316,7 +316,6 @@ ModalContainer.propTypes = {
title: CustomPropTypes.children,
content: PropTypes.func,
fullScreen: PropTypes.bool,
maxWidth: PropTypes.string,
isFullWidth: PropTypes.bool,
showFullScreen: PropTypes.bool,
isResizeable: PropTypes.bool,

View File

@ -771,8 +771,4 @@ ResultGridComponent.propTypes = {
transId: PropTypes.number,
sourceData: PropTypes.object,
targetData: PropTypes.object,
'sourceData.sid': PropTypes.number,
'sourceData.did': PropTypes.number,
'targetData.sid': PropTypes.number,
'targetData.did': PropTypes.number,
};

View File

@ -810,6 +810,4 @@ export function SchemaDiffCompare({ params }) {
SchemaDiffCompare.propTypes = {
params: PropTypes.object,
'params.transId': PropTypes.number,
};

View File

@ -25,7 +25,6 @@ import { useKeyboardShortcuts } from '../../../../../../static/js/custom_hooks';
import {shortcut_key} from 'sources/keyboard_shortcuts';
import CopyData from '../QueryToolDataGrid/CopyData';
import PropTypes from 'prop-types';
import CustomPropTypes from '../../../../../../static/js/custom_prop_types';
const useStyles = makeStyles((theme)=>({
root: {
@ -204,7 +203,6 @@ export function ResultSetToolbar({canEdit, totalRowCount}) {
}
ResultSetToolbar.propTypes = {
containerRef: CustomPropTypes.ref,
canEdit: PropTypes.bool,
totalRowCount: PropTypes.number,
};