Graphs WIP.

Commit
420c76208c9c9b87fcc6dc0cc51d700cd7ee9c2f
Author
Marius Peter <marius.peter@tutanota.com>
Author date
Committer
Marius Peter <marius.peter@tutanota.com>
Committer date
Changed files
src/MyFitnessTracker/MFTWorkoutVolumePerWeekGraph.class.st
index 753763f3..a69eed2d 100644..100644
@@ -4,24 +4,33 @@
4 4 #category : #'MyFitnessTracker-Components'
5 5 }
6 6
7 Added: { #category : #'as yet unclassified' }
8 Added: MFTWorkoutVolumePerWeekGraph >> crunchTheNumbers [
9 Added: "TODO: not working at all!"
10 Added:
11 Added: | datasets datasetsAsJs |
12 Added: labels := Week dayNames.
13 Added: data := self session user workouts groupedBy: [ :each |
14 Added: each date dayOfYear // 7 ].
15 Added: "datasets := {
16 Added: { 1. 2. 0. 0. 3. 5. 3 }.
17 Added: { 3. 4. 3. 0. 0. 0. 6 } }."
18 Added: datasetsAsJs := data keysAndValuesDo: [ :k :v |
19 Added: '{ label: ' , (#w , k asString) asJavascript
20 Added: , ', data: ' , (v collect: #volume) asJavascript
21 Added: , '},' ]
22 Added: ]
23 Added:
7 24 { #category : #initialization }
8 25 MFTWorkoutVolumePerWeekGraph >> initialize [
9 26
10 Removed: super initialize
27 Added: super initialize.
28 Added: self crunchTheNumbers
11 29 ]
12 30
13 31 { #category : #rendering }
14 32 MFTWorkoutVolumePerWeekGraph >> renderContentOn: html [
15 33
16 Removed: | datasets datasetsAsJs |
17 Removed: labels := Date dayNames.
18 Removed: data := self session user workouts collect: #volume.
19 Removed: datasets := {
20 Removed: { 1. 2. 0. 0. 3. 5. 3 }.
21 Removed: { 3. 4. 3. 0. 0. 0. 6 } }.
22 Removed: datasetsAsJs := datasets collectWithIndex: [ :dataset :i |
23 Removed: '{ label: ' , i asJavascript , ', data: '
24 Removed: , dataset asJavascript , '},' ].
25 34 html canvas id: 'workoutVolumePerWeekChart'.
26 35 html script:
27 36 'var ctx = document.getElementById("workoutVolumePerWeekChart").getContext("2d");
@@ -29,7 +38,7 @@
29 38 type: "line",
30 39 data: {
31 40 labels: ' , labels asJavascript , ',
32 Removed: datasets: [ ' , (datasetsAsJs joinUsing: Character space) , ' ]
41 Added: datasets: [ ' , data asJavascript , ' ]
33 42 },
34 43 });'
35 44 ]
src/MyFitnessTracker/MFTWorkoutVolumeVsTimeGraph.class.st
index 4e13a612..b3685f1f 100644..100644
@@ -13,9 +13,11 @@
13 13 { #category : #rendering }
14 14 MFTWorkoutVolumeVsTimeGraph >> renderContentOn: html [
15 15
16 Removed: labels := self session user workouts collect: [ :workout |
17 Removed: workout date yyyymmdd ].
18 Removed: data := self session user workouts collect: #volume.
16 Added: | workouts |
17 Added: workouts := self session user workouts sort: [ :a :b |
18 Added: a date < b date ].
19 Added: labels := workouts collect: [ :workout | workout date yyyymmdd ].
20 Added: data := workouts collect: #volume.
19 21
20 22 html canvas id: 'workoutVolumeVsTimeChart'.
21 23 html script: