Skip to content

Commit

Permalink
Release/v6.7.0
Browse files Browse the repository at this point in the history
IPR Client v6.7.0 Release Notes

Bug
- [DEVSU-1694] - Fixed AlertDialog onClose interaction

Task
- [DEVSU-1610] - Added tests to DataTable and its components
- [DEVSU-1637] - Upgraded MUI to v5
- [DEVSU-1681] - Updated webpack to v5


Improvement
- [DEVSU-1679] - make columns resizable in germline reports 'Reviews' table
  • Loading branch information
kttkjl committed Dec 15, 2021
2 parents a08e27b + aac0ab6 commit 8fadc8a
Show file tree
Hide file tree
Showing 174 changed files with 79,727 additions and 39,189 deletions.
5 changes: 3 additions & 2 deletions .babelrc
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
{
"presets": [["@babel/preset-env", {
"useBuiltIns": "usage",
"modules": false,
"corejs": 2
"modules": "auto",
"corejs": 3
}],
"@babel/preset-react",
"@babel/preset-typescript"],
"plugins": [
"@babel/plugin-proposal-optional-chaining",
"@babel/plugin-syntax-dynamic-import"
],
"env": {
Expand Down
2 changes: 1 addition & 1 deletion .eslintrc.json
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@
"arrow-body-style": ["error", "as-needed"],
"object-shorthand": ["error", "always"],
"quote-props": ["error", "consistent"],
"no-underscore-dangle": ["warn"],
"no-underscore-dangle": ["warn", {"allow": ["_env_"]}],
"no-param-reassign": "off",
"no-restricted-globals": "warn",
"no-alert": "off",
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/npm-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
node: [10, 12, 14]
node: [12, 14, 16]
name: node-${{ matrix.node }}
steps:
- uses: actions/checkout@v2
Expand Down
5 changes: 3 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# Integrated Pipeline Reports (IPR) Client

![Build Status](https://www.bcgsc.ca/bamboo/plugins/servlet/wittified/build-status/PORI-IPRCLI) ![build](https://github.com/bcgsc/pori_ipr_client/workflows/build/badge.svg?branch=master) ![node versions](https://img.shields.io/badge/node-12%20%7C%2014-blue)
![Build Status](https://www.bcgsc.ca/bamboo/plugins/servlet/wittified/build-status/PORI-IPRCLI) ![build](https://github.com/bcgsc/pori_ipr_client/workflows/build/badge.svg?branch=master) ![node versions](https://img.shields.io/badge/node-12%20%7C%2014%20%7C%2016-blue) [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.5728424.svg)](https://doi.org/10.5281/zenodo.5728424)


## Table of Contents

Expand Down Expand Up @@ -67,4 +68,4 @@ A demo site is available at https://pori-demo.bcgsc.ca
## Contributing

Contributions are welcome! Before doing so, please open an issue with the feature that would be added.
In addition, make sure that the code that is being added is linted using the rules in our .eslintrc file.
In addition, make sure that the code that is being added is linted using the rules in our .eslintrc file.
93 changes: 42 additions & 51 deletions app/App.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,33 +2,28 @@
* @module /App
*/
import { SnackbarProvider } from 'notistack';
import CssBaseline from '@material-ui/core/CssBaseline';
import {
createMuiTheme,
MuiThemeProvider,
createGenerateClassName,
jssPreset,
StylesProvider,
} from '@material-ui/core/styles';
import { create } from 'jss';
import CssBaseline from '@mui/material/CssBaseline';
import { createTheme, ThemeProvider, StyledEngineProvider } from '@mui/material/styles';
import React from 'react';
import { JssProvider } from 'react-jss';
import { BrowserRouter } from 'react-router-dom';
// eslint-disable-next-line import/no-extraneous-dependencies
import { ModuleRegistry } from '@ag-grid-community/core';
import { ClientSideRowModelModule } from '@ag-grid-community/client-side-row-model';
import { CsvExportModule } from '@ag-grid-community/csv-export';

import MainView from './views/MainView';
import { SnackbarUtilsConfigurator } from './services/SnackbarUtils';
import CacheBuster from './components/CacheBuster';
import cssTheme from './styles/_theme.scss';
import cssTheme from './styles/_theme.module.scss';

// eslint-disable-next-line import/no-extraneous-dependencies
import '@ag-grid-community/core/dist/styles/ag-grid.min.css';
// eslint-disable-next-line import/no-extraneous-dependencies
import '@ag-grid-community/core/dist/styles/ag-theme-material.min.css';
import '@fontsource/roboto';
import './styles/ag-grid.scss';

const theme = createMuiTheme({
const theme = createTheme({
direction: 'ltr',
palette: {
primary: {
Expand All @@ -52,7 +47,6 @@ const theme = createMuiTheme({
text: {
primary: cssTheme.textPrimary,
secondary: cssTheme.textSecondary,
hint: cssTheme.textHint,
disabled: cssTheme.textDisabled,
},
},
Expand All @@ -67,38 +61,37 @@ const theme = createMuiTheme({
h6: { fontSize: cssTheme.fontSizeH6 },
subtitle1: { fontSize: cssTheme.fontSizeSubtitle1 },
},
// Dialog title header bug: https://github.com/mui-org/material-ui/issues/16569
props: {
MuiDialogTitle: {
disableTypography: true,
components: {
MuiCssBaseline: {
styleOverrides: {
'@global': {
html: {
WebkitFontSmoothing: 'auto',
},
},
},
},
},
overrides: {
MuiDialogTitle: {
root: {
fontSize: cssTheme.fontSizeH3,
styleOverrides: {
root: {
fontSize: cssTheme.fontSizeH2,
},
},
},
MuiCssBaseline: {
'@global': {
html: {
WebkitFontSmoothing: 'auto',
},
MuiButton: {
defaultProps: {
color: 'inherit',
},
},
MuiTabs: {
defaultProps: {
indicatorColor: 'secondary',
textColor: 'secondary',
},
},
},
});

const generateClassName = createGenerateClassName({
productionPrefix: 'ipr',
});

const jss = create({
...jssPreset(),
// We define a custom insertion point that JSS will look for injecting the styles in the DOM.
insertionPoint: 'jss-insertion-point',
});

ModuleRegistry.registerModules([
ClientSideRowModelModule,
CsvExportModule,
Expand All @@ -116,21 +109,19 @@ const basename = window._env_.PUBLIC_PATH.endsWith('/') ? window._env_.PUBLIC_PA
*/
function App() {
return (
<StylesProvider generateClassName={generateClassName} injectFirst>
<JssProvider jss={jss}>
<MuiThemeProvider theme={theme}>
<SnackbarProvider anchorOrigin={{ vertical: 'bottom', horizontal: 'left' }}>
<SnackbarUtilsConfigurator />
<CssBaseline />
<BrowserRouter basename={basename}>
<CacheBuster>
<MainView />
</CacheBuster>
</BrowserRouter>
</SnackbarProvider>
</MuiThemeProvider>
</JssProvider>
</StylesProvider>
<StyledEngineProvider injectFirst>
<ThemeProvider theme={theme}>
<SnackbarProvider anchorOrigin={{ vertical: 'bottom', horizontal: 'left' }}>
<SnackbarUtilsConfigurator />
<CssBaseline />
<BrowserRouter basename={basename}>
<CacheBuster>
<MainView />
</CacheBuster>
</BrowserRouter>
</SnackbarProvider>
</ThemeProvider>
</StyledEngineProvider>
);
}

Expand Down
109 changes: 109 additions & 0 deletions app/common.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,21 @@ declare let CONFIG: {
},
};

declare global {
interface Window {
_env_: {
KEYCLOAK_CLIENT_ID: string;
KEYCLOAK_REALM: string;
KEYCLOAK_URL: string;
GRAPHKB_URL: string;
API_BASE_URL: string;
CONTACT_EMAIL: string;
CONTACT_TICKET_URL: string;
IS_DEMO: boolean;
};
}
}

type RecordDefaults = {
ident: string;
updatedAt: string | null;
Expand Down Expand Up @@ -83,6 +98,96 @@ type KbMatchType = {
category: string;
};

type CopyNumberType = {
chromosomeBand: string | null;
cna: string | null;
cnvState: string | null;
copyChange: number | null;
end: number | null;
gene: GeneType | null;
kbCategory: string | null;
kbMatches: KbMatchType[];
log2Cna: string | null;
lohState: string | null;
size: number | null;
start: number | null;
} & RecordDefaults;

type StructuralVariantType = {
breakpoint: string | null;
conventionalName: string | null;
ctermGene: string | null;
ctermTranscript: string | null;
detectedIn: string | null;
eventType: string | null;
exon1: string | null;
exon2: string | null;
frame: string | null;
gene1: Record<string, unknown> | null;
gene2: Record<string, unknown> | null;
highQuality: boolean;
kbMatches: null | KbMatchType[];
mavis_product_id: number | null;
name: string | null;
ntermGene: string | null;
ntermTranscript: string | null;
omicSupport: boolean;
svg: string | null;
svgTitle: string | null;
} & RecordDefaults;

type SmallMutationType = {
altSeq: string | null;
chromosome: number | null;
endPosition: number | null;
gene: Record<string, unknown>;
germline: string | null;
hgvsCds: string | null;
hgvsProtein: string | null;
kbMatches: KbMatchType[];
ncbiBuild: string | null;
normalAltCount: number | null;
normalDepth: number | null;
normalRefCount: number | null;
proteinChange: string | null;
refSeq: string | null;
rnaAltCount: number | null;
rnaDepth: number | null;
rnaRefCount: number | null;
startPosition: number | null;
transcript: string | null;
tumourAltCount: number | null;
tumourDepth: number | null;
tumourRefCount: number | null;
zygosity: string | null;
} & RecordDefaults;

type ExpOutliersType = {
biopsySiteFoldChange: number | null;
biopsySitePercentile: number | null;
biopsySiteQC: number | null;
biopsySiteZScore: number | null;
biopsySitekIQR: number | null;
diseaseFoldChange: number | null;
diseasePercentile: number | null;
diseaseQC: number | null;
diseaseZScore: number | null;
diseasekIQR: number | null;
expressionState: string | null;
gene: GeneType;
kbCategory: string | null;
kbMatches: KbMatchType[];
location: number | null;
primarySiteFoldChange: number | null;
primarySitePercentile: number | null;
primarySiteQC: number | null;
primarySiteZScore: number | null;
primarySitekIQR: number | null;
rnaReads: number | null;
rpkm: number | null;
tpm: number | null;
} & RecordDefaults;

export {
RecordDefaults,
UserType,
Expand All @@ -92,4 +197,8 @@ export {
ImageType,
GeneType,
KbMatchType,
CopyNumberType,
StructuralVariantType,
SmallMutationType,
ExpOutliersType,
};
Loading

0 comments on commit 8fadc8a

Please sign in to comment.