From fc8584775e4f54c591cd1917b37acb397e7407c4 Mon Sep 17 00:00:00 2001 From: Expo on server <expo@expo.survex.com> Date: Sat, 29 Apr 2023 23:35:18 +0100 Subject: [PATCH] Get CaveView working again on cave pages. (v2.2.0) Move caveView section back to bottom of page. --- templates/cave.html | 440 ++------------------------------------------ 1 file changed, 14 insertions(+), 426 deletions(-) diff --git a/templates/cave.html b/templates/cave.html index df69201..8d6ea7e 100644 --- a/templates/cave.html +++ b/templates/cave.html @@ -2,426 +2,14 @@ {% block extraheaders %} <!-- cave.html - this text visible because this template has been included --> {% if cave.survex_file %} - <!-- # We put every .3d file in the same folder as # the .svx file, using the {{svx3d}} template variable set in rendercave() in # core/views/caves.py but with a full path. THIS IS NOW DONE March 2022. - - -# This css code below is very similar caveview.css but why is it copied here ? -# Because it is NOT exactly the same as the distrubuted CaveView code. -# e.g. the body {} bit in Caveview/css/caveview.css is missing here: - #--> -<style> - -div.cv-panel { - position: absolute; - top: 0; - left: 0; - z-index: 100; - background-color: rgba(50,50,50,0.5); - color: yellowgreen; - border: 1px solid black; - border-radius: 5px; -} - -div.cv-compass, div.cv-ahi { - position: absolute; - bottom: 95px; - right: 5px; - margin: 0; - padding-top: 2px; - /* border: 1px solid white; */ - text-align: center; - width: 78px; - height: 19px; - z-index: 50; - background-color: rgba(50,50,50,0.5); - background-color: black; - color: white; -} - -div.cv-ahi { - right: 95px; -} - -div.scale-legend { - position: absolute; - color: white; - background-color: black; - bottom: 30px; -} - -div.linear-scale { - position: absolute; - color: white; - background-color: black; - right: 30px; - width: 40px; - padding: 2px 0; - text-align: right; - border: 1px solid black; - font-size: 14px; -} - -div.linear-scale-caption { - position: absolute; - color: white; - background-color: black; - right: 5px; - width: 65px; - padding: 2px 0 5px 0; - text-align: left; - border: 1px solid black; - font-size: 14px; -} - -#min-div { - border-bottom: 1px solid white; -} - -#max-div { - border-top: 1px solid white; -} - -#angle-legend { - position: absolute; - width: 80px; - right: 5px; - bottom: 180px; - color: white; - background-color: black; - font-size: 14px; - text-align: center; -} - -#scene { - width: 100%; - height: 700px; - position: relative; -} - -#progress-bar { - position: absolute; - top: 55%; - height: 20px; - border: 1px solid white; - z-index: 100; -} - -#status-text { - position: absolute; - top: 50%; - height: 20px; - padding-left: 4px; - background-color: black; - color: white; - z-index: 100; -} - -#frame div.page ul { - list-style-type: none; - margin: 8px 0 0 0; - padding: 0; - width: 200px; - height: 100%; - cursor: default; - font-size: 12px; - overflow-y: auto; - overflow-x: hidden; -} - -#frame div.page li { - position: relative; - margin-left: 16px; - border-bottom: 1px solid #444444; -} - -#frame div.page li.selected { - color: #1ab4e5; -} - -#frame div.page li:hover { - color: yellow; -} - -#frame div.page div#ui-path { - font-size: 12px; - border-top: 1px solid grey; - border-bottom: 1px solid grey; - margin-top: 8px; - padding: 2px 0 2px 12px; -} - -#frame div.page div#ui-path span { - color: #1ab4e5; -} - -#frame div.page div.slide { - position: absolute; - top: 64px; - left: 0px; - height: auto; - margin-top:0; - bottom: 44px; - background-color: #222222; - transition: transform 0.25s ease-in; -} - -#frame div.slide-out { - border-right: 1px grey solid; - transform: translateX(-100%); -} - -#frame div.page div.descend-tree { - position: absolute; - top: 0px; - right: 0px; - margin: 0; - color: #1ab4e5; - z-index: 110; -} - -#frame { - position: absolute; - top: 0px; - left: 0px; - width: 240px; - height: 100%; - background-color: transparent; - transform: translateX(-200px); - transition: transform 0.25s ease-in; -} - -#frame.onscreen { - transform: none; - transition: transform 0.25s ease-out; -} - -#frame a.download { - border: 1px solid green; - display: block; - width: 180px; - box-sizing: border-box; - margin-top: 6px; - margin-bottom: 4px; - margin-left: 8px; - border: none; - border-bottom: 4px solid #1ab4e5; - color: #dddddd; - background-color: black; - padding-bottom: 4px; - box-shadow: 1px 1px 8px 0px #888888; - outline: nonlass="cavedisplay"e; - text-decoration: none; - text-align: center; -} - -#frame a.download:hover { - color: white; -} - -#frame a.download:active { - color: #dddddd; - border-bottom: 4px solid #0c536a; - box-shadow: none; - box-shadow: inset 1px 1px 8px 0px #888888; -} -#frame .tab { - position: absolute; - right: 0px;lass="cavedisplay" - width: 40px; - height: 40px; - box-sizing: border-box; - background-color: #444444; - border-left: 1px solid black; - background-position: center; - border-top: 1px solid black; -} - -#frame #close { - position: absolute; - right: 40px; - bottom: 0px; - width: 40px; - height: 40px; - box-sizing: border-box; - z-index: 150; - background-image: url(../images/ic_remove.png); - background-position: center; -} - -#icon_settings { - background-image: url(../images/ic_settings.png); -} - -#icon_terrain { - background-image: url(../images/ic_terrain.png); -} - -#icon_explore { - background-image: url(../images/ic_explore.png); -} - -#icon_info { - background-image: url(../images/ic_info.png); -} - -#icon_route { - background-image: url(../images/ic_route.png); -} - -#icon_help { - background-image: url(../images/ic_help.png); -} - -#frame div.toptab { - background-color: #222222; - border-left: none; - border-right: 1px solid grey; - border-top: 1px solid grey; -} - -#frame div.page { - position: absolute; - top: 0px; - bottom: 40px; - left: 0px; - width: 200px; - height: 100%; - color: white; - background-color: #222222; - padding: 0 4px; - box-sizing: border-box; - cursor: default; - padding-bottom: 40px; -} - -#frame div.page div.header { - margin: 16px 0px 8px 0px; - font-weight: bold; - height: 16px; - box-sizing: border-box; - padding-left: 2px; -} - -#frame div.page div.control { - margin: 2px 0 2px 0; - padding-top: 2px; -} - -#frame div.page label { - display: block; - border-top: 1px solid grey; - padding: 2px 0 2px 8px; - font-size: 12px; -} - -#frame div.page select { - display: block; - width: 180px; - box-sizing: border-box; - padding-top: 2px; - margin: 2px 0 4px 8px; -} - -#frame div.page select:empty { - background-color: #888888; -} - -#frame div.page button { - display: block; - width: 180px; - box-sizing: border-box; - margin-top: 4px; - margin-bottom: 4px; - margin-left: 8px; - border: none; - border-bottom: 4px solid #1ab4e5; - color: #dddddd; - background-color: black; - padding-bottom: 4px; - box-shadow: 1px 1px 8px 0px #888888; - outline: none; -} - -#frame div.page button:hover { - color: white; -} - -#frame div.page button:active { - color: #dddddd; - border-bottom: 4px solid #0c536a; - box-shadow: none; - box-shadow: inset 1px 1px 8px 0px #888888; -} - -#frame div.page input[type="text"] { - display: block; - width: 180px; - box-sizing: border-box; - margin-top: 2px; - margin-left: 8px; -} - -#frame div.page input[type="checkbox"] { - position: absolute; - right: 0px; -} - -#frame div.page input[type="range"] { - display: block; - width: 180px; - margin-left: 8px; -} - -#frame dt, #frame dd { - font-size: 12px; -} - -#frame dt { - clear: both; - float: left; - padding-left: 16px; -} - -#frame dd { - margin-left: 40px; -} - -#frame p { - font-size: 12px; - line-height: 18px; -} - -div.station-info { - position: absolute; - border: 1px solid white; - background-color: #222222; - color: white; - padding: 4px; - z-index: 200; -} - - -.overlay-branding { - color: white; - margin: 4px; - position: absolute; - right: 0; - top: 0; -} -div#scene { - width: 100%; - height: 90%; } - -</style> - +<link type="text/css" href="/javascript/CaveView/css/caveview.css" rel="stylesheet"/> <script type="text/javascript" src="/javascript/CaveView/js/CaveView2.js" ></script> - <script type="text/javascript" > function onLoad () { @@ -435,7 +23,7 @@ div#scene { // load a single survey to display // Note the special code in views.caves.py to do this. The appropriate .svx/.3d file may not be simply the cave name +.3d - //const ui = new CV2.CaveViewUI( viewer ); + const ui = new CV2.CaveViewUI( viewer ); ui.loadCave('{{svx3d}}.3d'); } @@ -485,18 +73,6 @@ div#scene { <p>{% if cave.explorers %} <h2>Explorers</h2> {{ cave.explorers|safe }} -{% endif %} - <h2>Survex File(s)</h2> - All <a href="/survexfile/{{cave.kataster_number}}">survexfiles</a> for this cave {<br /> -{% if cave.survex_file %} - Primary <a href="/survexfile/{{cave.survex_file}}">survex file</a> for this cave - <p>[<a href="https://aardgoose.github.io/CaveView.js/">CaveView</a> display of the .3d file is temporarily disabled while we fix things (Nov.2021).<br> See <a href="/handbook/computing/todo.rst">/handbook/computing/todo.rst</a>.]<br><br> - - Download .3d file <a href="/cave/3d/{{cave}}">caves-{{ cave.area.all.0.kat_area }}/{{cave.kataster_number}}/{{svx3d}}.3d</a> -<br> -cave ID '{{cave.reference}}'<br> -cave survex path '{{ cave.area.all.0.kat_area }}/{{cave.kataster_number}}' - <div id='scene'></div> {% endif %} {% if cave.underground_description %} <h2>Underground Description</h2> @@ -609,4 +185,16 @@ cave survex path '{{ cave.area.all.0.kat_area }}/{{cave.kataster_number}}' {% endif %}</p> <a href="{% url "newentrance" cave.url_parent cave.slug %}">New Entrance</a> </div> + <h2>Survex File(s)</h2> + All <a href="/survexfile/{{cave.kataster_number}}">survexfiles</a> for this cave {<br /> +{% if cave.survex_file %} + Primary <a href="/survexfile/{{cave.survex_file}}">survex file</a> for this cave + <p>[<a href="https://aardgoose.github.io/CaveView.js/">CaveView</a> display of the .3d file is temporarily disabled while we fix things (Nov.2021).<br> See <a href="/handbook/computing/todo.rst">/handbook/computing/todo.rst</a>.]<br><br> + + Download .3d file <a href="/cave/3d/{{cave}}">caves-{{ cave.area.all.0.kat_area }}/{{cave.kataster_number}}/{{svx3d}}.3d</a> +<br> +cave ID '{{cave.reference}}'<br> +cave survex path '{{ cave.area.all.0.kat_area }}/{{cave.kataster_number}}' + <div id='scene'></div> +{% endif %} {% endblock content %}