From 8d823d6ec72da0651bdc8d5357dfec1a166a9006 Mon Sep 17 00:00:00 2001 From: Miles Malerba Date: Thu, 29 Jun 2017 11:45:06 -0700 Subject: [PATCH] change to suggested API --- src/demo-app/datepicker/datepicker-demo.html | 20 ++------ src/lib/datepicker/datepicker-toggle.html | 15 ++++-- src/lib/datepicker/datepicker-toggle.scss | 8 ---- src/lib/datepicker/datepicker-toggle.ts | 48 ++++--------------- src/lib/datepicker/datepicker.md | 8 +--- src/lib/datepicker/datepicker.spec.ts | 12 ++--- src/lib/datepicker/index.ts | 6 +-- src/lib/input/_input-theme.scss | 6 +-- src/lib/input/input-container.scss | 9 ++-- .../datepicker-overview-example.html | 4 +- .../kitchen-sink/kitchen-sink.html | 4 +- 11 files changed, 40 insertions(+), 100 deletions(-) delete mode 100644 src/lib/datepicker/datepicker-toggle.scss diff --git a/src/demo-app/datepicker/datepicker-demo.html b/src/demo-app/datepicker/datepicker-demo.html index ba147f566614..abb111e4f013 100644 --- a/src/demo-app/datepicker/datepicker-demo.html +++ b/src/demo-app/datepicker/datepicker-demo.html @@ -7,25 +7,19 @@

Options

- + - +

- +

@@ -33,9 +27,7 @@

Options

Result

- + Result [max]="maxDate" [mdDatepickerFilter]="filterOdd ? dateFilter : null" placeholder="Pick a date"> - + - - - + diff --git a/src/lib/datepicker/datepicker-toggle.scss b/src/lib/datepicker/datepicker-toggle.scss deleted file mode 100644 index cd3aedcd2369..000000000000 --- a/src/lib/datepicker/datepicker-toggle.scss +++ /dev/null @@ -1,8 +0,0 @@ -// The width/height of the icon element. -$mat-datepicker-toggle-icon-size: 24px !default; - -.mat-datepicker-toggle-icon { - display: inline-block; - height: $mat-datepicker-toggle-icon-size; - width: $mat-datepicker-toggle-icon-size; -} diff --git a/src/lib/datepicker/datepicker-toggle.ts b/src/lib/datepicker/datepicker-toggle.ts index b3e16d487a15..96414d6d0bfe 100644 --- a/src/lib/datepicker/datepicker-toggle.ts +++ b/src/lib/datepicker/datepicker-toggle.ts @@ -6,40 +6,26 @@ * found in the LICENSE file at https://angular.io/license */ -import { - ChangeDetectionStrategy, - Component, - Directive, - ElementRef, - Input, - ViewEncapsulation -} from '@angular/core'; +import {ChangeDetectionStrategy, Component, Input, ViewEncapsulation} from '@angular/core'; import {MdDatepicker} from './datepicker'; import {MdDatepickerIntl} from './datepicker-intl'; -@Directive({ - selector: '[mdDatepickerToggle], [matDatepickerToggle]', +@Component({ + moduleId: module.id, + selector: 'md-datepicker-toggle, mat-datepicker-toggle', + templateUrl: 'datepicker-toggle.html', host: { - '[type]': '_isButton ? "button" : undefined', - '[attr.aria-label]': '_intl.openCalendarLabel', - '(click)': '_open($event)', + 'class': 'mat-datepicker-toggle', }, + encapsulation: ViewEncapsulation.None, + changeDetection: ChangeDetectionStrategy.OnPush, }) export class MdDatepickerToggle { /** Datepicker instance that the button will toggle. */ - @Input('mdDatepickerToggle') datepicker: MdDatepicker; + @Input('for') datepicker: MdDatepicker; - @Input('matDatepickerToggle') - get _datepicker() { return this.datepicker; } - set _datepicker(v: MdDatepicker) { this.datepicker = v; } - - /** Whether the host element is an HTML button. */ - _isButton = false; - - constructor(elementRef: ElementRef, public _intl: MdDatepickerIntl) { - this._isButton = elementRef.nativeElement.tagName.toLowerCase() === 'button'; - } + constructor(public _intl: MdDatepickerIntl) {} _open(event: Event): void { if (this.datepicker) { @@ -48,17 +34,3 @@ export class MdDatepickerToggle { } } } - - -@Component({ - moduleId: module.id, - selector: 'md-datepicker-toggle-icon, mat-datepicker-toggle-icon', - templateUrl: 'datepicker-toggle.html', - styleUrls: ['datepicker-toggle.css'], - host: { - 'class': 'mat-datepicker-toggle-icon', - }, - encapsulation: ViewEncapsulation.None, - changeDetection: ChangeDetectionStrategy.OnPush, -}) -export class MdDatepickerToggleIcon {} diff --git a/src/lib/datepicker/datepicker.md b/src/lib/datepicker/datepicker.md index daad1751a72b..a96ac8e7558a 100644 --- a/src/lib/datepicker/datepicker.md +++ b/src/lib/datepicker/datepicker.md @@ -25,9 +25,7 @@ An optional datepicker toggle button is available. A toggle can be added to the ```html - + ``` @@ -37,9 +35,7 @@ can easily be used as a prefix or suffix on the material input: ```html - + ``` diff --git a/src/lib/datepicker/datepicker.spec.ts b/src/lib/datepicker/datepicker.spec.ts index 94cf342a7efe..6c23d6580712 100644 --- a/src/lib/datepicker/datepicker.spec.ts +++ b/src/lib/datepicker/datepicker.spec.ts @@ -812,9 +812,7 @@ class DatepickerWithFormControl { @Component({ template: ` - + `, }) @@ -841,9 +839,7 @@ class InputContainerDatepicker { @Component({ template: ` - + `, }) @@ -858,9 +854,7 @@ class DatepickerWithMinAndMaxValidation { @Component({ template: ` - + `, }) diff --git a/src/lib/datepicker/index.ts b/src/lib/datepicker/index.ts index d8fd2c3d18df..0e4b0825aee7 100644 --- a/src/lib/datepicker/index.ts +++ b/src/lib/datepicker/index.ts @@ -16,9 +16,10 @@ import {MdDatepicker, MdDatepickerContent} from './datepicker'; import {MdDatepickerInput} from './datepicker-input'; import {MdDialogModule} from '../dialog/index'; import {MdCalendar} from './calendar'; -import {MdDatepickerToggle, MdDatepickerToggleIcon} from './datepicker-toggle'; +import {MdDatepickerToggle} from './datepicker-toggle'; import {MdButtonModule} from '../button/index'; import {MdDatepickerIntl} from './datepicker-intl'; +import {MdIconModule} from '../icon/index'; export * from './calendar'; @@ -36,6 +37,7 @@ export * from './year-view'; CommonModule, MdButtonModule, MdDialogModule, + MdIconModule, OverlayModule, StyleModule, A11yModule, @@ -45,7 +47,6 @@ export * from './year-view'; MdDatepickerContent, MdDatepickerInput, MdDatepickerToggle, - MdDatepickerToggleIcon, ], declarations: [ MdCalendar, @@ -54,7 +55,6 @@ export * from './year-view'; MdDatepickerContent, MdDatepickerInput, MdDatepickerToggle, - MdDatepickerToggleIcon, MdMonthView, MdYearView, ], diff --git a/src/lib/input/_input-theme.scss b/src/lib/input/_input-theme.scss index a4fe507ec5a8..0b8570cf4a15 100644 --- a/src/lib/input/_input-theme.scss +++ b/src/lib/input/_input-theme.scss @@ -150,8 +150,7 @@ .mat-input-prefix, .mat-input-suffix { // Allow icons in a prefix or suffix to adapt to the correct size. - .mat-icon, - .mat-datepicker-toggle-icon { + .mat-icon { font-size: $prefix-suffix-icon-font-size; line-height: $line-height; } @@ -161,8 +160,7 @@ height: $prefix-suffix-icon-font-scale * 1em; width: $prefix-suffix-icon-font-scale * 1em; - .mat-icon, - .mat-datepicker-toggle-icon { + .mat-icon { height: $line-height * 1em; line-height: $line-height; } diff --git a/src/lib/input/input-container.scss b/src/lib/input/input-container.scss index 7356cb2fb820..c23f83fe4c37 100644 --- a/src/lib/input/input-container.scss +++ b/src/lib/input/input-container.scss @@ -41,8 +41,7 @@ $mat-input-underline-height: 1px !default; flex: none; // Allow icons in a prefix or suffix to adapt to the correct size. - .mat-icon, - .mat-datepicker-toggle-icon { + .mat-icon { width: 1em; } @@ -51,8 +50,7 @@ $mat-input-underline-height: 1px !default; font: inherit; vertical-align: baseline; - .mat-icon, - .mat-datepicker-toggle-icon { + .mat-icon { font-size: inherit; } } @@ -230,8 +228,7 @@ textarea.mat-input-element { // Scale down icons in the placeholder and hint to be the same size as the text. .mat-input-subscript-wrapper, .mat-input-placeholder-wrapper { - .mat-icon, - .mat-datepicker-toggle-icon { + .mat-icon { width: 1em; height: 1em; font-size: inherit; diff --git a/src/material-examples/datepicker-overview/datepicker-overview-example.html b/src/material-examples/datepicker-overview/datepicker-overview-example.html index c3900a65c908..3e9d7709938f 100644 --- a/src/material-examples/datepicker-overview/datepicker-overview-example.html +++ b/src/material-examples/datepicker-overview/datepicker-overview-example.html @@ -1,7 +1,5 @@ - + diff --git a/src/universal-app/kitchen-sink/kitchen-sink.html b/src/universal-app/kitchen-sink/kitchen-sink.html index 66fe9f03c95d..1969a12d11de 100644 --- a/src/universal-app/kitchen-sink/kitchen-sink.html +++ b/src/universal-app/kitchen-sink/kitchen-sink.html @@ -87,9 +87,7 @@

Datepicker

- +