Skip to content

Commit f3ef95c

Browse files
Retain installation interface using version menu (#1471)
1 parent bc264d1 commit f3ef95c

File tree

2 files changed

+9
-4
lines changed

2 files changed

+9
-4
lines changed

Diff for: arduino-ide-extension/src/browser/style/list-widget.css

+2-2
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@
133133
flex-direction: column-reverse;
134134
}
135135

136-
.component-list-item:hover .footer > * {
136+
.component-list-item .footer > * {
137137
display: inline-block;
138138
margin: 5px 0px 0px 10px;
139139
}
@@ -162,4 +162,4 @@
162162

163163
.hc-black.hc-theia.theia-hc .component-list-item .header .installed:before {
164164
border: 1px solid var(--theia-button-border);
165-
}
165+
}

Diff for: arduino-ide-extension/src/browser/widgets/component-list/component-list-item.tsx

+7-2
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ export class ComponentListItem<
1515
this.state = {
1616
selectedVersion: version,
1717
focus: false,
18+
versionUpdate: false,
1819
};
1920
}
2021
}
@@ -33,7 +34,9 @@ export class ComponentListItem<
3334
return (
3435
<div
3536
onMouseEnter={() => this.setState({ focus: true })}
36-
onMouseLeave={() => this.setState({ focus: false })}
37+
onMouseLeave={() => {
38+
if (!this.state.versionUpdate) this.setState({ focus: false });
39+
}}
3740
>
3841
{itemRenderer.renderItem(
3942
Object.assign(this.state, { item }),
@@ -52,6 +55,7 @@ export class ComponentListItem<
5255
)[0];
5356
this.setState({
5457
selectedVersion: version,
58+
versionUpdate: false,
5559
});
5660
try {
5761
await this.props.install(item, toInstall);
@@ -67,7 +71,7 @@ export class ComponentListItem<
6771
}
6872

6973
private onVersionChange(version: Installable.Version): void {
70-
this.setState({ selectedVersion: version });
74+
this.setState({ selectedVersion: version, versionUpdate: true });
7175
}
7276
}
7377

@@ -83,5 +87,6 @@ export namespace ComponentListItem {
8387
export interface State {
8488
selectedVersion?: Installable.Version;
8589
focus: boolean;
90+
versionUpdate: boolean;
8691
}
8792
}

0 commit comments

Comments
 (0)