FarmMapsLib/projects/common-map/src/lib/common-map.module.ts

260 lines
12 KiB
TypeScript

import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
//external modules
import { AngularOpenlayersModule } from 'ngx-openlayers';
import { StoreModule, ActionReducer, MetaReducer } from '@ngrx/store';
import { EffectsModule } from '@ngrx/effects';
import { NgbModule } from "@ng-bootstrap/ng-bootstrap";
//common modules
import { AppCommonModule } from '@farmmaps/common';
import { MODULE_NAME } from './module-name';
import * as mapReducer from './reducers/map.reducer';
import * as mapEffects from './effects/map.effects';
// components
import { GpsLocation} from './components/aol/gps-location/gps-location.component';
//import {Switch2D3DComponent } from './components/aol/switch2d3d/switch2d3d.component';
import {FeatureListFeatureCropfieldComponent } from './components/feature-list-feature-cropfield/feature-list-feature-cropfield.component';
import { FeatureListFeatureCroppingschemeComponent} from './components/feature-list-feature-croppingscheme/feature-list-feature-croppingscheme.component';
import { ItemWidgetListComponent} from './components/item-widget-list/item-widget-list.component';
import { AbstractItemListItemComponent, ItemListItemComponent, AbstractItemWidgetComponent } from './components/item-list-item/item-list-item.component';
import { ItemListItemContainerComponent } from './components/item-list-item-container/item-list-item-container.component';
import { AbstractItemListComponent,ItemListComponent} from './components/item-list/item-list.component';
import { AbstractSelectedItemComponent, SelectedItemComponent } from './components/selected-item/selected-item.component';
import { SelectedItemCropfieldComponent } from './components/selected-item-cropfield/selected-item-cropfield.component';
import { SelectedItemGeotiffComponent } from './components/selected-item-geotiff/selected-item-geotiff.component';
import {SelectedItemShapeComponent } from './components/selected-item-shape/selected-item-shape.component';
import { SelectedItemContainerComponent } from './components/selected-item-container/selected-item-container.component';
import { AbstractFeatureListFeatureComponent, FeatureListFeatureComponent } from './components/feature-list-feature/feature-list-feature.component';
import {FeatureListFeatureContainerComponent } from './components/feature-list-feature-container/feature-list-feature-container.component';
import { FeatureListCroppingschemeComponent } from './components/feature-list-croppingscheme/feature-list-croppingscheme.component';
import {FeatureListCropfieldComponent } from './components/feature-list-cropfield/feature-list-cropfield.component';
import {FeatureListContainerComponent } from './components/feature-list-container/feature-list-container.component';
import { WidgetHostDirective} from './components/widget-host/widget-host.directive';
import { FeatureListComponent,AbstractFeatureListComponent} from './components/feature-list/feature-list.component';
import { FileDropTargetComponent } from './components/aol/file-drop-target/file-drop-target.component';
import { ItemVectorSourceComponent } from './components/aol/item-vector-source/item-vector-source.component';
import { ItemFeaturesSourceComponent } from './components/aol/item-features-source/item-features-source.component';
import { ItemLayersComponent } from './components/aol/item-layers/item-layers.component';
import { ZoomToExtentComponent } from './components/aol/zoom-to-extent/zoom-to-extent.component';
import { RotationResetComponent } from './components/aol/rotation-reset/rotation-reset.component';
import { LayerListComponent } from './components/aol/layer-list/layer-list.component';
import { MetaDataModalComponent } from './components/meta-data-modal/meta-data-modal.component';
import { SelectPeriodModalComponent } from './components/select-period-modal/select-period-modal.component';
import { MapComponent } from './components/map/map.component';
import { MapSearchComponent } from './components/map-search';
import { MapRoutingModule } from './common-map-routing.module';
import { LegendComponent } from './components/legend/legend.component';
import { LayerVectorImageComponent } from './components/aol/layer-vector-image/layer-vector-image.component';
import { StateSerializerService } from './services/state-serializer.service';
import { GeolocationService } from './services/geolocation.service';
import { localStorageSync } from 'ngrx-store-localstorage';
import { ItemWidgetWeatherComponent } from './components/item-widget-weather/item-widget-weather.component';
import { ItemListItemTemporalComponent } from './components/item-list-item-temporal/item-list-item-temporal.component';
import { ItemListItemHeightComponent } from './components/item-list-item-height/item-list-item-height.component';
import { ItemListItemTipstarComponent } from './components/item-list-item-tipstar/item-list-item-tipstar.component';
import { ItemListItemWatBalComponent } from './components/item-list-item-watbal/item-list-item-watbal.component';
import { WidgetStatusComponent } from './components/widget-status/widget-status.component';
import { ItemListItemShadowComponent } from './components/item-list-item-shadow/item-list-item-shadow.component';
import { ItemListItemBofekComponent } from './components/item-list-item-bofek/item-list-item-bofek.component';
export {
mapEffects,
mapReducer,
ZoomToExtentComponent,
ItemVectorSourceComponent,
ItemFeaturesSourceComponent,
ItemLayersComponent,
FileDropTargetComponent,
MapComponent,
MetaDataModalComponent,
RotationResetComponent,
MapSearchComponent,
SelectPeriodModalComponent,
LayerListComponent,
LegendComponent,
LayerVectorImageComponent,
FeatureListComponent,
WidgetHostDirective,
FeatureListContainerComponent,
FeatureListCroppingschemeComponent,
FeatureListCropfieldComponent,
FeatureListFeatureContainerComponent,
FeatureListFeatureComponent,
FeatureListFeatureCroppingschemeComponent,
FeatureListFeatureCropfieldComponent,
SelectedItemContainerComponent,
SelectedItemComponent,
SelectedItemCropfieldComponent,
SelectedItemGeotiffComponent,
SelectedItemShapeComponent,
ItemListItemComponent,
ItemListItemContainerComponent,
ItemListComponent,
ItemWidgetWeatherComponent,
ItemListItemTemporalComponent,
ItemWidgetListComponent,
ItemListItemHeightComponent,
ItemListItemTipstarComponent,
ItemListItemWatBalComponent,
ItemListItemShadowComponent,
WidgetStatusComponent,
GpsLocation,
ItemListItemBofekComponent,
AbstractFeatureListComponent,
AbstractFeatureListFeatureComponent,
AbstractSelectedItemComponent,
AbstractItemWidgetComponent,
AbstractItemListItemComponent,
AbstractItemListComponent,
StateSerializerService,
GeolocationService
}
@NgModule({
imports: [
CommonModule,
AngularOpenlayersModule,
MapRoutingModule,
StoreModule.forFeature(MODULE_NAME, mapReducer.reducer),
EffectsModule.forFeature([mapEffects.MapEffects]),
NgbModule,
FormsModule,
ReactiveFormsModule,
AppCommonModule
],
declarations: [
ZoomToExtentComponent,
ItemVectorSourceComponent,
ItemFeaturesSourceComponent,
ItemLayersComponent,
FileDropTargetComponent,
MapComponent,
MetaDataModalComponent,
RotationResetComponent,
MapSearchComponent,
SelectPeriodModalComponent,
LayerListComponent,
LegendComponent,
LayerVectorImageComponent,
FeatureListComponent,
WidgetHostDirective,
FeatureListContainerComponent,
FeatureListCroppingschemeComponent,
FeatureListCropfieldComponent,
FeatureListFeatureContainerComponent,
FeatureListFeatureComponent,
FeatureListFeatureCroppingschemeComponent,
FeatureListFeatureCropfieldComponent,
SelectedItemContainerComponent,
SelectedItemComponent,
SelectedItemCropfieldComponent,
SelectedItemGeotiffComponent,
SelectedItemShapeComponent,
ItemListItemComponent,
ItemListItemContainerComponent,
ItemListComponent,
ItemWidgetWeatherComponent,
ItemListItemTemporalComponent,
ItemWidgetListComponent,
ItemListItemHeightComponent,
ItemListItemTipstarComponent,
ItemListItemWatBalComponent,
ItemListItemShadowComponent,
WidgetStatusComponent,
GpsLocation,
ItemListItemBofekComponent
// Switch2D3DComponent
],
entryComponents: [
// FeatureListComponent,
// FeatureListCroppingschemeComponent,
// FeatureListCropfieldComponent,
// FeatureListFeatureComponent,
// FeatureListFeatureCroppingschemeComponent,
// FeatureListFeatureCropfieldComponent,
// SelectedItemComponent,
// SelectedItemCropfieldComponent,
// SelectedItemGeotiffComponent,
// SelectedItemShapeComponent,
// ItemListComponent,
// ItemListItemComponent,
// ItemWidgetWeatherComponent,
// ItemListItemTemporalComponent,
// ItemListItemHeightComponent,
// ItemListItemTipstarComponent,
// ItemListItemWatBalComponent,
// ItemListItemShadowComponent,
// ItemListItemBofekComponent,
],
// providers: [
// StateSerializerService,
// GeolocationService,
// { provide: AbstractFeatureListComponent, useClass: FeatureListCroppingschemeComponent, multi: true },
// { provide: AbstractFeatureListComponent, useClass: FeatureListCropfieldComponent, multi: true },
// { provide: AbstractFeatureListFeatureComponent, useClass: FeatureListFeatureComponent, multi: true },
// { provide: AbstractFeatureListFeatureComponent, useClass: FeatureListFeatureCroppingschemeComponent, multi: true },
// { provide: AbstractFeatureListFeatureComponent, useClass: FeatureListFeatureCropfieldComponent, multi: true },
// { provide: AbstractSelectedItemComponent, useClass: SelectedItemComponent, multi: true },
// { provide: AbstractSelectedItemComponent, useClass: SelectedItemCropfieldComponent, multi: true },
// { provide: AbstractSelectedItemComponent, useClass: SelectedItemGeotiffComponent, multi: true },
// { provide: AbstractSelectedItemComponent, useClass: SelectedItemShapeComponent, multi: true },
// { provide: AbstractItemListItemComponent, useClass: ItemListItemComponent, multi: true },
// { provide: AbstractItemWidgetComponent, useClass: ItemWidgetWeatherComponent, multi: true },
// { provide: AbstractItemListItemComponent, useClass: ItemListItemTemporalComponent, multi: true },
// { provide: AbstractItemListItemComponent, useClass: ItemListItemHeightComponent, multi: true },
// { provide: AbstractItemListItemComponent, useClass: ItemListItemTipstarComponent, multi: true },
// { provide: AbstractItemListItemComponent, useClass: ItemListItemWatBalComponent, multi: true },
// { provide: AbstractItemListItemComponent, useClass: ItemListItemShadowComponent, multi: true },
// { provide: AbstractItemListItemComponent, useClass: ItemListItemBofekComponent, multi: true },
// { provide: AbstractItemListComponent, useClass: ItemListComponent, multi: true }
// ],
exports: [
ItemVectorSourceComponent,
ItemFeaturesSourceComponent,
ItemLayersComponent,
FileDropTargetComponent,
MetaDataModalComponent,
MapComponent,
GpsLocation,
FeatureListFeatureComponent,
FeatureListFeatureCropfieldComponent,
FeatureListFeatureCroppingschemeComponent,
SelectedItemContainerComponent,
SelectedItemComponent,
SelectedItemCropfieldComponent,
SelectedItemGeotiffComponent,
SelectedItemShapeComponent,
ItemListItemComponent,
ItemListItemContainerComponent,
ItemListComponent,
ItemWidgetWeatherComponent,
ItemListItemTemporalComponent,
ItemWidgetListComponent,
ItemListItemHeightComponent,
ItemListItemTipstarComponent,
ItemListItemWatBalComponent,
ItemListItemShadowComponent,
WidgetStatusComponent,
ItemListItemBofekComponent,
RotationResetComponent,
MapSearchComponent,
SelectPeriodModalComponent,
LayerListComponent,
LegendComponent,
LayerVectorImageComponent,
FeatureListComponent,
WidgetHostDirective,
FeatureListContainerComponent,
FeatureListCroppingschemeComponent,
FeatureListCropfieldComponent,
FeatureListFeatureContainerComponent,
ZoomToExtentComponent
]
})
export class CommonMapModule { }