Skip to content

Commit d3e511a

Browse files
committed
Merge PR #1906: Update Crank framework
2 parents 9ca75d9 + a00e648 commit d3e511a

File tree

9 files changed

+219
-185
lines changed

9 files changed

+219
-185
lines changed

frameworks/keyed/crank/src/main.jsx

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@ function Button({id, title}) {
3434
);
3535
}
3636

37-
3837
function Jumbotron() {
3938
this.addEventListener("click", (ev) => {
4039
if (ev.target.tagName === "BUTTON") {
@@ -175,15 +174,15 @@ function *Main() {
175174
this.refresh();
176175
});
177176

178-
while (true) {
177+
for ({} of this) {
179178
yield (
180179
<div class="container">
181180
<Jumbotron />
182181
<table class="table table-hover table-striped test-data">
183182
<tbody>
184183
{data.map((item) => (
185184
<Row
186-
crank-key={item.id}
185+
key={item.id}
187186
item={item}
188187
selected={item.id === selected}
189188
/>

webdriver-ts-results/src/components/ResultTable/ResultTable.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ const ResultTable = ({ type }: Props) => {
3939
!data ||
4040
data.frameworks.length === 0 ||
4141
(data.getResult(BenchmarkType.CPU).benchmarks.length === 0 &&
42-
data.getResult(BenchmarkType.STARTUP).benchmarks.length === 0 &&
42+
data.getResult(BenchmarkType.SIZE).benchmarks.length === 0 &&
4343
data.getResult(BenchmarkType.MEM).benchmarks.length === 0)
4444
) {
4545
return null;

webdriver-ts-results/src/components/SelectionToolbar/BenchmarkSelector/BenchmarkSelector.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import { useState, useEffect } from "react";
66
const content = (
77
<>
88
<BenchmarkSelectorCategory benchmarkType={BenchmarkType.CPU} label="Duration" />
9-
<BenchmarkSelectorCategory benchmarkType={BenchmarkType.STARTUP} label="Startup" />
9+
<BenchmarkSelectorCategory benchmarkType={BenchmarkType.SIZE} label="Transferred size" />
1010
<BenchmarkSelectorCategory benchmarkType={BenchmarkType.MEM} label="Memory" />
1111
</>
1212
);

webdriver-ts-results/src/components/SelectionToolbar/BenchmarkSelector/BenchmarkSelectorCategory.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { BenchmarkType } from "@/Common";
1+
import { BenchmarkType, FrameworkType } from "@/Common";
22
import { useRootStore } from "@/store";
33
import SelectorContentContainer from "@/components/SelectionToolbar/SelectorContentContainer";
44
import BenchmarkSelectorList from "./BenchmarkSelectorList";

webdriver-ts-results/src/components/SelectionToolbar/FrameworkSelector/FrameworkSelectorCategory.tsx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,18 +14,22 @@ const FrameworkSelectorCategory = ({ label, frameworkType }: Props) => {
1414
const selectedFrameworks = useRootStore((state) => state.selectedFrameworks);
1515
const frameworks = useRootStore((state) => state.frameworkLists[frameworkType]);
1616
const isNoneSelected = useRootStore((state) => state.isNoneFrameworkSelected);
17+
const isUnflaggedSelected = useRootStore((state) => state.isUnflaggedFrameworkSelected);
1718
const areAllSelected = useRootStore((state) => state.areAllFrameworksSelected);
1819

1920
const selectFramework = useRootStore((state) => state.selectFramework);
2021
const selectAllFrameworks = useRootStore((state) => state.selectAllFrameworks);
22+
const selectUnflaggedFrameworks = useRootStore((state) => state.selectUnflaggedFrameworks);
2123

2224
return (
2325
<SelectorContentContainer
2426
grid
2527
isNoneSelected={isNoneSelected(frameworkType)}
28+
isUnflaggedSelected={isUnflaggedSelected(frameworkType)}
2629
areAllSelected={areAllSelected(frameworkType)}
2730
selectNone={() => selectAllFrameworks(frameworkType, false)}
2831
selectAll={() => selectAllFrameworks(frameworkType, true)}
32+
selectUnflagged={() => selectUnflaggedFrameworks(frameworkType)}
2933
label={label}
3034
>
3135
<FrameworkSelectorList

webdriver-ts-results/src/components/SelectionToolbar/SelectorContentContainer/SelectionContentContainer.tsx

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,10 @@ import { Button, Flex } from "antd";
55
interface Props {
66
children: React.ReactElement;
77
selectNone: (event: React.SyntheticEvent) => void;
8+
selectUnflagged?: (event: React.SyntheticEvent) => void;
89
selectAll: (event: React.SyntheticEvent) => void;
910
isNoneSelected: boolean;
11+
isUnflaggedSelected?: boolean;
1012
areAllSelected: boolean;
1113
grid?: boolean;
1214
label: string;
@@ -15,7 +17,9 @@ interface Props {
1517
const SelectorContentContainer = ({
1618
selectAll,
1719
selectNone,
20+
selectUnflagged,
1821
isNoneSelected,
22+
isUnflaggedSelected,
1923
areAllSelected,
2024
children,
2125
grid = false,
@@ -25,6 +29,10 @@ const SelectorContentContainer = ({
2529
!isNoneSelected && selectNone(event);
2630
};
2731

32+
const handleSelectUnflagged = (event: React.MouseEvent) => {
33+
!isUnflaggedSelected && selectUnflagged && selectUnflagged(event);
34+
};
35+
2836
const handleSelectAll = (event: React.MouseEvent) => {
2937
!areAllSelected && selectAll(event);
3038
};
@@ -40,6 +48,10 @@ const SelectorContentContainer = ({
4048
<Button type="text" onClick={handleSelectAll} disabled={areAllSelected} aria-label="Select all">
4149
All
4250
</Button>
51+
{selectUnflagged &&
52+
(<Button type="text" onClick={handleSelectUnflagged} disabled={isUnflaggedSelected} aria-label="Select unflagged">
53+
Unflagged
54+
</Button>)}
4355
</div>
4456
</Flex>
4557
<div className={`selector-content-container__content ${grid ? "grid" : ""}`}>

webdriver-ts-results/src/results.ts

Lines changed: 174 additions & 177 deletions
Large diffs are not rendered by default.

webdriver-ts-results/src/store.ts

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,8 +91,10 @@ interface Actions {
9191
isNoneBenchmarkSelected: (type: BenchmarkType) => boolean;
9292
areAllFrameworksSelected: (type: FrameworkType) => boolean;
9393
isNoneFrameworkSelected: (type: FrameworkType) => boolean;
94+
isUnflaggedFrameworkSelected: (type: FrameworkType) => boolean;
9495
selectFramework: (framework: Framework, add: boolean) => void;
9596
selectAllFrameworks: (frameworkType: FrameworkType, add: boolean) => void;
97+
selectUnflaggedFrameworks: (frameworkType: FrameworkType) => void;
9698
selectCategory: (categoryId: number, add: boolean) => void;
9799
selectBenchmark: (benchmark: Benchmark, add: boolean) => void;
98100
selectAllBenchmarks: (benchmarkType: BenchmarkType, add: boolean) => void;
@@ -188,7 +190,7 @@ const preInitialState: State = {
188190
benchmarkLists: {
189191
[BenchmarkType.CPU]: rawBenchmarks.filter((b) => b.type === BenchmarkType.CPU),
190192
[BenchmarkType.MEM]: rawBenchmarks.filter((b) => b.type === BenchmarkType.MEM),
191-
[BenchmarkType.STARTUP]: rawBenchmarks.filter((b) => b.type === BenchmarkType.STARTUP),
193+
[BenchmarkType.SIZE]: rawBenchmarks.filter((b) => b.type === BenchmarkType.SIZE),
192194
},
193195
frameworks: mappedFrameworks,
194196
frameworkLists: {
@@ -232,6 +234,9 @@ export const useRootStore = create<State & Actions>((set, get) => ({
232234
isNoneFrameworkSelected: (type) => {
233235
return get().frameworkLists[type].every((framework) => !get().selectedFrameworks.has(framework));
234236
},
237+
isUnflaggedFrameworkSelected: (type) => {
238+
return get().frameworkLists[type].every((framework) => framework.issues.length ? !get().selectedFrameworks.has(framework) : get().selectedFrameworks.has(framework));
239+
},
235240
// Actions
236241
selectFramework: (framework: Framework, add: boolean) => {
237242
const newSelectedFramework = new Set(get().selectedFrameworks);
@@ -241,6 +246,23 @@ export const useRootStore = create<State & Actions>((set, get) => ({
241246
const t = { ...get(), selectedFrameworks: newSelectedFramework };
242247
return set(() => ({ ...t, resultTables: updateResultTable(t) }));
243248
},
249+
selectUnflaggedFrameworks: (frameworkType: FrameworkType) => {
250+
const newSelectedFramework = new Set(get().selectedFrameworks);
251+
const frameworks =
252+
frameworkType === FrameworkType.KEYED
253+
? get().frameworkLists[FrameworkType.KEYED]
254+
: get().frameworkLists[FrameworkType.NON_KEYED];
255+
256+
for (const framework of frameworks) {
257+
framework.issues.length ? newSelectedFramework.delete(framework) : newSelectedFramework.add(framework);
258+
}
259+
260+
const t = { ...get(), selectedFrameworks: newSelectedFramework };
261+
return set(() => ({
262+
...t,
263+
resultTables: updateResultTable(t),
264+
}));
265+
},
244266
selectAllFrameworks: (frameworkType: FrameworkType, add: boolean) => {
245267
const newSelectedFramework = new Set(get().selectedFrameworks);
246268
const frameworks =

webdriver-ts/results.json

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)