Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions goldens/size-test.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
material/list/nav-list: 130473
material/radio/without-group: 121448
material/menu/without-lazy-content: 210751
material/datepicker/range-picker/without-form-field: 330101
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
load("//integration/size-test:index.bzl", "size_test")

size_test(
name = "without-form-field",
file = "without-form-field.ts",
deps = ["//src/material/datepicker"],
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
import {Component, NgModule} from '@angular/core';
import {platformBrowser} from '@angular/platform-browser';
import {MatDatepickerModule} from '@angular/material/datepicker';

/**
* Basic component using `MatDateRangePicker` with `MatDatepickerToggle`. Form fields
* are optionally used in combination with the date-range input, so we expect that to
* be tree-shaken away in this example. Similarly the standard datepicker input directive
* should be omitted.
*/
@Component({
template: `
<mat-date-range-input [rangePicker]="picker">
<input matStartDate>
<input matEndDate>
</mat-date-range-input>
<mat-datepicker-toggle [for]="picker" matSuffix></mat-datepicker-toggle>
<mat-date-range-picker #picker></mat-date-range-picker>
`,
})
export class TestComponent {}

@NgModule({
imports: [MatDatepickerModule],
declarations: [TestComponent],
bootstrap: [TestComponent],
})
export class AppModule {}

platformBrowser().bootstrapModule(AppModule);
5 changes: 3 additions & 2 deletions src/material/datepicker/date-range-input.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,9 @@ import {
ChangeDetectorRef,
Self,
ElementRef,
Inject,
} from '@angular/core';
import {MatFormFieldControl, MatFormField} from '@angular/material/form-field';
import {MatFormFieldControl, MatFormField, MAT_FORM_FIELD} from '@angular/material/form-field';
import {ThemePalette, DateAdapter} from '@angular/material/core';
import {NgControl, ControlContainer} from '@angular/forms';
import {Subject, merge} from 'rxjs';
Expand Down Expand Up @@ -206,7 +207,7 @@ export class MatDateRangeInput<D> implements MatFormFieldControl<DateRange<D>>,
private _elementRef: ElementRef<HTMLElement>,
@Optional() @Self() control: ControlContainer,
@Optional() private _dateAdapter: DateAdapter<D>,
@Optional() private _formField?: MatFormField) {
@Optional() @Inject(MAT_FORM_FIELD) private _formField?: MatFormField) {

if (!_dateAdapter) {
throw createMissingDateImplError('DateAdapter');
Expand Down