import { WindowComponent } from './kendo-widgets/window/window.component'; import { GridComponent } from './kendo-widgets/grid/grid.component'; import { DropDownListComponent } from './kendo-widgets/dropdownlist/dropdownlist.component'; import { CookieService } from './services/cookie-service'; import { TranslateService } from './services/translate-service'; import { TRANSLATION_PROVIDERS, CoreTranslation } from './translation/translations'; import { TranslatePipe } from './translation/translate.pipe'; import { TranslationComponent } from './translation-component/translation.component'; import { CardComponent } from './card-component/card-component'; import { NotificationsComponent } from './notifications.component/notifications.component'; import { Mediator } from './services/mediator'; import { FieldsetComponent } from './fieldset-component/fieldset-component'; import { ObjectService } from './services/object-screen.service'; import { ConfigObjectScreen } from './config-object-screen/config-object-screen.component'; import * as KENDO_WIDGETS from './kendo-widgets'; import { ViewLocalizedComponent } from './view-localized-component/view-localized-component'; import { StartLocalizedComponent } from './start-localized-component/start-localized-component'; import { MenubarComponent } from './menubar/menubar.component'; import { LookupService } from './services/lookup-service'; import { HomeService } from './services/home-service'; import { LocalizedComponent } from './localized-component/localized-component'; import { HttpService } from './services/service-interface'; import { HomeGridComponent } from './home-grid-component/home-grid-component'; import { LookupGridComponent } from './lookup-grid-component/lookup-grid-component'; import { GeneralGridComponent } from './general-grid-component/general-grid-component'; import { LookupHomeScreenComponent } from './lookup-home-screen/lookup-home-screen.component'; import { MasterHomeScreenComponent } from './master-home-screen/master-home-screen.component'; import { ConfigHomeScreenComponent } from './config-home-screen/config-home-screen.component'; import { DashboardComponent } from './dashboard/dashboard.component'; import { HomeScreenHeaderComponent } from './home-screen-header/home-screen-header'; import { ROUTING, CoreRouterConfig } from './core.router'; import { CoreComponent } from './core.component'; import { MaterialModule } from '@angular/material'; import { Route, Routes, RouterModule } from '@angular/router'; import { Http, HttpModule } from '@angular/http'; import { FormsModule } from '@angular/forms'; import { NgModule, ModuleWithProviders } from '@angular/core'; import { BrowserModule } from '@angular/platform-browser'; import * as MASKS from './input-masks' import { MenubarData } from './menubar/menubar-data'; import { LoginService } from './services/login-service'; import { LoggedInGuard } from './services/login-guard'; import { GridFieldSetComponent } from './grid-fieldset-component/grid-fieldset-component'; import { EditabilityService } from './services/test-editability-service'; import { PageNotFound } from './page-not-found/page-not-found'; import { DatePickerComponent } from './kendo-widgets/datetimepicker/datetimepicker.component'; import { HeaderMenuComponent } from './header-component/header.component'; import 'hammerjs'; import { ModuleMetadata } from './types/modules-types'; @NgModule({ declarations: [ CoreComponent, DashboardComponent, HomeScreenHeaderComponent, ConfigHomeScreenComponent, LookupHomeScreenComponent, MasterHomeScreenComponent, GeneralGridComponent, LookupGridComponent, HomeGridComponent, MenubarComponent, HeaderMenuComponent, LocalizedComponent, StartLocalizedComponent, ViewLocalizedComponent, GridComponent, DropDownListComponent, WindowComponent, TranslationComponent, TranslatePipe, KENDO_WIDGETS.GridComponent, KENDO_WIDGETS.WindowComponent, KENDO_WIDGETS.DropDownListComponent, KENDO_WIDGETS.DatePickerComponent, KENDO_WIDGETS.TimePickerComponent, LocalizedComponent, MenubarComponent, FieldsetComponent, NotificationsComponent, CardComponent, ConfigObjectScreen, GridFieldSetComponent, MASKS.AlphaNumericMask, MASKS.AlphabeticMask, MASKS.EmailMask, PageNotFound ], imports: [ FormsModule, BrowserModule, MaterialModule.forRoot(), HttpModule, ROUTING ], exports: [ ConfigHomeScreenComponent, LookupHomeScreenComponent, StartLocalizedComponent, ViewLocalizedComponent, ConfigObjectScreen, FieldsetComponent, DropDownListComponent, TranslatePipe, GridFieldSetComponent, DatePickerComponent, KENDO_WIDGETS.WindowComponent, KENDO_WIDGETS.TimePickerComponent, MASKS.AlphaNumericMask, MASKS.AlphabeticMask, MASKS.EmailMask, WindowComponent ], providers: [HomeService, LookupService, HttpService, TranslateService, CookieService, TRANSLATION_PROVIDERS, Mediator, ObjectService, LoginService, LoggedInGuard, EditabilityService], bootstrap: [CoreComponent], entryComponents: [HomeGridComponent, LookupGridComponent, LocalizedComponent, StartLocalizedComponent, ViewLocalizedComponent] }) export class CoreModule { static forRoot(modulesRoutersConfig: ModuleMetadata[]): ModuleWithProviders { for (let module of modulesRoutersConfig) { CoreRouterConfig.addModulesRoutesConfig(module.routes); MenubarData.addMenubarData(module.menubarData); CoreTranslation.addTranslationModule(module.translationMap); } let module: ModuleWithProviders = { ngModule: CoreModule } return module; } }