Update create user form to use the new Inertia form
This commit is contained in:
		
							parent
							
								
									19d8005c30
								
							
						
					
					
						commit
						f1b1fec306
					
				
					 1 changed files with 10 additions and 30 deletions
				
			
		|  | @ -5,20 +5,20 @@ | ||||||
|       <span class="text-indigo-400 font-medium">/</span> Create |       <span class="text-indigo-400 font-medium">/</span> Create | ||||||
|     </h1> |     </h1> | ||||||
|     <div class="bg-white rounded shadow overflow-hidden max-w-3xl"> |     <div class="bg-white rounded shadow overflow-hidden max-w-3xl"> | ||||||
|       <form @submit.prevent="submit"> |       <form @submit.prevent="form.post(route('users.store'))"> | ||||||
|         <div class="p-8 -mr-6 -mb-8 flex flex-wrap"> |         <div class="p-8 -mr-6 -mb-8 flex flex-wrap"> | ||||||
|           <text-input v-model="form.first_name" :error="errors.first_name" class="pr-6 pb-8 w-full lg:w-1/2" label="First name" /> |           <text-input v-model="form.first_name" :error="form.errors.first_name" class="pr-6 pb-8 w-full lg:w-1/2" label="First name" /> | ||||||
|           <text-input v-model="form.last_name" :error="errors.last_name" class="pr-6 pb-8 w-full lg:w-1/2" label="Last name" /> |           <text-input v-model="form.last_name" :error="form.errors.last_name" class="pr-6 pb-8 w-full lg:w-1/2" label="Last name" /> | ||||||
|           <text-input v-model="form.email" :error="errors.email" class="pr-6 pb-8 w-full lg:w-1/2" label="Email" /> |           <text-input v-model="form.email" :error="form.errors.email" class="pr-6 pb-8 w-full lg:w-1/2" label="Email" /> | ||||||
|           <text-input v-model="form.password" :error="errors.password" class="pr-6 pb-8 w-full lg:w-1/2" type="password" autocomplete="new-password" label="Password" /> |           <text-input v-model="form.password" :error="form.errors.password" class="pr-6 pb-8 w-full lg:w-1/2" type="password" autocomplete="new-password" label="Password" /> | ||||||
|           <select-input v-model="form.owner" :error="errors.owner" class="pr-6 pb-8 w-full lg:w-1/2" label="Owner"> |           <select-input v-model="form.owner" :error="form.errors.owner" class="pr-6 pb-8 w-full lg:w-1/2" label="Owner"> | ||||||
|             <option :value="true">Yes</option> |             <option :value="true">Yes</option> | ||||||
|             <option :value="false">No</option> |             <option :value="false">No</option> | ||||||
|           </select-input> |           </select-input> | ||||||
|           <file-input v-model="form.photo" :error="errors.photo" class="pr-6 pb-8 w-full lg:w-1/2" type="file" accept="image/*" label="Photo" /> |           <file-input v-model="form.photo" :error="form.errors.photo" class="pr-6 pb-8 w-full lg:w-1/2" type="file" accept="image/*" label="Photo" /> | ||||||
|         </div> |         </div> | ||||||
|         <div class="px-8 py-4 bg-gray-100 border-t border-gray-200 flex justify-end items-center"> |         <div class="px-8 py-4 bg-gray-100 border-t border-gray-200 flex justify-end items-center"> | ||||||
|           <loading-button :loading="sending" class="btn-indigo" type="submit">Create User</loading-button> |           <loading-button :loading="form.processing" class="btn-indigo" type="submit">Create User</loading-button> | ||||||
|         </div> |         </div> | ||||||
|       </form> |       </form> | ||||||
|     </div> |     </div> | ||||||
|  | @ -41,38 +41,18 @@ export default { | ||||||
|     TextInput, |     TextInput, | ||||||
|     FileInput, |     FileInput, | ||||||
|   }, |   }, | ||||||
|   props: { |  | ||||||
|     errors: Object, |  | ||||||
|   }, |  | ||||||
|   remember: 'form', |   remember: 'form', | ||||||
|   data() { |   data() { | ||||||
|     return { |     return { | ||||||
|       sending: false, |       form: this.$inertia.form({ | ||||||
|       form: { |  | ||||||
|         first_name: null, |         first_name: null, | ||||||
|         last_name: null, |         last_name: null, | ||||||
|         email: null, |         email: null, | ||||||
|         password: null, |         password: null, | ||||||
|         owner: false, |         owner: false, | ||||||
|         photo: null, |         photo: null, | ||||||
|       }, |       }), | ||||||
|     } |     } | ||||||
|   }, |   }, | ||||||
|   methods: { |  | ||||||
|     submit() { |  | ||||||
|       const data = new FormData() |  | ||||||
|       data.append('first_name', this.form.first_name || '') |  | ||||||
|       data.append('last_name', this.form.last_name || '') |  | ||||||
|       data.append('email', this.form.email || '') |  | ||||||
|       data.append('password', this.form.password || '') |  | ||||||
|       data.append('owner', this.form.owner ? '1' : '0') |  | ||||||
|       data.append('photo', this.form.photo || '') |  | ||||||
| 
 |  | ||||||
|       this.$inertia.post(this.route('users.store'), data, { |  | ||||||
|         onStart: () => this.sending = true, |  | ||||||
|         onFinish: () => this.sending = false, |  | ||||||
|       }) |  | ||||||
|     }, |  | ||||||
|   }, |  | ||||||
| } | } | ||||||
| </script> | </script> | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 Jonathan Reinink
						Jonathan Reinink