From e49576ee8c2b8c11182c6faf8052e734b6a3caa3 Mon Sep 17 00:00:00 2001 From: Sebastian Malton Date: Wed, 23 Jun 2021 09:14:59 -0400 Subject: [PATCH] Fix 's not using tooltip and fix toolbar not being boolean (#3038) Signed-off-by: Sebastian Malton --- extensions/node-menu/src/node-menu.tsx | 31 ++++++++++--------- extensions/pod-menu/src/attach-menu.tsx | 2 +- extensions/pod-menu/src/logs-menu.tsx | 2 +- extensions/pod-menu/src/shell-menu.tsx | 2 +- integration/__tests__/cluster-pages.tests.ts | 21 ++++++++----- .../+apps-releases/release-menu.tsx | 2 +- .../+catalog/catalog-entity-drawer-menu.tsx | 4 +-- .../+service-accounts/view.tsx | 2 +- .../+workloads-cronjobs/cronjobs.tsx | 6 ++-- .../+workloads-deployments/deployments.tsx | 4 +-- .../+workloads-replicasets/replicasets.tsx | 2 +- .../+workloads-statefulsets/statefulsets.tsx | 2 +- src/renderer/components/dock/dock-tab.tsx | 2 +- .../components/file-picker/file-picker.tsx | 20 ++++++------ src/renderer/components/icon/icon.tsx | 2 +- .../kube-object/kube-object-menu.tsx | 8 +++-- src/renderer/components/menu/menu-actions.tsx | 4 +-- 17 files changed, 64 insertions(+), 52 deletions(-) diff --git a/extensions/node-menu/src/node-menu.tsx b/extensions/node-menu/src/node-menu.tsx index fd8186b18e..12ded04899 100644 --- a/extensions/node-menu/src/node-menu.tsx +++ b/extensions/node-menu/src/node-menu.tsx @@ -86,23 +86,26 @@ export function NodeMenu(props: NodeMenuProps) { return ( <> - + Shell - {!node.isUnschedulable() && ( - - - Cordon - - )} - {node.isUnschedulable() && ( - - - Uncordon - - )} + { + node.isUnschedulable() + ? ( + + + Uncordon + + ) + : ( + + + Cordon + + ) + } - + Drain diff --git a/extensions/pod-menu/src/attach-menu.tsx b/extensions/pod-menu/src/attach-menu.tsx index bb43d151bc..ad02782641 100644 --- a/extensions/pod-menu/src/attach-menu.tsx +++ b/extensions/pod-menu/src/attach-menu.tsx @@ -74,7 +74,7 @@ export class PodAttachMenu extends React.Component { return ( this.attachToPod(containers[0].name))}> - + Attach Pod {containers.length > 1 && ( <> diff --git a/extensions/pod-menu/src/logs-menu.tsx b/extensions/pod-menu/src/logs-menu.tsx index 042490f568..41deb92e1a 100644 --- a/extensions/pod-menu/src/logs-menu.tsx +++ b/extensions/pod-menu/src/logs-menu.tsx @@ -62,7 +62,7 @@ export class PodLogsMenu extends React.Component { return ( this.showLogs(containers[0]))}> - + Logs {containers.length > 1 && ( <> diff --git a/extensions/pod-menu/src/shell-menu.tsx b/extensions/pod-menu/src/shell-menu.tsx index e1c72391aa..4c52379525 100644 --- a/extensions/pod-menu/src/shell-menu.tsx +++ b/extensions/pod-menu/src/shell-menu.tsx @@ -79,7 +79,7 @@ export class PodShellMenu extends React.Component { return ( this.execShell(containers[0].name))}> - + Shell {containers.length > 1 && ( <> diff --git a/integration/__tests__/cluster-pages.tests.ts b/integration/__tests__/cluster-pages.tests.ts index 9fa04500b8..1bdd96e31a 100644 --- a/integration/__tests__/cluster-pages.tests.ts +++ b/integration/__tests__/cluster-pages.tests.ts @@ -41,9 +41,13 @@ describe("Lens cluster pages", () => { const BACKSPACE = "\uE003"; let app: Application; const ready = minikubeReady(TEST_NAMESPACE); + let clusterAdded = false; + + afterEach(() => { + clusterAdded = false; + }); utils.describeIf(ready)("test common pages", () => { - let clusterAdded = false; const addCluster = async () => { await waitForMinikubeDashboard(app); await app.client.click('a[href="/nodes"]'); @@ -68,10 +72,9 @@ describe("Lens cluster pages", () => { }); const appStartAddCluster = async () => { - if (clusterAdded) { - app = await utils.appStart(); - await addCluster(); - } + app = await utils.appStart(); + await addCluster(); + clusterAdded = true; }; function getSidebarSelectors(itemId: string) { @@ -408,8 +411,12 @@ describe("Lens cluster pages", () => { // Open logs tab in dock await app.client.click(".list .TableRow:first-child"); await app.client.waitForVisible(".Drawer"); - await app.client.waitForVisible(`ul.KubeObjectMenu li.MenuItem i[title="Logs"]`); - await app.client.click("ul.KubeObjectMenu li.MenuItem i[title='Logs']"); + + const logsButton = "ul.KubeObjectMenu li.MenuItem i.Icon span[data-icon-name='subject']"; + + await app.client.waitForVisible(logsButton); + await app.client.click(logsButton); + // Check if controls are available await app.client.waitForVisible(".LogList .VirtualList"); await app.client.waitForVisible(".LogResourceSelector"); diff --git a/src/renderer/components/+apps-releases/release-menu.tsx b/src/renderer/components/+apps-releases/release-menu.tsx index 2e85c40c05..30f048c8cb 100644 --- a/src/renderer/components/+apps-releases/release-menu.tsx +++ b/src/renderer/components/+apps-releases/release-menu.tsx @@ -63,7 +63,7 @@ export class HelmReleaseMenu extends React.Component { <> {hasRollback && ( - + Rollback )} diff --git a/src/renderer/components/+catalog/catalog-entity-drawer-menu.tsx b/src/renderer/components/+catalog/catalog-entity-drawer-menu.tsx index 545eebb933..af3104afe2 100644 --- a/src/renderer/components/+catalog/catalog-entity-drawer-menu.tsx +++ b/src/renderer/components/+catalog/catalog-entity-drawer-menu.tsx @@ -91,7 +91,7 @@ export class CatalogEntityDrawerMenu extends React.Comp items.push( this.onMenuItemClick(menuItem)}> @@ -100,7 +100,7 @@ export class CatalogEntityDrawerMenu extends React.Comp items.push( this.addToHotbar(entity) }> - + ); diff --git a/src/renderer/components/+user-management/+service-accounts/view.tsx b/src/renderer/components/+user-management/+service-accounts/view.tsx index 282ae3ec63..65798af192 100644 --- a/src/renderer/components/+user-management/+service-accounts/view.tsx +++ b/src/renderer/components/+user-management/+service-accounts/view.tsx @@ -93,7 +93,7 @@ export function ServiceAccountMenu(props: KubeObjectMenuProps) { return ( openServiceAccountKubeConfig(object)}> - + Kubeconfig ); diff --git a/src/renderer/components/+workloads-cronjobs/cronjobs.tsx b/src/renderer/components/+workloads-cronjobs/cronjobs.tsx index df976a187b..b1a812cc4f 100644 --- a/src/renderer/components/+workloads-cronjobs/cronjobs.tsx +++ b/src/renderer/components/+workloads-cronjobs/cronjobs.tsx @@ -107,7 +107,7 @@ export function CronJobMenu(props: KubeObjectMenuProps) { return ( <> CronJobTriggerDialog.open(object)}> - + Trigger @@ -126,7 +126,7 @@ export function CronJobMenu(props: KubeObjectMenuProps) { Resume CronJob {object.getName()}?

), })}> - + Resume
@@ -144,7 +144,7 @@ export function CronJobMenu(props: KubeObjectMenuProps) { Suspend CronJob {object.getName()}?

), })}> - + Suspend
} diff --git a/src/renderer/components/+workloads-deployments/deployments.tsx b/src/renderer/components/+workloads-deployments/deployments.tsx index d57d5135b2..c07dc397cc 100644 --- a/src/renderer/components/+workloads-deployments/deployments.tsx +++ b/src/renderer/components/+workloads-deployments/deployments.tsx @@ -124,7 +124,7 @@ export function DeploymentMenu(props: KubeObjectMenuProps) { return ( <> DeploymentScaleDialog.open(object)}> - + Scale ConfirmDialog.open({ @@ -146,7 +146,7 @@ export function DeploymentMenu(props: KubeObjectMenuProps) {

), })}> - + Restart
diff --git a/src/renderer/components/+workloads-replicasets/replicasets.tsx b/src/renderer/components/+workloads-replicasets/replicasets.tsx index b14915e85f..51d63fec55 100644 --- a/src/renderer/components/+workloads-replicasets/replicasets.tsx +++ b/src/renderer/components/+workloads-replicasets/replicasets.tsx @@ -98,7 +98,7 @@ export function ReplicaSetMenu(props: KubeObjectMenuProps) { return ( <> ReplicaSetScaleDialog.open(object)}> - + Scale diff --git a/src/renderer/components/+workloads-statefulsets/statefulsets.tsx b/src/renderer/components/+workloads-statefulsets/statefulsets.tsx index 0431191d7d..82b1fff151 100644 --- a/src/renderer/components/+workloads-statefulsets/statefulsets.tsx +++ b/src/renderer/components/+workloads-statefulsets/statefulsets.tsx @@ -103,7 +103,7 @@ export function StatefulSetMenu(props: KubeObjectMenuProps) { return ( <> StatefulSetScaleDialog.open(object)}> - + Scale diff --git a/src/renderer/components/dock/dock-tab.tsx b/src/renderer/components/dock/dock-tab.tsx index bf3fea3016..dd4ff63824 100644 --- a/src/renderer/components/dock/dock-tab.tsx +++ b/src/renderer/components/dock/dock-tab.tsx @@ -94,7 +94,7 @@ export class DockTab extends React.Component { {!pinned && ( )} diff --git a/src/renderer/components/file-picker/file-picker.tsx b/src/renderer/components/file-picker/file-picker.tsx index 0479f91ce3..cc1e850cd2 100644 --- a/src/renderer/components/file-picker/file-picker.tsx +++ b/src/renderer/components/file-picker/file-picker.tsx @@ -71,15 +71,15 @@ export interface BaseProps { // the larger number is upper limit, the lower is lower limit // the lower limit is capped at 0 and the upper limit is capped at Infinity limit?: [number, number]; - + // default is "Reject" onOverLimit?: OverLimitStyle; - + // individual files are checked before the total size. maxSize?: number; // default is "Reject" onOverSizeLimit?: OverSizeLimitStyle; - + maxTotalSize?: number; // default is "Reject" onOverTotalSizeLimit?: OverTotalSizeLimitStyle; @@ -158,7 +158,7 @@ export class FilePicker extends React.Component { files = _.orderBy(files, ["size"]); case OverTotalSizeLimitStyle.FILTER_LAST: let newTotalSize = totalSize; - + for (;files.length > 0;) { newTotalSize -= files.pop().size; @@ -180,12 +180,12 @@ export class FilePicker extends React.Component { const numberLimitedFiles = this.handleFileCount(files); const sizeLimitedFiles = this.handleIndiviualFileSizes(numberLimitedFiles); const totalSizeLimitedFiles = this.handleTotalFileSizes(sizeLimitedFiles); - + if ("uploadDir" in this.props) { const { uploadDir } = this.props; this.status = FileInputStatus.PROCESSING; - + const paths: string[] = []; const promises = totalSizeLimitedFiles.map(async file => { const destinationPath = path.join(uploadDir, file.name); @@ -214,9 +214,9 @@ export class FilePicker extends React.Component { return
- { case FileInputStatus.PROCESSING: return ; case FileInputStatus.ERROR: - return ; + return ; default: return null; } diff --git a/src/renderer/components/icon/icon.tsx b/src/renderer/components/icon/icon.tsx index ec541f7457..ee24b6e3fa 100644 --- a/src/renderer/components/icon/icon.tsx +++ b/src/renderer/components/icon/icon.tsx @@ -122,7 +122,7 @@ export class Icon extends React.PureComponent { // render as material-icon if (material) { - iconContent = {material}; + iconContent = {material}; } // wrap icon's content passed from decorator diff --git a/src/renderer/components/kube-object/kube-object-menu.tsx b/src/renderer/components/kube-object/kube-object-menu.tsx index da576fcba0..f614ffc980 100644 --- a/src/renderer/components/kube-object/kube-object-menu.tsx +++ b/src/renderer/components/kube-object/kube-object-menu.tsx @@ -83,7 +83,9 @@ export class KubeObjectMenu extends React.Component extends React.Component extends React.Component - {this.getMenuItems(object)} + {this.getMenuItems()} ); } diff --git a/src/renderer/components/menu/menu-actions.tsx b/src/renderer/components/menu/menu-actions.tsx index 6017c699f4..a69f226e5e 100644 --- a/src/renderer/components/menu/menu-actions.tsx +++ b/src/renderer/components/menu/menu-actions.tsx @@ -137,13 +137,13 @@ export class MenuActions extends React.Component { {children} {updateAction && ( - + Edit )} {removeAction && ( - + Remove )}