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

refactor(app): migrate remaining form sections [EE-6231] (#10938)
Some checks are pending
ci / build_images (map[arch:amd64 platform:linux]) (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:arm64 platform:linux]) (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-01-11 15:13:28 +13:00 committed by GitHub
parent 0b9cebc685
commit 4e7d1c7088
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
18 changed files with 456 additions and 284 deletions

View file

@ -2,6 +2,7 @@ import { ComponentProps, PropsWithChildren, ReactNode } from 'react';
import clsx from 'clsx';
import { Tooltip } from '@@/Tip/Tooltip';
import { InlineLoader } from '@@/InlineLoader';
import { FormError } from '../FormError';
@ -17,6 +18,8 @@ export interface Props {
errors?: ReactNode;
required?: boolean;
className?: string;
isLoading?: boolean; // whether to show an inline loader, instead of the children
loadingText?: ReactNode; // text to show when isLoading is true
}
export function FormControl({
@ -29,6 +32,8 @@ export function FormControl({
className,
required = false,
setTooltipHtmlMessage,
isLoading = false,
loadingText = 'Loading...',
}: PropsWithChildren<Props>) {
return (
<div
@ -52,7 +57,8 @@ export function FormControl({
</label>
<div className={sizeClassChildren(size)}>
{children}
{isLoading && <InlineLoader>{loadingText}</InlineLoader>}
{!isLoading && children}
{errors && <FormError>{errors}</FormError>}
</div>
</div>