Merge branch 'master' of https://github.com/OHIF/Viewers into fix-toolbar-tools

This commit is contained in:
Rodrigo Antinarelli 2020-03-04 12:13:23 -03:00
commit 2f0d1b651b
17 changed files with 158 additions and 100 deletions

View File

@ -3,6 +3,17 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [2.4.1](https://github.com/OHIF/Viewers/compare/@ohif/extension-cornerstone@2.4.0...@ohif/extension-cornerstone@2.4.1) (2020-03-03)
### Bug Fixes
* bump react-cornerstone-viewport version to address critical issue ([#1473](https://github.com/OHIF/Viewers/issues/1473)) ([ee80e02](https://github.com/OHIF/Viewers/commit/ee80e026610442e94caf5e4e3e4d193220cd0ece))
# [2.4.0](https://github.com/OHIF/Viewers/compare/@ohif/extension-cornerstone@2.3.1...@ohif/extension-cornerstone@2.4.0) (2020-02-20)

View File

@ -1,6 +1,6 @@
{
"name": "@ohif/extension-cornerstone",
"version": "2.4.0",
"version": "2.4.1",
"description": "OHIF extension for Cornerstone",
"author": "OHIF",
"license": "MIT",
@ -52,6 +52,6 @@
"lodash.merge": "^4.6.2",
"lodash.throttle": "^4.1.1",
"query-string": "^6.8.3",
"react-cornerstone-viewport": "2.x.x"
"react-cornerstone-viewport": "^2.3.6"
}
}

View File

@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.2.21](https://github.com/OHIF/Viewers/compare/@ohif/extension-vtk@1.2.20...@ohif/extension-vtk@1.2.21) (2020-02-29)
**Note:** Version bump only for package @ohif/extension-vtk
## [1.2.20](https://github.com/OHIF/Viewers/compare/@ohif/extension-vtk@1.2.19...@ohif/extension-vtk@1.2.20) (2020-02-21)
**Note:** Version bump only for package @ohif/extension-vtk

View File

@ -1,6 +1,6 @@
{
"name": "@ohif/extension-vtk",
"version": "1.2.20",
"version": "1.2.21",
"description": "OHIF extension for VTK.js",
"author": "OHIF",
"license": "MIT",
@ -53,7 +53,7 @@
},
"devDependencies": {
"@ohif/core": "^2.5.1",
"@ohif/ui": "^1.3.0",
"@ohif/ui": "^1.3.1",
"cornerstone-tools": "^4.12.0",
"cornerstone-wado-image-loader": "^3.0.0",
"dicom-parser": "^1.8.3",

View File

@ -3,6 +3,17 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.3.1](https://github.com/OHIF/Viewers/compare/@ohif/ui@1.3.0...@ohif/ui@1.3.1) (2020-02-29)
### Bug Fixes
* prevent the native context menu from appearing when right-clicking on a measurement or angle (https://github.com/OHIF/Viewers/issues/1406) ([#1469](https://github.com/OHIF/Viewers/issues/1469)) ([9b3be9b](https://github.com/OHIF/Viewers/commit/9b3be9b0c082c9a5b62f2a40f42e59381860fe73))
# [1.3.0](https://github.com/OHIF/Viewers/compare/@ohif/ui@1.2.1...@ohif/ui@1.3.0) (2020-02-20)

View File

@ -1,6 +1,6 @@
{
"name": "@ohif/ui",
"version": "1.3.0",
"version": "1.3.1",
"description": "A set of React components for Medical Imaging Viewers",
"author": "OHIF Contributors",
"license": "MIT",

View File

@ -1,11 +1,10 @@
import React from 'react';
import PropTypes from 'prop-types';
import React from 'react';
import './ContextMenu.css';
const ContextMenu = ({ items, onClick }) => {
return (
<div className="ContextMenu">
<div className="ContextMenu" onContextMenu={e => e.preventDefault()}>
<ul>
{items.map((item, index) => (
<li key={index}>

View File

@ -3,6 +3,36 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [3.7.4](https://github.com/OHIF/Viewers/compare/@ohif/viewer@3.7.3...@ohif/viewer@3.7.4) (2020-03-03)
**Note:** Version bump only for package @ohif/viewer
## [3.7.3](https://github.com/OHIF/Viewers/compare/@ohif/viewer@3.7.2...@ohif/viewer@3.7.3) (2020-03-02)
### Bug Fixes
* GCloud dataset picker dialog broken ([#1453](https://github.com/OHIF/Viewers/issues/1453)) ([64dfbea](https://github.com/OHIF/Viewers/commit/64dfbeab7af98277efefadd334df14db79e32a4f))
## [3.7.2](https://github.com/OHIF/Viewers/compare/@ohif/viewer@3.7.1...@ohif/viewer@3.7.2) (2020-02-29)
### Bug Fixes
* prevent the native context menu from appearing when right-clicking on a measurement or angle (https://github.com/OHIF/Viewers/issues/1406) ([#1469](https://github.com/OHIF/Viewers/issues/1469)) ([9b3be9b](https://github.com/OHIF/Viewers/commit/9b3be9b0c082c9a5b62f2a40f42e59381860fe73))
## [3.7.1](https://github.com/OHIF/Viewers/compare/@ohif/viewer@3.7.0...@ohif/viewer@3.7.1) (2020-02-21)
**Note:** Version bump only for package @ohif/viewer

View File

@ -1,6 +1,6 @@
{
"name": "@ohif/viewer",
"version": "3.7.1",
"version": "3.7.4",
"description": "OHIF Viewer",
"author": "OHIF Contributors",
"license": "MIT",
@ -48,14 +48,14 @@
"dependencies": {
"@babel/runtime": "^7.5.5",
"@ohif/core": "^2.5.1",
"@ohif/extension-cornerstone": "^2.4.0",
"@ohif/extension-cornerstone": "^2.4.1",
"@ohif/extension-dicom-html": "^1.1.0",
"@ohif/extension-dicom-microscopy": "^0.50.6",
"@ohif/extension-dicom-pdf": "^1.0.1",
"@ohif/extension-lesion-tracker": "^0.2.0",
"@ohif/extension-vtk": "^1.2.20",
"@ohif/extension-vtk": "^1.2.21",
"@ohif/i18n": "^0.52.6",
"@ohif/ui": "^1.3.0",
"@ohif/ui": "^1.3.1",
"@tanem/react-nprogress": "^1.1.25",
"classnames": "^2.2.6",
"core-js": "^3.2.1",

View File

@ -1,8 +1,7 @@
import React from 'react';
import PropTypes from 'prop-types';
import { commandsManager } from './../App.js';
import { ContextMenu } from '@ohif/ui';
import PropTypes from 'prop-types';
import React from 'react';
import { commandsManager } from './../App.js';
const toolTypes = [
'Angle',
@ -94,7 +93,7 @@ const ToolContextMenu = ({
return (
<div className="ToolContextMenu">
<ContextMenu items={dropdownItems} onClick={onClickHandler} />;
<ContextMenu items={dropdownItems} onClick={onClickHandler} />
</div>
);
};

View File

@ -9,7 +9,7 @@ export default class DatasetPicker extends Component {
error: null,
loading: true,
datasets: [],
filterStr: ""
filterStr: '',
};
static propTypes = {
@ -42,22 +42,23 @@ export default class DatasetPicker extends Component {
}
render() {
const { datasets, loading, error, filterStr } = this.state;
const { datasets, loading, error, filterStr } = this.state;
const { onSelect } = this.props;
return (
<div>
<input class="form-control gcp-input"
type="text"
value={ filterStr }
onChange={ e => this.setState({ filterStr: e.target.value }) }
<input
className="form-control gcp-input"
type="text"
value={filterStr}
onChange={e => this.setState({ filterStr: e.target.value })}
/>
<DatasetsList
datasets={datasets}
loading={loading}
error={error}
filter={filterStr}
onSelect={onSelect}
/>
<DatasetsList
datasets={datasets}
loading={loading}
error={error}
filter={filterStr}
onSelect={onSelect}
/>
</div>
);
}

View File

@ -122,10 +122,7 @@ class DatasetSelector extends Component {
<>
{projectBreadcrumbs}
{!project && (
<ProjectPicker
accessToken={accessToken}
onSelect={onProjectSelect}
/>
<ProjectPicker accessToken={accessToken} onSelect={onProjectSelect} />
)}
{project && !location && (

View File

@ -10,13 +10,13 @@ export default class DicomStorePicker extends Component {
loading: true,
stores: [],
locations: [],
filterStr: ""
filterStr: '',
};
static propTypes = {
dataset: PropTypes.object,
onSelect: PropTypes.func,
accessToken: PropTypes.string.isRequired
accessToken: PropTypes.string.isRequired,
};
async componentDidMount() {
@ -44,10 +44,11 @@ export default class DicomStorePicker extends Component {
return (
<div>
<input class="form-control gcp-input"
type="text"
value={ filterStr }
onChange={ e => this.setState({ filterStr: e.target.value }) }
<input
className="form-control gcp-input"
type="text"
value={filterStr}
onChange={e => this.setState({ filterStr: e.target.value })}
/>
<DicomStoreList
stores={stores}

View File

@ -1,57 +1,56 @@
import React, { Component } from 'react';
import React from 'react';
import PropTypes from 'prop-types';
import Modal from 'react-bootstrap-modal';
import DatasetSelector from './DatasetSelector';
import './googleCloud.css';
import { withTranslation } from 'react-i18next';
import * as GoogleCloudUtilServers from './utils/getServers';
class DicomStorePickerModal extends Component {
static propTypes = {
url: PropTypes.string,
user: PropTypes.object.isRequired,
setServers: PropTypes.func.isRequired,
isOpen: PropTypes.bool.isRequired,
onClose: PropTypes.func,
import { servicesManager } from './../App.js';
function DicomStorePickerModal({
isOpen = false,
setServers,
onClose,
user,
url,
t,
}) {
const { UIModalService } = servicesManager.services;
const showDicomStorePickerModal = () => {
const handleEvent = data => {
const servers = GoogleCloudUtilServers.getServers(data, data.dicomstore);
setServers(servers);
// Force auto close
UIModalService.hide();
onClose();
};
if (UIModalService) {
UIModalService.show({
content: DatasetSelector,
title: t('Google Cloud Healthcare API'),
contentProps: {
setServers: handleEvent,
user,
url,
},
});
}
};
static defaultProps = {
isOpen: false,
};
handleEvent = data => {
const servers = GoogleCloudUtilServers.getServers(data, data.dicomstore);
this.props.setServers(servers);
// Force auto close
this.props.onClose();
};
render() {
return (
<Modal
show={this.props.isOpen}
onHide={this.props.onClose}
aria-labelledby="ModalHeader"
className="modal fade themed in"
backdrop={false}
size={'md'}
keyboard={true}
>
<Modal.Header closeButton>
<Modal.Title>
{this.props.t('Google Cloud Healthcare API')}
</Modal.Title>
</Modal.Header>
<Modal.Body>
<DatasetSelector
setServers={this.handleEvent}
user={this.props.user}
url={this.props.url}
/>
</Modal.Body>
</Modal>
);
}
return (
<React.Fragment>{isOpen && showDicomStorePickerModal()}</React.Fragment>
);
}
DicomStorePickerModal.propTypes = {
isOpen: PropTypes.bool.isRequired,
setServers: PropTypes.func.isRequired,
onClose: PropTypes.func,
user: PropTypes.object.isRequired,
url: PropTypes.string,
};
export default withTranslation('Common')(DicomStorePickerModal);

View File

@ -9,7 +9,7 @@ export default class LocationPicker extends Component {
error: null,
loading: true,
locations: [],
filterStr: "",
filterStr: '',
};
static propTypes = {
@ -42,10 +42,11 @@ export default class LocationPicker extends Component {
const { onSelect } = this.props;
return (
<div>
<input class="form-control gcp-input"
type="text"
value={ filterStr }
onChange={ e => this.setState({ filterStr: e.target.value }) }
<input
className="form-control gcp-input"
type="text"
value={filterStr}
onChange={e => this.setState({ filterStr: e.target.value })}
/>
<LocationsList
locations={locations}

View File

@ -30,7 +30,7 @@ export default class ProjectPicker extends Component {
this.setState({
projects: response.data.projects || [],
filterStr: "",
filterStr: '',
loading: false,
});
}
@ -40,10 +40,11 @@ export default class ProjectPicker extends Component {
const { onSelect } = this.props;
return (
<div>
<input class="form-control gcp-input"
type="text"
value={ filterStr }
onChange={ e => this.setState({ filterStr: e.target.value }) }
<input
className="form-control gcp-input"
type="text"
value={filterStr}
onChange={e => this.setState({ filterStr: e.target.value })}
/>
<ProjectsList
projects={projects}

View File

@ -15202,10 +15202,10 @@ react-codemirror2@^6.0.0:
resolved "https://registry.yarnpkg.com/react-codemirror2/-/react-codemirror2-6.0.0.tgz#180065df57a64026026cde569a9708fdf7656525"
integrity sha512-D7y9qZ05FbUh9blqECaJMdDwKluQiO3A9xB+fssd5jKM7YAXucRuEOlX32mJQumUvHUkHRHqXIPBjm6g0FW0Ag==
react-cornerstone-viewport@2.x.x:
version "2.1.0"
resolved "https://registry.yarnpkg.com/react-cornerstone-viewport/-/react-cornerstone-viewport-2.1.0.tgz#1f353e3b0a57c45add70e5040b819290d9f55f4b"
integrity sha512-HahonGn2ZSud/yMSClWL3YDlh74hE46OMyTeTI7i80EWYPXO1eKeHajwyFvfl2wWXycuotpyhUlwIfQY1h4jRw==
react-cornerstone-viewport@^2.3.6:
version "2.3.6"
resolved "https://registry.yarnpkg.com/react-cornerstone-viewport/-/react-cornerstone-viewport-2.3.6.tgz#1c76bd37c95284254767296952845bacd3b810a4"
integrity sha512-MBs1Mgl0g0YswkhgoaYlaPoPDVs/HZQ3Z89thHxVytvJsgnQvhc3YrR48iRaUfQj0eYoazh7AL/lLCfd8veFKA==
dependencies:
classnames "^2.2.6"
date-fns "^2.2.1"