import * as React from 'react'; import { Dropdown, IDropdownOption } from 'office-ui-fabric-react'; import { Calendar, DateRangeType, DayOfWeek, defaultDayPickerStrings } from '@uifabric/date-time'; import * as styles from './Calendar.Example.scss'; const initialDaysToSelectInDayView = 4; export interface ICalendarInlineExampleState { selectedDate?: Date; selectedDateRange?: Date[]; daysToSelectInDayView?: number; } export class CalendarInlineMultidayDayViewExample extends React.Component<{}, ICalendarInlineExampleState> { public constructor(props: {}) { super(props); this.state = { selectedDate: new Date(), selectedDateRange: undefined, daysToSelectInDayView: initialDaysToSelectInDayView, }; } public render(): JSX.Element { let dateRangeString: string | null = null; if (this.state.selectedDateRange) { const rangeStart = this.state.selectedDateRange[0]; const rangeEnd = this.state.selectedDateRange[this.state.selectedDateRange.length - 1]; dateRangeString = rangeStart.toLocaleDateString() + '-' + rangeEnd.toLocaleDateString(); } return (
Selected date(s):{' '} {!this.state.selectedDate ? 'Not set' : this.state.selectedDate.toLocaleString()}
Selected dates: {!dateRangeString ? 'Not set' : dateRangeString}
); } private _onDaysToSelectInDayViewDropdownChange = ( ev: React.FormEvent, option: IDropdownOption | undefined, ): void => { this.setState((prevState: ICalendarInlineExampleState) => { return { ...prevState, daysToSelectInDayView: option && (option.key as number), }; }); }; private _onSelectDate = (date: Date, dateRangeArray: Date[]): void => { this.setState((prevState: ICalendarInlineExampleState) => { return { ...prevState, selectedDate: date, selectedDateRange: dateRangeArray, }; }); }; }