import { Injectable } from "@angular/core"; import { DateRange, MatDateRangeSelectionStrategy } from "@angular/material/datepicker"; import moment from "moment"; @Injectable() export class FDSelection implements MatDateRangeSelectionStrategy { selectionFinished(date: moment.Moment | null): DateRange { return this._cr(date) } createPreview(activeDate: moment.Moment | null): DateRange { return this._cr(activeDate) } private _cr(date: moment.Moment | null) { if (date) { const start = moment(date).startOf('week') const end = moment(date).isoWeekday(5).endOf('day') return new DateRange(start, end) } return new DateRange(null, null) } } export const weekendFilter = (date: moment.Moment | null): boolean => { const day = date?.isoWeekday() return day !== 6 && day !== 7 }