UNPKG

@farris/ui-vue

Version:

Farris Vue, a Farris Design based Vue3 component library.

138 lines (137 loc) 6.46 kB
/** * Copyright (c) 2020 - present, Inspur Genersoft Co., Ltd. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { CalendarWeekItem } from "../types/calendar"; import { DateObject, Period, MarkedDates, MarkStatus, DataRangePicked, FirstDayOfTheWeek } from "../types/common"; import { DateModel } from "../types/date-model"; import { ActiveMonth, MonthViewItem, NameOfMonths } from "../types/month"; import { YearViewItem } from "../types/year"; export interface DateFormatInfo { value: string; format: string; } export interface UseDateFormat { formatDate: (date: DateObject, dateFormat: string, monthLabels: NameOfMonths) => string; getDateValue: (dateStr: string, dateFormat: string, delimeters: string[] | null) => DateFormatInfo[]; preZero: (val: number) => string; remove: (format: string, delStr: string) => string; } export interface UseDate { emptyDate: () => DateObject; getDate: (date: DateObject) => Date; getDate2: (date: DateObject) => Date; getDayNumber: (date: DateObject) => number; getWeekdayIndex: (wd: string) => number; getTimeInMilliseconds: (date: DateObject) => number; getEpocTime: (date: DateObject) => number; getNearDate: (now: DateObject, min: DateObject, max: DateObject) => DateObject; getToday(): Required<DateObject>; getDateObject(dateString: string, dateFormat: string): DateObject; getMinDate(value: Date | string | null | undefined): DateObject; getMaxDate(value: Date | string | null | undefined): DateObject; getTimeValue(timeValue: string, isDateRange?: boolean): { hour: number; minute: number; second: number; }; getEndTimeValue(timeValue: string): { hour: number; minute: number; second: number; }; convertDateToDateObject(date: Date): DateObject; } export interface UseNumber { getDayNumber: (date: DateObject) => number; getNumberByValue: (df: DateFormatInfo) => number; getMonthNumberByMonthName: (df: DateFormatInfo, monthLabels: NameOfMonths) => number; getWeekNumber: (date: DateObject) => number; } export interface UseNormalizeDate { normalizeDate: (dateString: string, useValueFormat: boolean) => DateObject; normalizeDateRange: (dateRangeString: string) => Period; setNewDateRange: (period: Period, newDate: DateObject) => DataRangePicked; getActiveMonth: (dateValue: string) => { dateRange: Period; beginDateActiveMonth?: any; endDateActiveMonth?: any; beginTime?: any; endTime?: any; selectedWeekInfo?: any; }; getTimeStr: (date: Date) => string; getMonthAndYear: () => { startMonth: { month: number; year: number; }; endMonth: { month: number; year: number; }; }; } export interface UseCompare { isDateEarlier: (firstDate: DateObject, secondDate: DateObject) => boolean; equal: (firstDate: DateObject, secondDate: DateObject) => boolean; inPeriod: (date: DateObject, period: Period | null) => boolean; isPoint: (period: Period, date: DateObject) => boolean; equalOrEarlier: (firstDate: DateObject, secondDate: DateObject) => boolean; isInitializedDate: (date: DateObject) => boolean; isInitializedMonth: (date: DateObject) => boolean; isInitializedYear: (date: DateObject) => boolean; isMonthDisabledByDisableSince: (date: DateObject, disableSince: DateObject) => boolean; isMonthDisabledByDisableUntil: (date: DateObject, disableUntil: DateObject) => boolean; } export interface UseMonth { parseDefaultMonth: (monthString: string) => ActiveMonth; daysInMonth: (month: number, year: number) => number; daysInPreMonth: (month: number, year: number) => number; generateMonths: (nameOfMonths: string[], selectedMonth: DateObject, disableSince: DateObject, disableUntil: DateObject) => MonthViewItem[][]; getNextMonth: (month: number, year: number) => DateObject; getPreviousMonth: (month: number, year: number) => DateObject; } export interface UseMark { isMarkedDate: (date: DateObject, markedDates: MarkedDates[], markWeekends: MarkStatus) => MarkStatus; isHighlightedDate: (date: DateObject, sunHighlight: boolean, satHighlight: boolean, highlightDates: DateObject[]) => boolean; } export interface UseWeek { getNowWeekTime: (date: Date, firstDayOfWeek: FirstDayOfTheWeek) => Period; } export interface UseDisableTime { disabledHours: (min: DateObject, max: DateObject, currentDate: DateObject) => number[]; disabledMinutes: (min: DateObject, max: DateObject, currentDate: DateObject) => number[]; disabledSeconds: (min: DateObject, max: DateObject, _hour: number, _minute: number, currentDate: DateObject) => number[]; } export interface UseDateModel { getDateModel: (date: DateObject, period: Period, dateFormat: string, nameOfMonths: NameOfMonths, rangeDelimiter: string, returnFormat: string, dateStr: string) => DateModel; getFormattedDate: (model: DateModel) => string | undefined; } export interface UseDisableDate { isDisabledDate: (date: DateObject) => boolean; } export interface UseEvent { getKeyCodeFromEvent: (event: KeyboardEvent) => number; } export interface UseDisableMonth { isMonthDisabledByDisableUntil: (date: DateObject, disableUntil: DateObject) => boolean; isMonthDisabledByDisableSince: (date: DateObject, disableSince: DateObject) => boolean; } export interface UseYear { generateYears: (input: number, selectedMonth: DateObject, min: number, max: number, disableSince: DateObject, disableUntil: DateObject) => YearViewItem[][]; } export interface UseCalendar { generateCalendar: (month: number, year: number, firstDayOfWeek: string, markedDates: MarkedDates[], markWeekends: MarkStatus, highlightDates: DateObject[], highlightSaturday: boolean, highlightSunday: boolean, showWeekNumber: boolean) => CalendarWeekItem[]; }