You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
83 lines
2.9 KiB
HTML
83 lines
2.9 KiB
HTML
2 years ago
|
{% extends "!page.html" %}
|
||
|
|
||
|
{% block footer %}
|
||
|
|
||
|
<style>
|
||
|
.wy-side-nav-search > div[role="search"] {
|
||
|
color: black;
|
||
|
}
|
||
|
</style>
|
||
|
<script type="text/javascript">
|
||
|
$(document).ready(function() {
|
||
|
$(".toggle > *").hide();
|
||
|
$(".toggle .header").show();
|
||
|
$(".toggle .header").click(function() {
|
||
|
$(this).parent().children().not(".header").toggle(400);
|
||
|
$(this).parent().children(".header").toggleClass("open");
|
||
|
})
|
||
|
});
|
||
|
</script>
|
||
|
|
||
|
<script type="text/javascript">
|
||
|
function add_version_selector()
|
||
|
{
|
||
|
return fetch("https://raw.githubusercontent.com/lvgl/docs_compiled/gh-pages/versionlist.txt")
|
||
|
.then(res => res.text())
|
||
|
.then(text => {
|
||
|
const versions = text.split("\n").filter(version => version.trim().length > 0);
|
||
|
let p = document.getElementById("rtd-search-form").parentElement;
|
||
|
p.innerHTML = `
|
||
|
<select name="versions" id="versions" onchange="ver_sel()" style="border-radius:5px; margin-bottom:15px">
|
||
|
${versions.map(version => {
|
||
|
let versionName = "";
|
||
|
if(version == "master") versionName = "master (latest)";
|
||
|
else versionName = "v" + ((version.indexOf(".") != -1) ? version : (version + " (latest minor)"));
|
||
|
return `<option value="${version}">${versionName}</option>`;
|
||
|
})}
|
||
|
</select>` + p.innerHTML;
|
||
|
});
|
||
|
}
|
||
|
|
||
|
function ver_sel()
|
||
|
{
|
||
|
var x = document.getElementById("versions").value;
|
||
|
window.location.href = window.location.protocol + "//" + window.location.host + "/" + x + "/";
|
||
|
}
|
||
|
|
||
|
document.addEventListener('DOMContentLoaded', (event) => {
|
||
|
add_version_selector().then(() => {
|
||
|
var value = window.location.pathname.split('/')[1];
|
||
|
document.getElementById("versions").value = value;
|
||
|
});
|
||
|
|
||
|
})
|
||
|
document.addEventListener('DOMContentLoaded', (event) => {
|
||
|
function onIntersection(entries) {
|
||
|
entries.forEach(entry => {
|
||
|
let currentlyLoaded = entry.target.getAttribute("data-is-loaded") == "true";
|
||
|
let shouldBeLoaded = entry.intersectionRatio > 0;
|
||
|
if(currentlyLoaded != shouldBeLoaded) {
|
||
|
entry.target.setAttribute("data-is-loaded", shouldBeLoaded);
|
||
|
if(shouldBeLoaded) {
|
||
|
let iframe = document.createElement("iframe");
|
||
|
iframe.src = entry.target.getAttribute("data-real-src");
|
||
|
entry.target.appendChild(iframe);
|
||
|
} else {
|
||
|
let iframe = entry.target.querySelector("iframe");
|
||
|
iframe.parentNode.removeChild(iframe);
|
||
|
}
|
||
|
}
|
||
|
});
|
||
|
}
|
||
|
const config = {
|
||
|
rootMargin: '600px 0px',
|
||
|
threshold: 0.01
|
||
|
};
|
||
|
let observer = new IntersectionObserver(onIntersection, config);
|
||
|
document.querySelectorAll(".lv-example").forEach(iframe => {
|
||
|
observer.observe(iframe);
|
||
|
});
|
||
|
});
|
||
|
</script>
|
||
|
{% endblock %}
|