Skip to content

Commit 3ab6fd6

Browse files
authored
decouple courses (#677)
- **remove UIMocks...** - **export individual courses, remove default export...**
2 parents c74e5f9 + 7dae81f commit 3ab6fd6

File tree

12 files changed

+33
-242
lines changed

12 files changed

+33
-242
lines changed

packages/courses/src/index.ts

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,15 @@ import sightSing from './sightsing';
1414
import typing from './typing';
1515
import wordWork from './word-work';
1616

17+
export { default as chess } from './chess';
18+
export { default as french } from './french';
19+
export { default as math } from './math';
20+
export { default as piano } from './piano';
21+
export { default as pitch } from './pitch';
22+
export { default as sightSing } from './sightsing';
23+
export { default as typing } from './typing';
24+
export { default as wordWork } from './word-work';
25+
1726
export { BlanksCard, BlanksCardDataShapes } from './default/questions/fillIn';
1827
export { default as gradeSpellingAttempt } from './default/questions/fillIn/blanksCorrection';
1928

@@ -199,7 +208,7 @@ export class CourseList {
199208
}
200209
}
201210

202-
const courseList: CourseList = new CourseList([
211+
export const allCourses: CourseList = new CourseList([
203212
math,
204213
wordWork,
205214
french,
@@ -210,5 +219,3 @@ const courseList: CourseList = new CourseList([
210219
chess,
211220
typing,
212221
]);
213-
214-
export default courseList;

packages/db/src/study/getCardDataShape.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
import Courses from '@vue-skuilder/courses';
1+
import { allCourses } from '@vue-skuilder/courses';
22
import { log, NameSpacer, CourseConfig, DataShape } from '@vue-skuilder/common';
33
import { CardData, DisplayableData } from '@/core';
44
import { getCourseDB } from '@/impl/pouch/courseAPI';
55

66
export async function getCardDataShape(courseID: string, cardID: string) {
77
const dataShapes: DataShape[] = [];
8-
Courses.courses.forEach((course) => {
8+
allCourses.courses.forEach((course) => {
99
course.questions.forEach((question) => {
1010
question.dataShapes.forEach((ds) => {
1111
dataShapes.push(ds);

packages/platform-ui/src/components/Courses/CourseCardBrowser.vue

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@
108108
import { displayableDataToViewData } from '@vue-skuilder/common';
109109
import TagsInput from '@/components/Edit/TagsInput.vue';
110110
import { PaginatingToolbar, ViewComponent, CardLoader } from '@vue-skuilder/common-ui';
111-
import Courses from '@vue-skuilder/courses';
111+
import { allCourses } from '@vue-skuilder/courses';
112112
import { getDataLayer, CourseDBInterface, CardData, DisplayableData, Tag } from '@vue-skuilder/db';
113113
import { defineComponent } from 'vue';
114114
import { alertUser } from '@vue-skuilder/common-ui';
@@ -160,7 +160,7 @@ export default defineComponent({
160160
userIsRegistered: false,
161161
questionCount: 0,
162162
tags: [] as Tag[],
163-
viewLookup: Courses.getView,
163+
viewLookup: allCourses.getView,
164164
};
165165
},
166166
@@ -279,7 +279,9 @@ export default defineComponent({
279279
console.error(`No valid data found for card ${_cardID}`);
280280
return;
281281
}
282-
const tmpView: ViewComponent = Courses.getView(tmpCardData.id_view || 'default.question.BlanksCard.FillInView');
282+
const tmpView: ViewComponent = allCourses.getView(
283+
tmpCardData.id_view || 'default.question.BlanksCard.FillInView'
284+
);
283285
284286
const tmpDataDocs = tmpCardData.id_displayable_data.map((id) => {
285287
return this.courseDB!.getCourseDoc<DisplayableData>(id, {

packages/platform-ui/src/components/Courses/EloModeration.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828

2929
<script lang="ts">
3030
import { CardLoader } from '@vue-skuilder/common-ui';
31-
import Courses from '@vue-skuilder/courses';
31+
import { allCourses } from '@vue-skuilder/courses';
3232
import { CourseElo, adjustCourseScores, CourseConfig } from '@vue-skuilder/common';
3333
import { CourseDBInterface, getDataLayer } from '@vue-skuilder/db';
3434
import { defineComponent } from 'vue';
@@ -62,7 +62,7 @@ export default defineComponent({
6262
id2: '',
6363
elo1: null as CourseElo | null,
6464
elo2: null as CourseElo | null,
65-
viewLookup: Courses.getView,
65+
viewLookup: allCourses.getView,
6666
};
6767
},
6868

packages/platform-ui/src/components/Edit/ComponentRegistration/ComponentRegistration.vue

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
<script lang="ts">
3131
import { defineComponent } from 'vue';
3232
import { Displayable } from '@vue-skuilder/common-ui';
33-
import Courses from '@vue-skuilder/courses';
33+
import { allCourses } from '@vue-skuilder/courses';
3434
import { getDataLayer, CourseDBInterface } from '@vue-skuilder/db';
3535
import {
3636
NameSpacer,
@@ -84,9 +84,9 @@ export default defineComponent({
8484
this.courseDatashapes = this.courseConfig.dataShapes;
8585
this.courseQuestionTypes = this.courseConfig.questionTypes;
8686
87-
const dataShapeData = Courses.allDataShapes();
87+
const dataShapeData = allCourses.allDataShapes();
8888
89-
Courses.allDataShapesRaw().forEach((ds) => {
89+
allCourses.allDataShapesRaw().forEach((ds) => {
9090
console.log(`[ComponentRegistration] Datashape:\n${JSON.stringify(ds)}`);
9191
});
9292
@@ -98,19 +98,19 @@ export default defineComponent({
9898
this.dataShapes.push({
9999
name: shape.dataShape,
100100
course: shape.course,
101-
dataShape: Courses.getDataShape(shape),
101+
dataShape: allCourses.getDataShape(shape),
102102
registered: index !== undefined,
103103
displayable: shape.displayable,
104104
});
105105
});
106106
107107
this.dataShapes = _.sortBy(this.dataShapes, ['registered', 'name']);
108108
109-
const courseNameList = Courses.courses.map((course) => course.name);
109+
const courseNameList = allCourses.courses.map((course) => course.name);
110110
const questionData: Array<[QuestionDescriptor, typeof Displayable]> = [];
111111
112112
courseNameList.forEach((course) => {
113-
const courseQs = Courses.getCourse(course)!.questions;
113+
const courseQs = allCourses.getCourse(course)!.questions;
114114
115115
courseQs.forEach((courseQ) => {
116116
questionData.push([

packages/platform-ui/src/components/Edit/CourseEditor.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
<script lang="ts">
3131
import { defineComponent } from 'vue';
3232
import ComponentRegistration from '@/components/Edit/ComponentRegistration/ComponentRegistration.vue';
33-
import Courses from '@vue-skuilder/courses';
33+
import { allCourses } from '@vue-skuilder/courses';
3434
import { BlanksCard, BlanksCardDataShapes } from '@vue-skuilder/courses';
3535
import { CourseConfig, NameSpacer, DataShape } from '@vue-skuilder/common';
3636
import DataInputForm from './ViewableDataInputForm/DataInputForm.vue';
@@ -93,7 +93,7 @@ export default defineComponent({
9393
9494
// #55 make all 'programmed' datashapes available, rather than
9595
// the previous code-based name scoping
96-
Courses.courses.forEach((course) => {
96+
allCourses.courses.forEach((course) => {
9797
course.questions.forEach((question) => {
9898
question.dataShapes.forEach((ds) => {
9999
this.dataShapes.push(ds);

packages/platform-ui/src/components/Edit/ViewableDataInputForm/DataInputForm.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ import CardBrowser from '@/components/Edit/CardBrowser.vue';
8686
import TagsInput, { TagsInputInstance } from '@/components/Edit/TagsInput.vue';
8787
import { FieldInputInstance, isFieldInput } from '@/components/Edit/ViewableDataInputForm/FieldInput.types';
8888
import { alertUser } from '@vue-skuilder/common-ui';
89-
import Courses from '@vue-skuilder/courses';
89+
import { allCourses } from '@vue-skuilder/courses';
9090
import { getDataLayer, CourseDBInterface } from '@vue-skuilder/db';
9191
import { FieldType, Status, CourseConfig, NameSpacer, ShapeDescriptor } from '@vue-skuilder/common';
9292
import _ from 'lodash';
@@ -497,7 +497,7 @@ export default defineComponent({
497497
console.log('[DataInputForm] this.dataShape.name', this.dataShape.name);
498498
499499
if (descriptor.dataShape === this.dataShape.name) {
500-
const crs = Courses.getCourse(descriptor.course)!;
500+
const crs = allCourses.getCourse(descriptor.course)!;
501501
502502
this.shapeViews = [];
503503

packages/platform-ui/src/main.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,8 @@ import { initializeDataLayer } from '@vue-skuilder/db';
2626
const pinia = createPinia();
2727
const app = createApp(App);
2828

29-
// Dynamically import Courses
30-
const { default: Courses } = await import('@vue-skuilder/courses');
29+
// Dynamically import { allCourses }
30+
const { allCourses: Courses } = await import('@vue-skuilder/courses');
3131

3232
// Register all view components globally
3333
const viewComponents = Courses.allViewsRaw();

packages/platform-ui/src/mocks/UIMocks.vue

Lines changed: 0 additions & 209 deletions
This file was deleted.

packages/platform-ui/src/mocks/readme.md

Lines changed: 0 additions & 3 deletions
This file was deleted.

0 commit comments

Comments
 (0)