UNPKG

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
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, };