agmission/Development/client/src/app/invoices/invoices.module.ts

77 lines
3.9 KiB
TypeScript

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 {
}