defaults.js 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150
  1. var defaults = {
  2. lang: 'en',
  3. defaultTimedEventDuration: '02:00:00',
  4. defaultAllDayEventDuration: { days: 1 },
  5. forceEventDuration: false,
  6. nextDayThreshold: '09:00:00', // 9am
  7. // display
  8. defaultView: 'month',
  9. aspectRatio: 1.35,
  10. header: {
  11. left: 'title',
  12. center: '',
  13. right: 'today prev,next'
  14. },
  15. weekends: true,
  16. weekNumbers: false,
  17. weekNumberTitle: 'W',
  18. weekNumberCalculation: 'local',
  19. //editable: false,
  20. // event ajax
  21. lazyFetching: true,
  22. startParam: 'start',
  23. endParam: 'end',
  24. timezoneParam: 'timezone',
  25. timezone: false,
  26. //allDayDefault: undefined,
  27. // time formats
  28. titleFormat: {
  29. month: 'MMMM YYYY', // like "September 1986". each language will override this
  30. week: 'll', // like "Sep 4 1986"
  31. day: 'LL' // like "September 4 1986"
  32. },
  33. columnFormat: {
  34. month: 'ddd', // like "Sat"
  35. week: generateWeekColumnFormat,
  36. day: 'dddd' // like "Saturday"
  37. },
  38. timeFormat: { // for event elements
  39. 'default': generateShortTimeFormat
  40. },
  41. displayEventEnd: {
  42. month: false,
  43. basicWeek: false,
  44. 'default': true
  45. },
  46. // locale
  47. isRTL: false,
  48. defaultButtonText: {
  49. prev: "prev",
  50. next: "next",
  51. prevYear: "prev year",
  52. nextYear: "next year",
  53. today: 'today',
  54. month: 'month',
  55. week: 'week',
  56. day: 'day'
  57. },
  58. buttonIcons: {
  59. prev: 'left-single-arrow',
  60. next: 'right-single-arrow',
  61. prevYear: 'left-double-arrow',
  62. nextYear: 'right-double-arrow'
  63. },
  64. // jquery-ui theming
  65. theme: false,
  66. themeButtonIcons: {
  67. prev: 'circle-triangle-w',
  68. next: 'circle-triangle-e',
  69. prevYear: 'seek-prev',
  70. nextYear: 'seek-next'
  71. },
  72. dragOpacity: .75,
  73. dragRevertDuration: 500,
  74. //selectable: false,
  75. unselectAuto: true,
  76. dropAccept: '*',
  77. handleWindowResize: true,
  78. windowResizeDelay: 200 // milliseconds before a rerender happens
  79. };
  80. function generateShortTimeFormat(options, langData) {
  81. return langData.longDateFormat('LT')
  82. .replace(':mm', '(:mm)')
  83. .replace(/(\Wmm)$/, '($1)') // like above, but for foreign langs
  84. .replace(/\s*a$/i, 't'); // convert to AM/PM/am/pm to lowercase one-letter. remove any spaces beforehand
  85. }
  86. function generateWeekColumnFormat(options, langData) {
  87. var format = langData.longDateFormat('L'); // for the format like "MM/DD/YYYY"
  88. format = format.replace(/^Y+[^\w\s]*|[^\w\s]*Y+$/g, ''); // strip the year off the edge, as well as other misc non-whitespace chars
  89. if (options.isRTL) {
  90. format += ' ddd'; // for RTL, add day-of-week to end
  91. }
  92. else {
  93. format = 'ddd ' + format; // for LTR, add day-of-week to beginning
  94. }
  95. return format;
  96. }
  97. var langOptionHash = {
  98. en: {
  99. columnFormat: {
  100. week: 'ddd M/D' // override for english. different from the generated default, which is MM/DD
  101. }
  102. }
  103. };
  104. // right-to-left defaults
  105. var rtlDefaults = {
  106. header: {
  107. left: 'next,prev today',
  108. center: '',
  109. right: 'title'
  110. },
  111. buttonIcons: {
  112. prev: 'right-single-arrow',
  113. next: 'left-single-arrow',
  114. prevYear: 'right-double-arrow',
  115. nextYear: 'left-double-arrow'
  116. },
  117. themeButtonIcons: {
  118. prev: 'circle-triangle-e',
  119. next: 'circle-triangle-w',
  120. nextYear: 'seek-prev',
  121. prevYear: 'seek-next'
  122. }
  123. };