|
@@ -18,6 +18,20 @@ import LabelPage from '../create/components/base/label/Label.vue';
|
|
|
import LabelSetting from '../create/components/base/label/LabelSetting.vue';
|
|
|
import MatchingPage from '../create/components/question/matching/Matching.vue';
|
|
|
import MatchingSetting from '../create/components/question/matching/MatchingSetting.vue';
|
|
|
+import SortPage from '../create/components/question/sort/Sort.vue';
|
|
|
+import SortSetting from '../create/components/question/sort/SortSetting.vue';
|
|
|
+
|
|
|
+import AudioPreview from '@/views/book/courseware/preview/components/audio/AudioPreview.vue';
|
|
|
+import DividerPreview from '@/views/book/courseware/preview/components/divider/DividerPreview.vue';
|
|
|
+import SpacingPreview from '@/views/book/courseware/preview/components/spacing/SpacingPreview.vue';
|
|
|
+import PicturePreview from '@/views/book/courseware/preview/components/picture/PicturePreview.vue';
|
|
|
+import VideoPreview from '@/views/book/courseware/preview/components/video/VideoPreview.vue';
|
|
|
+import StemPreview from '@/views/book/courseware/preview/components/stem/StemPreview.vue';
|
|
|
+import DescribePreview from '@/views/book/courseware/preview/components/describe/DescribePreview.vue';
|
|
|
+import LabelPreview from '@/views/book/courseware/preview/components/label/LabelPreview.vue';
|
|
|
+import SelectPreview from '@/views/book/courseware/preview/components/select/SelectPreview.vue';
|
|
|
+import MatchingPreview from '@/views/book/courseware/preview/components/matching/MatchingPreview.vue';
|
|
|
+import SortPreview from '@/views/book/courseware/preview/components/sort/SortPreview.vue';
|
|
|
|
|
|
export const bookTypeOption = [
|
|
|
{
|
|
@@ -31,6 +45,7 @@ export const bookTypeOption = [
|
|
|
component: StemPage,
|
|
|
// 设置页面
|
|
|
set: StemSetting,
|
|
|
+ preview: StemPreview, // 预览页面
|
|
|
},
|
|
|
{
|
|
|
value: 'describe',
|
|
@@ -38,6 +53,7 @@ export const bookTypeOption = [
|
|
|
icon: 'describe',
|
|
|
component: DescribePage,
|
|
|
set: DescribeSetting,
|
|
|
+ preview: DescribePreview,
|
|
|
},
|
|
|
{
|
|
|
value: 'label',
|
|
@@ -45,6 +61,7 @@ export const bookTypeOption = [
|
|
|
icon: 'label',
|
|
|
component: LabelPage,
|
|
|
set: LabelSetting,
|
|
|
+ preview: LabelPreview,
|
|
|
},
|
|
|
{
|
|
|
value: 'audio',
|
|
@@ -52,6 +69,7 @@ export const bookTypeOption = [
|
|
|
icon: 'audio',
|
|
|
component: AudioPage,
|
|
|
set: AudioSetting,
|
|
|
+ preview: AudioPreview,
|
|
|
},
|
|
|
{
|
|
|
value: 'video',
|
|
@@ -59,6 +77,7 @@ export const bookTypeOption = [
|
|
|
icon: 'video',
|
|
|
component: VideoPage,
|
|
|
set: VideoSetting,
|
|
|
+ preview: VideoPreview,
|
|
|
},
|
|
|
{
|
|
|
value: 'picture',
|
|
@@ -66,6 +85,7 @@ export const bookTypeOption = [
|
|
|
icon: 'picture',
|
|
|
component: PicturePage,
|
|
|
set: PictureSetting,
|
|
|
+ preview: PicturePreview,
|
|
|
},
|
|
|
{
|
|
|
value: 'divider',
|
|
@@ -73,6 +93,7 @@ export const bookTypeOption = [
|
|
|
icon: 'divider',
|
|
|
component: DividerPage,
|
|
|
set: DividerSetting,
|
|
|
+ preview: DividerPreview,
|
|
|
},
|
|
|
{
|
|
|
value: 'spacing',
|
|
@@ -80,6 +101,7 @@ export const bookTypeOption = [
|
|
|
icon: 'spacing',
|
|
|
component: SpacingPage,
|
|
|
set: SpacingSetting,
|
|
|
+ preview: SpacingPreview,
|
|
|
},
|
|
|
],
|
|
|
},
|
|
@@ -93,6 +115,7 @@ export const bookTypeOption = [
|
|
|
icon: '',
|
|
|
component: SelectPage,
|
|
|
set: SelectSetting,
|
|
|
+ preview: SelectPreview,
|
|
|
},
|
|
|
{
|
|
|
value: 'matching',
|
|
@@ -100,6 +123,15 @@ export const bookTypeOption = [
|
|
|
icon: '',
|
|
|
component: MatchingPage,
|
|
|
set: MatchingSetting,
|
|
|
+ preview: MatchingPreview,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ value: 'sort',
|
|
|
+ label: '排序组件',
|
|
|
+ icon: '',
|
|
|
+ component: SortPage,
|
|
|
+ set: SortSetting,
|
|
|
+ preview: SortPreview,
|
|
|
},
|
|
|
],
|
|
|
},
|
|
@@ -119,3 +151,8 @@ export const componentSettingList = bookTypeOption
|
|
|
export const componentNameList = bookTypeOption
|
|
|
.flatMap((item) => item.children)
|
|
|
.reduce((prev, { value, label }) => ({ ...prev, [value]: label }), {});
|
|
|
+
|
|
|
+// 预览组件列表
|
|
|
+export const previewComponentList = bookTypeOption
|
|
|
+ .flatMap((item) => item.children)
|
|
|
+ .reduce((prev, { value, preview }) => ({ ...prev, [value]: preview }), {});
|