import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; import { InvoicesListComponent } from './invoices-list/invoices-list.component'; import { InvoicesRoutingModule } from '@app/invoices/invoices-routing.module'; import { InvoicesMgtComponent } from '@app/invoices/invoices-mgt.component'; import { TableModule } from 'primeng/table'; import { ButtonModule } from 'primeng/button'; import { DropdownModule } from 'primeng/dropdown'; import { FormsModule, ReactiveFormsModule } from '@angular/forms'; import { SettingsComponent } from './settings/settings.component'; import { InputTextModule } from 'primeng/inputtext'; import { FileUploadModule } from 'primeng/fileupload'; import { CalendarModule } from 'primeng/calendar'; import { CustomerSettingsListComponent } from './customer-settings-list/customer-settings-list.component'; import { CustomerSettingsComponent } from './customer-settings/customer-settings.component'; import { CheckboxModule } from 'primeng/checkbox'; import { AppSharedModule } from '@app/shared/app-shared.module'; import { TooltipModule } from 'primeng/tooltip'; import { InvoiceEditComponent } from './invoice-edit/invoice-edit.component'; import { DialogModule } from 'primeng/dialog'; import { MultiSelectModule } from 'primeng/multiselect'; import { EffectsModule } from '@ngrx/effects'; import { SettingEffects } from '@app/invoices/effects/setting.effects'; import { InvoiceEffects } from '@app/invoices/effects/invoice.effects'; import { RadioButtonModule } from 'primeng/radiobutton'; import { CostingItemComponent } from './costing-item/costing-item.component'; import { CostingItemEffects } from '@app/invoices/effects/costing-item.effects'; import { StoreModule } from '@ngrx/store'; import * as fromInvoiceSettings from './reducers/settings.reducer'; import * as fromCostingItems from './reducers/costing-items.reducer'; import * as fromInvoices from './reducers/invoices.reducer'; import * as fromJobs from '../job/reducers/jobs.reducer'; import { CostingItemTypePipe } from '@app/invoices/pipes/costing-item-type.pipe'; import { CostingItemUnitPipe } from '@app/invoices/pipes/costing-item-unit.pipe'; import { InvoiceDetailComponent } from './invoice-detail/invoice-detail.component'; import { JobEffects } from '@app/job/effects/job.effects'; import { PanelModule } from 'primeng/panel'; import { CurrencyNamePipe } from '@app/invoices/pipes/currency-name.pipe'; import { ScrollPanelModule } from 'primeng/scrollpanel'; import { CurrencyCodePositionPipe } from '@app/invoices/pipes/currency-code-position.pipe'; import { InvoiceStatusPipe } from '@app/invoices/pipes/invoice-status.pipe'; import { AccordionModule } from 'primeng/accordion'; @NgModule({ imports: [ CommonModule, InvoicesRoutingModule, TableModule, ButtonModule, DropdownModule, FormsModule, InputTextModule, ReactiveFormsModule, FileUploadModule, CalendarModule, CheckboxModule, AppSharedModule, TooltipModule, DialogModule, MultiSelectModule, RadioButtonModule, StoreModule.forFeature(fromInvoiceSettings.FEATURE_KEY, fromInvoiceSettings.reducer), StoreModule.forFeature(fromCostingItems.FEATURE_KEY, fromCostingItems.reducer), StoreModule.forFeature(fromInvoices.FEATURE_KEY, fromInvoices.reducer), StoreModule.forFeature(fromJobs.FEATURE_KEY, fromJobs.reducer), EffectsModule.forFeature([SettingEffects, InvoiceEffects, CostingItemEffects, JobEffects]), PanelModule, ScrollPanelModule, AccordionModule, ], declarations: [InvoicesListComponent, InvoicesMgtComponent, SettingsComponent, CustomerSettingsListComponent, CustomerSettingsComponent, InvoiceEditComponent, CostingItemComponent, CostingItemTypePipe, CostingItemUnitPipe, CurrencyNamePipe, CurrencyCodePositionPipe, InvoiceStatusPipe, InvoiceDetailComponent], exports: [CostingItemTypePipe, CostingItemUnitPipe, CurrencyNamePipe, CurrencyCodePositionPipe, InvoiceStatusPipe], }) export class InvoicesModule { }