From 7333428d943ae938fa42bab8e474afdfd86d842f Mon Sep 17 00:00:00 2001 From: Erwin Oldenkamp Date: Fri, 20 Jan 2017 17:26:16 +0100 Subject: [PATCH] feat(select): Add search support to the material2 select --- src/demo-app/select/select-demo.html | 20 +++++++ src/demo-app/select/select-demo.ts | 14 +++++ src/lib/select/index.ts | 11 +++- src/lib/select/select.html | 9 +-- src/lib/select/select.scss | 16 ++++++ src/lib/select/select.spec.ts | 84 ++++++++++++++++++++++++++++ src/lib/select/select.ts | 25 ++++++++- 7 files changed, 173 insertions(+), 6 deletions(-) diff --git a/src/demo-app/select/select-demo.html b/src/demo-app/select/select-demo.html index f1e903f4824b..e2813192aafe 100644 --- a/src/demo-app/select/select-demo.html +++ b/src/demo-app/select/select-demo.html @@ -33,6 +33,26 @@ +
+ + Filter selection + + + + {{ movie.viewValue }} + +

Value: {{ currentMovie }}

+

Touched: {{ movieControl.touched }}

+

Dirty: {{ movieControl.dirty }}

+

Status: {{ movieControl.control?.status }}

+ + + + +
+
+
+
diff --git a/src/demo-app/select/select-demo.ts b/src/demo-app/select/select-demo.ts index 0b369e0c137b..0994a5ac1aa8 100644 --- a/src/demo-app/select/select-demo.ts +++ b/src/demo-app/select/select-demo.ts @@ -10,9 +10,12 @@ import {MdSelectChange} from '@angular/material'; }) export class SelectDemo { isRequired = false; + movieRequired = false; isDisabled = false; + moviesDisabled = false; showSelect = false; currentDrink: string; + currentMovie: string; latestChangeEvent: MdSelectChange; foodControl = new FormControl('pizza-1'); @@ -40,6 +43,17 @@ export class SelectDemo { {value: 'squirtle-2', viewValue: 'Squirtle'} ]; + movies = [ + {value: 'moonraker-0', viewValue: 'Moonraker'}, + {value: 'goldfinger-1', viewValue: 'Sprite'}, + {value: 'thunderball-2', viewValue: 'Water'}, + {value: 'dr-no-3', viewValue: 'Dr. No'}, + {value: 'octopussy-4', viewValue: 'Octopussy'}, + {value: 'goldeneye-5', viewValue: 'Goldeneye'}, + {value: 'skyfall-6', viewValue: 'Skyfall'}, + {value: 'spectre-7', viewValue: 'Spectre'} + ]; + toggleDisabled() { this.foodControl.enabled ? this.foodControl.disable() : this.foodControl.enable(); } diff --git a/src/lib/select/index.ts b/src/lib/select/index.ts index 1a2e4afe6a88..339981ad75e0 100644 --- a/src/lib/select/index.ts +++ b/src/lib/select/index.ts @@ -6,12 +6,21 @@ import { CompatibilityModule, OverlayModule, } from '../core'; +import {MdInputModule} from '../input/input'; +import {FormsModule} from '@angular/forms'; export * from './select'; export {fadeInContent, transformPanel, transformPlaceholder} from './select-animations'; @NgModule({ - imports: [CommonModule, OverlayModule, MdOptionModule, CompatibilityModule], + imports: [ + CommonModule, + OverlayModule, + MdOptionModule, + CompatibilityModule, + MdInputModule, + FormsModule + ], exports: [MdSelect, MdOptionModule, CompatibilityModule], declarations: [MdSelect], }) diff --git a/src/lib/select/select.html b/src/lib/select/select.html index 61e55e51a4e9..53c51f04220a 100644 --- a/src/lib/select/select.html +++ b/src/lib/select/select.html @@ -6,12 +6,13 @@