From 9f8749c4cee73b43eb58d34eb18051f3b1753d31 Mon Sep 17 00:00:00 2001 From: Sarah Vaupel Date: Mon, 12 Aug 2019 13:49:57 +0200 Subject: [PATCH] feat(datepicker): format time on submit --- frontend/src/utils/form/datepicker.js | 9 +++++++++ package-lock.json | 3 +-- package.json | 1 + src/Handler/Utils/Form.hs | 2 +- 4 files changed, 12 insertions(+), 3 deletions(-) diff --git a/frontend/src/utils/form/datepicker.js b/frontend/src/utils/form/datepicker.js index 93bfdeda6..fdc7e69e3 100644 --- a/frontend/src/utils/form/datepicker.js +++ b/frontend/src/utils/form/datepicker.js @@ -1,6 +1,9 @@ import datetime from 'tail.datetime'; +import dateFormat from 'dateformat'; import { Utility } from '../../core/utility'; +const FORM_DATE_FORMAT = 'yyyy-mm-dd"T"HH:MM:ss'; + const DATEPICKER_UTIL_SELECTOR = 'input[type="date"], input[type="time"], input[type="datetime-local"]'; const DATEPICKER_INITIALIZED_CLASS = 'datepicker--initialized'; @@ -64,6 +67,12 @@ export class Datepicker { this.datepickerInstance.close(); } }); + + // format the dates before submission + element.form.addEventListener('submit', () => { + if (!this.datepickerInstance.select) return; + element.value = dateFormat(this.datepickerInstance.select, FORM_DATE_FORMAT); + }); } destroy() { diff --git a/package-lock.json b/package-lock.json index 104dcb8a0..1187ca77d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4794,8 +4794,7 @@ "dateformat": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz", - "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==", - "dev": true + "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==" }, "debug": { "version": "2.6.9", diff --git a/package.json b/package.json index d5b5e0481..71a862e95 100644 --- a/package.json +++ b/package.json @@ -89,6 +89,7 @@ "webpack-cli": "^3.3.4" }, "dependencies": { + "dateformat": "^3.0.3", "flatpickr": "^4.5.7", "npm": "^6.10.3", "tail.datetime": "git+https://git@github.com/pytesNET/tail.DateTime.git#master" diff --git a/src/Handler/Utils/Form.hs b/src/Handler/Utils/Form.hs index ab7af713d..24e7d9921 100644 --- a/src/Handler/Utils/Form.hs +++ b/src/Handler/Utils/Form.hs @@ -811,7 +811,7 @@ localTimeField = Field where fieldTimeFormat :: String --fieldTimeFormat = "%e.%m.%y %k:%M" - fieldTimeFormat = "%Y-%m-%dT%H:%M" + fieldTimeFormat = "%Y-%m-%dT%H:%M:%S" -- `defaultTimeLocale` is okay here, since `fieldTimeFormat` does not contain any readTime :: Text -> Either UniWorXMessage LocalTime