summaryrefslogtreecommitdiff
path: root/opendc-web/opendc-web-ui/src/components/projects/PortfolioTable.js
diff options
context:
space:
mode:
authormjkwiatkowski <mati.rewa@gmail.com>2026-02-16 15:18:21 +0100
committermjkwiatkowski <mati.rewa@gmail.com>2026-02-16 15:18:21 +0100
commit2f16cb0f48eca4453e3e894b3d45a3aa09e6dcc0 (patch)
tree672d98baa2ac071f2c30de06d613254d0d8cd105 /opendc-web/opendc-web-ui/src/components/projects/PortfolioTable.js
parent86d35fcec83057e346e4982b5a6908f25342a392 (diff)
feat: opendc -> kafka -> postgresql works; added protobuf encodingHEADmaster
Diffstat (limited to 'opendc-web/opendc-web-ui/src/components/projects/PortfolioTable.js')
-rw-r--r--opendc-web/opendc-web-ui/src/components/projects/PortfolioTable.js99
1 files changed, 0 insertions, 99 deletions
diff --git a/opendc-web/opendc-web-ui/src/components/projects/PortfolioTable.js b/opendc-web/opendc-web-ui/src/components/projects/PortfolioTable.js
deleted file mode 100644
index 0afeaeaf..00000000
--- a/opendc-web/opendc-web-ui/src/components/projects/PortfolioTable.js
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * Copyright (c) 2021 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-import { Bullseye } from '@patternfly/react-core'
-import PropTypes from 'prop-types'
-import Link from 'next/link'
-import { TableComposable, Thead, Tbody, Tr, Th, Td, ActionsColumn } from '@patternfly/react-table'
-import React from 'react'
-import TableEmptyState from '../util/TableEmptyState'
-import { usePortfolios, useDeletePortfolio } from '../../data/project'
-
-function PortfolioTable({ projectId }) {
- const { status, data: portfolios = [] } = usePortfolios(projectId)
- const { mutate: deletePortfolio } = useDeletePortfolio()
-
- const actions = (portfolio) => [
- {
- title: 'Delete Portfolio',
- onClick: () => deletePortfolio({ projectId, number: portfolio.number }),
- },
- ]
-
- return (
- <TableComposable aria-label="Portfolio List" variant="compact">
- <Thead>
- <Tr>
- <Th>Name</Th>
- <Th>Scenarios</Th>
- <Th>Metrics</Th>
- <Th>Repeats</Th>
- </Tr>
- </Thead>
- <Tbody>
- {portfolios.map((portfolio) => (
- <Tr key={portfolio.id}>
- <Td dataLabel="Name">
- <Link href={`/projects/${projectId}/portfolios/${portfolio.number}`}>{portfolio.name}</Link>
- </Td>
- <Td dataLabel="Scenarios">
- {portfolio.scenarios.length === 1
- ? '1 scenario'
- : `${portfolio.scenarios.length} scenarios`}
- </Td>
- <Td dataLabel="Metrics">
- {portfolio.targets.metrics.length === 1
- ? '1 metric'
- : `${portfolio.targets.metrics.length} metrics`}
- </Td>
- <Td dataLabel="Repeats">
- {portfolio.targets.repeats === 1 ? '1 repeat' : `${portfolio.targets.repeats} repeats`}
- </Td>
- <Td isActionCell>
- <ActionsColumn items={actions(portfolio)} />
- </Td>
- </Tr>
- ))}
- {portfolios.length === 0 && (
- <Tr>
- <Td colSpan={4}>
- <Bullseye>
- <TableEmptyState
- status={status}
- loadingTitle="Loading portfolios"
- emptyTitle="No portfolios"
- emptyText="You have not created any portfolio for this project yet. Click the New Portfolio button to create one."
- />
- </Bullseye>
- </Td>
- </Tr>
- )}
- </Tbody>
- </TableComposable>
- )
-}
-
-PortfolioTable.propTypes = {
- projectId: PropTypes.number,
-}
-
-export default PortfolioTable