aboutsummaryrefslogtreecommitdiff
path: root/resources/assets/javascripts/bootstrap/admin-courses.js
blob: 06c4621ad636033d30f18a99668421a9e93d52ed (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
STUDIP.domReady(() => {
    const node = document.querySelector('.admin-courses-vue-app');
    if (!node) {
        return;
    }

    Promise.all([
        STUDIP.Vue.load(),
        import('../../../vue/store/AdminCoursesStore.js').then((config) => config.default),
        import('../../../vue/components/AdminCourses.vue').then((component) => component.default),
    ]).then(([{ createApp, store }, storeConfig, AdminCourses]) => {
        store.registerModule('admincourses', storeConfig);

        Object.entries(window.AdminCoursesStoreData ?? {}).forEach(([key, value]) => {
            store.commit(`admincourses/${key}`, value);
        })

        const vm = createApp({
            components: { AdminCourses },
        });
        vm.$mount(node);

        STUDIP.AdminCourses.App = vm.$refs.app;
    });
});