Mercurial > hg > ugly-duckling
annotate src/app/simple-form/simple-form.component.ts @ 1:44c99e3cb108
App skelton generated with angular-cli, as well as a few experiments (to be deleted).
author | Lucas Thompson <dev@lucas.im> |
---|---|
date | Tue, 25 Oct 2016 14:42:26 +0100 |
parents | |
children | b4a1e0a67389 |
rev | line source |
---|---|
dev@1 | 1 import { |
dev@1 | 2 Component, OnInit, Input, Output, EventEmitter, |
dev@1 | 3 ViewEncapsulation |
dev@1 | 4 } from '@angular/core'; |
dev@1 | 5 |
dev@1 | 6 @Component({ |
dev@1 | 7 encapsulation: ViewEncapsulation.Emulated, |
dev@1 | 8 selector: 'app-simple-form', |
dev@1 | 9 template: ` |
dev@1 | 10 <input #myInput type="text" |
dev@1 | 11 [(ngModel)]="message" |
dev@1 | 12 [ngClass]="{mousedown: isMousedown}" |
dev@1 | 13 (mousedown)="isMousedown = true" |
dev@1 | 14 (mouseup)="isMousedown = false" |
dev@1 | 15 (mouseleave)="isMousedown = false" |
dev@1 | 16 /> |
dev@1 | 17 <button (click)="update.emit({text:message})">Click me!</button> |
dev@1 | 18 `, |
dev@1 | 19 styles: [` |
dev@1 | 20 :host { |
dev@1 | 21 display: flex; |
dev@1 | 22 flex-direction: column; |
dev@1 | 23 } |
dev@1 | 24 |
dev@1 | 25 .mousedown { |
dev@1 | 26 border: 2px solid green; |
dev@1 | 27 } |
dev@1 | 28 |
dev@1 | 29 input:focus { |
dev@1 | 30 font-weight: bold; |
dev@1 | 31 outline: none; |
dev@1 | 32 } |
dev@1 | 33 |
dev@1 | 34 button { |
dev@1 | 35 border: none; |
dev@1 | 36 } |
dev@1 | 37 `] |
dev@1 | 38 }) |
dev@1 | 39 export class SimpleFormComponent implements OnInit { |
dev@1 | 40 |
dev@1 | 41 isMousedown; |
dev@1 | 42 |
dev@1 | 43 @Input() message; |
dev@1 | 44 |
dev@1 | 45 @Output() update = new EventEmitter(); |
dev@1 | 46 |
dev@1 | 47 constructor() { |
dev@1 | 48 // setInterval(() => this.message = Math.random().toString(), 1000); |
dev@1 | 49 } |
dev@1 | 50 |
dev@1 | 51 ngOnInit() { |
dev@1 | 52 } |
dev@1 | 53 |
dev@1 | 54 } |