Migrate another component

This commit is contained in:
Ramon Wenger 2023-04-20 11:16:50 +02:00
parent 8cbe498a78
commit b39d610dbc
2 changed files with 34 additions and 45 deletions

View File

@ -2,7 +2,7 @@
<div class="page-form__page"> <div class="page-form__page">
<form <form
class="page-form" class="page-form"
@submit.prevent="$emit('save')" @submit.prevent="submit"
> >
<div class="page-form__content"> <div class="page-form__content">
<h1 <h1
@ -20,10 +20,15 @@
</div> </div>
</template> </template>
<script> <script setup lang="ts">
export default { defineProps<{
props: ['title'], title: string
}; }>()
const emit = defineEmits(['save'])
const submit = () => {
emit('save')
}
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">

View File

@ -2,7 +2,7 @@
<page-form <page-form
class="room-form" class="room-form"
title="Neuer Raum" title="Neuer Raum"
@save="$emit('save', localRoom)" @save="emit('save', localRoom)"
> >
<page-form-input <page-form-input
label="Titel" label="Titel"
@ -40,53 +40,37 @@
</page-form> </page-form>
</template> </template>
<script> <script setup lang="ts">
import ColorChooser from '@/components/ColorChooser.vue'; import ColorChooser from '@/components/ColorChooser.vue'
import PageForm from '@/components/page-form/PageForm.vue'; import PageForm from '@/components/page-form/PageForm.vue'
import PageFormInput from '@/components/page-form/PageFormInput.vue'; import PageFormInput from '@/components/page-form/PageFormInput.vue'
import {onBeforeUnmount, ref} from 'vue'
import {useStore} from 'vuex'
import ME_QUERY from '@/graphql/gql/queries/meQuery.gql'; const props = defineProps<{
room: any
}>()
export default { const emit = defineEmits(['save'])
props: ['room'],
components: { const localRoom = ref(Object.assign({}, props.room))
ColorChooser,
PageForm,
PageFormInput,
},
data() { const updateColor = (newColor: string) => {
return { localRoom.value.appearance = newColor
localRoom: Object.assign({}, this.room), store.dispatch('setSpecialContainerClass', newColor)
me: {}, }
};
},
created() { const updateTitle = (title: string) => {
this.$store.dispatch('setSpecialContainerClass', this.localRoom.appearance); localRoom.value.title = title
}, }
beforeUnmount() { const store = useStore()
this.$store.dispatch('setSpecialContainerClass', '');
},
methods: { store.dispatch('setSpecialContainerClass', localRoom.value.appearance)
updateColor(newColor) {
this.localRoom.appearance = newColor;
this.$store.dispatch('setSpecialContainerClass', newColor);
},
updateTitle(title) {
this.localRoom.title = title;
},
},
apollo: { onBeforeUnmount(() => {
me: { store.dispatch('setSpecialContainerClass', '')
query: ME_QUERY, })
},
},
};
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">