mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
Remove legacyStore for ingresses
Signed-off-by: Sebastian Malton <sebastian@malton.name>
This commit is contained in:
parent
382d8b9446
commit
7c5aa6a42f
@ -32,85 +32,86 @@ interface Dependencies {
|
|||||||
filterByNamespace: FilterByNamespace;
|
filterByNamespace: FilterByNamespace;
|
||||||
}
|
}
|
||||||
|
|
||||||
@observer
|
const NonInjectedIngresses = observer((props: Dependencies) => {
|
||||||
class NonInjectedIngresses extends React.Component<Dependencies> {
|
const {
|
||||||
render() {
|
ingressStore,
|
||||||
return (
|
filterByNamespace,
|
||||||
<SiblingsInTabLayout>
|
} = props;
|
||||||
<KubeObjectListLayout
|
|
||||||
isConfigurable
|
|
||||||
tableId="network_ingresses"
|
|
||||||
className="Ingresses"
|
|
||||||
store={this.props.ingressStore}
|
|
||||||
sortingCallbacks={{
|
|
||||||
[columnId.name]: ingress => ingress.getName(),
|
|
||||||
[columnId.namespace]: ingress => ingress.getNs(),
|
|
||||||
[columnId.age]: ingress => -ingress.getCreationTimestamp(),
|
|
||||||
}}
|
|
||||||
searchFilters={[
|
|
||||||
ingress => ingress.getSearchFields(),
|
|
||||||
ingress => ingress.getPorts(),
|
|
||||||
]}
|
|
||||||
renderHeaderTitle="Ingresses"
|
|
||||||
renderTableHeader={[
|
|
||||||
{ title: "Name", className: "name", sortBy: columnId.name, id: columnId.name },
|
|
||||||
{ className: "warning", showWithColumn: columnId.name },
|
|
||||||
{ title: "Namespace", className: "namespace", sortBy: columnId.namespace, id: columnId.namespace },
|
|
||||||
{ title: "LoadBalancers", className: "loadbalancers", id: columnId.loadBalancers },
|
|
||||||
{ title: "Rules", className: "rules", id: columnId.rules },
|
|
||||||
{ title: "Age", className: "age", sortBy: columnId.age, id: columnId.age },
|
|
||||||
]}
|
|
||||||
renderTableContents={ingress => [
|
|
||||||
ingress.getName(),
|
|
||||||
<KubeObjectStatusIcon key="icon" object={ingress} />,
|
|
||||||
<a
|
|
||||||
key="namespace"
|
|
||||||
className="filterNamespace"
|
|
||||||
onClick={prevDefault(() => this.props.filterByNamespace(ingress.getNs()))}
|
|
||||||
>
|
|
||||||
{ingress.getNs()}
|
|
||||||
</a>,
|
|
||||||
ingress.getLoadBalancers().map(lb => <p key={lb}>{lb}</p>),
|
|
||||||
computeRouteDeclarations(ingress).map(decl => (
|
|
||||||
decl.displayAsLink
|
|
||||||
? (
|
|
||||||
<div key={decl.url} className="ingressRule">
|
|
||||||
<a
|
|
||||||
href={decl.url}
|
|
||||||
rel="noreferrer"
|
|
||||||
target="_blank"
|
|
||||||
onClick={e => e.stopPropagation()}
|
|
||||||
>
|
|
||||||
{decl.url}
|
|
||||||
</a>
|
|
||||||
{` ⇢ ${decl.service}`}
|
|
||||||
</div>
|
|
||||||
)
|
|
||||||
: (
|
|
||||||
<div key={decl.url} className="ingressRule">
|
|
||||||
{`${decl.url} ⇢ ${decl.service}`}
|
|
||||||
</div>
|
|
||||||
)
|
|
||||||
)),
|
|
||||||
<KubeObjectAge key="age" object={ingress} />,
|
|
||||||
]}
|
|
||||||
tableProps={{
|
|
||||||
customRowHeights: (item, lineHeight, paddings) => {
|
|
||||||
const lines = item.getRoutes().length || 1;
|
|
||||||
|
|
||||||
return lines * lineHeight + paddings;
|
return (
|
||||||
},
|
<SiblingsInTabLayout>
|
||||||
}}
|
<KubeObjectListLayout
|
||||||
/>
|
isConfigurable
|
||||||
</SiblingsInTabLayout>
|
tableId="network_ingresses"
|
||||||
);
|
className="Ingresses"
|
||||||
}
|
store={ ingressStore }
|
||||||
}
|
sortingCallbacks={ {
|
||||||
|
[columnId.name]: ingress => ingress.getName(),
|
||||||
|
[columnId.namespace]: ingress => ingress.getNs(),
|
||||||
|
[columnId.age]: ingress => -ingress.getCreationTimestamp(),
|
||||||
|
} }
|
||||||
|
searchFilters={ [
|
||||||
|
ingress => ingress.getSearchFields(),
|
||||||
|
ingress => ingress.getPorts(),
|
||||||
|
] }
|
||||||
|
renderHeaderTitle="Ingresses"
|
||||||
|
renderTableHeader={ [
|
||||||
|
{ title: "Name", className: "name", sortBy: columnId.name, id: columnId.name },
|
||||||
|
{ className: "warning", showWithColumn: columnId.name },
|
||||||
|
{ title: "Namespace", className: "namespace", sortBy: columnId.namespace, id: columnId.namespace },
|
||||||
|
{ title: "LoadBalancers", className: "loadbalancers", id: columnId.loadBalancers },
|
||||||
|
{ title: "Rules", className: "rules", id: columnId.rules },
|
||||||
|
{ title: "Age", className: "age", sortBy: columnId.age, id: columnId.age },
|
||||||
|
] }
|
||||||
|
renderTableContents={ ingress => [
|
||||||
|
ingress.getName(),
|
||||||
|
<KubeObjectStatusIcon key="icon" object={ ingress } />,
|
||||||
|
<a
|
||||||
|
key="namespace"
|
||||||
|
className="filterNamespace"
|
||||||
|
onClick={prevDefault(() => filterByNamespace(ingress.getNs()))}
|
||||||
|
>
|
||||||
|
{ingress.getNs()}
|
||||||
|
</a>,
|
||||||
|
ingress.getLoadBalancers().map(lb => <p key={ lb }>{ lb }</p>),
|
||||||
|
computeRouteDeclarations(ingress).map(decl => (
|
||||||
|
decl.displayAsLink
|
||||||
|
? (
|
||||||
|
<div key={ decl.url } className="ingressRule">
|
||||||
|
<a
|
||||||
|
href={ decl.url }
|
||||||
|
rel="noreferrer"
|
||||||
|
target="_blank"
|
||||||
|
onClick={ e => e.stopPropagation() }
|
||||||
|
>
|
||||||
|
{ decl.url }
|
||||||
|
</a>
|
||||||
|
{ ` ⇢ ${decl.service}` }
|
||||||
|
</div>
|
||||||
|
)
|
||||||
|
: (
|
||||||
|
<div key={ decl.url } className="ingressRule">
|
||||||
|
{ `${decl.url} ⇢ ${decl.service}` }
|
||||||
|
</div>
|
||||||
|
)
|
||||||
|
)),
|
||||||
|
<KubeObjectAge key="age" object={ ingress } />,
|
||||||
|
] }
|
||||||
|
tableProps={ {
|
||||||
|
customRowHeights: (item, lineHeight, paddings) => {
|
||||||
|
const lines = item.getRoutes().length || 1;
|
||||||
|
|
||||||
|
return lines * lineHeight + paddings;
|
||||||
|
},
|
||||||
|
} } />
|
||||||
|
</SiblingsInTabLayout>
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
export const Ingresses = withInjectables<Dependencies>(NonInjectedIngresses, {
|
export const Ingresses = withInjectables<Dependencies>(NonInjectedIngresses, {
|
||||||
getProps: (di, props) => ({
|
getProps: (di, props) => ({
|
||||||
...props,
|
...props,
|
||||||
filterByNamespace: di.inject(filterByNamespaceInjectable),
|
|
||||||
ingressStore: di.inject(ingressStoreInjectable),
|
ingressStore: di.inject(ingressStoreInjectable),
|
||||||
|
filterByNamespace: di.inject(filterByNamespaceInjectable),
|
||||||
}),
|
}),
|
||||||
});
|
});
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user