summaryrefslogtreecommitdiff
path: root/src/main.js
diff options
context:
space:
mode:
authorDixsie Wolmers <dixsie@ibm.com>2020-02-24 00:56:16 +0300
committerDerick Montague <derick.montague@ibm.com>2020-02-28 17:42:51 +0300
commit97f4187e1bac021ea7b5a0f5a780a3d4004edf64 (patch)
treed6851088fb7282b32a7dc66d41ea54a363b11b5f /src/main.js
parent5bb956d7596f3a91bed0554bf47552039f2c0713 (diff)
downloadwebui-vue-97f4187e1bac021ea7b5a0f5a780a3d4004edf64.tar.xz
Format date and time for international locales
Uninstalls vue-date-fns and uses toLocaleDateString() method to return formatted date and time. Date language is set by i18n and time/timezone is formatted by browser locale. Uses vue filter to format date and time as: - short month, day, year, time and timezone - 'en' example: Feb 23, 2020, 3:40:25 PM CST - 'es' example: 25 feb 2020 14:23:36 GMT-6 - hour12 value is determined by browser default Signed-off-by: Dixsie Wolmers <dixsie@ibm.com> Change-Id: I4fe8c51f5437cef263f1e0ea4184c0b552c85f4d
Diffstat (limited to 'src/main.js')
-rw-r--r--src/main.js26
1 files changed, 24 insertions, 2 deletions
diff --git a/src/main.js b/src/main.js
index 72167510..84adb408 100644
--- a/src/main.js
+++ b/src/main.js
@@ -2,7 +2,6 @@ import Vue from 'vue';
import App from './App.vue';
import router from './router';
import store from './store';
-import { dateFilter } from 'vue-date-fns';
import {
AlertPlugin,
BadgePlugin,
@@ -27,8 +26,31 @@ import {
import Vuelidate from 'vuelidate';
import i18n from './i18n';
-Vue.filter('date', dateFilter);
+// Filters
+Vue.filter('formatDate', function(value) {
+ const dateOptions = {
+ year: 'numeric',
+ month: 'short',
+ day: 'numeric'
+ };
+ if (value instanceof Date) {
+ return value.toLocaleDateString(i18n.locale, dateOptions);
+ }
+});
+
+Vue.filter('formatTime', function(value) {
+ const timeOptions = {
+ hour: 'numeric',
+ minute: 'numeric',
+ second: 'numeric',
+ timeZoneName: 'short'
+ };
+ if (value instanceof Date) {
+ return value.toLocaleTimeString('default', timeOptions);
+ }
+});
+// Plugins
Vue.use(AlertPlugin);
Vue.use(BadgePlugin);
Vue.use(ButtonPlugin);