1
0
Fork 0
mirror of https://github.com/portainer/portainer.git synced 2025-07-21 06:19:41 +02:00

refactor(containers): migrate create view to react [EE-2307] (#9175)

This commit is contained in:
Chaim Lev-Ari 2023-10-19 13:45:50 +02:00 committed by GitHub
parent bc0050a7b4
commit d970f0e2bc
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
71 changed files with 2612 additions and 1399 deletions

View file

@ -0,0 +1,58 @@
import { object, SchemaOf } from 'yup';
import { useMemo } from 'react';
import { baseFormUtils } from './BaseForm';
import { capabilitiesTabUtils } from './CapabilitiesTab';
import { commandsTabUtils } from './CommandsTab';
import { labelsTabUtils } from './LabelsTab';
import { networkTabUtils } from './NetworkTab';
import { resourcesTabUtils } from './ResourcesTab';
import { restartPolicyTabUtils } from './RestartPolicyTab';
import { volumesTabUtils } from './VolumesTab';
import { envVarsTabUtils } from './EnvVarsTab';
import { Values } from './useInitialValues';
export function useValidation({
isAdmin,
maxCpu,
maxMemory,
isDuplicating,
isDuplicatingPortainer,
isDockerhubRateLimited,
}: {
isAdmin: boolean;
maxCpu: number;
maxMemory: number;
isDuplicating: boolean | undefined;
isDuplicatingPortainer: boolean | undefined;
isDockerhubRateLimited: boolean;
}): SchemaOf<Values> {
return useMemo(
() =>
object({
commands: commandsTabUtils.validation(),
volumes: volumesTabUtils.validation(),
network: networkTabUtils.validation(),
labels: labelsTabUtils.validation(),
restartPolicy: restartPolicyTabUtils.validation(),
resources: resourcesTabUtils.validation({ maxCpu, maxMemory }),
capabilities: capabilitiesTabUtils.validation(),
env: envVarsTabUtils.validation(),
}).concat(
baseFormUtils.validation({
isAdmin,
isDuplicating,
isDuplicatingPortainer,
isDockerhubRateLimited,
})
),
[
isAdmin,
isDockerhubRateLimited,
isDuplicating,
isDuplicatingPortainer,
maxCpu,
maxMemory,
]
);
}