Dynamic set group form columns.

Commit
d7c445df12218760c02a953e89c0d50e9db9f8c7
Author
Marius Peter <marius.peter@tutanota.com>
Author date
Committer
Marius Peter <marius.peter@tutanota.com>
Committer date
src/MyFitnessTracker/MFTSetGroupsForm.class.st
index b697c3c2..993d7d38 100644..100644
@@ -1,6 +1,10 @@
1 1 Class {
2 2 #name : 'MFTSetGroupsForm',
3 3 #superclass : 'MFTForm',
4 Added: #instVars : [
5 Added: 'renderRpe',
6 Added: 'renderRestAfter'
7 Added: ],
4 8 #category : 'MyFitnessTracker-Forms',
5 9 #package : 'MyFitnessTracker',
6 10 #tag : 'Forms'
@@ -26,16 +30,17 @@
26 30 super initialize.
27 31 heading := 'Sets'.
28 32 modelObject := OrderedCollection with:
29 Removed: (MFTSetGroup new sets:
30 Removed: (OrderedCollection with: (MFTSet new reps: 8)))
33 Added: (MFTSetGroup new addSet: (MFTSet new reps: 8)).
34 Added: renderRpe := false.
35 Added: renderRestAfter := false
31 36 ]
32 37
33 38 { #category : 'rendering' }
34 39 MFTSetGroupsForm >> renderContentOn: html [
35 40
36 41 self renderFormOn: html with: [
37 Removed: self renderSetGroupsTableOn: html.
38 Removed: self renderSetsButtonGroupOn: html ]
42 Added: self renderSetsButtonGroupOn: html.
43 Added: self renderSetGroupsTableOn: html ]
39 44 ]
40 45
41 46 { #category : 'rendering' }
@@ -59,18 +64,20 @@
59 64 callback: [ :value |
60 65 set load:
61 66 (value ifNotEmpty: [ value asNumber ] ifEmpty: [ nil ]) ] ].
62 Removed: html tableData: [
63 Removed: html numberInput formControl
64 Removed: value: set rpe;
65 Removed: callback: [ :value |
66 Removed: set rpe:
67 Removed: (value ifNotEmpty: [ value asInteger ] ifEmpty: [ nil ]) ] ].
68 Removed: html tableData: [
69 Removed: html numberInput formControl
70 Removed: value: set restAfter;
71 Removed: callback: [ :value |
72 Removed: set restAfter:
73 Removed: (value ifNotEmpty: [ value asNumber ] ifEmpty: [ nil ]) ] ] ] ] ]
67 Added: renderRpe ifTrue: [
68 Added: html tableData: [
69 Added: html numberInput formControl
70 Added: value: set rpe;
71 Added: callback: [ :value |
72 Added: set rpe:
73 Added: (value ifNotEmpty: [ value asInteger ] ifEmpty: [ nil ]) ] ] ].
74 Added: renderRestAfter ifTrue: [
75 Added: html tableData: [
76 Added: html numberInput formControl
77 Added: value: set restAfter;
78 Added: callback: [ :value |
79 Added: set restAfter:
80 Added: (value ifNotEmpty: [ value asNumber ] ifEmpty: [ nil ]) ] ] ] ] ] ]
74 81 ]
75 82
76 83 { #category : 'rendering' }
@@ -79,18 +86,10 @@
79 86 html tableHead: [
80 87 modelObject first isIrregularSetGroup ifTrue: [
81 88 html tableHeading with: 'Exercise' ].
82 Removed: html tableHeading
83 Removed: style: 'text-align: right';
84 Removed: with: 'Reps'.
85 Removed: html tableHeading
86 Removed: style: 'text-align: right';
87 Removed: with: 'Load'.
88 Removed: html tableHeading
89 Removed: style: 'text-align: right';
90 Removed: with: 'RPE'.
91 Removed: html tableHeading
92 Removed: style: 'text-align: right';
93 Removed: with: 'Rest After (s)' ]
89 Added: html tableHeading with: 'Reps'.
90 Added: html tableHeading with: 'Load'.
91 Added: renderRpe ifTrue: [ html tableHeading with: 'RPE' ].
92 Added: renderRestAfter ifTrue: [ html tableHeading with: 'Rest After (s)' ] ]
94 93 ]
95 94
96 95 { #category : 'rendering' }
@@ -106,18 +105,33 @@
106 105 { #category : 'rendering' }
107 106 MFTSetGroupsForm >> renderSetsButtonGroupOn: html [
108 107
109 Removed: html buttonGroup: [
110 Removed: html outlineButton
111 Removed: bePrimary;
112 Removed: beSmall;
113 Removed: callback: [ modelObject addLast: modelObject last ];
114 Removed: with: 'Add set(s)'.
115 Removed: html outlineButton
116 Removed: beDanger;
117 Removed: beSmall;
118 Removed: callback: [
119 Removed: | firstSetGroup |
120 Removed: firstSetGroup := modelObject first.
121 Removed: modelObject := OrderedCollection with: firstSetGroup ];
122 Removed: with: 'Reset' ]
108 Added: html buttonGroup
109 Added: class: 'my-3';
110 Added: with: [
111 Added: html outlineButton
112 Added: bePrimary;
113 Added: beSmall;
114 Added: callback: [ modelObject addLast: modelObject last ];
115 Added: with: 'Add set'.
116 Added: renderRpe ifFalse: [
117 Added: html outlineButton
118 Added: beSecondary;
119 Added: beSmall;
120 Added: callback: [ renderRpe := true ];
121 Added: with: 'Add RPE' ].
122 Added: renderRestAfter ifFalse: [
123 Added: html outlineButton
124 Added: beSecondary;
125 Added: beSmall;
126 Added: callback: [ renderRestAfter := true ];
127 Added: with: 'Add rest' ].
128 Added: html outlineButton
129 Added: beDanger;
130 Added: beSmall;
131 Added: callback: [
132 Added: | firstSetGroup |
133 Added: firstSetGroup := modelObject first.
134 Added: modelObject := OrderedCollection with: firstSetGroup.
135 Added: renderRpe := renderRestAfter := false ];
136 Added: with: 'Reset' ]
123 137 ]