mirror of
https://github.com/google/comprehensive-rust.git
synced 2025-01-10 00:44:21 +02:00
8e668cdadd
This reverts commit e2cad7da8d
.
Fixes #2105, #2104.
72 lines
2.7 KiB
JavaScript
72 lines
2.7 KiB
JavaScript
(function handleInstructor() {
|
|
function handleInstructorMenu() {
|
|
let leftButtons = document.getElementsByClassName("left-buttons")[0];
|
|
let instructorMenu = document.createElement("button");
|
|
let instructorMenuList = document.createElement("ul");
|
|
let redBoxItem = document.createElement("li");
|
|
let redBoxButton = document.createElement("button");
|
|
let playgroundStateItem = document.createElement("li");
|
|
let playgroundStateButton = document.createElement("button");
|
|
|
|
leftButtons.insertBefore(instructorMenu, leftButtons.lastChild);
|
|
leftButtons.insertBefore(instructorMenuList, leftButtons.lastChild);
|
|
instructorMenuList.insertBefore(redBoxItem, instructorMenuList.lastChild);
|
|
instructorMenuList.insertBefore(
|
|
playgroundStateItem,
|
|
instructorMenuList.lastChild
|
|
);
|
|
redBoxItem.insertBefore(redBoxButton, redBoxItem.lastChild);
|
|
playgroundStateItem.insertBefore(
|
|
playgroundStateButton,
|
|
playgroundStateItem.lastChild
|
|
);
|
|
|
|
instructorMenu.title = "Utilities for course instructors";
|
|
instructorMenu.innerHTML =
|
|
'<i class="fa fa-ellipsis-v" aria-hidden="true"></i>';
|
|
redBoxButton.innerHTML = "aspect-ratio box";
|
|
redBoxButton.title =
|
|
"Outline the area that fits on one screen while teaching the course.";
|
|
playgroundStateButton.innerHTML = "reset all playgrounds";
|
|
playgroundStateButton.title =
|
|
"Reset code in all playgrounds to its original value.";
|
|
|
|
instructorMenu.className = "icon-button";
|
|
instructorMenuList.className = "theme-popup";
|
|
redBoxButton.className = "theme";
|
|
playgroundStateButton.className = "theme";
|
|
instructorMenuList.style.display = "none";
|
|
|
|
instructorMenuList.role = "menu";
|
|
redBoxItem.role = "none";
|
|
playgroundStateItem.role = "none";
|
|
redBoxButton.role = "menuitem";
|
|
playgroundStateButton.role = "menuitem";
|
|
|
|
redBoxButton.id = "redbox";
|
|
instructorMenuList.id = "instructor-menu-list";
|
|
playgroundStateButton.id = "playground-state";
|
|
|
|
instructorMenu.addEventListener("click", () => {
|
|
if (instructorMenuList.style.display === "none") {
|
|
instructorMenuList.style.display = "block";
|
|
} else {
|
|
instructorMenuList.style.display = "none";
|
|
}
|
|
});
|
|
|
|
document.addEventListener("click", (e) => {
|
|
if (!instructorMenu.contains(e.target)) {
|
|
instructorMenuList.style.display = "none";
|
|
}
|
|
});
|
|
}
|
|
handleInstructorMenu();
|
|
var redBoxButton = document.getElementById("redbox");
|
|
var playgroundStateButton = document.getElementById("playground-state");
|
|
redBoxButton.addEventListener("click", () => window.redboxButtonClicked());
|
|
playgroundStateButton.addEventListener("click", () =>
|
|
window.resetPlaygroundsClicked()
|
|
);
|
|
})();
|