@@ -202,6 +202,141 @@ <h1 class="text-4xl tracking-tight font-extrabold text-gray-900 sm:text-5xl md:t
202
202
</ section >
203
203
</ div >
204
204
205
+ < div class ="relative h-full max-w-5xl mx-auto px-4 ">
206
+ < section class ="mt-16 ">
207
+ < form data-controller ="nested-form ">
208
+ < template data-nested-form-target ="template " data-model-template ="todo ">
209
+ < div class ="mt-4 nested-form-wrapper " data-new-record ="true ">
210
+ < label for ="NEW_RECORD " class ="block text-sm font-medium leading-5 text-gray-700 "> New todo</ label >
211
+ < div class ="mt-1 flex relative rounded-md shadow-sm ">
212
+ < input
213
+ id ="NEW_RECORD "
214
+ name ="user[todos_attributes][NEW_RECORD][description] "
215
+ class ="appearance-none border w-full py-2 px-3 rounded-l-md text-gray-700 leading-tight focus:outline-none focus:shadow-outline "
216
+ placeholder ="Your todo "
217
+ />
218
+
219
+ < button
220
+ class ="cursor-pointer inline-flex items-center px-3 rounded-r-md border border-l-0 border-gray-300 bg-gray-100 text-gray-500 sm:text-sm "
221
+ type ="button "
222
+ data-action ="nested-form#remove "
223
+ title ="Remove todo "
224
+ >
225
+ X
226
+ </ button >
227
+
228
+ < input type ="hidden " name ="user[todos_attributes][NEW_RECORD][_destroy] " />
229
+ </ div >
230
+ </ div >
231
+ </ template >
232
+
233
+ < template data-nested-form-target ="template " data-model-template ="note ">
234
+ < div class ="mt-4 nested-form-wrapper " data-new-record ="true ">
235
+ < label for ="NEW_RECORD " class ="block text-sm font-medium leading-5 text-gray-700 "> New note</ label >
236
+ < div class ="mt-1 flex relative rounded-md shadow-sm ">
237
+ < input
238
+ id ="NEW_RECORD "
239
+ type ="text "
240
+ name ="user[note_attributes][NEW_RECORD][description] "
241
+ class ="appearance-none border w-full py-2 px-3 rounded-l-md text-gray-700 leading-tight focus:outline-none focus:shadow-outline "
242
+ placeholder ="Your note "
243
+ />
244
+
245
+ < button
246
+ class ="cursor-pointer inline-flex items-center px-3 rounded-r-md border border-l-0 border-gray-300 bg-gray-100 text-gray-500 sm:text-sm "
247
+ type ="button "
248
+ data-action ="nested-form#remove "
249
+ title ="Remove note "
250
+ >
251
+ X
252
+ </ button >
253
+
254
+ < input type ="hidden " name ="user[note_attributes][NEW_RECORD][_destroy] " />
255
+ </ div >
256
+ </ div >
257
+ </ template >
258
+
259
+ < div class ="mt-4 nested-form-wrapper " data-new-record ="false ">
260
+ < label for ="todo-1 " class ="block text-sm font-medium leading-5 text-gray-700 "> Your todo</ label >
261
+ < div class ="mt-1 flex relative rounded-md shadow-sm ">
262
+ < input
263
+ id ="todo-1 "
264
+ name ="user[todos_attributes][0][description] "
265
+ class ="appearance-none border w-full py-2 px-3 rounded-l-md text-gray-700 leading-tight focus:outline-none focus:shadow-outline "
266
+ value ="Pet the cat "
267
+ />
268
+
269
+ < button
270
+ class ="cursor-pointer inline-flex items-center px-3 rounded-r-md border border-l-0 border-gray-300 bg-gray-100 text-gray-500 sm:text-sm "
271
+ type ="button "
272
+ data-action ="nested-form#remove "
273
+ title ="Remove todo "
274
+ >
275
+ X
276
+ </ button >
277
+
278
+ < input type ="hidden " name ="user[todos_attributes][0][_destroy] " />
279
+ </ div >
280
+ </ div >
281
+
282
+ < div id ="nested-form-target-todo " data-nested-form-target ="target " data-model-target ="todo "> </ div >
283
+
284
+ < button
285
+ id ="nested-form-button-todo "
286
+ type ="button "
287
+ data-action ="nested-form#add "
288
+ data-model ="todo "
289
+ class ="mt-4 bg-white hover:bg-gray-100 text-gray-800 font-semibold py-2 px-4 border rounded shadow nested-form-action "
290
+ >
291
+ Add todo
292
+ </ button >
293
+
294
+ < div class ="mt-4 nested-form-wrapper " data-new-record ="false ">
295
+ < label for ="todo-1 " class ="block text-sm font-medium leading-5 text-gray-700 "> Your note</ label >
296
+ < div class ="mt-1 flex relative rounded-md shadow-sm ">
297
+ < input
298
+ id ="note-1 "
299
+ type ="text "
300
+ name ="user[notes_attributes][0][description] "
301
+ class ="appearance-none border w-full py-2 px-3 rounded-l-md text-gray-700 leading-tight focus:outline-none focus:shadow-outline "
302
+ value ="Buy fancy food for cat "
303
+ />
304
+
305
+ < button
306
+ class ="cursor-pointer inline-flex items-center px-3 rounded-r-md border border-l-0 border-gray-300 bg-gray-100 text-gray-500 sm:text-sm "
307
+ type ="button "
308
+ data-action ="nested-form#remove "
309
+ title ="Remove note "
310
+ >
311
+ X
312
+ </ button >
313
+
314
+ < input type ="hidden " name ="user[notes_attributes][0][_destroy] " />
315
+ </ div >
316
+ </ div >
317
+
318
+ < div id ="nested-form-target-note " data-nested-form-target ="target " data-model-target ="note "> </ div >
319
+
320
+ < button
321
+ id ="nested-form-button-note "
322
+ type ="button "
323
+ data-action ="nested-form#add "
324
+ data-model ="note "
325
+ class ="mt-4 bg-white hover:bg-gray-100 text-gray-800 font-semibold py-2 px-4 border rounded shadow nested-form-action "
326
+ >
327
+ Add note
328
+ </ button >
329
+
330
+ < button
331
+ type ="submit "
332
+ class ="mt-4 bg-indigo-600 hover:bg-indigo-400 text-white font-semibold py-2 px-4 border rounded shadow "
333
+ >
334
+ Save
335
+ </ button >
336
+ </ form >
337
+ </ section >
338
+ </ div >
339
+
205
340
<!-- This example requires Tailwind CSS v2.0+ -->
206
341
< footer class ="bg-white ">
207
342
< div class ="max-w-7xl mx-auto py-12 px-4 overflow-hidden sm:px-6 lg:px-8 ">
0 commit comments