wip on react transition 7
This commit is contained in:
parent
765abfd572
commit
9ae5dd25ce
4
OHIFViewer/.gitignore
vendored
4
OHIFViewer/.gitignore
vendored
@ -1,4 +1,6 @@
|
||||
.idea
|
||||
.meteor/local
|
||||
.meteor/meteorite
|
||||
node_modules
|
||||
node_modules
|
||||
client/sha.js
|
||||
client/version.js
|
||||
@ -16,7 +16,6 @@ jquery@1.11.10
|
||||
tracker@1.2.0
|
||||
logging@1.1.20
|
||||
reload@1.2.0
|
||||
random@1.1.0
|
||||
ejson@1.1.0
|
||||
spacebars@1.0.12
|
||||
check@1.3.1
|
||||
@ -25,6 +24,7 @@ reactive-var@1.0.11
|
||||
reactive-dict@1.2.0
|
||||
standard-minifier-css@1.4.1
|
||||
standard-minifier-js@2.3.4
|
||||
shell-server@0.3.1
|
||||
|
||||
# OHIF Packages
|
||||
ohif:polyfill
|
||||
@ -46,9 +46,7 @@ fortawesome:fontawesome
|
||||
momentjs:moment@2.15.1
|
||||
aldeed:simple-schema # Third party package to deal with schemas
|
||||
aldeed:template-extension
|
||||
johdirr:meteor-git-rev
|
||||
cultofcoders:persistent-session
|
||||
shell-server@0.3.1
|
||||
underscore
|
||||
meteortesting:mocha
|
||||
react-template-helper
|
||||
|
||||
@ -49,7 +49,6 @@ iron:controller@1.0.12
|
||||
iron:core@1.0.11
|
||||
iron:dynamic-template@1.0.12
|
||||
iron:layout@1.0.12
|
||||
johdirr:meteor-git-rev@0.0.4
|
||||
jquery@1.11.11
|
||||
launch-screen@1.1.1
|
||||
livedata@1.0.18
|
||||
|
||||
@ -4,11 +4,6 @@
|
||||
{{>cineDialog}}
|
||||
{{>layoutChooser}}
|
||||
{{>annotationDialogs}}
|
||||
|
||||
<!-- Hanging Protocol dialogs -->
|
||||
{{>ruleEntryDialog}}
|
||||
{{>settingEntryDialog}}
|
||||
{{>textEntryDialog}}
|
||||
</div>
|
||||
<div id="viewer">
|
||||
{{>toolbarSection (clone this state=state)}}
|
||||
|
||||
@ -1,6 +1,13 @@
|
||||
import { Meteor } from 'meteor/meteor';
|
||||
import { OHIF } from 'meteor/ohif:core';
|
||||
import { cornerstoneWADOImageLoader } from 'meteor/ohif:cornerstone';
|
||||
import sha from './sha.js';
|
||||
import version from './version.js';
|
||||
|
||||
OHIF.info = {
|
||||
sha,
|
||||
version
|
||||
};
|
||||
|
||||
Meteor.startup(function() {
|
||||
const maxWebWorkers = Math.max(navigator.hardwareConcurrency - 1, 1);
|
||||
|
||||
@ -18,6 +18,9 @@
|
||||
"puppeteer": "^1.5.0"
|
||||
},
|
||||
"scripts": {
|
||||
"version": "node -p -e \"'export default \\'' + require('./package.json').version + '\\';'\" > client/version.js",
|
||||
"sha": "echo \"export default '\"$(git rev-parse HEAD)\"';\" > client/sha.js",
|
||||
"details": "npm run version && npm run sha",
|
||||
"test": "echo \"Error: no test specified\" && exit 1"
|
||||
},
|
||||
"author": "",
|
||||
|
||||
13
Packages/ohif-core/both/utils/guid.js
Normal file
13
Packages/ohif-core/both/utils/guid.js
Normal file
@ -0,0 +1,13 @@
|
||||
/**
|
||||
* Create a random GUID
|
||||
*
|
||||
* @return {string}
|
||||
*/
|
||||
export default function guid() {
|
||||
function s4() {
|
||||
return Math.floor((1 + Math.random()) * 0x10000)
|
||||
.toString(16)
|
||||
.substring(1);
|
||||
}
|
||||
return s4() + s4() + '-' + s4() + '-' + s4() + '-' + s4() + '-' + s4() + s4() + s4();
|
||||
}
|
||||
@ -1,2 +1,8 @@
|
||||
import { OHIF } from 'meteor/ohif:core';
|
||||
|
||||
import './absoluteUrl';
|
||||
import './objectPath';
|
||||
import guid from './guid';
|
||||
|
||||
OHIF.utils = OHIF.utils || {}
|
||||
OHIF.utils.guid = guid;
|
||||
|
||||
@ -1,5 +1,4 @@
|
||||
import { Meteor } from 'meteor/meteor';
|
||||
import { Random } from 'meteor/random';
|
||||
import { OHIF } from 'meteor/ohif:core';
|
||||
|
||||
// Local imports
|
||||
@ -19,7 +18,7 @@ HP.Protocol = class Protocol {
|
||||
*/
|
||||
constructor(name) {
|
||||
// Create a new UUID for this Protocol
|
||||
this.id = Random.id();
|
||||
this.id = OHIF.utils.guid();
|
||||
|
||||
// Store a value which determines whether or not a Protocol is locked
|
||||
// This is probably temporary, since we will eventually have role / user
|
||||
@ -133,7 +132,7 @@ HP.Protocol = class Protocol {
|
||||
fromObject(input) {
|
||||
// Check if the input already has an ID
|
||||
// If so, keep it. It not, create a new UUID
|
||||
this.id = input.id || Random.id();
|
||||
this.id = input.id || OHIF.utils.guid();
|
||||
|
||||
// Assign the input name to the Protocol
|
||||
this.name = input.name;
|
||||
|
||||
@ -1,5 +1,4 @@
|
||||
import { Random } from 'meteor/random';
|
||||
|
||||
import { OHIF } from 'meteor/ohif:core';
|
||||
import { comparators } from '../lib/comparators';
|
||||
|
||||
const EQUALS_REGEXP = /^equals$/;
|
||||
@ -30,7 +29,7 @@ export class Rule {
|
||||
*/
|
||||
constructor(attribute, constraint, required, weight) {
|
||||
// Create a new UUID for this Rule
|
||||
this.id = Random.id();
|
||||
this.id = OHIF.utils.guid();
|
||||
|
||||
// Set the Rule's weight (defaults to 1)
|
||||
this.weight = weight || 1;
|
||||
@ -69,7 +68,7 @@ export class Rule {
|
||||
fromObject(input) {
|
||||
// Check if the input already has an ID
|
||||
// If so, keep it. It not, create a new UUID
|
||||
this.id = input.id || Random.id();
|
||||
this.id = input.id || OHIF.utils.guid();
|
||||
|
||||
// Assign the specified input data to the Rule
|
||||
this.required = input.required;
|
||||
@ -80,7 +79,7 @@ export class Rule {
|
||||
|
||||
/**
|
||||
* Get the constraint info object for the current constraint
|
||||
* @return {Object\undefined} Constraint object or undefined if current constraint
|
||||
* @return {Object\undefined} Constraint object or undefined if current constraint
|
||||
* is not valid or not found in comparators list
|
||||
*/
|
||||
getConstraintInfo() {
|
||||
@ -141,7 +140,7 @@ export class Rule {
|
||||
*/
|
||||
getConstraintValidatorAndValue() {
|
||||
let validatorAndValue = this._validatorAndValue;
|
||||
|
||||
|
||||
// Check if validator and value are cached already
|
||||
if (validatorAndValue !== void 0) {
|
||||
return validatorAndValue;
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import { Random } from 'meteor/random';
|
||||
import { OHIF } from 'meteor/ohif:core';
|
||||
|
||||
/**
|
||||
* A Stage is one step in the Display Set Sequence for a Hanging Protocol
|
||||
@ -10,7 +10,7 @@ import { Random } from 'meteor/random';
|
||||
HP.Stage = class Stage {
|
||||
constructor(ViewportStructure, name) {
|
||||
// Create a new UUID for this Stage
|
||||
this.id = Random.id();
|
||||
this.id = OHIF.utils.guid();
|
||||
|
||||
// Assign the name and ViewportStructure provided
|
||||
this.name = name;
|
||||
@ -62,7 +62,7 @@ HP.Stage = class Stage {
|
||||
fromObject(input) {
|
||||
// Check if the input already has an ID
|
||||
// If so, keep it. It not, create a new UUID
|
||||
this.id = input.id || Random.id();
|
||||
this.id = input.id || OHIF.utils.guid();
|
||||
|
||||
// Assign the input name to the Stage
|
||||
this.name = input.name;
|
||||
@ -84,4 +84,4 @@ HP.Stage = class Stage {
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
@ -1,7 +1,6 @@
|
||||
import { Meteor } from 'meteor/meteor';
|
||||
import { Template } from 'meteor/templating';
|
||||
import { Session } from 'meteor/session';
|
||||
import { Random } from 'meteor/random';
|
||||
import { $ } from 'meteor/jquery';
|
||||
|
||||
import { OHIF } from 'meteor/ohif:core';
|
||||
@ -14,7 +13,7 @@ function updateProtocolSelect() {
|
||||
if (!ProtocolEngine) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
// Loop through the available hanging protocols
|
||||
// to create an array with the protocols that includes
|
||||
// a property labelled 'text', so that Select2 has something
|
||||
@ -85,7 +84,7 @@ Template.protocolEditor.helpers({
|
||||
|
||||
// Make sure that the number of referenced priors is correct
|
||||
ProtocolEngine.protocol.updateNumberOfPriorsReferenced();
|
||||
|
||||
|
||||
// Otherwise, return the active Hanging Protocol
|
||||
return ProtocolEngine.protocol;
|
||||
},
|
||||
@ -147,7 +146,7 @@ Template.protocolEditor.helpers({
|
||||
stage.viewports.push(viewport);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Return the current Stage model for the active Protocol
|
||||
return ProtocolEngine.getCurrentStageModel();
|
||||
},
|
||||
@ -169,7 +168,7 @@ Template.protocolEditor.events({
|
||||
protocol.name = 'New (created ' + moment().format('h:mm:ss a') + ')';
|
||||
|
||||
// Change the Protocol ID from the default value
|
||||
protocol.id = Random.id();
|
||||
protocol.id = OHIF.utils.guid();
|
||||
|
||||
// Insert the protocol
|
||||
HP.ProtocolStore.addProtocol(protocol);
|
||||
@ -321,7 +320,7 @@ Template.protocolEditor.events({
|
||||
// and fire the callback function when finished.
|
||||
openTextEntryDialog(title, instructions, currentValue, function(value) {
|
||||
// Create a new ID for the protocol
|
||||
protocol.id = Random.id();
|
||||
protocol.id = OHIF.utils.guid();
|
||||
|
||||
// Update the name with the entered text
|
||||
protocol.name = value;
|
||||
|
||||
@ -1,7 +1,6 @@
|
||||
import { Meteor } from 'meteor/meteor';
|
||||
import { Template } from 'meteor/templating';
|
||||
import { Blaze } from 'meteor/blaze';
|
||||
import { Random } from 'meteor/random';
|
||||
import { moment } from 'meteor/momentjs:moment';
|
||||
import { OHIF } from 'meteor/ohif:core';
|
||||
import { _ } from 'meteor/underscore';
|
||||
@ -113,7 +112,7 @@ Template.dialogStudyAssociation.onCreated(() => {
|
||||
// Create a new timepoint to represent the (baseline or follow-up) studies
|
||||
let timepoint = {
|
||||
timepointType: timepointType,
|
||||
timepointId: Random.id(),
|
||||
timepointId: OHIF.utils.guid(),
|
||||
studyInstanceUids: studyInstanceUids,
|
||||
patientId: relatedStudies[0].patientId,
|
||||
earliestDate: studyDates[0],
|
||||
|
||||
@ -35,7 +35,6 @@ Package.onUse(function(api) {
|
||||
api.use('ohif:select-tree');
|
||||
api.use('ohif:log');
|
||||
api.use('ohif:studies');
|
||||
api.use('ohif:hanging-protocols');
|
||||
api.use('ohif:viewerbase');
|
||||
|
||||
// Client and server imports
|
||||
|
||||
@ -49,24 +49,16 @@
|
||||
<tr>
|
||||
<td>Last Commit Hash</td>
|
||||
<td>
|
||||
<a target='_blank' href="{{githubUrl}}/commit/{{gitRev 'long'}}">
|
||||
{{gitRev 'long'}}
|
||||
<a target='_blank' href="{{githubUrl}}/commit/{{gitSHA}}">
|
||||
{{gitSHA}}
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Latest Tag</td>
|
||||
<td>Version</td>
|
||||
<td>
|
||||
<a target='_blank' href="{{githubUrl}}/releases/tag/{{gitRev 'tag'}}">
|
||||
{{gitRev 'tag'}}
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Branch</td>
|
||||
<td>
|
||||
<a target='_blank' href="{{githubUrl}}/tree/{{gitRev 'branch'}}">
|
||||
{{gitRev 'branch'}}
|
||||
<a target='_blank' href="{{githubUrl}}/releases/tag/{{gitVersion}}">
|
||||
{{gitVersion}}
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@ -1,5 +1,15 @@
|
||||
import { OHIF } from 'meteor/ohif:core';
|
||||
|
||||
Template.aboutModal.helpers({
|
||||
githubUrl() {
|
||||
return 'https://github.com/OHIF/Viewers';
|
||||
},
|
||||
|
||||
gitSHA() {
|
||||
return OHIF.info.sha;
|
||||
},
|
||||
|
||||
gitVersion() {
|
||||
return OHIF.info.version;
|
||||
}
|
||||
});
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import { Random } from 'meteor/random';
|
||||
import { OHIF } from 'meteor/ohif:core';
|
||||
import { OHIFError } from './OHIFError';
|
||||
|
||||
const OBJECT = 'object';
|
||||
@ -30,7 +30,7 @@ export class ImageSet {
|
||||
enumerable: false,
|
||||
configurable: false,
|
||||
writable: false,
|
||||
value: Random.id() // Unique ID of the instance
|
||||
value: OHIF.utils.guid() // Unique ID of the instance
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import { Random } from 'meteor/random';
|
||||
import { OHIF } from 'meteor/ohif:core';
|
||||
import { ReactiveVar } from 'meteor/reactive-var';
|
||||
|
||||
/**
|
||||
@ -130,7 +130,7 @@ export class TypeSafeCollection {
|
||||
let id = null,
|
||||
found = this._elementWithPayload(payload, true);
|
||||
if (!found) {
|
||||
id = Random.id();
|
||||
id = OHIF.utils.guid();
|
||||
this._elements(true).push({ id, payload });
|
||||
this._invalidate();
|
||||
this._trigger('insert', { id, data: payload });
|
||||
|
||||
@ -1,5 +1,4 @@
|
||||
import { Session } from 'meteor/session';
|
||||
import { Random } from 'meteor/random';
|
||||
import { OHIF } from 'meteor/ohif:core';
|
||||
import { cornerstone, cornerstoneTools } from 'meteor/ohif:cornerstone';
|
||||
|
||||
@ -171,7 +170,7 @@ export const toolManager = {
|
||||
activeTool[button] = toolName;
|
||||
|
||||
// Enable reactivity
|
||||
Session.set('ToolManagerActiveToolUpdated', Random.id());
|
||||
Session.set('ToolManagerActiveToolUpdated', OHIF.utils.guid());
|
||||
},
|
||||
|
||||
instantiateTools(element) {
|
||||
|
||||
@ -1,5 +1,4 @@
|
||||
import { Session } from 'meteor/session';
|
||||
import { Random } from 'meteor/random';
|
||||
import { $ } from 'meteor/jquery';
|
||||
import { _ } from 'meteor/underscore';
|
||||
// Local Modules
|
||||
@ -222,7 +221,7 @@ const toggleCineDialog = () => {
|
||||
const dialog = document.getElementById('cineDialog');
|
||||
|
||||
toggleDialog(dialog, stopAllClips);
|
||||
Session.set('UpdateCINE', Random.id());
|
||||
Session.set('UpdateCINE', Math.random());
|
||||
};
|
||||
|
||||
const toggleDownloadDialog = () => {
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
cd docs
|
||||
npm -v
|
||||
node -v
|
||||
node -v
|
||||
echo 'Installing Gitbook CLI'
|
||||
npm install
|
||||
|
||||
@ -21,4 +21,5 @@ meteor-build-client-fixed --version
|
||||
curl https://install.meteor.com | /bin/sh
|
||||
export PATH=$HOME/.meteor:$PATH
|
||||
meteor npm install
|
||||
meteor-build-client-fixed ../../docs/_book/viewer -u $ROOT_URL --path './'
|
||||
meteor npm run details
|
||||
meteor-build-client-fixed ../../docs/_book/viewer -u $ROOT_URL --path './'
|
||||
|
||||
Loading…
Reference in New Issue
Block a user