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.

112 lines
3.5 KiB
JavaScript

(function () {
"use strict";
var defaultAction;
var bucket = window.location.href;
var pos = bucket.lastIndexOf("/");
if (pos > 0 && pos < bucket.length - 1) {
bucket = bucket.substring(pos + 1);
}
window.Sandcastle = {
bucket: bucket,
declare: function () {},
highlight: function () {},
registered: [],
finishedLoading: function () {
window.Sandcastle.reset();
if (defaultAction) {
window.Sandcastle.highlight(defaultAction);
defaultAction();
defaultAction = undefined;
}
document.body.className = document.body.className.replace(
/(?:\s|^)sandcastle-loading(?:\s|$)/,
" "
);
},
addToggleButton: function (text, checked, onchange, toolbarID) {
window.Sandcastle.declare(onchange);
var input = document.createElement("input");
input.checked = checked;
input.type = "checkbox";
input.style.pointerEvents = "none";
var label = document.createElement("label");
label.appendChild(input);
label.appendChild(document.createTextNode(text));
label.style.pointerEvents = "none";
var button = document.createElement("button");
button.type = "button";
button.className = "cesium-button";
button.appendChild(label);
button.onclick = function () {
window.Sandcastle.reset();
window.Sandcastle.highlight(onchange);
input.checked = !input.checked;
onchange(input.checked);
};
document.getElementById(toolbarID || "toolbar").appendChild(button);
},
addToolbarButton: function (text, onclick, toolbarID) {
window.Sandcastle.declare(onclick);
var button = document.createElement("button");
button.type = "button";
button.className = "cesium-button";
button.onclick = function () {
window.Sandcastle.reset();
window.Sandcastle.highlight(onclick);
onclick();
};
button.textContent = text;
document.getElementById(toolbarID || "toolbar").appendChild(button);
},
addDefaultToolbarButton: function (text, onclick, toolbarID) {
window.Sandcastle.addToolbarButton(text, onclick, toolbarID);
defaultAction = onclick;
},
addDefaultToolbarMenu: function (options, toolbarID) {
window.Sandcastle.addToolbarMenu(options, toolbarID);
defaultAction = options[0].onselect;
},
addToolbarMenu: function (options, toolbarID) {
var menu = document.createElement("select");
menu.className = "cesium-button";
menu.onchange = function () {
window.Sandcastle.reset();
var item = options[menu.selectedIndex];
if (item && typeof item.onselect === "function") {
item.onselect();
}
};
document.getElementById(toolbarID || "toolbar").appendChild(menu);
if (!defaultAction && typeof options[0].onselect === "function") {
defaultAction = options[0].onselect;
}
for (var i = 0, len = options.length; i < len; ++i) {
var option = document.createElement("option");
option.textContent = options[i].text;
option.value = options[i].value;
menu.appendChild(option);
}
},
reset: function () {},
};
if (window.location.protocol === "file:") {
if (
window.confirm(
"You must host this app on a web server.\nSee contributor's guide for more info?"
)
) {
window.location =
"https://github.com/CesiumGS/cesium/wiki/Contributor%27s-Guide";
}
}
})();