Skip to content
This repository has been archived by the owner on May 25, 2021. It is now read-only.

feat: add a stress tester page which adds ng2 components into the tree #469

Merged
merged 1 commit into from
Jun 29, 2016
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
import {Component} from '@angular/core';
import {FORM_DIRECTIVES, NgForm, NgIf} from '@angular/common';

// StressComponent wraps a list item around an Angular 2 component
// for Augury to detect.
@Component({
selector: 'stress-item',
inputs: ['value'],
template: `
<li>{{value}}</li>
`
})
class StressItem {
}

//
@Component({
selector: 'stress-tester',
directives: [FORM_DIRECTIVES, NgForm, StressItem],
template: `
<p>Stress test Augury by adding values to the list.
Warning: may crash Augury and/or Chrome.</p>
<form #regForm="ngForm" (ngSubmit)="onSubmit(regForm)" novalidate>
<div>
<label for="node-count">Specify number of values: </label>
<input type="number" id="node-count" ngControl="count">
</div>
<button type="submit">Add</button>
</form>
<br>
<h4>List of values</h4>
<ul>
<stress-item *ngFor="let val of values" value="{{val}}"></stress-item>
<li *ngIf="values.length === 0">Hint: type a number and click Add above.</li>
</ul>
`
})
export default class StressTester {
values: any = [];

// onSubmit make an array of the specified count. Each element will result in
// a new Angular 2 component.
onSubmit(regForm: NgForm) {
let maxCount = regForm.value.count;
for (let i = 0; i < maxCount; i++) {
this.values.push(i);
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ import ChangeDetection from '../components/change-detection/change-detection';
import AngularDirectives from
'../components/angular-directives/angular-directives';
import Demo from '../components/demo/demo';
import StressTester from '../components/stress-tester/stress-tester';

@RouteConfig([
{ path: '/', component: Home, name: 'Home' },
Expand All @@ -35,7 +36,8 @@ import Demo from '../components/demo/demo';
name: 'AngularDirectives' },
{ path: '/change-detection', component: ChangeDetection,
name: 'ChangeDetection' },
{ path: '/demo', component: Demo, name: 'DemoForNgConf' }
{ path: '/demo', component: Demo, name: 'DemoForNgConf' },
{ path: '/stress-tester', component: StressTester, name: 'StressTester' }
])
@Component({
selector: 'kitchen-sink',
Expand Down Expand Up @@ -81,6 +83,9 @@ import Demo from '../components/demo/demo';
<li [ngClass]="{active: path=='change-detection'}">
<a [routerLink]="['./ChangeDetection']">ChangeDetection</a>
</li>
<li [ngClass]="{active: path=='stress-tester'}">
<a [routerLink]="['./StressTester']">StressTester</a>
</li>
</ul>
</div>
<div class="col-md-9">
Expand Down