Skip to content
Snippets Groups Projects
Select Git revision
  • 737c0b2ade4ea92ea85ad9c536553abfcbc96877
  • 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

contentmodules.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.
    contentmodules.js 1.36 KiB
    STUDIP.domReady(() => {
        const node = document.querySelector('.content-modules-vue-app');
        if (!node) {
            return;
        }
    
        Promise.all([
            STUDIP.Vue.load(),
            import('../../../vue/store/ContentModulesStore.js').then((config) => config.default),
            import('../../../vue/components/ContentModules.vue').then((component) => component.default),
        ]).then(([{ createApp, store }, storeConfig, ContentModules]) => {
            store.registerModule('contentmodules', storeConfig);
    
            Object.entries(window.ContentModulesStoreData ?? {}).forEach(([key, value]) => {
                store.commit(`contentmodules/${key}`, value);
            });
    
            const vm = createApp({
                components: { ContentModules }
            });
            vm.$mount(node);
        });
    });
    
    STUDIP.dialogReady((event) => {
        let target = event.target ?? document;
        if (target instanceof jQuery) {
            target = target.get(0);
        }
    
        const node = target.querySelector('.content-modules-controls-vue-app');
        if (!node) {
            return;
        }
    
        Promise.all([
            STUDIP.Vue.load(),
            import('../../../vue/components/ContentModulesControl.vue').then((component) => component.default),
        ]).then(([{ createApp }, ContentModulesControl]) => {
            const vm = createApp({
                components: { ContentModulesControl }
            });
            vm.$mount(node);
        });
    });