@@ -146,50 +146,77 @@ link:./src/test/groovy/ch/petikoch/examples/mvvm_rxjava/example2[]
146146
147147=== Example 3: Form submit with Submit Button enabling
148148
149- TODO
150-
151149link:./src/main/java/ch/petikoch/examples/mvvm_rxjava/example3[]
152150
151+ * Same as Example 2
152+ * But: Submit button is only enabled, if both textfields contain a value
153+
154+ Tests:
155+
153156link:./src/test/groovy/ch/petikoch/examples/mvvm_rxjava/example3[]
154157
155158=== Example 4: Form submit with form disabling / reenabling
156159
157- TODO
158-
159160link:./src/main/java/ch/petikoch/examples/mvvm_rxjava/example4[]
160161
162+ * Same as Example 3
163+ * But: The form is completely disabled during the submit processing time
164+
165+ Tests:
166+
161167link:./src/test/groovy/ch/petikoch/examples/mvvm_rxjava/example4[]
162168
163169=== Example 5: Form submit with cancellation and classic "blocking" Model API
164170
165- TODO
166-
167171link:./src/main/java/ch/petikoch/examples/mvvm_rxjava/example5[]
168172
173+ * Same as Example 4
174+ * You can cancel the submit processing
175+ * The model has a classic "blocking" API
176+
177+ image::example5.png[]
178+
179+ Tests:
180+
169181link:./src/test/groovy/ch/petikoch/examples/mvvm_rxjava/example5[]
170182
171183=== Example 5a: Form submit with cancellation and "non-blocking" Model API
172184
173- TODO
174-
175185link:./src/main/java/ch/petikoch/examples/mvvm_rxjava/example5a[]
176186
187+ * Same as Example 5
188+ * The model has a "non-blocking" API, the ViewModel gets simpler
189+
190+ Tests:
191+
177192link:./src/test/groovy/ch/petikoch/examples/mvvm_rxjava/example5a[]
178193
179194=== Example 6: Form submit with combining two asynchronous backend actions
180195
181- TODO
182-
183196link:./src/main/java/ch/petikoch/examples/mvvm_rxjava/example6[]
184197
198+ * Same as Example 5a
199+ * But with two model API calls running in two different threads
200+ * Waiting for both of them
201+ * Cancellation for both of them
202+
203+ image::example6.png[]
204+
205+ Tests:
206+
185207link:./src/test/groovy/ch/petikoch/examples/mvvm_rxjava/example6[]
186208
187209=== Example 7: Log table with LogRow's pushed up from the Model
188210
189- TODO
190-
191211link:./src/main/java/ch/petikoch/examples/mvvm_rxjava/example7[]
192212
213+ * The model publishes `LogRow`s (computational thread)
214+ * These are added in the view as rows of a `JTable` (swing thread)
215+
216+ image::example7.png[]
217+
218+ Tests:
219+
193220link:./src/test/groovy/ch/petikoch/examples/mvvm_rxjava/example7[]
194221
195222=== Example 8: Log table with LogRow's pushed up from the Model and dealing with backpressure
0 commit comments