Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
67 commits
Select commit Hold shift + click to select a range
32c73d1
- #1186 (pending CORS)
s-paquette Jun 26, 2025
7b0fcc2
-> Ask for the right ID
s-paquette Jun 26, 2025
f36c06f
-> Error message cleanup
s-paquette Jun 26, 2025
198b445
-> Error message cleanup
s-paquette Jun 26, 2025
3e71b77
-> login banner
s-paquette Jul 3, 2025
92158fb
-> Downloads
s-paquette Jul 3, 2025
86bb4db
-> Move worker code to its own file
s-paquette Jul 3, 2025
84246c5
-> Inline load the worker code via textJS
s-paquette Jul 3, 2025
b787481
-> Inline load the worker code via textJS
s-paquette Jul 4, 2025
e77151f
-> Inline load the worker code via textJS
s-paquette Jul 7, 2025
be6bc24
-> Inline load the worker code via textJS
s-paquette Jul 7, 2025
b21f05c
-> Inline load the worker code via textJS
s-paquette Jul 7, 2025
fdbf6cf
-> Inline load the worker code via textJS
s-paquette Jul 7, 2025
5a096ca
-> Inline load the worker code via textJS
s-paquette Jul 7, 2025
f9a9d59
-> Script doesn't like the inline load
s-paquette Jul 7, 2025
35a4a6e
-> Don't need text.js
s-paquette Jul 7, 2025
0679a6f
-> Possible fix for vanishing workers
s-paquette Jul 7, 2025
1135cf4
-> message box
s-paquette Jul 7, 2025
9c71aa5
-> Remove dcmjs
s-paquette Jul 8, 2025
90cb5cb
-> Removed repetitive table destroy statements due to possible race c…
s-paquette Jul 8, 2025
0c52da1
-> Status box is more configurable, can be dragged
s-paquette Jul 9, 2025
9752f1b
-> Cleaner cancellations
s-paquette Jul 14, 2025
95b65cf
-> Delete test route
s-paquette Jul 15, 2025
f0d2805
-> Refactor to allow a continuously worked on queue
s-paquette Jul 16, 2025
13f200d
-> Disable logins
s-paquette Jul 17, 2025
5771e5a
-> Downloader updates
s-paquette Jul 21, 2025
a9283c3
-> Typo
s-paquette Jul 21, 2025
c6dbf0f
-> Rolling overall request size
s-paquette Jul 31, 2025
d9e924c
-> Study downloads
s-paquette Jul 31, 2025
8abd631
-> Study downloads
s-paquette Jul 31, 2025
caa7974
-> Study download tooltips and table layout adjustments
s-paquette Jul 31, 2025
e273258
-> Case downloads
s-paquette Aug 5, 2025
a0397ae
-> Case download tooltip
s-paquette Aug 5, 2025
2969e68
-> Download Messenger class
s-paquette Aug 5, 2025
5b80f5a
-> Download Messenger class
s-paquette Aug 5, 2025
c6eb99b
-> Queue emptying swapped to length=0
s-paquette Aug 7, 2025
2548df3
Merge branch 'master' of https://github.com/ImagingDataCommons/IDC-We…
s-paquette Aug 7, 2025
86272f5
-> Better status display
s-paquette Aug 13, 2025
72d1efa
-> Widen display
s-paquette Aug 13, 2025
24df2c5
Merge branch 'master' of https://github.com/ImagingDataCommons/IDC-We…
s-paquette Aug 13, 2025
a85f3da
-> #1443
s-paquette Aug 20, 2025
d50f5ef
-> #1455
s-paquette Aug 20, 2025
ecb55e4
Merge branch 'master' of https://github.com/ImagingDataCommons/IDC-We…
s-paquette Aug 20, 2025
2495a82
-> #1409
s-paquette Aug 21, 2025
c5a2386
Merge branch 'master' of https://github.com/ImagingDataCommons/IDC-We…
s-paquette Aug 21, 2025
e461c6c
-> #1186
s-paquette Aug 21, 2025
3250836
Merge branch 'master' of https://github.com/ImagingDataCommons/IDC-We…
s-paquette Aug 21, 2025
f105434
-> #1476
s-paquette Aug 21, 2025
4ce779c
Merge branch 'master' of https://github.com/ImagingDataCommons/IDC-We…
s-paquette Aug 21, 2025
0f10526
-> #1409 swap to vancouver, remove button from series table in prep t…
s-paquette Aug 21, 2025
030eaa9
Merge branch 'master' of https://github.com/ImagingDataCommons/IDC-We…
s-paquette Aug 21, 2025
243c5ab
-> #1186, 3 significant digits on file sizes
s-paquette Aug 21, 2025
f4d1bca
-> #1186, progress fixes, get rid of the annoying error
s-paquette Aug 22, 2025
6f6998d
Merge branch 'master' of https://github.com/ImagingDataCommons/IDC-We…
s-paquette Aug 22, 2025
27aef1f
-> #1186, progress fix
s-paquette Aug 22, 2025
994bf99
Merge branch 'master' of https://github.com/ImagingDataCommons/IDC-We…
s-paquette Aug 22, 2025
b761333
-> #1835
s-paquette Aug 26, 2025
5714829
Merge branch 'master' of https://github.com/ImagingDataCommons/IDC-We…
s-paquette Aug 26, 2025
25d444a
Merge branch 'idc-test' of https://github.com/ImagingDataCommons/IDC-…
s-paquette Aug 26, 2025
cac8347
-> Better download estimates
s-paquette Aug 28, 2025
ebd9807
-> Report rate is 2s from thread and 1s from display
s-paquette Aug 28, 2025
37328bc
Merge branch 'master' of https://github.com/ImagingDataCommons/IDC-We…
s-paquette Aug 28, 2025
828169f
-> jquery UI update
s-paquette Aug 28, 2025
9241bc5
Merge branch 'master' of https://github.com/ImagingDataCommons/IDC-We…
s-paquette Aug 28, 2025
877b076
-> Reporting adjustments
s-paquette Aug 28, 2025
01ef5b4
Merge branch 'master' of https://github.com/ImagingDataCommons/IDC-We…
s-paquette Aug 28, 2025
d2dda9c
Merge branch 'idc-test' of https://github.com/ImagingDataCommons/IDC-…
s-paquette Sep 2, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion idc/urls.py
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,6 @@
re_path(r'^studymp/', views.studymp, name='studymp'),
re_path(r'^warning/', views.warn_page, name='warn'),
re_path(r'^about/', views.about_page, name='about_page'),
re_path(r'^test(.*)/', views.test_page, name='test_page'),
re_path(r'^dashboard/', views.dashboard_page, name='dashboard'),
re_path(r'^extended_login/$', views.extended_login_view, name='extended_login'),
re_path(r'^privacy/', views.privacy_policy, name='privacy'),
Expand All @@ -62,6 +61,8 @@
re_path(r'^explore/cart/$', views.cart_page, name='get_explore_cart'),
re_path(r'^cart_data/$', views.cart_data, name='get_cart_data'),
re_path(r'^cart_data_stats/$', views.cart_data_stats, name='get_cart_data_stats'),
re_path(r'^series_ids/(?P<patient_id>[A-Za-z0-9\.\-_]+)/$', views.get_series, name='get_series_by_case'),
re_path(r'^series_ids/(?P<patient_id>[A-Za-z0-9\.\-_]+)/(?P<study_uid>[0-9\.]+)/$', views.get_series, name='get_series'),
re_path(r'^collaborators/', views.collaborators, name='collaborators'),
re_path(r'^collections/', include('idc_collections.urls')),
# re_path(r'^share/', include('sharing.urls')),
Expand Down
478 changes: 47 additions & 431 deletions idc/views.py

Large diffs are not rendered by default.

12 changes: 6 additions & 6 deletions static/css/jquery-ui.min.css

Large diffs are not rendered by default.

8 changes: 4 additions & 4 deletions static/css/jquery-ui.structure.min.css

Large diffs are not rendered by default.

8 changes: 4 additions & 4 deletions static/css/jquery-ui.theme.min.css

Large diffs are not rendered by default.

13 changes: 8 additions & 5 deletions static/css/search.css
Original file line number Diff line number Diff line change
Expand Up @@ -395,24 +395,22 @@ tr {
background-color: #b7cfe5;
}

.export-button:hover, .btnGroupDropViewers:hover {
.export-button:hover, .citations-button:hover, .btnGroupDropViewers:hover {
cursor: pointer;
}

#projects_table td.cartnumholder, #projects_table_head th.cartnumholder,
#cases_table td.cartnumholder, #cases_table_head th.cartnumholder,
#studies_table td.cartnumholder, #studies_table_head th.cartnumholder
{
#studies_table td.cartnumholder, #studies_table_head th.cartnumholder {
width: 10%;

}

#projects_table td.ckbx:not(.cartnumholder), #projects_table_head th.ckbx:not(.cartnumholder),
#cases_table_head th.ckbx:not(.cartnumholder), #cases_table td.ckbx:not(.cartnumholder),
#studies_table_head th.ckbx:not(.cartnumholder), #studies_table td.ckbx:not(.cartnumholder),
#series_table_head th.ckbx, #series_table td.ckbx {
width: 5%;
}
}

#search_def_stats {
padding-top: 8px; }
Expand Down Expand Up @@ -455,6 +453,11 @@ tr {
#studies_table_head th.open-viewer,
#studies_table td.open-viewer {
width:4%;
/* This is necessary to make sure the 2 icons remain together, lined up. */
min-width: 80px;
}

#studies_table td.open-viewer {
/* This is necessary to make sure the 2 icons remain together, lined up. */
min-width: 70px;
}
Expand Down
28 changes: 24 additions & 4 deletions static/css/style.css
Original file line number Diff line number Diff line change
Expand Up @@ -1786,7 +1786,7 @@ a.skip-nav {
background-color: #F8F8F8;
border-color: #76b876; }
.alert.alert-info {
color: #2d81c4;
color: #1c5c8d;
background-color: #F8F8F8;
border-color: #1976D2; }
.alert.alert-warning {
Expand All @@ -1795,6 +1795,10 @@ a.skip-nav {
.alert.alert-error {
background-color: #F8F8F8;
border-color: #D32F2F; }
.alert.alert-message {
background-color: #F8F8F8;
border-color: #47435b;
}

.alert a {
font-weight: 600;
Expand Down Expand Up @@ -2539,10 +2543,18 @@ section .min-max {
border-radius: 4px;
}

.modal pre {
margin-top: 10px;
}

pre.bq-string {
max-height: 600px;
width: 570px;
margin-top: 10px;
}

pre.citations-list {
white-space: pre-wrap;
word-break: break-word;
}

.bq-string-display img {
Expand Down Expand Up @@ -4506,11 +4518,19 @@ d-topics-list iframe {
font-size: smaller;
}

.collapse-all, .open-all {
.collapse-all, .open-all, .download-all-instances {
cursor: pointer;
}

#floating-message {
position: fixed;
bottom: 50px;
width: 500px;
right: 40px;
z-index: 9999;
}

.special-announcement {
margin-bottom: 0px;
text-align: center;
}
}
3 changes: 3 additions & 0 deletions static/js/base.js
Original file line number Diff line number Diff line change
Expand Up @@ -214,6 +214,8 @@ require([
sessionStorage.removeItem("user-manifest");
});

$('#floating-message').draggable();

$(document).ready(function(){
if(sessionStorage.getItem("reloadMsg")) {
var msg = JSON.parse(sessionStorage.getItem("reloadMsg"));
Expand Down Expand Up @@ -261,6 +263,7 @@ define(['jquery', 'utils'], function($, utils) {
// From http://www.regular-expressions.info/email.html
email: /^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/,
showJsMessage: utils.showJsMessage,
hideFloatingMessage: utils.hideFloatingMessage,
// Simple method for standardizing storage of a message into sessionStorage so it can be retrieved and reloaded
// at document load time
setReloadMsg: function(type,text) {
Expand Down
126 changes: 126 additions & 0 deletions static/js/citations_modal.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,126 @@
/**
*
* Copyright 2020-2025, Institute for Systems Biology
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/

require.config({
baseUrl: STATIC_FILES_URL + 'js/',
paths: {
jquery: 'libs/jquery-3.7.1.min',
bootstrap: 'libs/bootstrap.min',
jqueryui: 'libs/jquery-ui.min',
underscore: 'libs/underscore-min',
tablesorter: 'libs/jquery.tablesorter.min',
assetscore: 'libs/assets.core',
assetsresponsive: 'libs/assets.responsive',
jquerydt: 'libs/jquery.dataTables.min',
base: 'base',
tippy: 'libs/tippy-bundle.umd.min',
'@popperjs/core': 'libs/popper.min',
session_security: 'session_security/script'

},
shim: {
'@popperjs/core': {
exports: "@popperjs/core"
},
'tippy': {
exports: 'tippy',
deps: ['@popperjs/core']
},
'bootstrap': ['jquery'],
'jqueryui': ['jquery'],
'jquerydt': ['jquery'],
'underscore': {exports: '_'},
'tablesorter': ['jquery'],
'assetscore': ['jquery', 'bootstrap', 'jqueryui'],
'session_security': ['jquery'],
'assetsresponsive': ['jquery', 'bootstrap', 'jqueryui']
}
});

require([
'jquery',
'jqueryui',
'tippy',
'base', // Do not remove
'bootstrap',
'assetscore',
'assetsresponsive',
], function($, jqueryui, tippy, base) {

var DOI_CACHE = {};

A11y.Core();

var downloadToken = new Date().getTime();

$('#citations-modal').on('show.bs.modal', async function(event) {
let button = $(event.relatedTarget);
let dois = button.attr('data-dois').split("||");
let cites_list = $("#citations-modal .citations-list");
let copy_cites = $("#citations-modal .copy-this");
cites_list.html(`
Formatting citation(s)... <i class="fa fa-compass fa-spin"></i>
`);
let citations = [];
await Promise.all(dois.map(async function(cite){
if(!DOI_CACHE[cite]) {
let response = await fetch(`https://doi.org/${cite}`, {
headers: {
"Accept": "text/x-bibliography; style=elsevier-vancouver-no-et-al"
}
});
if (!response.ok) {
citations.push(`Encountered an error requesting DOI ${cite}`);
} else {
DOI_CACHE[cite] = await response.text();
}
}
citations.push(DOI_CACHE[cite]);
}));
cites_list.html(citations.join("\n\n"));
copy_cites.attr('content', citations.join("\n\n"));
});

$('#citations-modal').on('hide.bs.modal', function() {

});

$('#export-manifest-modal').on('hidden.bs.modal', function() {
$(".citations-list").empty();
});

$('.copy-this').on('click', function(e) {
// copy the entire set
});

tippy.delegate('#citations-modal', {
content: 'Copied!',
theme: 'blue',
placement: 'right',
arrow: true,
interactive: true, // This is required for any table tooltip to show at the appropriate spot!
target: '.copy-this',
onShow(instance) {
setTimeout(function() {
instance.hide();
}, 1000);
},
trigger: "click",
maxWidth: 85
});
});
4 changes: 2 additions & 2 deletions static/js/cohorts/export-manifest.js
Original file line number Diff line number Diff line change
Expand Up @@ -394,8 +394,8 @@ require([
file_name.attr("name-base", "cohort_" + cohort_ids.join("_") + export_manifest_modal.data('file-timestamp'));
}
}
let s5cmd_manifest_filename = "<filename>";
let idc_index_manifest_filename = "<filename>";
let s5cmd_manifest_filename = "<manifest filename>";
let idc_index_manifest_filename = "<manifest filename>";
let s5cmd_endpoint_url = $('input[name="loc_type_s5cmd"]:checked').attr('data-endpoint-url');

let s5cmd_text = `s5cmd --no-sign-request --endpoint-url ${s5cmd_endpoint_url} run ${s5cmd_manifest_filename}`;
Expand Down
2 changes: 1 addition & 1 deletion static/js/collections_list.js
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ require.config({
require(['jquery', 'datatables.net','jqueryui', 'bootstrap', 'base'],
function($) {
var collex_data_table = $('#collections-table').DataTable({
"dom": '<"dataTables_controls"i<>lpf>rt<"bottom"><"clear">',
"dom": '<"dataTables_controls"i<>lpf>rt<"dataTables_controls"i<>lpf><"bottom"><"clear">',
"pageLength": 100,
'order': [[ 2, 'desc' ], [ 1, 'asc' ]]
});
Expand Down
Loading