83 lines
2.2 KiB
JavaScript
83 lines
2.2 KiB
JavaScript
import _ from 'underscore';
|
|
import MailPoet from 'mailpoet';
|
|
|
|
const timeFormat = window.mailpoet_time_format || 'H:i';
|
|
|
|
// welcome emails
|
|
const _timeDelayValues = {
|
|
'immediate': MailPoet.I18n.t('delayImmediately'),
|
|
'hours': MailPoet.I18n.t('delayHoursAfter'),
|
|
'days': MailPoet.I18n.t('delayDaysAfter'),
|
|
'weeks': MailPoet.I18n.t('delayWeeksAfter'),
|
|
};
|
|
|
|
const _intervalValues = {
|
|
'daily': MailPoet.I18n.t('daily'),
|
|
'weekly': MailPoet.I18n.t('weekly'),
|
|
'monthly': MailPoet.I18n.t('monthly'),
|
|
'nthWeekDay': MailPoet.I18n.t('monthlyEvery'),
|
|
'immediately': MailPoet.I18n.t('immediately'),
|
|
};
|
|
|
|
// notification emails
|
|
const SECONDS_IN_DAY = 86400;
|
|
const TIME_STEP_SECONDS = 3600;
|
|
const numberOfTimeSteps = SECONDS_IN_DAY / TIME_STEP_SECONDS;
|
|
|
|
const _timeOfDayValues = _.object(_.map(
|
|
_.times(numberOfTimeSteps, (step) => {
|
|
return step * TIME_STEP_SECONDS;
|
|
}), (seconds) => {
|
|
const date = new Date(null);
|
|
date.setSeconds(seconds);
|
|
const timeLabel = MailPoet.Date.format(date, { format: timeFormat, offset: 0 });
|
|
return [seconds, timeLabel];
|
|
})
|
|
);
|
|
|
|
const _weekDayValues = {
|
|
0: MailPoet.I18n.t('sunday'),
|
|
1: MailPoet.I18n.t('monday'),
|
|
2: MailPoet.I18n.t('tuesday'),
|
|
3: MailPoet.I18n.t('wednesday'),
|
|
4: MailPoet.I18n.t('thursday'),
|
|
5: MailPoet.I18n.t('friday'),
|
|
6: MailPoet.I18n.t('saturday'),
|
|
};
|
|
|
|
const NUMBER_OF_DAYS_IN_MONTH = 28;
|
|
const _monthDayValues = _.object(
|
|
_.map(
|
|
_.times(NUMBER_OF_DAYS_IN_MONTH, (day) => {
|
|
return day;
|
|
}), (day) => {
|
|
const labels = {
|
|
0: MailPoet.I18n.t('first'),
|
|
1: MailPoet.I18n.t('second'),
|
|
2: MailPoet.I18n.t('third'),
|
|
};
|
|
let label;
|
|
if (labels[day] !== undefined) {
|
|
label = labels[day];
|
|
} else {
|
|
label = MailPoet.I18n.t('nth').replace("%$1d", day + 1);
|
|
}
|
|
return [day + 1, label];
|
|
}
|
|
)
|
|
);
|
|
|
|
const _nthWeekDayValues = {
|
|
'1': MailPoet.I18n.t('first'),
|
|
'2': MailPoet.I18n.t('second'),
|
|
'3': MailPoet.I18n.t('third'),
|
|
'L': MailPoet.I18n.t('last'),
|
|
};
|
|
|
|
export { _timeDelayValues as timeDelayValues };
|
|
export { _intervalValues as intervalValues };
|
|
export { _timeOfDayValues as timeOfDayValues };
|
|
export { _weekDayValues as weekDayValues };
|
|
export { _monthDayValues as monthDayValues };
|
|
export { _nthWeekDayValues as nthWeekDayValues };
|