Skip to content

Commit 16a41cb

Browse files
Merge pull request #52 from Jacob-Daniel/add-fullDay-duration
Added fullDay default duration for events
2 parents 930bb5b + 6372c32 commit 16a41cb

File tree

5 files changed

+30
-9
lines changed

5 files changed

+30
-9
lines changed

admin/src/pages/settings.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -298,6 +298,12 @@ function Settings() {
298298
defaultMessage: '2 Hours',
299299
})}
300300
</Option>
301+
<Option value={1440}>
302+
{formatMessage({
303+
id: getTrad('view.settings.section.general.default-duration.fullday'),
304+
defaultMessage: 'Full Day',
305+
})}
306+
</Option>
301307
</Select>
302308
</GridItem>
303309
</Grid>

admin/src/translations/de.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
"view.settings.section.general.default-duration.1h": "1 Stunde",
2626
"view.settings.section.general.default-duration.1.5h": "1,5 Stunden",
2727
"view.settings.section.general.default-duration.2h": "2 Stunden",
28+
"view.settings.section.general.default-duration.fullDay": "Ganztägig",
2829
"view.settings.section.general.start.label": "Start-Feld auswählen",
2930
"view.settings.section.general.end.label": "Ende-Feld auswählen",
3031
"view.settings.section.general.end.none": "Kein Ende-Feld",

admin/src/translations/en.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
"view.settings.section.general.default-duration.1h": "1 Hour",
2727
"view.settings.section.general.default-duration.1.5h": "1.5 Hours",
2828
"view.settings.section.general.default-duration.2h": "2 Hours",
29+
"view.settings.section.general.default-duration.fullDay": "Full Day",
2930
"view.settings.section.general.start.label": "Choose your start field",
3031
"view.settings.section.general.end.label": "Choose your end field",
3132
"view.settings.section.general.end.none": "No end field",

admin/src/translations/es.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
"view.settings.section.general.default-duration.1h": "1 hora",
2727
"view.settings.section.general.default-duration.1.5h": "1,5 horas",
2828
"view.settings.section.general.default-duration.2h": "2 horas",
29+
"view.settings.section.general.default-duration.fullDay": "Todo el día",
2930
"view.settings.section.general.start.label": "Elija su campo de comienzo",
3031
"view.settings.section.general.end.label": "Elija su campo de finalización",
3132
"view.settings.section.general.end.none": "Sin campo de finalización",

server/services/service.js

Lines changed: 21 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -74,16 +74,28 @@ module.exports = () => ({
7474
if (config.drafts) return true;
7575
return x.publishedAt;
7676
});
77-
78-
return dataFiltered.map((x) => ({
79-
id: x.id,
80-
title: config.titleField ? x[config.titleField] : config.startField,
81-
startDate: x[config.startField],
82-
endDate: config.endField
77+
return dataFiltered.map((x) => {
78+
let startDate = x[config.startField];
79+
let endDate = config.endField
8380
? x[config.endField]
84-
: moment(x[config.startField]).add(config.defaultDuration, 'minutes'),
85-
color: config.colorField ? x[config.colorField] : null,
86-
}));
81+
: moment(x[config.startField]).add(config.defaultDuration, 'minutes').format();
82+
83+
const allDay = config.defaultDuration === 1440;
84+
85+
if (allDay) {
86+
startDate = moment(startDate).startOf('day').format();
87+
endDate = moment(endDate).endOf('day').format();
88+
}
89+
90+
return {
91+
id: x.id,
92+
title: config.titleField ? x[config.titleField] : x[config.startField],
93+
startDate: startDate,
94+
endDate: endDate,
95+
color: config.colorField ? x[config.colorField] : null,
96+
allDay: allDay,
97+
};
98+
});
8799
},
88100
async getCollections() {
89101
const types = strapi.contentTypes;

0 commit comments

Comments
 (0)