mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
Reverse sort direction for age columns
Signed-off-by: Sebastian Malton <sebastian@malton.name>
This commit is contained in:
parent
e8e1f191aa
commit
4716e83555
@ -57,14 +57,14 @@ export class ClusterIssues extends React.Component<ClusterIssuesProps> {
|
||||
kind: node.kind,
|
||||
message,
|
||||
renderAge: () => <KubeObjectAge key="age" object={node} />,
|
||||
ageMs: node.getCreationTimestamp(),
|
||||
ageMs: -node.getCreationTimestamp(),
|
||||
}))
|
||||
)),
|
||||
...eventStore.getWarnings().map(warning => ({
|
||||
getId: () => warning.involvedObject.uid,
|
||||
getName: () => warning.involvedObject.name,
|
||||
renderAge: () => <KubeObjectAge key="age" object={warning} />,
|
||||
ageMs: warning.getCreationTimestamp(),
|
||||
ageMs: -warning.getCreationTimestamp(),
|
||||
message: warning.message,
|
||||
kind: warning.kind,
|
||||
selfLink: apiManager.lookupApiLink(warning.involvedObject, warning),
|
||||
|
||||
@ -58,7 +58,7 @@ export class HorizontalPodAutoscalers extends React.Component<HorizontalPodAutos
|
||||
[columnId.minPods]: hpa => hpa.getMinPods(),
|
||||
[columnId.maxPods]: hpa => hpa.getMaxPods(),
|
||||
[columnId.replicas]: hpa => hpa.getReplicas(),
|
||||
[columnId.age]: hpa => hpa.getCreationTimestamp(),
|
||||
[columnId.age]: hpa => -hpa.getCreationTimestamp(),
|
||||
}}
|
||||
searchFilters={[
|
||||
hpa => hpa.getSearchFields(),
|
||||
|
||||
@ -35,7 +35,7 @@ export class LimitRanges extends React.Component<LimitRangesProps> {
|
||||
sortingCallbacks={{
|
||||
[columnId.name]: limitRange => limitRange.getName(),
|
||||
[columnId.namespace]: limitRange => limitRange.getNs(),
|
||||
[columnId.age]: limitRange => limitRange.getCreationTimestamp(),
|
||||
[columnId.age]: limitRange => -limitRange.getCreationTimestamp(),
|
||||
}}
|
||||
searchFilters={[
|
||||
item => item.getName(),
|
||||
|
||||
@ -37,7 +37,7 @@ export class ConfigMaps extends React.Component<ConfigMapsProps> {
|
||||
[columnId.name]: configMap => configMap.getName(),
|
||||
[columnId.namespace]: configMap => configMap.getNs(),
|
||||
[columnId.keys]: configMap => configMap.getKeys(),
|
||||
[columnId.age]: configMap => configMap.getCreationTimestamp(),
|
||||
[columnId.age]: configMap => -configMap.getCreationTimestamp(),
|
||||
}}
|
||||
searchFilters={[
|
||||
configMap => configMap.getSearchFields(),
|
||||
|
||||
@ -43,7 +43,7 @@ export class PodDisruptionBudgets extends React.Component<PodDisruptionBudgetsPr
|
||||
[columnId.maxUnavailable]: pdb => pdb.getMaxUnavailable(),
|
||||
[columnId.currentHealthy]: pdb => pdb.getCurrentHealthy(),
|
||||
[columnId.desiredHealthy]: pdb => pdb.getDesiredHealthy(),
|
||||
[columnId.age]: pdb => pdb.getCreationTimestamp(),
|
||||
[columnId.age]: pdb => -pdb.getCreationTimestamp(),
|
||||
}}
|
||||
searchFilters={[
|
||||
pdb => pdb.getSearchFields(),
|
||||
|
||||
@ -37,7 +37,7 @@ export class ResourceQuotas extends React.Component<ResourceQuotasProps> {
|
||||
sortingCallbacks={{
|
||||
[columnId.name]: resourceQuota => resourceQuota.getName(),
|
||||
[columnId.namespace]: resourceQuota => resourceQuota.getNs(),
|
||||
[columnId.age]: resourceQuota => resourceQuota.getCreationTimestamp(),
|
||||
[columnId.age]: resourceQuota => -resourceQuota.getCreationTimestamp(),
|
||||
}}
|
||||
searchFilters={[
|
||||
resourceQuota => resourceQuota.getSearchFields(),
|
||||
|
||||
@ -44,7 +44,7 @@ export class Secrets extends React.Component<SecretsProps> {
|
||||
[columnId.labels]: secret => secret.getLabels(),
|
||||
[columnId.keys]: secret => secret.getKeys(),
|
||||
[columnId.type]: secret => secret.type,
|
||||
[columnId.age]: secret => secret.getCreationTimestamp(),
|
||||
[columnId.age]: secret => -secret.getCreationTimestamp(),
|
||||
}}
|
||||
searchFilters={[
|
||||
secret => secret.getSearchFields(),
|
||||
|
||||
@ -77,14 +77,14 @@ export class CustomResourceDefinitions extends React.Component {
|
||||
[columnId.group]: crd => crd.getGroup(),
|
||||
[columnId.version]: crd => crd.getVersion(),
|
||||
[columnId.scope]: crd => crd.getScope(),
|
||||
[columnId.age]: crd => crd.getCreationTimestamp(),
|
||||
[columnId.age]: crd => -crd.getCreationTimestamp(),
|
||||
}}
|
||||
searchFilters={[
|
||||
crd => crd.getResourceKind(),
|
||||
crd => crd.getGroup(),
|
||||
crd => crd.getVersion(),
|
||||
crd => crd.getScope(),
|
||||
crd => crd.getCreationTimestamp(),
|
||||
crd => -crd.getCreationTimestamp(),
|
||||
]}
|
||||
renderHeaderTitle="Custom Resources"
|
||||
customizeHeader={({ filters, ...headerPlaceholders }) => {
|
||||
|
||||
@ -64,7 +64,7 @@ export class CustomResourceDefinitionResources extends React.Component<CustomRes
|
||||
sortingCallbacks={{
|
||||
[columnId.name]: customResource => customResource.getName(),
|
||||
[columnId.namespace]: customResource => customResource.getNs(),
|
||||
[columnId.age]: customResource => customResource.getCreationTimestamp(),
|
||||
[columnId.age]: customResource => -customResource.getCreationTimestamp(),
|
||||
...Object.fromEntries(extraColumns.map(({ name, jsonPath }) => [
|
||||
name,
|
||||
customResource => value(customResource, parseJsonPath(jsonPath.slice(1))),
|
||||
|
||||
@ -29,7 +29,7 @@ export class EventStore extends KubeObjectStore<KubeEvent> {
|
||||
|
||||
protected sortItems(items: KubeEvent[]) {
|
||||
return super.sortItems(items, [
|
||||
event => event.getCreationTimestamp(), // keep events order as timeline ("fresh" on top)
|
||||
event => -event.getCreationTimestamp(), // keep events order as timeline ("fresh" on top)
|
||||
], "asc");
|
||||
}
|
||||
|
||||
|
||||
@ -60,8 +60,8 @@ export class Events extends React.Component<EventsProps> {
|
||||
[columnId.type]: event => event.type,
|
||||
[columnId.object]: event => event.involvedObject.name,
|
||||
[columnId.count]: event => event.count,
|
||||
[columnId.age]: event => event.getCreationTimestamp(),
|
||||
[columnId.lastSeen]: event => new Date(event.lastTimestamp).getTime(),
|
||||
[columnId.age]: event => -event.getCreationTimestamp(),
|
||||
[columnId.lastSeen]: event => -new Date(event.lastTimestamp).getTime(),
|
||||
};
|
||||
|
||||
constructor(props: EventsProps) {
|
||||
|
||||
@ -46,7 +46,7 @@ export const NonInjectedNamespacesRoute = ({ namespaceStore, openAddNamespaceDia
|
||||
sortingCallbacks={{
|
||||
[columnId.name]: namespace => namespace.getName(),
|
||||
[columnId.labels]: namespace => namespace.getLabels(),
|
||||
[columnId.age]: namespace => namespace.getCreationTimestamp(),
|
||||
[columnId.age]: namespace => -namespace.getCreationTimestamp(),
|
||||
[columnId.status]: namespace => namespace.getStatus(),
|
||||
}}
|
||||
searchFilters={[
|
||||
|
||||
@ -35,7 +35,7 @@ export class Endpoints extends React.Component<EndpointsProps> {
|
||||
sortingCallbacks={{
|
||||
[columnId.name]: endpoint => endpoint.getName(),
|
||||
[columnId.namespace]: endpoint => endpoint.getNs(),
|
||||
[columnId.age]: endpoint => endpoint.getCreationTimestamp(),
|
||||
[columnId.age]: endpoint => -endpoint.getCreationTimestamp(),
|
||||
}}
|
||||
searchFilters={[
|
||||
endpoint => endpoint.getSearchFields(),
|
||||
|
||||
@ -36,7 +36,7 @@ export class Ingresses extends React.Component<IngressesProps> {
|
||||
sortingCallbacks={{
|
||||
[columnId.name]: ingress => ingress.getName(),
|
||||
[columnId.namespace]: ingress => ingress.getNs(),
|
||||
[columnId.age]: ingress => ingress.getCreationTimestamp(),
|
||||
[columnId.age]: ingress => -ingress.getCreationTimestamp(),
|
||||
}}
|
||||
searchFilters={[
|
||||
ingress => ingress.getSearchFields(),
|
||||
|
||||
@ -36,7 +36,7 @@ export class NetworkPolicies extends React.Component<NetworkPoliciesProps> {
|
||||
sortingCallbacks={{
|
||||
[columnId.name]: networkPolicy => networkPolicy.getName(),
|
||||
[columnId.namespace]: networkPolicy => networkPolicy.getNs(),
|
||||
[columnId.age]: networkPolicy => networkPolicy.getCreationTimestamp(),
|
||||
[columnId.age]: networkPolicy => -networkPolicy.getCreationTimestamp(),
|
||||
}}
|
||||
searchFilters={[
|
||||
networkPolicy => networkPolicy.getSearchFields(),
|
||||
|
||||
@ -45,7 +45,7 @@ export class Services extends React.Component<ServicesProps> {
|
||||
[columnId.ports]: service => (service.spec.ports || []).map(({ port }) => port)[0],
|
||||
[columnId.clusterIp]: service => service.getClusterIp(),
|
||||
[columnId.type]: service => service.getType(),
|
||||
[columnId.age]: service => service.getCreationTimestamp(),
|
||||
[columnId.age]: service => -service.getCreationTimestamp(),
|
||||
[columnId.status]: service => service.getStatus(),
|
||||
}}
|
||||
searchFilters={[
|
||||
|
||||
@ -192,7 +192,7 @@ export class NodesRoute extends React.Component<NodesRouteProps> {
|
||||
[columnId.conditions]: node => node.getNodeConditionText(),
|
||||
[columnId.taints]: node => node.getTaints().length,
|
||||
[columnId.roles]: node => node.getRoleLabels(),
|
||||
[columnId.age]: node => node.getCreationTimestamp(),
|
||||
[columnId.age]: node => -node.getCreationTimestamp(),
|
||||
[columnId.version]: node => node.getKubeletVersion(),
|
||||
}}
|
||||
searchFilters={[
|
||||
|
||||
@ -32,7 +32,7 @@ export class PodSecurityPolicies extends React.Component {
|
||||
[columnId.name]: podSecurityPolicy => podSecurityPolicy.getName(),
|
||||
[columnId.volumes]: podSecurityPolicy => podSecurityPolicy.getVolumes(),
|
||||
[columnId.privileged]: podSecurityPolicy => +podSecurityPolicy.isPrivileged(),
|
||||
[columnId.age]: podSecurityPolicy => podSecurityPolicy.getCreationTimestamp(),
|
||||
[columnId.age]: podSecurityPolicy => -podSecurityPolicy.getCreationTimestamp(),
|
||||
}}
|
||||
searchFilters={[
|
||||
podSecurityPolicy => podSecurityPolicy.getSearchFields(),
|
||||
|
||||
@ -36,7 +36,7 @@ export class StorageClasses extends React.Component<StorageClassesProps> {
|
||||
store={storageClassStore}
|
||||
sortingCallbacks={{
|
||||
[columnId.name]: storageClass => storageClass.getName(),
|
||||
[columnId.age]: storageClass => storageClass.getCreationTimestamp(),
|
||||
[columnId.age]: storageClass => -storageClass.getCreationTimestamp(),
|
||||
[columnId.provisioner]: storageClass => storageClass.provisioner,
|
||||
[columnId.reclaimPolicy]: storageClass => storageClass.reclaimPolicy,
|
||||
}}
|
||||
|
||||
@ -49,7 +49,7 @@ export class PersistentVolumeClaims extends React.Component<PersistentVolumeClai
|
||||
[columnId.status]: pvc => pvc.getStatus(),
|
||||
[columnId.size]: pvc => unitsToBytes(pvc.getStorage()),
|
||||
[columnId.storageClass]: pvc => pvc.spec.storageClassName,
|
||||
[columnId.age]: pvc => pvc.getCreationTimestamp(),
|
||||
[columnId.age]: pvc => -pvc.getCreationTimestamp(),
|
||||
}}
|
||||
searchFilters={[
|
||||
pvc => pvc.getSearchFields(),
|
||||
|
||||
@ -43,7 +43,7 @@ export class PersistentVolumes extends React.Component<PersistentVolumesProps> {
|
||||
[columnId.storageClass]: volume => volume.getStorageClass(),
|
||||
[columnId.capacity]: volume => volume.getCapacity(true),
|
||||
[columnId.status]: volume => volume.getStatus(),
|
||||
[columnId.age]: volume => volume.getCreationTimestamp(),
|
||||
[columnId.age]: volume => -volume.getCreationTimestamp(),
|
||||
}}
|
||||
searchFilters={[
|
||||
volume => volume.getSearchFields(),
|
||||
|
||||
@ -41,7 +41,7 @@ export class ClusterRoleBindings extends React.Component<ClusterRoleBindingsProp
|
||||
sortingCallbacks={{
|
||||
[columnId.name]: binding => binding.getName(),
|
||||
[columnId.bindings]: binding => binding.getSubjectNames(),
|
||||
[columnId.age]: binding => binding.getCreationTimestamp(),
|
||||
[columnId.age]: binding => -binding.getCreationTimestamp(),
|
||||
}}
|
||||
searchFilters={[
|
||||
binding => binding.getSearchFields(),
|
||||
|
||||
@ -36,7 +36,7 @@ export class ClusterRoles extends React.Component<ClusterRolesProps> {
|
||||
store={clusterRolesStore}
|
||||
sortingCallbacks={{
|
||||
[columnId.name]: clusterRole => clusterRole.getName(),
|
||||
[columnId.age]: clusterRole => clusterRole.getCreationTimestamp(),
|
||||
[columnId.age]: clusterRole => -clusterRole.getCreationTimestamp(),
|
||||
}}
|
||||
searchFilters={[
|
||||
clusterRole => clusterRole.getSearchFields(),
|
||||
|
||||
@ -42,7 +42,7 @@ export class RoleBindings extends React.Component<RoleBindingsProps> {
|
||||
[columnId.name]: binding => binding.getName(),
|
||||
[columnId.namespace]: binding => binding.getNs(),
|
||||
[columnId.bindings]: binding => binding.getSubjectNames(),
|
||||
[columnId.age]: binding => binding.getCreationTimestamp(),
|
||||
[columnId.age]: binding => -binding.getCreationTimestamp(),
|
||||
}}
|
||||
searchFilters={[
|
||||
binding => binding.getSearchFields(),
|
||||
|
||||
@ -37,7 +37,7 @@ export class Roles extends React.Component<RolesProps> {
|
||||
sortingCallbacks={{
|
||||
[columnId.name]: role => role.getName(),
|
||||
[columnId.namespace]: role => role.getNs(),
|
||||
[columnId.age]: role => role.getCreationTimestamp(),
|
||||
[columnId.age]: role => -role.getCreationTimestamp(),
|
||||
}}
|
||||
searchFilters={[
|
||||
role => role.getSearchFields(),
|
||||
|
||||
@ -36,7 +36,7 @@ export class ServiceAccounts extends React.Component<ServiceAccountsProps> {
|
||||
sortingCallbacks={{
|
||||
[columnId.name]: account => account.getName(),
|
||||
[columnId.namespace]: account => account.getNs(),
|
||||
[columnId.age]: account => account.getCreationTimestamp(),
|
||||
[columnId.age]: account => -account.getCreationTimestamp(),
|
||||
}}
|
||||
searchFilters={[
|
||||
account => account.getSearchFields(),
|
||||
|
||||
@ -50,7 +50,7 @@ export class CronJobs extends React.Component<CronJobsProps> {
|
||||
? moment().diff(cronJob.status.lastScheduleTime)
|
||||
: 0
|
||||
),
|
||||
[columnId.age]: cronJob => cronJob.getCreationTimestamp(),
|
||||
[columnId.age]: cronJob => -cronJob.getCreationTimestamp(),
|
||||
}}
|
||||
searchFilters={[
|
||||
cronJob => cronJob.getSearchFields(),
|
||||
|
||||
@ -47,7 +47,7 @@ export class DaemonSets extends React.Component<DaemonSetsProps> {
|
||||
[columnId.name]: daemonSet => daemonSet.getName(),
|
||||
[columnId.namespace]: daemonSet => daemonSet.getNs(),
|
||||
[columnId.pods]: daemonSet => this.getPodsLength(daemonSet),
|
||||
[columnId.age]: daemonSet => daemonSet.getCreationTimestamp(),
|
||||
[columnId.age]: daemonSet => -daemonSet.getCreationTimestamp(),
|
||||
}}
|
||||
searchFilters={[
|
||||
daemonSet => daemonSet.getSearchFields(),
|
||||
|
||||
@ -60,7 +60,7 @@ export class Deployments extends React.Component<DeploymentsProps> {
|
||||
[columnId.name]: deployment => deployment.getName(),
|
||||
[columnId.namespace]: deployment => deployment.getNs(),
|
||||
[columnId.replicas]: deployment => deployment.getReplicas(),
|
||||
[columnId.age]: deployment => deployment.getCreationTimestamp(),
|
||||
[columnId.age]: deployment => -deployment.getCreationTimestamp(),
|
||||
[columnId.condition]: deployment => deployment.getConditionsText(),
|
||||
}}
|
||||
searchFilters={[
|
||||
|
||||
@ -40,7 +40,7 @@ export class Jobs extends React.Component<JobsProps> {
|
||||
[columnId.name]: job => job.getName(),
|
||||
[columnId.namespace]: job => job.getNs(),
|
||||
[columnId.conditions]: job => job.getCondition() != null ? job.getCondition().type : "",
|
||||
[columnId.age]: job => job.getCreationTimestamp(),
|
||||
[columnId.age]: job => -job.getCreationTimestamp(),
|
||||
}}
|
||||
searchFilters={[
|
||||
job => job.getSearchFields(),
|
||||
|
||||
@ -90,7 +90,7 @@ export class Pods extends React.Component<PodsProps> {
|
||||
[columnId.owners]: pod => pod.getOwnerRefs().map(ref => ref.kind),
|
||||
[columnId.qos]: pod => pod.getQosClass(),
|
||||
[columnId.node]: pod => pod.getNodeName(),
|
||||
[columnId.age]: pod => pod.getCreationTimestamp(),
|
||||
[columnId.age]: pod => -pod.getCreationTimestamp(),
|
||||
[columnId.status]: pod => pod.getStatusMessage(),
|
||||
}}
|
||||
searchFilters={[
|
||||
|
||||
@ -42,7 +42,7 @@ export class ReplicaSets extends React.Component<ReplicaSetsProps> {
|
||||
[columnId.desired]: replicaSet => replicaSet.getDesired(),
|
||||
[columnId.current]: replicaSet => replicaSet.getCurrent(),
|
||||
[columnId.ready]: replicaSet => replicaSet.getReady(),
|
||||
[columnId.age]: replicaSet => replicaSet.getCreationTimestamp(),
|
||||
[columnId.age]: replicaSet => -replicaSet.getCreationTimestamp(),
|
||||
}}
|
||||
searchFilters={[
|
||||
replicaSet => replicaSet.getSearchFields(),
|
||||
|
||||
@ -46,7 +46,7 @@ export class StatefulSets extends React.Component<StatefulSetsProps> {
|
||||
sortingCallbacks={{
|
||||
[columnId.name]: statefulSet => statefulSet.getName(),
|
||||
[columnId.namespace]: statefulSet => statefulSet.getNs(),
|
||||
[columnId.age]: statefulSet => statefulSet.getCreationTimestamp(),
|
||||
[columnId.age]: statefulSet => -statefulSet.getCreationTimestamp(),
|
||||
[columnId.replicas]: statefulSet => statefulSet.getReplicas(),
|
||||
}}
|
||||
searchFilters={[
|
||||
|
||||
Loading…
Reference in New Issue
Block a user