Skip to content

Commit

Permalink
Merge pull request #78 from ezsystems/incorrect-timestamps
Browse files Browse the repository at this point in the history
EZP-28244: Difference between time/date in edit and preview mode
  • Loading branch information
Łukasz Serwatka committed Nov 20, 2017
2 parents 354ba4d + e7dc4b3 commit b2f1612
Show file tree
Hide file tree
Showing 3 changed files with 28 additions and 10 deletions.
5 changes: 4 additions & 1 deletion src/bundle/Resources/public/js/scripts/fieldType/ezdate.js
Expand Up @@ -53,7 +53,10 @@
formatDate: (date) => (new Date(date)).toLocaleDateString()
};
const updateInputValue = (sourceInput, date) => {
sourceInput.value = Math.floor((new Date(date)).getTime() / 1000);
date = new Date(date);
date = new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate()));

sourceInput.value = Math.floor(date.getTime() / 1000);
sourceInput.dispatchEvent(new CustomEvent(EVENT_VALUE_CHANGED));
};
const initFlatPickr = (field) => {
Expand Down
12 changes: 11 additions & 1 deletion src/bundle/Resources/public/js/scripts/fieldType/ezdatetime.js
Expand Up @@ -55,7 +55,17 @@
formatDate: (date) => (new Date(date)).toLocaleString()
};
const updateInputValue = (sourceInput, date) => {
sourceInput.value = Math.floor((new Date(date)).getTime() / 1000);
date = new Date(date);
date = new Date(Date.UTC(
date.getFullYear(),
date.getMonth(),
date.getDate(),
date.getHours(),
date.getMinutes(),
date.getSeconds()
));

sourceInput.value = Math.floor(date.getTime() / 1000);
sourceInput.dispatchEvent(new CustomEvent(EVENT_VALUE_CHANGED));
};
const initFlatPickr = (field) => {
Expand Down
21 changes: 13 additions & 8 deletions src/bundle/Resources/public/js/scripts/fieldType/eztime.js
Expand Up @@ -55,7 +55,17 @@
time_24hr: true
};
const updateInputValue = (sourceInput, date) => {
sourceInput.value = Math.floor((new Date(date)).getTime() / 1000);
date = new Date(date);

sourceInput.value = Math.floor(Date.UTC(
date.getFullYear(),
date.getMonth(),
date.getDate(),
date.getHours(),
date.getMinutes(),
date.getSeconds()
) / 1000);

sourceInput.dispatchEvent(new CustomEvent(EVENT_VALUE_CHANGED));
};
const initFlatPickr = (field) => {
Expand All @@ -66,14 +76,9 @@
sourceInput.classList.add('ez-data-source__input--visually-hidden');

if (sourceInput.value) {
const date = new Date(sourceInput * 1000);
const date = new Date(parseInt(sourceInput.value, 10) * 1000);

if (isNaN(date.getTime())) {
sourceInput.dispatchEvent(new CustomEvent(EVENT_VALUE_CHANGED));
sourceInput.value = '';
} else {
defaultDate = date;
}
defaultDate = date;
}

flatpickr(field.querySelector('.flatpickr-input'), Object.assign({}, timeConfig, {
Expand Down

0 comments on commit b2f1612

Please sign in to comment.