-
Page Change Event Properties
-
List length: {{pageEvent.length}}
-
Page size: {{pageEvent.pageSize}}
-
Page index: {{pageEvent.pageIndex}}
+
+
Output event: {{(pageEvent | json) || 'No events dispatched yet'}}
+
getNumberOfPages: {{paginator.getNumberOfPages()}}
diff --git a/src/components-examples/material/paginator/paginator-configurable/paginator-configurable-example.ts b/src/components-examples/material/paginator/paginator-configurable/paginator-configurable-example.ts
index 6373e7a6f43f..14b3f2798a07 100644
--- a/src/components-examples/material/paginator/paginator-configurable/paginator-configurable-example.ts
+++ b/src/components-examples/material/paginator/paginator-configurable/paginator-configurable-example.ts
@@ -1,5 +1,5 @@
import {Component} from '@angular/core';
-import {PageEvent} from '@angular/material/legacy-paginator';
+import {PageEvent} from '@angular/material/paginator';
/**
* @title Configurable paginator
@@ -10,14 +10,25 @@ import {PageEvent} from '@angular/material/legacy-paginator';
styleUrls: ['paginator-configurable-example.css'],
})
export class PaginatorConfigurableExample {
- // MatPaginator Inputs
- length = 100;
+ length = 50;
pageSize = 10;
- pageSizeOptions: number[] = [5, 10, 25, 100];
+ pageIndex = 0;
+ pageSizeOptions = [5, 10, 25];
+
+ hidePageSize = false;
+ showPageSizeOptions = true;
+ showFirstLastButtons = true;
+ disabled = false;
- // MatPaginator Output
pageEvent: PageEvent;
+ handlePageEvent(e: PageEvent) {
+ this.pageEvent = e;
+ this.length = e.length;
+ this.pageSize = e.pageSize;
+ this.pageIndex = e.pageIndex;
+ }
+
setPageSizeOptions(setPageSizeOptionsInput: string) {
if (setPageSizeOptionsInput) {
this.pageSizeOptions = setPageSizeOptionsInput.split(',').map(str => +str);
diff --git a/src/components-examples/material/paginator/paginator-harness/paginator-harness-example.spec.ts b/src/components-examples/material/paginator/paginator-harness/paginator-harness-example.spec.ts
index 2cd85f75caca..cd4da36067f3 100644
--- a/src/components-examples/material/paginator/paginator-harness/paginator-harness-example.spec.ts
+++ b/src/components-examples/material/paginator/paginator-harness/paginator-harness-example.spec.ts
@@ -1,8 +1,8 @@
import {ComponentFixture, TestBed} from '@angular/core/testing';
import {TestbedHarnessEnvironment} from '@angular/cdk/testing/testbed';
-import {MatLegacyPaginatorHarness} from '@angular/material/legacy-paginator/testing';
+import {MatPaginatorHarness} from '@angular/material/paginator/testing';
import {HarnessLoader} from '@angular/cdk/testing';
-import {MatLegacyPaginatorModule} from '@angular/material/legacy-paginator';
+import {MatPaginatorModule} from '@angular/material/paginator';
import {PaginatorHarnessExample} from './paginator-harness-example';
import {NoopAnimationsModule} from '@angular/platform-browser/animations';
@@ -13,7 +13,7 @@ describe('PaginatorHarnessExample', () => {
beforeEach(async () => {
await TestBed.configureTestingModule({
- imports: [MatLegacyPaginatorModule, NoopAnimationsModule],
+ imports: [MatPaginatorModule, NoopAnimationsModule],
declarations: [PaginatorHarnessExample],
}).compileComponents();
fixture = TestBed.createComponent(PaginatorHarnessExample);
@@ -23,12 +23,12 @@ describe('PaginatorHarnessExample', () => {
});
it('should load all paginator harnesses', async () => {
- const paginators = await loader.getAllHarnesses(MatLegacyPaginatorHarness);
+ const paginators = await loader.getAllHarnesses(MatPaginatorHarness);
expect(paginators.length).toBe(1);
});
it('should be able to navigate between pages', async () => {
- const paginator = await loader.getHarness(MatLegacyPaginatorHarness);
+ const paginator = await loader.getHarness(MatPaginatorHarness);
expect(instance.pageIndex).toBe(0);
await paginator.goToNextPage();
@@ -38,7 +38,7 @@ describe('PaginatorHarnessExample', () => {
});
it('should be able to go to the last page', async () => {
- const paginator = await loader.getHarness(MatLegacyPaginatorHarness);
+ const paginator = await loader.getHarness(MatPaginatorHarness);
expect(instance.pageIndex).toBe(0);
await paginator.goToLastPage();
@@ -46,7 +46,7 @@ describe('PaginatorHarnessExample', () => {
});
it('should be able to set the page size', async () => {
- const paginator = await loader.getHarness(MatLegacyPaginatorHarness);
+ const paginator = await loader.getHarness(MatPaginatorHarness);
expect(instance.pageSize).toBe(10);
await paginator.setPageSize(25);
diff --git a/src/components-examples/material/paginator/paginator-harness/paginator-harness-example.ts b/src/components-examples/material/paginator/paginator-harness/paginator-harness-example.ts
index 1ce7efc4b7de..f575218037db 100644
--- a/src/components-examples/material/paginator/paginator-harness/paginator-harness-example.ts
+++ b/src/components-examples/material/paginator/paginator-harness/paginator-harness-example.ts
@@ -1,5 +1,5 @@
import {Component} from '@angular/core';
-import {PageEvent} from '@angular/material/legacy-paginator';
+import {PageEvent} from '@angular/material/paginator';
/**
* @title Testing with MatPaginatorHarness
diff --git a/src/components-examples/material/paginator/paginator-intl/paginator-intl-example.ts b/src/components-examples/material/paginator/paginator-intl/paginator-intl-example.ts
index a725c101d864..f3eca4c287ec 100644
--- a/src/components-examples/material/paginator/paginator-intl/paginator-intl-example.ts
+++ b/src/components-examples/material/paginator/paginator-intl/paginator-intl-example.ts
@@ -1,5 +1,5 @@
import {Component, Injectable, NgModule} from '@angular/core';
-import {MatPaginatorIntl, MatLegacyPaginatorModule} from '@angular/material/legacy-paginator';
+import {MatPaginatorIntl, MatPaginatorModule} from '@angular/material/paginator';
import {Subject} from 'rxjs';
@Injectable()
@@ -36,7 +36,7 @@ export class MyCustomPaginatorIntl implements MatPaginatorIntl {
export class PaginatorIntlExample {}
@NgModule({
- imports: [MatLegacyPaginatorModule],
+ imports: [MatPaginatorModule],
declarations: [PaginatorIntlExample],
providers: [{provide: MatPaginatorIntl, useClass: MyCustomPaginatorIntl}],
})
diff --git a/src/dev-app/BUILD.bazel b/src/dev-app/BUILD.bazel
index fa6600edef2f..cf6e7cee5804 100644
--- a/src/dev-app/BUILD.bazel
+++ b/src/dev-app/BUILD.bazel
@@ -49,6 +49,7 @@ ng_module(
"//src/dev-app/layout",
"//src/dev-app/legacy-table",
"//src/dev-app/legacy-tooltip",
+ "//src/dev-app/legacy-paginator",
"//src/dev-app/list",
"//src/dev-app/live-announcer",
"//src/dev-app/mdc-autocomplete",
@@ -60,7 +61,6 @@ ng_module(
"//src/dev-app/mdc-input",
"//src/dev-app/mdc-list",
"//src/dev-app/mdc-menu",
- "//src/dev-app/mdc-paginator",
"//src/dev-app/mdc-progress-bar",
"//src/dev-app/mdc-progress-spinner",
"//src/dev-app/mdc-radio",
diff --git a/src/dev-app/dev-app/dev-app-layout.ts b/src/dev-app/dev-app/dev-app-layout.ts
index fadc3db38cb3..e8c0d6bf25d0 100644
--- a/src/dev-app/dev-app/dev-app-layout.ts
+++ b/src/dev-app/dev-app/dev-app-layout.ts
@@ -113,7 +113,7 @@ export class DevAppLayout {
{name: 'MDC List', route: '/mdc-list'},
{name: 'MDC Menu', route: '/mdc-menu'},
{name: 'MDC Radio', route: '/mdc-radio'},
- {name: 'MDC Paginator', route: '/mdc-paginator'},
+ {name: 'Legacy Paginator', route: '/legacy-paginator'},
{name: 'MDC Progress Bar', route: '/mdc-progress-bar'},
{name: 'MDC Progress Spinner', route: '/mdc-progress-spinner'},
{name: 'MDC Tabs', route: '/mdc-tabs'},
diff --git a/src/dev-app/legacy-paginator/BUILD.bazel b/src/dev-app/legacy-paginator/BUILD.bazel
new file mode 100644
index 000000000000..6e66aba9b44a
--- /dev/null
+++ b/src/dev-app/legacy-paginator/BUILD.bazel
@@ -0,0 +1,25 @@
+load("//tools:defaults.bzl", "ng_module", "sass_binary")
+
+package(default_visibility = ["//visibility:public"])
+
+ng_module(
+ name = "legacy-paginator",
+ srcs = glob(["**/*.ts"]),
+ assets = [
+ "paginator-demo.html",
+ ":paginator_demo_scss",
+ ],
+ deps = [
+ "//src/material/legacy-card",
+ "//src/material/legacy-form-field",
+ "//src/material/legacy-input",
+ "//src/material/legacy-paginator",
+ "//src/material/legacy-slide-toggle",
+ "@npm//@angular/forms",
+ ],
+)
+
+sass_binary(
+ name = "paginator_demo_scss",
+ src = "paginator-demo.scss",
+)
diff --git a/src/dev-app/mdc-paginator/mdc-paginator-demo.html b/src/dev-app/legacy-paginator/paginator-demo.html
similarity index 81%
rename from src/dev-app/mdc-paginator/mdc-paginator-demo.html
rename to src/dev-app/legacy-paginator/paginator-demo.html
index 4859ac850b90..77bb73ea92b0 100644
--- a/src/dev-app/mdc-paginator/mdc-paginator-demo.html
+++ b/src/dev-app/legacy-paginator/paginator-demo.html
@@ -6,18 +6,15 @@
No inputs
- Length
-
+
- Page Size
-
+
- Page Index
-
+
Hide page size
diff --git a/src/dev-app/mdc-paginator/mdc-paginator-demo.scss b/src/dev-app/legacy-paginator/paginator-demo.scss
similarity index 67%
rename from src/dev-app/mdc-paginator/mdc-paginator-demo.scss
rename to src/dev-app/legacy-paginator/paginator-demo.scss
index 32628c37915e..f0804fe3547e 100644
--- a/src/dev-app/mdc-paginator/mdc-paginator-demo.scss
+++ b/src/dev-app/legacy-paginator/paginator-demo.scss
@@ -1,7 +1,6 @@
.demo-section {
- max-width: 600px;
+ max-width: 500px;
margin-bottom: 24px;
- padding: 16px;
background: #efefef !important;
& > * {
@@ -13,8 +12,4 @@
display: flex;
flex-direction: column;
max-width: 300px;
-
- .mat-mdc-slide-toggle {
- margin-bottom: 8px;
- }
}
diff --git a/src/dev-app/mdc-paginator/mdc-paginator-demo.ts b/src/dev-app/legacy-paginator/paginator-demo.ts
similarity index 54%
rename from src/dev-app/mdc-paginator/mdc-paginator-demo.ts
rename to src/dev-app/legacy-paginator/paginator-demo.ts
index 47b4c2957f25..8f3e47511157 100644
--- a/src/dev-app/mdc-paginator/mdc-paginator-demo.ts
+++ b/src/dev-app/legacy-paginator/paginator-demo.ts
@@ -7,28 +7,30 @@
*/
import {Component} from '@angular/core';
+import {MatLegacyPaginatorModule, PageEvent} from '@angular/material/legacy-paginator';
import {CommonModule} from '@angular/common';
-import {MatPaginatorModule, PageEvent} from '@angular/material/paginator';
import {FormsModule} from '@angular/forms';
-import {MatCardModule} from '@angular/material/card';
-import {MatInputModule} from '@angular/material/input';
-import {MatSlideToggleModule} from '@angular/material/slide-toggle';
+import {MatLegacyCardModule} from '@angular/material/legacy-card';
+import {MatLegacyFormFieldModule} from '@angular/material/legacy-form-field';
+import {MatLegacyInputModule} from '@angular/material/legacy-input';
+import {MatLegacySlideToggleModule} from '@angular/material/legacy-slide-toggle';
@Component({
- selector: 'mdc-paginator-demo',
- templateUrl: 'mdc-paginator-demo.html',
- styleUrls: ['mdc-paginator-demo.css'],
+ selector: 'paginator-demo',
+ templateUrl: 'paginator-demo.html',
+ styleUrls: ['paginator-demo.css'],
standalone: true,
imports: [
CommonModule,
FormsModule,
- MatCardModule,
- MatInputModule,
- MatPaginatorModule,
- MatSlideToggleModule,
+ MatLegacyCardModule,
+ MatLegacyFormFieldModule,
+ MatLegacyInputModule,
+ MatLegacyPaginatorModule,
+ MatLegacySlideToggleModule,
],
})
-export class MdcPaginatorDemo {
+export class LegacyPaginatorDemo {
length = 50;
pageSize = 10;
pageIndex = 0;
diff --git a/src/dev-app/mdc-paginator/BUILD.bazel b/src/dev-app/mdc-paginator/BUILD.bazel
deleted file mode 100644
index 619b6cba9e97..000000000000
--- a/src/dev-app/mdc-paginator/BUILD.bazel
+++ /dev/null
@@ -1,25 +0,0 @@
-load("//tools:defaults.bzl", "ng_module", "sass_binary")
-
-package(default_visibility = ["//visibility:public"])
-
-ng_module(
- name = "mdc-paginator",
- srcs = glob(["**/*.ts"]),
- assets = [
- "mdc-paginator-demo.html",
- ":mdc_paginator_demo_scss",
- ],
- deps = [
- "//src/material/card",
- "//src/material/form-field",
- "//src/material/input",
- "//src/material/paginator",
- "//src/material/slide-toggle",
- "@npm//@angular/forms",
- ],
-)
-
-sass_binary(
- name = "mdc_paginator_demo_scss",
- src = "mdc-paginator-demo.scss",
-)
diff --git a/src/dev-app/paginator/BUILD.bazel b/src/dev-app/paginator/BUILD.bazel
index 483d4828ec23..ce561bf433fa 100644
--- a/src/dev-app/paginator/BUILD.bazel
+++ b/src/dev-app/paginator/BUILD.bazel
@@ -10,11 +10,12 @@ ng_module(
":paginator_demo_scss",
],
deps = [
- "//src/material/legacy-card",
- "//src/material/legacy-form-field",
- "//src/material/legacy-input",
- "//src/material/legacy-paginator",
- "//src/material/legacy-slide-toggle",
+ "//src/components-examples/material/paginator",
+ "//src/material/card",
+ "//src/material/form-field",
+ "//src/material/input",
+ "//src/material/paginator",
+ "//src/material/slide-toggle",
"@npm//@angular/forms",
],
)
diff --git a/src/dev-app/paginator/paginator-demo.html b/src/dev-app/paginator/paginator-demo.html
index 77bb73ea92b0..fcd8bcaa5f85 100644
--- a/src/dev-app/paginator/paginator-demo.html
+++ b/src/dev-app/paginator/paginator-demo.html
@@ -1,40 +1,5 @@
-
- No inputs
-
-
+
Paginator overview
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Hide page size
- Show multiple page size options
- Show first/last buttons
- Disabled
-
-
-
-
-
- Output event: {{pageEvent | json}}
- getNumberOfPages: {{paginator.getNumberOfPages()}}
-
+
Configurable paginator
+
diff --git a/src/dev-app/paginator/paginator-demo.ts b/src/dev-app/paginator/paginator-demo.ts
index 433080a00779..7aa66a0bf95e 100644
--- a/src/dev-app/paginator/paginator-demo.ts
+++ b/src/dev-app/paginator/paginator-demo.ts
@@ -7,13 +7,14 @@
*/
import {Component} from '@angular/core';
-import {MatLegacyPaginatorModule, PageEvent} from '@angular/material/legacy-paginator';
+import {MatPaginatorModule, PageEvent} from '@angular/material/paginator';
import {CommonModule} from '@angular/common';
import {FormsModule} from '@angular/forms';
-import {MatLegacyCardModule} from '@angular/material/legacy-card';
-import {MatLegacyFormFieldModule} from '@angular/material/legacy-form-field';
-import {MatLegacyInputModule} from '@angular/material/legacy-input';
-import {MatLegacySlideToggleModule} from '@angular/material/legacy-slide-toggle';
+import {MatCardModule} from '@angular/material/card';
+import {MatFormFieldModule} from '@angular/material/form-field';
+import {MatInputModule} from '@angular/material/input';
+import {MatSlideToggleModule} from '@angular/material/slide-toggle';
+import {PaginatorExamplesModule} from '@angular/components-examples/material/paginator';
@Component({
selector: 'paginator-demo',
@@ -23,11 +24,12 @@ import {MatLegacySlideToggleModule} from '@angular/material/legacy-slide-toggle'
imports: [
CommonModule,
FormsModule,
- MatLegacyCardModule,
- MatLegacyFormFieldModule,
- MatLegacyInputModule,
- MatLegacyPaginatorModule,
- MatLegacySlideToggleModule,
+ MatCardModule,
+ MatFormFieldModule,
+ MatInputModule,
+ MatSlideToggleModule,
+ MatPaginatorModule,
+ PaginatorExamplesModule,
],
})
export class PaginatorDemo {
diff --git a/src/dev-app/routes.ts b/src/dev-app/routes.ts
index 80b0ef88d613..09a5d0c5ebac 100644
--- a/src/dev-app/routes.ts
+++ b/src/dev-app/routes.ts
@@ -184,8 +184,9 @@ export const DEV_APP_ROUTES: Routes = [
loadComponent: () => import('./mdc-menu/mdc-menu-demo').then(m => m.MdcMenuDemo),
},
{
- path: 'mdc-paginator',
- loadComponent: () => import('./mdc-paginator/mdc-paginator-demo').then(m => m.MdcPaginatorDemo),
+ path: 'legacy-paginator',
+ loadComponent: () =>
+ import('./legacy-paginator/paginator-demo').then(m => m.LegacyPaginatorDemo),
},
{
path: 'mdc-progress-spinner',