mekari-ui-vue
Version:
--- General web components in Mekari. The components are made using vue.js as its framework. Styling of components on Mekari UI Vue uses [Mekari UI Toolkit](https://bitbucket.org/mid-kelola-indonesia/mekari-ui-toolkit/src/master/). Don't forget to import
148 lines (145 loc) • 2.88 kB
JavaScript
const dictionary = {
id: {
shortWeekdays: [
'Min',
'Sen',
'Sel',
'Rab',
'Kam',
'Jum',
'Sab',
],
fullWeekdays: [
'Minggu',
'Senin',
'Selasa',
'Rabu',
'Kamis',
'Jumat',
'Sabtu',
],
shortMonths: [
'Jan',
'Feb',
'Mar',
'Apr',
'Mei',
'Jun',
'Jul',
'Agu',
'Sep',
'Okt',
'Nov',
'Des',
],
fullMonths: [
'Januari',
'Februari',
'Maret',
'April',
'Mei',
'Juni',
'Juli',
'Agustus',
'September',
'Oktober',
'November',
'Desember',
],
shortcutCopy: {
day: 'Hari ini',
month: 'Bulan ini',
year: 'Tahun ini',
},
},
en: {
shortWeekdays: [
'Sun',
'Mon',
'Tue',
'Wed',
'Thu',
'Fri',
'Sat',
],
fullWeekdays: [
'Sunday',
'Monday',
'Tuesday',
'Wednesday',
'Thursday',
'Friday',
'Saturday',
],
shortMonths: [
'Jan',
'Feb',
'Mar',
'Apr',
'May',
'Jun',
'Jul',
'Aug',
'Sep',
'Oct',
'Nov',
'Dec',
],
fullMonths: [
'January',
'February',
'March',
'April',
'May',
'June',
'July',
'August',
'September',
'October',
'November',
'December',
],
shortcutCopy: {
day: 'Today',
month: 'This month',
year: 'This year',
},
},
};
const dateFormatBuilder = (date, language, dateFormat) => {
let output = '';
const mapFormatter = dateUsed => ({
YYYY: dateUsed.getFullYear(),
YY: dateUsed.getFullYear().toString().substr(-2), // eslint-disable-line no-magic-numbers
MMMM: dictionary[language].fullMonths[dateUsed.getMonth()],
MMM: dictionary[language].shortMonths[dateUsed.getMonth()],
MM: dateUsed.getMonth() + 1 > 9 ? dateUsed.getMonth() + 1 : `0${dateUsed.getMonth() + 1}`, // eslint-disable-line no-magic-numbers
M: dateUsed.getMonth() + 1,
DD: dateUsed.getDate() > 9 ? dateUsed.getDate() : `0${dateUsed.getDate()}`, // eslint-disable-line no-magic-numbers
D: dateUsed.getDate(),
dddd: dictionary[language].fullWeekdays[dateUsed.getDay()],
ddd: dictionary[language].shortWeekdays[dateUsed.getDay()],
});
const regex = /YYYY|YY|MMMM|MMM|MM|M|DD|D|dddd|ddd/g;
let dataIterable = [date];
if (Array.isArray(date)) {
dataIterable = date;
}
dataIterable.forEach((dateUsed, index) => {
if (index > 0) {
output += ' - ';
}
if (dateUsed) {
output += dateFormat.replace(regex, matched =>
mapFormatter(dateUsed)[matched],
);
} else {
output += '...';
}
});
return output;
};
export default {
dictionary,
dateFormatBuilder,
};