add live view breadcrumb

add courseId to courseMetadata

add locationId constant

update to requested course id

add ora url next to the title
This commit is contained in:
Leangseu Kim
2021-09-29 10:57:09 -04:00
parent 16b9967b1f
commit 96bb8a03e5
9 changed files with 57 additions and 9 deletions

View File

@@ -1,3 +0,0 @@
#ora-esg-list-view {
padding: 20px;
}

View File

@@ -0,0 +1,45 @@
import React from 'react';
import PropTypes from 'prop-types';
import { connect } from 'react-redux';
import { ArrowBack } from '@edx/paragon/icons';
import { Hyperlink } from '@edx/paragon'
import { locationId } from '../../data/constants/app';
import selectors from 'data/selectors';
/**
* <ListViewBreadcrumb />
*/
export const ListViewBreadcrumb = ({ courseId, oraName }) => {
const openResponseUrl = `${process.env.LMS_BASE_URL}/courses/${courseId}/instructor#view-open_response_assessment`;
const oraUrl = `${process.env.LMS_BASE_URL}/courses/${courseId}/jump_to/${locationId}`;
return (
<>
<Hyperlink className="py-4" destination={openResponseUrl}>
<ArrowBack className="mr-3" />
Back to all open responses
</Hyperlink>
<p className="h3 py-4">{oraName}<Hyperlink
destination={oraUrl}
target="_blank"
/></p>
</>
);
};
ListViewBreadcrumb.defaultProps = {
courseId: '',
};
ListViewBreadcrumb.propTypes = {
courseId: PropTypes.string,
};
export const mapStateToProps = (state) => ({
courseId: selectors.app.courseId(state),
oraName: selectors.app.oraName(state),
});
export const mapDispatchToProps = {
};
export default connect(mapStateToProps, mapDispatchToProps)(ListViewBreadcrumb);

View File

@@ -6,6 +6,7 @@ import {
DataTable,
TextFilter,
MultiSelectDropdownFilter,
Container,
} from '@edx/paragon';
import {
@@ -17,6 +18,7 @@ import thunkActions from 'data/thunkActions';
import StatusBadge from 'components/StatusBadge';
import ReviewModal from 'containers/ReviewModal';
import ListViewBreadcrumb from './ListViewBreadcrumb';
import './ListView.scss';
const gradeStatusOptions = Object.keys(gradingStatusDisplay).map(key => ({
@@ -58,7 +60,8 @@ export class ListView extends React.Component {
}
return (
<div id="ora-esg-list-view">
<Container className="py-4">
<ListViewBreadcrumb />
<DataTable
isFilterable
numBreakoutFilters={2}
@@ -116,7 +119,7 @@ export class ListView extends React.Component {
<DataTable.TableFooter />
</DataTable>
<ReviewModal />
</div>
</Container>
);
}
}