Skip to content

Commit a06b76c

Browse files
committed
fix(input): don't add empty prefix & suffix wrappers
1 parent 038a337 commit a06b76c

File tree

3 files changed

+45
-27
lines changed

3 files changed

+45
-27
lines changed

src/lib/input/index.ts

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
1-
import {NgModule, ModuleWithProviders} from '@angular/core';
1+
import {ModuleWithProviders, NgModule} from '@angular/core';
22
import {
3-
MdPlaceholder,
4-
MdInputContainer,
3+
MdErrorDirective,
54
MdHint,
5+
MdInputContainer,
66
MdInputDirective,
7-
MdErrorDirective,
7+
MdPlaceholder,
8+
MdPrefix,
9+
MdSuffix
810
} from './input-container';
911
import {MdTextareaAutosize} from './autosize';
1012
import {CommonModule} from '@angular/common';
@@ -14,25 +16,29 @@ import {PlatformModule} from '../core/platform/index';
1416

1517
@NgModule({
1618
declarations: [
17-
MdPlaceholder,
18-
MdInputContainer,
19+
MdErrorDirective,
1920
MdHint,
20-
MdTextareaAutosize,
21+
MdInputContainer,
2122
MdInputDirective,
22-
MdErrorDirective
23+
MdPlaceholder,
24+
MdPrefix,
25+
MdSuffix,
26+
MdTextareaAutosize,
2327
],
2428
imports: [
2529
CommonModule,
2630
FormsModule,
2731
PlatformModule,
2832
],
2933
exports: [
30-
MdPlaceholder,
31-
MdInputContainer,
34+
MdErrorDirective,
3235
MdHint,
33-
MdTextareaAutosize,
36+
MdInputContainer,
3437
MdInputDirective,
35-
MdErrorDirective
38+
MdPlaceholder,
39+
MdPrefix,
40+
MdSuffix,
41+
MdTextareaAutosize,
3642
],
3743
})
3844
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: 25 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,24 @@
11
import {
2-
AfterViewInit,
32
AfterContentInit,
3+
AfterViewInit,
4+
ChangeDetectorRef,
45
Component,
56
ContentChild,
67
ContentChildren,
78
Directive,
89
ElementRef,
10+
EventEmitter,
911
Input,
1012
Optional,
1113
Output,
12-
EventEmitter,
14+
QueryList,
1315
Renderer,
14-
ChangeDetectorRef,
15-
ViewEncapsulation,
1616
Self,
17-
QueryList,
17+
ViewEncapsulation
1818
} from '@angular/core';
19-
import {
20-
animate,
21-
state,
22-
style,
23-
transition,
24-
trigger,
25-
} from '@angular/animations';
19+
import {animate, state, style, transition, trigger} from '@angular/animations';
2620
import {coerceBooleanProperty} from '../core';
27-
import {NgControl, NgForm, FormGroupDirective} from '@angular/forms';
21+
import {FormGroupDirective, NgControl, NgForm} from '@angular/forms';
2822
import {getSupportedInputTypes} from '../core/platform/features';
2923
import {
3024
MdInputContainerDuplicatedHintError,
@@ -90,6 +84,20 @@ export class MdHint {
9084
})
9185
export class MdErrorDirective { }
9286

87+
/** The input prefix. */
88+
@Directive({
89+
selector: '[mdPrefix], [matPrefix], [md-prefix]'
90+
})
91+
export class MdPrefix {}
92+
93+
94+
/** The input suffix. */
95+
@Directive({
96+
selector: '[mdSuffix], [matSuffix], [md-suffix]'
97+
})
98+
export class MdSuffix {}
99+
100+
93101
/** The input directive, used to mark the input that `MdInputContainer` is wrapping. */
94102
@Directive({
95103
selector: `input[mdInput], textarea[mdInput], input[matInput], textarea[matInput]`,
@@ -327,6 +335,10 @@ export class MdInputContainer implements AfterViewInit, AfterContentInit {
327335

328336
@ContentChildren(MdHint) _hintChildren: QueryList<MdHint>;
329337

338+
@ContentChildren(MdPrefix) _prefixChildren: QueryList<MdPrefix>;
339+
340+
@ContentChildren(MdSuffix) _suffixChildren: QueryList<MdSuffix>;
341+
330342
constructor(
331343
private _changeDetectorRef: ChangeDetectorRef,
332344
@Optional() private _parentForm: NgForm,

0 commit comments

Comments
 (0)