@alifd/meet-react
Version:
Fusion Mobile React UI System Component
802 lines • 24.9 kB
JavaScript
import dayjs from 'dayjs';
import { CellStatusType } from './types';
export var MAX_MONTH = 11;
export var MIN_MONTH = 0;
export var MAX_DAY = 6;
export var MIN_DAY = 0;
export var NOW = new Date();
export var DEFAULT_MAX_DATE = new Date(NOW.getFullYear() + 20, 11, 31, 23, 59, 59, 999);
export var DEFAULT_MIN_DATE = new Date(2000, 0, 1, 0, 0, 0, 0);
export var getMaxMinDate = function getMaxMinDate(validRange) {
var minDate = DEFAULT_MIN_DATE;
var maxDate = DEFAULT_MAX_DATE;
if (validRange && validRange.length > 0) {
if (Object.prototype.toString.call(validRange[0]) === '[object Date]') {
minDate = validRange[0];
}
if (Object.prototype.toString.call(validRange[1]) === '[object Date]') {
maxDate = validRange[1];
}
}
return [minDate, maxDate];
};
export var formatNumber = function formatNumber(value) {
return value > 9 ? value : "0".concat(value);
};
export var getDate = function getDate(value, maxDate, minDate) {
var v = value || new Date();
if (v.getTime() > maxDate.getTime()) {
v = cloneDate(maxDate);
}
if (v.getTime() < minDate.getTime()) {
v = cloneDate(minDate);
}
return v;
};
export function cloneDate(d) {
return new Date(d.getTime());
}
export var getDaysInMonth = function getDaysInMonth(date) {
var resultDate = new Date(date.getFullYear(), date.getMonth(), 1);
resultDate.setDate(1);
resultDate.setMonth(resultDate.getMonth() + 1);
resultDate.setDate(resultDate.getDate() - 1);
return resultDate.getDate();
};
export function updateYear(d) {
var isAdd = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
var maxDate = arguments.length > 2 ? arguments[2] : undefined;
var minDate = arguments.length > 3 ? arguments[3] : undefined;
var year = d.getFullYear();
if (isAdd === true) {
year = year + 1;
} else {
year = year - 1;
}
var newDate = new Date(year, d.getMonth(), 1);
return getDate(newDate, maxDate, minDate);
}
export function updateWeek(d) {
var isAdd = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
var maxDate = arguments.length > 2 ? arguments[2] : undefined;
var minDate = arguments.length > 3 ? arguments[3] : undefined;
var newD = dayjs(d)[isAdd ? 'add' : 'subtract'](1, 'week');
return getDate(new Date(newD.valueOf()), maxDate, minDate);
}
export function updateMonth(d) {
var isAdd = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
var maxDate = arguments.length > 2 ? arguments[2] : undefined;
var minDate = arguments.length > 3 ? arguments[3] : undefined;
var month = d.getMonth();
var year = d.getFullYear();
if (isAdd === true) {
month = month + 1;
if (month > MAX_MONTH) {
month = MIN_MONTH;
year = year + 1;
}
} else {
month = month - 1;
if (month < MIN_MONTH) {
month = MAX_MONTH;
year = year - 1;
}
}
var newDate = new Date(year, month, 1);
var resultDate = getDate(new Date(newDate), maxDate, minDate);
return resultDate;
}
export function getMonthList(visibleDate, locale) {
var months = [];
for (var month = MIN_MONTH; month <= MAX_MONTH; month += 1) {
months.push({
label: "".concat(formatNumber(month + 1)).concat(locale.month || ''),
value: new Date(visibleDate.getFullYear(), month)
});
}
return months;
}
export function getDayList(local) {
var days = [];
for (var day = MIN_DAY; day <= MAX_DAY; day += 1) {
days.push({
label: local.weekdays && local.weekdays[day],
value: day
});
}
return days;
}
export function getPreMonthDates(visibleDate, locale) {
var days = [];
var firstDay = new Date(visibleDate.getFullYear(), visibleDate.getMonth(), 1);
var visibleDay = firstDay.getDay();
if (visibleDay === 0) {
return days;
}
var lastMonthDays = 0;
var year = visibleDate.getFullYear();
var month = visibleDate.getMonth();
if (visibleDate.getMonth() === 0) {
year = year - 1;
month = MAX_MONTH;
} else {
month = month - 1;
}
lastMonthDays = getDaysInMonth(new Date(year, month, 1));
var beginDate = lastMonthDays - (visibleDay - 1);
for (var i = 0; i < visibleDay; i++) {
days.push({
label: "".concat(beginDate + i),
value: new Date(year, month, beginDate + i)
});
}
return days;
}
export function getCurrentMonthDates(visibleDate, locale) {
var days = [];
var monthDays = getDaysInMonth(visibleDate);
for (var i = 1; i <= monthDays; i++) {
days.push({
label: i.toString(),
value: new Date(visibleDate.getFullYear(), visibleDate.getMonth(), i)
});
}
return days;
}
export function getNextMonthDates(visibleDate, locale) {
var days = [];
var monthDays = getDaysInMonth(visibleDate);
var lastDate = new Date(visibleDate.getFullYear(), visibleDate.getMonth(), monthDays);
var lastDay = lastDate.getDay();
var year = visibleDate.getFullYear();
var month = visibleDate.getMonth();
if (visibleDate.getMonth() === MAX_MONTH) {
year = year + 1;
month = MIN_MONTH;
} else {
month = month + 1;
}
for (var i = lastDay + 1; i <= MAX_DAY; i++) {
days.push({
label: "".concat(i - lastDay),
value: new Date(year, month, i - lastDay)
});
}
return days;
}
export function getCurrentMonthList(visibleDate, local) {
var preDates = getPreMonthDates(visibleDate, local);
var currentDates = getCurrentMonthDates(visibleDate, local);
var nextDates = getNextMonthDates(visibleDate, local);
return preDates.concat(currentDates).concat(nextDates);
}
export function isTheSameDay(date1, date2) {
if (!date1 || !date2) {
return false;
}
return dayjs(date1).isSame(date2, 'day');
}
export function isTheSameMonth(date1, date2) {
if (!date1 || !date2) {
return false;
}
return dayjs(date1).isSame(date2, 'month');
}
export function isTheSameYear(date1, date2) {
if (!date1 || !date2) {
return false;
}
return date1.getFullYear() === date2.getFullYear();
}
export function isDateDisabled(cellDate, disableFunc, maxDate, minDate, view) {
if (cellDate.getTime() > maxDate.getTime()) {
return true;
}
if (cellDate.getTime() < minDate.getTime()) {
return true;
}
if (disableFunc) {
return disableFunc(cellDate, view);
}
return false;
}
export function isDateInRange(cellDate, selectedData) {
var _a, _b;
if (!cellDate || !selectedData) {
return false;
}
if (!Array.isArray(selectedData)) {
return false;
}
if (selectedData.length < 2) {
return false;
}
if (cellDate.getTime() > ((_a = selectedData[selectedData.length - 1]) === null || _a === void 0 ? void 0 : _a.getTime())) {
return false;
}
if (cellDate.getTime() < ((_b = selectedData[0]) === null || _b === void 0 ? void 0 : _b.getTime())) {
return false;
}
return true;
}
export function isDateSelected(cellDate, selectedData, mode, type) {
var isSelected = null;
if (type === 'range') {
if (!Array.isArray(selectedData)) {
throw new Error('Type is range, but selected is not an array');
}
if (isTheSameDay(cellDate, selectedData[0])) {
return CellStatusType.begin;
}
if (isTheSameDay(cellDate, selectedData[selectedData.length - 1])) {
return CellStatusType.end;
}
return isSelected;
}
if (type === 'multi') {
if (!Array.isArray(selectedData)) {
throw new Error('Type is multi, but selected is not an array');
}
for (var i = 0; i < selectedData.length; i++) {
if (isTheSameDay(cellDate, selectedData[i])) {
return CellStatusType.selected;
}
}
return isSelected;
}
if (Array.isArray(selectedData)) {
throw new Error("Type is ".concat(mode, ", but selected is an array"));
}
if (mode === 'month' || mode === 'week') {
if (isTheSameDay(cellDate, selectedData)) {
isSelected = CellStatusType.selected;
}
}
if (mode === 'year') {
if (isTheSameMonth(cellDate, selectedData)) {
isSelected = CellStatusType.selected;
}
}
return isSelected;
}
export function getCellStatus(cellDate, selectedData, mode, type, disableFunc, maxDate, minDate, view) {
var cellType = CellStatusType.normal;
var today = isToday(cellDate);
if (today) {
cellType = CellStatusType.today;
}
var isInRange = type == 'range' && isDateInRange(cellDate, selectedData);
if (isInRange) {
cellType = CellStatusType.range;
}
var isSelected = isDateSelected(cellDate, selectedData, mode, type);
if (isSelected) {
cellType = isSelected;
}
var isDisable = isDateDisabled(cellDate, disableFunc, maxDate, minDate, view);
if (isDisable) {
cellType = CellStatusType.disabled;
}
return cellType;
}
export function isToday(cellDate) {
if (!cellDate) {
return false;
}
var cellYear = cellDate.getFullYear();
var cellMonth = cellDate.getMonth();
var cellDay = cellDate.getDate();
var today = new Date();
var todayYear = today.getFullYear();
var todayMonth = today.getMonth();
var todayDay = today.getDate();
if (cellYear == todayYear && cellMonth == todayMonth && cellDay == todayDay) {
return true;
}
return false;
}
export function isHaveDate(cellDate, selected) {
if (!cellDate) {
return -1;
}
if (!selected || selected.length < 1) {
return -1;
}
for (var i = 0; i < selected.length; i++) {
if (isTheSameDay(cellDate, selected[i])) {
return i;
}
}
return -1;
}
export function getFirstDayOfMonth(d) {
return new Date(d.getFullYear(), d.getMonth(), 1);
}
export function getWeekArray(d, firstDayOfWeek) {
var dayArray = [];
var daysInMonth = getDaysInMonth(d);
var weekArray = [];
var week = [];
for (var i = 1; i <= daysInMonth; i++) {
dayArray.push(new Date(d.getFullYear(), d.getMonth(), i, d.getHours(), d.getMinutes()));
}
var addWeek = function addWeek(w) {
var emptyDays = 7 - w.length;
for (var _i = 0; _i < emptyDays; ++_i) {
w[weekArray.length ? 'push' : 'unshift'](null);
}
weekArray.push(w);
};
dayArray.forEach(function (day) {
if (week.length > 0 && day.getDay() === firstDayOfWeek) {
addWeek(week);
week = [];
}
week.push(day);
if (dayArray.indexOf(day) === dayArray.length - 1) {
addWeek(week);
}
});
return weekArray;
}
export function getWeekDayArray(weekdays, firstDayOfWeek) {
var beforeArray = [];
var afterArray = [];
for (var i = 0; i < weekdays.length; i++) {
if (i < firstDayOfWeek) {
afterArray.push(weekdays[i]);
} else {
beforeArray.push(weekdays[i]);
}
}
return [].concat(beforeArray, afterArray);
}
export function getWeekDateArray(d, firstDayOfWeek) {
var arr = [];
for (var i = 0; i < 7; i++) {
var weekDate = cloneDate(d);
setWeek(weekDate, i, firstDayOfWeek);
arr.push(weekDate);
}
return arr;
}
export function getMonthArray(d) {
var length = 3;
var months = [];
var month = [];
for (var i = 0; i < 12; i++) {
month.push(new Date(d.getFullYear(), i, 1, d.getHours(), d.getMinutes()));
if (month.length === length) {
months.push(month);
month = [];
}
}
return months;
}
export function setWeek(d, day, firstDayOfWeek) {
var week = d.getDay();
d.setDate(d.getDate() + (day - week + firstDayOfWeek));
return d;
}
export function cloneAsDate(d) {
var clonedDate = cloneDate(d);
clonedDate.setHours(0, 0, 0, 0);
return clonedDate;
}
export function isBeforeDate(d1, d2) {
var date1 = cloneAsDate(d1);
var date2 = cloneAsDate(d2);
return date1.getTime() < date2.getTime();
}
export function isAfterDate(d1, d2) {
var date1 = cloneAsDate(d1);
var date2 = cloneAsDate(d2);
return date1.getTime() > date2.getTime();
}
export function isBetweenDates(dateToCheck, startDate, endDate) {
return !isBeforeDate(dateToCheck, startDate) && !isAfterDate(dateToCheck, endDate);
}
export function isEqualDate(d1, d2) {
return d1 && d2 && d1.getFullYear() === d2.getFullYear() && d1.getMonth() === d2.getMonth() && d1.getDate() === d2.getDate();
}
export function normalizeValue(value, isSelectWeek, firstDayOfWeek) {
if (!value) {
return [];
}
if (!Array.isArray(value)) {
if (isSelectWeek) {
return [setWeek(cloneDate(value), 0, firstDayOfWeek), setWeek(cloneDate(value), 6, firstDayOfWeek)];
}
return [value];
}
return value;
}
export var getDefaultFormat = function getDefaultFormat(type, second, use12Hours) {
var timeFormat = 'HH:mm';
if (second) {
timeFormat += ':ss';
}
if (use12Hours) {
timeFormat = "".concat(timeFormat.replace('HH', 'hh'), " A");
}
return {
date: 'YYYY-MM-DD',
year: 'YYYY',
month: 'YYYY-MM',
datetime: ['YYYY-MM-DD', timeFormat].join(' '),
time: timeFormat
}[type];
};
export var getDateByValues = function getDateByValues(date, values, type, second, use12Hours) {
var units = {
date: 'year_month_date',
year: 'year',
month: 'year_month',
datetime: "year_month_date_hour_minute".concat(second ? '_second' : ''),
time: "hour_minute".concat(second ? '_second' : '')
}[type].split('_');
var d = cloneDate(date);
if (units.includes('month')) {
d.setDate(1);
}
units.forEach(function (unit, index) {
var value = values[index];
switch (unit) {
case 'year':
d.setFullYear(value);
break;
case 'month':
d.setMonth(value);
break;
case 'date':
var daysInMonth = getDaysInMonth(d);
d.setDate(value > daysInMonth ? daysInMonth : value);
break;
case 'hour':
if (use12Hours && values[values.length - 1] === 'am' && value > 11) {
d.setHours(value - 12);
break;
} else if (use12Hours && values[values.length - 1] === 'pm' && value < 12) {
d.setHours(value + 12);
break;
}
d.setHours(value);
break;
case 'minute':
d.setMinutes(value);
break;
case 'second':
d.setSeconds(value);
break;
default:
break;
}
});
return d;
};
export var getValues = function getValues(value, type, second, use12Hours, maxDate, minDate) {
value = getDate(value, maxDate, minDate);
var date = dayjs(value);
var values = [];
var format = getDefaultFormat(type, second, use12Hours);
var hour = date.hour();
if (format.indexOf('YYYY') !== -1) {
values.push(date.year());
}
if (format.indexOf('MM') !== -1) {
values.push(date.month());
}
if (format.indexOf('DD') !== -1) {
values.push(date.date());
}
if (format.indexOf('HH') !== -1 || format.indexOf('hh') !== -1) {
values.push(hour);
}
if (format.indexOf('mm') !== -1) {
values.push(date.minute());
}
if (format.indexOf('ss') !== -1) {
values.push(date.second());
}
if (use12Hours) {
values.push(hour > 11 ? 'pm' : 'am');
}
return values;
};
export var getYears = function getYears(maxDate, minDate) {
var locale = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
var years = [];
var maxYears = maxDate.getFullYear();
var minYears = minDate.getFullYear();
for (var year = minYears; year <= maxYears; year += 1) {
years.push({
label: "".concat(year).concat(locale.year || ''),
value: year
});
}
return years;
};
export var getMonths = function getMonths(value, maxDate, minDate) {
var locale = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
var months = [];
var minMonth = 0;
var maxMonth = 11;
if (value.getFullYear() === minDate.getFullYear()) {
minMonth = minDate.getMonth();
}
if (value.getFullYear() === maxDate.getFullYear()) {
maxMonth = maxDate.getMonth();
}
for (var month = minMonth; month <= maxMonth; month += 1) {
months.push({
label: "".concat(formatNumber(month + 1)).concat(locale.month || ''),
value: month
});
}
return months;
};
export var getDays = function getDays(value, maxDate, minDate) {
var locale = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
var days = [];
var maxDay = getDaysInMonth(value);
var minDay = 1;
if (value.getFullYear() === maxDate.getFullYear() && value.getMonth() === maxDate.getMonth()) {
maxDay = maxDate.getDate();
}
if (value.getFullYear() === minDate.getFullYear() && value.getMonth() === minDate.getMonth()) {
minDay = minDate.getDate();
}
for (var day = minDay; day <= maxDay; day += 1) {
days.push({
label: "".concat(formatNumber(day)).concat(locale.day || ''),
value: day
});
}
return days;
};
export var getHours = function getHours(value, maxDate, minDate) {
var locale = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
var use12Hours = arguments.length > 4 ? arguments[4] : undefined;
var hours = [];
var maxHour = 23;
var minHour = 0;
if (value.getFullYear() === maxDate.getFullYear() && value.getMonth() === maxDate.getMonth() && value.getDate() === maxDate.getDate()) {
maxHour = maxDate.getHours();
}
if (value.getFullYear() === minDate.getFullYear() && value.getMonth() === minDate.getMonth() && value.getDate() === minDate.getDate()) {
minHour = minDate.getHours();
}
for (var hour = minHour; hour <= maxHour; hour += 1) {
hours.push({
label: "".concat(formatNumber(hour)).concat(locale.hour || ''),
value: hour
});
}
if (use12Hours) {
var isPM = value.getHours() > 11;
hours = hours.filter(function (item) {
return isPM && item.value > 11 || !isPM && item.value < 12;
}).map(function (item) {
if (isPM) {
var val = item.value - 12;
return {
label: "".concat(formatNumber(val)).concat(locale.hour || ''),
value: item.value
};
}
return item;
});
if (hours.length > 0 && (hours[0].value === 0 || hours[0].value === 12)) {
var item = hours[0];
hours.splice(0, 1);
hours.push(Object.assign(Object.assign({}, item), {
label: "12".concat(locale.hour || '')
}));
}
}
return hours;
};
export var getMinutes = function getMinutes(value, maxDate, minDate) {
var locale = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
var minutes = [];
var maxMinute = 59;
var minMinute = 0;
if (value.getFullYear() === maxDate.getFullYear() && value.getMonth() === maxDate.getMonth() && value.getDate() === maxDate.getDate() && value.getHours() === maxDate.getHours()) {
maxMinute = maxDate.getMinutes();
}
if (value.getFullYear() === minDate.getFullYear() && value.getMonth() === minDate.getMonth() && value.getDate() === minDate.getDate() && value.getHours() === minDate.getHours()) {
minMinute = minDate.getMinutes();
}
for (var minute = minMinute; minute <= maxMinute; minute += 1) {
minutes.push({
label: "".concat(formatNumber(minute)).concat(locale.minute || ''),
value: minute
});
}
return minutes;
};
export var getSeconds = function getSeconds(value, maxDate, minDate) {
var locale = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
var seconds = [];
var maxSecond = 59;
var minSecond = 0;
if (value.getFullYear() === maxDate.getFullYear() && value.getMonth() === maxDate.getMonth() && value.getDate() === maxDate.getDate() && value.getHours() === maxDate.getHours() && value.getMinutes() === maxDate.getMinutes()) {
maxSecond = maxDate.getSeconds();
}
if (value.getFullYear() === minDate.getFullYear() && value.getMonth() === minDate.getMonth() && value.getDate() === minDate.getDate() && value.getHours() === minDate.getHours() && value.getMinutes() === minDate.getMinutes()) {
minSecond = minDate.getSeconds();
}
for (var second = minSecond; second <= maxSecond; second += 1) {
seconds.push({
label: "".concat(formatNumber(second)).concat(locale.second || ''),
value: second
});
}
return seconds;
};
export var getAMPM = function getAMPM(locale) {
return ['am', 'pm'].map(function (key) {
return {
label: locale[key],
value: key
};
});
};
export var getDataSource = function getDataSource(value, type, second, use12Hours, maxDate, minDate, locale) {
value = getDate(value, maxDate, minDate);
var format = getDefaultFormat(type, second, use12Hours);
var data = [];
if (format.indexOf('YYYY') !== -1) {
data.push(getYears(maxDate, minDate, locale));
}
if (format.indexOf('MM') !== -1) {
data.push(getMonths(value, maxDate, minDate, locale));
}
if (format.indexOf('DD') !== -1) {
data.push(getDays(value, maxDate, minDate, locale));
}
if (format.indexOf('HH') !== -1 || format.indexOf('hh') !== -1) {
data.push(getHours(value, maxDate, minDate, locale, use12Hours));
}
if (format.indexOf('mm') !== -1) {
data.push(getMinutes(value, maxDate, minDate, locale));
}
if (format.indexOf('ss') !== -1) {
data.push(getSeconds(value, maxDate, minDate, locale));
}
if (use12Hours) {
data.push(getAMPM(locale));
}
return data;
};
export var getTargetDate = function getTargetDate(modeType, visibleDate, type, maxDate, minDate) {
var newTime = visibleDate;
if (type == 'pre') {
if (modeType == 'week') {
newTime = updateWeek(visibleDate, false, maxDate, minDate);
}
if (modeType == 'month') {
newTime = updateMonth(visibleDate, false, maxDate, minDate);
}
if (modeType == 'year') {
newTime = updateYear(visibleDate, false, maxDate, minDate);
}
}
if (type == 'next') {
if (modeType == 'week') {
newTime = updateWeek(visibleDate, true, maxDate, minDate);
}
if (modeType == 'month') {
newTime = updateMonth(visibleDate, true, maxDate, minDate);
}
if (modeType == 'year') {
newTime = updateYear(visibleDate, true, maxDate, minDate);
}
}
return newTime;
};
export var genContentHeight = function genContentHeight(modeType) {
if (modeType == 'week') {
return '220';
}
if (modeType == 'month') {
return '580';
}
if (modeType == 'year') {
return '700';
}
return '700';
};
export var genTotalPageDates = function genTotalPageDates(minDate, maxDate, mode, visibleDate, firstDay) {
var dates = [];
var lastPre = visibleDate;
while (true) {
lastPre = dates.length > 0 ? dates[dates.length - 1] : lastPre;
var pre = getTargetDate(mode, lastPre, 'pre', maxDate, minDate);
if (isTheSameDay(pre, lastPre)) {
break;
}
if (mode == 'week') {
var tempNext = getTargetDate(mode, pre, 'next', maxDate, minDate);
if (!isTheSameDay(tempNext, lastPre)) {
break;
}
}
if (mode == 'month') {
if (isTheSameMonth(pre, lastPre)) {
break;
}
}
if (mode == 'year') {
if (isTheSameYear(pre, lastPre)) {
break;
}
}
dates.push(pre);
}
dates = dates.reverse();
dates.push(visibleDate);
var lastNext = visibleDate;
while (true) {
lastNext = dates.length > 0 ? dates[dates.length - 1] : lastNext;
var next = getTargetDate(mode, lastNext, 'next', maxDate, minDate);
if (isTheSameDay(next, lastNext)) {
break;
}
if (mode == 'week') {
var tempPre = getTargetDate(mode, next, 'pre', maxDate, minDate);
if (!isTheSameDay(tempPre, lastNext)) {
break;
}
}
if (mode == 'month') {
if (isTheSameMonth(next, lastNext)) {
break;
}
}
if (mode == 'year') {
if (isTheSameYear(next, lastNext)) {
break;
}
}
dates.push(next);
}
return dates;
};
export var getSelectedIndex = function getSelectedIndex(dates, selectedDate) {
if (!dates || dates.length < 1) {
return 1;
}
for (var i = 0; i < dates.length; i++) {
if (!dates[i]) {
continue;
}
if (isTheSameDay(dates[i], selectedDate)) {
return i;
}
}
return 1;
};
export var getDateCellStatus = function getDateCellStatus(_ref) {
var cellDate = _ref.cellDate,
selectedDate = _ref.selectedDate,
mode = _ref.mode,
type = _ref.type,
disabledDate = _ref.disabledDate,
maxDate = _ref.maxDate,
minDate = _ref.minDate,
visibleDate = _ref.visibleDate;
var cellType = getCellStatus(cellDate && cellDate.value, selectedDate, mode, type, disabledDate, maxDate, minDate, 'date');
var realDisable = cellType === CellStatusType.disabled;
if (cellType === CellStatusType.begin) {
if (Object.prototype.toString.call(selectedDate) === '[object Array]') {
if (selectedDate.length === 1) {
cellType = CellStatusType.selected;
}
}
}
if (!isTheSameMonth(cellDate && cellDate.value, visibleDate) && cellType !== CellStatusType.selected && cellType !== CellStatusType.begin && cellType !== CellStatusType.end && cellType !== CellStatusType.range) {
cellType = CellStatusType.disabled;
}
return [cellType, realDisable];
};