* NOTASK: PoC for loading data from Healthcare API * NOTASK: PoC for loading data from Healthcare API fix * Add sample dialog for loading test dicom-picker * Fix incorrect promise resolving * NOTASK: PoC for loading dicom store * Add web-components as git submodules. (Probably will be changed later) * Add rough dicomStore picker * Add dataset selector * NOTASK: QIDO metadata first draft * NOTASK: Not Implemented error for color images * NOTASK: clean-up * Dicom files uploader intermediate version * NOTASK: Accept header * NOTASK: docker configs * NOTASK: fix * NOTASK: howTo * Add draft of DICOM uploader * Add missing files * Fix error with missing clientId * Update submodule * NOTASK: HowTo * NOTASK: config for dev * NOTASK: new docker file * clean-up * Update GCP web-components * Add integration with async web components * Fix errors in nginx.conf * Structured reports views basic implementation * NOTASK: qido -> wado * NOTASK: config fix * NOTASK: dirty copy-paste implementation * Add "Change dicom store" button. Add an ability to clear date. Fix bug, when OAuth dosn't work if URL is not / * Fix studylist filtering * Fix dockerfile * NOTASK: meteor update * NOTASK: fix of package structure * NOTASK: merge fix * improvements Move check for now SR into SR modal Use simple button to open SR modal Remove button styling cleanup * copy SR data retrieval to wado * make search of SR simpler * Codestyle fix * NOTASK: palette color error message * Fix date filter. Fix server settings on first loading. Add SR and PS buttons * NOTASK: PS is now hidden by default * NOTASK: dirty solution * NOTASK: new wadoimage lib version * Fix PS and SR buttons * Make modal dialogs vertically centered * Update web components. Quick UI fixes * Add missing files to the previous commit * NOTASK: show-hide for PS * NOTASK: show-hide for PS * NOTASK: fix of min-max PixelValue bug * Add "sign out" functionality for Google OAuth. Update web-components. * intermediate commit * Add demo signin page * Beautifying demo sign in page * NOTASK: merge * NOTASK: clean-up * Use npm for getting healthcare-api-adapter instead of git submodule. * NOTASK: clean-up * meteor update * clean-up * clean-up * Clean up code * Update healthcare-api-adapter version. Add location to dicom store path. Fix buttons style. * Downgrade meteor and packages to master version. Use meteor-build-client-fixed2
35 lines
1.2 KiB
JavaScript
35 lines
1.2 KiB
JavaScript
import { Meteor } from 'meteor/meteor';
|
|
import { OHIF } from 'meteor/ohif:core';
|
|
|
|
const studySearchPromises = new Map();
|
|
|
|
/**
|
|
* Search for studies information by the given filter
|
|
*
|
|
* @param {Object} filter Filter that will be used on search
|
|
* @returns {Promise} resolved with an array of studies information or rejected with an error
|
|
*/
|
|
OHIF.studies.searchStudies = filter => {
|
|
const server = OHIF.servers.getCurrentServer();
|
|
const promiseKey = server.qidoRoot + " - " + JSON.stringify(filter);
|
|
if (studySearchPromises.has(promiseKey)) {
|
|
return studySearchPromises.get(promiseKey);
|
|
} else {
|
|
const promise = new Promise((resolve, reject) => {
|
|
if (server.type === 'dicomWeb' && server.requestOptions.requestFromBrowser === true) {
|
|
OHIF.studies.services.QIDO.Studies(server, filter).then(resolve, reject);
|
|
} else {
|
|
Meteor.call('StudyListSearch', filter, (error, studiesData) => {
|
|
if (error) {
|
|
reject(error);
|
|
} else {
|
|
resolve(studiesData);
|
|
}
|
|
});
|
|
}
|
|
});
|
|
studySearchPromises.set(promiseKey, promise);
|
|
return promise;
|
|
}
|
|
};
|