mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
Fix list sort by age (#276)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
This commit is contained in:
parent
07e2653f80
commit
6bdd247a85
@ -31,7 +31,7 @@ export class ConfigMaps extends React.Component<Props> {
|
||||
[sortBy.name]: (item: ConfigMap) => item.getName(),
|
||||
[sortBy.namespace]: (item: ConfigMap) => item.getNs(),
|
||||
[sortBy.keys]: (item: ConfigMap) => item.getKeys(),
|
||||
[sortBy.age]: (item: ConfigMap) => item.getAge(false),
|
||||
[sortBy.age]: (item: ConfigMap) => item.metadata.creationTimestamp,
|
||||
}}
|
||||
searchFilters={[
|
||||
(item: ConfigMap) => item.getSearchFields(),
|
||||
@ -66,4 +66,4 @@ export function ConfigMapMenu(props: KubeObjectMenuProps<ConfigMap>) {
|
||||
|
||||
apiManager.registerViews(configMapApi, {
|
||||
Menu: ConfigMapMenu,
|
||||
})
|
||||
})
|
||||
|
||||
@ -31,7 +31,7 @@ export class ResourceQuotas extends React.Component<Props> {
|
||||
sortingCallbacks={{
|
||||
[sortBy.name]: (item: ResourceQuota) => item.getName(),
|
||||
[sortBy.namespace]: (item: ResourceQuota) => item.getNs(),
|
||||
[sortBy.age]: (item: ResourceQuota) => item.getAge(false),
|
||||
[sortBy.age]: (item: ResourceQuota) => item.metadata.creationTimestamp,
|
||||
}}
|
||||
searchFilters={[
|
||||
(item: ResourceQuota) => item.getSearchFields(),
|
||||
@ -70,4 +70,4 @@ export function ResourceQuotaMenu(props: KubeObjectMenuProps<ResourceQuota>) {
|
||||
|
||||
apiManager.registerViews(resourceQuotaApi, {
|
||||
Menu: ResourceQuotaMenu,
|
||||
})
|
||||
})
|
||||
|
||||
@ -38,7 +38,7 @@ export class Secrets extends React.Component<Props> {
|
||||
[sortBy.labels]: (item: Secret) => item.getLabels(),
|
||||
[sortBy.keys]: (item: Secret) => item.getKeys(),
|
||||
[sortBy.type]: (item: Secret) => item.type,
|
||||
[sortBy.age]: (item: Secret) => item.getAge(false),
|
||||
[sortBy.age]: (item: Secret) => item.metadata.creationTimestamp,
|
||||
}}
|
||||
searchFilters={[
|
||||
(item: Secret) => item.getSearchFields(),
|
||||
|
||||
@ -52,7 +52,7 @@ export class Issuers extends React.Component<KubeObjectListLayoutProps> {
|
||||
[sortBy.namespace]: (item: Issuer) => item.getNs(),
|
||||
[sortBy.type]: (item: Issuer) => item.getType(),
|
||||
[sortBy.labels]: (item: Issuer) => item.getLabels(),
|
||||
[sortBy.age]: (item: Issuer) => item.getAge(false),
|
||||
[sortBy.age]: (item: Issuer) => item.metadata.creationTimestamp,
|
||||
}}
|
||||
searchFilters={[
|
||||
(item: Issuer) => item.getSearchFields(),
|
||||
|
||||
@ -54,7 +54,7 @@ export class CrdResources extends React.Component<Props> {
|
||||
const sortingCallbacks: { [sortBy: string]: SortingCallback } = {
|
||||
[sortBy.name]: (item: KubeObject) => item.getName(),
|
||||
[sortBy.namespace]: (item: KubeObject) => item.getNs(),
|
||||
[sortBy.age]: (item: KubeObject) => item.getAge(false),
|
||||
[sortBy.age]: (item: KubeObject) => item.metadata.creationTimestamp,
|
||||
}
|
||||
extraColumns.forEach(column => {
|
||||
sortingCallbacks[column.name] = (item: KubeObject) => jsonPath.query(item, column.JSONPath.slice(1))
|
||||
@ -109,4 +109,4 @@ export function CrdResourceMenu(props: KubeObjectMenuProps<KubeObject>) {
|
||||
return (
|
||||
<KubeObjectMenu {...props}/>
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@ -49,7 +49,7 @@ export class Events extends React.Component<Props> {
|
||||
[sortBy.type]: (event: KubeEvent) => event.involvedObject.kind,
|
||||
[sortBy.object]: (event: KubeEvent) => event.involvedObject.name,
|
||||
[sortBy.count]: (event: KubeEvent) => event.count,
|
||||
[sortBy.age]: (event: KubeEvent) => event.getAge(false),
|
||||
[sortBy.age]: (event: KubeEvent) => event.metadata.creationTimestamp,
|
||||
}}
|
||||
searchFilters={[
|
||||
(event: KubeEvent) => event.getSearchFields(),
|
||||
|
||||
@ -33,7 +33,7 @@ export class Namespaces extends React.Component<Props> {
|
||||
sortingCallbacks={{
|
||||
[sortBy.name]: (ns: Namespace) => ns.getName(),
|
||||
[sortBy.labels]: (ns: Namespace) => ns.getLabels(),
|
||||
[sortBy.age]: (ns: Namespace) => ns.getAge(false),
|
||||
[sortBy.age]: (ns: Namespace) => ns.metadata.creationTimestamp,
|
||||
[sortBy.status]: (ns: Namespace) => ns.getStatus(),
|
||||
}}
|
||||
searchFilters={[
|
||||
|
||||
@ -29,7 +29,7 @@ export class Endpoints extends React.Component<Props> {
|
||||
sortingCallbacks={{
|
||||
[sortBy.name]: (endpoint: Endpoint) => endpoint.getName(),
|
||||
[sortBy.namespace]: (endpoint: Endpoint) => endpoint.getNs(),
|
||||
[sortBy.age]: (endpoint: Endpoint) => endpoint.getAge(false),
|
||||
[sortBy.age]: (endpoint: Endpoint) => endpoint.metadata.creationTimestamp,
|
||||
}}
|
||||
searchFilters={[
|
||||
(endpoint: Endpoint) => endpoint.getSearchFields()
|
||||
@ -69,4 +69,4 @@ export function EndpointMenu(props: KubeObjectMenuProps<Endpoint>) {
|
||||
|
||||
apiManager.registerViews(endpointApi, {
|
||||
Menu: EndpointMenu
|
||||
})
|
||||
})
|
||||
|
||||
@ -29,7 +29,7 @@ export class Ingresses extends React.Component<Props> {
|
||||
sortingCallbacks={{
|
||||
[sortBy.name]: (ingress: Ingress) => ingress.getName(),
|
||||
[sortBy.namespace]: (ingress: Ingress) => ingress.getNs(),
|
||||
[sortBy.age]: (ingress: Ingress) => ingress.getAge(false),
|
||||
[sortBy.age]: (ingress: Ingress) => ingress.metadata.creationTimestamp,
|
||||
}}
|
||||
searchFilters={[
|
||||
(ingress: Ingress) => ingress.getSearchFields(),
|
||||
@ -70,4 +70,4 @@ export function IngressMenu(props: KubeObjectMenuProps<Ingress>) {
|
||||
|
||||
apiManager.registerViews(ingressApi, {
|
||||
Menu: IngressMenu
|
||||
})
|
||||
})
|
||||
|
||||
@ -29,7 +29,7 @@ export class NetworkPolicies extends React.Component<Props> {
|
||||
sortingCallbacks={{
|
||||
[sortBy.name]: (item: NetworkPolicy) => item.getName(),
|
||||
[sortBy.namespace]: (item: NetworkPolicy) => item.getNs(),
|
||||
[sortBy.age]: (item: NetworkPolicy) => item.getAge(false),
|
||||
[sortBy.age]: (item: NetworkPolicy) => item.metadata.creationTimestamp,
|
||||
}}
|
||||
searchFilters={[
|
||||
(item: NetworkPolicy) => item.getSearchFields(),
|
||||
@ -63,4 +63,4 @@ export function NetworkPolicyMenu(props: KubeObjectMenuProps<NetworkPolicy>) {
|
||||
|
||||
apiManager.registerViews(networkPolicyApi, {
|
||||
Menu: NetworkPolicyMenu,
|
||||
})
|
||||
})
|
||||
|
||||
@ -39,7 +39,7 @@ export class Services extends React.Component<Props> {
|
||||
[sortBy.ports]: (service: Service) => (service.spec.ports || []).map(({ port }) => port)[0],
|
||||
[sortBy.clusterIp]: (service: Service) => service.getClusterIp(),
|
||||
[sortBy.type]: (service: Service) => service.getType(),
|
||||
[sortBy.age]: (service: Service) => service.getAge(false),
|
||||
[sortBy.age]: (service: Service) => service.metadata.creationTimestamp,
|
||||
[sortBy.status]: (service: Service) => service.getStatus(),
|
||||
}}
|
||||
searchFilters={[
|
||||
@ -86,4 +86,4 @@ export function ServiceMenu(props: KubeObjectMenuProps<Service>) {
|
||||
|
||||
apiManager.registerViews(serviceApi, {
|
||||
Menu: ServiceMenu
|
||||
})
|
||||
})
|
||||
|
||||
@ -132,7 +132,7 @@ export class Nodes extends React.Component<Props> {
|
||||
[sortBy.conditions]: (node: Node) => node.getNodeConditionText(),
|
||||
[sortBy.taints]: (node: Node) => node.getTaints().length,
|
||||
[sortBy.roles]: (node: Node) => node.getRoleLabels(),
|
||||
[sortBy.age]: (node: Node) => node.getAge(false),
|
||||
[sortBy.age]: (node: Node) => node.metadata.creationTimestamp,
|
||||
[sortBy.version]: (node: Node) => node.getKubeletVersion(),
|
||||
}}
|
||||
searchFilters={[
|
||||
|
||||
@ -28,7 +28,7 @@ export class PodSecurityPolicies extends React.Component {
|
||||
[sortBy.name]: (item: PodSecurityPolicy) => item.getName(),
|
||||
[sortBy.volumes]: (item: PodSecurityPolicy) => item.getVolumes(),
|
||||
[sortBy.privileged]: (item: PodSecurityPolicy) => +item.isPrivileged(),
|
||||
[sortBy.age]: (item: PodSecurityPolicy) => item.getAge(false),
|
||||
[sortBy.age]: (item: PodSecurityPolicy) => item.metadata.creationTimestamp,
|
||||
}}
|
||||
searchFilters={[
|
||||
(item: PodSecurityPolicy) => item.getSearchFields(),
|
||||
@ -66,4 +66,4 @@ export function PodSecurityPolicyMenu(props: KubeObjectMenuProps<PodSecurityPoli
|
||||
|
||||
apiManager.registerViews(pspApi, {
|
||||
Menu: PodSecurityPolicyMenu,
|
||||
})
|
||||
})
|
||||
|
||||
@ -30,7 +30,7 @@ export class StorageClasses extends React.Component<Props> {
|
||||
store={storageClassStore} isClusterScoped
|
||||
sortingCallbacks={{
|
||||
[sortBy.name]: (item: StorageClass) => item.getName(),
|
||||
[sortBy.age]: (item: StorageClass) => item.getAge(false),
|
||||
[sortBy.age]: (item: StorageClass) => item.metadata.creationTimestamp,
|
||||
[sortBy.provisioner]: (item: StorageClass) => item.provisioner,
|
||||
[sortBy.reclaimPolicy]: (item: StorageClass) => item.reclaimPolicy,
|
||||
}}
|
||||
@ -69,4 +69,4 @@ export function StorageClassMenu(props: KubeObjectMenuProps<StorageClass>) {
|
||||
|
||||
apiManager.registerViews(storageClassApi, {
|
||||
Menu: StorageClassMenu,
|
||||
})
|
||||
})
|
||||
|
||||
@ -44,7 +44,7 @@ export class PersistentVolumeClaims extends React.Component<Props> {
|
||||
[sortBy.status]: (pvc: PersistentVolumeClaim) => pvc.getStatus(),
|
||||
[sortBy.size]: (pvc: PersistentVolumeClaim) => unitsToBytes(pvc.getStorage()),
|
||||
[sortBy.storageClass]: (pvc: PersistentVolumeClaim) => pvc.spec.storageClassName,
|
||||
[sortBy.age]: (pvc: PersistentVolumeClaim) => pvc.getAge(false),
|
||||
[sortBy.age]: (pvc: PersistentVolumeClaim) => pvc.metadata.creationTimestamp,
|
||||
}}
|
||||
searchFilters={[
|
||||
(item: PersistentVolumeClaim) => item.getSearchFields(),
|
||||
@ -98,4 +98,4 @@ export function PersistentVolumeClaimMenu(props: KubeObjectMenuProps<PersistentV
|
||||
|
||||
apiManager.registerViews(pvcApi, {
|
||||
Menu: PersistentVolumeClaimMenu,
|
||||
})
|
||||
})
|
||||
|
||||
@ -37,7 +37,7 @@ export class PersistentVolumes extends React.Component<Props> {
|
||||
[sortBy.storageClass]: (item: PersistentVolume) => item.spec.storageClassName,
|
||||
[sortBy.capacity]: (item: PersistentVolume) => item.getCapacity(true),
|
||||
[sortBy.status]: (item: PersistentVolume) => item.getStatus(),
|
||||
[sortBy.age]: (item: PersistentVolume) => item.getAge(false),
|
||||
[sortBy.age]: (item: PersistentVolume) => item.metadata.creationTimestamp,
|
||||
}}
|
||||
searchFilters={[
|
||||
(item: PersistentVolume) => item.getSearchFields(),
|
||||
|
||||
@ -35,7 +35,7 @@ export class RoleBindings extends React.Component<Props> {
|
||||
[sortBy.name]: (binding: RoleBinding) => binding.getName(),
|
||||
[sortBy.namespace]: (binding: RoleBinding) => binding.getNs(),
|
||||
[sortBy.bindings]: (binding: RoleBinding) => binding.getSubjectNames(),
|
||||
[sortBy.age]: (binding: RoleBinding) => binding.getAge(false),
|
||||
[sortBy.age]: (binding: RoleBinding) => binding.metadata.creationTimestamp,
|
||||
}}
|
||||
searchFilters={[
|
||||
(binding: RoleBinding) => binding.getSearchFields(),
|
||||
@ -90,4 +90,4 @@ export function RoleBindingMenu(props: KubeObjectMenuProps<RoleBinding>) {
|
||||
|
||||
apiManager.registerViews([roleBindingApi, clusterRoleBindingApi], {
|
||||
Menu: RoleBindingMenu,
|
||||
})
|
||||
})
|
||||
|
||||
@ -34,7 +34,7 @@ export class Roles extends React.Component<Props> {
|
||||
sortingCallbacks={{
|
||||
[sortBy.name]: (role: Role) => role.getName(),
|
||||
[sortBy.namespace]: (role: Role) => role.getNs(),
|
||||
[sortBy.age]: (role: Role) => role.getAge(false),
|
||||
[sortBy.age]: (role: Role) => role.metadata.creationTimestamp,
|
||||
}}
|
||||
searchFilters={[
|
||||
(role: Role) => role.getSearchFields(),
|
||||
|
||||
@ -34,7 +34,7 @@ export class ServiceAccounts extends React.Component<Props> {
|
||||
sortingCallbacks={{
|
||||
[sortBy.name]: (account: ServiceAccount) => account.getName(),
|
||||
[sortBy.namespace]: (account: ServiceAccount) => account.getNs(),
|
||||
[sortBy.age]: (account: ServiceAccount) => account.getAge(false),
|
||||
[sortBy.age]: (account: ServiceAccount) => account.metadata.creationTimestamp,
|
||||
}}
|
||||
searchFilters={[
|
||||
(account: ServiceAccount) => account.getSearchFields(),
|
||||
@ -78,4 +78,4 @@ export function ServiceAccountMenu(props: KubeObjectMenuProps<ServiceAccount>) {
|
||||
|
||||
apiManager.registerViews(serviceAccountsApi, {
|
||||
Menu: ServiceAccountMenu,
|
||||
})
|
||||
})
|
||||
|
||||
@ -39,7 +39,7 @@ export class CronJobs extends React.Component<Props> {
|
||||
[sortBy.suspend]: (cronJob: CronJob) => cronJob.getSuspendFlag(),
|
||||
[sortBy.active]: (cronJob: CronJob) => cronJobStore.getActiveJobsNum(cronJob),
|
||||
[sortBy.lastSchedule]: (cronJob: CronJob) => cronJob.getLastScheduleTime(),
|
||||
[sortBy.age]: (cronJob: CronJob) => cronJob.getAge(false),
|
||||
[sortBy.age]: (cronJob: CronJob) => cronJob.metadata.creationTimestamp,
|
||||
}}
|
||||
searchFilters={[
|
||||
(cronJob: CronJob) => cronJob.getSearchFields(),
|
||||
@ -86,4 +86,4 @@ export function CronJobMenu(props: KubeObjectMenuProps<CronJob>) {
|
||||
|
||||
apiManager.registerViews(cronJobApi, {
|
||||
Menu: CronJobMenu,
|
||||
})
|
||||
})
|
||||
|
||||
@ -47,7 +47,7 @@ export class DaemonSets extends React.Component<Props> {
|
||||
[sortBy.name]: (daemonSet: DaemonSet) => daemonSet.getName(),
|
||||
[sortBy.namespace]: (daemonSet: DaemonSet) => daemonSet.getNs(),
|
||||
[sortBy.pods]: (daemonSet: DaemonSet) => this.getPodsLength(daemonSet),
|
||||
[sortBy.age]: (daemonSet: DaemonSet) => daemonSet.getAge(false),
|
||||
[sortBy.age]: (daemonSet: DaemonSet) => daemonSet.metadata.creationTimestamp,
|
||||
}}
|
||||
searchFilters={[
|
||||
(daemonSet: DaemonSet) => daemonSet.getSearchFields(),
|
||||
@ -86,4 +86,4 @@ export function DaemonSetMenu(props: KubeObjectMenuProps<DaemonSet>) {
|
||||
|
||||
apiManager.registerViews(daemonSetApi, {
|
||||
Menu: DaemonSetMenu,
|
||||
})
|
||||
})
|
||||
|
||||
@ -59,7 +59,7 @@ export class Deployments extends React.Component<Props> {
|
||||
[sortBy.name]: (deployment: Deployment) => deployment.getName(),
|
||||
[sortBy.namespace]: (deployment: Deployment) => deployment.getNs(),
|
||||
[sortBy.replicas]: (deployment: Deployment) => deployment.getReplicas(),
|
||||
[sortBy.age]: (deployment: Deployment) => deployment.getAge(false),
|
||||
[sortBy.age]: (deployment: Deployment) => deployment.metadata.creationTimestamp,
|
||||
[sortBy.condition]: (deployment: Deployment) => deployment.getConditionsText(),
|
||||
}}
|
||||
searchFilters={[
|
||||
@ -107,4 +107,4 @@ export function DeploymentMenu(props: KubeObjectMenuProps<Deployment>) {
|
||||
|
||||
apiManager.registerViews(deploymentApi, {
|
||||
Menu: DeploymentMenu,
|
||||
});
|
||||
});
|
||||
|
||||
@ -36,7 +36,7 @@ export class Jobs extends React.Component<Props> {
|
||||
[sortBy.name]: (job: Job) => job.getName(),
|
||||
[sortBy.namespace]: (job: Job) => job.getNs(),
|
||||
[sortBy.conditions]: (job: Job) => job.getCondition() != null ? job.getCondition().type : "",
|
||||
[sortBy.age]: (job: Job) => job.getAge(false),
|
||||
[sortBy.age]: (job: Job) => job.metadata.creationTimestamp,
|
||||
}}
|
||||
searchFilters={[
|
||||
(job: Job) => job.getSearchFields(),
|
||||
@ -80,4 +80,4 @@ export function JobMenu(props: KubeObjectMenuProps<Job>) {
|
||||
|
||||
apiManager.registerViews(jobApi, {
|
||||
Menu: JobMenu,
|
||||
})
|
||||
})
|
||||
|
||||
@ -79,7 +79,7 @@ export class Pods extends React.Component<Props> {
|
||||
[sortBy.restarts]: (pod: Pod) => pod.getRestartsCount(),
|
||||
[sortBy.owners]: (pod: Pod) => pod.getOwnerRefs().map(ref => ref.kind),
|
||||
[sortBy.qos]: (pod: Pod) => pod.getQosClass(),
|
||||
[sortBy.age]: (pod: Pod) => pod.getAge(false),
|
||||
[sortBy.age]: (pod: Pod) => pod.metadata.creationTimestamp,
|
||||
[sortBy.status]: (pod: Pod) => pod.getStatusMessage(),
|
||||
}}
|
||||
searchFilters={[
|
||||
@ -127,4 +127,4 @@ export class Pods extends React.Component<Props> {
|
||||
|
||||
apiManager.registerViews(podsApi, {
|
||||
Menu: PodMenu,
|
||||
})
|
||||
})
|
||||
|
||||
@ -29,7 +29,7 @@ export class ReplicaSets extends React.Component<Props> {
|
||||
private sortingCallbacks = {
|
||||
[sortBy.name]: (replicaSet: ReplicaSet) => replicaSet.getName(),
|
||||
[sortBy.namespace]: (replicaSet: ReplicaSet) => replicaSet.getNs(),
|
||||
[sortBy.age]: (replicaSet: ReplicaSet) => replicaSet.getAge(false),
|
||||
[sortBy.age]: (replicaSet: ReplicaSet) => replicaSet.metadata.creationTimestamp,
|
||||
[sortBy.pods]: (replicaSet: ReplicaSet) => this.getPodsLength(replicaSet),
|
||||
}
|
||||
|
||||
@ -95,4 +95,4 @@ export function ReplicaSetMenu(props: KubeObjectMenuProps<ReplicaSet>) {
|
||||
|
||||
apiManager.registerViews(replicaSetApi, {
|
||||
Menu: ReplicaSetMenu,
|
||||
});
|
||||
});
|
||||
|
||||
@ -39,7 +39,7 @@ export class StatefulSets extends React.Component<Props> {
|
||||
sortingCallbacks={{
|
||||
[sortBy.name]: (statefulSet: StatefulSet) => statefulSet.getName(),
|
||||
[sortBy.namespace]: (statefulSet: StatefulSet) => statefulSet.getNs(),
|
||||
[sortBy.age]: (statefulSet: StatefulSet) => statefulSet.getAge(false),
|
||||
[sortBy.age]: (statefulSet: StatefulSet) => statefulSet.metadata.creationTimestamp,
|
||||
[sortBy.pods]: (statefulSet: StatefulSet) => this.getPodsLength(statefulSet),
|
||||
}}
|
||||
searchFilters={[
|
||||
|
||||
Loading…
Reference in New Issue
Block a user