Update set group log table format and add 'warm-up set' buttons.

Commit
66680aebebc2bd3f0627283cf6d8a05c6ef27067
Author
Marius Peter <dev@marius-peter.com>
Author date
Committer
Marius Peter <dev@marius-peter.com>
Committer date
Changed files
src/MyFitnessTracker-Web/MFTSetGroupLogEditorComponent.class.st
index 9d0e58f0..c6648d4c 100644..100644
@@ -21,46 +21,69 @@
21 21 MFTSetGroupLogEditorComponent >> renderContentOn: html [
22 22
23 23 html fieldSet: [
24 Removed: setGroupLog sets do: [ :setLog |
25 Removed: self renderSetLogEditorOn: html setLog: setLog ].
24 Added: html legend: setGroupLog prescription canonicalName capitalized.
25 Added: setGroupLog setsGroupedByExercise keysAndValuesDo: [ :exercise :sets |
26 Added: self renderOn: html exercise: exercise sets: sets ].
26 27 html submitButton
27 28 callback: [ self answer: setGroupLog ];
28 29 with: 'Save' ]
29 30 ]
30 31
31 Removed: { #category : 'as yet unclassified' }
32 Removed: MFTSetGroupLogEditorComponent >> renderSetLogEditorOn: html setLog: setLog [
32 Added: { #category : 'rendering' }
33 Added: MFTSetGroupLogEditorComponent >> renderOn: html exercise: exercise sets: sets [
33 34
34 Removed: html heading
35 Removed: level: 4;
36 Removed: with: setLog exercise canonicalName capitalized.
37 Removed:
38 35 html div
39 Removed: class: 'mft-form-items-container';
36 Added: style: 'margin-bottom: 1rem';
40 37 with: [
41 Removed: html label: 'Reps'.
42 Removed: html numberInput
43 Removed: value: setLog reps;
44 Removed: callback: [ :value |
45 Removed: value ifNotEmpty: [ setLog reps: value asNumber ] ] ].
38 Added: html heading
39 Added: level: 4;
40 Added: with: exercise canonicalName capitalized.
41 Added: html button
42 Added: callback: [
43 Added: setGroupLog
44 Added: addSet: (MFTSetLog forPrescription: sets last prescription)
45 Added: before: sets first ];
46 Added: with: 'Add warm-up set'.
46 47
47 Removed: html div
48 Removed: class: 'mft-form-items-container';
49 Removed: with: [
50 Removed: html label: 'Load'.
51 Removed: html numberInput
52 Removed: value: setLog load;
53 Removed: callback: [ :value |
54 Removed: value ifNotEmpty: [ setLog load: value asNumber ] ] ].
48 Added: html table: [
49 Added: html
50 Added: tableHead: [
51 Added: html tableRow: [
52 Added: html
53 Added: tableHeading;
54 Added: tableHeading: 'Reps';
55 Added: tableHeading: 'Load';
56 Added: tableHeading: 'To Failure';
57 Added: tableHeading ] ];
58 Added: tableBody: [
59 Added: sets do: [ :setLog | self renderOn: html setLog: setLog ] ] ] ]
60 Added: ]
55 61
56 Removed: html div
57 Removed: class: 'mft-form-items-container';
58 Removed: with: [
59 Removed: html checkbox
60 Removed: value: setLog failureAchieved;
61 Removed: callback: [ :value |
62 Removed: value ifNotNil: [ setLog failureAchieved: value ] ].
63 Removed: html label: 'Failure achieved' ]
62 Added: { #category : 'rendering' }
63 Added: MFTSetGroupLogEditorComponent >> renderOn: html setLog: setLog [
64 Added:
65 Added: html tableRow: [
66 Added: html
67 Added: tableData: (setGroupLog indexOfSet: setLog);
68 Added: tableData: [
69 Added: html numberInput
70 Added: placeholder: setLog prescription repScheme;
71 Added: callback: [ :value |
72 Added: value ifNotEmpty: [ setLog reps: value asNumber ] ];
73 Added: value: setLog reps ];
74 Added: tableData: [
75 Added: html numberInput
76 Added: callback: [ :value |
77 Added: value ifNotEmpty: [ setLog load: value asNumber ] ];
78 Added: value: setLog load ];
79 Added: tableData: [
80 Added: html checkbox
81 Added: callback: [ :value | setLog failureAchieved: value ];
82 Added: value: setLog failureAchieved ];
83 Added: tableData: [
84 Added: html button
85 Added: callback: [ setGroupLog removeSet: setLog ];
86 Added: with: 'Delete' ] ]
64 87 ]
65 88
66 89 { #category : 'accessing' }
src/MyFitnessTracker-Web/MFTSetGroupLogViewerComponent.class.st
index 6673faa2..d6ea2da1 100644..100644
@@ -47,6 +47,7 @@
47 47 ifFalse: [ 'Log' ].
48 48
49 49 html fieldSet: [
50 Added: html legend: setGroupLog canonicalName capitalized.
50 51 completelyLogged
51 52 ifTrue: [ self renderSetGroupLogDataOn: html ]
52 53 ifFalse: [ self renderSetGroupLogExercisesOn: html ].
@@ -64,33 +65,37 @@
64 65 { #category : 'rendering' }
65 66 MFTSetGroupLogViewerComponent >> renderSetGroupLogDataOn: html [
66 67
67 Removed: setGroupLog sets do: [ :setLog |
68 Added: setGroupLog setsGroupedByExercise keysAndValuesDo: [ :exercise :sets |
68 69 html heading
69 Removed: level: 4;
70 Removed: with: setLog exercise canonicalName capitalized.
70 Added: level: 3;
71 Added: with: exercise canonicalName capitalized.
71 72 html table: [
72 Removed: html tableBody: [
73 Removed: html tableRow: [
74 Removed: html
75 Removed: tableData: 'Reps';
76 Removed: tableData: setLog reps ].
77 Removed: html tableRow: [
78 Removed: html
79 Removed: tableData: 'Load';
80 Removed: tableData: setLog load ].
81 Removed: html tableRow: [
82 Removed: html
83 Removed: tableData: 'Failure achieved';
84 Removed: tableData: setLog failureAchieved ] ] ] ]
73 Added: html
74 Added: tableHead: [
75 Added: html tableRow: [
76 Added: html
77 Added: tableHeading;
78 Added: tableHeading: 'Reps';
79 Added: tableHeading: 'Load';
80 Added: tableHeading: 'To Failure' ] ];
81 Added: tableBody: [
82 Added: sets do: [ :set |
83 Added: html tableRow: [
84 Added: html
85 Added: tableData: (setGroupLog indexOfSet: set);
86 Added: tableData: set reps;
87 Added: tableData: set load;
88 Added: tableData: set failureAchieved ] ] ] ] ]
85 89 ]
86 90
87 91 { #category : 'rendering' }
88 92 MFTSetGroupLogViewerComponent >> renderSetGroupLogExercisesOn: html [
89 93
90 94 html heading
91 Removed: level: 4;
92 Removed: with: ((setGroupLog sets collect: #exercise) joinUsing: ', ')
93 Removed: asCapitalizedPhrase
95 Added: level: 3;
96 Added: with: ((setGroupLog prescription uniqueExercisesInSets collect:
97 Added: #canonicalName) asOrderedCollection joinUsing: ', ')
98 Added: capitalized
94 99 ]
95 100
96 101 { #category : 'accessing' }
src/MyFitnessTracker-Web/MFTWorkoutLogEditorComponent.class.st
index fd069536..84addf8d 100644..100644
@@ -75,7 +75,8 @@
75 75 { #category : 'as yet unclassified' }
76 76 MFTWorkoutLogEditorComponent >> renderWorkoutLogMetadataOn: html [
77 77
78 Removed: html fieldSet with: [
78 Added: html fieldSet: [
79 Added: html legend: 'Log info'.
79 80 html div
80 81 class: 'mft-form-items-container';
81 82 with: [