Commit e6155657 authored by Filipa Lacerda's avatar Filipa Lacerda

Merge branch 'winh-fix-datetime_utility' into 'master'

Restore missing language code in datetime_utility.js

Closes #41248

See merge request gitlab-org/gitlab-ce!16009
parents 058dd30a 4a95302d
...@@ -2,7 +2,7 @@ import timeago from 'timeago.js'; ...@@ -2,7 +2,7 @@ import timeago from 'timeago.js';
import dateFormat from 'vendor/date.format'; import dateFormat from 'vendor/date.format';
import { pluralize } from './text_utility'; import { pluralize } from './text_utility';
import { import {
lang, languageCode,
s__, s__,
} from '../../locale'; } from '../../locale';
...@@ -24,7 +24,15 @@ export const getDayName = date => ['Sunday', 'Monday', 'Tuesday', 'Wednesday', ' ...@@ -24,7 +24,15 @@ export const getDayName = date => ['Sunday', 'Monday', 'Tuesday', 'Wednesday', '
*/ */
export const formatDate = datetime => dateFormat(datetime, 'mmm d, yyyy h:MMtt Z'); export const formatDate = datetime => dateFormat(datetime, 'mmm d, yyyy h:MMtt Z');
/**
* Timeago uses underscores instead of dashes to separate language from country code.
*
* see https://github.com/hustcc/timeago.js/tree/v3.0.0/locales
*/
const timeagoLanguageCode = languageCode().replace(/-/g, '_');
let timeagoInstance; let timeagoInstance;
/** /**
* Sets a timeago Instance * Sets a timeago Instance
*/ */
...@@ -67,8 +75,8 @@ export function getTimeago() { ...@@ -67,8 +75,8 @@ export function getTimeago() {
][index]; ][index];
}; };
timeago.register(lang, locale); timeago.register(timeagoLanguageCode, locale);
timeago.register(`${lang}-remaining`, localeRemaining); timeago.register(`${timeagoLanguageCode}-remaining`, localeRemaining);
timeagoInstance = timeago(); timeagoInstance = timeago();
} }
...@@ -83,7 +91,7 @@ export const renderTimeago = ($els) => { ...@@ -83,7 +91,7 @@ export const renderTimeago = ($els) => {
const timeagoEls = $els || document.querySelectorAll('.js-timeago-render'); const timeagoEls = $els || document.querySelectorAll('.js-timeago-render');
// timeago.js sets timeouts internally for each timeago value to be updated in real time // timeago.js sets timeouts internally for each timeago value to be updated in real time
getTimeago().render(timeagoEls, lang); getTimeago().render(timeagoEls, timeagoLanguageCode);
}; };
/** /**
...@@ -118,7 +126,7 @@ export const timeFor = (time, expiredLabel) => { ...@@ -118,7 +126,7 @@ export const timeFor = (time, expiredLabel) => {
if (new Date(time) < new Date()) { if (new Date(time) < new Date()) {
return expiredLabel || s__('Timeago|Past due'); return expiredLabel || s__('Timeago|Past due');
} }
return getTimeago().format(time, `${lang}-remaining`).trim(); return getTimeago().format(time, `${timeagoLanguageCode}-remaining`).trim();
}; };
export const getDayDifference = (a, b) => { export const getDayDifference = (a, b) => {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment