Improve Table typing and remove annotations on callbacks (#2981)

Signed-off-by: Sebastian Malton <sebastian@malton.name>
This commit is contained in:
Sebastian Malton authored and GitHub committed 2021-07-22 10:42:27 -04:00
1 parent c6a4d55d86
commit 64ac04186b
59 files changed
+487 -482

No files matched your search

@@ -31,7 +31,7 @@ import { Notifications } from "../notifications";
import { cssNames } from "../../utils";
import { Input } from "../input";
import { systemName, maxLength } from "../input/input_validators";
import type { IKubeObjectMetadata } from "../../api/kube-object";
import type { KubeObjectMetadata } from "../../api/kube-object";
interface Props extends Partial<DialogProps> {
}
@@ -104,7 +104,7 @@ export class CronJobTriggerDialog extends Component<Props> {
name: cronjob.metadata.name,
uid: cronjob.metadata.uid,
}],
} as IKubeObjectMetadata
} as KubeObjectMetadata
});
close();
@@ -62,20 +62,20 @@ export class CronJobs extends React.Component<Props> {
className="CronJobs" store={cronJobStore}
dependentStores={[jobStore, eventStore]}
sortingCallbacks={{
[columnId.name]: (cronJob: CronJob) => cronJob.getName(),
[columnId.namespace]: (cronJob: CronJob) => cronJob.getNs(),
[columnId.suspend]: (cronJob: CronJob) => cronJob.getSuspendFlag(),
[columnId.active]: (cronJob: CronJob) => cronJobStore.getActiveJobsNum(cronJob),
[columnId.lastSchedule]: (cronJob: CronJob) => (
[columnId.name]: cronJob => cronJob.getName(),
[columnId.namespace]: cronJob => cronJob.getNs(),
[columnId.suspend]: cronJob => cronJob.getSuspendFlag(),
[columnId.active]: cronJob => cronJobStore.getActiveJobsNum(cronJob),
[columnId.lastSchedule]: cronJob => (
cronJob.status?.lastScheduleTime
? moment().diff(cronJob.status.lastScheduleTime)
: 0
),
[columnId.age]: (cronJob: CronJob) => cronJob.getTimeDiffFromNow(),
[columnId.age]: cronJob => cronJob.getTimeDiffFromNow(),
}}
searchFilters={[
(cronJob: CronJob) => cronJob.getSearchFields(),
(cronJob: CronJob) => cronJob.getSchedule(),
cronJob => cronJob.getSearchFields(),
cronJob => cronJob.getSchedule(),
]}
renderHeaderTitle="Cron Jobs"
renderTableHeader={[
@@ -88,7 +88,7 @@ export class CronJobs extends React.Component<Props> {
{ title: "Last schedule", className: "last-schedule", sortBy: columnId.lastSchedule, id: columnId.lastSchedule },
{ title: "Age", className: "age", sortBy: columnId.age, id: columnId.age },
]}
renderTableContents={(cronJob: CronJob) => [
renderTableContents={cronJob => [
cronJob.getName(),
<KubeObjectStatusIcon key="icon" object={cronJob} />,
cronJob.getNs(),