mirror of
https://gitlab.com/comunic/comunicmobile
synced 2024-11-22 12:59:21 +00:00
Do not render survey pie chart which have not response
This commit is contained in:
parent
cbc0de944e
commit
e1f8ad1466
@ -33,6 +33,9 @@ class Survey {
|
||||
|
||||
bool get hasResponded => this.userChoice != null && this.userChoice > 0;
|
||||
|
||||
bool get hasResponses =>
|
||||
this.choices.where((f) => f.responses > 0).length > 0;
|
||||
|
||||
SurveyChoice get userResponse {
|
||||
if (!hasResponded) return null;
|
||||
|
||||
|
@ -42,9 +42,7 @@ class _SurveyWidgetState extends State<SurveyWidget> {
|
||||
style: TextStyle(fontWeight: FontWeight.bold),
|
||||
),
|
||||
_buildUserResponse(),
|
||||
PieChart(
|
||||
dataMap: _buildDataMap(),
|
||||
),
|
||||
survey.hasResponses ? _buildChart() : _buildNoResponseNotice(),
|
||||
],
|
||||
);
|
||||
}
|
||||
@ -98,15 +96,28 @@ class _SurveyWidgetState extends State<SurveyWidget> {
|
||||
items: survey.choices
|
||||
.map(
|
||||
(f) => DropdownMenuItem<SurveyChoice>(
|
||||
value: f,
|
||||
child: Text(f.name),
|
||||
),
|
||||
value: f,
|
||||
child: Text(f.name),
|
||||
),
|
||||
)
|
||||
.toList(),
|
||||
onChanged: _respondToSurvey,
|
||||
);
|
||||
}
|
||||
|
||||
Widget _buildChart() {
|
||||
return PieChart(
|
||||
dataMap: _buildDataMap(),
|
||||
);
|
||||
}
|
||||
|
||||
Widget _buildNoResponseNotice() {
|
||||
return Padding(
|
||||
padding: const EdgeInsets.all(16.0),
|
||||
child: Text(tr("No response yet to this survey.")),
|
||||
);
|
||||
}
|
||||
|
||||
/// Respond to survey
|
||||
Future<void> _respondToSurvey(SurveyChoice choice) async {
|
||||
// Send the response to the server
|
||||
|
Loading…
Reference in New Issue
Block a user