| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269 | /** * 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 array = 'array';let date = 'date';let object = 'object'; // should only be in a __type__ propertylet dom = 'dom';let moment = 'moment';let any = 'any';let allOptions = {  configure: {    enabled: { 'boolean': bool},    filter: { 'boolean': bool,'function': 'function'},    container: {dom},    __type__: {object, 'boolean': bool,'function': 'function'}  },  //globals :  align: {string},  rtl: { 'boolean': bool, 'undefined': 'undefined'},  rollingMode: {    follow: { 'boolean': bool },    offset: {number,'undefined': 'undefined'},    __type__: {object}  },  verticalScroll: { 'boolean': bool, 'undefined': 'undefined'},  horizontalScroll: { 'boolean': bool, 'undefined': 'undefined'},  autoResize: { 'boolean': bool},  throttleRedraw: {number}, // TODO: DEPRICATED see https://github.com/almende/vis/issues/2511  clickToUse: { 'boolean': bool},  dataAttributes: {string, array},  editable: {    add: { 'boolean': bool, 'undefined': 'undefined'},    remove: { 'boolean': bool, 'undefined': 'undefined'},    updateGroup: { 'boolean': bool, 'undefined': 'undefined'},    updateTime: { 'boolean': bool, 'undefined': 'undefined'},    overrideItems: { 'boolean': bool, 'undefined': 'undefined'},    __type__: { 'boolean': bool, object}  },  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'},      week: {string,'undefined': 'undefined'},      month: {string,'undefined': 'undefined'},      year: {string,'undefined': 'undefined'},      __type__: {object, 'function': 'function'}    },    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'},      week: {string,'undefined': 'undefined'},      month: {string,'undefined': 'undefined'},      year: {string,'undefined': 'undefined'},      __type__: {object, 'function': 'function'}    },    __type__: {object}  },  moment: {'function': 'function'},  groupOrder: {string, 'function': 'function'},  groupEditable: {    add: { 'boolean': bool, 'undefined': 'undefined'},    remove: { 'boolean': bool, 'undefined': 'undefined'},    order: { 'boolean': bool, 'undefined': 'undefined'},    __type__: { 'boolean': bool, object}  },  groupOrderSwap: {'function': 'function'},  height: {string, number},  hiddenDates: {    start: {date, number, string, moment},    end: {date, number, string, moment},    repeat: {string},    __type__: {object, array}  },  itemsAlwaysDraggable: {    item: { 'boolean': bool, 'undefined': 'undefined'},    range: { 'boolean': bool, 'undefined': 'undefined'},    __type__: { 'boolean': bool, object}  },  limitSize: {'boolean': bool},  locale:{string},  locales:{    __any__: {any},    __type__: {object}  },  margin: {    axis: {number},    item: {      horizontal: {number,'undefined': 'undefined'},      vertical: {number,'undefined': 'undefined'},      __type__: {object,number}    },    __type__: {object,number}  },  max: {date, number, string, moment},  maxHeight: {number, string},  maxMinorChars: {number},  min: {date, number, string, moment},  minHeight: {number, string},  moveable: { 'boolean': bool},  multiselect: { 'boolean': bool},  multiselectPerGroup: { 'boolean': bool},  onAdd: {'function': 'function'},  onDropObjectOnItem: {'function': 'function'},  onUpdate: {'function': 'function'},  onMove: {'function': 'function'},  onMoving: {'function': 'function'},  onRemove: {'function': 'function'},  onAddGroup: {'function': 'function'},  onMoveGroup: {'function': 'function'},  onRemoveGroup: {'function': 'function'},  onInitialDrawComplete: {'function': 'function'},  order: {'function': 'function'},  orientation: {    axis: {string,'undefined': 'undefined'},    item: {string,'undefined': 'undefined'},    __type__: {string, object}  },  selectable: { 'boolean': bool},  showCurrentTime: { 'boolean': bool},  showMajorLabels: { 'boolean': bool},  showMinorLabels: { 'boolean': bool},  stack: { 'boolean': bool},  stackSubgroups: { 'boolean': bool},  snap: {'function': 'function', 'null': 'null'},  start: {date, number, string, moment},  template: {'function': 'function'},  groupTemplate: {'function': 'function'},  visibleFrameTemplate: {string, 'function': 'function'},  showTooltips: { 'boolean': bool},  tooltip: {    followMouse: { 'boolean': bool },    overflowMethod: { 'string': ['cap', 'flip'] },    __type__: {object}  },  tooltipOnItemUpdateTime: {    template: {'function': 'function'},    __type__: { 'boolean': bool, object}  },  timeAxis: {    scale: {string,'undefined': 'undefined'},    step: {number,'undefined': 'undefined'},    __type__: {object}  },  type: {string},  width: {string, number},  zoomable: { 'boolean': bool},  zoomKey: {string: ['ctrlKey', 'altKey', 'metaKey', '']},  zoomMax: {number},  zoomMin: {number},  __type__: {object}};let configureOptions = {  global: {    align:  ['center', 'left', 'right'],    direction:  false,    autoResize: true,    clickToUse: false,    // dataAttributes: ['all'], // FIXME: can be 'all' or string[]    editable: {      add: false,      remove: false,      updateGroup: false,      updateTime: false    },    end: '',    format: {      minorLabels: {        millisecond:'SSS',        second:     's',        minute:     'HH:mm',        hour:       'HH:mm',        weekday:    'ddd D',        day:        'D',        week:       'w',        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',        week:       'MMMM YYYY',        month:      'YYYY',        year:       ''      }    },    //groupOrder: {string, 'function': 'function'},    groupsDraggable: false,    height: '',    //hiddenDates: {object, array},    locale: '',    margin: {      axis: [20, 0, 100, 1],      item: {        horizontal: [10, 0, 100, 1],        vertical: [10, 0, 100, 1]      }    },    max: '',    maxHeight: '',    maxMinorChars: [7, 0, 20, 1],    min: '',    minHeight: '',    moveable: false,    multiselect: false,    multiselectPerGroup: false,    //onAdd: {'function': 'function'},    //onUpdate: {'function': 'function'},    //onMove: {'function': 'function'},    //onMoving: {'function': 'function'},    //onRename: {'function': 'function'},    //order: {'function': 'function'},    orientation: {      axis: ['both', 'bottom', 'top'],      item: ['bottom', 'top']    },    selectable: true,    showCurrentTime: false,    showMajorLabels: true,    showMinorLabels: true,    stack: true,    stackSubgroups: true,    //snap: {'function': 'function', nada},    start: '',    //template: {'function': 'function'},    //timeAxis: {    //  scale: ['millisecond', 'second', 'minute', 'hour', 'weekday', 'day', 'week', 'month', 'year'],    //  step: [1, 1, 10, 1]    //},    showTooltips: true,    tooltip: {      followMouse: false,      overflowMethod: 'flip'    },    tooltipOnItemUpdateTime: false,    type: ['box', 'point', 'range', 'background'],    width: '100%',    zoomable: true,    zoomKey: ['ctrlKey', 'altKey', 'metaKey', ''],    zoomMax: [315360000000000, 10, 315360000000000, 1],    zoomMin: [10, 10, 315360000000000, 1]  }};export {allOptions, configureOptions};
 |