projects/storefrontlib/cms-components/product/product-list/product-list.module.ts
import { CommonModule } from '@angular/common';
import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router';
import {
CmsConfig,
FeaturesConfigModule,
I18nModule,
provideDefaultConfig,
UrlModule,
} from '@spartacus/core';
import { InfiniteScrollModule } from 'ngx-infinite-scroll';
import { OutletModule } from '../../../cms-structure/outlet/outlet.module';
import { ViewConfig } from '../../../shared/config/view-config';
import {
ItemCounterModule,
ListNavigationModule,
MediaModule,
SpinnerModule,
StarRatingModule,
} from '../../../shared/index';
import { AddToCartModule } from '../../cart/index';
import { IconModule } from '../../misc/icon/index';
import { defaultViewConfig } from '../config/default-view-config';
import { ProductListComponent } from './container/product-list.component';
import { ProductScrollComponent } from './container/product-scroll/product-scroll.component';
import { ProductGridItemComponent } from './product-grid-item/product-grid-item.component';
import { ProductListItemComponent } from './product-list-item/product-list-item.component';
import { ProductViewComponent } from './product-view/product-view.component';
@NgModule({
imports: [
CommonModule,
RouterModule,
MediaModule,
AddToCartModule,
ItemCounterModule,
ListNavigationModule,
UrlModule,
I18nModule,
StarRatingModule,
IconModule,
SpinnerModule,
InfiniteScrollModule,
FeaturesConfigModule,
OutletModule,
],
providers: [
provideDefaultConfig(<ViewConfig>defaultViewConfig),
provideDefaultConfig(<CmsConfig>{
cmsComponents: {
CMSProductListComponent: {
component: ProductListComponent,
},
ProductGridComponent: {
component: ProductListComponent,
},
SearchResultsListComponent: {
component: ProductListComponent,
},
},
}),
],
declarations: [
ProductListComponent,
ProductListItemComponent,
ProductGridItemComponent,
ProductViewComponent,
ProductScrollComponent,
],
exports: [
ProductListComponent,
ProductListItemComponent,
ProductGridItemComponent,
ProductViewComponent,
ProductScrollComponent,
],
})
export class ProductListModule {}