/**
|
|
* 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 boolean = 'boolean';
|
|
let number = 'number';
|
|
let array = 'array';
|
|
let date = 'date';
|
|
let object = 'object'; // should only be in a __type__ property
|
|
let dom = 'dom';
|
|
let moment = 'moment';
|
|
let any = 'any';
|
|
|
|
|
|
let allOptions = {
|
|
configure: {
|
|
enabled: {boolean},
|
|
filter: {boolean,'function': 'function'},
|
|
container: {dom},
|
|
__type__: {object,boolean,'function': 'function'}
|
|
},
|
|
|
|
//globals :
|
|
yAxisOrientation: {string:['left','right']},
|
|
defaultGroup: {string},
|
|
sort: {boolean},
|
|
sampling: {boolean},
|
|
stack:{boolean},
|
|
graphHeight: {string, number},
|
|
shaded: {
|
|
enabled: {boolean},
|
|
orientation: {string:['bottom','top']}, // top, bottom
|
|
__type__: {boolean,object}
|
|
},
|
|
style: {string:['line','bar','points']}, // line, bar
|
|
barChart: {
|
|
width: {number},
|
|
sideBySide: {boolean},
|
|
align: {string:['left','center','right']},
|
|
__type__: {object}
|
|
},
|
|
interpolation: {
|
|
enabled: {boolean},
|
|
parametrization: {string:['centripetal', 'chordal','uniform']}, // uniform (alpha = 0.0), chordal (alpha = 1.0), centripetal (alpha = 0.5)
|
|
alpha: {number},
|
|
__type__: {object,boolean}
|
|
},
|
|
drawPoints: {
|
|
enabled: {boolean},
|
|
onRender: { 'function': 'function' },
|
|
size: {number},
|
|
style: {string:['square','circle']}, // square, circle
|
|
__type__: {object,boolean,'function': 'function'}
|
|
},
|
|
dataAxis: {
|
|
showMinorLabels: {boolean},
|
|
showMajorLabels: {boolean},
|
|
icons: {boolean},
|
|
width: {string, number},
|
|
visible: {boolean},
|
|
alignZeros: {boolean},
|
|
left:{
|
|
range: {min:{number},max:{number},__type__: {object}},
|
|
format: {'function': 'function'},
|
|
title: {text:{string,number},style:{string},__type__: {object}},
|
|
__type__: {object}
|
|
},
|
|
right:{
|
|
range: {min:{number},max:{number},__type__: {object}},
|
|
format: {'function': 'function'},
|
|
title: {text:{string,number},style:{string},__type__: {object}},
|
|
__type__: {object}
|
|
},
|
|
__type__: {object}
|
|
},
|
|
legend: {
|
|
enabled: {boolean},
|
|
icons: {boolean},
|
|
left: {
|
|
visible: {boolean},
|
|
position: {string:['top-right','bottom-right','top-left','bottom-left']},
|
|
__type__: {object}
|
|
},
|
|
right: {
|
|
visible: {boolean},
|
|
position: {string:['top-right','bottom-right','top-left','bottom-left']},
|
|
__type__: {object}
|
|
},
|
|
__type__: {object,boolean}
|
|
},
|
|
groups: {
|
|
visibility: {any},
|
|
__type__: {object}
|
|
},
|
|
|
|
autoResize: {boolean},
|
|
throttleRedraw: {number},
|
|
clickToUse: {boolean},
|
|
end: {number, date, string, moment},
|
|
format: {
|
|
minorLabels: {
|
|
millisecond: {string,'undefined': 'undefined'},
|
|
second: {string,'undefined': 'undefined'},
|
|
minute: {string,'undefined': 'undefined'},
|
|
hour: {string,'undefined': 'undefined'},
|
|
weekday: {string,'undefined': 'undefined'},
|
|
day: {string,'undefined': 'undefined'},
|
|
month: {string,'undefined': 'undefined'},
|
|
year: {string,'undefined': 'undefined'},
|
|
__type__: {object}
|
|
},
|
|
majorLabels: {
|
|
millisecond: {string,'undefined': 'undefined'},
|
|
second: {string,'undefined': 'undefined'},
|
|
minute: {string,'undefined': 'undefined'},
|
|
hour: {string,'undefined': 'undefined'},
|
|
weekday: {string,'undefined': 'undefined'},
|
|
day: {string,'undefined': 'undefined'},
|
|
month: {string,'undefined': 'undefined'},
|
|
year: {string,'undefined': 'undefined'},
|
|
__type__: {object}
|
|
},
|
|
__type__: {object}
|
|
},
|
|
moment: {'function': 'function'},
|
|
height: {string, number},
|
|
hiddenDates: {object, array},
|
|
locale:{string},
|
|
locales:{
|
|
__any__: {any},
|
|
__type__: {object}
|
|
},
|
|
max: {date, number, string, moment},
|
|
maxHeight: {number, string},
|
|
min: {date, number, string, moment},
|
|
minHeight: {number, string},
|
|
moveable: {boolean},
|
|
multiselect: {boolean},
|
|
orientation: {string},
|
|
showCurrentTime: {boolean},
|
|
showMajorLabels: {boolean},
|
|
showMinorLabels: {boolean},
|
|
start: {date, number, string, moment},
|
|
timeAxis: {
|
|
scale: {string,'undefined': 'undefined'},
|
|
step: {number,'undefined': 'undefined'},
|
|
__type__: {object}
|
|
},
|
|
width: {string, number},
|
|
zoomable: {boolean},
|
|
zoomKey: {string: ['ctrlKey', 'altKey', 'metaKey', '']},
|
|
zoomMax: {number},
|
|
zoomMin: {number},
|
|
__type__: {object}
|
|
};
|
|
|
|
let configureOptions = {
|
|
global: {
|
|
//yAxisOrientation: ['left','right'], // TDOO: enable as soon as Grahp2d doesn't crash when changing this on the fly
|
|
sort: true,
|
|
sampling: true,
|
|
stack:false,
|
|
shaded: {
|
|
enabled: false,
|
|
orientation: ['top','bottom'] // top, bottom
|
|
},
|
|
style: ['line','bar','points'], // line, bar
|
|
barChart: {
|
|
width: [50,5,100,5],
|
|
sideBySide: false,
|
|
align: ['left','center','right'] // left, center, right
|
|
},
|
|
interpolation: {
|
|
enabled: true,
|
|
parametrization: ['centripetal','chordal','uniform'] // uniform (alpha = 0.0), chordal (alpha = 1.0), centripetal (alpha = 0.5)
|
|
},
|
|
drawPoints: {
|
|
enabled: true,
|
|
size: [6,2,30,1],
|
|
style: ['square', 'circle'] // square, circle
|
|
},
|
|
dataAxis: {
|
|
showMinorLabels: true,
|
|
showMajorLabels: true,
|
|
icons: false,
|
|
width: [40,0,200,1],
|
|
visible: true,
|
|
alignZeros: true,
|
|
left:{
|
|
//range: {min:'undefined': 'undefined'ined,max:'undefined': 'undefined'ined},
|
|
//format: function (value) {return value;},
|
|
title: {text:'',style:''}
|
|
},
|
|
right:{
|
|
//range: {min:'undefined': 'undefined'ined,max:'undefined': 'undefined'ined},
|
|
//format: function (value) {return value;},
|
|
title: {text:'',style:''}
|
|
}
|
|
},
|
|
legend: {
|
|
enabled: false,
|
|
icons: true,
|
|
left: {
|
|
visible: true,
|
|
position: ['top-right','bottom-right','top-left','bottom-left'] // top/bottom - left,right
|
|
},
|
|
right: {
|
|
visible: true,
|
|
position: ['top-right','bottom-right','top-left','bottom-left'] // top/bottom - left,right
|
|
}
|
|
},
|
|
|
|
autoResize: true,
|
|
throttleRedraw: [10, 0, 1000, 10],
|
|
clickToUse: false,
|
|
end: '',
|
|
format: {
|
|
minorLabels: {
|
|
millisecond:'SSS',
|
|
second: 's',
|
|
minute: 'HH:mm',
|
|
hour: 'HH:mm',
|
|
weekday: 'ddd D',
|
|
day: 'D',
|
|
month: 'MMM',
|
|
year: 'YYYY'
|
|
},
|
|
majorLabels: {
|
|
millisecond:'HH:mm:ss',
|
|
second: 'D MMMM HH:mm',
|
|
minute: 'ddd D MMMM',
|
|
hour: 'ddd D MMMM',
|
|
weekday: 'MMMM YYYY',
|
|
day: 'MMMM YYYY',
|
|
month: 'YYYY',
|
|
year: ''
|
|
}
|
|
},
|
|
|
|
height: '',
|
|
locale: '',
|
|
max: '',
|
|
maxHeight: '',
|
|
min: '',
|
|
minHeight: '',
|
|
moveable:true,
|
|
orientation: ['both', 'bottom', 'top'],
|
|
showCurrentTime: false,
|
|
showMajorLabels: true,
|
|
showMinorLabels: true,
|
|
start: '',
|
|
width: '100%',
|
|
zoomable: true,
|
|
zoomKey: ['ctrlKey', 'altKey', 'metaKey', ''],
|
|
zoomMax: [315360000000000, 10, 315360000000000, 1],
|
|
zoomMin: [10, 10, 315360000000000, 1]
|
|
}
|
|
};
|
|
|
|
export {allOptions, configureOptions};
|