View raw

1 Class { 2 #name : 'MFTExerciseSelectorComponent', 3 #superclass : 'WAComponent', 4 #instVars : [ 5 'exercises', 6 'selectedExercise' 7 ], 8 #category : 'MyFitnessTracker-Web-Components', 9 #package : 'MyFitnessTracker-Web', 10 #tag : 'Components' 11 } 12 13 { #category : 'as yet unclassified' } 14 MFTExerciseSelectorComponent class >> forExercises: aMFTExerciseCollection [ 15 16 ^ self new 17 exercises: aMFTExerciseCollection; 18 yourself 19 ] 20 21 { #category : 'accessing' } 22 MFTExerciseSelectorComponent >> exercises [ 23 24 ^ exercises 25 ] 26 27 { #category : 'accessing' } 28 MFTExerciseSelectorComponent >> exercises: aMFTExerciseCollection [ 29 30 exercises := aMFTExerciseCollection 31 ] 32 33 { #category : 'rendering' } 34 MFTExerciseSelectorComponent >> renderContentOn: html [ 35 36 html form: [ 37 html select 38 list: exercises; 39 selected: selectedExercise; 40 callback: [ :value | selectedExercise := value ]. 41 html submitButton 42 callback: [ self answer: selectedExercise ]; 43 with: 'Submit' ] 44 ] 45 46 { #category : 'accessing' } 47 MFTExerciseSelectorComponent >> selectedExercise: aMFTExercise [ 48 49 selectedExercise := aMFTExercise 50 ] 51