diff --git a/kolibri/plugins/coach/assets/src/app.js b/kolibri/plugins/coach/assets/src/app.js index fc0d1f84f4e..afec85d8f2f 100644 --- a/kolibri/plugins/coach/assets/src/app.js +++ b/kolibri/plugins/coach/assets/src/app.js @@ -71,6 +71,9 @@ class CoachToolsModule extends KolibriApp { PageNames.LESSON_EDIT_DETAILS_BETTER, PageNames.LESSON_PREVIEW_SELECTED_RESOURCES, PageNames.LESSON_PREVIEW_RESOURCE, + PageNames.LESSON_SELECT_RESOURCES_INDEX, + PageNames.LESSON_SELECT_RESOURCES_BOOKMARKS, + PageNames.LESSON_SELECT_RESOURCES_CHANNELS, ]; // If we're navigating to the same page for a quiz summary page, don't set loading if ( diff --git a/kolibri/plugins/coach/assets/src/constants/index.js b/kolibri/plugins/coach/assets/src/constants/index.js index 80f1dfb72c8..afdd4c8a18b 100644 --- a/kolibri/plugins/coach/assets/src/constants/index.js +++ b/kolibri/plugins/coach/assets/src/constants/index.js @@ -35,6 +35,9 @@ export const PageNames = { LESSON_EDIT_DETAILS: 'LESSON_EDIT_DETAILS', LESSON_EDIT_DETAILS_BETTER: 'LESSON_EDIT_DETAILS_BETTER', LESSON_SELECT_RESOURCES: 'LESSON_SELECT_RESOURCES', + LESSON_SELECT_RESOURCES_INDEX: 'LESSON_SELECT_RESOURCES_INDEX', + LESSON_SELECT_RESOURCES_BOOKMARKS: 'LESSON_SELECT_RESOURCES_BOOKMARKS', + LESSON_SELECT_RESOURCES_CHANNELS: 'LESSON_SELECT_RESOURCES_CHANNELS', LESSON_PREVIEW_SELECTED_RESOURCES: 'LESSON_PREVIEW_SELECTED_RESOURCES', LESSON_PREVIEW_RESOURCE: 'LESSON_PREVIEW_RESOURCE', LESSON_LEARNER_REPORT: 'LESSON_LEARNER_REPORT', diff --git a/kolibri/plugins/coach/assets/src/routes/lessonsRoutes.js b/kolibri/plugins/coach/assets/src/routes/lessonsRoutes.js index 542a23d10d2..8f8273abe58 100644 --- a/kolibri/plugins/coach/assets/src/routes/lessonsRoutes.js +++ b/kolibri/plugins/coach/assets/src/routes/lessonsRoutes.js @@ -39,6 +39,9 @@ import QuestionLearnersPage from '../views/common/reports/QuestionLearnersPage.v import EditLessonDetails from '../views/lessons/LessonSummaryPage/sidePanels/EditLessonDetails'; import PreviewSelectedResources from '../views/lessons/LessonSummaryPage/sidePanels/PreviewSelectedResources'; import LessonResourceSelection from '../views/lessons/LessonSummaryPage/sidePanels/LessonResourceSelection'; +import SelectionIndex from '../views/lessons/LessonSummaryPage/sidePanels/LessonResourceSelection/subPages/SelectionIndex.vue'; +import SelectFromBookmarks from '../views/lessons/LessonSummaryPage/sidePanels/LessonResourceSelection/subPages/SelectFromBookmarks.vue'; +import SelectFromChannels from '../views/lessons/LessonSummaryPage/sidePanels/LessonResourceSelection/subPages/SelectFromChannels.vue'; import { classIdParamRequiredGuard, RouteSegments } from './utils'; const { @@ -132,8 +135,26 @@ export default [ }, { name: PageNames.LESSON_SELECT_RESOURCES, - path: 'select-resources/:viewId?', + path: 'select-resources/', component: LessonResourceSelection, + redirect: 'select-resources/index', + children: [ + { + name: PageNames.LESSON_SELECT_RESOURCES_INDEX, + path: 'index', + component: SelectionIndex, + }, + { + name: PageNames.LESSON_SELECT_RESOURCES_BOOKMARKS, + path: 'bookmarks', + component: SelectFromBookmarks, + }, + { + name: PageNames.LESSON_SELECT_RESOURCES_CHANNELS, + path: 'channels', + component: SelectFromChannels, + }, + ], }, { name: PageNames.LESSON_PREVIEW_SELECTED_RESOURCES, diff --git a/kolibri/plugins/coach/assets/src/views/common/commonCoachStrings.js b/kolibri/plugins/coach/assets/src/views/common/commonCoachStrings.js index 20dc35722ba..2c602fff59e 100644 --- a/kolibri/plugins/coach/assets/src/views/common/commonCoachStrings.js +++ b/kolibri/plugins/coach/assets/src/views/common/commonCoachStrings.js @@ -630,6 +630,11 @@ const coachStrings = createTranslator('CommonCoachStrings', { context: "Indicates the amount of resources selected along with the file size. For example:\n\n'727 resources selected (22 GB)'", }, + manageLessonResourcesTitle: { + message: 'Manage lesson resources', + context: + "In the 'Manage lesson resources' coaches can add new/remove resource material to a lesson.", + }, }); // Strings for the Missing Content modals, tooltips, alerts, etc. diff --git a/kolibri/plugins/coach/assets/src/views/lessons/LessonSummaryPage/UpdatedResourceSelection.vue b/kolibri/plugins/coach/assets/src/views/lessons/LessonSummaryPage/UpdatedResourceSelection.vue index b0e0044a3c4..bb0a1260f3c 100644 --- a/kolibri/plugins/coach/assets/src/views/lessons/LessonSummaryPage/UpdatedResourceSelection.vue +++ b/kolibri/plugins/coach/assets/src/views/lessons/LessonSummaryPage/UpdatedResourceSelection.vue @@ -38,11 +38,9 @@ import { ContentNodeKinds } from 'kolibri/constants'; import ContentCardList from '../../lessons/LessonResourceSelectionPage/ContentCardList.vue'; import ResourceSelectionBreadcrumbs from '../../lessons/LessonResourceSelectionPage/SearchTools/ResourceSelectionBreadcrumbs.vue'; + import { PageNames } from '../../../constants'; import { injectResourceSelection } from './sidePanels/LessonResourceSelection/useResourceSelection'; - import { - ResourceContentSource, - ResourceSelectionView, - } from './sidePanels/LessonResourceSelection/constants'; + import { ResourceContentSource } from './sidePanels/LessonResourceSelection/constants'; export default { name: 'UpdatedResourceSelection', @@ -119,10 +117,7 @@ computed: { channelsLink() { return { - name: this.$route.name, - params: { - viewId: ResourceSelectionView.SELECTION_INDEX, - }, + name: PageNames.LESSON_SELECT_RESOURCES_INDEX, }; }, selectAllIndeterminate() { diff --git a/kolibri/plugins/coach/assets/src/views/lessons/LessonSummaryPage/sidePanels/LessonResourceSelection/constants.js b/kolibri/plugins/coach/assets/src/views/lessons/LessonSummaryPage/sidePanels/LessonResourceSelection/constants.js index 2f460e9a551..2b3c932a6cb 100644 --- a/kolibri/plugins/coach/assets/src/views/lessons/LessonSummaryPage/sidePanels/LessonResourceSelection/constants.js +++ b/kolibri/plugins/coach/assets/src/views/lessons/LessonSummaryPage/sidePanels/LessonResourceSelection/constants.js @@ -1,9 +1,3 @@ -export const ResourceSelectionView = { - SELECTION_INDEX: 'selectionIndex', - SELECT_FROM_BOOKMARKS: 'selectFromBookmarks', - SELECT_FROM_CHANNELS: 'selectFromChannels', -}; - export const ResourceContentSource = { BOOKMARKS: 'bookmarks', TOPIC_TREE: 'topicTree', diff --git a/kolibri/plugins/coach/assets/src/views/lessons/LessonSummaryPage/sidePanels/LessonResourceSelection/index.vue b/kolibri/plugins/coach/assets/src/views/lessons/LessonSummaryPage/sidePanels/LessonResourceSelection/index.vue index c2f8f4165a7..0737d49b2ad 100644 --- a/kolibri/plugins/coach/assets/src/views/lessons/LessonSummaryPage/sidePanels/LessonResourceSelection/index.vue +++ b/kolibri/plugins/coach/assets/src/views/lessons/LessonSummaryPage/sidePanels/LessonResourceSelection/index.vue @@ -12,18 +12,24 @@ -

{{ view.title }}

+

{{ title }}

- +