{% extends 'base.html.twig'%}
{% block stylesheets %}
{{ parent() }}
<!--link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/leaflet@1.5.1/dist/leaflet.css"-->
<link rel="preconnect" href="https://fonts.gstatic.com">
<link rel="stylesheet" href="{{ asset('node_modules/leaflet/dist/leaflet.css')}}"></link>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/leaflet-timedimension@1.1.1/dist/leaflet.timedimension.control.min.css" />
<link href="https://fonts.googleapis.com/css2?family=Raleway:wght@400;700&display=swap" rel="stylesheet">
<link rel="stylesheet" href="{{ asset('js/easy-button/easy-button.css') }}" type="text/css" />
<link rel="stylesheet" href="{{asset('css/leaflet.timedimension.control.css')}}" type="text/css" />
<link rel="stylesheet" href="{{ asset('css/timelines.css') }}" type="text/css" />
{% endblock %}
{% block title %}Timemap {{title}}{% endblock %}
{% block body%}
<div class="content-w content-w-map">
<div class="header-menu" data-menu="navmenuProjekte"></div>
<div class="content-back"><a href="{{ path('main_sub', {sub: 'navmenuProjekte'}) }}"><span class="content-back-inner">Projekte</span></a></div>
<div class="content">
<div class="chapters" id="chapters">
<div class="toggler"><span></span></div>
<ul class="chapters-list">
</ul>
</div>
<div class="galleria-w">
<div id="map" class="map"></div>
<div id="map-loading" class="map-loading is-visible" role="status" aria-live="polite" aria-busy="true">
<div class="map-loading-inner">
<div class="map-loading-spinner" aria-hidden="true"></div>
<div class="map-loading-text">Kartendaten werden geladen…</div>
</div>
</div>
{# % if timeline !='' %}
<div id="timeline"></div>
{%endif%}#}
<div id="timeline"></div>
</div>
</div>
</div>
</div>
{% endblock %}
{% block javascripts %}
{{ parent() }}
{#
<script type="text/javascript" src="{{asset('js/api.simile-widgets.org/timeline/2.3.1/simile-ajax-api.js?bundle=true')}}"></script>
<script type="text/javascript" src="{{asset('js/api.simile-widgets.org/timeline/2.3.1/timeline-api.js?bundle=true&timeline-use-local-resources=true')}}"></script>
#}
<script type="text/javascript" src="{{ asset('node_modules/leaflet/dist/leaflet.js')}}"></script>
{# <script type="text/javascript" src="{{ asset('js/timelines.js')}}"></script>#}
<script type="text/javascript" src="{{asset('js/xml2json.js')}}"></script>
<script type="text/javascript" src="{{asset('js/iso8601.js')}}"></script>
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/leaflet-timedimension@1.1.1/dist/leaflet.timedimension.min.js"></script>
<script type="text/javascript" src="https://cdn.rawgit.com/tryone144/dateFormat/master/date.format.js"></script>
{# <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/iso8601-js-period@0.2.1/iso8601.min.js"></script>#}
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/leaflet-omnivore/0.3.2/leaflet-omnivore.js"></script>
<script type="text/javascript" src="{{asset('js/editor/togeojson.js')}}"></script>
<script type="text/javascript" src="{{asset('js/timedimension/leaflet.timedimension.js')}}"></script>
<script type="text/javascript" src="{{asset('js/timedimension/leaflet.timedimension.util.js')}}"></script>
<script type="text/javascript" src="{{asset('js/timedimension/leaflet.timedimension.layer.js')}}"></script>
{#<script type="text/javascript" src="{{asset('js/timedimension/leaflet.timedimension.layer.wms.js')}}"></script>
#}<script type="text/javascript" src="{{asset('js/timedimension/leaflet.timedimension.layer.geojson.js')}}"></script>
<script type="text/javascript" src="{{asset('js/timedimension/leaflet.timedimension.player.js')}}"></script>
<script type="text/javascript" src="{{asset('js/timedimension/leaflet.timedimension.control.js')}}"></script>
<script type="text/javascript" src="{{asset('js/timedimension/timelayer_mb.js')}}"></script>
<script type="text/javascript" src="{{asset('js/timedimension/control_mb.js')}}"></script>
<script type="text/javascript" src="{{asset('js/timedimension/timedimension.player.MB.js')}}"></script>
<script type="text/javascript" src="{{asset('js/permalink/Permalink.js')}}"></script>
<script type="text/javascript" src="{{asset('js/permalink/permalink_mb.js')}}"></script>
<script type="text/javascript" src="{{asset('js/easy-button/easy-button.js')}}"></script>
<script type="text/javascript" src="{{asset('js/timedimension/baselayers.js')}}"></script>
<script type="text/javascript" src="{{asset('js/timedimension/TileLayer.Grayscale.js')}}"></script>
<script type="text/javascript" src="{{asset('js/timelines.js')}}"></script>
{% if id == 'autobahn_europa' or id == 'bahn' or id == 'bahn_europa' or id == 'bahn_de_orm' or id == 'bahn_de_hybrid' %}
<script type="text/javascript" src="{{ asset('timelines/js/timeline_borders.js') }}"></script>
{% endif %}
{% if id == 'autobahn_europa' %}
<script type="text/javascript" src="{{ asset('timelines/js/autobahn_europa_ui.js') }}"></script>
{% endif %}
{% if id == 'bahn' or id == 'bahn_europa' or id == 'bahn_de_orm' or id == 'bahn_de_hybrid' %}
<script type="text/javascript" src="{{ asset('timelines/js/bahn_ui.js') }}"></script>
{% endif %}
<script type="text/javascript">
var kmlSource = "{{ path('timelines_kml', {project: id, filepath: '__FILE__.kml'}) }}".replace('__FILE__.kml', '');
var timelineIconSource = "{{ asset('timelines/icons/') }}";
var linkPath = "{{ path('timelines')}}";
$(document).ready(function() {
navigateToActiveId("navmenuTimeline");
$(document.body).addClass('inner-page timeline-page');
if ('{{ id }}' !== '') {
var projectScript = "{{ asset('timelines/js/'~id~'.js') }}";
$.ajax({
url: projectScript,
dataType: 'script',
cache: false
}).done(function () {
if (typeof buildtimeline === 'function') {
buildtimeline();
}
// Info/Quellen etc. never start a KML load — clear the
// default spinner so the map/content is not blocked forever.
setTimeout(function () {
if (typeof hideMapLoading === 'function' &&
typeof _mapDataLoadPending !== 'undefined' &&
_mapDataLoadPending === 0) {
hideMapLoading();
}
}, 0);
}).fail(function (jqXHR, textStatus, errorThrown) {
console.error('Timeline script failed to load:', projectScript, textStatus, errorThrown);
if (typeof hideMapLoading === 'function') {
hideMapLoading();
}
});
}
loadChapters();
// resizeCanvas();
});
// Firefox bfcache can restore a stale/broken map after in-RDM project switches.
window.addEventListener('pageshow', function (event) {
if (event.persisted) {
window.location.reload();
}
});
function loadChapters()
{
$("#chapters li .label-default").removeClass("label-default");
$("#chapters ul #1").addClass("label-default");
var chapters =[''];
var data =[];
try
{
$.get('{{asset('/timelines/')}}' + '/content.xml' , function(xml)
{
var route = "{{ path(app.request.attributes.get('_route'),
app.request.attributes.get('_route_params')) }}";
var className = "";
if(route === '{{path('timelines', {id: 'info'})}}')
{
className = "label-default";
}
var i;
var chapterArray = $.xml2json(xml).chapter;
for(i in chapterArray) {
chapters[i] = chapterArray[i].name;
data[i] = chapterArray[i].data;
}
$("#chapters ul").append($('<li>').append($('<a>').attr('href','{{path('timelines')}}/info').attr('id', 0).append("Info").addClass(className)));
for (var i in chapters)
{
className = "";
// alert(data[i]);
if(route === '{{path('timelines')}}/'+data[i])
{
className = "label-default";
}
$("#chapters ul").append(
$('<li>').append(
$('<a>').attr('href', '{{path('timelines')}}/'+data[i]).attr('id', 0).append(chapters[i]).addClass(className)
));
}
className = "";
if(route === '{{path('timelines')}}/quellen' && window.location.hash !== '#spenden')
{
className = "label-default";
}
$("#chapters ul").append($('<li>').append($('<a>').attr('href','{{path('timelines')}}/quellen').attr('id', 0).append("Quellen / Links").addClass(className)));
className = "";
if (route === '{{path('timelines')}}/quellen' && window.location.hash === '#spenden') {
className = "label-default";
}
$("#chapters ul").append($('<li>').append($('<a>').attr('href','{{path('timelines')}}/quellen#spenden').attr('id', 0).append("Spenden").addClass(className)));
className = "";
{# $("#chapters ul").append($('<li>').append($('<a>').attr('href','{{path('contact')}}/Fehler in Timeline').attr('subject', 0).append("Fehler entdeckt?")));
#}
});
}
catch(e)
{
console.log(e.message);
}
}
/* function initContent()
{
/*canvasmenu = new Canvas('canvasmenu');
canvasmenu.create(dataMenu);
canvasmenu.resizeCanvas();
canvasmenu.setCursor('cursor');
$('#canvasmenu').on('mousedown', function (e) {
$('#canvasmenu').on('mouseup mousemove', function handler(e) {
if (e.type === 'mouseup') {
if(dataMenu.links[0] !== null && dataMenu.links[0] !== '')
{
window.location = dataMenu.links[0];
}
}
})
});
}*/
/*function resizeContent()
{
if(canvasmenu !== null)
{
canvasmenu.resizeCanvas();
}
var height = $("#map").height();
$(".leaflet-control-layers").css("max-height", height);
$(".leaflet-control-layers").css("overflow", "auto");
}*/
function loadSet(set) {
$("#chapters li .label-default").removeClass("label-default");
$("#chapters ul #"+set).addClass("label-default");
setName = set;
//resizeCanvas();
};
/*function resizeCanvas() {
var width = $('main').innerWidth();
var menuWidth = parseInt($('#chapters').css("margin-left"), 10) + parseInt($('#chapters').css("width"),10);
var optionWidth = 0;//parseInt($('#optioncontainer').css("width"),10);
var optionHeight = 0;//parseInt($('#optioncontainer').css("width"),10);
var sliderH = 0;//parseInt($('#timelinecontainer').css("height"),10);
var mapWidth = width - menuWidth;
var height = $('main').innerHeight();
var hOptions = 0;
var wOptions = 0;
$('.mapcontainer').css("bottom", sliderH+ "px");
if(4*height > 3* mapWidth)
{
$('#optioncontainer').css("width", mapWidth + "px");
$('#optioncontainer').css("height", optionHeight + "px");
// $('#timelinecontainer').css("width",mapWidth+ "px");
$('.mapcontainer').css("right", 0 + "px");
$('.mapcontainer').css("top", optionHeight + "px");
}
else
{
$('#optioncontainer').css("width", optionWidth +"px");
$('#optioncontainer').css("height", "100%");
// $('#timelinecontainer').css("width", (mapWidth - optionWidth)+ "px");
$('.mapcontainer').css("right", (optionWidth)+ "px");
$('.mapcontainer').css("top", 0 + "px");
}
}*/
</script>
{% endblock %}