/** * Copyright (c) 2017 ZTE Corporation. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * and the Apache License 2.0 which both accompany this distribution, * and are available at http://www.eclipse.org/legal/epl-v10.html * and http://www.apache.org/licenses/LICENSE-2.0 * * Contributors: * ZTE - initial API and implementation and/or initial documentation */ import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { BrowserModule } from '@angular/platform-browser'; import { NgModule } from '@angular/core'; import { NgxTreeSelectModule } from 'ngx-tree-select'; import { HttpClientModule, HttpClient } from '@angular/common/http'; import { TranslateModule, TranslateLoader } from '@ngx-translate/core'; import { TranslateHttpLoader } from '@ngx-translate/http-loader'; import { AlertModule, ModalModule } from 'ngx-bootstrap/index'; import { AccordionModule } from 'ngx-bootstrap/accordion'; import { AppComponent } from './app.component'; import { JsPlumbService } from "./services/jsplumb.service"; import { NodeComponent } from "./components/node/node.component"; import { ToolbarComponent } from "./components/toolbar/toolbar.component"; import { WorkflowService } from "./services/workflow.service"; import { DataService } from "./services/data/data.service"; import { HttpService } from "./util/http.service"; import { SharedModule } from "./shared/shared.module"; import { InMemoryWebApiModule } from "angular-in-memory-web-api"; import { InMemoryDataService } from "./services/data/in-memory-data.service"; import { HttpModule } from "@angular/http"; import { RouterModule } from "@angular/router"; import { BroadcastService } from "./services/broadcast.service"; import { PropertiesComponent } from "./components/property/properties.component"; import { ParameterComponent } from "./components/parameter/parameter.component"; import { MenusComponent } from "./components/menus/menus.component"; import { RestTaskComponent } from "./components/property/rest-task/rest-task.component"; import { EditablePropertyComponent } from "./components/editable-property/editable-property.component"; import { SwaggerTreeConverterService } from "./services/swagger-tree-converter.service"; import { IntermediateCatchEventComponent } from "./components/property/intermediate-catch-event/intermediate-catch-event.component"; import { SequenceFlowComponent } from "./components/sequence-flow/sequence-flow.component"; import { ScriptTaskComponent } from "./components/property/script-task/script-task.component"; import { WorkflowsComponent } from "./components/menus/workflows/workflows.component"; import { ModelService } from './services/model.service'; import { ContainerComponent } from './components/container/container.component'; import { RestService } from './services/rest.service'; import { ResizableDirective } from './directive/resizable/resizable.directive'; import { StartEventComponent } from './components/property/start-event/start-event.component'; import { NodeParametersComponent } from './components/node-parameters/node-parameters.component'; import { ParameterTreeComponent } from './components/node-parameters/parameter-tree/parameter-tree.component'; import { NoticeService } from './services/notice.service'; import { GlobalNoticeComponent } from './components/global-notice/global-notice.component'; import { SettingService } from './services/setting.service'; import { ErrorEventComponent } from './components/property/error-event/error-event.component'; import { NodeTemplateComponent } from './components/property/node-template/node-template.component'; import { RestConfigComponent } from './components/menus/rest-config/rest-config.component'; import { RestConfigDetailComponent } from './components/menus/rest-config/rest-config-detail/rest-config-detail.component'; import { RestConfigListComponent } from './components/menus/rest-config/rest-config-list/rest-config-list.component'; // AoT requires an exported function for factories export function HttpLoaderFactory(http: HttpClient) { return new TranslateHttpLoader(http, './assets/i18n/', '.json'); } @NgModule({ declarations: [ AppComponent, ContainerComponent, ErrorEventComponent, ResizableDirective, EditablePropertyComponent, GlobalNoticeComponent, IntermediateCatchEventComponent, MenusComponent, NodeComponent, NodeParametersComponent, NodeTemplateComponent, ParameterComponent, ParameterTreeComponent, PropertiesComponent, RestTaskComponent, RestConfigComponent, RestConfigDetailComponent, RestConfigListComponent, ScriptTaskComponent, StartEventComponent, SequenceFlowComponent, ToolbarComponent, WorkflowsComponent, ], providers: [ BroadcastService, DataService, HttpService, JsPlumbService, ModelService, NoticeService, RestService, SettingService, SwaggerTreeConverterService, WorkflowService ], imports: [ AccordionModule.forRoot(), AlertModule.forRoot(), BrowserAnimationsModule, BrowserModule, HttpModule, InMemoryWebApiModule.forRoot(InMemoryDataService), ModalModule.forRoot(), RouterModule.forRoot([]), SharedModule, NgxTreeSelectModule.forRoot({ allowFilter: true, filterPlaceholder: 'Type your filter here...', maxVisibleItemCount: 5, idField: 'id', textField: 'name', childrenField: 'children', allowParentSelection: false }), HttpClientModule, TranslateModule.forRoot({ loader: { provide: TranslateLoader, useFactory: HttpLoaderFactory, deps: [HttpClient] } }) ], bootstrap: [ AppComponent, ], }) export class AppModule { }