aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan-Hendrik Willms <tleilax+github@gmail.com>2022-12-16 16:14:37 +0100
committerJan-Hendrik Willms <tleilax+github@gmail.com>2023-05-03 16:40:35 +0200
commit5906234709253cac4239f84ee7985218ff7ff21c (patch)
tree4c3d45fdf5d3a369a6d19d579d8c403a1dca28f8
parent160e7b4faced96286d43a16e79f704707fdcea4f (diff)
extract courseware chunk
-rw-r--r--resources/assets/javascripts/bootstrap/courseware.js27
-rw-r--r--resources/assets/javascripts/chunk-loader.js10
-rw-r--r--resources/assets/javascripts/chunks/courseware.js1
-rw-r--r--resources/assets/stylesheets/scss/courseware.scss1
-rw-r--r--resources/assets/stylesheets/studip.scss1
5 files changed, 31 insertions, 9 deletions
diff --git a/resources/assets/javascripts/bootstrap/courseware.js b/resources/assets/javascripts/bootstrap/courseware.js
index ccb7892..e1978de 100644
--- a/resources/assets/javascripts/bootstrap/courseware.js
+++ b/resources/assets/javascripts/bootstrap/courseware.js
@@ -1,6 +1,6 @@
STUDIP.domReady(() => {
if (document.getElementById('courseware-shelf-app')) {
- STUDIP.Vue.load().then(({ createApp }) => {
+ STUDIP.loadChunk('courseware').then(({ createApp }) => {
import(
/* webpackChunkName: "courseware-shelf-app" */
'@/vue/courseware-shelf-app.js'
@@ -11,7 +11,7 @@ STUDIP.domReady(() => {
}
if (document.getElementById('courseware-index-app')) {
- STUDIP.Vue.load().then(({ createApp }) => {
+ STUDIP.loadChunk('courseware').then(({ createApp }) => {
import(
/* webpackChunkName: "courseware-index-app" */
'@/vue/courseware-index-app.js'
@@ -22,7 +22,7 @@ STUDIP.domReady(() => {
}
if (document.getElementById('courseware-activities-app')) {
- STUDIP.Vue.load().then(({ createApp }) => {
+ STUDIP.loadChunk('courseware').then(({ createApp }) => {
import(
/* webpackChunkName: "courseware-activities-app" */
'@/vue/courseware-activities-app.js'
@@ -33,7 +33,7 @@ STUDIP.domReady(() => {
}
if (document.getElementById('courseware-tasks-app')) {
- STUDIP.Vue.load().then(({ createApp }) => {
+ STUDIP.loadChunk('courseware').then(({ createApp }) => {
import(
/* webpackChunkName: "courseware-tasks-app" */
'@/vue/courseware-tasks-app.js'
@@ -43,8 +43,19 @@ STUDIP.domReady(() => {
});
}
+ if (document.getElementById('courseware-manager-app')) {
+ STUDIP.loadChunk('courseware').then(({ createApp }) => {
+ import(
+ /* webpackChunkName: "courseware-manager-app" */
+ '@/vue/courseware-manager-app.js'
+ ).then(({ default: mountApp }) => {
+ return mountApp(STUDIP, createApp, '#courseware-manager-app');
+ });
+ });
+ }
+
if (document.getElementById('courseware-content-bookmark-app')) {
- STUDIP.Vue.load().then(({ createApp }) => {
+ STUDIP.loadChunk('courseware').then(({ createApp }) => {
import(
/* webpackChunkName: "courseware-content-bookmark-app" */
'@/vue/courseware-content-bookmark-app.js'
@@ -55,7 +66,7 @@ STUDIP.domReady(() => {
}
if (document.getElementById('courseware-admin-app')) {
- STUDIP.Vue.load().then(({ createApp }) => {
+ STUDIP.loadChunk('courseware').then(({ createApp }) => {
import(
/* webpackChunkName: "courseware-content-bookmark-app" */
'@/vue/courseware-admin-app.js'
@@ -66,7 +77,7 @@ STUDIP.domReady(() => {
}
if (document.getElementById('courseware-public-app')) {
- STUDIP.Vue.load().then(({ createApp }) => {
+ STUDIP.loadChunk('courseware').then(({ createApp }) => {
import(
/* webpackChunkName: "courseware-public-app" */
'@/vue/courseware-public-app.js'
@@ -77,7 +88,7 @@ STUDIP.domReady(() => {
}
if (document.getElementById('courseware-content-releases-app')) {
- STUDIP.Vue.load().then(({ createApp }) => {
+ STUDIP.loadChunk('courseware').then(({ createApp }) => {
import(
/* webpackChunkName: "courseware-content-releases-app" */
'@/vue/courseware-content-releases-app.js'
diff --git a/resources/assets/javascripts/chunk-loader.js b/resources/assets/javascripts/chunk-loader.js
index 59c0527..20a7504 100644
--- a/resources/assets/javascripts/chunk-loader.js
+++ b/resources/assets/javascripts/chunk-loader.js
@@ -24,6 +24,16 @@ STUDIP.loadChunk = (function () {
});
break;
+ case 'courseware':
+ promise = Promise.all([
+ import(
+ /* webpackChunkName: "courseware" */
+ './chunks/courseware'
+ ),
+ STUDIP.loadChunk('vue')
+ ]).then((dummy, Vue) => Vue);
+ break;
+
case 'chartist':
promise = import(
/* webpackChunkName: "chartist" */
diff --git a/resources/assets/javascripts/chunks/courseware.js b/resources/assets/javascripts/chunks/courseware.js
new file mode 100644
index 0000000..5e55556
--- /dev/null
+++ b/resources/assets/javascripts/chunks/courseware.js
@@ -0,0 +1 @@
+import "../../stylesheets/scss/courseware.scss";
diff --git a/resources/assets/stylesheets/scss/courseware.scss b/resources/assets/stylesheets/scss/courseware.scss
index 7de515e..202eca0 100644
--- a/resources/assets/stylesheets/scss/courseware.scss
+++ b/resources/assets/stylesheets/scss/courseware.scss
@@ -1,4 +1,5 @@
/* definitions */
+@use '../mixins.scss' as *;
$companion-types: (
default: basic,
diff --git a/resources/assets/stylesheets/studip.scss b/resources/assets/stylesheets/studip.scss
index 5a462db..21c05ff 100644
--- a/resources/assets/stylesheets/studip.scss
+++ b/resources/assets/stylesheets/studip.scss
@@ -32,7 +32,6 @@
@import "scss/comments";
@import "scss/copyable-links";
@import "scss/cronjobs";
-@import "scss/courseware";
@import "scss/coursewizard";
@import "scss/css_tree";
@import "scss/dates";