diff --git a/Packages/ohif-measurements/both/configuration/index.js b/Packages/ohif-measurements/both/configuration/index.js
new file mode 100644
index 000000000..9f5d9c258
--- /dev/null
+++ b/Packages/ohif-measurements/both/configuration/index.js
@@ -0,0 +1,2 @@
+import './measurements.js';
+import './timepoints.js';
diff --git a/Packages/ohif-measurements/both/index.js b/Packages/ohif-measurements/both/index.js
new file mode 100644
index 000000000..2477b2b85
--- /dev/null
+++ b/Packages/ohif-measurements/both/index.js
@@ -0,0 +1,2 @@
+import './configuration';
+import './schema';
diff --git a/Packages/ohif-measurements/both/schema/index.js b/Packages/ohif-measurements/both/schema/index.js
new file mode 100644
index 000000000..9f5d9c258
--- /dev/null
+++ b/Packages/ohif-measurements/both/schema/index.js
@@ -0,0 +1,2 @@
+import './measurements.js';
+import './timepoints.js';
diff --git a/Packages/ohif-measurements/both/schema/measurements.js b/Packages/ohif-measurements/both/schema/measurements.js
index 378c87bb0..8c180abf8 100644
--- a/Packages/ohif-measurements/both/schema/measurements.js
+++ b/Packages/ohif-measurements/both/schema/measurements.js
@@ -3,25 +3,25 @@ import { SimpleSchema } from 'meteor/aldeed:simple-schema';
const Measurement = new SimpleSchema({
userId: {
type: String,
- label: "User ID"
+ label: 'User ID'
},
patientId: {
type: String,
- label: "Patient ID"
+ label: 'Patient ID'
},
measurementNumber: {
type: Number,
- label: "Measurement Number",
+ label: 'Measurement Number',
optional: true
},
measurementNumberOverall: {
type: Number,
- label: "Measurement Number Overall",
+ label: 'Measurement Number Overall',
optional: true
},
timepointId: {
type: String,
- label: "Timepoint ID",
+ label: 'Timepoint ID',
optional: true
},
// Force value to be current date (on server) upon insert
@@ -51,70 +51,88 @@ const Measurement = new SimpleSchema({
},
// denyInsert: true, // Commenting this out for now since we are constantly re-adding entries to client-side collections
optional: true
- },
-})
-
-const StudyLevelMeasurement = new SimpleSchema([Measurement, {
- studyInstanceUid: {
- type: String,
- label: 'Study Instance UID'
}
-}]);
+});
-const SeriesLevelMeasurement = new SimpleSchema([StudyLevelMeasurement, {
- seriesInstanceUid: {
- type: String,
- label: 'Series Instance UID'
+const StudyLevelMeasurement = new SimpleSchema([
+ Measurement,
+ {
+ studyInstanceUid: {
+ type: String,
+ label: 'Study Instance UID'
+ }
}
-}]);
+]);
-const InstanceLevelMeasurement = new SimpleSchema([StudyLevelMeasurement, SeriesLevelMeasurement, {
- sopInstanceUid: {
- type: String,
- label: 'SOP Instance UID'
+const SeriesLevelMeasurement = new SimpleSchema([
+ StudyLevelMeasurement,
+ {
+ seriesInstanceUid: {
+ type: String,
+ label: 'Series Instance UID'
+ }
}
-}]);
+]);
-const FrameLevelMeasurement = new SimpleSchema([StudyLevelMeasurement, SeriesLevelMeasurement, InstanceLevelMeasurement, {
- frameIndex: {
- type: Number,
- min: 0,
- label: 'Frame index in Instance'
- },
- // TODO: In the future we should remove this in favour of searching ViewerStudies and display sets when
- // re-displaying measurements. Otherwise if a study moves servers the measurements will not be displayed correctly
- imageId: {
- type: String,
- label: 'Cornerstone Image Id'
+const InstanceLevelMeasurement = new SimpleSchema([
+ StudyLevelMeasurement,
+ SeriesLevelMeasurement,
+ {
+ sopInstanceUid: {
+ type: String,
+ label: 'SOP Instance UID'
+ }
}
-}]);
+]);
-const CornerstoneToolMeasurement = new SimpleSchema([StudyLevelMeasurement,
- SeriesLevelMeasurement,
- InstanceLevelMeasurement,
- FrameLevelMeasurement, {
- toolType: {
- type: String,
- label: 'Cornerstone Tool Type',
- optional: true
- },
- visible: {
- type: Boolean,
- label: 'Visible',
- defaultValue: true
- },
- active: {
- type: Boolean,
- label: 'Active',
- defaultValue: false
- },
- invalidated: {
- type: Boolean,
- label: 'Invalidated',
- defaultValue: false,
- optional: true
+const FrameLevelMeasurement = new SimpleSchema([
+ StudyLevelMeasurement,
+ SeriesLevelMeasurement,
+ InstanceLevelMeasurement,
+ {
+ frameIndex: {
+ type: Number,
+ min: 0,
+ label: 'Frame index in Instance'
+ },
+ // TODO: In the future we should remove this in favour of searching ViewerStudies and display sets when
+ // re-displaying measurements. Otherwise if a study moves servers the measurements will not be displayed correctly
+ imageId: {
+ type: String,
+ label: 'Cornerstone Image Id'
+ }
}
-}]);
+]);
+
+const CornerstoneToolMeasurement = new SimpleSchema([
+ StudyLevelMeasurement,
+ SeriesLevelMeasurement,
+ InstanceLevelMeasurement,
+ FrameLevelMeasurement,
+ {
+ toolType: {
+ type: String,
+ label: 'Cornerstone Tool Type',
+ optional: true
+ },
+ visible: {
+ type: Boolean,
+ label: 'Visible',
+ defaultValue: true
+ },
+ active: {
+ type: Boolean,
+ label: 'Active',
+ defaultValue: false
+ },
+ invalidated: {
+ type: Boolean,
+ label: 'Invalidated',
+ defaultValue: false,
+ optional: true
+ }
+ }
+]);
const CornerstoneHandleSchema = new SimpleSchema({
x: {
@@ -178,7 +196,7 @@ const CornerstoneHandleSchema = new SimpleSchema({
label: 'Locked',
optional: true,
defaultValue: false
- },
+ }
});
export const MeasurementSchemaTypes = {
@@ -189,4 +207,4 @@ export const MeasurementSchemaTypes = {
FrameLevelMeasurement: FrameLevelMeasurement,
CornerstoneToolMeasurement: CornerstoneToolMeasurement,
CornerstoneHandleSchema: CornerstoneHandleSchema
-};
\ No newline at end of file
+};
diff --git a/Packages/ohif-measurements/both/schema/timepoints.js b/Packages/ohif-measurements/both/schema/timepoints.js
index 45f5edb80..2fda592dc 100644
--- a/Packages/ohif-measurements/both/schema/timepoints.js
+++ b/Packages/ohif-measurements/both/schema/timepoints.js
@@ -28,5 +28,5 @@ export const schema = new SimpleSchema({
latestDate: {
type: Date,
label: 'Most recent Study Date from associated studies',
- },
-});
\ No newline at end of file
+ }
+});
diff --git a/Packages/ohif-measurements/client/components/association/associationModal/associationModal.html b/Packages/ohif-measurements/client/components/association/associationModal/associationModal.html
index ba3125479..d3632d420 100644
--- a/Packages/ohif-measurements/client/components/association/associationModal/associationModal.html
+++ b/Packages/ohif-measurements/client/components/association/associationModal/associationModal.html
@@ -7,7 +7,7 @@
Study Association
- {{ >studyAssociationTable }}
+ {{>studyAssociationTable}}
-
\ No newline at end of file
+
diff --git a/Packages/ohif-measurements/client/components/association/associationModal/studyAssociationTable/studyAssociationTable.html b/Packages/ohif-measurements/client/components/association/associationModal/studyAssociationTable/studyAssociationTable.html
index 4aed73f0a..e288bdf4c 100644
--- a/Packages/ohif-measurements/client/components/association/associationModal/studyAssociationTable/studyAssociationTable.html
+++ b/Packages/ohif-measurements/client/components/association/associationModal/studyAssociationTable/studyAssociationTable.html
@@ -4,8 +4,7 @@
Instructions
Associate the selected studies with timepoints in the clinical trial. Only 1 follow-up time point can be associated at the same time.
-
We have automatically retrieved all studies within 14 days ({{formatDA earliestDate}} to {{formatDA latestDate}} ) of your selected studies, in case you forgot to
- select a study.
+
We have automatically retrieved all studies within 14 days ({{formatDA this.earliestDate}} to {{formatDA latestDate}} ) of your selected studies, in case you forgot to select a study.
@@ -21,44 +20,44 @@
- {{ #each relevantStudies }}
-
-
-
-
-
- {{ #if autoselected}}
-
- {{formatDA studyDate}}
-
- {{ else }}
- {{formatDA studyDate}}
- {{ /if }}
-
-
- {{formatPN patientName}}
-
-
- {{studyDescription}}
-
-
- {{ #each timepointOptions }}
-
-
- {{name}}
-
- {{ /each }}
-
-
- {{ /each }}
+ {{#each relevantStudies}}
+
+
+
+
+
+ {{#if autoselected}}
+
+ {{formatDA studyDate}}
+
+ {{else}}
+ {{formatDA studyDate}}
+ {{/if}}
+
+
+ {{formatPN patientName}}
+
+
+ {{studyDescription}}
+
+
+ {{#each timepointOptions}}
+
+
+ {{name}}
+
+ {{/each}}
+
+
+ {{/each}}
-
\ No newline at end of file
+
diff --git a/Packages/ohif-measurements/client/components/association/index.js b/Packages/ohif-measurements/client/components/association/index.js
new file mode 100644
index 000000000..431d3df85
--- /dev/null
+++ b/Packages/ohif-measurements/client/components/association/index.js
@@ -0,0 +1,11 @@
+// Study-Timepoint Association imports
+import './associationModal/associationModal.html';
+import './associationModal/associationModal.styl';
+import './associationModal/associationModal.js';
+
+import './associationModal/studyAssociationTable/studyAssociationTable.html';
+import './associationModal/studyAssociationTable/studyAssociationTable.styl';
+import './associationModal/studyAssociationTable/studyAssociationTable.js';
+
+import './confirmRemoveTimepointAssociation/confirmRemoveTimepointAssociation.html';
+import './confirmRemoveTimepointAssociation/confirmRemoveTimepointAssociation.js';
diff --git a/Packages/ohif-measurements/client/components/caseProgress/index.js b/Packages/ohif-measurements/client/components/caseProgress/index.js
new file mode 100644
index 000000000..04cde6b34
--- /dev/null
+++ b/Packages/ohif-measurements/client/components/caseProgress/index.js
@@ -0,0 +1,8 @@
+// Case Progress imports
+import './caseProgress.html';
+import './caseProgress.styl';
+import './caseProgress.js';
+
+import './radialProgressBar/radialProgressBar.html';
+import './radialProgressBar/radialProgressBar.styl';
+import './radialProgressBar/radialProgressBar.js';
diff --git a/Packages/ohif-measurements/client/components/index.js b/Packages/ohif-measurements/client/components/index.js
new file mode 100644
index 000000000..1fd6b08b7
--- /dev/null
+++ b/Packages/ohif-measurements/client/components/index.js
@@ -0,0 +1,4 @@
+import './association';
+import './caseProgress';
+import './longitudinal';
+import './measurementTable';
diff --git a/Packages/ohif-measurements/client/components/longitudinal/index.js b/Packages/ohif-measurements/client/components/longitudinal/index.js
new file mode 100644
index 000000000..459fdb868
--- /dev/null
+++ b/Packages/ohif-measurements/client/components/longitudinal/index.js
@@ -0,0 +1,10 @@
+// Longitudinal Components imports
+import './longitudinalStudyListStudy/longitudinalStudyListStudy.html';
+import './longitudinalStudyListStudy/longitudinalStudyListStudy.styl';
+import './longitudinalStudyListStudy/longitudinalStudyListStudy.js';
+
+import './longitudinalStudyListContextMenu/longitudinalStudyListContextMenu.html';
+import './longitudinalStudyListContextMenu/longitudinalStudyListContextMenu.js';
+
+import './longitudinalViewportOverlay/longitudinalViewportOverlay.html';
+import './longitudinalViewportOverlay/longitudinalViewportOverlay.js';
diff --git a/Packages/ohif-measurements/client/components/measurementTable/index.js b/Packages/ohif-measurements/client/components/measurementTable/index.js
new file mode 100644
index 000000000..85daee164
--- /dev/null
+++ b/Packages/ohif-measurements/client/components/measurementTable/index.js
@@ -0,0 +1,28 @@
+// Measurement Table Components imports
+import './measurementTable.html';
+import './measurementTable.styl';
+import './measurementTable.js';
+
+import './measurementTableView/measurementTableView.html';
+import './measurementTableView/measurementTableView.styl';
+import './measurementTableView/measurementTableView.js';
+
+import './measurementTableHUD/measurementTableHUD.html';
+import './measurementTableHUD/measurementTableHUD.styl';
+import './measurementTableHUD/measurementTableHUD.js';
+
+import './measurementTableRow/measurementTableRow.html';
+import './measurementTableRow/measurementTableRow.styl';
+import './measurementTableRow/measurementTableRow.js';
+
+import './measurementTableHeaderRow/measurementTableHeaderRow.html';
+import './measurementTableHeaderRow/measurementTableHeaderRow.styl';
+import './measurementTableHeaderRow/measurementTableHeaderRow.js';
+
+import './measurementTableTimepointCell/measurementTableTimepointCell.html';
+import './measurementTableTimepointCell/measurementTableTimepointCell.styl';
+import './measurementTableTimepointCell/measurementTableTimepointCell.js';
+
+import './measurementTableTimepointHeader/measurementTableTimepointHeader.html';
+import './measurementTableTimepointHeader/measurementTableTimepointHeader.styl';
+import './measurementTableTimepointHeader/measurementTableTimepointHeader.js';
diff --git a/Packages/ohif-measurements/client/index.js b/Packages/ohif-measurements/client/index.js
index 26e81ba9a..e6ca842a4 100644
--- a/Packages/ohif-measurements/client/index.js
+++ b/Packages/ohif-measurements/client/index.js
@@ -1,2 +1,3 @@
+import './components';
import './lib';
import './helpers';
diff --git a/Packages/ohif-measurements/package.js b/Packages/ohif-measurements/package.js
index d7977ecd6..e197eda98 100644
--- a/Packages/ohif-measurements/package.js
+++ b/Packages/ohif-measurements/package.js
@@ -29,75 +29,11 @@ Package.onUse(function(api) {
api.use('ohif:log');
api.use('ohif:study-list');
- api.addFiles('both/schema/measurements.js', ['client', 'server']);
- api.addFiles('both/schema/timepoints.js', ['client', 'server']);
+ // Client and server imports
+ api.addFiles('both/index.js', ['client', 'server']);
- api.addFiles('both/configuration/measurements.js', ['client', 'server']);
- api.addFiles('both/configuration/timepoints.js', ['client', 'server']);
-
- // Client imports and routes
+ // Client imports
api.addFiles('client/index.js', 'client');
- // Measurement Table Components
- api.addFiles('client/components/measurementTable/measurementTable.html', 'client');
- api.addFiles('client/components/measurementTable/measurementTable.styl', 'client');
- api.addFiles('client/components/measurementTable/measurementTable.js', 'client');
-
- api.addFiles('client/components/measurementTable/measurementTableView/measurementTableView.html', 'client');
- api.addFiles('client/components/measurementTable/measurementTableView/measurementTableView.styl', 'client');
- api.addFiles('client/components/measurementTable/measurementTableView/measurementTableView.js', 'client');
-
- api.addFiles('client/components/measurementTable/measurementTableHUD/measurementTableHUD.html', 'client');
- api.addFiles('client/components/measurementTable/measurementTableHUD/measurementTableHUD.styl', 'client');
- api.addFiles('client/components/measurementTable/measurementTableHUD/measurementTableHUD.js', 'client');
-
- api.addFiles('client/components/measurementTable/measurementTableRow/measurementTableRow.html', 'client');
- api.addFiles('client/components/measurementTable/measurementTableRow/measurementTableRow.styl', 'client');
- api.addFiles('client/components/measurementTable/measurementTableRow/measurementTableRow.js', 'client');
-
- api.addFiles('client/components/measurementTable/measurementTableHeaderRow/measurementTableHeaderRow.html', 'client');
- api.addFiles('client/components/measurementTable/measurementTableHeaderRow/measurementTableHeaderRow.styl', 'client');
- api.addFiles('client/components/measurementTable/measurementTableHeaderRow/measurementTableHeaderRow.js', 'client');
-
- api.addFiles('client/components/measurementTable/measurementTableTimepointCell/measurementTableTimepointCell.html', 'client');
- api.addFiles('client/components/measurementTable/measurementTableTimepointCell/measurementTableTimepointCell.styl', 'client');
- api.addFiles('client/components/measurementTable/measurementTableTimepointCell/measurementTableTimepointCell.js', 'client');
-
- api.addFiles('client/components/measurementTable/measurementTableTimepointHeader/measurementTableTimepointHeader.html', 'client');
- api.addFiles('client/components/measurementTable/measurementTableTimepointHeader/measurementTableTimepointHeader.styl', 'client');
- api.addFiles('client/components/measurementTable/measurementTableTimepointHeader/measurementTableTimepointHeader.js', 'client');
-
- // Longitudinal Components
- api.addFiles('client/components/longitudinal/longitudinalStudyListStudy/longitudinalStudyListStudy.html', 'client');
- api.addFiles('client/components/longitudinal/longitudinalStudyListStudy/longitudinalStudyListStudy.styl', 'client');
- api.addFiles('client/components/longitudinal/longitudinalStudyListStudy/longitudinalStudyListStudy.js', 'client');
-
- api.addFiles('client/components/longitudinal/longitudinalStudyListContextMenu/longitudinalStudyListContextMenu.html', 'client');
- api.addFiles('client/components/longitudinal/longitudinalStudyListContextMenu/longitudinalStudyListContextMenu.js', 'client');
-
- api.addFiles('client/components/longitudinal/longitudinalViewportOverlay/longitudinalViewportOverlay.html', 'client');
- api.addFiles('client/components/longitudinal/longitudinalViewportOverlay/longitudinalViewportOverlay.js', 'client');
-
- // Case Progress
- api.addFiles('client/components/caseProgress/caseProgress.html', 'client');
- api.addFiles('client/components/caseProgress/caseProgress.styl', 'client');
- api.addFiles('client/components/caseProgress/caseProgress.js', 'client');
-
- api.addFiles('client/components/caseProgress/radialProgressBar/radialProgressBar.html', 'client');
- api.addFiles('client/components/caseProgress/radialProgressBar/radialProgressBar.styl', 'client');
- api.addFiles('client/components/caseProgress/radialProgressBar/radialProgressBar.js', 'client');
-
- // Study-Timepoint Association
- api.addFiles('client/components/association/associationModal/associationModal.html', 'client');
- api.addFiles('client/components/association/associationModal/associationModal.styl', 'client');
- api.addFiles('client/components/association/associationModal/associationModal.js', 'client');
-
- api.addFiles('client/components/association/associationModal/studyAssociationTable/studyAssociationTable.html', 'client');
- api.addFiles('client/components/association/associationModal/studyAssociationTable/studyAssociationTable.styl', 'client');
- api.addFiles('client/components/association/associationModal/studyAssociationTable/studyAssociationTable.js', 'client');
-
- api.addFiles('client/components/association/confirmRemoveTimepointAssociation/confirmRemoveTimepointAssociation.html', 'client');
- api.addFiles('client/components/association/confirmRemoveTimepointAssociation/confirmRemoveTimepointAssociation.js', 'client');
-
api.export('MeasurementSchemaTypes', ['client', 'server']);
});