advent22/ui/src/components/door_map/DoorChooser.vue

52 lines
1.1 KiB
Vue
Raw Normal View History

2023-01-24 00:14:50 +00:00
<template>
<section>
<div class="content">
2023-02-02 18:06:55 +00:00
<p class="title is-5">Steuerung</p>
2023-01-24 00:14:50 +00:00
<ul>
<li>Linksklick: Türchen bearbeiten</li>
<li>Tastatur: Tag eingeben</li>
<li>[Enter]: Tag speichern</li>
<li>[Esc]: Eingabe Abbrechen</li>
<li>[Entf]: Tag entfernen</li>
2023-01-24 00:14:50 +00:00
</ul>
</div>
<figure class="image">
2023-09-04 21:23:27 +00:00
<img :src="$advent22.api_url('general/background')" />
2023-01-24 00:14:50 +00:00
<ThouCanvas>
2023-09-06 16:25:35 +00:00
<PreviewDoor v-for="(_, index) in doors" :key="`door-${index}`" v-model:door="doors[index]" />
2023-01-24 00:14:50 +00:00
</ThouCanvas>
</figure>
</section>
</template>
<script lang="ts">
import { Options, Vue } from "vue-class-component";
2023-02-02 15:29:26 +00:00
import { Door } from "./calendar";
2023-01-24 00:14:50 +00:00
import ThouCanvas from "../rects/ThouCanvas.vue";
import PreviewDoor from "./PreviewDoor.vue";
2023-01-24 00:14:50 +00:00
@Options({
components: {
ThouCanvas,
PreviewDoor,
2023-01-24 00:14:50 +00:00
},
props: {
2023-02-02 15:29:26 +00:00
doors: Array,
2023-01-24 00:14:50 +00:00
},
2023-02-02 15:29:26 +00:00
emits: ["update:doors"],
2023-01-24 00:14:50 +00:00
})
2023-01-24 23:19:25 +00:00
export default class extends Vue {
2023-09-06 16:25:35 +00:00
public doors!: Door[];
2023-01-24 00:14:50 +00:00
public beforeUnmount() {
2023-02-02 15:29:26 +00:00
this.$emit("update:doors", this.doors);
2023-01-24 00:14:50 +00:00
}
}
</script>
<style lang="scss" scoped>
2023-09-06 16:25:35 +00:00
section>figure {
2023-01-24 00:14:50 +00:00
user-select: none;
}
</style>