Commit 2dbd8f1f authored by Schaaf's avatar Schaaf
Browse files

Initial commit

parents
This diff is collapsed.
This diff is collapsed.
@import url("../../ThirdParty/dojo-release-1.10.4/dijit/themes/claro/claro.css");
html,
body {
height: 100%;
margin: 0;
overflow: hidden;
padding: 0;
font-family: sans-serif;
}
#loading {
display: table;
position: fixed;
width: 100%;
height: 100%;
z-index: 5000;
background: #eee;
border: none;
text-align: center;
color: #777;
}
#loading span {
display: table-cell;
vertical-align: middle;
}
#appLayout {
width: 100%;
height: 100%;
}
#toolbar,
#galleryContainer {
-ms-user-select: none;
-moz-user-select: -moz-none; /* allows for re-enabling on sub-elements like the search box */
-webkit-user-select: none;
user-select: none;
}
#search {
-ms-user-select: text;
-moz-user-select: text;
-webkit-user-select: text;
user-select: text;
}
.cesiumTitle {
float: right;
}
#codeContainer {
width: 40%;
}
#bottomPanel {
height: 225px;
}
.galleryContainer {
width: 100%;
}
.demosContainer {
overflow: auto;
background: rgba(0, 0, 0, 0.8);
}
.demos {
padding: 0 5px 5px;
white-space: nowrap;
}
.demoTileThumbnail {
max-height: 150px;
max-width: 225px;
height: 100px;
width: auto;
}
.demoTileTitle {
margin: 0 auto 2px auto;
font-size: 0.9em;
}
.demoTooltipType {
text-align: center;
color: #888;
margin-bottom: 5px;
padding-right: 10px;
}
.subInfo {
font-size: 11px;
}
.galleryError {
color: #f88;
}
#docPopup {
display: block;
position: absolute;
left: -999px;
top: 0;
font-family: sans-serif;
font-size: 10pt;
}
#docPopup a,
#docPopup a:visited {
display: block;
text-decoration: none;
line-height: 12pt;
}
#docPopup a:focus,
#docPopup a:hover {
text-decoration: underline;
}
.logContainer {
display: block;
width: 100%;
height: 100%;
overflow-x: auto;
overflow-y: scroll;
}
#logOutput {
white-space: pre-wrap;
padding: 2px 4px;
font-size: 9pt;
font-family: monospace;
}
.consoleError {
color: #f00;
}
.fullFrame {
border: none;
width: 100%;
height: 100%;
transition-property: transform;
transition-duration: 0.5s;
transform-origin: 200px 152px; /* These numbers should be divisible by 4 because of scaling in .makeThumbnail */
}
.makeThumbnail {
width: 900px;
height: 600px;
transform: scale(0.25);
}
.popDownDialog {
width: 360px;
}
a.linkButton,
a.linkButton:visited {
display: inline-block;
}
a.linkButton:focus,
a.linkButton:hover {
text-decoration: none;
}
.CodeMirror,
.CodeMirror-scroll {
height: 100%;
font-size: 13px;
}
.highlightToolbarButton {
background: #fe2;
border-radius: 4px;
}
.claro .bottomPanel {
padding: 0;
overflow: hidden;
}
.bottomPanel #innerPanel_tablist {
max-height: 28px;
overflow: auto !important;
}
.claro .dijitTabContainerTop-tabs .dijitTabChecked .dijitTabContent {
background-position: 0 -103px;
}
.claro .dijitTabContainerTop-dijitContentPane {
padding: 0;
overflow: hidden;
}
.mblScrollBarWrapper > div {
background-color: #9ed3ff !important;
}
.errorMarker {
width: 100%;
height: 100%;
color: #222;
font-weight: bold;
background-color: #f42;
border-radius: 3px;
border: none;
}
.CodeMirror pre.errorLine {
background: rgba(200, 50, 0, 0.2);
}
.hintMarker {
width: 100%;
height: 100%;
color: #222;
font-weight: bold;
background-color: #fe2;
border-radius: 3px;
border: none;
}
.CodeMirror pre.hintLine {
background: rgba(200, 200, 0, 0.2);
}
.highlightMarker {
width: 100%;
height: 100%;
color: #222;
font-weight: bold;
background-color: #2e2;
border-radius: 3px;
border: none;
}
.CodeMirror pre.highlightLine {
background: rgba(0, 200, 0, 0.2);
}
.searchMarker {
width: 100%;
height: 100%;
color: #222;
font-weight: bold;
background-color: #cef;
border-radius: 3px;
border: none;
}
.CodeMirror pre.searchLine {
background: rgba(180, 230, 240, 0.2);
}
.CodeMirror-gutter-text {
cursor: default;
}
.gitHubIcon {
background-image: url("./images/gitHub16px.png");
width: 16px;
height: 16px;
text-align: center;
}
.shareIcon {
background-image: url("./images/share16px.png");
width: 16px;
height: 16px;
text-align: center;
}
This diff is collapsed.
define([
"dijit/_CssStateMixin",
"dijit/_TemplatedMixin",
"dijit/_WidgetBase",
"dojo/_base/declare",
"dojo/dom-class",
"dojo/text!./templates/LinkButton.html",
], function (
_CssStateMixin,
_TemplatedMixin,
_WidgetBase,
declare,
domClass,
template
) {
"use strict";
return declare(
"Sandcastle.LinkButton",
[_WidgetBase, _TemplatedMixin, _CssStateMixin],
{
baseClass: "dijitButton",
templateString: template,
showLabel: true,
_setShowLabelAttr: function (val) {
if (this.containerNode) {
domClass.toggle(this.containerNode, "dijitDisplayNone", !val);
}
this._set("showLabel", val);
},
_setLabelAttr: function (/*String*/ content) {
this._set("label", content);
(this.containerNode || this.focusNode).innerHTML = content;
},
}
);
});
(function () {
"use strict";
window.parent.postMessage("reload", "*");
function defined(value) {
return value !== undefined;
}
function print(value) {
if (value === null) {
return "null";
} else if (defined(value)) {
return value.toString();
}
return "undefined";
}
console.originalLog = console.log;
console.log = function (d1) {
console.originalLog.apply(console, arguments);
window.parent.postMessage(
{
log: print(d1),
},
"*"
);
};
console.originalWarn = console.warn;
console.warn = function (d1) {
console.originalWarn.apply(console, arguments);
window.parent.postMessage(
{
warn: defined(d1) ? d1.toString() : "undefined",
},
"*"
);
};
console.originalError = console.error;
console.error = function (d1) {
console.originalError.apply(console, arguments);
if (!defined(d1)) {
window.parent.postMessage(
{
error: "undefined",
},
"*"
);
return;
}
// Look for d1.stack, "bucket.html:line:char"
var lineNumber = -1;
var errorMsg = d1.toString();
if (typeof d1.stack === "string") {
var stack = d1.stack;
var pos = stack.indexOf(Sandcastle.bucket);
if (pos < 0) {
pos = stack.indexOf("<anonymous>");
}
if (pos >= 0) {
var lineStart = stack.indexOf(":", pos);
if (lineStart > pos) {
var lineEnd1 = stack.indexOf(":", lineStart + 1);
var lineEnd2 = stack.indexOf("\n", lineStart + 1);
if (
lineEnd2 > lineStart &&
(lineEnd2 < lineEnd1 || lineEnd1 < lineStart)
) {
lineEnd1 = lineEnd2;
}
if (lineEnd1 > lineStart) {
/*eslint-disable no-empty*/
try {
lineNumber = parseInt(
stack.substring(lineStart + 1, lineEnd1),
10
);
} catch (ex) {}
/*eslint-enable no-empty*/
}
}
}
}
if (lineNumber >= 0) {
window.parent.postMessage(
{
error: errorMsg,
lineNumber: lineNumber,
},
"*"
);
} else {
window.parent.postMessage(
{
error: errorMsg,
},
"*"
);
}
};
window.onerror = function (errorMsg, url, lineNumber) {
if (defined(lineNumber)) {
if (defined(url) && url.indexOf(Sandcastle.bucket) > -1) {
// if the URL is the bucket itself, ignore it
url = "";
}
if (lineNumber < 1) {
// Change lineNumber to the local one for highlighting.
/*eslint-disable no-empty*/
try {
var pos = errorMsg.indexOf(Sandcastle.bucket + ":");
if (pos < 0) {
pos = errorMsg.indexOf("<anonymous>");
}
if (pos >= 0) {
pos += 12;
lineNumber = parseInt(errorMsg.substring(pos), 10);
}
} catch (ex) {}
/*eslint-enable no-empty*/
}
window.parent.postMessage(
{
error: errorMsg,
url: url,
lineNumber: lineNumber,
},
"*"
);
} else {
window.parent.postMessage(
{
error: errorMsg,
url: url,
},
"*"
);
}
console.originalError.apply(console, [errorMsg]);
return false;
};
Sandcastle.declare = function (obj) {
/*eslint-disable no-empty*/
try {
//Browsers such as IE don't have a stack property until you actually throw the error.
var stack = "";
try {
throw new Error();
} catch (ex) {
stack = ex.stack.toString();
}
var needle = Sandcastle.bucket + ":"; // Firefox
var pos = stack.indexOf(needle);
if (pos < 0) {
needle = " (<anonymous>:"; // Chrome
pos = stack.indexOf(needle);
}
if (pos < 0) {
needle = " (Unknown script code:"; // IE 11
pos = stack.indexOf(needle);
}
if (pos >= 0) {
pos += needle.length;
var lineNumber = parseInt(stack.substring(pos), 10);
Sandcastle.registered.push({
obj: obj,
lineNumber: lineNumber,
});
}
} catch (ex) {}
/*eslint-enable no-empty*/
};
Sandcastle.highlight = function (obj) {
if (typeof obj !== "undefined") {
for (var i = 0, len = Sandcastle.registered.length; i < len; ++i) {
if (
obj === Sandcastle.registered[i].obj ||
obj.primitive === Sandcastle.registered[i].obj
) {
window.parent.postMessage(
{
highlight: Sandcastle.registered[i].lineNumber,
},
"*"
);
return;
}
}
}
window.parent.postMessage(
{
highlight: 0,
},
"*"
);
};
})();
(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;