Compare commits

...

5 Commits

Author SHA1 Message Date
Adolfo R. Brandes
789e1db2e8 Merge pull request #362 from raccoongang/fix/fix-responsive-issues
fix: fix sidebar scrolling and adaptation for mobile
2024-04-03 15:28:34 -03:00
Max Sokolski
66bae174dd Merge pull request #371 from DmytroAlipov/fix-import-grades-button-palm
fix: file input handler
2023-11-16 11:40:53 +02:00
alipov_d
facf1c8866 fix: file input handler
hasFile run only once, it will always be null
2023-10-27 18:14:39 +03:00
ihor-romaniuk
8a1ccc708d fix: fix sidebar scrolling and adaptation for mobile
- fix text overload in heading
- fix appearance for sidebar with a short main content
- fix transformation of search and filter button on mobile
- fix extra empty space below main content table
- fix adaptation modal content to mobile view
2023-10-23 15:28:19 +03:00
Bilal Qamar
3644172d94 feat: upgraded to node v18, added .nvmrc and updated workflows (#317)
* Merge branch 'master' of github.com:edx/frontend-app-gradebook

* feat: upgraded to node v18, added .nvmrc and updated workflows

* build: updated frontend-build, frontend-platform, component-footer & component-header packages

* refactor: updated packages

* fix: resolved test case failure window redefine issue

* Merge branch 'master' of github.com:edx/frontend-app-gradebook into bilalqamar95/node-v18-upgrade

* refactor: pinned node to v18.15 in nvmrc
2023-06-09 09:20:39 +02:00
16 changed files with 3410 additions and 27088 deletions

View File

@@ -11,22 +11,18 @@ on:
jobs:
test:
runs-on: ubuntu-20.04
strategy:
matrix:
node: [16]
npm: [8.5.x]
steps:
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v3
- name: Setup Nodejs Env
run: echo "NODE_VER=`cat .nvmrc`" >> $GITHUB_ENV
- name: Setup Nodejs
uses: actions/setup-node@v1
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node }}
- name: Install npm 8.5.x
run: npm install -g npm@${{ matrix.npm }}
node-version: ${{ env.NODE_VER }}
- name: Install dependencies
run: npm ci

View File

@@ -10,4 +10,4 @@ on:
jobs:
version-check:
uses: openedx/.github/.github/workflows/lockfileversion-check.yml@master
uses: openedx/.github/.github/workflows/lockfileversion-check-v3.yml@master

View File

@@ -15,10 +15,13 @@ jobs:
with:
fetch-depth: 0
- name: Setup Nodejs Env
run: echo "NODE_VER=`cat .nvmrc`" >> $GITHUB_ENV
- name: Setup Node.js
uses: actions/setup-node@v1
with:
node-version: 12
node-version: ${{ env.NODE_VER }}
- name: Install dependencies
run: npm ci

1
.nvmrc Normal file
View File

@@ -0,0 +1 @@
18.15

30397
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -68,7 +68,7 @@
},
"devDependencies": {
"@edx/browserslist-config": "^1.1.1",
"@edx/frontend-build": "^12.4.15",
"@edx/frontend-build": "12.8.27",
"@testing-library/react": "^12.1.0",
"axios": "0.21.2",
"axios-mock-adapter": "^1.17.0",

View File

@@ -29,7 +29,9 @@ exports[`GradebookHeader component snapshots default values (grades frozen, cann
<div
className="subtitle-row d-flex justify-content-between align-items-center"
>
<h2>
<h2
className="text-break"
>
fakeID
</h2>
</div>
@@ -75,7 +77,9 @@ exports[`GradebookHeader component snapshots grades frozen, can view. grades fro
<div
className="subtitle-row d-flex justify-content-between align-items-center"
>
<h2>
<h2
className="text-break"
>
fakeID
</h2>
</div>
@@ -121,7 +125,9 @@ exports[`GradebookHeader component snapshots grades frozen, cannot view unauthor
<div
className="subtitle-row d-flex justify-content-between align-items-center"
>
<h2>
<h2
className="text-break"
>
fakeID
</h2>
</div>
@@ -177,7 +183,9 @@ exports[`GradebookHeader component snapshots show bulk management, active view i
<div
className="subtitle-row d-flex justify-content-between align-items-center"
>
<h2>
<h2
className="text-break"
>
fakeID
</h2>
<Button
@@ -233,7 +241,9 @@ exports[`GradebookHeader component snapshots show bulk management, active view i
<div
className="subtitle-row d-flex justify-content-between align-items-center"
>
<h2>
<h2
className="text-break"
>
fakeID
</h2>
<Button

View File

@@ -47,7 +47,7 @@ export class GradebookHeader extends React.Component {
<FormattedMessage {...messages.gradebook} />
</h1>
<div className="subtitle-row d-flex justify-content-between align-items-center">
<h2>{this.props.courseId}</h2>
<h2 className="text-break">{this.props.courseId}</h2>
{ this.props.showBulkManagement && (
<Button
variant="tertiary"

View File

@@ -19,7 +19,7 @@ export const FilterMenuToggle = ({ toggleFilterDrawer }) => (
className="btn-primary align-self-start"
onClick={toggleFilterDrawer}
>
<Icon className="fa fa-filter" /> <FormattedMessage {...messages.editFilters} />
<Icon className="fa fa-filter mr-1" /> <FormattedMessage {...messages.editFilters} />
</Button>
);

View File

@@ -46,6 +46,7 @@
}
.grade-history-header{
float: left;
min-width: 170px;
}
.grade-history-assignment{
@@ -65,7 +66,7 @@
.gradebook-container {
width: 100%;
overflow-x: auto;
height: 600px;
max-height: 600px;
overflow-y: auto;
position: relative;
}
@@ -122,3 +123,34 @@ select#ScoreView.form-control {
border-right-color: $black;
}
}
#edit-filters-btn {
@include media-breakpoint-down(xs) {
width: 100%;
margin-bottom: 1rem;
}
}
.search-container {
@include media-breakpoint-down(xs) {
width: 100%;
}
}
.pgn__modal-body-content .pgn__data-table-layout-wrapper {
@include media-breakpoint-down(sm) {
clear: both;
padding: 1rem 0;
}
}
.page-gradebook {
position: relative;
.sidebar-container {
position: relative;
}
aside.sidebar {
overflow: auto;
}
}

View File

@@ -6,11 +6,10 @@ export const useImportButtonData = () => {
const submitImportGradesButtonData = thunkActions.grades.useSubmitImportGradesButtonData();
const fileInputRef = useRef();
const hasFile = fileInputRef.current && fileInputRef.current.files[0];
const handleClickImportGrades = () => hasFile && fileInputRef.current.click();
const handleClickImportGrades = () => fileInputRef.current?.click();
const handleFileInputChange = () => {
if (hasFile) {
if (fileInputRef.current?.files[0]) {
const clearInput = () => {
fileInputRef.current.value = null;
};

View File

@@ -40,7 +40,7 @@ export class SearchControls extends React.Component {
render() {
return (
<div>
<div className="search-container">
<SearchField
onSubmit={this.onSubmit}
inputLabel={<FormattedMessage {...messages.label} />}

View File

@@ -7,7 +7,7 @@ exports[`FilterMenuToggle component snapshots basic snapshot 1`] = `
onClick={[MockFunction this.props.toggleFilterDrawer]}
>
<Icon
className="fa fa-filter"
className="fa fa-filter mr-1"
/>
<FormattedMessage

View File

@@ -1,7 +1,9 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`SearchControls Component Snapshots basic snapshot 1`] = `
<div>
<div
className="search-container"
>
<SearchField
inputLabel={
<FormattedMessage

View File

@@ -14,7 +14,7 @@ exports[`GradesView Component snapshots basic snapshot 1`] = `
/>
</h3>
<div
className="d-flex justify-content-between"
className="d-flex justify-content-between flex-wrap"
>
<FilterMenuToggle />
<SearchControls />

View File

@@ -50,7 +50,7 @@ export class GradesView extends React.Component {
<FormattedMessage {...messages.filterStepHeading} />
</h3>
<div className="d-flex justify-content-between">
<div className="d-flex justify-content-between flex-wrap">
<FilterMenuToggle />
<SearchControls />
</div>