Skip to content

Commit 8fe05ab

Browse files
committed
fix(input): don't add empty prefix & suffix wrappers
1 parent c524438 commit 8fe05ab

File tree

3 files changed

+35
-6
lines changed

3 files changed

+35
-6
lines changed

src/lib/input/index.ts

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,12 @@
1-
import {NgModule, ModuleWithProviders} from '@angular/core';
2-
import {MdPlaceholder, MdInputContainer, MdHint, MdInputDirective} from './input-container';
1+
import {ModuleWithProviders, NgModule} from '@angular/core';
2+
import {
3+
MdHint,
4+
MdInputContainer,
5+
MdInputDirective,
6+
MdPlaceholder,
7+
MdPrefix,
8+
MdSuffix
9+
} from './input-container';
310
import {MdTextareaAutosize} from './autosize';
411
import {CommonModule} from '@angular/common';
512
import {FormsModule} from '@angular/forms';
@@ -12,7 +19,9 @@ import {PlatformModule} from '../core/platform/index';
1219
MdInputContainer,
1320
MdHint,
1421
MdTextareaAutosize,
15-
MdInputDirective
22+
MdInputDirective,
23+
MdPrefix,
24+
MdSuffix,
1625
],
1726
imports: [
1827
CommonModule,
@@ -24,7 +33,9 @@ import {PlatformModule} from '../core/platform/index';
2433
MdInputContainer,
2534
MdHint,
2635
MdTextareaAutosize,
27-
MdInputDirective
36+
MdInputDirective,
37+
MdPrefix,
38+
MdSuffix,
2839
],
2940
})
3041
export class MdInputModule {

src/lib/input/input-container.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<div class="mat-input-wrapper">
22
<div class="mat-input-table">
3-
<div class="mat-input-prefix">
3+
<div class="mat-input-prefix" *ngIf="_prefixChildren.length">
44
<!-- TODO(andrewseguin): remove [md-prefix] -->
55
<ng-content select="[mdPrefix], [matPrefix], [md-prefix]"></ng-content>
66
</div>
@@ -23,7 +23,7 @@
2323
</span>
2424
</div>
2525

26-
<div class="mat-input-suffix">
26+
<div class="mat-input-suffix" *ngIf="_suffixChildren.length">
2727
<!-- TODO(andrewseguin): remove [md-suffix] -->
2828
<ng-content select="[mdSuffix], [matSuffix], [md-suffix]"></ng-content>
2929
</div>

src/lib/input/input-container.ts

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,20 @@ export class MdHint {
7272
}
7373

7474

75+
/** The input prefix. */
76+
@Directive({
77+
selector: '[mdPrefix], [matPrefix], [md-prefix]'
78+
})
79+
export class MdPrefix {}
80+
81+
82+
/** The input suffix. */
83+
@Directive({
84+
selector: '[mdSuffix], [matSuffix], [md-suffix]'
85+
})
86+
export class MdSuffix {}
87+
88+
7589
/** The input directive, used to mark the input that `MdInputContainer` is wrapping. */
7690
@Directive({
7791
selector: `input[mdInput], textarea[mdInput], input[matInput], textarea[matInput]`,
@@ -289,6 +303,10 @@ export class MdInputContainer implements AfterContentInit {
289303

290304
@ContentChildren(MdHint) _hintChildren: QueryList<MdHint>;
291305

306+
@ContentChildren(MdPrefix) _prefixChildren: QueryList<MdPrefix>;
307+
308+
@ContentChildren(MdSuffix) _suffixChildren: QueryList<MdSuffix>;
309+
292310
ngAfterContentInit() {
293311
if (!this._mdInputChild) {
294312
throw new MdInputContainerMissingMdInputError();

0 commit comments

Comments
 (0)