cleanup Lens repo with tighter linting

Signed-off-by: Sebastian Malton <smalton@mirantis.com>
This commit is contained in:
Sebastian Malton committed 2020-07-09 17:00:23 -04:00
1 parent e468105143
commit b1ff34879a
470 files changed
+8447 -7443

No files matched your search

@@ -1,3 +1,3 @@
export * from "./kube-object-details"
export * from "./kube-object-list-layout"
export * from "./kube-object-menu"
export * from "./kube-object-details";
export * from "./kube-object-list-layout";
export * from "./kube-object-menu";
@@ -1,6 +1,6 @@
import "./kube-object-details.scss"
import "./kube-object-details.scss";
import React from "react"
import React from "react";
import { disposeOnUnmount, observer } from "mobx-react";
import { computed, observable, reaction } from "mobx";
import { Trans } from "@lingui/macro";
@@ -22,18 +22,18 @@ export class KubeObjectDetails extends React.Component {
@observable isLoading = false;
@observable.ref loadingError: React.ReactNode;
@computed get path() {
return getDetails()
@computed get path(): string {
return getDetails();
}
@computed get object() {
@computed get object(): any {
const store = apiManager.getStore(this.path);
if (store) {
return store.getByPath(this.path);
}
}
@computed get isCrdInstance() {
@computed get isCrdInstance(): boolean {
return !!crdStore.getByObject(this.object);
}
@@ -43,24 +43,24 @@ export class KubeObjectDetails extends React.Component {
this.object, // resource might be updated via watch-event or from already opened details
crdStore.items.length, // crd stores initialized after loading
], async () => {
this.loadingError = ""
this.loadingError = "";
const { path, object } = this;
if (!object) {
const store = apiManager.getStore(path);
if (store) {
this.isLoading = true
this.isLoading = true;
try {
await store.loadFromPath(path)
await store.loadFromPath(path);
} catch (err) {
this.loadingError = <Trans>Resource loading has failed: <b>{err.toString()}</b></Trans>
this.loadingError = <Trans>Resource loading has failed: <b>{err.toString()}</b></Trans>;
} finally {
this.isLoading = false
this.isLoading = false;
}
}
}
})
render() {
render(): JSX.Element {
const { object, isLoading, loadingError, isCrdInstance } = this;
const isOpen = !!(object || isLoading || loadingError);
let title = "";
@@ -70,8 +70,8 @@ export class KubeObjectDetails extends React.Component {
title = `${kind}: ${getName()}`;
apiComponents = apiManager.getViews(selfLink);
if (isCrdInstance && !apiComponents.Details) {
apiComponents.Details = CrdResourceDetails
apiComponents.Menu = CrdResourceMenu
apiComponents.Details = CrdResourceDetails;
apiComponents.Menu = CrdResourceMenu;
}
}
return (
@@ -86,6 +86,6 @@ export class KubeObjectDetails extends React.Component {
{loadingError && <div className="box center">{loadingError}</div>}
{apiComponents && apiComponents.Details && <apiComponents.Details object={object}/>}
</Drawer>
)
);
}
}
@@ -13,20 +13,19 @@ export interface KubeObjectListLayoutProps extends ItemListLayoutProps {
@observer
export class KubeObjectListLayout extends React.Component<KubeObjectListLayoutProps> {
@computed get selectedItem() {
@computed get selectedItem(): any {
return this.props.store.getByPath(getSelectedDetails());
}
onDetails = (item: KubeObject) => {
onDetails = (item: KubeObject): void => {
if (this.props.onDetails) {
this.props.onDetails(item);
}
else {
} else {
showDetails(item.selfLink);
}
}
render() {
render(): JSX.Element {
const { className, ...layoutProps } = this.props;
return (
<ItemListLayout
@@ -6,6 +6,7 @@ import { editResourceTab } from "../dock/edit-resource.store";
import { MenuActions, MenuActionsProps } from "../menu/menu-actions";
import { hideDetails } from "../../navigation";
import { apiManager } from "../../api/api-manager";
import { KubeObjectStore } from "client/kube-object.store";
export interface KubeObjectMenuProps<T extends KubeObject = any> extends MenuActionsProps {
object: T;
@@ -14,49 +15,54 @@ export interface KubeObjectMenuProps<T extends KubeObject = any> extends MenuAct
}
export class KubeObjectMenu extends React.Component<KubeObjectMenuProps> {
get store() {
get store(): KubeObjectStore<any> {
const { object } = this.props;
if (!object) return;
if (!object) {
return;
}
return apiManager.getStore(object.selfLink);
}
get isEditable() {
get isEditable(): boolean {
const { editable } = this.props;
return editable !== undefined ? editable : !!(this.store && this.store.update);
}
get isRemovable() {
get isRemovable(): boolean {
const { removable } = this.props;
return removable !== undefined ? removable : !!(this.store && this.store.remove);
}
@autobind()
async update() {
update(): void {
hideDetails();
editResourceTab(this.props.object);
}
@autobind()
async remove() {
async remove(): Promise<void> {
hideDetails();
const { object, removeAction } = this.props;
if (removeAction) await removeAction();
else await this.store.remove(object);
if (removeAction) {
removeAction();
} else {
await this.store.remove(object);
}
}
@autobind()
renderRemoveMessage() {
renderRemoveMessage(): JSX.Element {
const { object } = this.props;
const resourceKind = object.kind;
const resourceName = object.getName();
return (
<p><Trans>Remove {resourceKind} <b>{resourceName}</b>?</Trans></p>
)
);
}
render() {
render(): JSX.Element {
const { remove, update, renderRemoveMessage, isEditable, isRemovable } = this;
const { className, object, editable, removable, ...menuProps } = this.props;
const { className, object: _object, editable: _editable, removable: _removable, ...menuProps } = this.props;
return (
<MenuActions
className={cssNames("KubeObjectMenu", className)}
@@ -65,6 +71,6 @@ export class KubeObjectMenu extends React.Component<KubeObjectMenuProps> {
removeConfirmationMessage={renderRemoveMessage}
{...menuProps}
/>
)
);
}
}
@@ -2,7 +2,6 @@ import React from "react";
import { Trans } from "@lingui/macro";
import { IKubeMetaField, KubeObject } from "../../api/kube-object";
import { DrawerItem, DrawerItemLabels } from "../drawer";
import { WorkloadKubeObject } from "../../api/workload-kube-object";
import { getDetailsUrl } from "../../navigation";
import { lookupApiLink } from "../../api/kube-api";
import { Link } from "react-router-dom";
@@ -22,15 +21,15 @@ export class KubeObjectMeta extends React.Component<Props> {
return hideFields.includes(field);
}
render() {
const object = this.props.object
render(): JSX.Element {
const object = this.props.object;
const {
getName, getNs, getLabels, getResourceVersion, selfLink,
getName, getNs, getLabels, selfLink,
getAnnotations, getFinalizers, getId, getAge,
metadata: { creationTimestamp },
} = object;
const ownerRefs = object.getOwnerRefs();
return (
<>
<DrawerItem name={<Trans>Created</Trans>} hidden={this.isHidden("creationTimestamp")}>
@@ -49,7 +48,7 @@ export class KubeObjectMeta extends React.Component<Props> {
{selfLink}
</DrawerItem>
<DrawerItem name={<Trans>Resource Version</Trans>} hidden={this.isHidden("resourceVersion")}>
{getResourceVersion()}
{object.metadata.resourceVersion}
</DrawerItem>
<DrawerItemLabels
name={<Trans>Labels</Trans>}
@@ -82,6 +81,6 @@ export class KubeObjectMeta extends React.Component<Props> {
</DrawerItem>
}
</>
)
);
}
}