Socket
Socket
Sign inDemoInstall

react-big-calendar

Package Overview
Dependencies
33
Maintainers
3
Versions
173
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 1.9.2 to 1.10.0

7

CHANGELOG.md

@@ -0,1 +1,8 @@

# [1.10.0](https://github.com/jquense/react-big-calendar/compare/v1.9.2...v1.10.0) (2024-02-09)
### Features
* **event sort:** update event sort for multi day ([#2502](https://github.com/jquense/react-big-calendar/issues/2502)) ([ff209d0](https://github.com/jquense/react-big-calendar/commit/ff209d035aca4865c4211dc03f27f7da0147c9a1))
## [1.9.2](https://github.com/jquense/react-big-calendar/compare/v1.9.1...v1.9.2) (2024-02-09)

@@ -2,0 +9,0 @@

10

lib/localizer.js

@@ -55,2 +55,5 @@ "use strict";

}
function daySpan(start, end) {
return (0, _dates.duration)(start, end, 'day');
}

@@ -68,7 +71,7 @@ // These two are used by eventLevels

var startSort = +(0, _dates.startOf)(aStart, 'day') - +(0, _dates.startOf)(bStart, 'day');
var durA = (0, _dates.diff)(aStart, (0, _dates.ceil)(aEnd, 'day'), 'day');
var durB = (0, _dates.diff)(bStart, (0, _dates.ceil)(bEnd, 'day'), 'day');
var durA = daySpan(aStart, aEnd);
var durB = daySpan(bStart, bEnd);
return startSort ||
// sort by start Day first
Math.max(durB, 1) - Math.max(durA, 1) ||
durB - durA ||
// events spanning multiple days go first

@@ -139,2 +142,3 @@ !!bAllDay - !!aAllDay ||

this.minutes = spec.minutes || _dates.minutes;
this.daySpan = spec.daySpan || daySpan;
this.firstVisibleDay = spec.firstVisibleDay || _dates.firstVisibleDay;

@@ -141,0 +145,0 @@ this.lastVisibleDay = spec.lastVisibleDay || _dates.lastVisibleDay;

@@ -304,2 +304,7 @@ "use strict";

}
function daySpan(start, end) {
var startDay = dayjs(start);
var endDay = dayjs(end);
return endDay.diff(startDay, 'day');
}

@@ -317,7 +322,7 @@ // These two are used by eventLevels

var startSort = +startOf(aStart, 'day') - +startOf(bStart, 'day');
var durA = diff(aStart, ceil(aEnd, 'day'), 'day');
var durB = diff(bStart, ceil(bEnd, 'day'), 'day');
var durA = daySpan(aStart, aEnd);
var durB = daySpan(bStart, bEnd);
return startSort ||
// sort by start Day first
Math.max(durB, 1) - Math.max(durA, 1) ||
durB - durA ||
// events spanning multiple days go first

@@ -324,0 +329,0 @@ !!bAllDay - !!aAllDay ||

@@ -314,2 +314,7 @@ "use strict";

}
function daySpan(start, end) {
var dtStart = DateTime.fromJSDate(start);
var dtEnd = DateTime.fromJSDate(end);
return dtEnd.diff(dtStart).as('days');
}

@@ -327,7 +332,7 @@ // These two are used by eventLevels

var startSort = +startOf(aStart, 'day') - +startOf(bStart, 'day');
var durA = diff(aStart, ceil(aEnd, 'day'), 'day');
var durB = diff(bStart, ceil(bEnd, 'day'), 'day');
var durA = daySpan(aStart, aEnd);
var durB = daySpan(bStart, bEnd);
return startSort ||
// sort by start Day first
Math.max(durB, 1) - Math.max(durA, 1) ||
durB - durA ||
// events spanning multiple days go first

@@ -422,4 +427,5 @@ !!bAllDay - !!aAllDay ||

isSameDate: isSameDate,
daySpan: daySpan,
browserTZOffset: browserTZOffset
});
}

@@ -283,2 +283,8 @@ "use strict";

}
function daySpan(start, end) {
var mStart = moment(start);
var mEnd = moment(end);
var dur = moment.duration(mEnd.diff(mStart));
return dur.days();
}

@@ -296,7 +302,7 @@ // These two are used by eventLevels

var startSort = +startOf(aStart, 'day') - +startOf(bStart, 'day');
var durA = diff(aStart, ceil(aEnd, 'day'), 'day');
var durB = diff(bStart, ceil(bEnd, 'day'), 'day');
var durA = daySpan(aStart, aEnd);
var durB = daySpan(bStart, bEnd);
return startSort ||
// sort by start Day first
Math.max(durB, 1) - Math.max(durA, 1) ||
durB - durA ||
// events spanning multiple days go first

@@ -390,4 +396,5 @@ !!bAllDay - !!aAllDay ||

isSameDate: isSameDate,
daySpan: daySpan,
browserTZOffset: browserTZOffset
});
}

@@ -67,5 +67,3 @@ "use strict";

var weeksEvents = eventsForWeek((0, _toConsumableArray2.default)(events), week[0], week[week.length - 1], accessors, localizer);
weeksEvents.sort(function (a, b) {
return (0, _eventLevels.sortEvents)(a, b, accessors, localizer);
});
var sorted = (0, _eventLevels.sortWeekEvents)(weeksEvents, accessors, localizer);
return /*#__PURE__*/_react.default.createElement(_DateContentRow.default, {

@@ -79,3 +77,3 @@ key: weekIdx,

range: week,
events: weeksEvents,
events: sorted,
maxRows: showAllEvents ? Infinity : rowLimit,

@@ -82,0 +80,0 @@ selected: selected,

@@ -13,2 +13,4 @@ "use strict";

exports.sortEvents = sortEvents;
exports.sortWeekEvents = sortWeekEvents;
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
var _findIndex = _interopRequireDefault(require("lodash/findIndex"));

@@ -100,2 +102,23 @@ function endOfRange(_ref) {

}
function sortWeekEvents(events, accessors, localizer) {
var base = (0, _toConsumableArray2.default)(events);
var multiDayEvents = [];
var standardEvents = [];
base.forEach(function (event) {
var startCheck = accessors.start(event);
var endCheck = accessors.end(event);
if (localizer.daySpan(startCheck, endCheck) > 1) {
multiDayEvents.push(event);
} else {
standardEvents.push(event);
}
});
var multiSorted = multiDayEvents.sort(function (a, b) {
return sortEvents(a, b, accessors, localizer);
});
var standardSorted = standardEvents.sort(function (a, b) {
return sortEvents(a, b, accessors, localizer);
});
return [].concat((0, _toConsumableArray2.default)(multiSorted), (0, _toConsumableArray2.default)(standardSorted));
}
function sortEvents(eventA, eventB, accessors, localizer) {

@@ -102,0 +125,0 @@ var evtA = {

{
"name": "react-big-calendar",
"version": "1.9.2",
"version": "1.10.0",
"description": "Calendar! with events",

@@ -5,0 +5,0 @@ "author": {

@@ -168,2 +168,3 @@ # react-big-calendar

Help us improve Big Calendar! Join us on [Slack](https://join.slack.com/t/bigcalendar/shared_invite/zt-29tzjbk9e-xCqhIAPbOpXiVcetK9bC0g).
Help us improve Big Calendar! Join us on [Slack](https://join.slack.com/t/bigcalendar/shared_invite/zt-2cerpqegz-mGzcbm7LxYLFPjcTa0gLgw).
(Slack invite links do expire. If you can't get in, just file an issue and we'll get a new link)

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc