Skip to content

Commit

Permalink
Merge branch 'dev' of github.com:bioinformatics-ua/dicoogle
Browse files Browse the repository at this point in the history
  • Loading branch information
bastiao committed Jan 2, 2021
2 parents 3c190a8 + 202b27f commit f5333b2
Show file tree
Hide file tree
Showing 11 changed files with 326 additions and 277 deletions.
202 changes: 103 additions & 99 deletions dicoogle/src/main/resources/webapp/js/components/about/aboutView.js
Original file line number Diff line number Diff line change
Expand Up @@ -24,112 +24,116 @@ const AboutView = React.createClass({
let versionNumber = this.state.version;
var title = <h3>Dicoogle PACS, version: {versionNumber}</h3>;
var licenses = (
<Grid className="">
<Row className="show-grid">
<Col className="gridAbout" xs={2} md={2}>
<b>dcm4che2</b>
<br />License: GPL
</Col>
<Col className="gridAbout" xs={2} md={2}>
<b>react.js+reflux</b>
<br />License: BSD
</Col>
<Col className="gridAbout" xs={2} md={2}>
<b>Jetty</b>
<br />License: GPL
</Col>
</Row>
</Grid>
<Grid className="">
<Row className="show-grid">
<Col className="gridAbout" xs={2} md={2}>
<b>dcm4che2</b>
<br />License: GPL
</Col>
<Col className="gridAbout" xs={2} md={2}>
<b>react.js+reflux</b>
<br />License: BSD
</Col>
<Col className="gridAbout" xs={2} md={2}>
<b>Jetty</b>
<br />License: GPL
</Col>
</Row>
</Grid>
);

var panelsInstance = (
<div className="about">
<Panel header={title} bsStyle="primary">
Dicoogle is an open-source PACS archive software that replaces the traditional database model
with an extensible indexing and retrieval framework and provides easy
expansion of functionalities through the use of plug-ins. It was
designed to accommodate automatic information extraction,
indexing, and storage of all meta-data detected in medical images, without re-engineering or reconfiguration requirements,
thus overcoming the limitations of traditional DICOM query
services. By presenting the technical assets for plugin development
such as a Software Development Kit (SDK),
developers are free to expand the archive independently and
non-exclusively, without changes to the core platform. This extensible architecture of Dicoogle has enabled its use
in research and the healthcare industry, as many use cases can
be fulfilled in the same deployment
<br />
</Panel>
<div className="about">
<Panel header={title} bsStyle="primary">
Dicoogle is an open-source PACS archive software that replaces the
traditional database model with an extensible indexing and retrieval
framework and provides easy expansion of functionalities through the
use of plug-ins. It was designed to accommodate automatic information
extraction, indexing, and storage of all meta-data detected in medical
images, without re-engineering or reconfiguration requirements, thus
overcoming the limitations of traditional DICOM query services. By
presenting the technical assets for plugin development such as a
Software Development Kit (SDK), developers are free to expand the
archive independently and non-exclusively, without changes to the core
platform. This extensible architecture of Dicoogle has enabled its use
in research and the healthcare industry, as many use cases can be
fulfilled in the same deployment
<br />
</Panel>

<Panel header="Main third party components" bsStyle="primary">
{licenses}
Note: Although these are not the only components used, these are
considered the main ones.
</Panel>
<Panel header="Main third party components" bsStyle="primary">
{licenses}
Note: Although these are not the only components used, these are
considered the main ones.
</Panel>

<Panel header="Disclaimer" bsStyle="primary">
This software is provided by the copyright holders and contributors
"as is" and any express or implied warranties, including, but not
limited to, the implied warranties of merchantability and fitness for
a particular purpose are disclaimed. In no event shall the copyright
owner or contributors be liable for any direct, indirect, incidental,
special, exemplary, or consequential damages (including, but not
limited to, procurement of substitute goods or services; loss of use,
data, or profits; or business interruption) however caused and on any
theory of liability, whether in contract, strict liability, or tort
(including negligence or otherwise) arising in any way out of the use
of this software, even if advised of the possibility of such damage.
</Panel>
<Panel header="Developers" bsStyle="primary">
As an open source software, Dicoogle can accept contributions from
developers around the world. Dicoogle OSS is led and supported by
Bioinformatics UA and <a target="_new" href="http://www.bmd-software.com">
BMD Software</a>. Please check{" "} <a target="_new" href="http://www.dicoogle.com">
<Panel header="Disclaimer" bsStyle="primary">
This software is provided by the copyright holders and contributors
"as is" and any express or implied warranties, including, but not
limited to, the implied warranties of merchantability and fitness for
a particular purpose are disclaimed. In no event shall the copyright
owner or contributors be liable for any direct, indirect, incidental,
special, exemplary, or consequential damages (including, but not
limited to, procurement of substitute goods or services; loss of use,
data, or profits; or business interruption) however caused and on any
theory of liability, whether in contract, strict liability, or tort
(including negligence or otherwise) arising in any way out of the use
of this software, even if advised of the possibility of such damage.
</Panel>
<Panel header="Developers" bsStyle="primary">
As an open source software, Dicoogle can accept contributions from
developers around the world. Dicoogle OSS is led and supported by
Bioinformatics UA and{" "}
<a target="_new" href="http://www.bmd-software.com">
BMD Software
</a>. Please check{" "}
<a target="_new" href="http://www.dicoogle.com">
the Dicoogle website
</a>{" "}
or our{" "}
<a
target="_new"
href="http://www.github.com/bioinformatics-ua/dicoogle"
>
GitHub repository
</a>{" "}
for more information.
<div style={{ display: "inline-block", width: "100%" }}>
<a href="http://bioinformatics.ua.pt">
<img
src="assets/logos/logobio.png"
style={{ height: 40, margin: 5 }}
/>
</a>
<a href="http://bmd-software.com/">
<img
src="assets/logos/logo.png"
style={{ height: 40, padding: 5, margin: 5 }}
/>
</a>
<a href="http://www.ieeta.pt/">
<img
src="assets/logos/logo-ieeta.png"
style={{ height: 60, margin: 5 }}
/>
</a>
<a href="http://www.ua.pt/">
<img
src="assets/logos/logo-ua.png"
style={{ height: 60, margin: 5 }}
/>
</a>
</div>
<div style={{ display: "inline-block" }}>
<a>
<img
src="assets/logos/logoFCT.png"
style={{ height: 30, margin: 5 }}
/>
</a>
</div>
</Panel>
</div>
or our{" "}
<a
target="_new"
href="http://www.github.com/bioinformatics-ua/dicoogle"
>
GitHub repository
</a>{" "}
for more information.
<div style={{ display: "inline-block", width: "100%" }}>
<a href="http://bioinformatics.ua.pt">
<img
src="assets/logos/logobio.png"
style={{ height: 40, margin: 5 }}
/>
</a>
<a href="http://bmd-software.com/">
<img
src="assets/logos/logo.png"
style={{ height: 40, padding: 5, margin: 5 }}
/>
</a>
<a href="http://www.ieeta.pt/">
<img
src="assets/logos/logo-ieeta.png"
style={{ height: 60, margin: 5 }}
/>
</a>
<a href="http://www.ua.pt/">
<img
src="assets/logos/logo-ua.png"
style={{ height: 60, margin: 5 }}
/>
</a>
</div>
<div style={{ display: "inline-block" }}>
<a>
<img
src="assets/logos/logoFCT.png"
style={{ height: 30, margin: 5 }}
/>
</a>
</div>
</Panel>
</div>
);
return panelsInstance;
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import React from "react";
import * as UserActions from "../../actions/userActions";
import UserStore from "../../stores/userStore";
import {Panel} from "react-bootstrap";
import { Panel } from "react-bootstrap";

const LoginView = React.createClass({
contextTypes: {
Expand Down Expand Up @@ -101,19 +101,23 @@ const LoginView = React.createClass({
{guestCredentials}
</form>
</div>

</section>

{/*to fill the empty space between the login and footer*/}
<div id="filler" />

<footer id="footer">
<div style={{ width: "100%", textAlign: "center" }}>
For commercial support, contact
<a target="_new" href="http://www.bmd-software.com">{" "}
BMD Software
Community information and Learning Pack available on the{" "}
<a target="_new" href="http://www.dicoogle.com">
{" "}
the Dicoogle website
</a>.{" "}
For community information go to <a target="_new" href="http://www.dicoogle.com"> the Dicoogle website</a> .
Commercial support, by
<a target="_new" href="http://www.bmd-software.com">
{" "}
BMD Software
</a>.
</div>
<div
style={{ width: "100%", textAlign: "center" }}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,25 +25,25 @@ const AETitleView = React.createClass({
AETitleActions.getAETitle();
},


_onChange(data) {
if (data.success && this.state.status === "done") {
this.props.showToastMessage("success", { title: "Saved" });
} else if (data.success) {
this.setState({
aetitleText: data.message,
status: "done"
});

} else {
this.setState({
dirtyValue: true,
});

this.props.showToastMessage("error", { title: "Error", body: data.message });
}
},

_onChange(data) {
if (data.success && this.state.status === "done") {
this.props.showToastMessage("success", { title: "Saved" });
} else if (data.success) {
this.setState({
aetitleText: data.message,
status: "done"
});
} else {
this.setState({
dirtyValue: true
});

this.props.showToastMessage("error", {
title: "Error",
body: data.message
});
}
},

render() {
if (this.state.status === "loading") {
Expand All @@ -56,22 +56,22 @@ const AETitleView = React.createClass({
);
}

return (
<div className="panel panel-primary topMargin">
<div className="panel-heading">
<h3 className="panel-title">AETitle</h3>
</div>
return (
<div className="panel panel-primary topMargin">
<div className="panel-heading">
<h3 className="panel-title">AETitle</h3>
</div>

<div className="panel-body">
<AETitleForm
aetitleText={this.state.aetitleText}
onChangeAETitle={this.handleAETitleChange}
onSubmitAETitle={this.handleSubmitAETitle}
dirtyValue={this.state.dirtyValue}
/>
</div>
</div>
);
<div className="panel-body">
<AETitleForm
aetitleText={this.state.aetitleText}
onChangeAETitle={this.handleAETitleChange}
onSubmitAETitle={this.handleSubmitAETitle}
dirtyValue={this.state.dirtyValue}
/>
</div>
</div>
);
},

handleAETitleChange(aetitle) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,25 +7,27 @@ import { StorageView } from "../management/storageView";
import { ToastView } from "../mixins/toastView";

const ManagementView = React.createClass({
getInitialState: function () {
getInitialState: function() {
return {
selectedtab: 0,
showToast: false,
toastType: 'default',
toastType: "default",
toastMessage: {}
};
},

showToastMessage: function (toastType, toastMessage) {
this.setState({
showToast: true,
toastType,
toastMessage
},
() => setTimeout(() => this.setState({ showToast: false }), 3000));
showToastMessage: function(toastType, toastMessage) {
this.setState(
{
showToast: true,
toastType,
toastMessage
},
() => setTimeout(() => this.setState({ showToast: false }), 3000)
);
},

render: function () {
render: function() {
var views = [
<IndexerView showToastMessage={this.showToastMessage} />,
<TransferOptionsView showToastMessage={this.showToastMessage} />,
Expand Down Expand Up @@ -89,11 +91,15 @@ const ManagementView = React.createClass({
{views[this.state.selectedtab]}
</div>

<ToastView show={showToast} message={toastMessage} toastType={toastType} />
<ToastView
show={showToast}
message={toastMessage}
toastType={toastType}
/>
</div>
);
},
onTabClicked: function (index) {
onTabClicked: function(index) {
this.setState({ selectedtab: index });
}
});
Expand Down
Loading

0 comments on commit f5333b2

Please sign in to comment.