Update components.

Commit
b5ab8c4ade5b462fb16c34727ed464b65fbefd80
Author
Marius Peter <dev@marius-peter.com>
Author date
Committer
Marius Peter <dev@marius-peter.com>
Committer date
Changed files
src/MyFitnessTracker-Components/MFTHomepage.class.st
index 64b2fad6..be99f8ee 100644..100644
@@ -1,12 +1,51 @@
1 1 Class {
2 2 #name : 'MFTHomepage',
3 3 #superclass : 'WAComponent',
4 Added: #instVars : [
5 Added: 'workoutPlan'
6 Added: ],
4 7 #category : 'MyFitnessTracker-Components',
5 8 #package : 'MyFitnessTracker-Components'
6 9 }
7 10
11 Added: { #category : 'initialization' }
12 Added: MFTHomepage >> initialize [
13 Added:
14 Added: super initialize.
15 Added: workoutPlan := MFTWorkoutPlan placeholder
16 Added: ]
17 Added:
8 18 { #category : 'rendering' }
9 19 MFTHomepage >> renderContentOn: html [
10 20
11 Removed: html paragraph: 'foo'
21 Added: html heading
22 Added: level: 1;
23 Added: with: 'Workouts'.
24 Added: html heading
25 Added: level: 2;
26 Added: with: 'Next workout'.
27 Added: html render:
28 Added: (MFTWorkoutComponent workout: workoutPlan nextPlannedWorkout).
29 Added: html heading
30 Added: level: 2;
31 Added: with: 'Completed workouts'.
32 Added: workoutPlan completedWorkouts do: [ :workout |
33 Added: html render: (MFTWorkoutComponent workout: workout) ]
34 Added: ]
35 Added:
36 Added: { #category : 'rendering' }
37 Added: MFTHomepage >> style [
38 Added: ^ 'color: red;'
39 Added: ]
40 Added:
41 Added: { #category : 'accessing' }
42 Added: MFTHomepage >> workoutPlan [
43 Added:
44 Added: ^ workoutPlan
45 Added: ]
46 Added:
47 Added: { #category : 'accessing' }
48 Added: MFTHomepage >> workoutPlan: anObject [
49 Added:
50 Added: workoutPlan := anObject
12 51 ]
src/MyFitnessTracker-Components/MFTRootComponent.class.st
index 4a9d1c84..e7880e0f 100644..100644
@@ -47,15 +47,16 @@
47 47 ]
48 48
49 49 { #category : 'updating' }
50 Removed: MFTRootComponent >> updateRoot: anHtmlRoot [
50 Added: MFTRootComponent >> updateRoot: aRoot [
51 51
52 Removed: super updateRoot: anHtmlRoot.
53 Removed: anHtmlRoot beHtml5.
54 Removed: anHtmlRoot meta
52 Added: super updateRoot: aRoot.
53 Added: aRoot beHtml5.
54 Added: aRoot meta
55 55 name: 'viewport';
56 56 content: 'width=device-width, initial-scale=1'.
57 Removed: anHtmlRoot title: 'My Fitness Tracker'.
58 Removed: anHtmlRoot link
57 Added: aRoot title: 'My Fitness Tracker'.
58 Added: aRoot link
59 59 beShortcutIcon;
60 Removed: url: MFTFileLibrary / #faviconPng
60 Added: url: MFTFileLibrary / #faviconPng.
61 Added: aRoot stylesheet url: MFTFileLibrary / #defaultCss
61 62 ]
src/MyFitnessTracker-Components/MFTWorkoutComponent.class.st
index 00000000..b6ca7d4f 000000..100644
@@ -0,0 +1,59 @@
1 Added: Class {
2 Added: #name : 'MFTWorkoutComponent',
3 Added: #superclass : 'WAComponent',
4 Added: #instVars : [
5 Added: 'workout'
6 Added: ],
7 Added: #category : 'MyFitnessTracker-Components',
8 Added: #package : 'MyFitnessTracker-Components'
9 Added: }
10 Added:
11 Added: { #category : 'accessing' }
12 Added: MFTWorkoutComponent class >> workout: aMFTWorkout [
13 Added:
14 Added: ^ self new
15 Added: workout: aMFTWorkout;
16 Added: yourself
17 Added: ]
18 Added:
19 Added: { #category : 'rendering' }
20 Added: MFTWorkoutComponent >> renderContentOn: html [
21 Added:
22 Added: html div
23 Added: class: 'workout';
24 Added: with: [
25 Added: html heading
26 Added: level: 3;
27 Added: with: workout status capitalized.
28 Added: self setGroupsAsTableOn: html ]
29 Added: ]
30 Added:
31 Added: { #category : 'rendering' }
32 Added: MFTWorkoutComponent >> setGroupsAsTableOn: html [
33 Added:
34 Added: html table: [
35 Added: html tableHead: [
36 Added: html
37 Added: tableHeading: 'Set Group';
38 Added: tableHeading: 'Reps';
39 Added: tableHeading: 'Load' ].
40 Added: workout setGroups collect: [ :setGroup |
41 Added: html tableHead: [ html tableHeading: setGroup type ].
42 Added: setGroup sets collect: [ :set |
43 Added: html tableRow: (html
44 Added: tableData: set exercise;
45 Added: tableData: set reps;
46 Added: tableData: set load) ] ] ]
47 Added: ]
48 Added:
49 Added: { #category : 'accessing' }
50 Added: MFTWorkoutComponent >> workout [
51 Added:
52 Added: ^ workout
53 Added: ]
54 Added:
55 Added: { #category : 'accessing' }
56 Added: MFTWorkoutComponent >> workout: aMFTWorkout [
57 Added:
58 Added: workout := aMFTWorkout
59 Added: ]