You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					114 lines
				
				3.6 KiB
			
		
		
			
		
	
	
					114 lines
				
				3.6 KiB
			| 
											2 years ago
										 | import { t } from '../localizedFormat/utils'; | ||
|  | export default (function (o, c, dayjs) { | ||
|  |   // locale needed later
 | ||
|  |   var proto = c.prototype; | ||
|  | 
 | ||
|  |   var getLocalePart = function getLocalePart(part) { | ||
|  |     return part && (part.indexOf ? part : part.s); | ||
|  |   }; | ||
|  | 
 | ||
|  |   var getShort = function getShort(ins, target, full, num, localeOrder) { | ||
|  |     var locale = ins.name ? ins : ins.$locale(); | ||
|  |     var targetLocale = getLocalePart(locale[target]); | ||
|  |     var fullLocale = getLocalePart(locale[full]); | ||
|  |     var result = targetLocale || fullLocale.map(function (f) { | ||
|  |       return f.slice(0, num); | ||
|  |     }); | ||
|  |     if (!localeOrder) return result; | ||
|  |     var weekStart = locale.weekStart; | ||
|  |     return result.map(function (_, index) { | ||
|  |       return result[(index + (weekStart || 0)) % 7]; | ||
|  |     }); | ||
|  |   }; | ||
|  | 
 | ||
|  |   var getDayjsLocaleObject = function getDayjsLocaleObject() { | ||
|  |     return dayjs.Ls[dayjs.locale()]; | ||
|  |   }; | ||
|  | 
 | ||
|  |   var getLongDateFormat = function getLongDateFormat(l, format) { | ||
|  |     return l.formats[format] || t(l.formats[format.toUpperCase()]); | ||
|  |   }; | ||
|  | 
 | ||
|  |   var localeData = function localeData() { | ||
|  |     var _this = this; | ||
|  | 
 | ||
|  |     return { | ||
|  |       months: function months(instance) { | ||
|  |         return instance ? instance.format('MMMM') : getShort(_this, 'months'); | ||
|  |       }, | ||
|  |       monthsShort: function monthsShort(instance) { | ||
|  |         return instance ? instance.format('MMM') : getShort(_this, 'monthsShort', 'months', 3); | ||
|  |       }, | ||
|  |       firstDayOfWeek: function firstDayOfWeek() { | ||
|  |         return _this.$locale().weekStart || 0; | ||
|  |       }, | ||
|  |       weekdays: function weekdays(instance) { | ||
|  |         return instance ? instance.format('dddd') : getShort(_this, 'weekdays'); | ||
|  |       }, | ||
|  |       weekdaysMin: function weekdaysMin(instance) { | ||
|  |         return instance ? instance.format('dd') : getShort(_this, 'weekdaysMin', 'weekdays', 2); | ||
|  |       }, | ||
|  |       weekdaysShort: function weekdaysShort(instance) { | ||
|  |         return instance ? instance.format('ddd') : getShort(_this, 'weekdaysShort', 'weekdays', 3); | ||
|  |       }, | ||
|  |       longDateFormat: function longDateFormat(format) { | ||
|  |         return getLongDateFormat(_this.$locale(), format); | ||
|  |       }, | ||
|  |       meridiem: this.$locale().meridiem, | ||
|  |       ordinal: this.$locale().ordinal | ||
|  |     }; | ||
|  |   }; | ||
|  | 
 | ||
|  |   proto.localeData = function () { | ||
|  |     return localeData.bind(this)(); | ||
|  |   }; | ||
|  | 
 | ||
|  |   dayjs.localeData = function () { | ||
|  |     var localeObject = getDayjsLocaleObject(); | ||
|  |     return { | ||
|  |       firstDayOfWeek: function firstDayOfWeek() { | ||
|  |         return localeObject.weekStart || 0; | ||
|  |       }, | ||
|  |       weekdays: function weekdays() { | ||
|  |         return dayjs.weekdays(); | ||
|  |       }, | ||
|  |       weekdaysShort: function weekdaysShort() { | ||
|  |         return dayjs.weekdaysShort(); | ||
|  |       }, | ||
|  |       weekdaysMin: function weekdaysMin() { | ||
|  |         return dayjs.weekdaysMin(); | ||
|  |       }, | ||
|  |       months: function months() { | ||
|  |         return dayjs.months(); | ||
|  |       }, | ||
|  |       monthsShort: function monthsShort() { | ||
|  |         return dayjs.monthsShort(); | ||
|  |       }, | ||
|  |       longDateFormat: function longDateFormat(format) { | ||
|  |         return getLongDateFormat(localeObject, format); | ||
|  |       }, | ||
|  |       meridiem: localeObject.meridiem, | ||
|  |       ordinal: localeObject.ordinal | ||
|  |     }; | ||
|  |   }; | ||
|  | 
 | ||
|  |   dayjs.months = function () { | ||
|  |     return getShort(getDayjsLocaleObject(), 'months'); | ||
|  |   }; | ||
|  | 
 | ||
|  |   dayjs.monthsShort = function () { | ||
|  |     return getShort(getDayjsLocaleObject(), 'monthsShort', 'months', 3); | ||
|  |   }; | ||
|  | 
 | ||
|  |   dayjs.weekdays = function (localeOrder) { | ||
|  |     return getShort(getDayjsLocaleObject(), 'weekdays', null, null, localeOrder); | ||
|  |   }; | ||
|  | 
 | ||
|  |   dayjs.weekdaysShort = function (localeOrder) { | ||
|  |     return getShort(getDayjsLocaleObject(), 'weekdaysShort', 'weekdays', 3, localeOrder); | ||
|  |   }; | ||
|  | 
 | ||
|  |   dayjs.weekdaysMin = function (localeOrder) { | ||
|  |     return getShort(getDayjsLocaleObject(), 'weekdaysMin', 'weekdays', 2, localeOrder); | ||
|  |   }; | ||
|  | }); |