import Check from '../Core/Check.js';
|
import defined from '../Core/defined.js';
|
|
/**
|
* A static class with helper functions used by the CesiumInspector and Cesium3DTilesInspector
|
* @private
|
*/
|
var InspectorShared = {};
|
|
/**
|
* Creates a checkbox component
|
* @param {String} labelText The text to display in the checkbox label
|
* @param {String} checkedBinding The name of the variable used for checked binding
|
* @param {String} [enableBinding] The name of the variable used for enable binding
|
* @return {Element}
|
*/
|
InspectorShared.createCheckbox = function (labelText, checkedBinding, enableBinding) {
|
//>>includeStart('debug', pragmas.debug);
|
Check.typeOf.string('labelText', labelText);
|
Check.typeOf.string('checkedBinding', checkedBinding);
|
//>>includeEnd('debug');
|
var checkboxContainer = document.createElement('div');
|
var checkboxLabel = document.createElement('label');
|
var checkboxInput = document.createElement('input');
|
checkboxInput.type = 'checkbox';
|
|
var binding = 'checked: ' + checkedBinding;
|
if (defined(enableBinding)) {
|
binding += ', enable: ' + enableBinding;
|
}
|
checkboxInput.setAttribute('data-bind', binding);
|
checkboxLabel.appendChild(checkboxInput);
|
checkboxLabel.appendChild(document.createTextNode(labelText));
|
checkboxContainer.appendChild(checkboxLabel);
|
return checkboxContainer;
|
};
|
|
/**
|
* Creates a section element
|
* @param {Element} panel The parent element
|
* @param {String} headerText The text to display at the top of the section
|
* @param {String} sectionVisibleBinding The name of the variable used for visible binding
|
* @param {String} toggleSectionVisibilityBinding The name of the function used to toggle visibility
|
* @return {Element}
|
*/
|
InspectorShared.createSection = function (panel, headerText, sectionVisibleBinding, toggleSectionVisibilityBinding) {
|
//>>includeStart('debug', pragmas.debug);
|
Check.defined('panel', panel);
|
Check.typeOf.string('headerText', headerText);
|
Check.typeOf.string('sectionVisibleBinding', sectionVisibleBinding);
|
Check.typeOf.string('toggleSectionVisibilityBinding', toggleSectionVisibilityBinding);
|
//>>includeEnd('debug');
|
var section = document.createElement('div');
|
section.className = 'cesium-cesiumInspector-section';
|
section.setAttribute('data-bind', 'css: { "cesium-cesiumInspector-section-collapsed": !' + sectionVisibleBinding + ' }');
|
panel.appendChild(section);
|
|
var sectionHeader = document.createElement('h3');
|
sectionHeader.className = 'cesium-cesiumInspector-sectionHeader';
|
sectionHeader.appendChild(document.createTextNode(headerText));
|
sectionHeader.setAttribute('data-bind', 'click: ' + toggleSectionVisibilityBinding);
|
section.appendChild(sectionHeader);
|
|
var sectionContent = document.createElement('div');
|
sectionContent.className = 'cesium-cesiumInspector-sectionContent';
|
section.appendChild(sectionContent);
|
return sectionContent;
|
};
|
export default InspectorShared;
|