[Pharo] Personal fitness tracker web app.
Introducing form ``body'' attribute.
Changed files
src/MyFitnessTracker/MFTExercisesForm.class.st
@@ -22,8 +22,8 @@
22
22
MFTExercisesForm >> initialize [
23
23
24
24
super initialize.
25
Removed:
heading := 'Exercises'.
26
Removed:
modelObject := OrderedCollection new
25
Added:
modelObject := OrderedCollection new.
26
Added:
heading := 'Exercises'
27
27
]
28
28
29
29
{ #category : 'rendering' }
src/MyFitnessTracker/MFTForm.class.st
@@ -8,14 +8,23 @@
8
8
#name : 'MFTForm',
9
9
#superclass : 'SBSComponent',
10
10
#instVars : [
11
Added:
'modelObject',
11
12
'heading',
12
Removed:
'modelObject'
13
Added:
'body'
13
14
],
14
15
#category : 'MyFitnessTracker-Forms',
15
16
#package : 'MyFitnessTracker',
16
17
#tag : 'Forms'
17
18
}
18
19
20
Added:
{ #category : 'initialization' }
21
Added:
MFTForm >> initialize [
22
Added:
23
Added:
super initialize.
24
Added:
heading := 'Form heading'.
25
Added:
body := Array new
26
Added:
]
27
Added:
19
28
{ #category : 'accessing' }
20
29
MFTForm >> modelObject [
21
30
@@ -26,6 +35,27 @@
26
35
MFTForm >> modelObject: anObject [
27
36
28
37
modelObject := anObject
38
Added:
]
39
Added:
40
Added:
{ #category : 'rendering' }
41
Added:
MFTForm >> renderContentOn: html [
42
Added:
43
Added:
self renderFormOn: html
44
Added:
]
45
Added:
46
Added:
{ #category : 'as yet unclassified' }
47
Added:
MFTForm >> renderFormOn: html [
48
Added:
49
Added:
html container
50
Added:
style: 'max-width: 40rem';
51
Added:
with: [
52
Added:
html displayHeading
53
Added:
level: 3;
54
Added:
with: heading.
55
Added:
html form: [
56
Added:
body do: [ :bodyComponent | html render: bodyComponent ].
57
Added:
html horizontalRule.
58
Added:
self renderSubmitOn: html ] ]
29
59
]
30
60
31
61
{ #category : 'as yet unclassified' }
src/MyFitnessTracker/MFTWorkoutForm.class.st
@@ -18,17 +18,11 @@
18
18
MFTWorkoutForm >> initialize [
19
19
20
20
super initialize.
21
Added:
modelObject := MFTWorkout new.
21
22
heading := 'Workout'.
22
Removed:
modelObject := MFTWorkout new
23
Removed:
]
24
Removed:
25
Removed:
{ #category : 'rendering' }
26
Removed:
MFTWorkoutForm >> renderContentOn: html [
27
Removed:
28
Removed:
self renderFormOn: html with: [
29
Removed:
html
30
Removed:
render: (MFTFormComponent set: #date) beMandatory;
31
Removed:
render: (MFTFormComponent set: #setGroups) beMandatory;
32
Removed:
render: (MFTFormComponent set: #primaryMuscleGroup) beOptional;
33
Removed:
render: (MFTFormComponent set: #secondaryMuscleGroups) beOptional ]
23
Added:
body := {
24
Added:
(MFTFormComponent set: #date) beMandatory.
25
Added:
(MFTFormComponent set: #setGroups) beMandatory.
26
Added:
(MFTFormComponent set: #primaryMuscleGroup) beOptional.
27
Added:
(MFTFormComponent set: #secondaryMuscleGroups) beOptional }
34
28
]