UNPKG

revel-mat-daterange-picker-up2

Version:

[![CircleCI](https://circleci.com/gh/ashishgkwd/ngx-mat-daterange-picker.svg?style=shield)](https://circleci.com/gh/ashishgkwd/ngx-mat-daterange-picker) [![Maintainability](https://api.codeclimate.com/v1/badges/2b0d09a866f6d2ed139c/maintainability)](https

1 lines 34.4 kB
{"version":3,"file":"revel-mat-daterange-picker-up.mjs","sources":["../../src/app/modules/ngx-mat-drp/picker-overlay/picker-overlay.animations.ts","../../src/app/modules/ngx-mat-drp/services/range-store.service.ts","../../src/app/modules/ngx-mat-drp/services/config-store.service.ts","../../src/app/modules/ngx-mat-drp/calendar-wrapper/calendar-wrapper.component.ts","../../src/app/modules/ngx-mat-drp/calendar-wrapper/calendar-wrapper.component.html","../../src/app/modules/ngx-mat-drp/presets/presets.component.ts","../../src/app/modules/ngx-mat-drp/presets/presets.component.html","../../src/app/modules/ngx-mat-drp/picker-overlay/picker-overlay.component.ts","../../src/app/modules/ngx-mat-drp/picker-overlay/picker-overlay.component.html","../../src/app/modules/ngx-mat-drp/services/calendar-overlay.service.ts","../../src/app/modules/ngx-mat-drp/ngx-mat-drp/ngx-mat-drp.component.ts","../../src/app/modules/ngx-mat-drp/ngx-mat-drp/ngx-mat-drp.component.html","../../src/app/modules/ngx-mat-drp/ngx-mat-drp.module.ts","../../revel-mat-daterange-picker-up.ts"],"sourcesContent":["import {\n animate,\n state,\n style,\n transition,\n trigger,\n AnimationTriggerMetadata,\n group\n} from '@angular/animations';\n\nexport const pickerOverlayAnimations: {\n readonly transformPanel: AnimationTriggerMetadata;\n} = {\n /** Transforms the height of the picker overlay content. */\n transformPanel: trigger('transformPickerOverlay', [\n state('void', style({opacity: 0, transform: 'scale(1, 0)'})),\n state('enter', style({opacity: 1, transform: 'scale(1, 1)'})),\n transition('void => enter', group([\n animate('400ms cubic-bezier(0.25, 0.8, 0.25, 1)')\n ])),\n transition('* => void', animate('100ms linear', style({opacity: 0})))\n ])\n};\n","import { Injectable, Inject, InjectionToken } from '@angular/core';\nimport { Range } from '../model/model';\nimport { Subject } from 'rxjs';\n/* import { DATE } from '../ngx-drp.module'; */\n\nexport const DATE = new InjectionToken<Date>('date');\n\n@Injectable()\nexport class RangeStoreService {\n rangeUpdate$: Subject<Range> = new Subject<Range>();\n\n constructor(\n @Inject(DATE) private _fromDate: Date,\n @Inject(DATE) private _toDate: Date\n ) {}\n\n /* set fromDate(fromDate:Date) {\n this._fromDate = fromDate;\n } */\n\n get fromDate(): Date {\n return this._fromDate;\n }\n\n /* set toDate(toDate:Date) {\n this._toDate = toDate;\n } */\n\n get toDate(): Date {\n return this._toDate;\n }\n\n updateRange(fromDate: Date = this._fromDate, toDate: Date = this._toDate) {\n this._fromDate = fromDate;\n this._toDate = toDate;\n this.rangeUpdate$.next({ fromDate: this._fromDate, toDate: this._toDate });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { NgxDrpOptions } from '../model/model';\n\n@Injectable()\nexport class ConfigStoreService {\n private _ngxDrpOptions: NgxDrpOptions;\n private defaultOptions = {\n excludeWeekends: false,\n animation: true,\n locale: 'en-US',\n fromMinMax: { fromDate: null, toDate: null },\n toMinMax: { fromDate: null, toDate: null }\n };\n\n constructor() {}\n\n get ngxDrpOptions(): NgxDrpOptions {\n return this._ngxDrpOptions;\n }\n\n set ngxDrpOptions(options: NgxDrpOptions) {\n this._ngxDrpOptions = { ...this.defaultOptions, ...options };\n }\n}\n","import {\n Component,\n ViewChild,\n Output,\n Input,\n EventEmitter,\n ChangeDetectionStrategy,\n OnChanges,\n SimpleChanges\n} from '@angular/core';\nimport { MatCalendar } from '@angular/material/datepicker';\nimport { ConfigStoreService } from '../services/config-store.service';\n\n@Component({\n selector: 'calendar-wrapper',\n templateUrl: './calendar-wrapper.component.html',\n styleUrls: ['./calendar-wrapper.component.css'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false\n})\nexport class CalendarWrapperComponent implements OnChanges {\n @ViewChild(MatCalendar)\n matCalendar: MatCalendar<Date>;\n\n @Output()\n readonly selectedDateChange: EventEmitter<Date> = new EventEmitter<Date>();\n\n dateFormat: string;\n clearLabel: string;\n @Input() selectedDate: Date;\n @Input() prefixLabel: string;\n @Input() minDate: Date;\n @Input() maxDate: Date;\n weekendFilter = (d: Date) => true;\n\n constructor(private configStore: ConfigStoreService) {\n this.dateFormat = configStore.ngxDrpOptions.format;\n this.clearLabel = configStore.ngxDrpOptions.clearLabel || 'Clear';\n if (configStore.ngxDrpOptions.excludeWeekends) {\n this.weekendFilter = (d: Date): boolean => {\n const day = d.getDay();\n return day !== 0 && day !== 6;\n };\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n // Necessary to force view refresh\n if (changes.selectedDate.currentValue) {\n this.matCalendar.activeDate = changes.selectedDate.currentValue;\n }\n this.matCalendar.selected = changes.selectedDate.currentValue;\n }\n\n onSelectedChange(date) {\n this.selectedDateChange.emit(date);\n }\n\n onYearSelected(e) {}\n\n onUserSelection(e) {}\n\n clear() {\n this.selectedDate = null;\n this.onSelectedChange(this.selectedDate);\n }\n}\n","<div>\n\n <!-- <mat-divider></mat-divider> -->\n <div class=\"ngx-mat-drp-date-header\">\n <div>\n <span class=\"ngx-mat-drp-date-label\">\n <label>{{prefixLabel}}</label>\n <label class=\"ngx-mat-drp-selected-date-label\">{{selectedDate | date:dateFormat}}</label>\n </span>\n </div>\n <button mat-button class=\"ngx-mat-drp-date-clear\" (click)=\"clear()\">{{clearLabel}}</button>\n </div>\n <!-- <mat-divider></mat-divider> -->\n\n <mat-calendar\n [startAt]=\"selectedDate\"\n [selected]=\"selectedDate\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n (selectedChange)=\"onSelectedChange($event)\"\n (yearSelected)=\"onYearSelected($event)\"\n (_userSelection)=\"onUserSelection($event)\"\n [dateFilter]=\"weekendFilter\">\n </mat-calendar>\n\n</div>\n","import {\n Component,\n OnInit,\n Output,\n EventEmitter,\n Input,\n ChangeDetectionStrategy,\n ViewEncapsulation\n} from '@angular/core';\nimport { PresetItem } from '../model/model';\n\n@Component({\n selector: 'mat-drp-presets',\n templateUrl: './presets.component.html',\n styleUrls: ['./presets.component.css'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false\n})\nexport class PresetsComponent implements OnInit {\n @Input()\n presets: Array<PresetItem>;\n @Output()\n readonly presetChanged: EventEmitter<any> = new EventEmitter<any>();\n\n constructor() {}\n\n ngOnInit() {}\n\n setPresetPeriod(event) {\n this.presetChanged.emit(event);\n }\n}\n","<div>\n <ul class=\"ngx-mat-drp-presets-list\">\n <li *ngFor=\"let preset of presets\" (click)=\"setPresetPeriod(preset)\"> {{preset.presetLabel}} </li>\n </ul>\n</div>","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\nimport { PresetItem, NgxDrpOptions } from '../model/model';\nimport { RangeStoreService } from '../services/range-store.service';\nimport { OverlayRef } from '@angular/cdk/overlay';\nimport { ConfigStoreService } from '../services/config-store.service';\nimport { pickerOverlayAnimations } from './picker-overlay.animations';\n\n@Component({\n selector: 'ngx-mat-drp-picker-overlay',\n templateUrl: './picker-overlay.component.html',\n styleUrls: ['./picker-overlay.component.css'],\n animations: [pickerOverlayAnimations.transformPanel],\n encapsulation: ViewEncapsulation.None,\n standalone: false\n})\nexport class PickerOverlayComponent implements OnInit {\n fromDate: Date;\n toDate: Date;\n fromMinDate: Date;\n fromMaxDate: Date;\n toMinDate: Date;\n toMaxDate: Date;\n presets: Array<PresetItem> = [];\n startDatePrefix: string;\n endDatePrefix: string;\n applyLabel: string;\n cancelLabel: string;\n shouldAnimate: string;\n\n constructor(\n private rangeStoreService: RangeStoreService,\n private configStoreService: ConfigStoreService,\n private overlayRef: OverlayRef\n ) {}\n\n ngOnInit() {\n this.fromDate = this.rangeStoreService.fromDate;\n this.toDate = this.rangeStoreService.toDate;\n this.startDatePrefix = this.configStoreService.ngxDrpOptions.startDatePrefix || 'FROM:';\n this.endDatePrefix = this.configStoreService.ngxDrpOptions.endDatePrefix || 'TO:';\n this.applyLabel = this.configStoreService.ngxDrpOptions.applyLabel || 'Apply';\n this.cancelLabel = this.configStoreService.ngxDrpOptions.cancelLabel || 'Cancel';\n this.presets = this.configStoreService.ngxDrpOptions.presets;\n this.shouldAnimate = this.configStoreService.ngxDrpOptions.animation\n ? 'enter'\n : 'noop';\n ({\n fromDate: this.fromMinDate,\n toDate: this.fromMaxDate\n } = this.configStoreService.ngxDrpOptions.fromMinMax);\n ({\n fromDate: this.toMinDate,\n toDate: this.toMaxDate\n } = this.configStoreService.ngxDrpOptions.toMinMax);\n }\n\n updateFromDate(date) {\n this.fromDate = date;\n }\n\n updateToDate(date) {\n this.toDate = date;\n }\n\n updateRangeByPreset(presetItem: PresetItem) {\n this.updateFromDate(presetItem.range.fromDate);\n this.updateToDate(presetItem.range.toDate);\n }\n\n applyNewDates(e) {\n this.rangeStoreService.updateRange(this.fromDate, this.toDate);\n this.disposeOverLay();\n }\n\n discardNewDates(e) {\n // this.rangeStoreService.updateRange();\n this.disposeOverLay();\n }\n\n private disposeOverLay() {\n this.overlayRef.dispose();\n }\n}\n","<div [@transformPickerOverlay]=\"shouldAnimate\" class=\"ngx-mat-drp-calendar-container\">\n\n <div class=\"ngx-mat-drp-calendar-item\">\n <calendar-wrapper \n [prefixLabel]=\"startDatePrefix\"\n [selectedDate]=\"fromDate\"\n [minDate]=\"fromMinDate\"\n [maxDate]=\"fromMaxDate\"\n (selectedDateChange)=\"updateFromDate($event)\">\n </calendar-wrapper>\n </div>\n <div class=\"ngx-mat-drp-calendar-item\">\n <calendar-wrapper \n [prefixLabel]=\"endDatePrefix\"\n [selectedDate]=\"toDate\"\n [minDate]=\"toMinDate\"\n [maxDate]=\"toMaxDate\" \n (selectedDateChange)=\"updateToDate($event)\">\n </calendar-wrapper>\n </div>\n <div class=\"ngx-mat-drp-calendar-item\">\n <div class=\"ngx-mat-drp-menu\">\n <mat-drp-presets [presets]=\"presets\" (presetChanged)=\"updateRangeByPreset($event)\"></mat-drp-presets>\n <div class=\"ngx-mat-drp-controls\">\n <button mat-button color=\"primary\" (click)=\"applyNewDates($event)\">{{applyLabel}}</button>\n <button mat-button (click)=\"discardNewDates($event)\">{{cancelLabel}}</button>\n </div>\n </div>\n </div>\n</div>\n","import { Injectable, ElementRef, Injector } from '@angular/core';\nimport { Overlay, OverlayConfig, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal, PortalInjector } from '@angular/cdk/portal';\nimport { NgxDrpOptions, CalendarOverlayConfig } from '../model/model';\nimport { takeWhile } from 'rxjs/operators';\nimport { PickerOverlayComponent } from '../picker-overlay/picker-overlay.component';\n\nconst DEFAULT_CONFIG: CalendarOverlayConfig = {\n panelClass: 'ngx-mat-drp-overlay',\n hasBackdrop: true,\n backdropClass: 'ngx-mat-drp-overlay-backdrop',\n shouldCloseOnBackdropClick: true\n};\n\n@Injectable()\nexport class CalendarOverlayService {\n private hostElemRef: ElementRef;\n\n constructor(private overlay: Overlay, private injector: Injector) {}\n\n open(\n config: CalendarOverlayConfig = {},\n hostElemRef: ElementRef\n ): OverlayRef {\n this.hostElemRef = hostElemRef;\n const overlayConfig = { ...DEFAULT_CONFIG, ...config };\n const overlayRef = this.createOverlay(overlayConfig);\n const portalInjector = this.createInjector(overlayRef);\n const calendarPortal = new ComponentPortal(\n PickerOverlayComponent,\n null,\n portalInjector\n );\n overlayRef.attach(calendarPortal);\n\n overlayRef\n .backdropClick()\n .pipe(takeWhile(() => overlayConfig.shouldCloseOnBackdropClick))\n .subscribe(() => overlayRef.dispose());\n\n return overlayRef;\n }\n\n private createOverlay(config: CalendarOverlayConfig): OverlayRef {\n const overlayConfig = this.getOverlayConfig(config);\n return this.overlay.create(overlayConfig);\n }\n\n private getOverlayConfig(config: CalendarOverlayConfig): OverlayConfig {\n const positionStrategy = this.overlay\n .position()\n .flexibleConnectedTo(this.hostElemRef)\n .withFlexibleDimensions(false)\n .withViewportMargin(8)\n .withDefaultOffsetY(12)\n .withPositions([\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top'\n },\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom'\n },\n {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'top'\n },\n {\n originX: 'end',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'bottom'\n }\n ]);\n\n const overlayConfig = new OverlayConfig({\n hasBackdrop: config.hasBackdrop,\n backdropClass: config.backdropClass,\n panelClass: config.panelClass,\n scrollStrategy: this.overlay.scrollStrategies.block(),\n positionStrategy\n });\n\n return overlayConfig;\n }\n\n private createInjector(overlayRef: OverlayRef): PortalInjector {\n const injectionTokens = new WeakMap();\n injectionTokens.set(OverlayRef, overlayRef);\n\n return new PortalInjector(this.injector, injectionTokens);\n }\n}\n","import {\n Component,\n OnInit,\n ViewChild,\n Output,\n EventEmitter,\n Input,\n OnDestroy,\n ChangeDetectionStrategy,\n ChangeDetectorRef\n} from '@angular/core';\nimport { DatePipe } from '@angular/common';\nimport { OverlayRef } from '@angular/cdk/overlay';\nimport { CalendarOverlayService } from '../services/calendar-overlay.service';\nimport { RangeStoreService } from '../services/range-store.service';\nimport { Range, NgxDrpOptions } from '../model/model';\nimport { ConfigStoreService } from '../services/config-store.service';\nimport { Subscription } from 'rxjs';\n\n@Component({\n selector: 'ngx-mat-drp',\n templateUrl: './ngx-mat-drp.component.html',\n styleUrls: ['./ngx-mat-drp.component.css'],\n providers: [\n CalendarOverlayService,\n RangeStoreService,\n ConfigStoreService,\n DatePipe\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false\n})\nexport class NgxMatDrpComponent implements OnInit, OnDestroy {\n @ViewChild('calendarInput')\n calendarInput;\n @Output()\n readonly selectedDateRangeChanged: EventEmitter<Range> = new EventEmitter<Range>();\n @Input()\n options: NgxDrpOptions;\n private rangeUpdate$: Subscription;\n selectedDateRange = '';\n\n constructor(\n private changeDetectionRef: ChangeDetectorRef,\n private calendarOverlayService: CalendarOverlayService,\n public rangeStoreService: RangeStoreService,\n public configStoreService: ConfigStoreService,\n private datePipe: DatePipe\n ) {}\n\n ngOnInit() {\n this.configStoreService.ngxDrpOptions = this.options;\n this.options.placeholder = this.options.placeholder || 'Choose a date';\n this.rangeUpdate$ = this.rangeStoreService.rangeUpdate$.subscribe(range => {\n const from: string = this.formatToDateString(\n range.fromDate,\n this.options.format\n );\n const to: string = this.formatToDateString(\n range.toDate,\n this.options.format\n );\n this.selectedDateRange = (from === '' && to === '') ? '' : `${from} - ${to}`;\n this.selectedDateRangeChanged.emit(range);\n });\n\n if(!this.options.defaultUnselect) { \n this.rangeStoreService.updateRange(\n this.options.range.fromDate,\n this.options.range.toDate\n );\n }\n this.changeDetectionRef.detectChanges();\n }\n\n ngOnDestroy() {\n if (this.rangeUpdate$) {\n this.rangeUpdate$.unsubscribe();\n }\n }\n\n private formatToDateString(date: Date, format: string): string {\n return date ? this.datePipe.transform(date, format) : '';\n }\n\n openCalendar(event) {\n const overlayRef: OverlayRef = this.calendarOverlayService.open(\n this.options.calendarOverlayConfig,\n this.calendarInput\n );\n }\n\n public resetDates(range: Range) {\n this.rangeStoreService.updateRange(\n range.fromDate,\n range.toDate\n );\n }\n}\n","<div> \n \n <mat-form-field class=\"ngx-mat-drp-date-display\">\n <input class=\"ngx-mat-drp-date-input\"\n matInput [placeholder]=\"options.placeholder\"\n [value]=\"selectedDateRange\"\n [matTooltip]=\"selectedDateRange\"\n (click)=\"openCalendar($event)\"\n readonly\n #calendarInput >\n <div matSuffix \n class=\"ngx-mat-drp-calendar\"\n (click)=\"openCalendar($event)\">\n </div>\n </mat-form-field>\n \n</div> \n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { NgxMatDrpComponent } from './ngx-mat-drp/ngx-mat-drp.component';\nimport { PickerOverlayComponent } from './picker-overlay/picker-overlay.component';\n\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { MatNativeDateModule } from '@angular/material/core';\nimport { OverlayModule } from '@angular/cdk/overlay';\n\nimport { CalendarWrapperComponent } from './calendar-wrapper/calendar-wrapper.component';\nimport { PresetsComponent } from './presets/presets.component';\nimport { DATE } from './services/range-store.service';\nimport {MatFormFieldModule} from '@angular/material/form-field';\nimport {MatInputModule} from '@angular/material/input';\nimport {MatTooltipModule} from '@angular/material/tooltip';\nimport {MatButtonModule} from '@angular/material/button';\n\n@NgModule({\n imports: [\n CommonModule,\n MatFormFieldModule,\n MatDatepickerModule,\n MatNativeDateModule,\n MatInputModule,\n MatButtonModule,\n MatTooltipModule,\n OverlayModule\n ],\n declarations: [\n NgxMatDrpComponent,\n CalendarWrapperComponent,\n PickerOverlayComponent,\n PresetsComponent\n ],\n providers: [\n { provide: DATE, useValue: new Date() }\n ],\n exports: [NgxMatDrpComponent]\n})\nexport class NgxMatDrpModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1.ConfigStoreService","i1","i1.RangeStoreService","i2.ConfigStoreService","i3","i4","i5.CalendarWrapperComponent","i6.PresetsComponent","i1.CalendarOverlayService","i2.RangeStoreService","i3.ConfigStoreService"],"mappings":"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"}