aboutsummaryrefslogtreecommitdiff
path: root/resources/vue/components/courseware/layouts/CoursewareCompanionBox.vue
diff options
context:
space:
mode:
Diffstat (limited to 'resources/vue/components/courseware/layouts/CoursewareCompanionBox.vue')
-rw-r--r--resources/vue/components/courseware/layouts/CoursewareCompanionBox.vue49
1 files changed, 39 insertions, 10 deletions
diff --git a/resources/vue/components/courseware/layouts/CoursewareCompanionBox.vue b/resources/vue/components/courseware/layouts/CoursewareCompanionBox.vue
index f617e5a..f26c8d7 100644
--- a/resources/vue/components/courseware/layouts/CoursewareCompanionBox.vue
+++ b/resources/vue/components/courseware/layouts/CoursewareCompanionBox.vue
@@ -1,15 +1,9 @@
-<template>
- <div class="cw-companion-box" :class="[mood]">
- <div>
- <p v-html="msgCompanion"></p>
- <slot name="companionActions"></slot>
- </div>
- </div>
-</template>
-
<script>
export default {
name: 'courseware-companion-box',
+ render(createElement) {
+ return null;
+ },
props: {
msgCompanion: String,
mood: {
@@ -20,5 +14,40 @@ export default {
}
}
},
+ computed: {
+ msgType() {
+ let type = 'info';
+ switch (this.mood) {
+ case 'special':
+ case 'unsure':
+ type = 'warning';
+ break;
+ case 'sad':
+ type = 'error';
+ break;
+ case 'happy':
+ type = 'success';
+ break
+ case 'pointing':
+ case 'curious':
+ }
+ return type;
+ }
+ },
+ watch: {
+ msgCompanion: {
+ handler(current) {
+ if (current.trim().length === 0) {
+ return;
+ }
+ const notification = {
+ type: this.msgType,
+ message: current
+ };
+ this.globalEmit('push-system-notification', notification);
+ },
+ immediate: true
+ }
+ }
};
-</script> \ No newline at end of file
+</script>