diff --git a/apps/angular/projects/catalog/src/pages/product/product.component.html b/apps/angular/projects/catalog/src/pages/product/product.component.html
index 7a7d2d7d..6ab694a3 100644
--- a/apps/angular/projects/catalog/src/pages/product/product.component.html
+++ b/apps/angular/projects/catalog/src/pages/product/product.component.html
@@ -1,5 +1,21 @@
-
- -
- {{ item | json }}
-
-
+
diff --git a/apps/angular/projects/catalog/src/pages/product/product.component.ts b/apps/angular/projects/catalog/src/pages/product/product.component.ts
index 669f8ded..ed8a7337 100644
--- a/apps/angular/projects/catalog/src/pages/product/product.component.ts
+++ b/apps/angular/projects/catalog/src/pages/product/product.component.ts
@@ -1,14 +1,27 @@
+import { ListService } from '@abp/ng.core';
import { Component, OnInit } from '@angular/core';
-import { ProductService } from '@catalog/proxy/products';
-import { map } from 'rxjs/operators';
+import { ProductDto, ProductService } from '@catalog/proxy/products';
+
@Component({
selector: 'lib-product',
templateUrl: './product.component.html',
styleUrls: ['./product.component.css'],
+ providers: [ListService],
})
export class ProductComponent implements OnInit {
- list$ = this.productService.getList().pipe(map(res => res.items));
- constructor(public readonly productService: ProductService) {}
+ items: ProductDto[] = [];
+ count = 0;
+ constructor(public readonly productService: ProductService, public readonly list: ListService) {
+ // TODO: this is an example of paging
+ this.list.maxResultCount = 2;
+ }
+
+ ngOnInit(): void {
+ const productStreamCreator = query => this.productService.getListPaged(query);
- ngOnInit(): void {}
+ this.list.hookToQuery(productStreamCreator).subscribe(response => {
+ this.items = response.items;
+ this.count = response.totalCount;
+ });
+ }
}
diff --git a/apps/angular/projects/catalog/src/pages/product/product.module.ts b/apps/angular/projects/catalog/src/pages/product/product.module.ts
index 2fc892ab..af8743e5 100644
--- a/apps/angular/projects/catalog/src/pages/product/product.module.ts
+++ b/apps/angular/projects/catalog/src/pages/product/product.module.ts
@@ -1,17 +1,12 @@
-import { NgModule } from '@angular/core';
+import { CoreModule } from '@abp/ng.core';
+import { ThemeSharedModule } from '@abp/ng.theme.shared';
import { CommonModule } from '@angular/common';
-
+import { NgModule } from '@angular/core';
import { ProductRoutingModule } from './product-routing.module';
import { ProductComponent } from './product.component';
-
@NgModule({
- declarations: [
- ProductComponent
- ],
- imports: [
- CommonModule,
- ProductRoutingModule
- ]
+ declarations: [ProductComponent],
+ imports: [CommonModule, ProductRoutingModule, ThemeSharedModule, CoreModule],
})
-export class ProductModule { }
+export class ProductModule {}