| 
									
										
										
										
											2021-11-22 20:10:48 -09:00
										 |  |  | <template> | 
					
						
							|  |  |  |   <div v-if="edit || (value && value.length > 0)"> | 
					
						
							|  |  |  |     <template v-if="edit"> | 
					
						
							|  |  |  |       <v-autocomplete | 
					
						
							|  |  |  |         v-if="tools" | 
					
						
							|  |  |  |         v-model="recipeTools" | 
					
						
							|  |  |  |         :items="tools" | 
					
						
							|  |  |  |         item-text="name" | 
					
						
							|  |  |  |         multiple | 
					
						
							|  |  |  |         return-object | 
					
						
							|  |  |  |         deletable-chips | 
					
						
							|  |  |  |         :prepend-icon="$globals.icons.potSteam" | 
					
						
							|  |  |  |         chips | 
					
						
							|  |  |  |       > | 
					
						
							|  |  |  |         <template #selection="data"> | 
					
						
							|  |  |  |           <v-chip | 
					
						
							|  |  |  |             :key="data.index" | 
					
						
							|  |  |  |             small | 
					
						
							|  |  |  |             class="ma-1" | 
					
						
							|  |  |  |             :input-value="data.selected" | 
					
						
							|  |  |  |             close | 
					
						
							|  |  |  |             label | 
					
						
							|  |  |  |             color="accent" | 
					
						
							|  |  |  |             dark | 
					
						
							|  |  |  |             @click:close="recipeTools.splice(data.index, 1)" | 
					
						
							|  |  |  |           > | 
					
						
							|  |  |  |             {{ data.item.name || data.item }} | 
					
						
							|  |  |  |           </v-chip> | 
					
						
							|  |  |  |         </template> | 
					
						
							|  |  |  |         <template #append-outer=""> | 
					
						
							| 
									
										
										
										
											2021-11-25 14:17:02 -09:00
										 |  |  |           <BaseDialog v-model="createDialog" title="Create New Tool" @submit="actions.createOne()"> | 
					
						
							|  |  |  |             <template #activator> | 
					
						
							|  |  |  |               <v-btn icon @click="createDialog = true"> | 
					
						
							| 
									
										
										
										
											2021-11-22 20:10:48 -09:00
										 |  |  |                 <v-icon> {{ $globals.icons.create }}</v-icon> | 
					
						
							|  |  |  |               </v-btn> | 
					
						
							|  |  |  |             </template> | 
					
						
							|  |  |  |             <v-card-text> | 
					
						
							|  |  |  |               <v-text-field v-model="workingToolData.name" label="Tool Name"></v-text-field> | 
					
						
							|  |  |  |               <v-checkbox v-model="workingToolData.onHand" label="Show as On Hand (Checked)"></v-checkbox> | 
					
						
							|  |  |  |             </v-card-text> | 
					
						
							|  |  |  |           </BaseDialog> | 
					
						
							|  |  |  |         </template> | 
					
						
							|  |  |  |       </v-autocomplete> | 
					
						
							|  |  |  |     </template> | 
					
						
							|  |  |  |   </div> | 
					
						
							|  |  |  | </template> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | <script lang="ts"> | 
					
						
							| 
									
										
										
										
											2021-11-26 22:37:06 -09:00
										 |  |  | import { defineComponent, ref, computed } from "@nuxtjs/composition-api"; | 
					
						
							| 
									
										
										
										
											2022-01-16 03:38:11 +01:00
										 |  |  | import { RecipeTool } from "~/types/api-types/recipe"; | 
					
						
							| 
									
										
										
										
											2021-11-22 20:10:48 -09:00
										 |  |  | import { useTools } from "~/composables/recipes"; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | export default defineComponent({ | 
					
						
							|  |  |  |   props: { | 
					
						
							|  |  |  |     value: { | 
					
						
							| 
									
										
										
										
											2022-01-16 03:38:11 +01:00
										 |  |  |       type: Array as () => RecipeTool[], | 
					
						
							| 
									
										
										
										
											2021-11-22 20:10:48 -09:00
										 |  |  |       required: true, | 
					
						
							|  |  |  |     }, | 
					
						
							|  |  |  |     edit: { | 
					
						
							|  |  |  |       type: Boolean, | 
					
						
							|  |  |  |       default: false, | 
					
						
							|  |  |  |     }, | 
					
						
							|  |  |  |   }, | 
					
						
							|  |  |  |   setup(props, context) { | 
					
						
							|  |  |  |     const { tools, actions, workingToolData } = useTools(); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-11-25 14:17:02 -09:00
										 |  |  |     const createDialog = ref(false); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-11-22 20:10:48 -09:00
										 |  |  |     const recipeTools = computed({ | 
					
						
							|  |  |  |       get: () => { | 
					
						
							|  |  |  |         return props.value; | 
					
						
							|  |  |  |       }, | 
					
						
							|  |  |  |       set: (val) => { | 
					
						
							|  |  |  |         context.emit("input", val); | 
					
						
							|  |  |  |       }, | 
					
						
							|  |  |  |     }); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     return { | 
					
						
							|  |  |  |       actions, | 
					
						
							| 
									
										
										
										
											2021-11-25 14:17:02 -09:00
										 |  |  |       createDialog, | 
					
						
							| 
									
										
										
										
											2021-11-22 20:10:48 -09:00
										 |  |  |       recipeTools, | 
					
						
							| 
									
										
										
										
											2021-11-25 14:17:02 -09:00
										 |  |  |       tools, | 
					
						
							|  |  |  |       workingToolData, | 
					
						
							| 
									
										
										
										
											2021-11-22 20:10:48 -09:00
										 |  |  |     }; | 
					
						
							|  |  |  |   }, | 
					
						
							|  |  |  | }); | 
					
						
							|  |  |  | </script> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | <style lang="scss" scoped> | 
					
						
							|  |  |  | </style> |