[Pharo] Personal fitness tracker web app.
Secondary muscle groups form component.
src/MyFitnessTracker/MFTSecondaryMuscleGroupsFormComponent.class.st
@@ -0,0 +1,39 @@
1
Added:
Class {
2
Added:
#name : 'MFTSecondaryMuscleGroupsFormComponent',
3
Added:
#superclass : 'MFTFormComponent',
4
Added:
#instVars : [
5
Added:
'allMuscleGroups'
6
Added:
],
7
Added:
#category : 'MyFitnessTracker-Forms',
8
Added:
#package : 'MyFitnessTracker',
9
Added:
#tag : 'Forms'
10
Added:
}
11
Added:
12
Added:
{ #category : 'as yet unclassified' }
13
Added:
MFTSecondaryMuscleGroupsFormComponent >> getSelectedMuscleGroups [
14
Added:
15
Added:
^ modelObject secondaryMuscleGroups ifNotEmpty: [
16
Added:
allMuscleGroups select: [ :muscleGroup |
17
Added:
(modelObject secondaryMuscleGroups collect: #englishName)
18
Added:
includes: muscleGroup englishName ] ]
19
Added:
]
20
Added:
21
Added:
{ #category : 'initialization' }
22
Added:
MFTSecondaryMuscleGroupsFormComponent >> initialize [
23
Added:
24
Added:
super initialize.
25
Added:
heading := 'Secondary Groups'.
26
Added:
allMuscleGroups := MFTSQLite3Database allMuscleGroups
27
Added:
]
28
Added:
29
Added:
{ #category : 'rendering' }
30
Added:
MFTSecondaryMuscleGroupsFormComponent >> renderContentOn: html [
31
Added:
32
Added:
self renderFormComponentOn: html with: [
33
Added:
html multiSelect formControl
34
Added:
list: allMuscleGroups;
35
Added:
selected: self getSelectedMuscleGroups;
36
Added:
labels: [ :muscleGroup | muscleGroup englishName ];
37
Added:
callback: [ :groups |
38
Added:
groups ifNotEmpty: [ modelObject secondaryMuscleGroups: groups ] ] ]
39
Added:
]