From 9277bd2249845c27e64f3cb77d91d4afcdfd455c Mon Sep 17 00:00:00 2001 From: matteo <> Date: Wed, 31 Jan 2024 00:08:22 +0100 Subject: [PATCH 1/2] calendar restricted dates --- .../dateTimePicker/DateTimePicker.tsx | 24 ++++++++++++++++++- .../dateTimePicker/IDateTimePickerProps.ts | 6 +++++ .../controlsTest/components/ControlsTest.tsx | 2 ++ 3 files changed, 31 insertions(+), 1 deletion(-) diff --git a/src/controls/dateTimePicker/DateTimePicker.tsx b/src/controls/dateTimePicker/DateTimePicker.tsx index 247a228f0..033e3e4e3 100644 --- a/src/controls/dateTimePicker/DateTimePicker.tsx +++ b/src/controls/dateTimePicker/DateTimePicker.tsx @@ -1,6 +1,7 @@ import * as React from "react"; import { isEqual } from '@microsoft/sp-lodash-subset'; import { TimeConvention, DateConvention } from "./DateTimeConventions"; +import { Calendar } from "@fluentui/react"; import { DatePicker } from "@fluentui/react/lib/DatePicker"; import { Label } from "@fluentui/react/lib/Label"; import { IconButton } from "@fluentui/react/lib/Button"; @@ -246,7 +247,8 @@ export class DateTimePicker extends React.Component { + return ( + + ); + }; + // Check if the time element needs to be rendered let timeElm: JSX.Element =
; @@ -341,6 +362,7 @@ export class DateTimePicker extends React.Component this.handleTextChange(e, newValue, textErrorMessage) }} diff --git a/src/controls/dateTimePicker/IDateTimePickerProps.ts b/src/controls/dateTimePicker/IDateTimePickerProps.ts index 1cd15fd7e..67b73557c 100644 --- a/src/controls/dateTimePicker/IDateTimePickerProps.ts +++ b/src/controls/dateTimePicker/IDateTimePickerProps.ts @@ -153,4 +153,10 @@ export interface IDateTimePickerProps { * Icon used for clearDate iconbutton. Defaults to RemoveEvent */ showClearDateIcon?: string; + + /** + * If set the Calendar will not allow selection of dates in this array. + */ + restrictedDates?: Date[]; + } diff --git a/src/webparts/controlsTest/components/ControlsTest.tsx b/src/webparts/controlsTest/components/ControlsTest.tsx index 1c726f203..ac0146eca 100644 --- a/src/webparts/controlsTest/components/ControlsTest.tsx +++ b/src/webparts/controlsTest/components/ControlsTest.tsx @@ -1449,6 +1449,8 @@ export default class ControlsTest extends React.Component + + console.log("DateTimePicker value:", value)} placeholder="Pick a date" restrictedDates={[new Date(2024,1,15), new Date(2024,1,16), new Date(2024,1,17)]}/>