Skip to content

Commit

Permalink
feat(content): add scrollToBottom
Browse files Browse the repository at this point in the history
  • Loading branch information
adamdbradley committed Apr 19, 2016
1 parent 1c755dc commit bef4a67
Show file tree
Hide file tree
Showing 3 changed files with 27 additions and 1 deletion.
11 changes: 10 additions & 1 deletion ionic/components/content/content.ts
Original file line number Diff line number Diff line change
Expand Up @@ -268,7 +268,7 @@ export class Content extends Ion {
* @returns {Promise} Returns a promise which is resolved when the scroll has completed.
*/
scrollToTop(duration: number = 300) {
return this.scrollTo(0, 0, duration);
return this._scroll.scrollToTop(duration);
}

/**
Expand All @@ -287,6 +287,15 @@ export class Content extends Ion {
this._scroll.setTop(top);
}

/**
* Scroll to the bottom of the content component.
* @param {number} [duration] Duration of the scroll animation in milliseconds. Defaults to `300`.
* @returns {Promise} Returns a promise which is resolved when the scroll has completed.
*/
scrollToBottom(duration: number = 300) {
return this._scroll.scrollToBottom(duration);
}

/**
* @private
*/
Expand Down
5 changes: 5 additions & 0 deletions ionic/components/nav/test/basic/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ class MyCmpTest{}
<button ion-item (click)="quickPush()">New push during transition</button>
<button ion-item (click)="quickPop()">New pop during transition</button>
<button ion-item (click)="reload()">Reload</button>
<button ion-item (click)="scrollToBottom()">Scroll to bottom</button>
<button *ngFor="#i of pages" ion-item (click)="pushPrimaryHeaderPage()">Page {{i}}</button>
<button ion-item (click)="content.scrollToTop()">Scroll to top</button>
</ion-list>
Expand Down Expand Up @@ -121,6 +122,10 @@ class FirstPage {
scrollToTop() {
this.content.scrollToTop();
}

scrollToBottom() {
this.content.scrollToBottom(1000);
}
}


Expand Down
12 changes: 12 additions & 0 deletions ionic/util/scroll-view.ts
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,18 @@ export class ScrollView {
});
}

scrollToTop(duration: number): Promise<any> {
return this.scrollTo(0, 0, duration);
}

scrollToBottom(duration: number): Promise<any> {
let y = 0;
if (this._el) {
y = this._el.scrollHeight - this._el.clientHeight;
}
return this.scrollTo(0, y, duration);
}

stop() {
this.isPlaying = false;
}
Expand Down

0 comments on commit bef4a67

Please sign in to comment.