Skip to content
Closed
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
28 changes: 13 additions & 15 deletions modules/benchmarks/src/naive_infinite_scroll/cells.ts
Original file line number Diff line number Diff line change
@@ -1,50 +1,50 @@
import {List, ListWrapper, Map, MapWrapper} from 'angular2/src/facade/collection';
import {List, ListWrapper, Map} from 'angular2/src/facade/collection';
import {Company, Opportunity, Offering, Account, CustomDate, STATUS_LIST} from './common';
import {NgFor} from 'angular2/directives';

import {Component, Directive, View} from 'angular2/angular2';

export class HasStyle {
style: Map<any, any>;
cellWidth: int;

constructor() { this.style = new Map(); }
constructor() {}

set width(w) { this.style.set('width', w); }
set width(w: int) { this.cellWidth = w; }
}

@Component({selector: 'company-name', properties: ['width: cell-width', 'company']})
@View({directives: [], template: `<div [style]="style">{{company.name}}</div>`})
@View({directives: [], template: `<div [style.width.px]="cellWidth">{{company.name}}</div>`})
export class CompanyNameComponent extends HasStyle {
company: Company;
}

@Component({selector: 'opportunity-name', properties: ['width: cell-width', 'opportunity']})
@View({directives: [], template: `<div [style]="style">{{opportunity.name}}</div>`})
@View({directives: [], template: `<div [style.width.px]="cellWidth">{{opportunity.name}}</div>`})
export class OpportunityNameComponent extends HasStyle {
opportunity: Opportunity;
}

@Component({selector: 'offering-name', properties: ['width: cell-width', 'offering']})
@View({directives: [], template: `<div [style]="style">{{offering.name}}</div>`})
@View({directives: [], template: `<div [style.width.px]="cellWidth">{{offering.name}}</div>`})
export class OfferingNameComponent extends HasStyle {
offering: Offering;
}

export class Stage {
name: string;
isDisabled: boolean;
style: Map<string, string>;
backgroundColor: string;
apply: Function;
}

@Component({selector: 'stage-buttons', properties: ['width: cell-width', 'offering']})
@View({
directives: [NgFor],
template: `
<div [style]="style">
<div [style.width.px]="cellWidth">
<button template="ng-for #stage of stages"
[disabled]="stage.isDisabled"
[style]="stage.style"
[style.background-color]="stage.backgroundColor"
on-click="setStage(stage)">
{{stage.name}}
</button>
Expand Down Expand Up @@ -73,9 +73,7 @@ export class StageButtonsComponent extends HasStyle {
var stage = new Stage();
stage.name = status;
stage.isDisabled = disabled;
var stageStyle = new Map<string, string>();
stageStyle.set('background-color', disabled ? '#DDD' : isCurrent ? '#DDF' : '#FDD');
stage.style = stageStyle;
stage.backgroundColor = disabled ? '#DDD' : isCurrent ? '#DDF' : '#FDD';
if (isCurrent) {
disabled = false;
}
Expand All @@ -88,7 +86,7 @@ export class StageButtonsComponent extends HasStyle {
@View({
directives: [],
template: `
<div [style]="style">
<div [style.width.px]="cellWidth">
<a href="/account/{{account.accountId}}">
{{account.accountId}}
</a>
Expand All @@ -99,7 +97,7 @@ export class AccountCellComponent extends HasStyle {
}

@Component({selector: 'formatted-cell', properties: ['width: cell-width', 'value']})
@View({directives: [], template: `<div [style]="style">{{formattedValue}}</div>`})
@View({directives: [], template: `<div [style.width.px]="cellWidth">{{formattedValue}}</div>`})
export class FormattedCellComponent extends HasStyle {
formattedValue: string;

Expand Down
14 changes: 5 additions & 9 deletions modules/benchmarks/src/naive_infinite_scroll/scroll_area.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import {ListWrapper, MapWrapper} from 'angular2/src/facade/collection';
import {ListWrapper} from 'angular2/src/facade/collection';
import {Math} from 'angular2/src/facade/math';

import {Component, Directive, View} from 'angular2/angular2';
Expand All @@ -24,7 +24,8 @@ import {NgFor} from 'angular2/directives';
template: `
<div>
<div id="scrollDiv"
[style]="scrollDivStyle"
[style.height.px]="viewPortHeight"
style="width: 1000px; border: 1px solid #000; overflow: scroll"
on-scroll="onScroll($event)">
<div id="padding"></div>
<div id="inner">
Expand All @@ -40,19 +41,14 @@ export class ScrollAreaComponent {
_fullList: List<Offering>;
visibleItems: List<Offering>;

scrollDivStyle;
viewPortHeight: number;
paddingDiv;
innerDiv;

constructor() {
this._fullList = generateOfferings(ITEMS);
this.visibleItems = [];
this.scrollDivStyle = MapWrapper.createFromPairs([
['height', `${VIEW_PORT_HEIGHT}px`],
['width', '1000px'],
['border', '1px solid #000'],
['overflow', 'scroll']
]);
this.viewPortHeight = VIEW_PORT_HEIGHT;
this.onScroll(null);
}

Expand Down
41 changes: 18 additions & 23 deletions modules/benchmarks/src/naive_infinite_scroll/scroll_item.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
import {ListWrapper, MapWrapper} from 'angular2/src/facade/collection';
import {
CompanyNameComponent,
OpportunityNameComponent,
Expand Down Expand Up @@ -37,7 +36,10 @@ import {
FormattedCellComponent
],
template: `
<div class="row" [style]="itemStyle">
<div class="row"
[style.height.px]="itemHeight"
[style.line-height.px]="itemHeight"
style="font-size: 18px; display: flex; justify-content: space-between;">
<company-name [company]="offering.company"
[cell-width]="companyNameWidth">
</company-name>
Expand Down Expand Up @@ -75,27 +77,20 @@ import {
})
export class ScrollItemComponent {
offering: Offering;
itemStyle;

constructor() {
this.itemStyle = MapWrapper.createFromPairs([
['height', `${ITEM_HEIGHT}px`],
['line-height', `${ITEM_HEIGHT}px`],
['font-size', '18px'],
['display', 'flex'],
['justify-content', 'space-between']
]);
}
itemHeight: number;

get companyNameWidth() { return `${COMPANY_NAME_WIDTH}px`; }
get opportunityNameWidth() { return `${OPPORTUNITY_NAME_WIDTH}px`; }
get offeringNameWidth() { return `${OFFERING_NAME_WIDTH}px`; }
get accountCellWidth() { return `${ACCOUNT_CELL_WIDTH}px`; }
get basePointsWidth() { return `${BASE_POINTS_WIDTH}px`; }
get kickerPointsWidth() { return `${KICKER_POINTS_WIDTH}px`; }
get stageButtonsWidth() { return `${STAGE_BUTTONS_WIDTH}px`; }
get bundlesWidth() { return `${BUNDLES_WIDTH}px`; }
get dueDateWidth() { return `${DUE_DATE_WIDTH}px`; }
get endDateWidth() { return `${END_DATE_WIDTH}px`; }
get aatStatusWidth() { return `${AAT_STATUS_WIDTH}px`; }
constructor() { this.itemHeight = ITEM_HEIGHT; }

get companyNameWidth() { return COMPANY_NAME_WIDTH; }
get opportunityNameWidth() { return OPPORTUNITY_NAME_WIDTH; }
get offeringNameWidth() { return OFFERING_NAME_WIDTH; }
get accountCellWidth() { return ACCOUNT_CELL_WIDTH; }
get basePointsWidth() { return BASE_POINTS_WIDTH; }
get kickerPointsWidth() { return KICKER_POINTS_WIDTH; }
get stageButtonsWidth() { return STAGE_BUTTONS_WIDTH; }
get bundlesWidth() { return BUNDLES_WIDTH; }
get dueDateWidth() { return DUE_DATE_WIDTH; }
get endDateWidth() { return END_DATE_WIDTH; }
get aatStatusWidth() { return AAT_STATUS_WIDTH; }
}