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

fix(ui/datatables): make empty table label consistent [EE-6499] (#11612)

This commit is contained in:
Chaim Lev-Ari 2024-06-02 12:29:20 +03:00 committed by GitHub
parent 02fbdfec36
commit b7cde35c3d
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
56 changed files with 45 additions and 93 deletions

View file

@ -180,8 +180,8 @@ function InnerForm({
values={values.ingressClasses}
initialValues={initialValues.ingressClasses}
isLoading={isIngressClassesLoading}
noIngressControllerLabel="No supported ingress controllers found."
view="cluster"
noIngressControllerLabel="No supported ingress controllers found."
/>
<div className="form-group">
<div className="col-sm-12">

View file

@ -53,7 +53,6 @@ export function NodesDatatable() {
kubernetesEndpointsQuery.isLoading ||
environmentQuery.isLoading
}
emptyContentLabel="No Nodes found"
title="Nodes"
titleIcon={HardDrive}
getRowId={(row) => row.metadata?.uid ?? ''}

View file

@ -35,7 +35,6 @@ export function AccessTable({
titleIcon={UserX}
dataset={dataset}
columns={columns}
emptyContentLabel="No namespace has been authorized yet."
settingsManager={tableState}
renderTableActions={(selectedItems) => (
<DeleteButton

View file

@ -23,7 +23,7 @@ interface Props {
initialValues: IngressControllerClassMap[] | undefined;
isLoading: boolean;
noIngressControllerLabel: string;
view: string;
view: 'namespace' | 'cluster';
}
export function IngressClassDatatable({
@ -44,7 +44,6 @@ export function IngressClassDatatable({
dataset={values || []}
columns={columns}
isLoading={isLoading}
emptyContentLabel={noIngressControllerLabel}
title="Ingress Controllers"
titleIcon={Route}
getRowId={(row) => `${row.Name}-${row.ClassName}-${row.Type}`}
@ -94,11 +93,18 @@ export function IngressClassDatatable({
function renderIngressClassDescription() {
return (
<div className="text-muted flex w-full flex-col !text-xs">
<div className="mt-1">{description}</div>
{initialValues && values && isUnsavedChanges(initialValues, values) && (
<TextTip>Unsaved changes.</TextTip>
<div className="flex flex-col gap-3">
{!isLoading && values && values.length === 0 && (
<TextTip>{noIngressControllerLabel}</TextTip>
)}
<div className="text-muted flex w-full flex-col !text-xs">
<div className="mt-1">{description}</div>
{initialValues &&
values &&
isUnsavedChanges(initialValues, values) && (
<TextTip>Unsaved changes.</TextTip>
)}
</div>
</div>
);
}

View file

@ -27,7 +27,6 @@ interface Props {
initialIngressControllers: IngressControllerClassMap[] | undefined;
allowNoneIngressClass: boolean;
isLoading: boolean;
noIngressControllerLabel: string;
view: string;
}
@ -40,7 +39,6 @@ export function IngressClassDatatableAngular({
ingressControllers,
allowNoneIngressClass,
isLoading,
noIngressControllerLabel,
view,
}: Props) {
const tableState = useTableState(settingsStore, storageKey);
@ -99,7 +97,6 @@ export function IngressClassDatatableAngular({
dataset={ingControllerFormValues || []}
columns={columns}
isLoading={isLoading}
emptyContentLabel={noIngressControllerLabel}
title="Ingress Controllers"
titleIcon={Route}
getRowId={(row) => `${row.Name}-${row.ClassName}-${row.Type}`}