aboutsummaryrefslogtreecommitdiff
path: root/resources/vue/components/courseware/CoursewareBlockEdit.vue
blob: a218ab52c4ebcc304518a92b45cb5b272568ff2b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
<template>
    <section class="cw-block-edit">
        <header><translate>Bearbeiten</translate></header>
        <div class="cw-block-features-content">
            <div @click="deactivateToolbar(); exitHandler = true;">
                <slot name="edit" />
            </div>
            <div class="cw-button-box">
                <button class="button accept" @click="$emit('store'); exitHandler = false;"><translate>Speichern</translate></button>
                <button class="button cancel" @click="$emit('close'); exitHandler = false;"><translate>Abbrechen</translate></button>
            </div>
        </div>
    </section>
</template>

<script>
import { mapActions, mapGetters } from 'vuex';

export default {
    name: 'courseware-block-edit',
    props: {
        block: Object,
    },
    data() {
        return {
            originalBlock: Object,
            exitHandler: false
        };
    },
    beforeMount() {
        this.originalBlock = this.block;
    },
    methods: {
        ...mapActions({
            coursewareBlockAdder: 'coursewareBlockAdder',
            coursewareShowToolbar: 'coursewareShowToolbar'
        }),
        deactivateToolbar() {
            this.coursewareBlockAdder({});
            this.coursewareShowToolbar(false);
        },
    },
    beforeDestroy() {
        if (this.exitHandler) {
            this.$emit('store');
        }
    }
};
</script>