1
0
Fork 0
mirror of https://github.com/portainer/portainer.git synced 2025-07-25 00:09:40 +02:00

fix(input): allow clearing number inputs [EE-6714] (#11186)
Some checks are pending
ci / build_images (map[arch:amd64 platform:linux version:]) (push) Waiting to run
ci / build_images (map[arch:amd64 platform:windows version:1809]) (push) Waiting to run
ci / build_images (map[arch:amd64 platform:windows version:ltsc2022]) (push) Waiting to run
ci / build_images (map[arch:arm platform:linux version:]) (push) Waiting to run
ci / build_images (map[arch:arm64 platform:linux version:]) (push) Waiting to run
ci / build_images (map[arch:ppc64le platform:linux version:]) (push) Waiting to run
ci / build_images (map[arch:s390x platform:linux version:]) (push) Waiting to run
ci / build_manifests (push) Blocked by required conditions
/ triage (push) Waiting to run
Lint / Run linters (push) Waiting to run
Test / test-client (push) Waiting to run
Test / test-server (map[arch:amd64 platform:linux]) (push) Waiting to run
Test / test-server (map[arch:amd64 platform:windows version:1809]) (push) Waiting to run
Test / test-server (map[arch:amd64 platform:windows version:ltsc2022]) (push) Waiting to run
Test / test-server (map[arch:arm64 platform:linux]) (push) Waiting to run

This commit is contained in:
Ali 2024-02-21 10:43:35 +13:00 committed by GitHub
parent a2a2c6cf3e
commit 0c05539dee
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
11 changed files with 60 additions and 29 deletions

View file

@ -64,7 +64,7 @@ export function AutoScalingFormSection({
onChange={(e) =>
onChange({
...values,
minReplicas: Number(e.target.value) || 0,
minReplicas: e.target.valueAsNumber,
})
}
data-cy="k8sAppCreate-autoScaleMin"
@ -83,7 +83,7 @@ export function AutoScalingFormSection({
onChange={(e) =>
onChange({
...values,
maxReplicas: Number(e.target.value) || 1,
maxReplicas: e.target.valueAsNumber,
})
}
data-cy="k8sAppCreate-autoScaleMax"
@ -107,7 +107,7 @@ export function AutoScalingFormSection({
onChange={(e) =>
onChange({
...values,
targetCpuUtilizationPercentage: Number(e.target.value) || 1,
targetCpuUtilizationPercentage: e.target.valueAsNumber,
})
}
data-cy="k8sAppCreate-targetCPUInput"

View file

@ -4,7 +4,6 @@ import { round } from 'lodash';
import { FormControl } from '@@/form-components/FormControl';
import { Input } from '@@/form-components/Input';
import { TextTip } from '@@/Tip/TextTip';
import { FormError } from '@@/form-components/FormError';
import { ReplicaCountFormValues } from './types';
@ -31,16 +30,18 @@ export function ReplicationFormSection({
return (
<>
<FormControl label="Instance count" required>
<FormControl
label="Instance count"
required
errors={errors?.replicaCount}
>
<Input
type="number"
min="0"
max="9999"
value={values.replicaCount}
disabled={!supportScalableReplicaDeployment}
onChange={(e) =>
onChange({ replicaCount: e.target.valueAsNumber || 0 })
}
onChange={(e) => onChange({ replicaCount: e.target.valueAsNumber })}
className="w-1/4"
data-cy="k8sAppCreate-replicaCountInput"
/>
@ -54,7 +55,6 @@ export function ReplicationFormSection({
<b>{memoryLimit * values.replicaCount} MB</b> of memory.
</TextTip>
)}
{errors?.replicaCount && <FormError>{errors.replicaCount}</FormError>}
</>
);
}

View file

@ -1,4 +1,6 @@
import { SchemaOf, number, object } from 'yup';
import { SchemaOf, object } from 'yup';
import { nanNumberSchema } from '@/react-tools/yup-schemas';
import { ReplicaCountFormValues } from './types';
@ -19,7 +21,7 @@ export function replicationValidation(
supportScalableReplicaDeployment,
} = validationData || {};
return object({
replicaCount: number()
replicaCount: nanNumberSchema('Instance count is required')
.min(0, 'Instance count must be greater than or equal to 0.')
.test(
'overflow',

View file

@ -1,6 +1,7 @@
import { SchemaOf, TestContext, number, object } from 'yup';
import KubernetesResourceReservationHelper from '@/kubernetes/helpers/resourceReservationHelper';
import { nanNumberSchema } from '@/react-tools/yup-schemas';
import { ResourceQuotaFormValues } from './types';
@ -22,8 +23,8 @@ export function resourceReservationValidation(
validationData?: ValidationData
): SchemaOf<ResourceQuotaFormValues> {
return object().shape({
memoryLimit: number()
.min(0)
memoryLimit: nanNumberSchema()
.min(0, 'Value must be greater than or equal to 0')
.test(
'exhaused',
`The memory capacity for this namespace has been exhausted, so you cannot deploy the application.${