diff --git a/src/demo-app/input/input-container-demo.html b/src/demo-app/input/input-container-demo.html index 381403f7c67d..dfe2365a8d6a 100644 --- a/src/demo-app/input/input-container-demo.html +++ b/src/demo-app/input/input-container-demo.html @@ -260,11 +260,11 @@

Textarea

Textarea Autosize - +
diff --git a/src/demo-app/input/input-demo.html b/src/demo-app/input/input-demo.html index cd4b7fe8e0a0..f83237d1f37f 100644 --- a/src/demo-app/input/input-demo.html +++ b/src/demo-app/input/input-demo.html @@ -178,5 +178,5 @@

Textarea

textarea autosize

- +
diff --git a/src/lib/input/autosize.spec.ts b/src/lib/input/autosize.spec.ts index 102ec41875db..f3faa744be03 100644 --- a/src/lib/input/autosize.spec.ts +++ b/src/lib/input/autosize.spec.ts @@ -1,4 +1,4 @@ -import {Component} from '@angular/core'; +import {Component, ViewChild} from '@angular/core'; import {ComponentFixture, TestBed, async} from '@angular/core/testing'; import {By} from '@angular/platform-browser'; import {MdInputModule} from './input'; @@ -97,6 +97,12 @@ describe('MdTextareaAutosize', () => { expect(parseInt(textarea.style.maxHeight)) .toBeGreaterThan(previousMaxHeight, 'Expected increased max-height with maxRows increase.'); }); + + it('should export the mdAutosize reference', () => { + expect(fixture.componentInstance.autosize).toBeTruthy(); + expect(fixture.componentInstance.autosize.resizeToFitContent).toBeTruthy(); + }); + }); @@ -109,17 +115,22 @@ const textareaStyleReset = ` }`; @Component({ - template: ``, + template: ` + `, styles: [textareaStyleReset], }) class AutosizeTextAreaWithContent { + @ViewChild('autosize') autosize: MdTextareaAutosize; minRows: number = null; maxRows: number = null; content: string = ''; } @Component({ - template: ``, + template: ``, styles: [textareaStyleReset], }) class AutosizeTextAreaWithValue { diff --git a/src/lib/input/autosize.ts b/src/lib/input/autosize.ts index 4bc863608949..d9cbf5adcb05 100644 --- a/src/lib/input/autosize.ts +++ b/src/lib/input/autosize.ts @@ -5,7 +5,8 @@ import {Directive, ElementRef, Input, OnInit} from '@angular/core'; * Directive to automatically resize a textarea to fit its content. */ @Directive({ - selector: 'textarea[md-autosize], textarea[mat-autosize]', + selector: 'textarea[md-autosize], textarea[mat-autosize], textarea[mdTextareaAutosize]', + exportAs: 'mdTextareaAutosize', host: { '(input)': 'resizeToFitContent()', '[style.min-height]': '_minHeight',