1
1
import { Component , Directive , Host , ElementRef , Input } from 'angular2/core' ;
2
+ import { Observable } from 'data/observable' ;
3
+ import { TextValueAccessor } from './nativescript-angular/text-value-accessor' ;
2
4
3
5
@Component ( {
4
6
selector : 'templated-component' ,
@@ -24,10 +26,12 @@ export class ProgressComponent {
24
26
25
27
@Component ( {
26
28
selector : 'renderer-test' ,
27
- directives : [ TemplatedComponent , ProgressComponent ] ,
29
+ directives : [ TemplatedComponent , ProgressComponent , TextValueAccessor ] ,
28
30
template : `
29
31
<StackLayout orientation='vertical'>
30
32
<Progress value="50" style="color: red"></Progress>
33
+ <Label [text]='model.test'></Label>
34
+ <TextField #name [ngModel]='model.test' (ngModelChange)="model.test=setUpperCase($event)" fontSize='20' padding='20'></TextField>
31
35
<Label [class.valid]="isValid" [class.invalid]="!isValid" text='Name' fontSize='20' verticalAlignment='center' padding='20'></Label>
32
36
<TextField #name text='John' fontSize='20' padding='20'></TextField>
33
37
<Button [text]='buttonText' (tap)='onSave($event, name.text, $el)'></Button>
@@ -49,12 +53,14 @@ export class RendererTest {
49
53
public moreDetailsText : string = "" ;
50
54
public detailLines : Array < string > = [ ] ;
51
55
public isValid : boolean = true ;
56
+ public model : Observable ;
52
57
53
58
constructor ( ) {
54
59
this . buttonText = 'Save...'
55
60
this . showDetails = true ;
56
61
this . detailsText = 'plain ng-if directive \ndetail 1-2-3...' ;
57
62
this . moreDetailsText = 'More details:' ;
63
+ this . model = new Observable ( { 'test' : 'Jack' } ) ;
58
64
59
65
this . detailLines = [
60
66
"ngFor inside a ngIf 1" ,
@@ -67,8 +73,22 @@ export class RendererTest {
67
73
alert ( name ) ;
68
74
}
69
75
76
+ testLoaded ( $event ) {
77
+ console . log ( "testLoaded called with event args: " + $event ) ;
78
+ }
79
+
70
80
onToggleDetails ( ) {
71
81
console . log ( 'onToggleDetails current: ' + this . showDetails ) ;
72
82
this . showDetails = ! this . showDetails ;
73
83
}
84
+
85
+ setUpperCase ( $event ) {
86
+ if ( $event . value && $event . value . toUpperCase ) {
87
+ return $event . value . toUpperCase ( ) ;
88
+ }
89
+ if ( typeof $event === "string" ) {
90
+ return $event . toUpperCase ( ) ;
91
+ }
92
+ return $event ;
93
+ }
74
94
}
0 commit comments