1
0
mirror of https://github.com/OpenNebula/one.git synced 2025-03-29 18:50:08 +03:00

B #6213: Filter datastores when exporting app (#2646)

This commit is contained in:
David 2023-06-22 15:51:34 +02:00 committed by GitHub
parent 0cf2ae9725
commit f3876725bc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 18 additions and 3 deletions

View File

@ -20,7 +20,7 @@ import { useFormContext } from 'react-hook-form'
import { DatastoresTable } from 'client/components/Tables'
import { SCHEMA } from 'client/components/Forms/MarketplaceApp/ExportForm/Steps/DatastoresTable/schema'
import { Step, decodeBase64 } from 'client/utils'
import { T } from 'client/constants'
import { T, DATASTORE_TYPES } from 'client/constants'
export const STEP_ID = 'datastore'
@ -52,6 +52,13 @@ const Content = ({ data, app }) => {
filters: [{ id: 'TYPE', value: isKernelType ? 'FILE' : 'IMAGE' }],
}}
onSelectedRowsChange={handleSelectedRows}
// Filter data by type IMAGE_DS B#6213 when export an app
filter={(dataToFilter) =>
dataToFilter.filter(
(datastore) =>
datastore?.TEMPLATE?.TYPE === DATASTORE_TYPES.IMAGE.value
)
}
/>
)
}

View File

@ -30,13 +30,21 @@ const DEFAULT_DATA_CY = 'datastores'
* @returns {ReactElement} Datastores table
*/
const DatastoresTable = (props) => {
const { rootProps = {}, searchProps = {}, ...rest } = props ?? {}
const {
rootProps = {},
searchProps = {},
filter = (dataToFilter) => dataToFilter,
...rest
} = props ?? {}
rootProps['data-cy'] ??= DEFAULT_DATA_CY
searchProps['data-cy'] ??= `search-${DEFAULT_DATA_CY}`
const { view, getResourceView } = useViews()
const { data = [], isFetching, refetch } = useGetDatastoresQuery()
// Filter data with input funcion called "filter"
const filteredData = filter(data)
const columns = useMemo(
() =>
createColumns({
@ -49,7 +57,7 @@ const DatastoresTable = (props) => {
return (
<EnhancedTable
columns={columns}
data={useMemo(() => data, [data])}
data={useMemo(() => filteredData, [filteredData])}
rootProps={rootProps}
searchProps={searchProps}
refetch={refetch}