adding more things from old site
							
								
								
									
										
											BIN
										
									
								
								static/android-chrome-192x192.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 25 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								static/android-chrome-512x512.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 136 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								static/apple-touch-icon.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 23 KiB  | 
							
								
								
									
										8
									
								
								static/css/leaflet.extra-markers.min.css
									
										
									
									
										vendored
									
									
										Executable file
									
								
							
							
						
						| 
						 | 
				
			
			@ -25,9 +25,7 @@
 | 
			
		|||
    --color-gray-700: oklch(37.3% 0.034 259.733);
 | 
			
		||||
    --color-gray-800: oklch(27.8% 0.033 256.848);
 | 
			
		||||
    --color-gray-900: oklch(21% 0.034 264.665);
 | 
			
		||||
    --color-neutral-50: oklch(98.5% 0 0);
 | 
			
		||||
    --color-neutral-100: oklch(97% 0 0);
 | 
			
		||||
    --color-neutral-300: oklch(87% 0 0);
 | 
			
		||||
    --color-neutral-500: oklch(55.6% 0 0);
 | 
			
		||||
    --color-black: #000;
 | 
			
		||||
    --color-white: #fff;
 | 
			
		||||
| 
						 | 
				
			
			@ -209,6 +207,9 @@
 | 
			
		|||
  .pointer-events-none {
 | 
			
		||||
    pointer-events: none;
 | 
			
		||||
  }
 | 
			
		||||
  .collapse {
 | 
			
		||||
    visibility: collapse;
 | 
			
		||||
  }
 | 
			
		||||
  .invisible {
 | 
			
		||||
    visibility: hidden;
 | 
			
		||||
  }
 | 
			
		||||
| 
						 | 
				
			
			@ -259,9 +260,6 @@
 | 
			
		|||
  .bottom-4 {
 | 
			
		||||
    bottom: calc(var(--spacing) * 4);
 | 
			
		||||
  }
 | 
			
		||||
  .-left-1 {
 | 
			
		||||
    left: calc(var(--spacing) * -1);
 | 
			
		||||
  }
 | 
			
		||||
  .-left-1\/2 {
 | 
			
		||||
    left: calc(calc(1/2 * 100%) * -1);
 | 
			
		||||
  }
 | 
			
		||||
| 
						 | 
				
			
			@ -428,9 +426,6 @@
 | 
			
		|||
  .h-0 {
 | 
			
		||||
    height: calc(var(--spacing) * 0);
 | 
			
		||||
  }
 | 
			
		||||
  .h-2 {
 | 
			
		||||
    height: calc(var(--spacing) * 2);
 | 
			
		||||
  }
 | 
			
		||||
  .h-2\/3 {
 | 
			
		||||
    height: calc(2/3 * 100%);
 | 
			
		||||
  }
 | 
			
		||||
| 
						 | 
				
			
			@ -473,21 +468,12 @@
 | 
			
		|||
  .h-screen {
 | 
			
		||||
    height: 100vh;
 | 
			
		||||
  }
 | 
			
		||||
  .max-h-8 {
 | 
			
		||||
    max-height: calc(var(--spacing) * 8);
 | 
			
		||||
  }
 | 
			
		||||
  .max-h-12 {
 | 
			
		||||
    max-height: calc(var(--spacing) * 12);
 | 
			
		||||
  }
 | 
			
		||||
  .w-1 {
 | 
			
		||||
    width: calc(var(--spacing) * 1);
 | 
			
		||||
  }
 | 
			
		||||
  .w-1\/3 {
 | 
			
		||||
    width: calc(1/3 * 100%);
 | 
			
		||||
  }
 | 
			
		||||
  .w-2 {
 | 
			
		||||
    width: calc(var(--spacing) * 2);
 | 
			
		||||
  }
 | 
			
		||||
  .w-2\/3 {
 | 
			
		||||
    width: calc(2/3 * 100%);
 | 
			
		||||
  }
 | 
			
		||||
| 
						 | 
				
			
			@ -503,9 +489,6 @@
 | 
			
		|||
  .w-9 {
 | 
			
		||||
    width: calc(var(--spacing) * 9);
 | 
			
		||||
  }
 | 
			
		||||
  .w-11 {
 | 
			
		||||
    width: calc(var(--spacing) * 11);
 | 
			
		||||
  }
 | 
			
		||||
  .w-11\/12 {
 | 
			
		||||
    width: calc(11/12 * 100%);
 | 
			
		||||
  }
 | 
			
		||||
| 
						 | 
				
			
			@ -551,15 +534,9 @@
 | 
			
		|||
  .flex-none {
 | 
			
		||||
    flex: none;
 | 
			
		||||
  }
 | 
			
		||||
  .flex-shrink {
 | 
			
		||||
    flex-shrink: 1;
 | 
			
		||||
  }
 | 
			
		||||
  .flex-shrink-0 {
 | 
			
		||||
    flex-shrink: 0;
 | 
			
		||||
  }
 | 
			
		||||
  .flex-grow {
 | 
			
		||||
    flex-grow: 1;
 | 
			
		||||
  }
 | 
			
		||||
  .grow {
 | 
			
		||||
    flex-grow: 1;
 | 
			
		||||
  }
 | 
			
		||||
| 
						 | 
				
			
			@ -783,9 +760,6 @@
 | 
			
		|||
  .bg-indigo-500 {
 | 
			
		||||
    background-color: var(--color-indigo-500);
 | 
			
		||||
  }
 | 
			
		||||
  .bg-neutral-500 {
 | 
			
		||||
    background-color: var(--color-neutral-500);
 | 
			
		||||
  }
 | 
			
		||||
  .bg-transparent {
 | 
			
		||||
    background-color: transparent;
 | 
			
		||||
  }
 | 
			
		||||
| 
						 | 
				
			
			@ -810,9 +784,6 @@
 | 
			
		|||
  .p-5 {
 | 
			
		||||
    padding: calc(var(--spacing) * 5);
 | 
			
		||||
  }
 | 
			
		||||
  .px-1 {
 | 
			
		||||
    padding-inline: calc(var(--spacing) * 1);
 | 
			
		||||
  }
 | 
			
		||||
  .px-1\.5 {
 | 
			
		||||
    padding-inline: calc(var(--spacing) * 1.5);
 | 
			
		||||
  }
 | 
			
		||||
| 
						 | 
				
			
			@ -828,9 +799,6 @@
 | 
			
		|||
  .px-6 {
 | 
			
		||||
    padding-inline: calc(var(--spacing) * 6);
 | 
			
		||||
  }
 | 
			
		||||
  .py-0 {
 | 
			
		||||
    padding-block: calc(var(--spacing) * 0);
 | 
			
		||||
  }
 | 
			
		||||
  .py-0\.5 {
 | 
			
		||||
    padding-block: calc(var(--spacing) * 0.5);
 | 
			
		||||
  }
 | 
			
		||||
| 
						 | 
				
			
			@ -849,12 +817,6 @@
 | 
			
		|||
  .py-6 {
 | 
			
		||||
    padding-block: calc(var(--spacing) * 6);
 | 
			
		||||
  }
 | 
			
		||||
  .ps-4 {
 | 
			
		||||
    padding-inline-start: calc(var(--spacing) * 4);
 | 
			
		||||
  }
 | 
			
		||||
  .pe-4 {
 | 
			
		||||
    padding-inline-end: calc(var(--spacing) * 4);
 | 
			
		||||
  }
 | 
			
		||||
  .pt-1 {
 | 
			
		||||
    padding-top: calc(var(--spacing) * 1);
 | 
			
		||||
  }
 | 
			
		||||
| 
						 | 
				
			
			@ -971,9 +933,6 @@
 | 
			
		|||
  .text-indigo-500 {
 | 
			
		||||
    color: var(--color-indigo-500);
 | 
			
		||||
  }
 | 
			
		||||
  .text-neutral-50 {
 | 
			
		||||
    color: var(--color-neutral-50);
 | 
			
		||||
  }
 | 
			
		||||
  .text-white {
 | 
			
		||||
    color: var(--color-white);
 | 
			
		||||
  }
 | 
			
		||||
| 
						 | 
				
			
			@ -983,6 +942,9 @@
 | 
			
		|||
  .\!no-underline {
 | 
			
		||||
    text-decoration-line: none !important;
 | 
			
		||||
  }
 | 
			
		||||
  .line-through {
 | 
			
		||||
    text-decoration-line: line-through;
 | 
			
		||||
  }
 | 
			
		||||
  .no-underline {
 | 
			
		||||
    text-decoration-line: none;
 | 
			
		||||
  }
 | 
			
		||||
| 
						 | 
				
			
			@ -994,11 +956,6 @@
 | 
			
		|||
      color: var(--color-gray-300);
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
  .placeholder-neutral-300 {
 | 
			
		||||
    &::placeholder {
 | 
			
		||||
      color: var(--color-neutral-300);
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
  .opacity-0 {
 | 
			
		||||
    opacity: 0%;
 | 
			
		||||
  }
 | 
			
		||||
| 
						 | 
				
			
			@ -1008,6 +965,10 @@
 | 
			
		|||
  .opacity-100 {
 | 
			
		||||
    opacity: 100%;
 | 
			
		||||
  }
 | 
			
		||||
  .shadow {
 | 
			
		||||
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
 | 
			
		||||
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
 | 
			
		||||
  }
 | 
			
		||||
  .shadow-2xl {
 | 
			
		||||
    --tw-shadow: 0 25px 50px -12px var(--tw-shadow-color, rgb(0 0 0 / 0.25));
 | 
			
		||||
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
 | 
			
		||||
| 
						 | 
				
			
			@ -1023,17 +984,10 @@
 | 
			
		|||
  .ring-black {
 | 
			
		||||
    --tw-ring-color: var(--color-black);
 | 
			
		||||
  }
 | 
			
		||||
  .outline {
 | 
			
		||||
    outline-style: var(--tw-outline-style);
 | 
			
		||||
    outline-width: 1px;
 | 
			
		||||
  }
 | 
			
		||||
  .blur {
 | 
			
		||||
    --tw-blur: blur(8px);
 | 
			
		||||
    filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
 | 
			
		||||
  }
 | 
			
		||||
  .filter {
 | 
			
		||||
    filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
 | 
			
		||||
  }
 | 
			
		||||
  .transition {
 | 
			
		||||
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter;
 | 
			
		||||
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
 | 
			
		||||
| 
						 | 
				
			
			@ -1865,11 +1819,6 @@
 | 
			
		|||
  inherits: false;
 | 
			
		||||
  initial-value: 0 0 #0000;
 | 
			
		||||
}
 | 
			
		||||
@property --tw-outline-style {
 | 
			
		||||
  syntax: "*";
 | 
			
		||||
  inherits: false;
 | 
			
		||||
  initial-value: solid;
 | 
			
		||||
}
 | 
			
		||||
@property --tw-blur {
 | 
			
		||||
  syntax: "*";
 | 
			
		||||
  inherits: false;
 | 
			
		||||
| 
						 | 
				
			
			@ -1965,7 +1914,6 @@
 | 
			
		|||
      --tw-ring-offset-width: 0px;
 | 
			
		||||
      --tw-ring-offset-color: #fff;
 | 
			
		||||
      --tw-ring-offset-shadow: 0 0 #0000;
 | 
			
		||||
      --tw-outline-style: solid;
 | 
			
		||||
      --tw-blur: initial;
 | 
			
		||||
      --tw-brightness: initial;
 | 
			
		||||
      --tw-contrast: initial;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										
											BIN
										
									
								
								static/favicon-16x16.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 540 B  | 
							
								
								
									
										
											BIN
										
									
								
								static/favicon-32x32.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 1.4 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								static/favicon.ico
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 15 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								static/img/april.jpg
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 126 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								static/img/atwood-hs.jpg
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 186 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								static/img/atwood-jh.jpg
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 178 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								static/img/brain.jpg
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 817 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								static/img/camp.jpg
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 734 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								static/img/chris.jpg
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 217 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								static/img/ethan.jpg
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 144 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								static/img/janice.jpg
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 113 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								static/img/jenny.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 180 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								static/img/lavonne.jpg
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 97 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								static/img/lewis.jpg
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 140 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								static/img/logan.jpg
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 362 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								static/img/logo.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 85 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								static/img/markers_default.png
									
										
									
									
									
										Executable file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 117 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								static/img/markers_default@2x.png
									
										
									
									
									
										Executable file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 248 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								static/img/markers_shadow.png
									
										
									
									
									
										Executable file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 535 B  | 
							
								
								
									
										
											BIN
										
									
								
								static/img/markers_shadow@2x.png
									
										
									
									
									
										Executable file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 1.4 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								static/img/mt.jpg
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 104 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								static/img/mt2.jpg
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 146 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								static/img/nv.jpg
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 178 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								static/img/pburg.jpg
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 222 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								static/img/rob.jpg
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 76 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								static/img/shawn-dust.jpg
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 54 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								static/img/smith-center.jpg
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 240 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								static/img/staff.jpg
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 3.7 MiB  | 
							
								
								
									
										
											BIN
										
									
								
								static/img/sv.jpg
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 221 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								static/img/tr.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 476 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								static/img/wakeeney.jpg
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 226 KiB  | 
							
								
								
									
										1660
									
								
								static/js/leaflet.elevation.js
									
										
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										1
									
								
								static/js/leaflet.extra-markers.js.map
									
										
									
									
									
										Executable file
									
								
							
							
						
						
							
								
								
									
										10
									
								
								static/js/leaflet.extra-markers.min.js
									
										
									
									
										vendored
									
									
										Executable file
									
								
							
							
						
						
							
								
								
									
										108
									
								
								static/js/leaflet.hugo.js
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
				
			
			@ -0,0 +1,108 @@
 | 
			
		|||
let leafletMapsObj = {};
 | 
			
		||||
let leafletMarkersObj = {};
 | 
			
		||||
 | 
			
		||||
function drawTrack(trackOpts, elevationOpts, markerOpts) {
 | 
			
		||||
    var opts = {
 | 
			
		||||
        elevationControl: {
 | 
			
		||||
            options: {
 | 
			
		||||
                position: elevationOpts.graphPosition,
 | 
			
		||||
                theme: elevationOpts.graphTheme,
 | 
			
		||||
                width: elevationOpts.graphWidth,
 | 
			
		||||
                height: elevationOpts.graphHeight,
 | 
			
		||||
                margins: {
 | 
			
		||||
                    top: 20,
 | 
			
		||||
                    right: 20,
 | 
			
		||||
                    bottom: 35,
 | 
			
		||||
                    left: 50
 | 
			
		||||
                },
 | 
			
		||||
                followMarker: elevationOpts.graphFollowMarker,
 | 
			
		||||
                collapsed: elevationOpts.graphCollapsed,
 | 
			
		||||
                detached: elevationOpts.graphDetached,
 | 
			
		||||
                legend: false,
 | 
			
		||||
                summary: false,
 | 
			
		||||
                downloadLink: '',
 | 
			
		||||
                gpxOptions: {
 | 
			
		||||
                    polyline_options: {
 | 
			
		||||
                        className: 'track-' + trackOpts.trackId + '-',
 | 
			
		||||
                        color: trackOpts.lineColor,
 | 
			
		||||
                        opacity: trackOpts.lineOpacity,
 | 
			
		||||
                        weight: trackOpts.lineWeight,
 | 
			
		||||
                    },
 | 
			
		||||
                    marker_options: {
 | 
			
		||||
                        startIcon: new L.ExtraMarkers.icon({
 | 
			
		||||
                            icon: markerOpts.iconStart,
 | 
			
		||||
                            markerColor: markerOpts.iconStartColor,
 | 
			
		||||
                            shape: markerOpts.iconStartShape,
 | 
			
		||||
                            prefix: 'fa',
 | 
			
		||||
                            extraClasses: markerOpts.iconStartClasses
 | 
			
		||||
                        }),
 | 
			
		||||
                        endIcon: new L.ExtraMarkers.icon({
 | 
			
		||||
                            icon: markerOpts.iconEnd,
 | 
			
		||||
                            markerColor: markerOpts.iconEndColor,
 | 
			
		||||
                            shape: markerOpts.iconEndShape,
 | 
			
		||||
                            prefix: 'fa',
 | 
			
		||||
                            extraClasses: markerOpts.iconEndClasses
 | 
			
		||||
                        }),
 | 
			
		||||
                        wptIcons: {
 | 
			
		||||
                            '': new L.ExtraMarkers.icon({
 | 
			
		||||
                                icon: markerOpts.icon,
 | 
			
		||||
                                markerColor: markerOpts.iconColor,
 | 
			
		||||
                                shape: markerOpts.iconShape,
 | 
			
		||||
                                prefix: 'fa',
 | 
			
		||||
                                extraClasses:  markerOpts.iconClasses,
 | 
			
		||||
                            })
 | 
			
		||||
                        }
 | 
			
		||||
                    }
 | 
			
		||||
                },
 | 
			
		||||
 | 
			
		||||
            },
 | 
			
		||||
        },
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    L.control.elevation(opts.elevationControl.options).addTo(leafletMapsObj[trackOpts.mapId]).load(trackOpts.trackPath);
 | 
			
		||||
 | 
			
		||||
    /*map.on('eledata_loaded', function(e) {
 | 
			
		||||
        track = e.track_info;
 | 
			
		||||
    });*/
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
window.downloadFile = function (sUrl) {
 | 
			
		||||
 | 
			
		||||
    //iOS devices do not support downloading. We have to inform user about this.
 | 
			
		||||
    if (/(iP)/g.test(navigator.userAgent)) {
 | 
			
		||||
        alert('Your device does not support files downloading. Please try again in desktop browser.');
 | 
			
		||||
        return false;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    //If in Chrome or Safari - download via virtual link click
 | 
			
		||||
    if (window.downloadFile.isChrome || window.downloadFile.isSafari) {
 | 
			
		||||
        //Creating new link node.
 | 
			
		||||
        var link = document.createElement('a');
 | 
			
		||||
        link.href = sUrl;
 | 
			
		||||
 | 
			
		||||
        if (link.download !== undefined) {
 | 
			
		||||
            //Set HTML5 download attribute. This will prevent file from opening if supported.
 | 
			
		||||
            var fileName = sUrl.substring(sUrl.lastIndexOf('/') + 1, sUrl.length);
 | 
			
		||||
            link.download = fileName;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        //Dispatching click event.
 | 
			
		||||
        if (document.createEvent) {
 | 
			
		||||
            var e = document.createEvent('MouseEvents');
 | 
			
		||||
            e.initEvent('click', true, true);
 | 
			
		||||
            link.dispatchEvent(e);
 | 
			
		||||
            return true;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    // Force file download (whether supported by server).
 | 
			
		||||
    if (sUrl.indexOf('?') === -1) {
 | 
			
		||||
        sUrl += '?download';
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    window.open(sUrl, '_self');
 | 
			
		||||
    return true;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
window.downloadFile.isChrome = navigator.userAgent.toLowerCase().indexOf('chrome') > -1;
 | 
			
		||||
window.downloadFile.isSafari = navigator.userAgent.toLowerCase().indexOf('safari') > -1;
 | 
			
		||||
							
								
								
									
										41
									
								
								static/js/map.js
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
				
			
			@ -0,0 +1,41 @@
 | 
			
		|||
function initMap() {
 | 
			
		||||
    if ($('#map').length) {
 | 
			
		||||
        let map_provider = $('#map-provider').val();
 | 
			
		||||
        let lat = $('#map-lat').val();
 | 
			
		||||
        let lng = $('#map-lng').val();
 | 
			
		||||
        let zoom = parseInt($('#map-zoom').val());
 | 
			
		||||
        let address = $('#map-dir').val();
 | 
			
		||||
        let api_key = $('#map-api-key').val();
 | 
			
		||||
        
 | 
			
		||||
        let map = new L.map('map').setView([lat, lng], zoom);
 | 
			
		||||
        if (map_provider === 'mapbox' && api_key.length) {
 | 
			
		||||
            L.tileLayer('https://api.mapbox.com/styles/v1/{id}/tiles/{z}/{x}/{y}?access_token={accessToken}', {
 | 
			
		||||
                attribution:
 | 
			
		||||
                'Map data © <a href="http://openstreetmap.org">OpenStreetMap</a> contributors, <a href="http://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, Imagery © <a href="http://mapbox.com">Mapbox</a>',
 | 
			
		||||
                tileSize: 512,
 | 
			
		||||
                maxZoom: 18,
 | 
			
		||||
                zoomOffset: -1,
 | 
			
		||||
                id: 'mapbox/streets-v11',
 | 
			
		||||
                accessToken: api_key,
 | 
			
		||||
            }).addTo(map);
 | 
			
		||||
        } else {
 | 
			
		||||
            L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
 | 
			
		||||
                maxZoom: 19,
 | 
			
		||||
                attribution: '© <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a>',
 | 
			
		||||
            }).addTo(map);
 | 
			
		||||
        }
 | 
			
		||||
        let marker = L.marker([lat, lng]).addTo(map);
 | 
			
		||||
        let url = lat + ',' + lng + '#map=' + zoom + '/' + lat + '/' + lng + '&layers=N';
 | 
			
		||||
        marker.bindPopup(
 | 
			
		||||
            address +
 | 
			
		||||
                '<p><a href="https://www.openstreetmap.org/directions?engine=osrm_car&route=' +
 | 
			
		||||
                url +
 | 
			
		||||
                '">Routing via OpenStreetMap</a></p>',
 | 
			
		||||
        );
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
document.addEventListener('DOMContentLoaded', function () {
 | 
			
		||||
    // Initialise street maps if necessary.
 | 
			
		||||
    initMap();
 | 
			
		||||
});
 | 
			
		||||
							
								
								
									
										1
									
								
								static/site.webmanifest
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
				
			
			@ -0,0 +1 @@
 | 
			
		|||
{"name":"","short_name":"","icons":[{"src":"/android-chrome-192x192.png","sizes":"192x192","type":"image/png"},{"src":"/android-chrome-512x512.png","sizes":"512x512","type":"image/png"}],"theme_color":"#ffffff","background_color":"#ffffff","display":"standalone"}
 | 
			
		||||