246 lines
		
	
	
		
			10 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			246 lines
		
	
	
		
			10 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| import { NgModule ,ModuleWithProviders} 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 mapReducers from './reducers/map.reducer';
 | |
| import * as mapActions from './actions/map.actions';
 | |
| import * as mapEffects from './effects/map.effects';
 | |
| 
 | |
| import { IMapState} from './models';
 | |
| import { ISelectedFeatures } from './models';
 | |
| import { IItemLayer } from './models';
 | |
| import { ItemLayer} from './models';
 | |
| import { IQueryState } from './models';
 | |
| import { IPeriodState } from './models';
 | |
| 
 | |
| // 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 { WidgetStatusComponent } from './components/widget-status/widget-status.component';
 | |
| import { ForChild} from './components/for-item/for-child.decorator';
 | |
| import {ForItemType } from './components/for-item/for-itemtype.decorator';
 | |
| import { ForSourceTask} from './components/for-item/for-sourcetask.decorator';
 | |
| 
 | |
| 
 | |
| export {
 | |
|   mapEffects,
 | |
|   mapReducers,
 | |
|   mapActions,
 | |
|   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,
 | |
|   ItemWidgetListComponent,
 | |
|   WidgetStatusComponent,
 | |
|   GpsLocation,
 | |
|   AbstractFeatureListComponent,
 | |
|   AbstractFeatureListFeatureComponent,
 | |
|   AbstractSelectedItemComponent,
 | |
|   AbstractItemWidgetComponent,
 | |
|   AbstractItemListItemComponent,
 | |
|   AbstractItemListComponent,
 | |
|   StateSerializerService,
 | |
|   GeolocationService,
 | |
|   IMapState,
 | |
|   ISelectedFeatures,
 | |
|   IItemLayer,
 | |
|   ItemLayer,
 | |
|   IQueryState,
 | |
|   IPeriodState,
 | |
|   ForChild,
 | |
|   ForItemType,
 | |
|   ForSourceTask
 | |
| }
 | |
| 
 | |
| @NgModule({  
 | |
|   imports: [
 | |
|     CommonModule,
 | |
|     AngularOpenlayersModule,
 | |
|     MapRoutingModule,
 | |
|     StoreModule.forFeature(MODULE_NAME, mapReducers.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,
 | |
|     ItemWidgetListComponent,
 | |
|     WidgetStatusComponent,
 | |
|     GpsLocation,
 | |
|   ],
 | |
|   entryComponents: [
 | |
|     FeatureListComponent,
 | |
|     FeatureListCroppingschemeComponent,
 | |
|     FeatureListCropfieldComponent,
 | |
|     FeatureListFeatureComponent,
 | |
|     FeatureListFeatureCroppingschemeComponent,
 | |
|     FeatureListFeatureCropfieldComponent,
 | |
|     SelectedItemComponent,
 | |
|     SelectedItemCropfieldComponent,
 | |
|     SelectedItemGeotiffComponent,
 | |
|     SelectedItemShapeComponent,
 | |
|     ItemListComponent,
 | |
|     ItemListItemComponent,
 | |
|   ],
 | |
|   exports: [
 | |
|        ItemVectorSourceComponent,
 | |
|        ItemFeaturesSourceComponent,
 | |
|        ItemLayersComponent,
 | |
|        FileDropTargetComponent,
 | |
|        MetaDataModalComponent,
 | |
|        MapComponent,
 | |
|        GpsLocation,
 | |
|        FeatureListFeatureComponent,
 | |
|        FeatureListFeatureCropfieldComponent,
 | |
|        FeatureListFeatureCroppingschemeComponent,
 | |
|        SelectedItemContainerComponent,
 | |
|        SelectedItemComponent,
 | |
|        SelectedItemCropfieldComponent,
 | |
|        SelectedItemGeotiffComponent,
 | |
|        SelectedItemShapeComponent,
 | |
|        ItemListItemComponent,
 | |
|        ItemListItemContainerComponent,
 | |
|        ItemListComponent,
 | |
|        ItemWidgetListComponent,
 | |
|        WidgetStatusComponent,
 | |
|        RotationResetComponent,
 | |
|        MapSearchComponent,
 | |
|        SelectPeriodModalComponent,
 | |
|        LayerListComponent,
 | |
|        LegendComponent,
 | |
|        LayerVectorImageComponent,
 | |
|        FeatureListComponent,
 | |
|        WidgetHostDirective,
 | |
|        FeatureListContainerComponent,
 | |
|        FeatureListCroppingschemeComponent,
 | |
|        FeatureListCropfieldComponent,
 | |
|        FeatureListFeatureContainerComponent,
 | |
|        ZoomToExtentComponent
 | |
|   ]
 | |
| })
 | |
| 
 | |
| export class AppCommonMapModule {
 | |
|   static forRoot(): ModuleWithProviders {
 | |
|     return {
 | |
|       ngModule: AppCommonMapModule,      
 | |
|       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: AbstractItemListComponent, useClass: ItemListComponent, multi: true }
 | |
|       ]
 | |
|     };
 | |
|   }
 | |
| }
 |