Socket
Socket
Sign inDemoInstall

apostrophe-events

Package Overview
Dependencies
18
Maintainers
11
Versions
96
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 2.1.4 to 2.1.5

.eslintrc

4

CHANGELOG.md

@@ -0,1 +1,5 @@

### 2.1.5
The `month` pieces filter now includes all months that events span, not only the months in which they begin.
### 2.1.3

@@ -2,0 +6,0 @@

46

index.js

@@ -1,4 +0,4 @@

var _ = require('@sailshq/lodash')
, async = require('async')
, moment = require('moment');
var _ = require('@sailshq/lodash');
var async = require('async');
var moment = require('moment');

@@ -32,3 +32,3 @@ module.exports = {

{ label: 'Yes', value: true },
{ label: 'No', value: false , showFields: ['startTime', 'endTime'] }
{ label: 'No', value: false, showFields: ['startTime', 'endTime'] }
],

@@ -58,3 +58,3 @@ def: false

{ label: 'Consecutive Days', value: 'consecutive', showFields: ['endDate'] },
{ label: 'Recurring', value: 'repeat', showFields: ['repeatInterval', 'repeatCount'] },
{ label: 'Recurring', value: 'repeat', showFields: ['repeatInterval', 'repeatCount'] }
],

@@ -88,3 +88,3 @@ def: 'single'

{ name: 'advanced', label: 'Advanced', fields: ['dateType', 'endDate', 'repeatInterval', 'repeatCount'] },
{ name: 'meta', label: 'Meta', fields: ['tags','published'] }
{ name: 'meta', label: 'Meta', fields: ['tags', 'published'] }
];

@@ -95,3 +95,3 @@

name: 'startDate',
label: 'Start Date',
label: 'Start Date'
}

@@ -149,3 +149,3 @@ ].concat(options.addColumns || []);

}
if(piece.dateType == 'repeat') {
if (piece.dateType === 'repeat') {
return self.repeatEvent(req, piece, callback);

@@ -159,8 +159,8 @@ } else {

// Parse our dates and times
var startTime = piece.startTime
, startDate = piece.startDate
, endTime = piece.endTime
, endDate;
var startTime = piece.startTime;
var startDate = piece.startDate;
var endTime = piece.endTime;
var endDate;
if(piece.dateType == 'consecutive') {
if (piece.dateType === 'consecutive') {
endDate = piece.endDate;

@@ -172,3 +172,3 @@ } else {

if(piece.allDay) {
if (piece.allDay) {
startTime = '00:00:00';

@@ -178,17 +178,17 @@ endTime = '23:59:59';

if(piece.dateType == 'repeat') {
if (piece.dateType === 'repeat') {
piece.hasClones = true;
}
piece.start = new Date(startDate +' '+ startTime);
piece.end = new Date(endDate +' '+ endTime);
piece.start = new Date(startDate + ' ' + startTime);
piece.end = new Date(endDate + ' ' + endTime);
};
self.repeatEvent = function(req, piece, finalCallback) {
var i
, repeat = parseInt(piece.repeatCount) + 1
, multiplier = piece.repeatInterval
, addDates = [];
var i;
var repeat = parseInt(piece.repeatCount) + 1;
var multiplier = piece.repeatInterval;
var addDates = [];
for(i = 1; i < repeat; i++) {
for (i = 1; i < repeat; i++) {
addDates.push(moment(piece.startDate).add(i, multiplier).format('YYYY-MM-DD'));

@@ -210,3 +210,3 @@ }

};
},
}
};

@@ -41,3 +41,3 @@ var moment = require('moment');

self.and({
end: { $gt: new Date() },
end: { $gt: new Date() }
});

@@ -87,3 +87,3 @@ } else {

}
return callback(null, _.uniq(_.each(results, function(value, key) { results[key] = value.substr(0,4) })).sort().reverse());
return callback(null, _.uniq(_.each(results, function(value, key) { results[key] = value.substr(0, 4); })).sort().reverse());
});

@@ -114,3 +114,3 @@ }

if (!s.match(/^\d\d\d\d\-\d\d$/)) {
if (!s.match(/^\d\d\d\d-\d\d$/)) {
return null;

@@ -122,7 +122,37 @@ }

choices: function(callback) {
return self.clone().upcoming(null).toDistinct('startDate', function(err, results) {
return self.clone().skip(0).limit(undefined).upcoming(null).projection({
startDate: 1,
endDate: 1,
dateType: 1
}).toArray(function(err, results) {
if (err) {
return callback(err);
}
return callback(null, _.uniq(_.each(results, function(value, key) { results[key] = value.substr(0,7) })).sort().reverse());
var months = [];
_.each(results, function (result) {
if (!result.endDate || result.dateType === 'single' ||
result.startDate === result.endDate) {
months.push(result.startDate.substr(0, 7));
return;
}
// Strategy credit to https://stackoverflow.com/a/43874192/888550
var firstMoment = moment(result.startDate);
var lastMoment = moment(result.endDate);
var interim = firstMoment.clone();
// Disabling rule because `interim` is modified by `.add()`.
// eslint-disable-next-line no-unmodified-loop-condition
while (lastMoment > interim ||
interim.format('M') === lastMoment.format('M')) {
months.push(interim.format('YYYY-MM'));
interim.add(1, 'month');
}
});
months = _.uniq(months).sort().reverse();
return callback(null, months);
});

@@ -132,2 +162,4 @@ }

var fullDateRegex = /^\d\d\d\d-\d\d-\d\d$/;
// Filter by day, in YYYY-MM-DD format. The event must

@@ -154,3 +186,3 @@ // be taking place during that day (it might surround it).

if (!s.match(/^\d\d\d\d\-\d\d\-\d\d$/)) {
if (!s.match(fullDateRegex)) {
return null;

@@ -193,3 +225,3 @@ }

if (!s.match(/^\d\d\d\d\-\d\d\-\d\d$/)) {
if (!s.match(fullDateRegex)) {
return null;

@@ -222,3 +254,3 @@ }

if (!s.match(/^\d\d\d\d\-\d\d\-\d\d$/)) {
if (!s.match(fullDateRegex)) {
return null;

@@ -225,0 +257,0 @@ }

@@ -15,2 +15,2 @@ module.exports = {

}
}
};
{
"name": "apostrophe-events",
"version": "2.1.4",
"version": "2.1.5",
"description": "Calendar of events for the Apostrophe content management system",

@@ -28,3 +28,6 @@ "main": "index.js",

"qs": "^6.1.0"
},
"devDependencies": {
"eslint-config-apostrophe": "^3.0.0"
}
}
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