@@ -27,6 +27,7 @@ import ProcessingNotification from '@src/generic/processing-notification';
2727import InternetConnectionAlert from '@src/generic/internet-connection-alert' ;
2828import DeleteModal from '@src/generic/delete-modal/DeleteModal' ;
2929import ConfigureModal from '@src/generic/configure-modal/ConfigureModal' ;
30+ import { UnlinkModal } from '@src/generic/unlink-modal' ;
3031import AlertMessage from '@src/generic/alert-message' ;
3132import getPageHeadTitle from '@src/generic/utils' ;
3233import CourseOutlineHeaderActionsSlot from '@src/plugin-slots/CourseOutlineHeaderActionsSlot' ;
@@ -90,13 +91,16 @@ const CourseOutline = ({ courseId }: CourseOutlineProps) => {
9091 isPublishModalOpen,
9192 isConfigureModalOpen,
9293 isDeleteModalOpen,
94+ isUnlinkModalOpen,
9395 closeHighlightsModal,
9496 closePublishModal,
9597 handleConfigureModalClose,
9698 closeDeleteModal,
99+ closeUnlinkModal,
97100 openPublishModal,
98101 openConfigureModal,
99102 openDeleteModal,
103+ openUnlinkModal,
100104 headerNavigationsActions,
101105 openEnableHighlightsModal,
102106 closeEnableHighlightsModal,
@@ -111,6 +115,7 @@ const CourseOutline = ({ courseId }: CourseOutlineProps) => {
111115 handlePublishItemSubmit,
112116 handleEditSubmit,
113117 handleDeleteItemSubmit,
118+ handleUnlinkItemSubmit,
114119 handleDuplicateSectionSubmit,
115120 handleDuplicateSubsectionSubmit,
116121 handleDuplicateUnitSubmit,
@@ -168,7 +173,9 @@ const CourseOutline = ({ courseId }: CourseOutlineProps) => {
168173 } = useSelector ( getProcessingNotification ) ;
169174
170175 const currentItemData = useSelector ( getCurrentItem ) ;
171- const deleteCategory = COURSE_BLOCK_NAMES [ currentItemData . category ] ?. name . toLowerCase ( ) ;
176+
177+ const itemCategory = currentItemData ?. category ;
178+ const itemCategoryName = COURSE_BLOCK_NAMES [ itemCategory ] ?. name . toLowerCase ( ) ;
172179
173180 const enableProctoredExams = useSelector ( getProctoredExamsFlag ) ;
174181 const enableTimedExams = useSelector ( getTimedExamsFlag ) ;
@@ -372,6 +379,7 @@ const CourseOutline = ({ courseId }: CourseOutlineProps) => {
372379 onOpenPublishModal = { openPublishModal }
373380 onOpenConfigureModal = { openConfigureModal }
374381 onOpenDeleteModal = { openDeleteModal }
382+ onOpenUnlinkModal = { openUnlinkModal }
375383 onEditSectionSubmit = { handleEditSubmit }
376384 onDuplicateSubmit = { handleDuplicateSectionSubmit }
377385 isSectionsExpanded = { isSectionsExpanded }
@@ -403,6 +411,7 @@ const CourseOutline = ({ courseId }: CourseOutlineProps) => {
403411 savingStatus = { savingStatus }
404412 onOpenPublishModal = { openPublishModal }
405413 onOpenDeleteModal = { openDeleteModal }
414+ onOpenUnlinkModal = { openUnlinkModal }
406415 onEditSubmit = { handleEditSubmit }
407416 onDuplicateSubmit = { handleDuplicateSubsectionSubmit }
408417 onOpenConfigureModal = { openConfigureModal }
@@ -438,6 +447,7 @@ const CourseOutline = ({ courseId }: CourseOutlineProps) => {
438447 onOpenPublishModal = { openPublishModal }
439448 onOpenConfigureModal = { openConfigureModal }
440449 onOpenDeleteModal = { openDeleteModal }
450+ onOpenUnlinkModal = { openUnlinkModal }
441451 onEditSubmit = { handleEditSubmit }
442452 onDuplicateSubmit = { handleDuplicateUnitSubmit }
443453 getTitleLink = { getUnitUrl }
@@ -514,11 +524,18 @@ const CourseOutline = ({ courseId }: CourseOutlineProps) => {
514524 isSelfPaced = { statusBarData . isSelfPaced }
515525 />
516526 < DeleteModal
517- category = { deleteCategory }
527+ category = { itemCategoryName }
518528 isOpen = { isDeleteModalOpen }
519529 close = { closeDeleteModal }
520530 onDeleteSubmit = { handleDeleteItemSubmit }
521531 />
532+ < UnlinkModal
533+ displayName = { currentItemData ?. displayName }
534+ category = { itemCategory }
535+ isOpen = { isUnlinkModalOpen }
536+ close = { closeUnlinkModal }
537+ onUnlinkSubmit = { handleUnlinkItemSubmit }
538+ />
522539 < StandardModal
523540 title = { intl . formatMessage ( messages . sectionPickerModalTitle ) }
524541 isOpen = { isAddLibrarySectionModalOpen }
0 commit comments