OpenREM 1.0.0b2__py3-none-any.whl → 1.0.0b3__py3-none-any.whl
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.
- openrem/locale/de/LC_MESSAGES/django.po +1060 -1059
- openrem/locale/django.pot +973 -972
- openrem/locale/es_MX/LC_MESSAGES/django.po +1049 -1048
- openrem/locale/it/LC_MESSAGES/django.po +1044 -1043
- openrem/locale/lt/LC_MESSAGES/django.po +989 -988
- openrem/locale/nb_NO/LC_MESSAGES/django.po +985 -984
- openrem/locale/pt_BR/LC_MESSAGES/django.po +1003 -1002
- openrem/manage.py +10 -10
- openrem/openremproject/__init__.py +1 -1
- openrem/openremproject/local_settings.py.linux +128 -128
- openrem/openremproject/local_settings.py.windows +144 -144
- openrem/openremproject/local_settings.py.windows-sqlite3 +129 -129
- openrem/openremproject/settings.py +278 -278
- openrem/openremproject/urls.py +32 -32
- openrem/openremproject/wsgi.py.example +28 -28
- openrem/remapp/__init__.py +2 -2
- openrem/remapp/admin.py +31 -31
- openrem/remapp/exports/ct_export.py +780 -753
- openrem/remapp/exports/dx_export.py +817 -805
- openrem/remapp/exports/export_common.py +931 -951
- openrem/remapp/exports/export_common_pandas.py +2422 -0
- openrem/remapp/exports/exportviews.py +815 -860
- openrem/remapp/exports/mg_csv_nhsbsp.py +292 -292
- openrem/remapp/exports/mg_export.py +673 -510
- openrem/remapp/exports/nm_export.py +796 -575
- openrem/remapp/exports/rf_export.py +1418 -1431
- openrem/remapp/extractors/ct_philips.py +424 -414
- openrem/remapp/extractors/ct_toshiba.py +2116 -2108
- openrem/remapp/extractors/dx.py +1033 -952
- openrem/remapp/extractors/extract_common.py +817 -817
- openrem/remapp/extractors/import_views.py +426 -426
- openrem/remapp/extractors/mam.py +685 -672
- openrem/remapp/extractors/nm_image.py +439 -431
- openrem/remapp/extractors/ptsizecsv2db.py +368 -368
- openrem/remapp/extractors/rdsr.py +667 -654
- openrem/remapp/extractors/rdsr_methods.py +1771 -1768
- openrem/remapp/extractors/rrdsr_methods.py +630 -622
- openrem/remapp/fixtures/openskin_safelist.json +11 -11
- openrem/remapp/forms.py +2286 -2277
- openrem/remapp/interface/chart_functions.py +2412 -2393
- openrem/remapp/interface/mod_filters.py +1241 -1243
- openrem/remapp/migrations/0001_initial.py.1-0-upgrade +1043 -1043
- openrem/remapp/models.py +3418 -3407
- openrem/remapp/netdicom/dicomviews.py +681 -683
- openrem/remapp/netdicom/qrscu.py +2646 -2646
- openrem/remapp/netdicom/tools.py +134 -134
- openrem/remapp/static/css/bootstrap-theme.css +587 -587
- openrem/remapp/static/css/bootstrap-theme.min.css +4 -4
- openrem/remapp/static/css/bootstrap.css +6800 -6800
- openrem/remapp/static/css/bootstrap.min.css +4 -4
- openrem/remapp/static/css/datepicker3.css +790 -790
- openrem/remapp/static/css/jquery.qtip.min.css +2 -2
- openrem/remapp/static/css/openrem-extra.css +442 -442
- openrem/remapp/static/css/openrem.css +96 -96
- openrem/remapp/static/css/registration.css +34 -34
- openrem/remapp/static/fonts/glyphicons-halflings-regular.svg +287 -287
- openrem/remapp/static/js/bootstrap-datepicker.js +1671 -1671
- openrem/remapp/static/js/bootstrap.js +2363 -2363
- openrem/remapp/static/js/bootstrap.min.js +6 -6
- openrem/remapp/static/js/charts/chartCommonFunctions.js +75 -75
- openrem/remapp/static/js/charts/chartFullScreen.js +41 -41
- openrem/remapp/static/js/charts/ctChartAjax.js +331 -331
- openrem/remapp/static/js/charts/dxChartAjax.js +290 -290
- openrem/remapp/static/js/charts/mgChartAjax.js +144 -144
- openrem/remapp/static/js/charts/nmChartAjax.js +64 -64
- openrem/remapp/static/js/charts/plotly-2.35.2.min.js +8 -0
- openrem/remapp/static/js/charts/rfChartAjax.js +128 -128
- openrem/remapp/static/js/chroma.min.js +32 -32
- openrem/remapp/static/js/datepicker.js +5 -5
- openrem/remapp/static/js/dicom.js +115 -115
- openrem/remapp/static/js/django_reverse/reverse.js +13 -13
- openrem/remapp/static/js/formatDate.js +7 -7
- openrem/remapp/static/js/html5shiv.min.js +8 -8
- openrem/remapp/static/js/jquery-1.11.0.min.js +4 -4
- openrem/remapp/static/js/npm.js +12 -12
- openrem/remapp/static/js/respond.min.js +4 -4
- openrem/remapp/static/js/skin-dose-maps/jquery.qtip.min.js +4 -4
- openrem/remapp/static/js/skin-dose-maps/rfSkinDoseMap3dHUDObject.js +112 -112
- openrem/remapp/static/js/skin-dose-maps/rfSkinDoseMap3dObject.js +367 -367
- openrem/remapp/static/js/skin-dose-maps/rfSkinDoseMap3dPersonObject.js +158 -158
- openrem/remapp/static/js/skin-dose-maps/rfSkinDoseMapColourScaleObject.js +153 -153
- openrem/remapp/static/js/skin-dose-maps/rfSkinDoseMapObject.js +367 -367
- openrem/remapp/static/js/skin-dose-maps/rfSkinDoseMapping.js +584 -584
- openrem/remapp/static/js/skin-dose-maps/rfSkinDoseMapping3d.js +255 -255
- openrem/remapp/static/js/skin-dose-maps/rfSkinDoseMappingAjax.js +267 -212
- openrem/remapp/static/js/skin-dose-maps/three.min.js +835 -835
- openrem/remapp/static/js/sorttable.js +495 -495
- openrem/remapp/templates/base.html +253 -253
- openrem/remapp/templates/registration/changepassword.html +25 -25
- openrem/remapp/templates/registration/changepassworddone.html +12 -12
- openrem/remapp/templates/registration/login.html +42 -42
- openrem/remapp/templates/remapp/backgroundtaskmaximumrows_form.html +29 -29
- openrem/remapp/templates/remapp/base.html +1 -1
- openrem/remapp/templates/remapp/ctdetail.html +235 -235
- openrem/remapp/templates/remapp/ctfiltered.html +310 -310
- openrem/remapp/templates/remapp/dicomdeletesettings_form.html +31 -31
- openrem/remapp/templates/remapp/dicomqr.html +147 -147
- openrem/remapp/templates/remapp/dicomquerydetails.html +83 -83
- openrem/remapp/templates/remapp/dicomqueryimages.html +49 -49
- openrem/remapp/templates/remapp/dicomqueryseries.html +109 -109
- openrem/remapp/templates/remapp/dicomquerysummary.html +48 -48
- openrem/remapp/templates/remapp/dicomremoteqr_confirm_delete.html +60 -60
- openrem/remapp/templates/remapp/dicomremoteqr_form.html +32 -32
- openrem/remapp/templates/remapp/dicomstorescp_confirm_delete.html +53 -53
- openrem/remapp/templates/remapp/dicomstorescp_form.html +48 -48
- openrem/remapp/templates/remapp/dicomsummary.html +257 -257
- openrem/remapp/templates/remapp/displaychartoptions.html +184 -184
- openrem/remapp/templates/remapp/displayhomepageoptions.html +57 -57
- openrem/remapp/templates/remapp/displayname-count.html +6 -6
- openrem/remapp/templates/remapp/displayname-last-date.html +3 -3
- openrem/remapp/templates/remapp/displayname-modality.html +86 -105
- openrem/remapp/templates/remapp/displayname-skinmap.html +18 -18
- openrem/remapp/templates/remapp/displaynameupdate.html +100 -100
- openrem/remapp/templates/remapp/displaynameview.html +222 -219
- openrem/remapp/templates/remapp/dxdetail.html +176 -176
- openrem/remapp/templates/remapp/dxfiltered.html +324 -324
- openrem/remapp/templates/remapp/exports-active.html +25 -25
- openrem/remapp/templates/remapp/exports-complete.html +35 -35
- openrem/remapp/templates/remapp/exports-error.html +26 -26
- openrem/remapp/templates/remapp/exports-queue.html +18 -18
- openrem/remapp/templates/remapp/exports.html +191 -191
- openrem/remapp/templates/remapp/failed_summary_list.html +27 -27
- openrem/remapp/templates/remapp/filteredbase.html +162 -162
- openrem/remapp/templates/remapp/highdosemetricalertsettings_form.html +76 -76
- openrem/remapp/templates/remapp/home-list-modalities.html +94 -94
- openrem/remapp/templates/remapp/home.html +202 -202
- openrem/remapp/templates/remapp/list_filters.html +24 -24
- openrem/remapp/templates/remapp/mgdetail.html +160 -138
- openrem/remapp/templates/remapp/mgfiltered.html +311 -311
- openrem/remapp/templates/remapp/nmdetail.html +300 -300
- openrem/remapp/templates/remapp/nmfiltered.html +255 -255
- openrem/remapp/templates/remapp/notpatient.html +190 -190
- openrem/remapp/templates/remapp/notpatientindicators_form_base.html +81 -81
- openrem/remapp/templates/remapp/notpatientindicatorsid_confirm_delete.html +54 -54
- openrem/remapp/templates/remapp/notpatientindicatorsid_form.html +23 -23
- openrem/remapp/templates/remapp/notpatientindicatorsname_confirm_delete.html +54 -54
- openrem/remapp/templates/remapp/notpatientindicatorsname_form.html +23 -23
- openrem/remapp/templates/remapp/notpatientindicatorsname_form_base.html +85 -85
- openrem/remapp/templates/remapp/openskinsafelist_add.html +130 -130
- openrem/remapp/templates/remapp/openskinsafelist_confirm_delete.html +100 -100
- openrem/remapp/templates/remapp/openskinsafelist_form.html +207 -207
- openrem/remapp/templates/remapp/patientidsettings_form.html +83 -83
- openrem/remapp/templates/remapp/populate_summary_progress.html +83 -83
- openrem/remapp/templates/remapp/populate_summary_progress_error.html +36 -36
- openrem/remapp/templates/remapp/review_failed_imports.html +157 -157
- openrem/remapp/templates/remapp/review_failed_study.html +41 -41
- openrem/remapp/templates/remapp/review_studies_delete_button.html +20 -20
- openrem/remapp/templates/remapp/review_study.html +19 -19
- openrem/remapp/templates/remapp/review_summary_list.html +245 -245
- openrem/remapp/templates/remapp/rf_dose_alert_email_template.html +14 -1
- openrem/remapp/templates/remapp/rfalertnotificationsview.html +59 -59
- openrem/remapp/templates/remapp/rfdetail.html +547 -543
- openrem/remapp/templates/remapp/rfdetailbase.html +18 -18
- openrem/remapp/templates/remapp/rffiltered.html +404 -404
- openrem/remapp/templates/remapp/sizeimports.html +119 -119
- openrem/remapp/templates/remapp/sizeprocess.html +96 -96
- openrem/remapp/templates/remapp/sizeupload.html +110 -110
- openrem/remapp/templates/remapp/skindosemapcalcsettings_form.html +28 -28
- openrem/remapp/templates/remapp/standardname-modality.html +69 -69
- openrem/remapp/templates/remapp/standardnames_confirm_delete.html +71 -71
- openrem/remapp/templates/remapp/standardnames_form.html +87 -87
- openrem/remapp/templates/remapp/standardnamesettings_form.html +41 -41
- openrem/remapp/templates/remapp/standardnamesrefreshall.html +92 -92
- openrem/remapp/templates/remapp/standardnameview.html +103 -103
- openrem/remapp/templates/remapp/study_confirm_delete.html +147 -147
- openrem/remapp/templates/remapp/task_admin.html +265 -265
- openrem/remapp/templates/remapp/tasks.html +76 -76
- openrem/remapp/templatetags/formfilters.py +13 -13
- openrem/remapp/templatetags/proper_paginate.py +38 -38
- openrem/remapp/templatetags/remappduration.py +36 -36
- openrem/remapp/templatetags/sigdig.py +38 -38
- openrem/remapp/templatetags/sort_class_property_value.py +15 -15
- openrem/remapp/templatetags/update_variable.py +20 -20
- openrem/remapp/templatetags/url_replace.py +25 -25
- openrem/remapp/tests/test_charts_common.py +202 -202
- openrem/remapp/tests/test_charts_ct.py +7111 -7111
- openrem/remapp/tests/test_charts_dx.py +3513 -3513
- openrem/remapp/tests/test_charts_mg.py +1116 -1115
- openrem/remapp/tests/test_dcmdatetime.py +189 -189
- openrem/remapp/tests/test_dicom_qr.py +2580 -2580
- openrem/remapp/tests/test_display_name.py +274 -274
- openrem/remapp/tests/test_export_ct_xlsx.py +272 -248
- openrem/remapp/tests/test_export_dx_xlsx.py +137 -134
- openrem/remapp/tests/test_export_mammo_csv.py +242 -242
- openrem/remapp/tests/test_export_rf_xlsx.py +246 -246
- openrem/remapp/tests/test_files/DX-Im-DRGEM.dcm +0 -0
- openrem/remapp/tests/test_files/MG-RDSR-GEPristina-2D.dcm +0 -0
- openrem/remapp/tests/test_files/MG-RDSR-GEPristina-DBT.dcm +0 -0
- openrem/remapp/tests/test_files/MG-RDSR-Giotto-DBT.dcm +0 -0
- openrem/remapp/tests/test_files/skin_map_alphenix.py +590 -590
- openrem/remapp/tests/test_files/skin_map_zee.py +354 -354
- openrem/remapp/tests/test_filters_ct.py +321 -321
- openrem/remapp/tests/test_filters_dx.py +92 -92
- openrem/remapp/tests/test_filters_mammo.py +183 -183
- openrem/remapp/tests/test_filters_rf.py +118 -118
- openrem/remapp/tests/test_get_values.py +72 -72
- openrem/remapp/tests/test_hash_id.py +65 -65
- openrem/remapp/tests/test_import_ct_esr_ge.py +3034 -3034
- openrem/remapp/tests/test_import_ct_philips_rdsr.py +42 -42
- openrem/remapp/tests/test_import_ct_rdsr_multiple.py +256 -256
- openrem/remapp/tests/test_import_ct_rdsr_siemens.py +827 -827
- openrem/remapp/tests/test_import_ct_rdsr_spectrumdynamics.py +91 -91
- openrem/remapp/tests/test_import_ct_rdsr_toshiba_dosecheck.py +67 -67
- openrem/remapp/tests/test_import_ct_rdsr_toshiba_multivaluesd.py +33 -33
- openrem/remapp/tests/test_import_ct_rdsr_toshiba_pixelmed.py +118 -118
- openrem/remapp/tests/test_import_ct_sc_philips.py +44 -44
- openrem/remapp/tests/test_import_dual_rdsr.py +110 -110
- openrem/remapp/tests/test_import_dx.py +1267 -1191
- openrem/remapp/tests/test_import_dx_rdsr.py +1250 -1253
- openrem/remapp/tests/test_import_mam.py +438 -438
- openrem/remapp/tests/test_import_mg_im_hol_proj.py +46 -46
- openrem/remapp/tests/test_import_mg_rdsr.py +586 -586
- openrem/remapp/tests/test_import_nm_image.py +420 -420
- openrem/remapp/tests/test_import_nm_siemens_rdsr.py +396 -396
- openrem/remapp/tests/test_import_px.py +161 -161
- openrem/remapp/tests/test_import_rf_rdsr.py +420 -418
- openrem/remapp/tests/test_missing_date.py +42 -42
- openrem/remapp/tests/test_not_patient.py +60 -60
- openrem/remapp/tests/test_openskin.py +272 -272
- openrem/remapp/tests/test_patient_id_settings.py +72 -72
- openrem/remapp/tests/test_pt_size_import.py +232 -232
- openrem/remapp/tests/test_rf_detail.py +113 -113
- openrem/remapp/tests/test_rf_high_dose_alert.py +361 -361
- openrem/remapp/tools/background.py +361 -361
- openrem/remapp/tools/check_standard_name_status.py +47 -0
- openrem/remapp/tools/check_uid.py +70 -70
- openrem/remapp/tools/dcmdatetime.py +248 -248
- openrem/remapp/tools/default_import.py +44 -47
- openrem/remapp/tools/get_values.py +230 -230
- openrem/remapp/tools/hash_id.py +58 -58
- openrem/remapp/tools/make_skin_map.py +448 -406
- openrem/remapp/tools/not_patient_indicators.py +72 -72
- openrem/remapp/tools/openskin/calc_exp_map.py +173 -173
- openrem/remapp/tools/openskin/geomclass.py +475 -475
- openrem/remapp/tools/openskin/geomfunc.py +433 -432
- openrem/remapp/tools/openskin/skinmap.py +417 -417
- openrem/remapp/tools/populate_summary.py +185 -193
- openrem/remapp/tools/save_skin_map_structure.py +73 -73
- openrem/remapp/tools/send_high_dose_alert_emails.py +238 -207
- openrem/remapp/urls.py +456 -448
- openrem/remapp/version.py +11 -11
- openrem/remapp/views.py +1147 -1052
- openrem/remapp/views_admin.py +3876 -3936
- openrem/remapp/views_charts_ct.py +2110 -2058
- openrem/remapp/views_charts_dx.py +1906 -1836
- openrem/remapp/views_charts_mg.py +1349 -1196
- openrem/remapp/views_charts_nm.py +535 -535
- openrem/remapp/views_charts_rf.py +1219 -1241
- openrem/remapp/views_openskin.py +379 -384
- openrem/sample-config/openrem-consumer.service +12 -12
- openrem/sample-config/openrem-gunicorn.service +13 -13
- openrem/sample-config/openrem-server +14 -13
- openrem/sample-config/openrem_orthanc_config_linux.lua +454 -454
- openrem/sample-config/openrem_orthanc_config_windows.lua +455 -455
- openrem/sample-config/queue-init.bat +73 -73
- openrem/scripts/openrem_ctphilips.py +25 -25
- openrem/scripts/openrem_cttoshiba.py +28 -28
- openrem/scripts/openrem_dx.py +22 -22
- openrem/scripts/openrem_mg.py +22 -22
- openrem/scripts/openrem_nm.py +22 -22
- openrem/scripts/openrem_ptsizecsv.py +17 -17
- openrem/scripts/openrem_qr.py +12 -12
- openrem/scripts/openrem_rdsr.py +25 -25
- {OpenREM-1.0.0b2.dist-info → openrem-1.0.0b3.dist-info}/METADATA +39 -29
- openrem-1.0.0b3.dist-info/RECORD +379 -0
- {OpenREM-1.0.0b2.dist-info → openrem-1.0.0b3.dist-info}/WHEEL +1 -1
- {OpenREM-1.0.0b2.dist-info → openrem-1.0.0b3.dist-info/licenses}/COPYING-GPLv3 +674 -674
- {OpenREM-1.0.0b2.dist-info → openrem-1.0.0b3.dist-info/licenses}/LICENSE +22 -22
- OpenREM-1.0.0b2.dist-info/RECORD +0 -373
- openrem/remapp/static/js/charts/plotly-2.17.1.min.js +0 -8
- {OpenREM-1.0.0b2.data → openrem-1.0.0b3.data}/scripts/openrem_ctphilips.py +0 -0
- {OpenREM-1.0.0b2.data → openrem-1.0.0b3.data}/scripts/openrem_cttoshiba.py +0 -0
- {OpenREM-1.0.0b2.data → openrem-1.0.0b3.data}/scripts/openrem_dx.py +0 -0
- {OpenREM-1.0.0b2.data → openrem-1.0.0b3.data}/scripts/openrem_mg.py +0 -0
- {OpenREM-1.0.0b2.data → openrem-1.0.0b3.data}/scripts/openrem_nm.py +0 -0
- {OpenREM-1.0.0b2.data → openrem-1.0.0b3.data}/scripts/openrem_ptsizecsv.py +0 -0
- {OpenREM-1.0.0b2.data → openrem-1.0.0b3.data}/scripts/openrem_qr.py +0 -0
- {OpenREM-1.0.0b2.data → openrem-1.0.0b3.data}/scripts/openrem_rdsr.py +0 -0
- {OpenREM-1.0.0b2.dist-info → openrem-1.0.0b3.dist-info}/top_level.txt +0 -0
|
@@ -1,255 +1,255 @@
|
|
|
1
|
-
{% extends "remapp/filteredbase.html" %}
|
|
2
|
-
|
|
3
|
-
{% block navnm%}<li class="active">{% endblock %}
|
|
4
|
-
|
|
5
|
-
{% block toprow %}
|
|
6
|
-
|
|
7
|
-
<p>
|
|
8
|
-
There are {{ study_list.paginator.count }} studies in this list.
|
|
9
|
-
</p>
|
|
10
|
-
|
|
11
|
-
{% endblock %}
|
|
12
|
-
|
|
13
|
-
{% block col2 %}
|
|
14
|
-
<div class="panel panel-info small">
|
|
15
|
-
<div class="panel-heading">
|
|
16
|
-
<h3 class="panel-title">Data export</h3>
|
|
17
|
-
</div>
|
|
18
|
-
<div class="panel-body">
|
|
19
|
-
{% if admin.exportgroup %}
|
|
20
|
-
<p><strong>Note:</strong> Apply the exam filter first to refine what is exported.</p>
|
|
21
|
-
<p>
|
|
22
|
-
<a href="{% url 'nmcsv1' 0 0 %}?{{ request.GET.urlencode }}"
|
|
23
|
-
class="btn btn-default btn-sm" role="button">Export to CSV </a>
|
|
24
|
-
{% if admin.pidgroup %}
|
|
25
|
-
<a href="{% url 'nmcsv1' 1 0 %}?{{ request.GET.urlencode }}"
|
|
26
|
-
class="btn btn-default btn-sm" role="button">With names</a>
|
|
27
|
-
<a href="{% url 'nmcsv1' 0 1 %}?{{ request.GET.urlencode }}"
|
|
28
|
-
class="btn btn-default btn-sm" role="button">With ID</a>
|
|
29
|
-
<a href="{% url 'nmcsv1' 1 1 %}?{{ request.GET.urlencode }}"
|
|
30
|
-
class="btn btn-default btn-sm" role="button">With both</a>
|
|
31
|
-
</p>
|
|
32
|
-
<p>
|
|
33
|
-
{% endif %}
|
|
34
|
-
<a href="{% url 'nmxlsx1' 0 0 %}?{{ request.GET.urlencode }}"
|
|
35
|
-
class="btn btn-default btn-sm" role="button">Export to XLSX</a>
|
|
36
|
-
{% if admin.pidgroup %}
|
|
37
|
-
<a href="{% url 'nmxlsx1' 1 0 %}?{{ request.GET.urlencode }}"
|
|
38
|
-
class="btn btn-default btn-sm" role="button">With names</a>
|
|
39
|
-
<a href="{% url 'nmxlsx1' 0 1 %}?{{ request.GET.urlencode }}"
|
|
40
|
-
class="btn btn-default btn-sm" role="button">With ID</a>
|
|
41
|
-
<a href="{% url 'nmxlsx1' 1 1 %}?{{ request.GET.urlencode }}"
|
|
42
|
-
class="btn btn-default btn-sm" role="button">With both</a>
|
|
43
|
-
{% endif %}
|
|
44
|
-
</p>
|
|
45
|
-
|
|
46
|
-
{% else %}
|
|
47
|
-
<p>
|
|
48
|
-
No export permissions
|
|
49
|
-
</p>
|
|
50
|
-
{% endif %}
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
</div>
|
|
54
|
-
</div>
|
|
55
|
-
|
|
56
|
-
{{ studyfilter }}
|
|
57
|
-
|
|
58
|
-
<form action="" method="get" class="form-horizontal" role="form">
|
|
59
|
-
<div class="panel panel-info small">
|
|
60
|
-
<div class="panel-heading">
|
|
61
|
-
<h3 class="panel-title">Exam filter</h3>
|
|
62
|
-
</div>
|
|
63
|
-
<div class="panel-body">
|
|
64
|
-
<em>Date format yyyy-mm-dd</em>
|
|
65
|
-
{% for field in filter.form.visible_fields %}
|
|
66
|
-
<div class="form-group">
|
|
67
|
-
<div class="col-xs-4">
|
|
68
|
-
<label>{{ field.label_tag }}</label>
|
|
69
|
-
</div>
|
|
70
|
-
<div class="col-xs-8">
|
|
71
|
-
{{ field.errors }}
|
|
72
|
-
{{ field }}
|
|
73
|
-
</div>
|
|
74
|
-
</div>
|
|
75
|
-
{% endfor %}
|
|
76
|
-
{% for field in filter.form.hidden_fields %}
|
|
77
|
-
<div style="display:none">{{ field }}</div>
|
|
78
|
-
{% endfor %}
|
|
79
|
-
<input class="btn btn-default" name="submit" type="submit" />
|
|
80
|
-
</div>
|
|
81
|
-
<div class="panel-heading">
|
|
82
|
-
<h3 class="panel-title">Chart options</h3>
|
|
83
|
-
</div>
|
|
84
|
-
<div class="panel-body">
|
|
85
|
-
<table aria-describedby="CT chart options">
|
|
86
|
-
{% csrf_token %}
|
|
87
|
-
{% for field in chartOptionsForm %}
|
|
88
|
-
<tr>
|
|
89
|
-
{% if field.field.widget.attrs.class == 'CheckboxSelectMultiple' %}
|
|
90
|
-
<td class="shaded_top_bottom_border"><label for="{{ field.auto_id }}">{{ field.label }}</label></td>
|
|
91
|
-
<td class="shaded_top_bottom_border">{{ field }}</td>
|
|
92
|
-
{% elif field.label == 'Study frequency' or field.label == 'Time period' %}
|
|
93
|
-
<td class="top_border"><label for="{{ field.auto_id }}">{{ field.label }}</label></td>
|
|
94
|
-
<td class="top_border">{{ field }}</td>
|
|
95
|
-
{% else %}
|
|
96
|
-
<td><label for="{{ field.auto_id }}">{{ field.label }}</label></td>
|
|
97
|
-
<td>{{ field }}</td>
|
|
98
|
-
{% endif %}
|
|
99
|
-
</tr>
|
|
100
|
-
{% endfor %}
|
|
101
|
-
</table>
|
|
102
|
-
<input class="btn btn-default" name="submit" type="submit" />
|
|
103
|
-
</div>
|
|
104
|
-
<div class="panel-heading">
|
|
105
|
-
<h3 class="panel-title">Table options</h3>
|
|
106
|
-
</div>
|
|
107
|
-
<div class="panel-body">
|
|
108
|
-
<table aria-describedby="Number of rows per page option">
|
|
109
|
-
{{ itemsPerPageForm }}
|
|
110
|
-
</table>
|
|
111
|
-
<input class="btn btn-default" name="submit" type="submit" />
|
|
112
|
-
</div>
|
|
113
|
-
</div>
|
|
114
|
-
</form>
|
|
115
|
-
|
|
116
|
-
<script src="{{ STATIC_URL }}js/datepicker.js"></script>
|
|
117
|
-
<script src="{{ STATIC_URL }}js/formatDate.js"></script>
|
|
118
|
-
|
|
119
|
-
{% endblock %}
|
|
120
|
-
|
|
121
|
-
{% block col1 %}
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
<table class="table table-bordered table-hover row-clickable small" aria-describedby="Study summary table">
|
|
125
|
-
<tr>
|
|
126
|
-
<th>Institution</th>
|
|
127
|
-
<th>
|
|
128
|
-
<table aria-describedby="Make, model and display name">
|
|
129
|
-
<tr><th scope="col">Make</th></tr>
|
|
130
|
-
<tr><th scope="col">Model</th></tr>
|
|
131
|
-
<tr><th scope="col" class="nowrap">Display name</th></tr>
|
|
132
|
-
</table>
|
|
133
|
-
</th>
|
|
134
|
-
<th>Date</th>
|
|
135
|
-
<th>
|
|
136
|
-
<table aria-describedby="Study description, procedure, requested procedure and accession number">
|
|
137
|
-
<tr><th scope="col" class="nowrap">Study description</th></tr>
|
|
138
|
-
<tr><th scope="col" class="nowrap">Procedure</th></tr>
|
|
139
|
-
<tr><th scope="col" class="nowrap">Requested Procedure</th></tr>
|
|
140
|
-
<tr><th scope="col" class="nowrap">Accession number</th></tr>
|
|
141
|
-
</table>
|
|
142
|
-
</th>
|
|
143
|
-
<th>Radiopharmaceutical</th>
|
|
144
|
-
<th>Administered Dose (MBq)</th>
|
|
145
|
-
{% if admin.admingroup %}
|
|
146
|
-
<th>Delete?</th>
|
|
147
|
-
{% endif %}
|
|
148
|
-
</tr>
|
|
149
|
-
{% for exam in study_list %}
|
|
150
|
-
{% with equipment=exam.generalequipmentmoduleattr_set.get %}
|
|
151
|
-
{% with radioadmin=exam.radiopharmaceuticalradiationdose_set.get.radiopharmaceuticaladministrationeventdata_set.get %}
|
|
152
|
-
<tr>
|
|
153
|
-
<td>
|
|
154
|
-
<a href="{% url 'nm_detail_view' pk=exam.id %}">
|
|
155
|
-
{{ equipment.institution_name }}
|
|
156
|
-
</a>
|
|
157
|
-
</td>
|
|
158
|
-
<td>
|
|
159
|
-
<a href="{% url 'nm_detail_view' pk=exam.id %}">
|
|
160
|
-
<table onclick="window.location='{% url 'nm_detail_view' pk=exam.id %}';" aria-describedby="Manufacturer, model and display name">
|
|
161
|
-
<tr><td class="nowrap">{{ equipment.manufacturer }}</td></tr>
|
|
162
|
-
<tr><td class="nowrap">{{ equipment.manufacturer_model_name }}</td></tr>
|
|
163
|
-
<tr><td class="nowrap">{{ equipment.unique_equipment_name.display_name }}</td></tr>
|
|
164
|
-
</table>
|
|
165
|
-
</a>
|
|
166
|
-
</td>
|
|
167
|
-
<td>
|
|
168
|
-
<a href="{% url 'nm_detail_view' pk=exam.id %}">
|
|
169
|
-
{{ exam.study_date|date:"Y-m-d" }} {{ exam.study_time|date:"H:i" }}</td>
|
|
170
|
-
</a>
|
|
171
|
-
<td>
|
|
172
|
-
<a href="{% url 'nm_detail_view' pk=exam.id %}">
|
|
173
|
-
<table onclick="window.location='{% url 'nm_detail_view' pk=exam.id %}';" aria-describedby="Study description, procedure and requested procedure name">
|
|
174
|
-
<tr><td class="nowrap">{{ exam.study_description }}</td></tr>
|
|
175
|
-
<tr><td class="nowrap">{{ exam.procedure_code_meaning }}</td></tr>
|
|
176
|
-
<tr><td class="nowrap">{{ exam.requested_procedure_code_meaning }}</td></tr>
|
|
177
|
-
{% if not exam.accession_hashed %}
|
|
178
|
-
<tr><td class="nowrap">{{ exam.accession_number }}</td></tr>
|
|
179
|
-
{% endif %}
|
|
180
|
-
</table>
|
|
181
|
-
</a>
|
|
182
|
-
</td>
|
|
183
|
-
<td>
|
|
184
|
-
<a href="{% url 'nm_detail_view' pk=exam.id %}">
|
|
185
|
-
{% if radioadmin.radiopharmaceutical_agent %}
|
|
186
|
-
{{radioadmin.radiopharmaceutical_agent.code_meaning}}
|
|
187
|
-
{% else %}
|
|
188
|
-
{{radioadmin.radiopharmaceutical_agent_string}}
|
|
189
|
-
{% endif %}
|
|
190
|
-
</a>
|
|
191
|
-
</td>
|
|
192
|
-
<td>
|
|
193
|
-
<a href="{% url 'nm_detail_view' pk=exam.id %}">
|
|
194
|
-
{{radioadmin.administered_activity|floatformat:2}}
|
|
195
|
-
</a>
|
|
196
|
-
</td>
|
|
197
|
-
{% if admin.admingroup %}
|
|
198
|
-
<td>
|
|
199
|
-
<a href="{% url 'study_delete' exam.id %}">Delete</a>
|
|
200
|
-
</td>
|
|
201
|
-
{% endif %}
|
|
202
|
-
</tr>
|
|
203
|
-
{% endwith %}
|
|
204
|
-
{% endwith %}
|
|
205
|
-
{% endfor %}
|
|
206
|
-
</table>
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
{% endblock %}
|
|
210
|
-
|
|
211
|
-
{% block jsblock %}
|
|
212
|
-
{% endblock %}
|
|
213
|
-
|
|
214
|
-
{% block plotdata %}
|
|
215
|
-
|
|
216
|
-
{% if request.user.userprofile.plotCharts %}
|
|
217
|
-
|
|
218
|
-
<script src="{{ STATIC_URL }}js/django_reverse/reverse.js"></script>
|
|
219
|
-
|
|
220
|
-
<div class="ajax-progress"><img src="{{ STATIC_URL }}img/ajax-loader.gif" alt="ajax loading spinner"></div>
|
|
221
|
-
|
|
222
|
-
<!-- JavaScript to enable Plotly charts -->
|
|
223
|
-
<script src="{{ STATIC_URL }}js/charts/plotly-2.
|
|
224
|
-
<!-- End of JavaScript to enable Plotly charts -->
|
|
225
|
-
|
|
226
|
-
<!-- JavaScript Plotly chart resizing code. -->
|
|
227
|
-
<script src="{{ STATIC_URL }}js/charts/chartFullScreen.js"></script>
|
|
228
|
-
<!-- End of JavaScript Plotly chart resizing code. -->
|
|
229
|
-
|
|
230
|
-
<!-- JavaScript chart AJAX code. -->
|
|
231
|
-
<script src="{{ STATIC_URL }}js/charts/nmChartAjax.js"></script>
|
|
232
|
-
<!-- End of JavaScript chart AJAX code. -->
|
|
233
|
-
|
|
234
|
-
{% for chart in required_charts %}
|
|
235
|
-
<div class="panel-group" id="{{ chart.var_name }}accordion">
|
|
236
|
-
<div class="panel panel-default">
|
|
237
|
-
<div class="panel-heading">
|
|
238
|
-
<h4 class="panel-title">
|
|
239
|
-
<a data-toggle="collapse" data-parent="#{{ chart.var_name }}accordion" href="#collapse{{ chart.var_name }}" onclick="setTimeout(function() {triggerResizeEvent();}, 0);">
|
|
240
|
-
{{ chart.title }}
|
|
241
|
-
</a>
|
|
242
|
-
</h4>
|
|
243
|
-
</div>
|
|
244
|
-
<div id="collapse{{ chart.var_name }}" class="panel-collapse collapse">
|
|
245
|
-
<div id="{{ chart.var_name }}ChartParentDiv" class="panel-body">
|
|
246
|
-
<div id="{{ chart.var_name }}ChartDiv"></div>
|
|
247
|
-
<a onclick="enterFullScreenPlotly('{{ chart.var_name }}ChartDiv', '{{ chart.var_name }}ChartParentDiv');"
|
|
248
|
-
class="btn btn-default btn-sm" role="button">Toggle fullscreen</a>
|
|
249
|
-
</div>
|
|
250
|
-
</div>
|
|
251
|
-
</div>
|
|
252
|
-
</div>
|
|
253
|
-
{% endfor %}
|
|
254
|
-
{% endif %}
|
|
255
|
-
{% endblock %}
|
|
1
|
+
{% extends "remapp/filteredbase.html" %}
|
|
2
|
+
|
|
3
|
+
{% block navnm%}<li class="active">{% endblock %}
|
|
4
|
+
|
|
5
|
+
{% block toprow %}
|
|
6
|
+
|
|
7
|
+
<p>
|
|
8
|
+
There are {{ study_list.paginator.count }} studies in this list.
|
|
9
|
+
</p>
|
|
10
|
+
|
|
11
|
+
{% endblock %}
|
|
12
|
+
|
|
13
|
+
{% block col2 %}
|
|
14
|
+
<div class="panel panel-info small">
|
|
15
|
+
<div class="panel-heading">
|
|
16
|
+
<h3 class="panel-title">Data export</h3>
|
|
17
|
+
</div>
|
|
18
|
+
<div class="panel-body">
|
|
19
|
+
{% if admin.exportgroup %}
|
|
20
|
+
<p><strong>Note:</strong> Apply the exam filter first to refine what is exported.</p>
|
|
21
|
+
<p>
|
|
22
|
+
<a href="{% url 'nmcsv1' 0 0 %}?{{ request.GET.urlencode }}"
|
|
23
|
+
class="btn btn-default btn-sm" role="button">Export to CSV </a>
|
|
24
|
+
{% if admin.pidgroup %}
|
|
25
|
+
<a href="{% url 'nmcsv1' 1 0 %}?{{ request.GET.urlencode }}"
|
|
26
|
+
class="btn btn-default btn-sm" role="button">With names</a>
|
|
27
|
+
<a href="{% url 'nmcsv1' 0 1 %}?{{ request.GET.urlencode }}"
|
|
28
|
+
class="btn btn-default btn-sm" role="button">With ID</a>
|
|
29
|
+
<a href="{% url 'nmcsv1' 1 1 %}?{{ request.GET.urlencode }}"
|
|
30
|
+
class="btn btn-default btn-sm" role="button">With both</a>
|
|
31
|
+
</p>
|
|
32
|
+
<p>
|
|
33
|
+
{% endif %}
|
|
34
|
+
<a href="{% url 'nmxlsx1' 0 0 %}?{{ request.GET.urlencode }}"
|
|
35
|
+
class="btn btn-default btn-sm" role="button">Export to XLSX</a>
|
|
36
|
+
{% if admin.pidgroup %}
|
|
37
|
+
<a href="{% url 'nmxlsx1' 1 0 %}?{{ request.GET.urlencode }}"
|
|
38
|
+
class="btn btn-default btn-sm" role="button">With names</a>
|
|
39
|
+
<a href="{% url 'nmxlsx1' 0 1 %}?{{ request.GET.urlencode }}"
|
|
40
|
+
class="btn btn-default btn-sm" role="button">With ID</a>
|
|
41
|
+
<a href="{% url 'nmxlsx1' 1 1 %}?{{ request.GET.urlencode }}"
|
|
42
|
+
class="btn btn-default btn-sm" role="button">With both</a>
|
|
43
|
+
{% endif %}
|
|
44
|
+
</p>
|
|
45
|
+
|
|
46
|
+
{% else %}
|
|
47
|
+
<p>
|
|
48
|
+
No export permissions
|
|
49
|
+
</p>
|
|
50
|
+
{% endif %}
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
</div>
|
|
54
|
+
</div>
|
|
55
|
+
|
|
56
|
+
{{ studyfilter }}
|
|
57
|
+
|
|
58
|
+
<form action="" method="get" class="form-horizontal" role="form">
|
|
59
|
+
<div class="panel panel-info small">
|
|
60
|
+
<div class="panel-heading">
|
|
61
|
+
<h3 class="panel-title">Exam filter</h3>
|
|
62
|
+
</div>
|
|
63
|
+
<div class="panel-body">
|
|
64
|
+
<em>Date format yyyy-mm-dd</em>
|
|
65
|
+
{% for field in filter.form.visible_fields %}
|
|
66
|
+
<div class="form-group">
|
|
67
|
+
<div class="col-xs-4">
|
|
68
|
+
<label>{{ field.label_tag }}</label>
|
|
69
|
+
</div>
|
|
70
|
+
<div class="col-xs-8">
|
|
71
|
+
{{ field.errors }}
|
|
72
|
+
{{ field }}
|
|
73
|
+
</div>
|
|
74
|
+
</div>
|
|
75
|
+
{% endfor %}
|
|
76
|
+
{% for field in filter.form.hidden_fields %}
|
|
77
|
+
<div style="display:none">{{ field }}</div>
|
|
78
|
+
{% endfor %}
|
|
79
|
+
<input class="btn btn-default" name="submit" type="submit" />
|
|
80
|
+
</div>
|
|
81
|
+
<div class="panel-heading">
|
|
82
|
+
<h3 class="panel-title">Chart options</h3>
|
|
83
|
+
</div>
|
|
84
|
+
<div class="panel-body">
|
|
85
|
+
<table aria-describedby="CT chart options">
|
|
86
|
+
{% csrf_token %}
|
|
87
|
+
{% for field in chartOptionsForm %}
|
|
88
|
+
<tr>
|
|
89
|
+
{% if field.field.widget.attrs.class == 'CheckboxSelectMultiple' %}
|
|
90
|
+
<td class="shaded_top_bottom_border"><label for="{{ field.auto_id }}">{{ field.label }}</label></td>
|
|
91
|
+
<td class="shaded_top_bottom_border">{{ field }}</td>
|
|
92
|
+
{% elif field.label == 'Study frequency' or field.label == 'Time period' %}
|
|
93
|
+
<td class="top_border"><label for="{{ field.auto_id }}">{{ field.label }}</label></td>
|
|
94
|
+
<td class="top_border">{{ field }}</td>
|
|
95
|
+
{% else %}
|
|
96
|
+
<td><label for="{{ field.auto_id }}">{{ field.label }}</label></td>
|
|
97
|
+
<td>{{ field }}</td>
|
|
98
|
+
{% endif %}
|
|
99
|
+
</tr>
|
|
100
|
+
{% endfor %}
|
|
101
|
+
</table>
|
|
102
|
+
<input class="btn btn-default" name="submit" type="submit" />
|
|
103
|
+
</div>
|
|
104
|
+
<div class="panel-heading">
|
|
105
|
+
<h3 class="panel-title">Table options</h3>
|
|
106
|
+
</div>
|
|
107
|
+
<div class="panel-body">
|
|
108
|
+
<table aria-describedby="Number of rows per page option">
|
|
109
|
+
{{ itemsPerPageForm }}
|
|
110
|
+
</table>
|
|
111
|
+
<input class="btn btn-default" name="submit" type="submit" />
|
|
112
|
+
</div>
|
|
113
|
+
</div>
|
|
114
|
+
</form>
|
|
115
|
+
|
|
116
|
+
<script src="{{ STATIC_URL }}js/datepicker.js"></script>
|
|
117
|
+
<script src="{{ STATIC_URL }}js/formatDate.js"></script>
|
|
118
|
+
|
|
119
|
+
{% endblock %}
|
|
120
|
+
|
|
121
|
+
{% block col1 %}
|
|
122
|
+
|
|
123
|
+
|
|
124
|
+
<table class="table table-bordered table-hover row-clickable small" aria-describedby="Study summary table">
|
|
125
|
+
<tr>
|
|
126
|
+
<th>Institution</th>
|
|
127
|
+
<th>
|
|
128
|
+
<table aria-describedby="Make, model and display name">
|
|
129
|
+
<tr><th scope="col">Make</th></tr>
|
|
130
|
+
<tr><th scope="col">Model</th></tr>
|
|
131
|
+
<tr><th scope="col" class="nowrap">Display name</th></tr>
|
|
132
|
+
</table>
|
|
133
|
+
</th>
|
|
134
|
+
<th>Date</th>
|
|
135
|
+
<th>
|
|
136
|
+
<table aria-describedby="Study description, procedure, requested procedure and accession number">
|
|
137
|
+
<tr><th scope="col" class="nowrap">Study description</th></tr>
|
|
138
|
+
<tr><th scope="col" class="nowrap">Procedure</th></tr>
|
|
139
|
+
<tr><th scope="col" class="nowrap">Requested Procedure</th></tr>
|
|
140
|
+
<tr><th scope="col" class="nowrap">Accession number</th></tr>
|
|
141
|
+
</table>
|
|
142
|
+
</th>
|
|
143
|
+
<th>Radiopharmaceutical</th>
|
|
144
|
+
<th>Administered Dose (MBq)</th>
|
|
145
|
+
{% if admin.admingroup %}
|
|
146
|
+
<th>Delete?</th>
|
|
147
|
+
{% endif %}
|
|
148
|
+
</tr>
|
|
149
|
+
{% for exam in study_list %}
|
|
150
|
+
{% with equipment=exam.generalequipmentmoduleattr_set.get %}
|
|
151
|
+
{% with radioadmin=exam.radiopharmaceuticalradiationdose_set.get.radiopharmaceuticaladministrationeventdata_set.get %}
|
|
152
|
+
<tr>
|
|
153
|
+
<td>
|
|
154
|
+
<a href="{% url 'nm_detail_view' pk=exam.id %}">
|
|
155
|
+
{{ equipment.institution_name }}
|
|
156
|
+
</a>
|
|
157
|
+
</td>
|
|
158
|
+
<td>
|
|
159
|
+
<a href="{% url 'nm_detail_view' pk=exam.id %}">
|
|
160
|
+
<table onclick="window.location='{% url 'nm_detail_view' pk=exam.id %}';" aria-describedby="Manufacturer, model and display name">
|
|
161
|
+
<tr><td class="nowrap">{{ equipment.manufacturer }}</td></tr>
|
|
162
|
+
<tr><td class="nowrap">{{ equipment.manufacturer_model_name }}</td></tr>
|
|
163
|
+
<tr><td class="nowrap">{{ equipment.unique_equipment_name.display_name }}</td></tr>
|
|
164
|
+
</table>
|
|
165
|
+
</a>
|
|
166
|
+
</td>
|
|
167
|
+
<td>
|
|
168
|
+
<a href="{% url 'nm_detail_view' pk=exam.id %}">
|
|
169
|
+
{{ exam.study_date|date:"Y-m-d" }} {{ exam.study_time|date:"H:i" }}</td>
|
|
170
|
+
</a>
|
|
171
|
+
<td>
|
|
172
|
+
<a href="{% url 'nm_detail_view' pk=exam.id %}">
|
|
173
|
+
<table onclick="window.location='{% url 'nm_detail_view' pk=exam.id %}';" aria-describedby="Study description, procedure and requested procedure name">
|
|
174
|
+
<tr><td class="nowrap">{{ exam.study_description }}</td></tr>
|
|
175
|
+
<tr><td class="nowrap">{{ exam.procedure_code_meaning }}</td></tr>
|
|
176
|
+
<tr><td class="nowrap">{{ exam.requested_procedure_code_meaning }}</td></tr>
|
|
177
|
+
{% if not exam.accession_hashed %}
|
|
178
|
+
<tr><td class="nowrap">{{ exam.accession_number }}</td></tr>
|
|
179
|
+
{% endif %}
|
|
180
|
+
</table>
|
|
181
|
+
</a>
|
|
182
|
+
</td>
|
|
183
|
+
<td>
|
|
184
|
+
<a href="{% url 'nm_detail_view' pk=exam.id %}">
|
|
185
|
+
{% if radioadmin.radiopharmaceutical_agent %}
|
|
186
|
+
{{radioadmin.radiopharmaceutical_agent.code_meaning}}
|
|
187
|
+
{% else %}
|
|
188
|
+
{{radioadmin.radiopharmaceutical_agent_string}}
|
|
189
|
+
{% endif %}
|
|
190
|
+
</a>
|
|
191
|
+
</td>
|
|
192
|
+
<td>
|
|
193
|
+
<a href="{% url 'nm_detail_view' pk=exam.id %}">
|
|
194
|
+
{{radioadmin.administered_activity|floatformat:2}}
|
|
195
|
+
</a>
|
|
196
|
+
</td>
|
|
197
|
+
{% if admin.admingroup %}
|
|
198
|
+
<td>
|
|
199
|
+
<a href="{% url 'study_delete' exam.id %}">Delete</a>
|
|
200
|
+
</td>
|
|
201
|
+
{% endif %}
|
|
202
|
+
</tr>
|
|
203
|
+
{% endwith %}
|
|
204
|
+
{% endwith %}
|
|
205
|
+
{% endfor %}
|
|
206
|
+
</table>
|
|
207
|
+
|
|
208
|
+
|
|
209
|
+
{% endblock %}
|
|
210
|
+
|
|
211
|
+
{% block jsblock %}
|
|
212
|
+
{% endblock %}
|
|
213
|
+
|
|
214
|
+
{% block plotdata %}
|
|
215
|
+
|
|
216
|
+
{% if request.user.userprofile.plotCharts %}
|
|
217
|
+
|
|
218
|
+
<script src="{{ STATIC_URL }}js/django_reverse/reverse.js"></script>
|
|
219
|
+
|
|
220
|
+
<div class="ajax-progress"><img src="{{ STATIC_URL }}img/ajax-loader.gif" alt="ajax loading spinner"></div>
|
|
221
|
+
|
|
222
|
+
<!-- JavaScript to enable Plotly charts -->
|
|
223
|
+
<script src="{{ STATIC_URL }}js/charts/plotly-2.35.2.min.js"></script>
|
|
224
|
+
<!-- End of JavaScript to enable Plotly charts -->
|
|
225
|
+
|
|
226
|
+
<!-- JavaScript Plotly chart resizing code. -->
|
|
227
|
+
<script src="{{ STATIC_URL }}js/charts/chartFullScreen.js"></script>
|
|
228
|
+
<!-- End of JavaScript Plotly chart resizing code. -->
|
|
229
|
+
|
|
230
|
+
<!-- JavaScript chart AJAX code. -->
|
|
231
|
+
<script src="{{ STATIC_URL }}js/charts/nmChartAjax.js"></script>
|
|
232
|
+
<!-- End of JavaScript chart AJAX code. -->
|
|
233
|
+
|
|
234
|
+
{% for chart in required_charts %}
|
|
235
|
+
<div class="panel-group" id="{{ chart.var_name }}accordion">
|
|
236
|
+
<div class="panel panel-default">
|
|
237
|
+
<div class="panel-heading">
|
|
238
|
+
<h4 class="panel-title">
|
|
239
|
+
<a data-toggle="collapse" data-parent="#{{ chart.var_name }}accordion" href="#collapse{{ chart.var_name }}" onclick="setTimeout(function() {triggerResizeEvent();}, 0);">
|
|
240
|
+
{{ chart.title }}
|
|
241
|
+
</a>
|
|
242
|
+
</h4>
|
|
243
|
+
</div>
|
|
244
|
+
<div id="collapse{{ chart.var_name }}" class="panel-collapse collapse">
|
|
245
|
+
<div id="{{ chart.var_name }}ChartParentDiv" class="panel-body">
|
|
246
|
+
<div id="{{ chart.var_name }}ChartDiv"></div>
|
|
247
|
+
<a onclick="enterFullScreenPlotly('{{ chart.var_name }}ChartDiv', '{{ chart.var_name }}ChartParentDiv');"
|
|
248
|
+
class="btn btn-default btn-sm" role="button">Toggle fullscreen</a>
|
|
249
|
+
</div>
|
|
250
|
+
</div>
|
|
251
|
+
</div>
|
|
252
|
+
</div>
|
|
253
|
+
{% endfor %}
|
|
254
|
+
{% endif %}
|
|
255
|
+
{% endblock %}
|