@ohif/app 3.8.0-beta.37 → 3.8.0-beta.38
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{359.bundle.e2368d3803386a523fdb.js → 359.bundle.2ec3543dc0f70b857347.js} +1 -1
- package/dist/{661.bundle.28ef6d8cd035876bd8e2.js → 661.bundle.949c984fe2f9f753b65c.js} +117 -43
- package/dist/{738.bundle.ccf62a32b25fdb42cc74.js → 738.bundle.9d258c3b701474029d9a.js} +20 -7
- package/dist/{app.bundle.9d88d2da0b6190c77cc2.js → app.bundle.a299c2b2bc8e26f3c114.js} +4 -4
- package/dist/index.html +1 -1
- package/dist/sw.js +1 -1
- package/package.json +18 -18
- /package/dist/{12.bundle.2292b15e4b7b5d86fb84.js → 12.bundle.8a996780d0884b4334b4.js} +0 -0
- /package/dist/{170.bundle.39279a2336dc1daf7ae8.js → 170.bundle.05c8abe42777ead03b50.js} +0 -0
- /package/dist/{185.bundle.9ef3f123beed05ecd804.js → 185.bundle.4692c8812d264295705d.js} +0 -0
- /package/dist/{19.bundle.dd04549651e5cf57faed.js → 19.bundle.1c63b50b0be55c61aa79.js} +0 -0
- /package/dist/{199.bundle.0a3a63176033a4de78bc.js → 199.bundle.68e580bf83885aa03d89.js} +0 -0
- /package/dist/{281.bundle.be4a3502af6da1981a28.js → 281.bundle.3e434534b5c804fa7e03.js} +0 -0
- /package/dist/{410.bundle.d3746ff102c01e870023.js → 410.bundle.9610a46c0d056d47a979.js} +0 -0
- /package/dist/{456.bundle.9faecbda28164b9d242b.js → 456.bundle.04c13b51bcc475a2e612.js} +0 -0
- /package/dist/{466.bundle.1f21dd37d195915ed82e.js → 466.bundle.d3ecd660ba28480d0a48.js} +0 -0
- /package/dist/{483.bundle.1ce43855923cbb2760ec.js → 483.bundle.022ac6f8d0fe20e5f748.js} +0 -0
- /package/dist/{506.bundle.2dc71df132ed0676a555.js → 506.bundle.2cbb19a3f09210440f04.js} +0 -0
- /package/dist/{613.bundle.879cb01a1c9130dfcb36.js → 613.bundle.02286a9826bf2f5c8f69.js} +0 -0
- /package/dist/{687.bundle.5fc1658132ba988e9ec1.js → 687.bundle.ee93df40b6161afc2363.js} +0 -0
- /package/dist/{814.bundle.8012c51e5c3cf651453e.js → 814.bundle.11b6c8cda5f2aa865455.js} +0 -0
- /package/dist/{965.bundle.a189da0561277f4d46db.js → 965.bundle.ec77c2aa2ecb949f4c48.js} +0 -0
|
@@ -111,7 +111,7 @@ function _initToolGroups(toolNames, Enums, toolGroupService, commandsManager) {
|
|
|
111
111
|
active: [{
|
|
112
112
|
toolName: toolNames.VolumeRotateMouseWheel,
|
|
113
113
|
configuration: {
|
|
114
|
-
rotateIncrementDegrees:
|
|
114
|
+
rotateIncrementDegrees: 5
|
|
115
115
|
}
|
|
116
116
|
}, {
|
|
117
117
|
toolName: toolNames.MipJumpToClick,
|
|
@@ -39,6 +39,31 @@ function _createClass(Constructor, protoProps, staticProps) {
|
|
|
39
39
|
});
|
|
40
40
|
return Constructor;
|
|
41
41
|
}
|
|
42
|
+
function _toConsumableArray(arr) {
|
|
43
|
+
return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
|
|
44
|
+
}
|
|
45
|
+
function _arrayWithoutHoles(arr) {
|
|
46
|
+
if (Array.isArray(arr)) return _arrayLikeToArray(arr);
|
|
47
|
+
}
|
|
48
|
+
function _iterableToArray(iter) {
|
|
49
|
+
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
|
|
50
|
+
}
|
|
51
|
+
function _unsupportedIterableToArray(o, minLen) {
|
|
52
|
+
if (!o) return;
|
|
53
|
+
if (typeof o === "string") return _arrayLikeToArray(o, minLen);
|
|
54
|
+
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
55
|
+
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
56
|
+
if (n === "Map" || n === "Set") return Array.from(o);
|
|
57
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
|
|
58
|
+
}
|
|
59
|
+
function _arrayLikeToArray(arr, len) {
|
|
60
|
+
if (len == null || len > arr.length) len = arr.length;
|
|
61
|
+
for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
|
|
62
|
+
return arr2;
|
|
63
|
+
}
|
|
64
|
+
function _nonIterableSpread() {
|
|
65
|
+
throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
66
|
+
}
|
|
42
67
|
function _toPrimitive(input, hint) {
|
|
43
68
|
if (typeof input !== "object" || input === null) return input;
|
|
44
69
|
var prim = input[Symbol.toPrimitive];
|
|
@@ -311,6 +336,12 @@ var MEDIATYPES = {
|
|
|
311
336
|
PNG: 'image/png'
|
|
312
337
|
};
|
|
313
338
|
|
|
339
|
+
/**
|
|
340
|
+
* debugLog is a function that can be called with console.log arguments, and will
|
|
341
|
+
* be conditionally displayed, only when debug logging is enabled.
|
|
342
|
+
*/
|
|
343
|
+
var debugLog = function debugLog() {};
|
|
344
|
+
|
|
314
345
|
/**
|
|
315
346
|
* @typedef { import("../types/types").InstanceMetadata } InstanceMetadata
|
|
316
347
|
*/
|
|
@@ -340,6 +371,7 @@ var DICOMwebClient = /*#__PURE__*/function () {
|
|
|
340
371
|
* @param {Object=} options.headers - HTTP headers
|
|
341
372
|
* @param {Array.<RequestHook>=} options.requestHooks - Request hooks.
|
|
342
373
|
* @param {Object=} options.verbose - print to console request warnings and errors, default true
|
|
374
|
+
* @param {Object=} options.debug - print to the console debug level information/status updates.
|
|
343
375
|
* @param {boolean|String} options.singlepart - retrieve singlepart for the named types.
|
|
344
376
|
* The available types are: bulkdata, video, image. true means all.
|
|
345
377
|
*/
|
|
@@ -357,25 +389,25 @@ var DICOMwebClient = /*#__PURE__*/function () {
|
|
|
357
389
|
this.password = options.password;
|
|
358
390
|
}
|
|
359
391
|
if ('qidoURLPrefix' in options) {
|
|
360
|
-
|
|
392
|
+
debugLog("use URL prefix for QIDO-RS: ".concat(options.qidoURLPrefix));
|
|
361
393
|
this.qidoURL = "".concat(this.baseURL, "/").concat(options.qidoURLPrefix);
|
|
362
394
|
} else {
|
|
363
395
|
this.qidoURL = this.baseURL;
|
|
364
396
|
}
|
|
365
397
|
if ('wadoURLPrefix' in options) {
|
|
366
|
-
|
|
398
|
+
debugLog("use URL prefix for WADO-RS: ".concat(options.wadoURLPrefix));
|
|
367
399
|
this.wadoURL = "".concat(this.baseURL, "/").concat(options.wadoURLPrefix);
|
|
368
400
|
} else {
|
|
369
401
|
this.wadoURL = this.baseURL;
|
|
370
402
|
}
|
|
371
403
|
if ('stowURLPrefix' in options) {
|
|
372
|
-
|
|
404
|
+
debugLog("use URL prefix for STOW-RS: ".concat(options.stowURLPrefix));
|
|
373
405
|
this.stowURL = "".concat(this.baseURL, "/").concat(options.stowURLPrefix);
|
|
374
406
|
} else {
|
|
375
407
|
this.stowURL = this.baseURL;
|
|
376
408
|
}
|
|
377
409
|
if (options.singlepart) {
|
|
378
|
-
|
|
410
|
+
debugLog('use singlepart', options.singlepart);
|
|
379
411
|
this.singlepart = options.singlepart === true ? 'bulkdata,video,image' : options.singlepart;
|
|
380
412
|
} else {
|
|
381
413
|
this.singlepart = '';
|
|
@@ -394,14 +426,40 @@ var DICOMwebClient = /*#__PURE__*/function () {
|
|
|
394
426
|
|
|
395
427
|
// Verbose - print to console request warnings and errors, default true
|
|
396
428
|
this.verbose = options.verbose !== false;
|
|
429
|
+
this.setDebug(options.debug);
|
|
397
430
|
}
|
|
398
431
|
|
|
399
432
|
/**
|
|
400
|
-
*
|
|
401
|
-
*
|
|
402
|
-
*
|
|
433
|
+
* Allows setting the debug log information.
|
|
434
|
+
* Note this is different from verbose in that verbose is whether to include warning/error information, defaulting to true
|
|
435
|
+
*
|
|
436
|
+
* @param {boolean} debugLevel
|
|
437
|
+
* @param {function} debugLogFunction to call with the debug output arguments.
|
|
403
438
|
*/
|
|
404
439
|
_createClass(DICOMwebClient, [{
|
|
440
|
+
key: "setDebug",
|
|
441
|
+
value: function setDebug() {
|
|
442
|
+
var debugLevel = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
|
443
|
+
var debugLogFunction = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
|
444
|
+
this.debugLevel = !!debugLevel;
|
|
445
|
+
debugLog = debugLogFunction || debugLevel ? console.log : function () {};
|
|
446
|
+
}
|
|
447
|
+
/**
|
|
448
|
+
* Gets debug flag
|
|
449
|
+
*
|
|
450
|
+
* @returns true if debug logging is enabled
|
|
451
|
+
*/
|
|
452
|
+
}, {
|
|
453
|
+
key: "getDebug",
|
|
454
|
+
value: function getDebug() {
|
|
455
|
+
return this.debugLevel;
|
|
456
|
+
}
|
|
457
|
+
/**
|
|
458
|
+
* Sets verbose flag.
|
|
459
|
+
*
|
|
460
|
+
* @param {Boolean} verbose
|
|
461
|
+
*/
|
|
462
|
+
}, {
|
|
405
463
|
key: "setVerbose",
|
|
406
464
|
value: function setVerbose(verbose) {
|
|
407
465
|
this.verbose = verbose;
|
|
@@ -457,12 +515,12 @@ var DICOMwebClient = /*#__PURE__*/function () {
|
|
|
457
515
|
|
|
458
516
|
// Event triggered when upload starts
|
|
459
517
|
request.onloadstart = function onloadstart() {
|
|
460
|
-
|
|
518
|
+
debugLog('upload started: ', url);
|
|
461
519
|
};
|
|
462
520
|
|
|
463
521
|
// Event triggered when upload ends
|
|
464
522
|
request.onloadend = function onloadend() {
|
|
465
|
-
|
|
523
|
+
debugLog('upload finished');
|
|
466
524
|
};
|
|
467
525
|
|
|
468
526
|
// Handle response message
|
|
@@ -848,7 +906,8 @@ var DICOMwebClient = /*#__PURE__*/function () {
|
|
|
848
906
|
}
|
|
849
907
|
/**
|
|
850
908
|
* Performs an HTTP GET request that accepts a multipart message
|
|
851
|
-
* with a application/octet-stream
|
|
909
|
+
* with a application/octet-stream, OR any of the equivalencies for that (eg
|
|
910
|
+
* application/pdf etc)
|
|
852
911
|
*
|
|
853
912
|
* @param {String} url - Unique resource locator
|
|
854
913
|
* @param {Object[]} mediaTypes - Acceptable media types and optionally the UIDs of the
|
|
@@ -865,7 +924,7 @@ var DICOMwebClient = /*#__PURE__*/function () {
|
|
|
865
924
|
var headers = {};
|
|
866
925
|
var defaultMediaType = 'application/octet-stream';
|
|
867
926
|
var supportedMediaTypes = {
|
|
868
|
-
'1.2.840.10008.1.2.1':
|
|
927
|
+
'1.2.840.10008.1.2.1': _toConsumableArray(Object.values(MEDIATYPES))
|
|
869
928
|
};
|
|
870
929
|
var acceptableMediaTypes = mediaTypes;
|
|
871
930
|
if (!mediaTypes) {
|
|
@@ -937,7 +996,7 @@ var DICOMwebClient = /*#__PURE__*/function () {
|
|
|
937
996
|
*/
|
|
938
997
|
value: function searchForStudies() {
|
|
939
998
|
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
940
|
-
|
|
999
|
+
debugLog('search for studies');
|
|
941
1000
|
var withCredentials = false;
|
|
942
1001
|
var url = "".concat(this.qidoURL, "/studies");
|
|
943
1002
|
if ('queryParams' in options) {
|
|
@@ -964,7 +1023,7 @@ var DICOMwebClient = /*#__PURE__*/function () {
|
|
|
964
1023
|
if (!('studyInstanceUID' in options)) {
|
|
965
1024
|
throw new Error('Study Instance UID is required for retrieval of study metadata');
|
|
966
1025
|
}
|
|
967
|
-
|
|
1026
|
+
debugLog("retrieve metadata of study ".concat(options.studyInstanceUID));
|
|
968
1027
|
var url = "".concat(this.wadoURL, "/studies/").concat(options.studyInstanceUID, "/metadata");
|
|
969
1028
|
var withCredentials = false;
|
|
970
1029
|
if ('withCredentials' in options) {
|
|
@@ -988,7 +1047,7 @@ var DICOMwebClient = /*#__PURE__*/function () {
|
|
|
988
1047
|
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
989
1048
|
var url = this.qidoURL;
|
|
990
1049
|
if ('studyInstanceUID' in options) {
|
|
991
|
-
|
|
1050
|
+
debugLog("search series of study ".concat(options.studyInstanceUID));
|
|
992
1051
|
url += "/studies/".concat(options.studyInstanceUID);
|
|
993
1052
|
}
|
|
994
1053
|
url += '/series';
|
|
@@ -1021,7 +1080,7 @@ var DICOMwebClient = /*#__PURE__*/function () {
|
|
|
1021
1080
|
if (!('seriesInstanceUID' in options)) {
|
|
1022
1081
|
throw new Error('Series Instance UID is required for retrieval of series metadata');
|
|
1023
1082
|
}
|
|
1024
|
-
|
|
1083
|
+
debugLog("retrieve metadata of series ".concat(options.seriesInstanceUID));
|
|
1025
1084
|
var url = "".concat(this.wadoURL, "/studies/").concat(options.studyInstanceUID, "/series/").concat(options.seriesInstanceUID, "/metadata");
|
|
1026
1085
|
var withCredentials = false;
|
|
1027
1086
|
if ('withCredentials' in options) {
|
|
@@ -1049,13 +1108,13 @@ var DICOMwebClient = /*#__PURE__*/function () {
|
|
|
1049
1108
|
if ('studyInstanceUID' in options) {
|
|
1050
1109
|
url += "/studies/".concat(options.studyInstanceUID);
|
|
1051
1110
|
if ('seriesInstanceUID' in options) {
|
|
1052
|
-
|
|
1111
|
+
debugLog("search for instances of series ".concat(options.seriesInstanceUID));
|
|
1053
1112
|
url += "/series/".concat(options.seriesInstanceUID);
|
|
1054
1113
|
} else {
|
|
1055
|
-
|
|
1114
|
+
debugLog("search for instances of study ".concat(options.studyInstanceUID));
|
|
1056
1115
|
}
|
|
1057
1116
|
} else {
|
|
1058
|
-
|
|
1117
|
+
debugLog('search for instances');
|
|
1059
1118
|
}
|
|
1060
1119
|
url += '/instances';
|
|
1061
1120
|
if ('queryParams' in options) {
|
|
@@ -1121,7 +1180,7 @@ var DICOMwebClient = /*#__PURE__*/function () {
|
|
|
1121
1180
|
if (!('sopInstanceUID' in options)) {
|
|
1122
1181
|
throw new Error('SOP Instance UID is required for retrieval of instance metadata');
|
|
1123
1182
|
}
|
|
1124
|
-
|
|
1183
|
+
debugLog("retrieve metadata of instance ".concat(options.sopInstanceUID));
|
|
1125
1184
|
var url = "".concat(this.wadoURL, "/studies/").concat(options.studyInstanceUID, "/series/").concat(options.seriesInstanceUID, "/instances/").concat(options.sopInstanceUID, "/metadata");
|
|
1126
1185
|
var withCredentials = false;
|
|
1127
1186
|
if ('withCredentials' in options) {
|
|
@@ -1155,7 +1214,7 @@ var DICOMwebClient = /*#__PURE__*/function () {
|
|
|
1155
1214
|
if (!('frameNumbers' in options)) {
|
|
1156
1215
|
throw new Error('frame numbers are required for retrieval of instance frames');
|
|
1157
1216
|
}
|
|
1158
|
-
|
|
1217
|
+
debugLog("retrieve frames ".concat(options.frameNumbers.toString(), " of instance ").concat(options.sopInstanceUID));
|
|
1159
1218
|
var url = "".concat(this.wadoURL, "/studies/").concat(options.studyInstanceUID, "/series/").concat(options.seriesInstanceUID, "/instances/").concat(options.sopInstanceUID, "/frames/").concat(options.frameNumbers.toString());
|
|
1160
1219
|
var mediaTypes = options.mediaTypes;
|
|
1161
1220
|
var withCredentials = false;
|
|
@@ -1190,7 +1249,9 @@ var DICOMwebClient = /*#__PURE__*/function () {
|
|
|
1190
1249
|
'1.2.840.10008.1.2.4.90': ['image/jp2'],
|
|
1191
1250
|
'1.2.840.10008.1.2.4.91': ['image/jp2'],
|
|
1192
1251
|
'1.2.840.10008.1.2.4.92': ['image/jpx'],
|
|
1193
|
-
'1.2.840.10008.1.2.4.93': ['image/jpx']
|
|
1252
|
+
'1.2.840.10008.1.2.4.93': ['image/jpx'],
|
|
1253
|
+
'1.2.840.10008.1.2.4.201': ['image/jhc'],
|
|
1254
|
+
'1.2.840.10008.1.2.4.202': ['image/jhc']
|
|
1194
1255
|
};
|
|
1195
1256
|
var headers = {
|
|
1196
1257
|
Accept: DICOMwebClient._buildMultipartAcceptHeaderFieldValue(mediaTypes, supportedMediaTypes)
|
|
@@ -1350,7 +1411,7 @@ var DICOMwebClient = /*#__PURE__*/function () {
|
|
|
1350
1411
|
if (!('frameNumbers' in options)) {
|
|
1351
1412
|
throw new Error('frame numbers are required for retrieval of rendered instance frames');
|
|
1352
1413
|
}
|
|
1353
|
-
|
|
1414
|
+
debugLog("retrieve rendered frames ".concat(options.frameNumbers.toString(), " of instance ").concat(options.sopInstanceUID));
|
|
1354
1415
|
var url = "".concat(this.wadoURL, "/studies/").concat(options.studyInstanceUID, "/series/").concat(options.seriesInstanceUID, "/instances/").concat(options.sopInstanceUID, "/frames/").concat(options.frameNumbers.toString(), "/rendered");
|
|
1355
1416
|
var mediaTypes = options.mediaTypes,
|
|
1356
1417
|
queryParams = options.queryParams;
|
|
@@ -1567,17 +1628,19 @@ var DICOMwebClient = /*#__PURE__*/function () {
|
|
|
1567
1628
|
if (this.singlepart.indexOf('bulkdata') !== -1) {
|
|
1568
1629
|
return this._httpGet(url, options.headers, 'arraybuffer', null, withCredentials);
|
|
1569
1630
|
}
|
|
1570
|
-
if (
|
|
1571
|
-
|
|
1572
|
-
|
|
1573
|
-
|
|
1574
|
-
|
|
1575
|
-
|
|
1576
|
-
|
|
1577
|
-
|
|
1578
|
-
|
|
1631
|
+
if (mediaTypes) {
|
|
1632
|
+
try {
|
|
1633
|
+
var commonMediaType = DICOMwebClient._getCommonMediaType(mediaTypes);
|
|
1634
|
+
if (commonMediaType === 'image/') {
|
|
1635
|
+
return this._httpGetMultipartImage(url, mediaTypes, byteRange, false, false, progressCallback, withCredentials);
|
|
1636
|
+
}
|
|
1637
|
+
} catch (e) {
|
|
1638
|
+
// No-op - this happens sometimes if trying to fetch the specific desired type but want to fallback to octet-stream
|
|
1639
|
+
}
|
|
1579
1640
|
}
|
|
1580
|
-
|
|
1641
|
+
|
|
1642
|
+
// Just use the media types provided
|
|
1643
|
+
return this._httpGetMultipartApplicationOctetStream(url, mediaTypes, byteRange, false, progressCallback, withCredentials);
|
|
1581
1644
|
}
|
|
1582
1645
|
/**
|
|
1583
1646
|
* Stores DICOM Instances.
|
|
@@ -1671,16 +1734,20 @@ var DICOMwebClient = /*#__PURE__*/function () {
|
|
|
1671
1734
|
return fieldValueParts.join(', ');
|
|
1672
1735
|
}
|
|
1673
1736
|
/**
|
|
1674
|
-
|
|
1675
|
-
|
|
1676
|
-
|
|
1677
|
-
|
|
1678
|
-
|
|
1679
|
-
|
|
1680
|
-
|
|
1737
|
+
* Builds an accept header field value for HTTP GET multipart request
|
|
1738
|
+
* messages. Will throw an exception if no media types are found which are acceptable,
|
|
1739
|
+
* but will only log a verbose level message when types are specified which are
|
|
1740
|
+
* not acceptable. This allows requesting several types with having to know
|
|
1741
|
+
* whether they are all acceptable or not.
|
|
1742
|
+
*
|
|
1743
|
+
* @param {Object[]} mediaTypes - Acceptable media types
|
|
1744
|
+
* @param {Object[]} supportedMediaTypes - Supported media types
|
|
1745
|
+
* @private
|
|
1746
|
+
*/
|
|
1681
1747
|
}, {
|
|
1682
1748
|
key: "_buildMultipartAcceptHeaderFieldValue",
|
|
1683
1749
|
value: function _buildMultipartAcceptHeaderFieldValue(mediaTypes, supportedMediaTypes) {
|
|
1750
|
+
var _this2 = this;
|
|
1684
1751
|
if (!Array.isArray(mediaTypes)) {
|
|
1685
1752
|
throw new Error('Acceptable media types must be provided as an Array');
|
|
1686
1753
|
}
|
|
@@ -1698,7 +1765,8 @@ var DICOMwebClient = /*#__PURE__*/function () {
|
|
|
1698
1765
|
// to one or more Media Types
|
|
1699
1766
|
if (!Object.values(supportedMediaTypes).flat(1).includes(mediaType)) {
|
|
1700
1767
|
if (!mediaType.endsWith('/*') || !mediaType.endsWith('/')) {
|
|
1701
|
-
|
|
1768
|
+
debugLog("Media type ".concat(mediaType, " is not supported for requested resource"));
|
|
1769
|
+
return;
|
|
1702
1770
|
}
|
|
1703
1771
|
}
|
|
1704
1772
|
if (transferSyntaxUID) {
|
|
@@ -1722,10 +1790,16 @@ var DICOMwebClient = /*#__PURE__*/function () {
|
|
|
1722
1790
|
fieldValue += "; transfer-syntax=".concat(transferSyntaxUID);
|
|
1723
1791
|
}
|
|
1724
1792
|
} else if (Array.isArray(supportedMediaTypes) && !supportedMediaTypes.includes(mediaType)) {
|
|
1725
|
-
|
|
1793
|
+
if (_this2.verbose) {
|
|
1794
|
+
console.warn("Media type ".concat(mediaType, " is not supported for requested resource"));
|
|
1795
|
+
}
|
|
1796
|
+
return;
|
|
1726
1797
|
}
|
|
1727
1798
|
fieldValueParts.push(fieldValue);
|
|
1728
1799
|
});
|
|
1800
|
+
if (!fieldValueParts.length) {
|
|
1801
|
+
throw new Error("No acceptable media types found among ".concat(JSON.stringify(mediaTypes)));
|
|
1802
|
+
}
|
|
1729
1803
|
return fieldValueParts.join(', ');
|
|
1730
1804
|
}
|
|
1731
1805
|
/**
|
|
@@ -1770,7 +1844,7 @@ var DICOMwebClient = /*#__PURE__*/function () {
|
|
|
1770
1844
|
return Array.from(types);
|
|
1771
1845
|
}
|
|
1772
1846
|
/**
|
|
1773
|
-
* Gets common type of acceptable media types and asserts that only
|
|
1847
|
+
* Gets common base type of acceptable media types and asserts that only
|
|
1774
1848
|
one type is specified. For example, ``("image/jpeg", "image/jp2")``
|
|
1775
1849
|
will pass, but ``("image/jpeg", "video/mpeg2")`` will raise an
|
|
1776
1850
|
exception.
|
|
@@ -1778,7 +1852,7 @@ var DICOMwebClient = /*#__PURE__*/function () {
|
|
|
1778
1852
|
* @param {Object[]} mediaTypes - Acceptable media types and optionally the UIDs of the
|
|
1779
1853
|
corresponding transfer syntaxes
|
|
1780
1854
|
* @private
|
|
1781
|
-
* @returns {String[]} Common media type
|
|
1855
|
+
* @returns {String[]} Common media type, eg `image/` for the above example.
|
|
1782
1856
|
*/
|
|
1783
1857
|
}, {
|
|
1784
1858
|
key: "_getCommonMediaType",
|
|
@@ -954,7 +954,11 @@ const getDirectURL = (config, params) => {
|
|
|
954
954
|
}
|
|
955
955
|
if (!singlepart || singlepart !== true && singlepart.indexOf(fetchPart) === -1) {
|
|
956
956
|
if (value.retrieveBulkData) {
|
|
957
|
-
|
|
957
|
+
// Try the specified retrieve type.
|
|
958
|
+
const options = {
|
|
959
|
+
mediaType: defaultType
|
|
960
|
+
};
|
|
961
|
+
return value.retrieveBulkData(options).then(arr => {
|
|
958
962
|
value.DirectRetrieveURL = URL.createObjectURL(new Blob([arr], {
|
|
959
963
|
type: defaultType
|
|
960
964
|
}));
|
|
@@ -1318,10 +1322,13 @@ function createDicomWebApi(dicomWebConfig, servicesManager) {
|
|
|
1318
1322
|
// in which case it isn't necessary to re-read this.
|
|
1319
1323
|
if (value && value.BulkDataURI && !value.Value) {
|
|
1320
1324
|
// Provide a method to fetch bulkdata
|
|
1321
|
-
value.retrieveBulkData = () => {
|
|
1325
|
+
value.retrieveBulkData = (options = {}) => {
|
|
1322
1326
|
// handle the scenarios where bulkDataURI is relative path
|
|
1323
1327
|
fixBulkDataURI(value, naturalized, dicomWebConfig);
|
|
1324
|
-
const
|
|
1328
|
+
const {
|
|
1329
|
+
mediaType
|
|
1330
|
+
} = options;
|
|
1331
|
+
const useOptions = {
|
|
1325
1332
|
// The bulkdata fetches work with either multipart or
|
|
1326
1333
|
// singlepart, so set multipart to false to let the server
|
|
1327
1334
|
// decide which type to respond with.
|
|
@@ -1331,10 +1338,16 @@ function createDicomWebApi(dicomWebConfig, servicesManager) {
|
|
|
1331
1338
|
// is relative - that isn't disallowed by DICOMweb, but
|
|
1332
1339
|
// isn't well specified in the standard, but is needed in
|
|
1333
1340
|
// any implementation that stores static copies of the metadata
|
|
1334
|
-
StudyInstanceUID: naturalized.StudyInstanceUID
|
|
1341
|
+
StudyInstanceUID: naturalized.StudyInstanceUID,
|
|
1342
|
+
mediaTypes: mediaType ? [{
|
|
1343
|
+
mediaType
|
|
1344
|
+
}, {
|
|
1345
|
+
mediaType: 'application/octet-stream'
|
|
1346
|
+
}] : undefined,
|
|
1347
|
+
...options
|
|
1335
1348
|
};
|
|
1336
1349
|
// Todo: this needs to be from wado dicom web client
|
|
1337
|
-
return qidoDicomWebClient.retrieveBulkData(
|
|
1350
|
+
return qidoDicomWebClient.retrieveBulkData(useOptions).then(val => {
|
|
1338
1351
|
// There are DICOM PDF cases where the first ArrayBuffer in the array is
|
|
1339
1352
|
// the bulk data and DICOM video cases where the second ArrayBuffer is
|
|
1340
1353
|
// the bulk data. Here we play it safe and do a find.
|
|
@@ -2462,8 +2475,8 @@ function ViewerHeader({
|
|
|
2462
2475
|
hotkeyDefinitions,
|
|
2463
2476
|
hotkeyDefaults
|
|
2464
2477
|
} = hotkeysManager;
|
|
2465
|
-
const versionNumber = "3.8.0-beta.
|
|
2466
|
-
const commitHash = "
|
|
2478
|
+
const versionNumber = "3.8.0-beta.38";
|
|
2479
|
+
const commitHash = "98650302c7575f0aea386e32cfc4112c378035e6";
|
|
2467
2480
|
const menuOptions = [{
|
|
2468
2481
|
title: t('Header:About'),
|
|
2469
2482
|
icon: 'info',
|
|
@@ -987,8 +987,8 @@ function WorkList({
|
|
|
987
987
|
};
|
|
988
988
|
});
|
|
989
989
|
const hasStudies = numOfStudies > 0;
|
|
990
|
-
const versionNumber = "3.8.0-beta.
|
|
991
|
-
const commitHash = "
|
|
990
|
+
const versionNumber = "3.8.0-beta.38";
|
|
991
|
+
const commitHash = "98650302c7575f0aea386e32cfc4112c378035e6";
|
|
992
992
|
const menuOptions = [{
|
|
993
993
|
title: t('Header:About'),
|
|
994
994
|
icon: 'info',
|
|
@@ -6429,7 +6429,7 @@ const detectionOptions = {
|
|
|
6429
6429
|
}
|
|
6430
6430
|
});
|
|
6431
6431
|
;// CONCATENATED MODULE: ../../i18n/package.json
|
|
6432
|
-
const package_namespaceObject = JSON.parse('{"i8":"3.8.0-beta.
|
|
6432
|
+
const package_namespaceObject = JSON.parse('{"i8":"3.8.0-beta.37"}');
|
|
6433
6433
|
;// CONCATENATED MODULE: ../../i18n/src/utils.js
|
|
6434
6434
|
const languagesMap = {
|
|
6435
6435
|
ar: 'Arabic',
|
|
@@ -240632,7 +240632,7 @@ var selectOrdinal = function selectOrdinal() {
|
|
|
240632
240632
|
/******/ // This function allow to reference async chunks
|
|
240633
240633
|
/******/ __webpack_require__.u = (chunkId) => {
|
|
240634
240634
|
/******/ // return url for filenames based on template
|
|
240635
|
-
/******/ return "" + (chunkId === 18 ? "dicom-microscopy-viewer" : chunkId) + ".bundle." + {"12":"
|
|
240635
|
+
/******/ return "" + (chunkId === 18 ? "dicom-microscopy-viewer" : chunkId) + ".bundle." + {"12":"8a996780d0884b4334b4","18":"a7d5060eead13771e784","19":"1c63b50b0be55c61aa79","23":"9d989522a6e4fdcb9c72","95":"830304446bffa705883c","125":"df666cb677e5a8982157","170":"05c8abe42777ead03b50","181":"d2fe517852935b82368b","185":"4692c8812d264295705d","199":"68e580bf83885aa03d89","202":"0ca2f2479d2578f539b0","223":"d4ac6ef2cfe47a9c4afc","250":"ba94ff371388e395cd05","281":"3e434534b5c804fa7e03","359":"2ec3543dc0f70b857347","410":"9610a46c0d056d47a979","417":"5c66801d23d0e98c00e6","451":"68a551a7d1746cf904cb","456":"04c13b51bcc475a2e612","466":"d3ecd660ba28480d0a48","471":"5809b10f75c8fc2f7167","483":"022ac6f8d0fe20e5f748","485":"5b6c33cc43d8f3470642","506":"2cbb19a3f09210440f04","514":"e89082f91e5a7ef3e039","530":"f904325ef4195d69ac0e","579":"8c45043bf461a6808b54","613":"02286a9826bf2f5c8f69","661":"949c984fe2f9f753b65c","686":"62c827fe4f0d054c164e","687":"ee93df40b6161afc2363","738":"9d258c3b701474029d9a","814":"11b6c8cda5f2aa865455","822":"f5ae3f366ce742fb060a","886":"4496fc7fb83b8c897d20","965":"ec77c2aa2ecb949f4c48"}[chunkId] + ".js";
|
|
240636
240636
|
/******/ };
|
|
240637
240637
|
/******/ })();
|
|
240638
240638
|
/******/
|
package/dist/index.html
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
<!doctype html><html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta name="theme-color" content="#000000"/><meta name="mobile-web-app-capable" content="yes"/><meta name="application-name" content="OHIF Viewer"/><meta name="apple-mobile-web-app-capable" content="yes"/><meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"/><meta name="apple-mobile-web-app-title" content="@ohif/app"/><meta name="msapplication-TileColor" content="#fff"/><meta name="msapplication-TileImage" content="/assets/mstile-144x144.png"/><meta name="msapplication-config" content="/assets/browserconfig.xml"/><script>console.time('scriptToView');
|
|
2
|
-
window.PUBLIC_URL = '/';</script><link rel="manifest" href="/manifest.json"/><link rel="shortcut icon" href="/assets/favicon.ico"/><link rel="icon" type="image/png" sizes="16x16" href="/assets/favicon-16x16.png"/><link rel="icon" type="image/png" sizes="32x32" href="/assets/favicon-32x32.png"/><link rel="apple-touch-icon" sizes="57x57" href="/assets/apple-touch-icon-57x57.png"/><link rel="apple-touch-icon" sizes="60x60" href="/assets/apple-touch-icon-60x60.png"/><link rel="apple-touch-icon" sizes="72x72" href="/assets/apple-touch-icon-72x72.png"/><link rel="apple-touch-icon" sizes="76x76" href="/assets/apple-touch-icon-76x76.png"/><link rel="apple-touch-icon" sizes="114x114" href="/assets/apple-touch-icon-114x114.png"/><link rel="apple-touch-icon" sizes="120x120" href="/assets/apple-touch-icon-120x120.png"/><link rel="apple-touch-icon" sizes="144x144" href="/assets/apple-touch-icon-144x144.png"/><link rel="apple-touch-icon" sizes="152x152" href="/assets/apple-touch-icon-152x152.png"/><link rel="apple-touch-icon" sizes="167x167" href="/assets/apple-touch-icon-167x167.png"/><link rel="apple-touch-icon" sizes="180x180" href="/assets/apple-touch-icon-180x180.png"/><link rel="apple-touch-icon" sizes="1024x1024" href="/assets/apple-touch-icon-1024x1024.png"/><link rel="apple-touch-startup-image" media="(device-width: 320px) and (device-height: 480px) and (-webkit-device-pixel-ratio: 1)" href="/assets/apple-touch-startup-image-320x460.png"/><link rel="apple-touch-startup-image" media="(device-width: 320px) and (device-height: 480px) and (-webkit-device-pixel-ratio: 2)" href="/assets/apple-touch-startup-image-640x920.png"/><link rel="apple-touch-startup-image" media="(device-width: 320px) and (device-height: 568px) and (-webkit-device-pixel-ratio: 2)" href="/assets/apple-touch-startup-image-640x1096.png"/><link rel="apple-touch-startup-image" media="(device-width: 375px) and (device-height: 667px) and (-webkit-device-pixel-ratio: 2)" href="/assets/apple-touch-startup-image-750x1294.png"/><link rel="apple-touch-startup-image" media="(device-width: 414px) and (device-height: 736px) and (orientation: landscape) and (-webkit-device-pixel-ratio: 3)" href="/assets/apple-touch-startup-image-1182x2208.png"/><link rel="apple-touch-startup-image" media="(device-width: 414px) and (device-height: 736px) and (orientation: portrait) and (-webkit-device-pixel-ratio: 3)" href="/assets/apple-touch-startup-image-1242x2148.png"/><link rel="apple-touch-startup-image" media="(device-width: 768px) and (device-height: 1024px) and (orientation: landscape) and (-webkit-device-pixel-ratio: 1)" href="/assets/apple-touch-startup-image-748x1024.png"/><link rel="apple-touch-startup-image" media="(device-width: 768px) and (device-height: 1024px) and (orientation: portrait) and (-webkit-device-pixel-ratio: 1)" href="/assets/apple-touch-startup-image-768x1004.png"/><link rel="apple-touch-startup-image" media="(device-width: 768px) and (device-height: 1024px) and (orientation: landscape) and (-webkit-device-pixel-ratio: 2)" href="/assets/apple-touch-startup-image-1496x2048.png"/><link rel="apple-touch-startup-image" media="(device-width: 768px) and (device-height: 1024px) and (orientation: portrait) and (-webkit-device-pixel-ratio: 2)" href="/assets/apple-touch-startup-image-1536x2008.png"/><link rel="icon" type="image/png" sizes="228x228" href="/assets/coast-228x228.png"/><link rel="yandex-tableau-widget" href="/assets/yandex-browser-manifest.json"/><script rel="preload" as="script" src="/app-config.js"></script><script rel="preload" as="script" type="module" src="/init-service-worker.js"></script><title>OHIF Viewer</title><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin/><link href="https://fonts.googleapis.com/css?family=Inter:100,300,400,500,700&display=swap" rel="stylesheet" rel="preload" as="style"/><script defer="defer" src="/app.bundle.
|
|
2
|
+
window.PUBLIC_URL = '/';</script><link rel="manifest" href="/manifest.json"/><link rel="shortcut icon" href="/assets/favicon.ico"/><link rel="icon" type="image/png" sizes="16x16" href="/assets/favicon-16x16.png"/><link rel="icon" type="image/png" sizes="32x32" href="/assets/favicon-32x32.png"/><link rel="apple-touch-icon" sizes="57x57" href="/assets/apple-touch-icon-57x57.png"/><link rel="apple-touch-icon" sizes="60x60" href="/assets/apple-touch-icon-60x60.png"/><link rel="apple-touch-icon" sizes="72x72" href="/assets/apple-touch-icon-72x72.png"/><link rel="apple-touch-icon" sizes="76x76" href="/assets/apple-touch-icon-76x76.png"/><link rel="apple-touch-icon" sizes="114x114" href="/assets/apple-touch-icon-114x114.png"/><link rel="apple-touch-icon" sizes="120x120" href="/assets/apple-touch-icon-120x120.png"/><link rel="apple-touch-icon" sizes="144x144" href="/assets/apple-touch-icon-144x144.png"/><link rel="apple-touch-icon" sizes="152x152" href="/assets/apple-touch-icon-152x152.png"/><link rel="apple-touch-icon" sizes="167x167" href="/assets/apple-touch-icon-167x167.png"/><link rel="apple-touch-icon" sizes="180x180" href="/assets/apple-touch-icon-180x180.png"/><link rel="apple-touch-icon" sizes="1024x1024" href="/assets/apple-touch-icon-1024x1024.png"/><link rel="apple-touch-startup-image" media="(device-width: 320px) and (device-height: 480px) and (-webkit-device-pixel-ratio: 1)" href="/assets/apple-touch-startup-image-320x460.png"/><link rel="apple-touch-startup-image" media="(device-width: 320px) and (device-height: 480px) and (-webkit-device-pixel-ratio: 2)" href="/assets/apple-touch-startup-image-640x920.png"/><link rel="apple-touch-startup-image" media="(device-width: 320px) and (device-height: 568px) and (-webkit-device-pixel-ratio: 2)" href="/assets/apple-touch-startup-image-640x1096.png"/><link rel="apple-touch-startup-image" media="(device-width: 375px) and (device-height: 667px) and (-webkit-device-pixel-ratio: 2)" href="/assets/apple-touch-startup-image-750x1294.png"/><link rel="apple-touch-startup-image" media="(device-width: 414px) and (device-height: 736px) and (orientation: landscape) and (-webkit-device-pixel-ratio: 3)" href="/assets/apple-touch-startup-image-1182x2208.png"/><link rel="apple-touch-startup-image" media="(device-width: 414px) and (device-height: 736px) and (orientation: portrait) and (-webkit-device-pixel-ratio: 3)" href="/assets/apple-touch-startup-image-1242x2148.png"/><link rel="apple-touch-startup-image" media="(device-width: 768px) and (device-height: 1024px) and (orientation: landscape) and (-webkit-device-pixel-ratio: 1)" href="/assets/apple-touch-startup-image-748x1024.png"/><link rel="apple-touch-startup-image" media="(device-width: 768px) and (device-height: 1024px) and (orientation: portrait) and (-webkit-device-pixel-ratio: 1)" href="/assets/apple-touch-startup-image-768x1004.png"/><link rel="apple-touch-startup-image" media="(device-width: 768px) and (device-height: 1024px) and (orientation: landscape) and (-webkit-device-pixel-ratio: 2)" href="/assets/apple-touch-startup-image-1496x2048.png"/><link rel="apple-touch-startup-image" media="(device-width: 768px) and (device-height: 1024px) and (orientation: portrait) and (-webkit-device-pixel-ratio: 2)" href="/assets/apple-touch-startup-image-1536x2008.png"/><link rel="icon" type="image/png" sizes="228x228" href="/assets/coast-228x228.png"/><link rel="yandex-tableau-widget" href="/assets/yandex-browser-manifest.json"/><script rel="preload" as="script" src="/app-config.js"></script><script rel="preload" as="script" type="module" src="/init-service-worker.js"></script><title>OHIF Viewer</title><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin/><link href="https://fonts.googleapis.com/css?family=Inter:100,300,400,500,700&display=swap" rel="stylesheet" rel="preload" as="style"/><script defer="defer" src="/app.bundle.a299c2b2bc8e26f3c114.js"></script><link href="/app.bundle.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div></body></html>
|
package/dist/sw.js
CHANGED
|
@@ -51,7 +51,7 @@ self.addEventListener('message', event => {
|
|
|
51
51
|
}
|
|
52
52
|
}
|
|
53
53
|
});
|
|
54
|
-
workbox.precaching.precacheAndRoute([{'revision':null,'url':'/12.bundle.
|
|
54
|
+
workbox.precaching.precacheAndRoute([{'revision':null,'url':'/12.bundle.8a996780d0884b4334b4.js'},{'revision':null,'url':'/125.bundle.df666cb677e5a8982157.js'},{'revision':null,'url':'/170.bundle.05c8abe42777ead03b50.js'},{'revision':null,'url':'/181.bundle.d2fe517852935b82368b.js'},{'revision':'a04a2f233dc569826f5f6e21b65bc87b','url':'/181.css'},{'revision':null,'url':'/185.bundle.4692c8812d264295705d.js'},{'revision':null,'url':'/19.bundle.1c63b50b0be55c61aa79.js'},{'revision':'51b8ed55f5b8d448837222f03bdd6de8','url':'/19.css'},{'revision':null,'url':'/199.bundle.68e580bf83885aa03d89.js'},{'revision':null,'url':'/202.bundle.0ca2f2479d2578f539b0.js'},{'revision':'d32549aa3716d55d525e59e31e2f6591','url':'/20fc4c659b85ccd2a9c0.wasm'},{'revision':null,'url':'/223.bundle.d4ac6ef2cfe47a9c4afc.js'},{'revision':null,'url':'/23.bundle.9d989522a6e4fdcb9c72.js'},{'revision':null,'url':'/250.bundle.ba94ff371388e395cd05.js'},{'revision':'0afb25509c7f072fbd7eda42c6895dbf','url':'/250.css'},{'revision':null,'url':'/281.bundle.3e434534b5c804fa7e03.js'},{'revision':null,'url':'/359.bundle.2ec3543dc0f70b857347.js'},{'revision':'c4ea120c6da08aa75348edfa3e57ece9','url':'/36785fbd89b0e17f6099.wasm'},{'revision':null,'url':'/410.bundle.9610a46c0d056d47a979.js'},{'revision':null,'url':'/417.bundle.5c66801d23d0e98c00e6.js'},{'revision':null,'url':'/451.bundle.68a551a7d1746cf904cb.js'},{'revision':null,'url':'/456.bundle.04c13b51bcc475a2e612.js'},{'revision':'185e5e0a10fa6ab2fc7b3c38e63d550b','url':'/456.css'},{'revision':null,'url':'/466.bundle.d3ecd660ba28480d0a48.js'},{'revision':'aa1d1f3e32367e42fe90399144d94577','url':'/466.css'},{'revision':null,'url':'/471.bundle.5809b10f75c8fc2f7167.js'},{'revision':null,'url':'/483.bundle.022ac6f8d0fe20e5f748.js'},{'revision':null,'url':'/485.bundle.5b6c33cc43d8f3470642.js'},{'revision':'c377e1f5fe4a207d270c3f7a8dd3e3ca','url':'/5004fdc02f329ce53b69.wasm'},{'revision':null,'url':'/506.bundle.2cbb19a3f09210440f04.js'},{'revision':null,'url':'/514.bundle.e89082f91e5a7ef3e039.js'},{'revision':null,'url':'/530.bundle.f904325ef4195d69ac0e.js'},{'revision':'51b8ed55f5b8d448837222f03bdd6de8','url':'/579.css'},{'revision':'62b4ae8445d191d5aab5503ce475724d','url':'/610.min.worker.js'},{'revision':'3c2206525c18cd87dd28082949a4e43e','url':'/610.min.worker.js.map'},{'revision':null,'url':'/613.bundle.02286a9826bf2f5c8f69.js'},{'revision':'5800265b6831396572fb5d32c6bd8eef','url':'/62ab5d58a2bea7b5a1dc.wasm'},{'revision':'ce10eced3ce34e663d86569b27f5bffb','url':'/65916ef3def695744bda.wasm'},{'revision':null,'url':'/661.bundle.949c984fe2f9f753b65c.js'},{'revision':null,'url':'/686.bundle.62c827fe4f0d054c164e.js'},{'revision':null,'url':'/687.bundle.ee93df40b6161afc2363.js'},{'revision':null,'url':'/738.bundle.9d258c3b701474029d9a.js'},{'revision':'cc4a3a4da4ac1b863a714f93c66c6ef2','url':'/75a0c2dfe07b824c7d21.wasm'},{'revision':null,'url':'/814.bundle.11b6c8cda5f2aa865455.js'},{'revision':null,'url':'/822.bundle.f5ae3f366ce742fb060a.js'},{'revision':null,'url':'/886.bundle.4496fc7fb83b8c897d20.js'},{'revision':'74c9647440e51f149ad12923d6ead952','url':'/945.min.worker.js'},{'revision':'cdf6f0457d4af2cef04fc41816241bc1','url':'/945.min.worker.js.map'},{'revision':null,'url':'/95.bundle.830304446bffa705883c.js'},{'revision':null,'url':'/965.bundle.ec77c2aa2ecb949f4c48.js'},{'revision':'d1895aa7a4595dc279c382e5a31ef9f4','url':'/_headers'},{'revision':'e3bf0f3e9c34f51ad59836ae8e8eaf43','url':'/_redirects'},{'revision':'41bb4b36a914c2db5c383a627162b3da','url':'/app-config.js'},{'revision':null,'url':'/app.bundle.a299c2b2bc8e26f3c114.js'},{'revision':'56a285c8999c3867c6553e714d27dbb5','url':'/app.bundle.css'},{'revision':'cb4f64534cdf8dd88f1d7219d44490db','url':'/assets/android-chrome-144x144.png'},{'revision':'5cde390de8a619ebe55a669d2ac3effd','url':'/assets/android-chrome-192x192.png'},{'revision':'e7466a67e90471de05401e53b8fe20be','url':'/assets/android-chrome-256x256.png'},{'revision':'9bbe9b80156e930d19a4e1725aa9ddae','url':'/assets/android-chrome-36x36.png'},{'revision':'5698b2ac0c82fe06d84521fc5482df04','url':'/assets/android-chrome-384x384.png'},{'revision':'56bef3fceec344d9747f8abe9c0bba27','url':'/assets/android-chrome-48x48.png'},{'revision':'3e8b8a01290992e82c242557417b0596','url':'/assets/android-chrome-512x512.png'},{'revision':'517925e91e2ce724432d296b687d25e2','url':'/assets/android-chrome-72x72.png'},{'revision':'4c3289bc690f8519012686888e08da71','url':'/assets/android-chrome-96x96.png'},{'revision':'cf464289183184df09292f581df0fb4f','url':'/assets/apple-touch-icon-1024x1024.png'},{'revision':'0857c5282c594e4900e8b31e3bade912','url':'/assets/apple-touch-icon-114x114.png'},{'revision':'4208f41a28130a67e9392a9dfcee6011','url':'/assets/apple-touch-icon-120x120.png'},{'revision':'cb4f64534cdf8dd88f1d7219d44490db','url':'/assets/apple-touch-icon-144x144.png'},{'revision':'977d293982af7e9064ba20806b45cf35','url':'/assets/apple-touch-icon-152x152.png'},{'revision':'6de91b4d2a30600b410758405cb567b4','url':'/assets/apple-touch-icon-167x167.png'},{'revision':'87bff140e3773bd7479a620501c4aa5c','url':'/assets/apple-touch-icon-180x180.png'},{'revision':'647386c34e75f1213830ea9a38913525','url':'/assets/apple-touch-icon-57x57.png'},{'revision':'0c200fe83953738b330ea431083e7a86','url':'/assets/apple-touch-icon-60x60.png'},{'revision':'517925e91e2ce724432d296b687d25e2','url':'/assets/apple-touch-icon-72x72.png'},{'revision':'c9989a807bb18633f6dcf254b5b56124','url':'/assets/apple-touch-icon-76x76.png'},{'revision':'87bff140e3773bd7479a620501c4aa5c','url':'/assets/apple-touch-icon-precomposed.png'},{'revision':'87bff140e3773bd7479a620501c4aa5c','url':'/assets/apple-touch-icon.png'},{'revision':'05fa74ea9c1c0c3931ba96467999081d','url':'/assets/apple-touch-startup-image-1182x2208.png'},{'revision':'9e2cd03e1e6fd0520eea6846f4278018','url':'/assets/apple-touch-startup-image-1242x2148.png'},{'revision':'5591e3a1822cbc8439b99c1a40d53425','url':'/assets/apple-touch-startup-image-1496x2048.png'},{'revision':'337de578c5ca04bd7d2be19d24d83821','url':'/assets/apple-touch-startup-image-1536x2008.png'},{'revision':'cafb4ab4eafe6ef946bd229a1d88e7de','url':'/assets/apple-touch-startup-image-320x460.png'},{'revision':'d9bb9e558d729eeac5efb8be8d6111cc','url':'/assets/apple-touch-startup-image-640x1096.png'},{'revision':'038b5b02bac8b82444bf9a87602ac216','url':'/assets/apple-touch-startup-image-640x920.png'},{'revision':'2177076eb07b1d64d663d7c03268be00','url':'/assets/apple-touch-startup-image-748x1024.png'},{'revision':'4fc097443815fe92503584c4bd73c630','url':'/assets/apple-touch-startup-image-750x1294.png'},{'revision':'2e29914062dce5c5141ab47eea2fc5d9','url':'/assets/apple-touch-startup-image-768x1004.png'},{'revision':'f692ec286b3a332c17985f4ed38b1076','url':'/assets/browserconfig.xml'},{'revision':'f3d9a3b647853c45b0e132e4acd0cc4a','url':'/assets/coast-228x228.png'},{'revision':'ad6e1def5c66193d649a31474bbfe45d','url':'/assets/favicon-16x16.png'},{'revision':'84d1dcdb6cdfa55e2f46be0c80fa5698','url':'/assets/favicon-32x32.png'},{'revision':'95fb44c4998a46109e49d724c060db24','url':'/assets/favicon.ico'},{'revision':'5df2a5b0cee399ac0bc40af74ba3c2cb','url':'/assets/firefox_app_128x128.png'},{'revision':'11fd9098c4b07c8a07e1d2a1e309e046','url':'/assets/firefox_app_512x512.png'},{'revision':'27cddfc922dca3bfa27b4a00fc2f5e36','url':'/assets/firefox_app_60x60.png'},{'revision':'2017d95fae79dcf34b5a5b52586d4763','url':'/assets/manifest.webapp'},{'revision':'cb4f64534cdf8dd88f1d7219d44490db','url':'/assets/mstile-144x144.png'},{'revision':'334895225e16a7777e45d81964725a97','url':'/assets/mstile-150x150.png'},{'revision':'e295cca4af6ed0365cf7b014d91b0e9d','url':'/assets/mstile-310x150.png'},{'revision':'cbefa8c42250e5f2443819fe2c69d91e','url':'/assets/mstile-310x310.png'},{'revision':'aa411a69df2b33a1362fa38d1257fa9d','url':'/assets/mstile-70x70.png'},{'revision':'5609af4f69e40e33471aee770ea1d802','url':'/assets/yandex-browser-50x50.png'},{'revision':'dd001f21b3970d5a7f3e245cc10d21df','url':'/assets/yandex-browser-manifest.json'},{'revision':'52b9a07fe0541fe8c313d9788550bf51','url':'/b6b803111e2d06a825bd.wasm'},{'revision':'7edb59d2be7c993050cb31ded36afa31','url':'/c22b37c3488e1d6c3aa4.wasm'},{'revision':'26545f2fe5a0df854c8f9b8dc7386f31','url':'/cornerstoneDICOMImageLoader.min.js'},{'revision':'884bd58a767459994b9c3c0c1deabb3c','url':'/cornerstoneDICOMImageLoader.min.js.map'},{'revision':null,'url':'/dicom-microscopy-viewer.bundle.a7d5060eead13771e784.js'},{'revision':'9d8c85b42d04bb117a3b583d654fbb08','url':'/dicomMicroscopyViewer.min.js'},{'revision':'450494c199cf8dd8e8c34d5e98bf5334','url':'/dicomMicroscopyViewer.min.js.LICENSE.txt'},{'revision':'4acdd19a35d759ec2669f1ba9490937d','url':'/es6-shim.min.js'},{'revision':'791565db341e8852807303918f5f9939','url':'/google.js'},{'revision':'2b13b471a0dab70e80f3d1aa8c41dbac','url':'/index.html'},{'revision':'df70845c6ce2109b2bc2c1bf14bd65a0','url':'/index.worker.64c896c4316fcd506666.worker.js'},{'revision':'143490b997e10b23c1debfa35afeb9e4','url':'/index.worker.64c896c4316fcd506666.worker.js.map'},{'revision':'71cec55513e051f0778ad89be760c11a','url':'/index.worker.min.worker.js'},{'revision':'fd1116add443fee52a935df926396e0f','url':'/index.worker.min.worker.js.map'},{'revision':'31c0367ca4160b2c6373e905739c5719','url':'/init-service-worker.js'},{'revision':'74fc9658b62903be2048c1f82a22b4d4','url':'/manifest.json'},{'revision':'3fa71aa0af3e34b4ebd9a71eee0f4bdd','url':'/ohif-logo-light.svg'},{'revision':'7e81da785c63e75650101db6c5d7560e','url':'/ohif-logo.svg'},{'revision':'eadf8bf1d85032a029e2c0df4b8938b0','url':'/oidc-client.min.js'},{'revision':'a1aef5311245f5864315443d12246c37','url':'/polyfill.min.js'},{'revision':'af9346d3e597071ba9ee8cd32f8cc0ea','url':'/serve.json'},{'revision':'b1e488d9955b62bd2858874df11d5223','url':'/silent-refresh.html'}]);
|
|
55
55
|
|
|
56
56
|
// TODO: Cache API
|
|
57
57
|
// https://developers.google.com/web/fundamentals/instant-and-offline/web-storage/cache-api
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ohif/app",
|
|
3
|
-
"version": "3.8.0-beta.
|
|
3
|
+
"version": "3.8.0-beta.38",
|
|
4
4
|
"productVersion": "3.4.0",
|
|
5
5
|
"description": "OHIF Viewer",
|
|
6
6
|
"author": "OHIF Contributors",
|
|
@@ -52,22 +52,22 @@
|
|
|
52
52
|
"@cornerstonejs/codec-openjpeg": "^1.2.2",
|
|
53
53
|
"@cornerstonejs/codec-openjph": "^2.4.5",
|
|
54
54
|
"@cornerstonejs/dicom-image-loader": "^1.40.3",
|
|
55
|
-
"@ohif/core": "3.8.0-beta.
|
|
56
|
-
"@ohif/extension-cornerstone": "3.8.0-beta.
|
|
57
|
-
"@ohif/extension-cornerstone-dicom-rt": "3.8.0-beta.
|
|
58
|
-
"@ohif/extension-cornerstone-dicom-seg": "3.8.0-beta.
|
|
59
|
-
"@ohif/extension-cornerstone-dicom-sr": "3.8.0-beta.
|
|
60
|
-
"@ohif/extension-default": "3.8.0-beta.
|
|
61
|
-
"@ohif/extension-dicom-microscopy": "3.8.0-beta.
|
|
62
|
-
"@ohif/extension-dicom-pdf": "3.8.0-beta.
|
|
63
|
-
"@ohif/extension-dicom-video": "3.8.0-beta.
|
|
64
|
-
"@ohif/extension-test": "3.8.0-beta.
|
|
65
|
-
"@ohif/i18n": "3.8.0-beta.
|
|
66
|
-
"@ohif/mode-basic-dev-mode": "3.8.0-beta.
|
|
67
|
-
"@ohif/mode-longitudinal": "3.8.0-beta.
|
|
68
|
-
"@ohif/mode-microscopy": "3.8.0-beta.
|
|
69
|
-
"@ohif/mode-test": "3.8.0-beta.
|
|
70
|
-
"@ohif/ui": "3.8.0-beta.
|
|
55
|
+
"@ohif/core": "3.8.0-beta.38",
|
|
56
|
+
"@ohif/extension-cornerstone": "3.8.0-beta.38",
|
|
57
|
+
"@ohif/extension-cornerstone-dicom-rt": "3.8.0-beta.38",
|
|
58
|
+
"@ohif/extension-cornerstone-dicom-seg": "3.8.0-beta.38",
|
|
59
|
+
"@ohif/extension-cornerstone-dicom-sr": "3.8.0-beta.38",
|
|
60
|
+
"@ohif/extension-default": "3.8.0-beta.38",
|
|
61
|
+
"@ohif/extension-dicom-microscopy": "3.8.0-beta.38",
|
|
62
|
+
"@ohif/extension-dicom-pdf": "3.8.0-beta.38",
|
|
63
|
+
"@ohif/extension-dicom-video": "3.8.0-beta.38",
|
|
64
|
+
"@ohif/extension-test": "3.8.0-beta.38",
|
|
65
|
+
"@ohif/i18n": "3.8.0-beta.38",
|
|
66
|
+
"@ohif/mode-basic-dev-mode": "3.8.0-beta.38",
|
|
67
|
+
"@ohif/mode-longitudinal": "3.8.0-beta.38",
|
|
68
|
+
"@ohif/mode-microscopy": "3.8.0-beta.38",
|
|
69
|
+
"@ohif/mode-test": "3.8.0-beta.38",
|
|
70
|
+
"@ohif/ui": "3.8.0-beta.38",
|
|
71
71
|
"@types/react": "^17.0.38",
|
|
72
72
|
"classnames": "^2.3.2",
|
|
73
73
|
"core-js": "^3.16.1",
|
|
@@ -95,7 +95,7 @@
|
|
|
95
95
|
"devDependencies": {
|
|
96
96
|
"@babel/plugin-proposal-private-methods": "^7.18.6",
|
|
97
97
|
"@percy/cypress": "^3.1.1",
|
|
98
|
-
"cypress": "
|
|
98
|
+
"cypress": "13.6.2",
|
|
99
99
|
"cypress-file-upload": "^3.5.3",
|
|
100
100
|
"glob": "^8.0.3",
|
|
101
101
|
"identity-obj-proxy": "3.0.x",
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|