Page Menu
Home
c4science
Search
Configure Global Search
Log In
Files
F63090235
Debriefing.dart
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Subscribers
None
File Metadata
Details
File Info
Storage
Attached
Created
Fri, May 17, 17:23
Size
11 KB
Mime Type
text/x-c++
Expires
Sun, May 19, 17:23 (1 d, 23 h)
Engine
blob
Format
Raw Data
Handle
17731017
Attached To
R10646 Orchestration
Debriefing.dart
View Options
import 'package:flutter/material.dart';
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
import 'package:Teacher_Dashboard/widgets/custom_app_bar.dart';
import 'dart:convert';
import 'package:Teacher_Dashboard/config/palette.dart';
import 'package:Teacher_Dashboard/config/styles.dart';
import 'dart:async';
import './screens.dart';
import 'package:Teacher_Dashboard/model/Class.dart';
import 'package:Teacher_Dashboard/model/Group.dart';
import 'package:firebase_database/firebase_database.dart';
import 'package:Teacher_Dashboard/model/activities/activity.Dart';
import 'package:step_progress_indicator/step_progress_indicator.dart';
import 'package:Teacher_Dashboard/widgets/hexagonPainter.Dart';
import 'package:Teacher_Dashboard/widgets/celluloMap.Dart';
import 'package:provider/provider.dart';
//import 'package:Teacher_Dashboard/model/core/models/productModel.dart';
//import 'package:Teacher_Dashboard/model/core/viewmodels/CRUDModel.dart';
//import 'package:provider/provider.dart';
class Debriefing extends StatefulWidget {
@override
DebriefingState createState() => DebriefingState();
}
class DebriefingState extends State<Debriefing> {
bool mistakesSwitch = false;
bool rankingSwitch = false;
bool robotPatternSwitch = true;
int numofgroups = thisClass.groups.length;
int currentstepActivation = 0;
String pauseButtonText = 'Pause All';
final FirebaseDatabase _database = FirebaseDatabase.instance;
@override
void initState() {
super.initState();
}
@override
void dispose() {
super.dispose();
}
@override
Widget build(BuildContext context) {
// final productProvider = Provider.of<CRUDModel>(context);
return Scaffold(
backgroundColor: Colors.white,
appBar: AppBar(
backgroundColor: Palette.primaryColor,
elevation: 0.0,
title: Text('Debreifing'),
// leading: IconButton(
// icon: const Icon(Icons.menu),
// iconSize: 28.0,
// onPressed: () {},
// ),
// actions: <Widget>[
// IconButton(
// icon: const Icon(Icons.notifications_none),
// iconSize: 28.0,
// onPressed: () {},
// ),
// ],
),
body: Column(children: <Widget>[
SizedBox(
height: 800,
child: Consumer<Classroom>(
builder: (context, model, child) => Container(
child: ListView.builder(
itemCount: thisClass.groups.length,
itemBuilder: (context, int position) {
return Card(
child: ListTile(
onLongPress: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) =>
GroupDashboard(currentgroupID: position)));
},
title: Row(children: <Widget>[
SizedBox(width: 17),
Stack(children: <Widget>[
CircularStepProgressIndicator(
totalSteps: 3,
// currentStep:
// thisClass.groups[position].activities[0].progress,
width: 100,
customColor: (index) => thisClass
.groups[position]
.activities[acList.indexOf(thisClass
.groups[position].currentActivity)]
.progress[index] >
-2
? (thisClass
.groups[position]
.activities[acList.indexOf(thisClass
.groups[position]
.currentActivity)]
.progress[index] >
-1
? (thisClass
.groups[position]
.activities[acList.indexOf(thisClass.groups[position].currentActivity)]
.progress[index] >
0
? Colors.green
: Colors.blue)
: Colors.red)
: Colors.grey,
),
Positioned(
bottom: 45,
right: 28,
child: Center(
child: Text(
thisClass.groups[position].id,
style: TextStyle(
fontWeight: FontWeight.bold, fontSize: 13),
)),
),
]),
SizedBox(width: 25),
minituare(position, 1, mistakesSwitch, rankingSwitch,
robotPatternSwitch),
SizedBox(
width: 25,
),
minituare(position, 2, mistakesSwitch, rankingSwitch,
robotPatternSwitch),
SizedBox(
width: 25,
),
minituare(position, 3, mistakesSwitch, rankingSwitch,
robotPatternSwitch),
]),
trailing: Icon(Icons.more_vert),
));
},
)),
)),
/*
Row(
// mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: <Widget>[
Text(
'Show Students Mistakes',
style: TextStyle(
fontSize: 15.0,
// color: Colors.white,
fontWeight: FontWeight.bold),
),
SizedBox(width: 5),
Checkbox(
//title: const Text('Animate Slowly'),
value: mistakesSwitch,
onChanged: (bool value) {
setState(() {
mistakesSwitch = value;
});
},
// secondary: const Icon(Icons.hourglass_empty),
),
SizedBox(width: 300),
/*
Text(
'Show Students robot pattern',
style: TextStyle(
fontSize: 15.0,
// color: Colors.white,
fontWeight: FontWeight.bold),
),
SizedBox(width: 5),
Checkbox(
value: robotPatternSwitch,
onChanged: (bool value) {
setState(() {
robotPatternSwitch = value;
});
},
// secondary: const Icon(Icons.hourglass_empty),
),
*/
]),
*/
]));
}
}
Widget minituare(int position, int turn, bool mistakesSwitch,
bool rankingSwitch, bool robotpatternSwitch) {
var colors = [Colors.grey, Colors.red, Colors.blue, Colors.green];
List<int> gColor;
List<String> gridAcsPath = [
"assets/images/GridOnlyPositive.svg",
"assets/images/Grid.svg",
"assets/images/Grid_Ac5_Screen.svg",
"assets/images/Grid_Ac6_Screen.svg",
"assets/images/Grid_Ac5_Screen.svg",
"assets/images/Grid_Ac6_Screen.svg",
"assets/images/Grid_Ac7_Screen.svg",
"assets/images/Grid_Ac8_Screen.svg",
];
return Container(
width: 130,
height: 180,
decoration: BoxDecoration(
border: Border.all(
width: 0.5,
color: colors[
thisClass.groups[position].activities[0].progress[turn - 1] +
2])),
child: Stack(children: <Widget>[
Positioned(
bottom: 65,
right: 30,
width: 90,
height: 90,
child: celluloMap(
gridAcsPath[
acList.indexOf(thisClass.groups[position].currentActivity)],
turn,
acList.indexOf(thisClass.groups[position].currentActivity),
robotpatternSwitch,
thisClass
.groups[position]
.activities[acList
.indexOf(thisClass.groups[position].currentActivity)]
.turns[turn - 1]
.cellulov
.x,
thisClass
.groups[position]
.activities[acList
.indexOf(thisClass.groups[position].currentActivity)]
.turns[turn - 1]
.cellulov
.y,
90,
90)),
Positioned(
bottom: 155,
right: 27,
child: Text(
((turn > 1) ? ((turn > 2) ? 'Third ' : 'Second ') : 'First ') +
"Turn ",
style: TextStyle(fontWeight: FontWeight.bold, fontSize: 14),
)),
Positioned(bottom: 4, right: 50, child: Text(rankingSwitch ? "" : "")),
Positioned(
bottom: 25,
right: 6,
child: Text(
mistakesSwitch
? (thisClass.groups[position].activities[0].progress[turn - 1] > -2
? (thisClass.groups[position].activities[0].mistakes['slope'][turn - 1] == 0 &&
thisClass.groups[position].activities[0].mistakes['initialPoint'][turn - 1] ==
0
? 'No Mistakes'
: (thisClass.groups[position].activities[0].mistakes['slope'][turn - 1] > 0 &&
thisClass.groups[position].activities[0]
.mistakes['initialPoint'][turn - 1] >
0
? 'Mistakes in finding\n Slope and\n Initial Points'
: (thisClass.groups[position].activities[0].mistakes['slope'][turn - 1] > 0 &&
thisClass.groups[position].activities[0]
.mistakes['initialPoint'][turn - 1] ==
0
? 'Mistakes in finding\n slope'
: 'Mistakes in finding\n initial points')))
: '')
: '',
style: TextStyle(fontWeight: FontWeight.bold, fontSize: 14),
),
)
]));
}
Event Timeline
Log In to Comment