Merge pull request #5332 from ahocevar/examples-outdated-warning
Warn when viewing an outdated example, and offer a redirect to latest
This commit is contained in:
@@ -36,6 +36,11 @@
|
|||||||
|
|
||||||
<div class="container-fluid">
|
<div class="container-fluid">
|
||||||
|
|
||||||
|
<div id="latest-check" class="alert alert-warning alert-dismissible" role="alert" style="display:none">
|
||||||
|
<button id="latest-dismiss" type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||||
|
This example uses OpenLayers v<span>{{ olVersion }}</span>. The <a id="latest-link" href="#" class="alert-link">latest</a> is v<span id="latest-version"></span>.
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="row-fluid">
|
<div class="row-fluid">
|
||||||
<div class="span12">
|
<div class="span12">
|
||||||
<h4 id="title">{{ title }}</h4>
|
<h4 id="title">{{ title }}</h4>
|
||||||
@@ -85,4 +90,30 @@
|
|||||||
<script src="./resources/prism/prism.min.js"></script>
|
<script src="./resources/prism/prism.min.js"></script>
|
||||||
{{{ js.tag }}}
|
{{{ js.tag }}}
|
||||||
</body>
|
</body>
|
||||||
|
<script>
|
||||||
|
var packageUrl = 'https://raw.githubusercontent.com/openlayers/openlayers.github.io/build/package.json';
|
||||||
|
fetch(packageUrl).then(function(response) {
|
||||||
|
return response.json();
|
||||||
|
}).then(function(json) {
|
||||||
|
var latestVersion = json.version;
|
||||||
|
document.getElementById('latest-version').innerHTML = latestVersion;
|
||||||
|
var url = window.location.href;
|
||||||
|
var branchSearch = url.match(/\/([^\/]*)\/examples\//);
|
||||||
|
var cookieText = 'dismissed=-' + latestVersion + '-';
|
||||||
|
var dismissed = document.cookie.indexOf(cookieText) != -1;
|
||||||
|
if (!dismissed && /^v[0-9\.]*$/.test(branchSearch[1]) && '{{ olVersion }}' != latestVersion) {
|
||||||
|
var link = url.replace(branchSearch[0], '/latest/examples/');
|
||||||
|
fetch(link, {method: 'head'}).then(function(response) {
|
||||||
|
var a = document.getElementById('latest-link');
|
||||||
|
a.href = response.status == 200 ? link : '../../latest/examples/';
|
||||||
|
});
|
||||||
|
var latestCheck = document.getElementById('latest-check');
|
||||||
|
latestCheck.style.display = '';
|
||||||
|
document.getElementById('latest-dismiss').onclick = function() {
|
||||||
|
latestCheck.style.display = 'none';
|
||||||
|
document.cookie = cookieText;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
</script>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
@@ -122,3 +122,7 @@ pre {
|
|||||||
#api-links ul {
|
#api-links ul {
|
||||||
display: inline;
|
display: inline;
|
||||||
}
|
}
|
||||||
|
#latest-check {
|
||||||
|
margin-top: -10px;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user