2017-01-26 14:15:35 -08:00
|
|
|
<!-- #docplaster -->
|
|
|
|
<!-- #docregion final -->
|
2015-10-20 16:10:44 -07:00
|
|
|
<div class="container">
|
|
|
|
<!-- #docregion edit-div -->
|
2017-01-26 14:15:35 -08:00
|
|
|
<div [hidden]="submitted">
|
2015-10-20 16:10:44 -07:00
|
|
|
<h1>Hero Form</h1>
|
2015-12-11 11:50:57 -08:00
|
|
|
<!-- #docregion ngSubmit -->
|
2016-11-21 15:59:00 -05:00
|
|
|
<form (ngSubmit)="onSubmit()" #heroForm="ngForm">
|
2017-01-26 14:15:35 -08:00
|
|
|
<!-- #enddocregion ngSubmit, edit-div -->
|
2015-10-20 16:10:44 -07:00
|
|
|
<div class="form-group">
|
2016-02-01 10:52:20 -08:00
|
|
|
<!-- #docregion name-with-error-msg -->
|
2015-10-20 16:10:44 -07:00
|
|
|
<label for="name">Name</label>
|
2016-08-09 17:38:25 +01:00
|
|
|
<input type="text" class="form-control" id="name"
|
|
|
|
required
|
|
|
|
[(ngModel)]="model.name" name="name"
|
2017-01-26 14:15:35 -08:00
|
|
|
#name="ngModel">
|
2016-02-01 10:52:20 -08:00
|
|
|
<!-- #docregion hidden-error-msg -->
|
2016-11-21 15:59:00 -05:00
|
|
|
<div [hidden]="name.valid || name.pristine"
|
2016-08-09 17:38:25 +01:00
|
|
|
class="alert alert-danger">
|
2016-02-01 10:52:20 -08:00
|
|
|
<!-- #enddocregion hidden-error-msg -->
|
2015-10-20 16:10:44 -07:00
|
|
|
Name is required
|
|
|
|
</div>
|
|
|
|
<!-- #enddocregion name-with-error-msg -->
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="form-group">
|
|
|
|
<label for="alterEgo">Alter Ego</label>
|
2016-08-09 17:38:25 +01:00
|
|
|
<input type="text" class="form-control" id="alterEgo"
|
2017-01-26 14:15:35 -08:00
|
|
|
[(ngModel)]="model.alterEgo" name="alterEgo">
|
2015-10-20 16:10:44 -07:00
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="form-group">
|
|
|
|
<label for="power">Hero Power</label>
|
2016-08-09 17:38:25 +01:00
|
|
|
<select class="form-control" id="power"
|
|
|
|
required
|
2016-11-21 15:59:00 -05:00
|
|
|
[(ngModel)]="model.power" name="power"
|
2017-01-26 14:15:35 -08:00
|
|
|
#power="ngModel">
|
2016-11-21 18:23:28 -08:00
|
|
|
<option *ngFor="let pow of powers" [value]="pow">{{pow}}</option>
|
2015-10-20 16:10:44 -07:00
|
|
|
</select>
|
2016-02-01 10:52:20 -08:00
|
|
|
<div [hidden]="power.valid || power.pristine" class="alert alert-danger">
|
2015-10-20 16:10:44 -07:00
|
|
|
Power is required
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
2016-02-01 10:52:20 -08:00
|
|
|
<!-- #docregion submit-button -->
|
2017-01-31 20:36:32 -05:00
|
|
|
<button type="submit" class="btn btn-success" [disabled]="!heroForm.form.valid">Submit</button>
|
2016-02-01 10:52:20 -08:00
|
|
|
<!-- #enddocregion submit-button -->
|
2016-11-21 18:23:28 -08:00
|
|
|
<!-- #docregion new-hero-button-form-reset -->
|
2016-11-21 15:59:00 -05:00
|
|
|
<button type="button" class="btn btn-default" (click)="newHero(); heroForm.reset()">New Hero</button>
|
2016-11-21 18:23:28 -08:00
|
|
|
<!-- #enddocregion new-hero-button-form-reset -->
|
2016-02-01 10:52:20 -08:00
|
|
|
<!-- #enddocregion final -->
|
2016-11-21 18:23:28 -08:00
|
|
|
<i>with</i> reset
|
|
|
|
|
|
|
|
|
|
|
|
<!-- #docregion new-hero-button-no-reset -->
|
|
|
|
<button type="button" class="btn btn-default" (click)="newHero()">New Hero</button>
|
|
|
|
<!-- #enddocregion new-hero-button-no-reset -->
|
|
|
|
<i>without</i> reset
|
|
|
|
|
2016-02-01 10:52:20 -08:00
|
|
|
<!-- NOT SHOWN IN DOCS -->
|
|
|
|
<div>
|
|
|
|
<hr>
|
|
|
|
Name via form.controls = {{showFormControls(heroForm)}}
|
|
|
|
</div>
|
|
|
|
<!-- - -->
|
|
|
|
<!-- #docregion final -->
|
2015-10-20 16:10:44 -07:00
|
|
|
</form>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<!-- #docregion submitted -->
|
|
|
|
<div [hidden]="!submitted">
|
|
|
|
<h2>You submitted the following:</h2>
|
|
|
|
<div class="row">
|
|
|
|
<div class="col-xs-3">Name</div>
|
|
|
|
<div class="col-xs-9 pull-left">{{ model.name }}</div>
|
|
|
|
</div>
|
|
|
|
<div class="row">
|
|
|
|
<div class="col-xs-3">Alter Ego</div>
|
|
|
|
<div class="col-xs-9 pull-left">{{ model.alterEgo }}</div>
|
|
|
|
</div>
|
|
|
|
<div class="row">
|
|
|
|
<div class="col-xs-3">Power</div>
|
|
|
|
<div class="col-xs-9 pull-left">{{ model.power }}</div>
|
|
|
|
</div>
|
|
|
|
<br>
|
2017-01-31 20:36:32 -05:00
|
|
|
<button class="btn btn-primary" (click)="submitted=false">Edit</button>
|
2015-10-20 16:10:44 -07:00
|
|
|
</div>
|
|
|
|
<!-- #enddocregion submitted -->
|
|
|
|
</div>
|
|
|
|
<!-- #enddocregion final -->
|
|
|
|
|
|
|
|
<!-- ==================================================== -->
|
|
|
|
<div>
|
|
|
|
<form>
|
|
|
|
<!-- #docregion edit-div -->
|
|
|
|
|
|
|
|
<!-- ... all of the form ... -->
|
|
|
|
|
|
|
|
</form>
|
|
|
|
</div>
|
|
|
|
<!-- #enddocregion edit-div -->
|
|
|
|
|
|
|
|
<!-- ==================================================== -->
|
|
|
|
<hr>
|
2017-02-21 13:28:34 +00:00
|
|
|
<!-- #docregion phase1-->
|
2015-10-20 16:10:44 -07:00
|
|
|
<style>
|
|
|
|
.no-style .ng-valid {
|
|
|
|
border-left: 1px solid #CCC
|
|
|
|
}
|
|
|
|
|
|
|
|
.no-style .ng-invalid {
|
|
|
|
border-left: 1px solid #CCC
|
|
|
|
}
|
|
|
|
</style>
|
|
|
|
<div class="no-style" style="margin-left: 4px">
|
|
|
|
<!-- #docregion start -->
|
|
|
|
<div class="container">
|
|
|
|
<h1>Hero Form</h1>
|
|
|
|
<form>
|
|
|
|
<div class="form-group">
|
|
|
|
<label for="name">Name</label>
|
2016-08-09 17:38:25 +01:00
|
|
|
<input type="text" class="form-control" id="name" required>
|
2015-10-20 16:10:44 -07:00
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="form-group">
|
|
|
|
<label for="alterEgo">Alter Ego</label>
|
2016-08-09 17:38:25 +01:00
|
|
|
<input type="text" class="form-control" id="alterEgo">
|
2015-10-20 16:10:44 -07:00
|
|
|
</div>
|
|
|
|
|
|
|
|
<!-- #enddocregion start -->
|
|
|
|
<!-- #docregion powers -->
|
|
|
|
<div class="form-group">
|
|
|
|
<label for="power">Hero Power</label>
|
2016-08-09 17:38:25 +01:00
|
|
|
<select class="form-control" id="power" required>
|
2016-11-21 18:23:28 -08:00
|
|
|
<option *ngFor="let pow of powers" [value]="pow">{{pow}}</option>
|
2015-10-20 16:10:44 -07:00
|
|
|
</select>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<!-- #enddocregion powers -->
|
|
|
|
<!-- #docregion start -->
|
2017-01-31 20:36:32 -05:00
|
|
|
<button type="submit" class="btn btn-success">Submit</button>
|
2016-02-01 10:52:20 -08:00
|
|
|
|
2015-10-20 16:10:44 -07:00
|
|
|
</form>
|
|
|
|
</div>
|
|
|
|
<!-- #enddocregion start -->
|
|
|
|
<!-- #enddocregion phase1-->
|
|
|
|
|
|
|
|
<!-- ==================================================== -->
|
|
|
|
<hr>
|
|
|
|
<!-- #docregion phase2-->
|
|
|
|
<div class="container">
|
|
|
|
<h1>Hero Form</h1>
|
|
|
|
<form>
|
2015-12-11 11:50:57 -08:00
|
|
|
<!-- #docregion ngModel-2-->
|
2015-10-20 16:10:44 -07:00
|
|
|
{{diagnostic}}
|
|
|
|
<div class="form-group">
|
|
|
|
<label for="name">Name</label>
|
2016-08-09 17:38:25 +01:00
|
|
|
<input type="text" class="form-control" id="name"
|
|
|
|
required
|
|
|
|
[(ngModel)]="model.name" name="name">
|
2015-10-20 16:10:44 -07:00
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="form-group">
|
|
|
|
<label for="alterEgo">Alter Ego</label>
|
2016-08-09 17:38:25 +01:00
|
|
|
<input type="text" class="form-control" id="alterEgo"
|
|
|
|
[(ngModel)]="model.alterEgo" name="alterEgo">
|
2015-10-20 16:10:44 -07:00
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="form-group">
|
|
|
|
<label for="power">Hero Power</label>
|
2016-08-09 17:38:25 +01:00
|
|
|
<select class="form-control" id="power"
|
|
|
|
required
|
|
|
|
[(ngModel)]="model.power" name="power">
|
2016-11-21 18:23:28 -08:00
|
|
|
<option *ngFor="let pow of powers" [value]="pow">{{pow}}</option>
|
2015-10-20 16:10:44 -07:00
|
|
|
</select>
|
|
|
|
</div>
|
|
|
|
|
2015-12-11 11:50:57 -08:00
|
|
|
<!-- #enddocregion ngModel-2-->
|
2017-01-31 20:36:32 -05:00
|
|
|
<button type="submit" class="btn btn-success">Submit</button>
|
2015-10-20 16:10:44 -07:00
|
|
|
|
|
|
|
</form>
|
|
|
|
</div>
|
|
|
|
<!-- #enddocregion phase2-->
|
|
|
|
|
|
|
|
<!-- EXTRA MATERIAL FOR DOCUMENTATION -->
|
|
|
|
<hr>
|
2016-11-21 18:23:28 -08:00
|
|
|
<!-- #docregion ngModelName-1 -->
|
2017-01-26 14:15:35 -08:00
|
|
|
<input type="text" class="form-control" id="name"
|
2016-08-09 17:38:25 +01:00
|
|
|
required
|
|
|
|
[(ngModel)]="model.name" name="name">
|
2017-01-26 14:15:35 -08:00
|
|
|
TODO: remove this: {{model.name}}
|
2016-11-21 18:23:28 -08:00
|
|
|
<!-- #enddocregion ngModelName-1 -->
|
2015-10-20 16:10:44 -07:00
|
|
|
<hr>
|
2015-12-11 11:50:57 -08:00
|
|
|
<!-- #docregion ngModel-3-->
|
2016-08-09 17:38:25 +01:00
|
|
|
<input type="text" class="form-control" id="name"
|
|
|
|
required
|
|
|
|
[ngModel]="model.name" name="name"
|
2017-01-26 14:15:35 -08:00
|
|
|
(ngModelChange)="model.name = $event">
|
|
|
|
TODO: remove this: {{model.name}}
|
2015-12-11 11:50:57 -08:00
|
|
|
<!-- #enddocregion ngModel-3-->
|
2015-10-20 16:10:44 -07:00
|
|
|
<hr>
|
2016-06-19 11:50:27 -04:00
|
|
|
<!-- #docregion ngModelName-2 -->
|
2016-08-09 17:38:25 +01:00
|
|
|
<input type="text" class="form-control" id="name"
|
|
|
|
required
|
|
|
|
[(ngModel)]="model.name" name="name"
|
2017-01-26 14:15:35 -08:00
|
|
|
#spy>
|
2015-11-30 20:41:09 -08:00
|
|
|
<br>TODO: remove this: {{spy.className}}
|
2016-06-19 11:50:27 -04:00
|
|
|
<!-- #enddocregion ngModelName-2 -->
|
2015-10-20 16:10:44 -07:00
|
|
|
|
2016-02-01 10:52:20 -08:00
|
|
|
</div>
|