DateRangePicker.js 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. /*!
  2. * DateRangePicker Javascript.
  3. *
  4. * @copyright Copyright (c) WHMCS Limited 2005-2019
  5. * @license http://www.whmcs.com/license/ WHMCS Eula
  6. */
  7. function initDateRangePicker()
  8. {
  9. jQuery(document).ready(function () {
  10. // Date range picker.
  11. jQuery('.date-picker-search').each(function (index) {
  12. var self = jQuery(this),
  13. opens = self.data('opens'),
  14. drops = self.data('drops'),
  15. range = adminJsVars.dateRangePicker.defaultRanges,
  16. format = adminJsVars.dateRangeFormat;
  17. if (!opens || typeof opens === "undefined") {
  18. opens = 'center';
  19. }
  20. if (!drops || typeof drops === "undefined") {
  21. drops = 'down';
  22. }
  23. if (self.hasClass('future')) {
  24. range = adminJsVars.dateRangePicker.futureRanges;
  25. }
  26. self.daterangepicker({
  27. autoUpdateInput: false,
  28. ranges: range,
  29. alwaysShowCalendars: true,
  30. opens: opens,
  31. drops: drops,
  32. showDropdowns: true,
  33. minYear: adminJsVars.minYear,
  34. maxYear: adminJsVars.maxYear,
  35. locale: {
  36. format: format,
  37. applyLabel: adminJsVars.dateRangePicker.applyLabel,
  38. cancelLabel: adminJsVars.dateRangePicker.cancelLabel,
  39. customRangeLabel: adminJsVars.dateRangePicker.customRangeLabel,
  40. monthNames: adminJsVars.dateRangePicker.months,
  41. daysOfWeek: adminJsVars.dateRangePicker.daysOfWeek
  42. }
  43. }).on('apply.daterangepicker', function (ev, picker) {
  44. jQuery(this).val(picker.startDate.format(adminJsVars.dateRangeFormat)
  45. + ' - ' + picker.endDate.format(adminJsVars.dateRangeFormat));
  46. }).on('cancel.daterangepicker', function (ev, picker) {
  47. jQuery(this).val('');
  48. });
  49. });
  50. jQuery('.datepick,.date-picker,.date-picker-single').each(function (index) {
  51. var self = jQuery(this),
  52. opens = self.data('opens'),
  53. drops = self.data('drops'),
  54. range = adminJsVars.dateRangePicker.defaultSingleRanges,
  55. format = adminJsVars.dateRangeFormat,
  56. time = false;
  57. if (!opens || typeof opens === "undefined") {
  58. opens = 'center';
  59. }
  60. if (!drops || typeof drops === "undefined") {
  61. drops = 'down';
  62. }
  63. if (self.hasClass('future')) {
  64. range = adminJsVars.dateRangePicker.futureSingleRanges;
  65. }
  66. if (self.hasClass('time')) {
  67. time = true;
  68. format = adminJsVars.dateTimeRangeFormat;
  69. if (self.hasClass('future')) {
  70. range = adminJsVars.dateRangePicker.futureTimeSingleRanges;
  71. }
  72. }
  73. self.daterangepicker({
  74. singleDatePicker: true,
  75. autoUpdateInput: false,
  76. ranges: range,
  77. alwaysShowCalendars: true,
  78. opens: opens,
  79. drops: drops,
  80. showDropdowns: true,
  81. minYear: adminJsVars.minYear,
  82. maxYear: adminJsVars.maxYear,
  83. timePicker: time,
  84. timePickerSeconds: false,
  85. locale: {
  86. format: format,
  87. customRangeLabel: adminJsVars.dateRangePicker.customRangeLabel,
  88. monthNames: adminJsVars.dateRangePicker.months,
  89. daysOfWeek: adminJsVars.dateRangePicker.daysOfWeek
  90. }
  91. }).on('apply.daterangepicker', function (ev, picker) {
  92. jQuery(this).data(
  93. 'original-value',
  94. picker.startDate.format(format)
  95. )
  96. .val(picker.startDate.format(format));
  97. }).on('cancel.daterangepicker', function (ev, picker) {
  98. jQuery(this).val(jQuery(this).data('original-value'));
  99. });
  100. });
  101. });
  102. }
  103. initDateRangePicker();