@quasar/quasar-ui-qcalendar
Version:
QCalendar - Day/Month/Week Calendars, Popups, Date Pickers, Schedules, Agendas, Planners and Tasks for your Vue Apps
117 lines (116 loc) • 2.96 kB
TypeScript
import { PropType, Ref, EmitFn, ComputedRef } from 'vue';
import { validateNumber, type Timestamp } from '../utils/Timestamp';
export interface Task {
[key: string]: any;
}
export declare const useTaskProps: {
modelValue: {
type: StringConstructor;
default: string;
validator: (v: string) => boolean;
};
modelTasks: {
type: () => Array<any>;
default: () => any[];
};
modelTitle: {
type: () => Array<any>;
default: () => any[];
};
modelFooter: {
type: () => Array<any>;
default: () => any[];
};
taskKey: {
type: PropType<string | number>;
default: string;
};
weekdays: {
type: () => number[];
default: () => number[];
};
dateType: {
type: () => "round" | "rounded" | "square";
default: string;
validator: (v: string) => boolean;
};
dateHeader: {
type: () => "stacked" | "inline" | "inverted";
default: string;
validator: (v: string) => boolean;
};
weekdayAlign: {
type: () => "left" | "center" | "right";
default: string;
validator: (v: string) => boolean;
};
dateAlign: {
type: () => "left" | "center" | "right";
default: string;
validator: (v: string) => boolean;
};
dayHeight: {
type: (StringConstructor | NumberConstructor)[];
default: number;
validator: typeof validateNumber;
};
dayMinHeight: {
type: (StringConstructor | NumberConstructor)[];
default: number;
validator: typeof validateNumber;
};
weekdayStyle: {
type: FunctionConstructor;
default: null;
};
weekdayClass: {
type: FunctionConstructor;
default: null;
};
dayStyle: {
type: FunctionConstructor;
default: null;
};
dayClass: {
type: FunctionConstructor;
default: null;
};
footerDayClass: {
type: FunctionConstructor;
default: null;
};
view: {
type: () => "day" | "week" | "month";
validator: (v: string) => boolean;
};
viewCount: {
type: NumberConstructor;
default: number;
validator: (v: number) => boolean;
};
taskWidth: {
type: NumberConstructor;
default: number;
validator: (v: number) => boolean;
};
};
interface TaskReturn {
parsedStartDate: ComputedRef<Timestamp | null>;
parsedEndDate: ComputedRef<Timestamp | null>;
days: Ref<Timestamp[]>;
}
export default function useTask(props: {
view: 'day' | 'week' | 'month';
modelValue: string;
viewCount: number;
weekdays: number[];
disabledBefore?: string;
disabledAfter?: string;
disabledWeekdays?: number[];
disabledDays?: string[];
}, emit: EmitFn, { times, }: {
times: {
today: Timestamp;
};
}): TaskReturn;
export {};