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
			| 
								 
											3 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);
							 | 
						||
| 
								 | 
							
								  };
							 | 
						||
| 
								 | 
							
								});
							 |