changes for the home page redesign
This commit is contained in:
parent
a6eab19a96
commit
0d0b5ea48a
21 changed files with 9903 additions and 24 deletions
359
productMods/js/homePageMaps.js
Normal file
359
productMods/js/homePageMaps.js
Normal file
|
@ -0,0 +1,359 @@
|
|||
/* $This file is distributed under the terms of the license in /doc/license.txt$ */
|
||||
|
||||
$(document).ready(function(){
|
||||
|
||||
var globalMapBuilt = false;
|
||||
var usMapBuilt = false;
|
||||
var stateMapBuilt = false;
|
||||
var researchAreas = { "type": "FeatureCollection", "features": []};
|
||||
|
||||
$.extend(this, urlsBase);
|
||||
|
||||
getGeoJsonForMaps();
|
||||
|
||||
$('a#globalLink').click(function() {
|
||||
buildGlobalMap();
|
||||
$(this).addClass("selected");
|
||||
$('a#usLink').removeClass("selected");
|
||||
$('a#nyLink').removeClass("selected");
|
||||
});
|
||||
|
||||
$('a#usLink').click(function() {
|
||||
buildUSMap();
|
||||
$(this).addClass("selected");
|
||||
$('a#globalLink').removeClass("selected");
|
||||
$('a#nyLink').removeClass("selected");
|
||||
});
|
||||
|
||||
$('a#stateLink').click(function() {
|
||||
buildStateMap();
|
||||
$(this).addClass("selected");
|
||||
$('a#usLink').removeClass("selected");
|
||||
$('a#globalLink').removeClass("selected");
|
||||
});
|
||||
|
||||
function getLatLong(country) {
|
||||
var lat = [];
|
||||
latLongJson.map(function (json) {
|
||||
if ( json.name == country) {
|
||||
lat.push(json.data["longitude"]);
|
||||
lat.push(json.data["latitude"]);
|
||||
}
|
||||
});
|
||||
if (lat.length == 0) {
|
||||
lat.push(0.0);
|
||||
lat.push(0.0);
|
||||
}
|
||||
return(lat);
|
||||
}
|
||||
|
||||
function getMapType(country) {
|
||||
var mt = "";
|
||||
latLongJson.map(function (json) {
|
||||
if ( json.name == country) {
|
||||
mt = json.data["mapType"];
|
||||
}
|
||||
});
|
||||
return(mt);
|
||||
}
|
||||
|
||||
function onEachFeature(feature, layer) {
|
||||
var popupContent = "";
|
||||
var uri = "";
|
||||
|
||||
if (feature.properties && feature.properties.popupContent) {
|
||||
popupContent += feature.properties.popupContent;
|
||||
}
|
||||
if (feature.properties && feature.properties.html) {
|
||||
if ( feature.properties.html == "1") {
|
||||
popupContent += ": " + feature.properties.html + " researcher";
|
||||
}
|
||||
else {
|
||||
popupContent += ": " + feature.properties.html + " researchers";
|
||||
}
|
||||
}
|
||||
layer.on('mouseover', function(e) {
|
||||
e.target.bindPopup(popupContent,{closeButton:false}).openPopup();
|
||||
});
|
||||
layer.on('mouseout', function(e) {
|
||||
e.target.closePopup();
|
||||
});
|
||||
|
||||
if (feature.properties && feature.properties.uri) {
|
||||
uri += feature.properties.uri;
|
||||
layer.on('click', function(e) {
|
||||
document.location.href = urlsBase + "/individual?uri=" + uri + "&#map";
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
function getDivIcon(feature) {
|
||||
var htmlContent = "";
|
||||
var myIcon;
|
||||
|
||||
if (feature.properties && feature.properties.html) {
|
||||
htmlContent += feature.properties.html;
|
||||
}
|
||||
if ( htmlContent > 99 ) {
|
||||
myIcon = L.divIcon({className: 'divIconCountPlus', html: htmlContent});
|
||||
}
|
||||
else {
|
||||
myIcon = L.divIcon({className: 'divIconCount', html: htmlContent});
|
||||
}
|
||||
return myIcon;
|
||||
}
|
||||
|
||||
function getMarkerRadius(feature) {
|
||||
var radiusContent;
|
||||
|
||||
if (feature.properties && feature.properties.radius) {
|
||||
radiusContent = feature.properties.radius;
|
||||
}
|
||||
return radiusContent;
|
||||
}
|
||||
|
||||
function checkGlobalCoordinates(feature, layer) {
|
||||
var theLatLng = new L.LatLng(feature.geometry.coordinates[0],feature.geometry.coordinates[1]);
|
||||
var mt = feature.properties.mapType;
|
||||
if ( !theLatLng.equals([0,0]) && mt == "global" ) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
function checkUSCoordinates(feature, layer) {
|
||||
var theLatLng = new L.LatLng(feature.geometry.coordinates[0],feature.geometry.coordinates[1]);
|
||||
var mt = feature.properties.mapType;
|
||||
if ( !theLatLng.equals([0,0]) && mt == "US" ) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
function checkStateCoordinates(feature, layer) {
|
||||
var theLatLng = new L.LatLng(feature.geometry.coordinates[0],feature.geometry.coordinates[1]);
|
||||
var mt = feature.properties.mapType;
|
||||
if ( !theLatLng.equals([0,0]) && mt == "state" ) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
function buildGlobalMap() {
|
||||
$('div#mapGlobal').show();
|
||||
$('div#mapUS').hide();
|
||||
$('div#mapState').hide();
|
||||
|
||||
if ( !globalMapBuilt ) {
|
||||
|
||||
var mapGlobal = L.map('mapGlobal').setView([25.25, 23.20], 2);
|
||||
L.tileLayer('http://server.arcgisonline.com/ArcGIS/rest/services/World_Shaded_Relief/MapServer/tile\/{z}\/{y}\/{x}.png', {
|
||||
maxZoom: 12,
|
||||
minZoom: 1,
|
||||
boxZoom: false,
|
||||
doubleClickZoom: false,
|
||||
attribution: 'Tiles © <a href="http://www.esri.com/">Esri</a>'
|
||||
}).addTo(mapGlobal);
|
||||
|
||||
L.geoJson(researchAreas, {
|
||||
|
||||
filter: checkGlobalCoordinates,
|
||||
onEachFeature: onEachFeature,
|
||||
|
||||
pointToLayer: function(feature, latlng) {
|
||||
return L.circleMarker(latlng, {
|
||||
radius: getMarkerRadius(feature),
|
||||
fillColor: "#fdf9cd", //fdf38a",
|
||||
color: "none",
|
||||
weight: 1,
|
||||
opacity: 0.8,
|
||||
fillOpacity: 0.8
|
||||
});
|
||||
}
|
||||
}).addTo(mapGlobal);
|
||||
|
||||
L.geoJson(researchAreas, {
|
||||
|
||||
filter: checkGlobalCoordinates,
|
||||
onEachFeature: onEachFeature,
|
||||
|
||||
pointToLayer: function(feature, latlng) {
|
||||
return L.marker(latlng, {
|
||||
icon: getDivIcon(feature)
|
||||
});
|
||||
}
|
||||
}).addTo(mapGlobal);
|
||||
|
||||
globalMapBuilt = true;
|
||||
}
|
||||
|
||||
getResearcherCount("global");
|
||||
} // Canvas/World_Light_Gray_Base
|
||||
|
||||
function buildUSMap() {
|
||||
$('div#mapGlobal').hide();
|
||||
$('div#mapState').hide();
|
||||
$('div#mapUS').show();
|
||||
|
||||
if ( !usMapBuilt ) {
|
||||
|
||||
var mapUS = L.map('mapUS').setView([46.0, -97.0], 3);
|
||||
L.tileLayer('http://server.arcgisonline.com/ArcGIS/rest/services/World_Shaded_Relief/MapServer/tile\/{z}\/{y}\/{x}.png', {
|
||||
maxZoom: 30,
|
||||
minZoom: 1,
|
||||
boxZoom: false,
|
||||
zIndex: 1,
|
||||
doubleClickZoom: false,
|
||||
attribution: 'Tiles © <a href="http://www.esri.com/">Esri</a>'
|
||||
}).addTo(mapUS);
|
||||
|
||||
L.geoJson(researchAreas, {
|
||||
|
||||
filter: checkUSCoordinates,
|
||||
onEachFeature: onEachFeature,
|
||||
|
||||
pointToLayer: function(feature, latlng) {
|
||||
return L.circleMarker(latlng, {
|
||||
radius: getMarkerRadius(feature),
|
||||
fillColor: "#fdf9cd", //fdf38a",
|
||||
color: "none",
|
||||
weight: 1,
|
||||
opacity: 0.8,
|
||||
fillOpacity: 0.8
|
||||
});
|
||||
}
|
||||
}).addTo(mapUS);
|
||||
|
||||
L.geoJson(researchAreas, {
|
||||
|
||||
filter: checkUSCoordinates,
|
||||
onEachFeature: onEachFeature,
|
||||
|
||||
pointToLayer: function(feature, latlng) {
|
||||
return L.marker(latlng, {
|
||||
icon: getDivIcon(feature)
|
||||
});
|
||||
}
|
||||
}).addTo(mapUS);
|
||||
|
||||
usMapBuilt = true;
|
||||
}
|
||||
|
||||
getResearcherCount("US");
|
||||
} // Canvas/World_Light_Gray_Base - services/Reference/World_Boundaries_and_Places_Alternate/MapServer
|
||||
|
||||
function buildStateMap() {
|
||||
$('div#mapGlobal').hide();
|
||||
$('div#mapUS').hide();
|
||||
$('div#mapState').show();
|
||||
|
||||
if ( !stateMapBuilt ) {
|
||||
|
||||
// CHANGE THE setView COORDINATES SO THAT THE STATE YOU WANT TO DISPLAY IS CENTERED CORRECTLY.
|
||||
// THE COORDINATES BELOW ARE FOR NEW YORK.
|
||||
var mapState = L.map('mapState').setView([42.83, -75.50], 7);
|
||||
L.tileLayer('http://server.arcgisonline.com/ArcGIS/rest/services/World_Shaded_Relief/MapServer/tile\/{z}\/{y}\/{x}.png', {
|
||||
maxZoom: 12,
|
||||
minZoom: 1,
|
||||
boxZoom: false,
|
||||
doubleClickZoom: false,
|
||||
attribution: 'Tiles © <a href="http://www.esri.com/">Esri</a>'
|
||||
}).addTo(mapState);
|
||||
|
||||
L.tileLayer('http://server.arcgisonline.com/ArcGIS/rest/services/Reference/World_Boundaries_and_Places_Alternate/MapServer/tile\/{z}\/{y}\/{x}.png', {
|
||||
maxZoom: 12,
|
||||
minZoom: 1,
|
||||
boxZoom: false,
|
||||
doubleClickZoom: false
|
||||
}).addTo(mapState);
|
||||
|
||||
L.geoJson(researchAreas, {
|
||||
|
||||
filter: checkStateCoordinates,
|
||||
onEachFeature: onEachFeature,
|
||||
|
||||
pointToLayer: function(feature, latlng) {
|
||||
return L.circleMarker(latlng, {
|
||||
radius: getMarkerRadius(feature) + 3,
|
||||
fillColor: "#fdf9cd",
|
||||
color: "none",
|
||||
weight: 1,
|
||||
opacity: 0.8,
|
||||
fillOpacity: 0.8
|
||||
});
|
||||
}
|
||||
}).addTo(mapState);
|
||||
|
||||
L.geoJson(researchAreas, {
|
||||
|
||||
filter: checkStateCoordinates,
|
||||
onEachFeature: onEachFeature,
|
||||
|
||||
pointToLayer: function(feature, latlng) {
|
||||
return L.marker(latlng, {
|
||||
icon: getDivIcon(feature)
|
||||
});
|
||||
}
|
||||
}).addTo(mapState);
|
||||
|
||||
stateMapBuilt = true;
|
||||
}
|
||||
|
||||
getResearcherCount("state");
|
||||
}
|
||||
|
||||
function getGeoJsonForMaps() {
|
||||
$.ajax({
|
||||
url: urlsBase + "/homePageAjax",
|
||||
dataType: "json",
|
||||
data: {
|
||||
action: "getGeoFocusLocations",
|
||||
},
|
||||
complete: function(xhr, status) {
|
||||
var results = $.parseJSON(xhr.responseText);
|
||||
|
||||
$.each(results, function() {
|
||||
var locale = this.properties.popupContent;
|
||||
this.geometry.coordinates = getLatLong(locale);
|
||||
this.properties.mapType = getMapType(locale);
|
||||
researchAreas["features"].push(this);
|
||||
});
|
||||
buildGlobalMap();
|
||||
$('div#timeIndicator').hide();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function getResearcherCount(area) {
|
||||
|
||||
var researcherCount = 0;
|
||||
var areaCount = 0;
|
||||
var text = "";
|
||||
if ( area == "global" ) {
|
||||
text = " countries and regions.";
|
||||
}
|
||||
else if ( area == "US" ) {
|
||||
text = " states.";
|
||||
}
|
||||
else {
|
||||
text = " state-wide locations.";
|
||||
}
|
||||
|
||||
$.each(researchAreas.features, function() {
|
||||
if ( this.properties.mapType == area ) {
|
||||
researcherCount = researcherCount + this.properties.html ;
|
||||
areaCount = areaCount + 1;
|
||||
}
|
||||
});
|
||||
|
||||
if ( areaCount == 1 && text == " states.") {
|
||||
text = " state.";
|
||||
}
|
||||
|
||||
$('div#researcherTotal').html("<font style='font-size:1.05em;color:#167093'>"
|
||||
+ researcherCount.toString().replace(/(\d+)(\d{3})/, '$1'+','+'$2')
|
||||
+ "</font> researchers in <font style='font-size:1.05em;color:#167093'>"
|
||||
+ areaCount + "</font>" + text);
|
||||
}
|
||||
|
||||
});
|
113
productMods/js/homePageUtils.js
Normal file
113
productMods/js/homePageUtils.js
Normal file
|
@ -0,0 +1,113 @@
|
|||
/* $This file is distributed under the terms of the license in /doc/license.txt$ */
|
||||
|
||||
$(document).ready(function(){
|
||||
|
||||
$.extend(this, urlsBase);
|
||||
// $.extend(this, facultyMemberCount);
|
||||
|
||||
getFacultyMembers();
|
||||
buildAcademicDepartments();
|
||||
|
||||
if ( $('section#home-geo-focus').length == 0 ) {
|
||||
$('section#home-stats').css("display","inline-block").css("margin-top","20px");
|
||||
}
|
||||
|
||||
function getFacultyMembers() {
|
||||
|
||||
// determine the row at which to start the solr query
|
||||
var rowStart = Math.floor((Math.random()*facultyMemberCount)+1)-1;
|
||||
var diff;
|
||||
var pageSize = 4; // the number of faculty to display on the home page
|
||||
|
||||
// in case the random number is equal to or within 3 of the facultyMemberCount
|
||||
if ( (rowStart + (pageSize-1)) > facultyMemberCount ) {
|
||||
diff = (rowStart + (pageSize-1)) - facultyMemberCount;
|
||||
if ( diff == 0 ) {
|
||||
rowStart = rowStart - (pageSize-1);
|
||||
}
|
||||
else {
|
||||
rowStart = rowStart - diff;
|
||||
}
|
||||
}
|
||||
|
||||
var dataServiceUrl = urlsBase + "/dataservice?getRandomSolrIndividualsByVClass=1&vclassId=";
|
||||
var url = dataServiceUrl + encodeURIComponent("http://vivoweb.org/ontology/core#FacultyMember");
|
||||
url += "&page=" + rowStart + "&pageSize=" + pageSize;
|
||||
|
||||
$.getJSON(url, function(results) {
|
||||
var individualList = "";
|
||||
if ( results == null || results.individuals.length == 0 ) {
|
||||
individualList = "<p><li>No faculty records found.</li></p>";
|
||||
$('div#tempSpacing').hide();
|
||||
$('div#research-faculty-mbrs ul#facultyThumbs').append(individualList);
|
||||
}
|
||||
else {
|
||||
var vclassName = results.vclass.name;
|
||||
$.each(results.individuals, function(i, item) {
|
||||
var individual = results.individuals[i];
|
||||
individualList += individual.shortViewHtml;
|
||||
});
|
||||
$('div#tempSpacing').hide();
|
||||
$('div#research-faculty-mbrs ul#facultyThumbs').append(individualList);
|
||||
|
||||
$.each($('div#research-faculty-mbrs ul#facultyThumbs li.individual'), function() {
|
||||
if ( $(this).children('img').length == 0 ) {
|
||||
var imgHtml = "<img width='60' alt='placeholder image' src='" + urlsBase + "/images/placeholders/person.bordered.thumbnail.jpg'>";
|
||||
$(this).prepend(imgHtml);
|
||||
}
|
||||
else {
|
||||
$(this).children('img').load( function() {
|
||||
adjustImageHeight($(this));
|
||||
});
|
||||
}
|
||||
});
|
||||
var viewMore = "<ul id='viewMoreFac'><li><a href='"
|
||||
+ urlsBase
|
||||
+ "/people/%23http://vivoweb.org/ontology/core%23FacultyMember' alt='view all faculty'>"
|
||||
+ "View all ...</a></li?</ul>";
|
||||
$('div#research-faculty-mbrs').append(viewMore);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function adjustImageHeight(theImg) {
|
||||
$img = theImg;
|
||||
var hgt = $img.attr("height");
|
||||
if ( hgt > 70 ) {
|
||||
var liHtml = $img.parent('li').html();
|
||||
liHtml = liHtml.replace("<img","<div id='adjImgHeight'><img");
|
||||
liHtml = liHtml.replace("<h1","</div><h1");
|
||||
$img.parent('li').html(liHtml);
|
||||
}
|
||||
}
|
||||
|
||||
function buildAcademicDepartments() {
|
||||
var deptNbr = academicDepartments.length;
|
||||
var html = "<ul>";
|
||||
var index = Math.floor((Math.random()*deptNbr)+1)-1;
|
||||
|
||||
if ( deptNbr == 0 ) {
|
||||
html += "<p><li>No academic departments found.</li></p>";
|
||||
}
|
||||
else if ( deptNbr > 6 ) {
|
||||
for ( var i=0;i<6;i++) {
|
||||
html += "<li><a href='${urls.base}/display"
|
||||
+ academicDepartments[index].uri + "'>"
|
||||
+ academicDepartments[index].name + "</a></li>";
|
||||
index = Math.floor((Math.random()*deptNbr)+1)-1;
|
||||
}
|
||||
}
|
||||
else {
|
||||
for ( var i=0;i<deptNbr;i++) {
|
||||
html += "<li><a href='${urls.base}/display"
|
||||
+ academicDepartments[i].uri + "'>"
|
||||
+ academicDepartments[i].name + "</a></li>";
|
||||
}
|
||||
}
|
||||
if ( deptNbr > 0 ) {
|
||||
html += "</ul><ul style='list-style:none'><li style='font-size:0.9em;text-align:right;padding: 6px 16px 0 0'><a href='" + urlsBase + "/organizations/%23http://vivoweb.org/ontology/core%23AcademicDepartment' alt='view all academic departments'>View all ...</a></li></ul>";
|
||||
}
|
||||
$('div#academic-depts').html(html);
|
||||
}
|
||||
|
||||
});
|
10
productMods/js/latLongJson.js
Normal file
10
productMods/js/latLongJson.js
Normal file
File diff suppressed because one or more lines are too long
23
productMods/js/leaflet/LICENSE
Executable file
23
productMods/js/leaflet/LICENSE
Executable file
|
@ -0,0 +1,23 @@
|
|||
Copyright (c) 2010-2013, Vladimir Agafonkin
|
||||
Copyright (c) 2010-2011, CloudMade
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without modification, are
|
||||
permitted provided that the following conditions are met:
|
||||
|
||||
1. Redistributions of source code must retain the above copyright notice, this list of
|
||||
conditions and the following disclaimer.
|
||||
|
||||
2. Redistributions in binary form must reproduce the above copyright notice, this list
|
||||
of conditions and the following disclaimer in the documentation and/or other materials
|
||||
provided with the distribution.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
|
||||
EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
||||
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
|
||||
TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
BIN
productMods/js/leaflet/dist/images/layers.png
vendored
Executable file
BIN
productMods/js/leaflet/dist/images/layers.png
vendored
Executable file
Binary file not shown.
After Width: | Height: | Size: 973 B |
BIN
productMods/js/leaflet/dist/images/marker-icon.png
vendored
Executable file
BIN
productMods/js/leaflet/dist/images/marker-icon.png
vendored
Executable file
Binary file not shown.
After Width: | Height: | Size: 1.7 KiB |
BIN
productMods/js/leaflet/dist/images/marker-icon@2x.png
vendored
Executable file
BIN
productMods/js/leaflet/dist/images/marker-icon@2x.png
vendored
Executable file
Binary file not shown.
After Width: | Height: | Size: 3.9 KiB |
BIN
productMods/js/leaflet/dist/images/marker-shadow.png
vendored
Executable file
BIN
productMods/js/leaflet/dist/images/marker-shadow.png
vendored
Executable file
Binary file not shown.
After Width: | Height: | Size: 797 B |
8339
productMods/js/leaflet/dist/leaflet-src.js
vendored
Executable file
8339
productMods/js/leaflet/dist/leaflet-src.js
vendored
Executable file
File diff suppressed because it is too large
Load diff
457
productMods/js/leaflet/dist/leaflet.css
vendored
Executable file
457
productMods/js/leaflet/dist/leaflet.css
vendored
Executable file
|
@ -0,0 +1,457 @@
|
|||
/* required styles */
|
||||
|
||||
.leaflet-map-pane,
|
||||
.leaflet-tile,
|
||||
.leaflet-marker-icon,
|
||||
.leaflet-marker-shadow,
|
||||
.leaflet-tile-pane,
|
||||
.leaflet-overlay-pane,
|
||||
.leaflet-shadow-pane,
|
||||
.leaflet-marker-pane,
|
||||
.leaflet-popup-pane,
|
||||
.leaflet-overlay-pane svg,
|
||||
.leaflet-zoom-box,
|
||||
.leaflet-image-layer,
|
||||
.leaflet-layer {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
}
|
||||
.leaflet-container {
|
||||
overflow: hidden;
|
||||
-ms-touch-action: none;
|
||||
}
|
||||
.leaflet-tile,
|
||||
.leaflet-marker-icon,
|
||||
.leaflet-marker-shadow {
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
user-select: none;
|
||||
}
|
||||
.leaflet-marker-icon,
|
||||
.leaflet-marker-shadow {
|
||||
display: block;
|
||||
}
|
||||
/* map is broken in FF if you have max-width: 100% on tiles */
|
||||
.leaflet-container img {
|
||||
max-width: none !important;
|
||||
}
|
||||
/* stupid Android 2 doesn't understand "max-width: none" properly */
|
||||
.leaflet-container img.leaflet-image-layer {
|
||||
max-width: 15000px !important;
|
||||
}
|
||||
.leaflet-tile {
|
||||
filter: inherit;
|
||||
visibility: hidden;
|
||||
}
|
||||
.leaflet-tile-loaded {
|
||||
visibility: inherit;
|
||||
}
|
||||
.leaflet-zoom-box {
|
||||
width: 0;
|
||||
height: 0;
|
||||
}
|
||||
|
||||
.leaflet-tile-pane { z-index: 2; }
|
||||
.leaflet-objects-pane { z-index: 3; }
|
||||
.leaflet-overlay-pane { z-index: 4; }
|
||||
.leaflet-shadow-pane { z-index: 5; }
|
||||
.leaflet-marker-pane { z-index: 6; }
|
||||
.leaflet-popup-pane { z-index: 7; }
|
||||
|
||||
|
||||
/* control positioning */
|
||||
|
||||
.leaflet-control {
|
||||
position: relative;
|
||||
z-index: 7;
|
||||
pointer-events: auto;
|
||||
}
|
||||
.leaflet-top,
|
||||
.leaflet-bottom {
|
||||
position: absolute;
|
||||
z-index: 1000;
|
||||
pointer-events: none;
|
||||
}
|
||||
.leaflet-top {
|
||||
top: 0;
|
||||
}
|
||||
.leaflet-right {
|
||||
right: 0;
|
||||
}
|
||||
.leaflet-bottom {
|
||||
bottom: 0;
|
||||
}
|
||||
.leaflet-left {
|
||||
left: 0;
|
||||
}
|
||||
.leaflet-control {
|
||||
float: left;
|
||||
clear: both;
|
||||
}
|
||||
.leaflet-right .leaflet-control {
|
||||
float: right;
|
||||
}
|
||||
.leaflet-top .leaflet-control {
|
||||
margin-top: 10px;
|
||||
}
|
||||
.leaflet-bottom .leaflet-control {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.leaflet-left .leaflet-control {
|
||||
margin-left: 10px;
|
||||
}
|
||||
.leaflet-right .leaflet-control {
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
|
||||
/* zoom and fade animations */
|
||||
|
||||
.leaflet-fade-anim .leaflet-tile,
|
||||
.leaflet-fade-anim .leaflet-popup {
|
||||
opacity: 0;
|
||||
-webkit-transition: opacity 0.2s linear;
|
||||
-moz-transition: opacity 0.2s linear;
|
||||
-o-transition: opacity 0.2s linear;
|
||||
transition: opacity 0.2s linear;
|
||||
}
|
||||
.leaflet-fade-anim .leaflet-tile-loaded,
|
||||
.leaflet-fade-anim .leaflet-map-pane .leaflet-popup {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.leaflet-zoom-anim .leaflet-zoom-animated {
|
||||
-webkit-transition: -webkit-transform 0.25s cubic-bezier(0,0,0.25,1);
|
||||
-moz-transition: -moz-transform 0.25s cubic-bezier(0,0,0.25,1);
|
||||
-o-transition: -o-transform 0.25s cubic-bezier(0,0,0.25,1);
|
||||
transition: transform 0.25s cubic-bezier(0,0,0.25,1);
|
||||
}
|
||||
.leaflet-zoom-anim .leaflet-tile,
|
||||
.leaflet-pan-anim .leaflet-tile,
|
||||
.leaflet-touching .leaflet-zoom-animated {
|
||||
-webkit-transition: none;
|
||||
-moz-transition: none;
|
||||
-o-transition: none;
|
||||
transition: none;
|
||||
}
|
||||
|
||||
.leaflet-zoom-anim .leaflet-zoom-hide {
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
|
||||
/* cursors */
|
||||
|
||||
.leaflet-clickable {
|
||||
cursor: pointer;
|
||||
}
|
||||
.leaflet-container {
|
||||
cursor: -webkit-grab;
|
||||
cursor: -moz-grab;
|
||||
}
|
||||
.leaflet-popup-pane,
|
||||
.leaflet-control {
|
||||
cursor: auto;
|
||||
}
|
||||
.leaflet-dragging,
|
||||
.leaflet-dragging .leaflet-clickable,
|
||||
.leaflet-dragging .leaflet-container {
|
||||
cursor: move;
|
||||
cursor: -webkit-grabbing;
|
||||
cursor: -moz-grabbing;
|
||||
}
|
||||
|
||||
|
||||
/* visual tweaks */
|
||||
|
||||
.leaflet-container {
|
||||
background: #ddd;
|
||||
outline: 0;
|
||||
}
|
||||
.leaflet-container a {
|
||||
color: #0078A8;
|
||||
}
|
||||
.leaflet-container a.leaflet-active {
|
||||
outline: 2px solid orange;
|
||||
}
|
||||
.leaflet-zoom-box {
|
||||
border: 2px dotted #05f;
|
||||
background: white;
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
|
||||
/* general typography */
|
||||
.leaflet-container {
|
||||
font: 12px/1.5 "Helvetica Neue", Arial, Helvetica, sans-serif;
|
||||
}
|
||||
|
||||
|
||||
/* general toolbar styles */
|
||||
|
||||
.leaflet-bar {
|
||||
box-shadow: 0 0 8px rgba(0,0,0,0.4);
|
||||
border: 1px solid #888;
|
||||
-webkit-border-radius: 5px;
|
||||
border-radius: 5px;
|
||||
}
|
||||
.leaflet-bar-part {
|
||||
background-color: rgba(255, 255, 255, 0.8);
|
||||
border-bottom: 1px solid #aaa;
|
||||
}
|
||||
.leaflet-bar-part-top {
|
||||
-webkit-border-radius: 4px 4px 0 0;
|
||||
border-radius: 4px 4px 0 0;
|
||||
}
|
||||
.leaflet-bar-part-bottom {
|
||||
-webkit-border-radius: 0 0 4px 4px;
|
||||
border-radius: 0 0 4px 4px;
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
.leaflet-touch .leaflet-bar {
|
||||
-webkit-border-radius: 10px;
|
||||
border-radius: 10px;
|
||||
}
|
||||
.leaflet-touch .leaflet-bar-part {
|
||||
border-bottom: 4px solid rgba(0,0,0,0.3);
|
||||
}
|
||||
.leaflet-touch .leaflet-bar-part-top {
|
||||
-webkit-border-radius: 7px 7px 0 0;
|
||||
border-radius: 7px 7px 0 0;
|
||||
}
|
||||
.leaflet-touch .leaflet-bar-part-bottom {
|
||||
-webkit-border-radius: 0 0 7px 7px;
|
||||
border-radius: 0 0 7px 7px;
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
|
||||
/* zoom control */
|
||||
|
||||
.leaflet-container .leaflet-control-zoom {
|
||||
margin-left: 13px;
|
||||
margin-top: 12px;
|
||||
}
|
||||
.leaflet-control-zoom a {
|
||||
width: 22px;
|
||||
height: 22px;
|
||||
text-align: center;
|
||||
text-decoration: none;
|
||||
color: black;
|
||||
}
|
||||
.leaflet-control-zoom a,
|
||||
.leaflet-control-layers-toggle {
|
||||
background-position: 50% 50%;
|
||||
background-repeat: no-repeat;
|
||||
display: block;
|
||||
}
|
||||
.leaflet-control-zoom a:hover {
|
||||
background-color: #fff;
|
||||
color: #777;
|
||||
}
|
||||
.leaflet-control-zoom-in {
|
||||
font: bold 18px/24px Arial, Helvetica, sans-serif;
|
||||
}
|
||||
.leaflet-control-zoom-out {
|
||||
font: bold 23px/20px Tahoma, Verdana, sans-serif;
|
||||
}
|
||||
.leaflet-control-zoom a.leaflet-control-zoom-disabled {
|
||||
cursor: default;
|
||||
background-color: rgba(255, 255, 255, 0.8);
|
||||
color: #bbb;
|
||||
}
|
||||
|
||||
.leaflet-touch .leaflet-control-zoom a {
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
}
|
||||
.leaflet-touch .leaflet-control-zoom-in {
|
||||
font-size: 24px;
|
||||
line-height: 29px;
|
||||
}
|
||||
.leaflet-touch .leaflet-control-zoom-out {
|
||||
font-size: 28px;
|
||||
line-height: 24px;
|
||||
}
|
||||
|
||||
/* layers control */
|
||||
|
||||
.leaflet-control-layers {
|
||||
box-shadow: 0 1px 7px rgba(0,0,0,0.4);
|
||||
background: #f8f8f9;
|
||||
-webkit-border-radius: 8px;
|
||||
border-radius: 8px;
|
||||
}
|
||||
.leaflet-control-layers-toggle {
|
||||
background-image: url(images/layers.png);
|
||||
width: 36px;
|
||||
height: 36px;
|
||||
}
|
||||
.leaflet-touch .leaflet-control-layers-toggle {
|
||||
width: 44px;
|
||||
height: 44px;
|
||||
}
|
||||
.leaflet-control-layers .leaflet-control-layers-list,
|
||||
.leaflet-control-layers-expanded .leaflet-control-layers-toggle {
|
||||
display: none;
|
||||
}
|
||||
.leaflet-control-layers-expanded .leaflet-control-layers-list {
|
||||
display: block;
|
||||
position: relative;
|
||||
}
|
||||
.leaflet-control-layers-expanded {
|
||||
padding: 6px 10px 6px 6px;
|
||||
color: #333;
|
||||
background: #fff;
|
||||
}
|
||||
.leaflet-control-layers-selector {
|
||||
margin-top: 2px;
|
||||
position: relative;
|
||||
top: 1px;
|
||||
}
|
||||
.leaflet-control-layers label {
|
||||
display: block;
|
||||
}
|
||||
.leaflet-control-layers-separator {
|
||||
height: 0;
|
||||
border-top: 1px solid #ddd;
|
||||
margin: 5px -10px 5px -6px;
|
||||
}
|
||||
|
||||
|
||||
/* attribution and scale controls */
|
||||
|
||||
.leaflet-container .leaflet-control-attribution {
|
||||
background-color: rgba(255, 255, 255, 0.7);
|
||||
box-shadow: 0 0 5px #bbb;
|
||||
margin: 0;
|
||||
}
|
||||
.leaflet-control-attribution,
|
||||
.leaflet-control-scale-line {
|
||||
padding: 0 5px;
|
||||
color: #333;
|
||||
}
|
||||
.leaflet-container .leaflet-control-attribution,
|
||||
.leaflet-container .leaflet-control-scale {
|
||||
font-size: 11px;
|
||||
}
|
||||
.leaflet-left .leaflet-control-scale {
|
||||
margin-left: 5px;
|
||||
}
|
||||
.leaflet-bottom .leaflet-control-scale {
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
.leaflet-control-scale-line {
|
||||
border: 2px solid #777;
|
||||
border-top: none;
|
||||
color: black;
|
||||
line-height: 1.1;
|
||||
padding: 2px 5px 1px;
|
||||
font-size: 11px;
|
||||
text-shadow: 1px 1px 1px #fff;
|
||||
background-color: rgba(255, 255, 255, 0.5);
|
||||
box-shadow: 0 -1px 5px rgba(0, 0, 0, 0.2);
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
}
|
||||
.leaflet-control-scale-line:not(:first-child) {
|
||||
border-top: 2px solid #777;
|
||||
border-bottom: none;
|
||||
margin-top: -2px;
|
||||
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
|
||||
}
|
||||
.leaflet-control-scale-line:not(:first-child):not(:last-child) {
|
||||
border-bottom: 2px solid #777;
|
||||
}
|
||||
|
||||
.leaflet-touch .leaflet-control-attribution,
|
||||
.leaflet-touch .leaflet-control-layers,
|
||||
.leaflet-touch .leaflet-control-zoom {
|
||||
box-shadow: none;
|
||||
}
|
||||
.leaflet-touch .leaflet-control-layers,
|
||||
.leaflet-touch .leaflet-control-zoom {
|
||||
border: 4px solid rgba(0,0,0,0.3);
|
||||
}
|
||||
|
||||
|
||||
/* popup */
|
||||
|
||||
.leaflet-popup {
|
||||
position: absolute;
|
||||
text-align: center;
|
||||
}
|
||||
.leaflet-popup-content-wrapper {
|
||||
padding: 1px;
|
||||
text-align: left;
|
||||
-webkit-border-radius: 20px;
|
||||
border-radius: 20px;
|
||||
}
|
||||
.leaflet-popup-content {
|
||||
margin: 14px 20px;
|
||||
line-height: 1.4;
|
||||
}
|
||||
.leaflet-popup-content p {
|
||||
margin: 18px 0;
|
||||
}
|
||||
.leaflet-popup-tip-container {
|
||||
margin: 0 auto;
|
||||
width: 40px;
|
||||
height: 20px;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
}
|
||||
.leaflet-popup-tip {
|
||||
width: 15px;
|
||||
height: 15px;
|
||||
padding: 1px;
|
||||
|
||||
margin: -8px auto 0;
|
||||
|
||||
-webkit-transform: rotate(45deg);
|
||||
-moz-transform: rotate(45deg);
|
||||
-ms-transform: rotate(45deg);
|
||||
-o-transform: rotate(45deg);
|
||||
transform: rotate(45deg);
|
||||
}
|
||||
.leaflet-popup-content-wrapper, .leaflet-popup-tip {
|
||||
background: white;
|
||||
|
||||
box-shadow: 0 3px 14px rgba(0,0,0,0.4);
|
||||
}
|
||||
.leaflet-container a.leaflet-popup-close-button {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
padding: 4px 5px 0 0;
|
||||
text-align: center;
|
||||
width: 18px;
|
||||
height: 14px;
|
||||
font: 16px/14px Tahoma, Verdana, sans-serif;
|
||||
color: #c3c3c3;
|
||||
text-decoration: none;
|
||||
font-weight: bold;
|
||||
background: transparent;
|
||||
}
|
||||
.leaflet-container a.leaflet-popup-close-button:hover {
|
||||
color: #999;
|
||||
}
|
||||
.leaflet-popup-scrolled {
|
||||
overflow: auto;
|
||||
border-bottom: 1px solid #ddd;
|
||||
border-top: 1px solid #ddd;
|
||||
}
|
||||
|
||||
|
||||
/* div icon */
|
||||
|
||||
.leaflet-div-icon {
|
||||
background: #fff;
|
||||
border: 1px solid #666;
|
||||
}
|
||||
.leaflet-editing-icon {
|
||||
-webkit-border-radius: 2px;
|
||||
border-radius: 2px;
|
||||
}
|
57
productMods/js/leaflet/dist/leaflet.ie.css
vendored
Executable file
57
productMods/js/leaflet/dist/leaflet.ie.css
vendored
Executable file
|
@ -0,0 +1,57 @@
|
|||
.leaflet-vml-shape {
|
||||
width: 1px;
|
||||
height: 1px;
|
||||
}
|
||||
.lvml {
|
||||
behavior: url(#default#VML);
|
||||
display: inline-block;
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
.leaflet-control {
|
||||
display: inline;
|
||||
}
|
||||
|
||||
.leaflet-popup-tip {
|
||||
width: 21px;
|
||||
_width: 27px;
|
||||
margin: 0 auto;
|
||||
_margin-top: -3px;
|
||||
|
||||
filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678);
|
||||
-ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";
|
||||
}
|
||||
.leaflet-popup-tip-container {
|
||||
margin-top: -1px;
|
||||
}
|
||||
.leaflet-popup-content-wrapper, .leaflet-popup-tip {
|
||||
border: 1px solid #999;
|
||||
}
|
||||
.leaflet-popup-content-wrapper {
|
||||
zoom: 1;
|
||||
}
|
||||
|
||||
.leaflet-control-zoom,
|
||||
.leaflet-control-layers {
|
||||
border: 3px solid #999;
|
||||
}
|
||||
.leaflet-control-zoom a {
|
||||
background-color: #eee;
|
||||
}
|
||||
.leaflet-control-zoom a:hover {
|
||||
background-color: #fff;
|
||||
}
|
||||
.leaflet-control-layers-toggle {
|
||||
}
|
||||
.leaflet-control-attribution,
|
||||
.leaflet-control-layers,
|
||||
.leaflet-control-scale-line {
|
||||
background: white;
|
||||
}
|
||||
.leaflet-zoom-box {
|
||||
filter: alpha(opacity=50);
|
||||
}
|
||||
.leaflet-control-attribution {
|
||||
border-top: 1px solid #bbb;
|
||||
border-left: 1px solid #bbb;
|
||||
}
|
8
productMods/js/leaflet/dist/leaflet.js
vendored
Executable file
8
productMods/js/leaflet/dist/leaflet.js
vendored
Executable file
File diff suppressed because one or more lines are too long
Loading…
Add table
Add a link
Reference in a new issue