Skip to content
Snippets Groups Projects
Select Git revision
  • 1b7a7b044b1af0d175ace51d1e196264e3f1086a
  • main default protected
  • step-3263
  • feature/plugins-cli
  • feature/vite
  • step-2484-peerreview
  • biest/issue-5051
  • tests/simplify-jsonapi-tests
  • fix/typo-in-1a70031
  • feature/broadcasting
  • database-seeders-and-factories
  • feature/peer-review-2
  • feature-feedback-jsonapi
  • feature/peerreview
  • feature/balloon-plus
  • feature/stock-images-unsplash
  • tic-2588
  • 5.0
  • 5.2
  • biest/unlock-blocks
  • biest-1514
21 results

courseware-admin-app.js

Blame
  • Forked from Stud.IP / Stud.IP
    Source project has a limited visibility.
    Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    courseware-admin-app.js 1.04 KiB
    import AdminApp from './components/courseware/AdminApp.vue';
    import { mapResourceModules } from '@elan-ev/reststate-vuex';
    import Vuex from 'vuex';
    import CoursewareAdminModule from './store/courseware/courseware-admin.module';
    import axios from 'axios';
    
    const mountApp = (STUDIP, createApp, element) => {
        const getHttpClient = () =>
        axios.create({
            baseURL: STUDIP.URLHelper.getURL(`jsonapi.php/v1`, {}, true),
            headers: {
                'Content-Type': 'application/vnd.api+json',
            },
        });
    
        const httpClient = getHttpClient();
    
        const store = new Vuex.Store({
            modules: {
                courseware: CoursewareAdminModule,
                ...mapResourceModules({
                    names: [
                        'courseware-templates',
                    ],
                    httpClient,
                }),
            },
        });
    
        store.dispatch('courseware-templates/loadAll');
    
        const app = createApp({
            render: (h) => h(AdminApp),
            store
        });
    
        app.$mount(element);
    
        return app;
    }
    
    export default mountApp;