mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
cleanup Lens repo with tighter linting
Signed-off-by: Sebastian Malton <smalton@mirantis.com>
This commit is contained in:
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>
|
||||
}
|
||||
</>
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user