import { NgModule, NO_ERRORS_SCHEMA } from '@angular/core';
import { NativeScriptCommonModule, NativeScriptFormsModule } from '@nativescript/angular';
import { NgxsModule } from '@ngxs/store';
import { NativeScriptUIDataFormModule } from 'nativescript-ui-dataform/angular';
import { NativeScriptUIListViewModule } from 'nativescript-ui-listview/angular';
import { SharedModule } from '~/shared/shared.module';
import { AdvertisingRoutingModule } from './advertising-routing.module';
import { AdvertisingCategoryListViewComponent } from './components/advertising-category-list-view/advertising-category-list-view.component';
import { MeetingDateListViewComponent } from './components/meeting-date-list-view/meeting-date-list-view.component';
import { ModalViewEditnoteComponent } from './components/modal-view-editnote/modal-view-editnote.component';
import { ModalTimePickerComponent } from './components/modal-view-time-picker/modal-view-time-picker.component';
import { AdvertisingCategoryDetailComponent } from './containers/advertising-category-detail/advertising-category-detail.component';
import { AdvertisingCategoryNewComponent } from './containers/advertising-category-new/advertising-category-new.component';
import { AdvertisingCategoryUpdateComponent } from './containers/advertising-category-update/advertising-category-update.component';
import { AdvertisingComponent } from './containers/advertising/advertising.component';
import { MeetingDateDetailComponent } from './containers/meeting-date-detail/meeting-date-detail.component';
import { MeetingDateNewComponent } from './containers/meeting-date-new/meeting-date-new.component';
import { MeetingDateUpdateComponent } from './containers/meeting-date-update/meeting-date-update.component';
import { AdvertisingCategoryState } from './state-mgmt/advertising-category.state';
import { AdvertisingState } from './state-mgmt/advertising.state';
import { MeetingDateState } from './state-mgmt/meeting-date.state';

@NgModule({
    imports: [
        NativeScriptCommonModule,
        NativeScriptFormsModule,
        AdvertisingRoutingModule,
        SharedModule,
        NativeScriptUIDataFormModule,
        NativeScriptUIListViewModule,
        NgxsModule.forFeature([
            AdvertisingState,
            MeetingDateState,
            AdvertisingCategoryState
        ])
    ],
    declarations: [
        ModalViewEditnoteComponent,
        ModalTimePickerComponent,
        MeetingDateListViewComponent,
        AdvertisingCategoryListViewComponent,
        AdvertisingComponent,
        MeetingDateDetailComponent,
        AdvertisingCategoryDetailComponent,
        MeetingDateNewComponent,
        MeetingDateUpdateComponent,
        AdvertisingCategoryNewComponent,
        AdvertisingCategoryUpdateComponent
    ],
    providers: [
    ],
    schemas: [
        NO_ERRORS_SCHEMA
    ],
    entryComponents: [
        ModalViewEditnoteComponent,
        ModalTimePickerComponent
    ]
})

export class AdvertisingModule {
}
