/** * This object contains all possible options. It will check if the types are correct, if required if the option is one * of the allowed values. * * __any__ means that the name of the property does not matter. * __type__ is a required field for all objects and contains the allowed types of all objects */ let string = 'string'; let bool = 'boolean'; let number = 'number'; let object = 'object'; // should only be in a __type__ property // Following not used here, but useful for reference //let array = 'array'; //let dom = 'dom'; //let any = 'any'; let colorOptions = { fill : { string }, stroke : { string }, strokeWidth: { number }, __type__ : { string, object, 'undefined': 'undefined' } }; /** * Order attempted to be alphabetical. * - x/y/z-prefixes ignored in sorting * - __type__ always at end * - globals at end */ let allOptions = { animationAutoStart: { boolean: bool, 'undefined': 'undefined' }, animationInterval : { number }, animationPreload : { boolean: bool }, axisColor : { string }, backgroundColor : colorOptions, xBarWidth : { number, 'undefined': 'undefined' }, yBarWidth : { number, 'undefined': 'undefined' }, cameraPosition : { distance : { number }, horizontal: { number }, vertical : { number }, __type__ : { object } }, xCenter : { string }, yCenter : { string }, dataColor : colorOptions, dotSizeMinFraction: { number }, dotSizeMaxFraction: { number }, dotSizeRatio : { number }, filterLabel : { string }, gridColor : { string }, onclick : { 'function': 'function' }, keepAspectRatio : { boolean: bool }, xLabel : { string }, yLabel : { string }, zLabel : { string }, legendLabel : { string }, xMin : { number, 'undefined': 'undefined' }, yMin : { number, 'undefined': 'undefined' }, zMin : { number, 'undefined': 'undefined' }, xMax : { number, 'undefined': 'undefined' }, yMax : { number, 'undefined': 'undefined' }, zMax : { number, 'undefined': 'undefined' }, showAnimationControls: { boolean: bool, 'undefined': 'undefined' }, showGrid : { boolean: bool }, showLegend : { boolean: bool, 'undefined': 'undefined' }, showPerspective : { boolean: bool }, showShadow : { boolean: bool }, showXAxis : { boolean: bool }, showYAxis : { boolean: bool }, showZAxis : { boolean: bool }, xStep : { number, 'undefined': 'undefined' }, yStep : { number, 'undefined': 'undefined' }, zStep : { number, 'undefined': 'undefined' }, style: { number, // TODO: either Graph3d.DEFAULT has string, or number allowed in documentation string: [ 'bar', 'bar-color', 'bar-size', 'dot', 'dot-line', 'dot-color', 'dot-size', 'line', 'grid', 'surface' ] }, tooltip : { boolean: bool, 'function': 'function' }, tooltipStyle : { content: { color : { string }, background : { string }, border : { string }, borderRadius: { string }, boxShadow : { string }, padding : { string }, __type__ : { object } }, line: { borderLeft: { string }, height : { string }, width : { string }, __type__ : { object } }, dot: { border : { string }, borderRadius: { string }, height : { string }, width : { string }, __type__ : { object}, }, __type__: { object} }, xValueLabel : { 'function': 'function' }, yValueLabel : { 'function': 'function' }, zValueLabel : { 'function': 'function' }, valueMax : { number, 'undefined': 'undefined' }, valueMin : { number, 'undefined': 'undefined' }, verticalRatio : { number }, //globals : height: { string }, width: { string }, __type__: { object } }; export {allOptions};