Class { #name : 'MFTWorkoutLogEditorPage', #superclass : 'MFTPage', #instVars : [ 'workoutLogEditorComponent', 'workoutLog' ], #category : 'MyFitnessTracker-Web-Components', #package : 'MyFitnessTracker-Web', #tag : 'Components' } { #category : 'as yet unclassified' } MFTWorkoutLogEditorPage class >> forWorkoutLog: aMFTWorkoutLog [ ^ self new workoutLog: aMFTWorkoutLog; workoutLogEditorComponent: (MFTWorkoutLogEditorComponent forWorkoutLog: aMFTWorkoutLog); yourself ] { #category : 'as yet unclassified' } MFTWorkoutLogEditorPage class >> forWorkoutPrescription: aMFTWorkoutPrescription [ | workoutLog | workoutLog := MFTWorkoutLog forPrescription: aMFTWorkoutPrescription. workoutLog start ifNil: [ workoutLog startNow ]. workoutLog finish ifNil: [ workoutLog finish: workoutLog start ]. ^ self forWorkoutLog: workoutLog ] { #category : 'as yet unclassified' } MFTWorkoutLogEditorPage >> children [ ^ { workoutLogEditorComponent } ] { #category : 'rendering' } MFTWorkoutLogEditorPage >> renderContentOn: html [ html heading level: 1; with: 'Log Workout'. html heading level: 2; with: workoutLog prescription canonicalName. html horizontalRule. html render: workoutLogEditorComponent ] { #category : 'accessing' } MFTWorkoutLogEditorPage >> title [ ^ 'Log workout' ] { #category : 'accessing' } MFTWorkoutLogEditorPage >> workoutLog: aMFTWorkoutLog [ workoutLog := aMFTWorkoutLog ] { #category : 'as yet unclassified' } MFTWorkoutLogEditorPage >> workoutLogEditorComponent: aMFTWorkoutLogEditorComponent [ workoutLogEditorComponent := aMFTWorkoutLogEditorComponent onSaveWorkout: [ self answer: workoutLog ]; onDiscardWorkout: [ self answer: nil ] ]