Skip to content

Commit b42de8a

Browse files
committed
comments
1 parent 9e7f4b9 commit b42de8a

File tree

3 files changed

+26
-21
lines changed

3 files changed

+26
-21
lines changed

app/lib/frontend/dom/material.dart

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -439,16 +439,16 @@ d.Node option({
439439

440440
d.Node radioButtons({
441441
required String name,
442-
required List<({String id, String value})> idsAndValues,
443-
String? checkedId,
442+
required List<({String label, String value, String id})> radios,
443+
String? initialValue,
444444
Iterable<String>? classes,
445445
String? leadingText,
446446
}) {
447447
final nodes = <d.Node>[];
448448
if (leadingText != null) {
449449
nodes.add(d.strong(text: leadingText));
450450
}
451-
idsAndValues.forEach((e) {
451+
radios.forEach((e) {
452452
nodes.add(d.input(
453453
id: e.id,
454454
type: 'radio',
@@ -457,9 +457,9 @@ d.Node radioButtons({
457457
classes: [
458458
...?classes,
459459
],
460-
attributes: {if (e.id == checkedId) 'checked': ''},
460+
attributes: {if (e.value == initialValue) 'checked': ''},
461461
));
462-
nodes.add(d.label(attributes: {'for': e.id}, child: d.text(e.value)));
462+
nodes.add(d.label(attributes: {'for': e.id}, child: d.text(e.label)));
463463
});
464464

465465
return d.div(classes: ['mdc-form-field'], children: nodes);

app/lib/frontend/templates/views/pkg/score_tab.dart

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -186,13 +186,13 @@ d.Node _downloadsChart(WeeklyVersionDownloadCounts weeklyVersionDownloads) {
186186
radioButtons(
187187
leadingText: 'By versions: ',
188188
name: 'version-modes',
189-
idsAndValues: [
190-
(id: 'major', value: 'Major'),
191-
(id: 'minor', value: 'Minor'),
192-
(id: 'patch', value: 'Patch')
189+
radios: [
190+
(id: 'version-modes-major', value: 'major', label: 'Major'),
191+
(id: 'version-modes-minor', value: 'minor', label: 'Minor'),
192+
(id: 'version-modes-patch', value: 'patch', label: 'Patch')
193193
],
194194
classes: ['downloads-chart-radio-button'],
195-
checkedId: 'major')
195+
initialValue: 'major')
196196
],
197197
);
198198
final container = d.div(

pkg/web_app/lib/src/widget/downloads_chart/widget.dart

Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import 'package:_pub_shared/data/download_counts_data.dart';
99
import 'package:_pub_shared/format/date_format.dart';
1010
import 'package:_pub_shared/format/number_format.dart';
1111
import 'package:web/web.dart';
12+
import 'package:web_app/src/web_util.dart';
1213

1314
import 'computations.dart';
1415

@@ -64,20 +65,24 @@ void create(HTMLElement element, Map<String, String> options) {
6465
);
6566

6667
final versionModesLists = {
67-
'Major': majorDisplayLists,
68-
'Minor': minorDisplayLists,
69-
'Patch': patchDisplayLists
68+
'major': majorDisplayLists,
69+
'minor': minorDisplayLists,
70+
'patch': patchDisplayLists
7071
};
7172

72-
final versionModes = document.getElementsByName(versionsRadio);
73-
for (int i = 0; i < versionModes.length; i++) {
74-
final radioButton = versionModes.item(i) as HTMLInputElement;
75-
if (versionModesLists[radioButton.value] != null) {
76-
radioButton.onClick.listen((e) {
77-
drawChart(svg, versionModesLists[radioButton.value]!, data.newestDate);
78-
});
73+
final versionModes = document.getElementsByName(versionsRadio).toList();
74+
versionModes.forEach((i) {
75+
final radioButton = i as HTMLInputElement;
76+
final value = radioButton.value;
77+
final displayList = versionModesLists[value];
78+
79+
if (displayList == null) {
80+
throw UnsupportedError('Unsupported versions-radio value: "$value"');
7981
}
80-
}
82+
radioButton.onClick.listen((e) {
83+
drawChart(svg, displayList, data.newestDate);
84+
});
85+
});
8186

8287
drawChart(svg, majorDisplayLists, data.newestDate);
8388
}

0 commit comments

Comments
 (0)