From b45960df67a1216ee74abfcc9994a21f878482a3 Mon Sep 17 00:00:00 2001 From: mmalerba Date: Tue, 17 Apr 2018 10:48:25 -0700 Subject: [PATCH] chore(paginator): add paginator demo (#10893) * chore(paginator): add paginator demo * fix path --- .github/CODEOWNERS | 1 + src/demo-app/demo-app/demo-app.ts | 1 + src/demo-app/demo-app/demo-module.ts | 3 +- src/demo-app/demo-app/routes.ts | 2 ++ src/demo-app/paginator/paginator-demo.html | 35 ++++++++++++++++++++ src/demo-app/paginator/paginator-demo.scss | 15 +++++++++ src/demo-app/paginator/paginator-demo.ts | 37 ++++++++++++++++++++++ 7 files changed, 93 insertions(+), 1 deletion(-) create mode 100644 src/demo-app/paginator/paginator-demo.html create mode 100644 src/demo-app/paginator/paginator-demo.scss create mode 100644 src/demo-app/paginator/paginator-demo.ts diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 5132bfcbefc..c7605874fa2 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -119,6 +119,7 @@ /src/demo-app/live-announcer/** @jelbourn /src/demo-app/menu/** @kara @crisbeto /src/demo-app/overlay/** @jelbourn @crisbeto +/src/demo-app/paginator/** @andrewseguin /src/demo-app/platform/** @jelbourn @devversion /src/demo-app/portal/** @jelbourn /src/demo-app/progress-bar/** @jelbourn @crisbeto @josephperrott diff --git a/src/demo-app/demo-app/demo-app.ts b/src/demo-app/demo-app/demo-app.ts index f14301854aa..7de17139b64 100644 --- a/src/demo-app/demo-app/demo-app.ts +++ b/src/demo-app/demo-app/demo-app.ts @@ -71,6 +71,7 @@ export class DemoApp { {name: 'Live Announcer', route: '/live-announcer'}, {name: 'Menu', route: '/menu'}, {name: 'Overlay', route: '/overlay'}, + {name: 'Paginator', route: '/paginator'}, {name: 'Platform', route: '/platform'}, {name: 'Portal', route: '/portal'}, {name: 'Progress Bar', route: '/progress-bar'}, diff --git a/src/demo-app/demo-app/demo-module.ts b/src/demo-app/demo-app/demo-module.ts index 677c72b3bb4..6316c3134a1 100644 --- a/src/demo-app/demo-app/demo-module.ts +++ b/src/demo-app/demo-app/demo-module.ts @@ -64,7 +64,7 @@ import {TreeDemoModule} from '../tree/tree-demo-module'; import {TypographyDemo} from '../typography/typography-demo'; import {DemoApp, Home} from './demo-app'; import {DEMO_APP_ROUTES} from './routes'; - +import {PaginatorDemo} from '../paginator/paginator-demo'; @NgModule({ imports: [ @@ -114,6 +114,7 @@ import {DEMO_APP_ROUTES} from './routes'; MatCheckboxDemoNestedChecklist, MenuDemo, OverlayDemo, + PaginatorDemo, PlatformDemo, PortalDemo, ProgressBarDemo, diff --git a/src/demo-app/demo-app/routes.ts b/src/demo-app/demo-app/routes.ts index b5ca6eb5c56..fe9f4bc8fad 100644 --- a/src/demo-app/demo-app/routes.ts +++ b/src/demo-app/demo-app/routes.ts @@ -54,6 +54,7 @@ import {TableDemoPage} from '../table/table-demo-page'; import {TABLE_DEMO_ROUTES} from '../table/routes'; import {BadgeDemo} from '../badge/badge-demo'; import {ConnectedOverlayDemo} from '../connected-overlay/connected-overlay-demo'; +import {PaginatorDemo} from '../paginator/paginator-demo'; export const DEMO_APP_ROUTES: Routes = [ @@ -81,6 +82,7 @@ export const DEMO_APP_ROUTES: Routes = [ {path: 'live-announcer', component: LiveAnnouncerDemo}, {path: 'menu', component: MenuDemo}, {path: 'overlay', component: OverlayDemo}, + {path: 'paginator', component: PaginatorDemo}, {path: 'platform', component: PlatformDemo}, {path: 'portal', component: PortalDemo}, {path: 'progress-bar', component: ProgressBarDemo}, diff --git a/src/demo-app/paginator/paginator-demo.html b/src/demo-app/paginator/paginator-demo.html new file mode 100644 index 00000000000..b011fbab482 --- /dev/null +++ b/src/demo-app/paginator/paginator-demo.html @@ -0,0 +1,35 @@ + +

No inputs

+ +
+ + +
+ + + + + + + + + + + + + Hide page size + Show multiple page size options + Show first/last buttons +
+ + + + +
Output event: {{pageEvent | json}}
+
diff --git a/src/demo-app/paginator/paginator-demo.scss b/src/demo-app/paginator/paginator-demo.scss new file mode 100644 index 00000000000..01e52aa28fa --- /dev/null +++ b/src/demo-app/paginator/paginator-demo.scss @@ -0,0 +1,15 @@ +.demo-section { + max-width: 500px; + margin-bottom: 24px; + background: #efefef !important; + + & > * { + margin: 32px 0; + } +} + +.demo-options { + display: flex; + flex-direction: column; + max-width: 300px; +} diff --git a/src/demo-app/paginator/paginator-demo.ts b/src/demo-app/paginator/paginator-demo.ts new file mode 100644 index 00000000000..c5a38a8410b --- /dev/null +++ b/src/demo-app/paginator/paginator-demo.ts @@ -0,0 +1,37 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import {Component, ViewEncapsulation} from '@angular/core'; +import {PageEvent} from '@angular/material'; + +@Component({ + moduleId: module.id, + selector: 'paginator-demo', + templateUrl: 'paginator-demo.html', + styleUrls: ['paginator-demo.css'], + encapsulation: ViewEncapsulation.None, +}) +export class PaginatorDemo { + length = 50; + pageSize = 10; + pageIndex = 0; + pageSizeOptions = [5, 10, 25]; + + hidePageSize = false; + showPageSizeOptions = true; + showFirstLastButtons = true; + + pageEvent: PageEvent; + + handlePageEvent(e: PageEvent) { + this.pageEvent = e; + this.length = e.length; + this.pageSize = e.pageSize; + this.pageIndex = e.pageIndex; + } +}