Simplify page-level callbacks.

Commit
ee7855fc51ef3bdb58d88e8ec2c1fcd3db34a197
Author
Marius Peter <dev@marius-peter.com>
Author date
Committer
Marius Peter <dev@marius-peter.com>
Committer date
Changed files
src/MyFitnessTracker-Web/MFTHomePage.class.st
index 519e6dce..ed26557e 100644..100644
@@ -1,20 +1,11 @@
1 1 Class {
2 2 #name : 'MFTHomePage',
3 3 #superclass : 'MFTPage',
4 Removed: #instVars : [
5 Removed: 'onLogWorkout'
6 Removed: ],
7 4 #category : 'MyFitnessTracker-Web-Components',
8 5 #package : 'MyFitnessTracker-Web',
9 6 #tag : 'Components'
10 7 }
11 8
12 Removed: { #category : 'accessing' }
13 Removed: MFTHomePage >> onLogWorkout: aBlock [
14 Removed:
15 Removed: onLogWorkout := aBlock
16 Removed: ]
17 Removed:
18 9 { #category : 'rendering' }
19 10 MFTHomePage >> renderContentOn: html [
20 11
@@ -33,9 +24,17 @@
33 24 { #category : 'rendering' }
34 25 MFTHomePage >> renderMainActionsOn: html [
35 26
27 Added: | trainee |
28 Added: trainee := self session user trainee.
29 Added:
36 30 html div: [
37 31 html anchor
38 Removed: callback: [ onLogWorkout value ];
32 Added: callback: [
33 Added: | workoutLog |
34 Added: workoutLog := self call:
35 Added: (MFTWorkoutLogEditorPage forWorkoutPrescription:
36 Added: trainee nextWorkoutPrescription).
37 Added: workoutLog ifNotNil: [ trainee logWorkout: workoutLog ] ];
39 38 with: 'Log workout' ]
40 39 ]
41 40
src/MyFitnessTracker-Web/MFTPlanPage.class.st
index afeb5890..67388adf 100644..100644
@@ -1,28 +1,22 @@
1 1 Class {
2 2 #name : 'MFTPlanPage',
3 3 #superclass : 'MFTPage',
4 Removed: #instVars : [
5 Removed: 'onChangePlan'
6 Removed: ],
7 4 #category : 'MyFitnessTracker-Web-Components',
8 5 #package : 'MyFitnessTracker-Web',
9 6 #tag : 'Components'
10 7 }
11 8
12 9 { #category : 'rendering' }
13 Removed: MFTPlanPage >> onChangePlan: aBlock [
14 Removed:
15 Removed: onChangePlan := aBlock
16 Removed: ]
17 Removed:
18 Removed: { #category : 'rendering' }
19 10 MFTPlanPage >> renderContentOn: html [
20 11
21 12 self renderPageOn: html with: [
22 Removed: html heading: 'Current plan'.
13 Added: html heading: 'Plan'.
14 Added: self renderPlanActionsOn: html.
15 Added: html heading
16 Added: level: 2;
17 Added: with: 'Current plan'.
23 18 self
24 19 renderCurrentPlanInfoOn: html;
25 Removed: renderPlanActionsOn: html;
26 20 renderPlanWorkoutsOn: html ]
27 21 ]
28 22
@@ -44,10 +38,19 @@
44 38 { #category : 'rendering' }
45 39 MFTPlanPage >> renderPlanActionsOn: html [
46 40
47 Removed: html div: [
48 Removed: html anchor
49 Removed: callback: [ onChangePlan value ];
50 Removed: with: 'Change plan' ]
41 Added: html unorderedList: [
42 Added: html
43 Added: listItem: [
44 Added: html anchor
45 Added: callback: [ self ];
46 Added: with: 'View current plan' ];
47 Added: listItem: [
48 Added: html anchor
49 Added: callback: [
50 Added: self call:
51 Added: (MFTPlanEditorPage forRoutine:
52 Added: self session user trainee routine) ];
53 Added: with: 'Edit plan' ] ]
51 54 ]
52 55
53 56 { #category : 'rendering' }
src/MyFitnessTracker-Web/MFTScreenComponent.class.st
index 353d6466..decde4f1 100644..100644
@@ -60,17 +60,8 @@
60 60 trainee := self session user trainee.
61 61
62 62 mainPages := OrderedDictionary newFrom: {
63 Removed: (#home -> (MFTHomePage new onLogWorkout: [
64 Removed: | workoutLog |
65 Removed: workoutLog := activePage call:
66 Removed: (MFTWorkoutLogEditorPage
67 Removed: forWorkoutPrescription:
68 Removed: trainee nextWorkoutPrescription).
69 Removed: workoutLog ifNotNil: [
70 Removed: trainee logWorkout: workoutLog ] ])).
71 Removed: (#plan -> (MFTPlanPage new onChangePlan: [
72 Removed: activePage call:
73 Removed: (MFTPlanEditorPage forRoutine: trainee routine) ])).
63 Added: (#home -> MFTHomePage new).
64 Added: (#plan -> MFTPlanPage new).
74 65 (#profile -> MFTProfilePage new) }
75 66 ]
76 67