diff --git a/public/app/percona/add-instance/components/AddRemoteInstance/AddRemoteInstance.tools.tsx b/public/app/percona/add-instance/components/AddRemoteInstance/AddRemoteInstance.tools.tsx index 08cf6b9886876..c087c2626632e 100644 --- a/public/app/percona/add-instance/components/AddRemoteInstance/AddRemoteInstance.tools.tsx +++ b/public/app/percona/add-instance/components/AddRemoteInstance/AddRemoteInstance.tools.tsx @@ -117,7 +117,7 @@ export const getInstanceData = (instanceType: InstanceAvailableType, credentials remoteInstanceCredentials: { metricsParameters: MetricsParameters.manually, schema: Schema.HTTPS, - pmm_agent_id: "", + pmm_agent_id: '', }, }; diff --git a/public/app/percona/add-instance/components/AddRemoteInstance/FormParts/ExternalServiceConnectionDetails/ExternalServiceConnectionDetails.tsx b/public/app/percona/add-instance/components/AddRemoteInstance/FormParts/ExternalServiceConnectionDetails/ExternalServiceConnectionDetails.tsx index 3c3f7f5cc9f39..59a8703512e3d 100644 --- a/public/app/percona/add-instance/components/AddRemoteInstance/FormParts/ExternalServiceConnectionDetails/ExternalServiceConnectionDetails.tsx +++ b/public/app/percona/add-instance/components/AddRemoteInstance/FormParts/ExternalServiceConnectionDetails/ExternalServiceConnectionDetails.tsx @@ -1,7 +1,7 @@ import React, { FC, useCallback, useEffect, useMemo } from 'react'; import { useStyles2 } from '@grafana/ui'; -import { NodesAgents } from "app/percona/add-instance/components/AddRemoteInstance/FormParts/NodesAgents/NodesAgents"; +import { NodesAgents } from 'app/percona/add-instance/components/AddRemoteInstance/FormParts/NodesAgents/NodesAgents'; import { PasswordInputField } from 'app/percona/shared/components/Form/PasswordInput'; import { RadioButtonGroupField } from 'app/percona/shared/components/Form/RadioButtonGroup'; import { TextInputField } from 'app/percona/shared/components/Form/TextInput'; diff --git a/public/app/percona/add-instance/components/AddRemoteInstance/FormParts/HAProxyConnectionDetails/HAProxyConnectionDetails.tsx b/public/app/percona/add-instance/components/AddRemoteInstance/FormParts/HAProxyConnectionDetails/HAProxyConnectionDetails.tsx index 616b16821f6de..d4f687c9c8678 100644 --- a/public/app/percona/add-instance/components/AddRemoteInstance/FormParts/HAProxyConnectionDetails/HAProxyConnectionDetails.tsx +++ b/public/app/percona/add-instance/components/AddRemoteInstance/FormParts/HAProxyConnectionDetails/HAProxyConnectionDetails.tsx @@ -1,7 +1,7 @@ import React, { FC, useCallback, useMemo } from 'react'; import { useStyles2 } from '@grafana/ui'; -import { NodesAgents } from "app/percona/add-instance/components/AddRemoteInstance/FormParts/NodesAgents/NodesAgents"; +import { NodesAgents } from 'app/percona/add-instance/components/AddRemoteInstance/FormParts/NodesAgents/NodesAgents'; import { PasswordInputField } from 'app/percona/shared/components/Form/PasswordInput'; import { TextInputField } from 'app/percona/shared/components/Form/TextInput'; import Validators from 'app/percona/shared/helpers/validators'; diff --git a/public/app/percona/add-instance/components/AddRemoteInstance/FormParts/MainDetails/MainDetails.tsx b/public/app/percona/add-instance/components/AddRemoteInstance/FormParts/MainDetails/MainDetails.tsx index ba918bf9e59c6..8c073c7b0c5b8 100644 --- a/public/app/percona/add-instance/components/AddRemoteInstance/FormParts/MainDetails/MainDetails.tsx +++ b/public/app/percona/add-instance/components/AddRemoteInstance/FormParts/MainDetails/MainDetails.tsx @@ -1,7 +1,7 @@ import React, { FC, useMemo } from 'react'; import { useStyles2 } from '@grafana/ui'; -import { NodesAgents } from "app/percona/add-instance/components/AddRemoteInstance/FormParts/NodesAgents/NodesAgents"; +import { NodesAgents } from 'app/percona/add-instance/components/AddRemoteInstance/FormParts/NodesAgents/NodesAgents'; import { PasswordInputField } from 'app/percona/shared/components/Form/PasswordInput'; import { TextInputField } from 'app/percona/shared/components/Form/TextInput'; import Validators from 'app/percona/shared/helpers/validators'; diff --git a/public/app/percona/add-instance/components/AddRemoteInstance/FormParts/MongoDBConnectionDetails/MongoDBConnectionDetails.tsx b/public/app/percona/add-instance/components/AddRemoteInstance/FormParts/MongoDBConnectionDetails/MongoDBConnectionDetails.tsx index 0dcb9a22b974c..5aa423d14f7ac 100644 --- a/public/app/percona/add-instance/components/AddRemoteInstance/FormParts/MongoDBConnectionDetails/MongoDBConnectionDetails.tsx +++ b/public/app/percona/add-instance/components/AddRemoteInstance/FormParts/MongoDBConnectionDetails/MongoDBConnectionDetails.tsx @@ -1,7 +1,7 @@ import React, { FC, useMemo } from 'react'; import { useStyles2 } from '@grafana/ui'; -import { NodesAgents } from "app/percona/add-instance/components/AddRemoteInstance/FormParts/NodesAgents/NodesAgents"; +import { NodesAgents } from 'app/percona/add-instance/components/AddRemoteInstance/FormParts/NodesAgents/NodesAgents'; import { PasswordInputField } from 'app/percona/shared/components/Form/PasswordInput'; import { TextInputField } from 'app/percona/shared/components/Form/TextInput'; import Validators from 'app/percona/shared/helpers/validators'; diff --git a/public/app/percona/add-instance/components/AddRemoteInstance/FormParts/MySQLConnectionDetails/MySQLConnectionDetails.tsx b/public/app/percona/add-instance/components/AddRemoteInstance/FormParts/MySQLConnectionDetails/MySQLConnectionDetails.tsx index 33fe24de63379..ac3b5e5d10f4a 100644 --- a/public/app/percona/add-instance/components/AddRemoteInstance/FormParts/MySQLConnectionDetails/MySQLConnectionDetails.tsx +++ b/public/app/percona/add-instance/components/AddRemoteInstance/FormParts/MySQLConnectionDetails/MySQLConnectionDetails.tsx @@ -1,7 +1,7 @@ import React, { FC, useMemo } from 'react'; import { useStyles2 } from '@grafana/ui'; -import { PasswordInputField } from 'app/percona/shared/components/Form/PasswordInput' +import { PasswordInputField } from 'app/percona/shared/components/Form/PasswordInput'; import { TextInputField } from 'app/percona/shared/components/Form/TextInput'; import Validators from 'app/percona/shared/helpers/validators'; import { validators } from 'app/percona/shared/helpers/validatorsForm'; diff --git a/public/app/percona/add-instance/components/AddRemoteInstance/FormParts/NodesAgents/NodesAgents.constants.tsx b/public/app/percona/add-instance/components/AddRemoteInstance/FormParts/NodesAgents/NodesAgents.constants.tsx index 82b230ffd3d9e..e2db02ccf36f2 100644 --- a/public/app/percona/add-instance/components/AddRemoteInstance/FormParts/NodesAgents/NodesAgents.constants.tsx +++ b/public/app/percona/add-instance/components/AddRemoteInstance/FormParts/NodesAgents/NodesAgents.constants.tsx @@ -1,3 +1,3 @@ export const agentTypes = { pmmServer: 'pmm-server', -} +}; diff --git a/public/app/percona/add-instance/components/AddRemoteInstance/FormParts/NodesAgents/NodesAgents.tsx b/public/app/percona/add-instance/components/AddRemoteInstance/FormParts/NodesAgents/NodesAgents.tsx index 866efd963d899..24e08e4b05736 100644 --- a/public/app/percona/add-instance/components/AddRemoteInstance/FormParts/NodesAgents/NodesAgents.tsx +++ b/public/app/percona/add-instance/components/AddRemoteInstance/FormParts/NodesAgents/NodesAgents.tsx @@ -2,7 +2,7 @@ import React, { FC, useCallback, useEffect, useMemo, useState } from 'react'; import { useStyles2 } from '@grafana/ui'; import { getStyles } from 'app/percona/add-instance/components/AddRemoteInstance/FormParts/FormParts.styles'; -import { agentTypes } from "app/percona/add-instance/components/AddRemoteInstance/FormParts/NodesAgents/NodesAgents.constants"; +import { agentTypes } from 'app/percona/add-instance/components/AddRemoteInstance/FormParts/NodesAgents/NodesAgents.constants'; import { NodesAgentsProps } from 'app/percona/add-instance/components/AddRemoteInstance/FormParts/NodesAgents/NodesAgents.types'; import { GET_NODES_CANCEL_TOKEN } from 'app/percona/inventory/Inventory.constants'; import { AgentsOption, Node, NodesOption } from 'app/percona/inventory/Inventory.types'; @@ -24,11 +24,7 @@ export const NodesAgents: FC = ({ form }) => { const [selectedAgent, setSelectedAgent] = useState(); const { nodes } = useSelector(getNodes); - const nodesOptions = useMemo( - (): NodesOption[] => nodesOptionsMapper(nodes), - [nodes] - ); - + const nodesOptions = useMemo((): NodesOption[] => nodesOptionsMapper(nodes), [nodes]); const loadData = useCallback(async () => { try { @@ -45,21 +41,21 @@ export const NodesAgents: FC = ({ form }) => { const setNodeAndAgent = (value: NodesOption) => { setSelectedNode(value); if (value.agents && value.agents.length > 1) { - const pmmServerAgent = value.agents.find(item => item.key === agentTypes.pmmServer) - if(pmmServerAgent) { + const pmmServerAgent = value.agents.find((item) => item.key === agentTypes.pmmServer); + if (pmmServerAgent) { form?.change('pmm_agent_id', pmmServerAgent); } } else if (value.agents && value.agents.length === 1) { form?.change('pmm_agent_id', value.agents[0]); } - if(selectedAgent && selectedAgent.label !== agentTypes.pmmServer) { + if (selectedAgent && selectedAgent.label !== agentTypes.pmmServer) { form?.change('address', 'localhost'); } - } + }; useEffect(() => { - if(nodesOptions.length === 0) { + if (nodesOptions.length === 0) { loadData(); } // eslint-disable-next-line react-hooks/exhaustive-deps @@ -75,7 +71,7 @@ export const NodesAgents: FC = ({ form }) => { name="node" id="nodes-selectbox" data-testid="nodes-selectbox" - onChange={ (event) => setNodeAndAgent(event as NodesOption)} + onChange={(event) => setNodeAndAgent(event as NodesOption)} className={styles.selectField} value={selectedNode} aria-label="Nodes" @@ -89,12 +85,11 @@ export const NodesAgents: FC = ({ form }) => { options={selectedNode?.agents || []} name="pmm_agent_id" data-testid="agents-selectbox" - onChange={ (event) => setSelectedAgent(event as AgentsOption)} + onChange={(event) => setSelectedAgent(event as AgentsOption)} className={styles.selectField} aria-label="Agents" /> ); - -} +}; diff --git a/public/app/percona/add-instance/components/AddRemoteInstance/FormParts/PostgreSQLConnectionDetails/PostgreSQLConnectionDetails.tsx b/public/app/percona/add-instance/components/AddRemoteInstance/FormParts/PostgreSQLConnectionDetails/PostgreSQLConnectionDetails.tsx index 6eb1dd7e82e0b..1ae0318217c47 100644 --- a/public/app/percona/add-instance/components/AddRemoteInstance/FormParts/PostgreSQLConnectionDetails/PostgreSQLConnectionDetails.tsx +++ b/public/app/percona/add-instance/components/AddRemoteInstance/FormParts/PostgreSQLConnectionDetails/PostgreSQLConnectionDetails.tsx @@ -9,7 +9,7 @@ import { validators } from 'app/percona/shared/helpers/validatorsForm'; import { Messages } from '../FormParts.messages'; import { getStyles } from '../FormParts.styles'; import { MainDetailsFormPartProps } from '../FormParts.types'; -import { NodesAgents } from "../NodesAgents/NodesAgents"; +import { NodesAgents } from '../NodesAgents/NodesAgents'; export const PostgreSQLConnectionDetails: FC = ({ form, remoteInstanceCredentials }) => { const styles = useStyles2(getStyles); diff --git a/public/app/percona/inventory/Tabs/Agents.tsx b/public/app/percona/inventory/Tabs/Agents.tsx index fca3defb22433..00136bb89494a 100644 --- a/public/app/percona/inventory/Tabs/Agents.tsx +++ b/public/app/percona/inventory/Tabs/Agents.tsx @@ -61,8 +61,6 @@ export const Agents: FC s.nodeId === nodeId); const flattenAgents = useMemo(() => data.map((value) => ({ type: value.type, ...value.params })), [data]); - - const columns = useMemo( (): Array> => [ { diff --git a/public/app/percona/inventory/Tabs/Nodes.tsx b/public/app/percona/inventory/Tabs/Nodes.tsx index 0f8a8a510edd6..192d4fd8c9bf6 100644 --- a/public/app/percona/inventory/Tabs/Nodes.tsx +++ b/public/app/percona/inventory/Tabs/Nodes.tsx @@ -51,7 +51,7 @@ export const NodesTab = () => { const styles = useStyles2(getStyles); const dispatch = useAppDispatch(); - const mappedNodes: Node[] = useMemo( + const mappedNodes: Node[] = useMemo( (): Node[] => nodeFromDbMapper(nodes).sort((a, b) => a.nodeName.localeCompare(b.nodeName)), [nodes] ); diff --git a/public/app/percona/inventory/__mocks__/Inventory.service.ts b/public/app/percona/inventory/__mocks__/Inventory.service.ts index 7c68b4e9461a9..c5bf669b653a8 100644 --- a/public/app/percona/inventory/__mocks__/Inventory.service.ts +++ b/public/app/percona/inventory/__mocks__/Inventory.service.ts @@ -29,46 +29,46 @@ export const stubs: DBServiceList = { ], }; -const nodesMock =[ - { - node_id: 'pmm-server', - node_type: 'generic', - node_name: 'pmm-server', - machine_id: '', - distro: '', - node_model: '', - container_id: '', - container_name: '', - address: '127.0.0.1', - region: '', - az: '', - custom_labels: {}, - created_at: '2024-08-20T08:05:31.079300Z', - updated_at: '2024-08-20T08:05:31.079300Z', - status: 'STATUS_UP', - agents: [ - { - agent_id: '05af4544-8fd0-4788-b841-89ed6caa9ac1', - agent_type: 'node_exporter', - status: 'AGENT_STATUS_RUNNING', - is_connected: false - }, - { - agent_id: 'pmm-server', - agent_type: 'pmm-agent', - status: '', - is_connected: true - } - ], - services: [ - { - service_id: '291afb9b-2ae0-41d1-a173-f1a138cf1725', - service_type: 'postgresql', - service_name: 'pmm-server-postgresql' - } - ] - } - ]; +const nodesMock = [ + { + node_id: 'pmm-server', + node_type: 'generic', + node_name: 'pmm-server', + machine_id: '', + distro: '', + node_model: '', + container_id: '', + container_name: '', + address: '127.0.0.1', + region: '', + az: '', + custom_labels: {}, + created_at: '2024-08-20T08:05:31.079300Z', + updated_at: '2024-08-20T08:05:31.079300Z', + status: 'STATUS_UP', + agents: [ + { + agent_id: '05af4544-8fd0-4788-b841-89ed6caa9ac1', + agent_type: 'node_exporter', + status: 'AGENT_STATUS_RUNNING', + is_connected: false, + }, + { + agent_id: 'pmm-server', + agent_type: 'pmm-agent', + status: '', + is_connected: true, + }, + ], + services: [ + { + service_id: '291afb9b-2ae0-41d1-a173-f1a138cf1725', + service_type: 'postgresql', + service_name: 'pmm-server-postgresql', + }, + ], + }, +]; export const InventoryService = jest.genMockFromModule( 'app/percona/inventory/Inventory.service' diff --git a/public/app/percona/shared/core/reducers/nodes/nodes.ts b/public/app/percona/shared/core/reducers/nodes/nodes.ts index 91187818c39f0..8c5c7dedf0fec 100644 --- a/public/app/percona/shared/core/reducers/nodes/nodes.ts +++ b/public/app/percona/shared/core/reducers/nodes/nodes.ts @@ -37,8 +37,8 @@ const nodesSlice = createSlice({ export const fetchNodesAction = createAsyncThunk( 'percona/fetchNodes', async (params = {}) => { - const { nodes } = await InventoryService.getNodes(params.token); - return nodes; + const { nodes } = await InventoryService.getNodes(params.token); + return nodes; } ); diff --git a/public/app/percona/shared/core/reducers/nodes/nodes.utils.ts b/public/app/percona/shared/core/reducers/nodes/nodes.utils.ts index 25097f9658556..19817dfd11a8b 100644 --- a/public/app/percona/shared/core/reducers/nodes/nodes.utils.ts +++ b/public/app/percona/shared/core/reducers/nodes/nodes.utils.ts @@ -58,8 +58,8 @@ export const nodeFromDbMapper = (nodeFromDb: NodeDB[]): Node[] => { export const nodesOptionsMapper = (nodeFromDb: NodeDB[]): NodesOption[] => nodeFromDb.map((node) => { const agents = (node.agents || []) - .filter(agent => agent.agent_type === AgentType.pmmAgent) - .map(agent => ({ value: agent.agent_id, label: agent.agent_id, key: agent.agent_type })) + .filter((agent) => agent.agent_type === AgentType.pmmAgent) + .map((agent) => ({ value: agent.agent_id, label: agent.agent_id, key: agent.agent_type })); return { value: node.node_id,