Skip to content

Commit 26ca50f

Browse files
chore: update with latest master
2 parents 8d26ef2 + 2804f38 commit 26ca50f

File tree

102 files changed

+2306
-2375
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

102 files changed

+2306
-2375
lines changed

README.rst

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -250,6 +250,25 @@ Requirements
250250
* ``contentstore.new_studio_mfe.use_new_export_page``: this feature flag will change the CMS to link to the new export page.
251251
* ``contentstore.new_studio_mfe.use_new_import_page``: this feature flag will change the CMS to link to the new import page.
252252

253+
Feature: Tagging/Taxonomy Pages
254+
================================
255+
256+
.. image:: ./docs/readme-images/feature-tagging-taxonomy-pages.png
257+
258+
Requirements
259+
------------
260+
261+
* ``edx-platform`` Waffle flags:
262+
263+
* ``contentstore.new_studio_mfe.use_tagging_taxonomy_list_page``: this feature flag must be enabled.
264+
265+
Configuration
266+
-------------
267+
268+
In additional to the standard settings, the following local configuration items are required:
269+
270+
* ``ENABLE_TAGGING_TAXONOMY_PAGES``: must be enabled in order to actually present the new Tagging/Taxonomy pages.
271+
253272

254273
Developing
255274
**********
@@ -259,7 +278,6 @@ Developing
259278

260279
If your devstack includes the default Demo course, you can visit the following URLs to see content:
261280

262-
- `Proctored Exam Settings <http://localhost:2001/course/course-v1:edX+DemoX+Demo_Course/proctored-exam-settings>`_
263281
- `Pages and Resources <http://localhost:2001/course/course-v1:edX+DemoX+Demo_Course/pages-and-resources>`_
264282

265283
Troubleshooting
64.1 KB
Loading

package-lock.json

Lines changed: 24 additions & 40 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -85,15 +85,15 @@
8585
},
8686
"devDependencies": {
8787
"@edx/browserslist-config": "1.2.0",
88-
"@edx/frontend-build": "13.0.4",
88+
"@edx/frontend-build": "13.0.5",
8989
"@edx/reactifex": "^1.0.3",
9090
"@edx/stylelint-config-edx": "^2.3.0",
9191
"@edx/typescript-config": "^1.0.1",
9292
"@testing-library/jest-dom": "5.17.0",
9393
"@testing-library/react": "12.1.5",
9494
"@testing-library/user-event": "^13.2.1",
9595
"@wojtekmaj/enzyme-adapter-react-17": "0.8.0",
96-
"axios-mock-adapter": "1.20.0",
96+
"axios-mock-adapter": "1.22.0",
9797
"enzyme": "3.11.0",
9898
"enzyme-to-json": "^3.6.2",
9999
"glob": "7.2.3",

plugins/course-apps/proctoring/Settings.jsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -236,7 +236,7 @@ const ProctoringSettings = ({ intl, onClose }) => {
236236
);
237237
}
238238

239-
const learnMoreLink = appInfo.documentationLinks?.learnMoreConfiguration && (
239+
const learnMoreLink = appInfo?.documentationLinks?.learnMoreConfiguration && (
240240
<Hyperlink
241241
className="text-primary-500"
242242
destination={appInfo.documentationLinks.learnMoreConfiguration}
@@ -351,14 +351,15 @@ const ProctoringSettings = ({ intl, onClose }) => {
351351
)}
352352

353353
{/* ALLOW OPTING OUT OF PROCTORED EXAMS */}
354-
{ isEdxStaff && formValues.enableProctoredExams && (
354+
{ isEdxStaff && formValues.enableProctoredExams && !isLtiProvider(formValues.proctoringProvider) && (
355355
<fieldset aria-describedby="allowOptingOutHelpText">
356356
<Form.Group controlId="formAllowingOptingOut">
357357
<Form.Label as="legend" className="font-weight-bold">
358358
{intl.formatMessage(messages['authoring.proctoring.allowoptout.label'])}
359359
</Form.Label>
360360
<Form.RadioSet
361361
name="allowOptingOut"
362+
data-testid="allowOptingOutRadio"
362363
value={formValues.allowOptingOut.toString()}
363364
onChange={handleChange}
364365
>

plugins/course-apps/proctoring/Settings.test.jsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -197,6 +197,7 @@ describe('ProctoredExamSettings', () => {
197197
fireEvent.change(selectElement, { target: { value: 'test_lti' } });
198198
});
199199
expect(screen.queryByTestId('escalationEmail')).toBeNull();
200+
expect(screen.queryByTestId('allowOptingOutRadio')).toBeNull();
200201
expect(screen.queryByTestId('createZendeskTicketsYes')).toBeNull();
201202
expect(screen.queryByTestId('createZendeskTicketsNo')).toBeNull();
202203
});

src/CourseAuthoringRoutes.jsx

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
import React from 'react';
2-
import { Routes, Route, useParams } from 'react-router-dom';
2+
import {
3+
Navigate, Routes, Route, useParams,
4+
} from 'react-router-dom';
35
import { PageWrap } from '@edx/frontend-platform/react';
46
import Placeholder from '@edx/frontend-lib-content-components';
57
import CourseAuthoringPage from './CourseAuthoringPage';
68
import { PagesAndResources } from './pages-and-resources';
7-
import ProctoredExamSettings from './proctored-exam-settings/ProctoredExamSettings';
89
import EditorContainer from './editors/EditorContainer';
910
import VideoSelectorContainer from './selectors/VideoSelectorContainer';
1011
import CustomPages from './custom-pages';
@@ -61,7 +62,7 @@ const CourseAuthoringRoutes = () => {
6162
/>
6263
<Route
6364
path="proctored-exam-settings"
64-
element={<PageWrap><ProctoredExamSettings courseId={courseId} /></PageWrap>}
65+
element={<Navigate replace to={`/course/${courseId}/pages-and-resources`} />}
6566
/>
6667
<Route
6768
path="custom-pages/*"

src/CourseAuthoringRoutes.test.jsx

Lines changed: 0 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ import initializeStore from './store';
88

99
const courseId = 'course-v1:edX+TestX+Test_Course';
1010
const pagesAndResourcesMockText = 'Pages And Resources';
11-
const proctoredExamSeetingsMockText = 'Proctored Exam Settings';
1211
const editorContainerMockText = 'Editor Container';
1312
const videoSelectorContainerMockText = 'Video Selector Container';
1413
const customPagesMockText = 'Custom Pages';
@@ -36,10 +35,6 @@ jest.mock('./pages-and-resources/PagesAndResources', () => (props) => {
3635
mockComponentFn(props);
3736
return pagesAndResourcesMockText;
3837
});
39-
jest.mock('./proctored-exam-settings/ProctoredExamSettings', () => (props) => {
40-
mockComponentFn(props);
41-
return proctoredExamSeetingsMockText;
42-
});
4338
jest.mock('./editors/EditorContainer', () => (props) => {
4439
mockComponentFn(props);
4540
return editorContainerMockText;
@@ -76,25 +71,6 @@ describe('<CourseAuthoringRoutes>', () => {
7671
);
7772

7873
expect(screen.getByText(pagesAndResourcesMockText)).toBeVisible();
79-
expect(screen.queryByText(proctoredExamSeetingsMockText)).not.toBeInTheDocument();
80-
expect(mockComponentFn).toHaveBeenCalledWith(
81-
expect.objectContaining({
82-
courseId,
83-
}),
84-
);
85-
});
86-
87-
it('renders the ProctoredExamSettings component when the proctored exam settings route is active', () => {
88-
render(
89-
<AppProvider store={store} wrapWithRouter={false}>
90-
<MemoryRouter initialEntries={['/proctored-exam-settings']}>
91-
<CourseAuthoringRoutes />
92-
</MemoryRouter>
93-
</AppProvider>,
94-
);
95-
96-
expect(screen.queryByText(proctoredExamSeetingsMockText)).toBeInTheDocument();
97-
expect(screen.queryByText(pagesAndResourcesMockText)).not.toBeInTheDocument();
9874
expect(mockComponentFn).toHaveBeenCalledWith(
9975
expect.objectContaining({
10076
courseId,

src/files-and-videos/files-page/FileInfoAssetSidebar.jsx renamed to src/files-and-videos/files-page/FileInfoModalSidebar.jsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,10 @@ import {
1818
} from '@edx/paragon';
1919
import { ContentCopy, InfoOutline } from '@edx/paragon/icons';
2020

21-
import { getFileSizeToClosestByte } from '../data/utils';
21+
import { getFileSizeToClosestByte } from '../generic/utils';
2222
import messages from './messages';
2323

24-
const FileInfoAssetSidebar = ({
24+
const FileInfoModalSidebar = ({
2525
asset,
2626
handleLockedAsset,
2727
// injected
@@ -109,7 +109,7 @@ const FileInfoAssetSidebar = ({
109109
</Stack>
110110
);
111111
};
112-
FileInfoAssetSidebar.propTypes = {
112+
FileInfoModalSidebar.propTypes = {
113113
asset: PropTypes.shape({
114114
displayName: PropTypes.string.isRequired,
115115
wrapperType: PropTypes.string.isRequired,
@@ -127,4 +127,4 @@ FileInfoAssetSidebar.propTypes = {
127127
intl: intlShape.isRequired,
128128
};
129129

130-
export default injectIntl(FileInfoAssetSidebar);
130+
export default injectIntl(FileInfoModalSidebar);

src/files-and-videos/files-page/AssetThumbnail.jsx renamed to src/files-and-videos/files-page/FileThumbnail.jsx

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@ import {
55
Icon,
66
Image,
77
} from '@edx/paragon';
8-
import { getSrc } from '../data/utils';
8+
import { getSrc } from './data/utils';
99
import messages from './messages';
1010

11-
const AssetThumbnail = ({
11+
const FileThumbnail = ({
1212
thumbnail,
1313
wrapperType,
1414
externalUrl,
@@ -50,13 +50,13 @@ const AssetThumbnail = ({
5050
</div>
5151
);
5252
};
53-
AssetThumbnail.defaultProps = {
53+
FileThumbnail.defaultProps = {
5454
thumbnail: null,
5555
wrapperType: null,
5656
externalUrl: null,
5757
displayName: null,
5858
};
59-
AssetThumbnail.propTypes = {
59+
FileThumbnail.propTypes = {
6060
thumbnail: PropTypes.string,
6161
wrapperType: PropTypes.string,
6262
externalUrl: PropTypes.string,
@@ -69,4 +69,4 @@ AssetThumbnail.propTypes = {
6969
intl: intlShape.isRequired,
7070
};
7171

72-
export default injectIntl(AssetThumbnail);
72+
export default injectIntl(FileThumbnail);

0 commit comments

Comments
 (0)