Compare commits
	
		
			27 Commits
		
	
	
		
			296385ab33
			...
			237fd27489
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					237fd27489 | ||
| 
						 | 
					161717bc7b | ||
| 
						 | 
					0b8dbf4e2e | ||
| 2acf13cbac | |||
| 
						 | 
					41c7ab15f3 | ||
| 
						 | 
					a9185b86af | ||
| 
						 | 
					eb1b8f18eb | ||
| 
						 | 
					bce562fb8e | ||
| 
						 | 
					b652555f37 | ||
| 
						 | 
					3db09c1e2a | ||
| 
						 | 
					7502bc54d1 | ||
| 
						 | 
					15cc2c33f1 | ||
| 
						 | 
					eb0e928c6f | ||
| 
						 | 
					5631d23355 | ||
| 
						 | 
					0470cb0fa1 | ||
| 
						 | 
					1656b465ee | ||
| 
						 | 
					a558b23a98 | ||
| 
						 | 
					c569076c5d | ||
| 
						 | 
					be2516a3b8 | ||
| 
						 | 
					7f62a74877 | ||
| 
						 | 
					3b296a1fba | ||
| 
						 | 
					28c9cd353d | ||
| 
						 | 
					83a5c1a7d2 | ||
| 
						 | 
					a767502d66 | ||
| 
						 | 
					897ac3dab5 | ||
| 
						 | 
					2f165b4b48 | ||
| 
						 | 
					3994818b6a | 
							
								
								
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							@@ -33,6 +33,7 @@ speed-measure-plugin.json
 | 
			
		||||
.history/*
 | 
			
		||||
 | 
			
		||||
# misc
 | 
			
		||||
/.angular/cache
 | 
			
		||||
/.sass-cache
 | 
			
		||||
/connect.lock
 | 
			
		||||
/coverage
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										61
									
								
								angular.json
									
									
									
									
									
								
							
							
						
						
									
										61
									
								
								angular.json
									
									
									
									
									
								
							@@ -148,18 +148,6 @@
 | 
			
		||||
              "src/assets"
 | 
			
		||||
            ]
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        "lint": {
 | 
			
		||||
          "builder": "@angular-devkit/build-angular:tslint",
 | 
			
		||||
          "options": {
 | 
			
		||||
            "tsConfig": [
 | 
			
		||||
              "src/tsconfig.app.json",
 | 
			
		||||
              "src/tsconfig.spec.json"
 | 
			
		||||
            ],
 | 
			
		||||
            "exclude": [
 | 
			
		||||
              "**/node_modules/**"
 | 
			
		||||
            ]
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
@@ -179,15 +167,6 @@
 | 
			
		||||
              "devServerTarget": "farmmaps-lib-app:serve:production"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        "lint": {
 | 
			
		||||
          "builder": "@angular-devkit/build-angular:tslint",
 | 
			
		||||
          "options": {
 | 
			
		||||
            "tsConfig": "e2e/tsconfig.e2e.json",
 | 
			
		||||
            "exclude": [
 | 
			
		||||
              "**/node_modules/**"
 | 
			
		||||
            ]
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
@@ -216,18 +195,6 @@
 | 
			
		||||
            "tsConfig": "projects/common/tsconfig.spec.json",
 | 
			
		||||
            "karmaConfig": "projects/common/karma.conf.js"
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        "lint": {
 | 
			
		||||
          "builder": "@angular-devkit/build-angular:tslint",
 | 
			
		||||
          "options": {
 | 
			
		||||
            "tsConfig": [
 | 
			
		||||
              "projects/common/tsconfig.lib.json",
 | 
			
		||||
              "projects/common/tsconfig.spec.json"
 | 
			
		||||
            ],
 | 
			
		||||
            "exclude": [
 | 
			
		||||
              "**/node_modules/**"
 | 
			
		||||
            ]
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
@@ -256,18 +223,6 @@
 | 
			
		||||
            "tsConfig": "projects/common-map/tsconfig.spec.json",
 | 
			
		||||
            "karmaConfig": "projects/common-map/karma.conf.js"
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        "lint": {
 | 
			
		||||
          "builder": "@angular-devkit/build-angular:tslint",
 | 
			
		||||
          "options": {
 | 
			
		||||
            "tsConfig": [
 | 
			
		||||
              "projects/common-map/tsconfig.lib.json",
 | 
			
		||||
              "projects/common-map/tsconfig.spec.json"
 | 
			
		||||
            ],
 | 
			
		||||
            "exclude": [
 | 
			
		||||
              "**/node_modules/**"
 | 
			
		||||
            ]
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
@@ -296,21 +251,11 @@
 | 
			
		||||
            "tsConfig": "projects/common-map3d/tsconfig.spec.json",
 | 
			
		||||
            "karmaConfig": "projects/common-map3d/karma.conf.js"
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        "lint": {
 | 
			
		||||
          "builder": "@angular-devkit/build-angular:tslint",
 | 
			
		||||
          "options": {
 | 
			
		||||
            "tsConfig": [
 | 
			
		||||
              "projects/common-map3d/tsconfig.lib.json",
 | 
			
		||||
              "projects/common-map3d/tsconfig.spec.json"
 | 
			
		||||
            ],
 | 
			
		||||
            "exclude": [
 | 
			
		||||
              "**/node_modules/**"
 | 
			
		||||
            ]
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  "defaultProject": "farmmaps-lib-app"
 | 
			
		||||
  "cli": {
 | 
			
		||||
    "analytics": false
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										29829
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										29829
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										59
									
								
								package.json
									
									
									
									
									
								
							
							
						
						
									
										59
									
								
								package.json
									
									
									
									
									
								
							@@ -1,6 +1,6 @@
 | 
			
		||||
{
 | 
			
		||||
  "name": "farmmaps-lib-app",
 | 
			
		||||
  "version": "2.1.5",
 | 
			
		||||
  "version": "3.0.0",
 | 
			
		||||
  "scripts": {
 | 
			
		||||
    "ng": "ng",
 | 
			
		||||
    "start": "ng serve",
 | 
			
		||||
@@ -11,23 +11,24 @@
 | 
			
		||||
  },
 | 
			
		||||
  "private": true,
 | 
			
		||||
  "dependencies": {
 | 
			
		||||
    "@angular/animations": "~12.2.8",
 | 
			
		||||
    "@angular/common": "~12.2.8",
 | 
			
		||||
    "@angular/compiler": "~12.2.8",
 | 
			
		||||
    "@angular/core": "~12.2.8",
 | 
			
		||||
    "@angular/forms": "~12.2.8",
 | 
			
		||||
    "@angular/platform-browser": "~12.2.8",
 | 
			
		||||
    "@angular/platform-browser-dynamic": "~12.2.8",
 | 
			
		||||
    "@angular/router": "~12.2.8",
 | 
			
		||||
    "@angular/animations": "^14.1.3",
 | 
			
		||||
    "@angular/common": "^14.1.3",
 | 
			
		||||
    "@angular/compiler": "^14.1.3",
 | 
			
		||||
    "@angular/core": "^14.1.3",
 | 
			
		||||
    "@angular/forms": "^14.1.3",
 | 
			
		||||
    "@angular/platform-browser": "^14.1.3",
 | 
			
		||||
    "@angular/platform-browser-dynamic": "^14.1.3",
 | 
			
		||||
    "@angular/router": "^14.1.3",
 | 
			
		||||
    "@farmmaps/common": "file:dist/common",
 | 
			
		||||
    "@farmmaps/common-map": "file:dist/common-map",
 | 
			
		||||
    "@farmmaps/common-map3d": "file:dist/common-map3d",
 | 
			
		||||
    "@microsoft/signalr": "^3.1.16",
 | 
			
		||||
    "@ng-bootstrap/ng-bootstrap": "^9.0",
 | 
			
		||||
    "@ngrx/effects": "^12.0",
 | 
			
		||||
    "@ngrx/router-store": "^12.0",
 | 
			
		||||
    "@ngrx/store": "^12.0",
 | 
			
		||||
    "angular-oauth2-oidc": "^12.0",
 | 
			
		||||
    "@ng-bootstrap/ng-bootstrap": "^13.0.0",
 | 
			
		||||
    "@ngrx/effects": "^14",
 | 
			
		||||
    "@ngrx/router-store": "^14",
 | 
			
		||||
    "@ngrx/store": "^14",
 | 
			
		||||
    "@popperjs/core": "^2.11.6",
 | 
			
		||||
    "angular-oauth2-oidc": "^13",
 | 
			
		||||
    "assert": "^2.0.0",
 | 
			
		||||
    "bootstrap": "^4.6.0",
 | 
			
		||||
    "browserify-zlib": "^0.2.0",
 | 
			
		||||
@@ -55,28 +56,28 @@
 | 
			
		||||
    "zone.js": "~0.11.4"
 | 
			
		||||
  },
 | 
			
		||||
  "devDependencies": {
 | 
			
		||||
    "@angular-builders/custom-webpack": "^12.1.3",
 | 
			
		||||
    "@angular-devkit/build-angular": "^12.2.8",
 | 
			
		||||
    "@angular/cli": "^12.2.8",
 | 
			
		||||
    "@angular/compiler-cli": "~12.2.8",
 | 
			
		||||
    "@angular/language-service": "~12.2.8",
 | 
			
		||||
    "@angular/localize": "^12.2.8",
 | 
			
		||||
    "@angular-builders/custom-webpack": "^14",
 | 
			
		||||
    "@angular-devkit/build-angular": "^14.1.3",
 | 
			
		||||
    "@angular/cli": "^14.1.3",
 | 
			
		||||
    "@angular/compiler-cli": "^14.1.3",
 | 
			
		||||
    "@angular/language-service": "^14.1.3",
 | 
			
		||||
    "@angular/localize": "^14.1.3",
 | 
			
		||||
    "@types/arcgis-rest-api": "^10.4.5",
 | 
			
		||||
    "@types/jasmine": "~2.8.8",
 | 
			
		||||
    "@types/jasminewd2": "^2.0.9",
 | 
			
		||||
    "@types/node": "^12.20.15",
 | 
			
		||||
    "codelyzer": "^5.1.2",
 | 
			
		||||
    "jasmine-core": "~3.5.0",
 | 
			
		||||
    "jasmine-spec-reporter": "~5.0.0",
 | 
			
		||||
    "karma": "~6.3.3",
 | 
			
		||||
    "codelyzer": "^0.0.28",
 | 
			
		||||
    "jasmine-core": "^4.3.0",
 | 
			
		||||
    "jasmine-spec-reporter": "^7.0.0",
 | 
			
		||||
    "karma": "^6.3.20",
 | 
			
		||||
    "karma-chrome-launcher": "~3.1.0",
 | 
			
		||||
    "karma-coverage-istanbul-reporter": "~3.0.2",
 | 
			
		||||
    "karma-jasmine": "~4.0.0",
 | 
			
		||||
    "karma-jasmine-html-reporter": "^1.6.0",
 | 
			
		||||
    "ng-packagr": "^12.2.2",
 | 
			
		||||
    "karma-coverage-istanbul-reporter": "^3.0.3",
 | 
			
		||||
    "karma-jasmine": "^5.1.0",
 | 
			
		||||
    "karma-jasmine-html-reporter": "^2.0.0",
 | 
			
		||||
    "ng-packagr": "^14.1.0",
 | 
			
		||||
    "protractor": "~7.0.0",
 | 
			
		||||
    "ts-node": "^8.8.1",
 | 
			
		||||
    "tslint": "~6.1.0",
 | 
			
		||||
    "typescript": "~4.3.5"
 | 
			
		||||
    "typescript": "~4.6.4"
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -8,14 +8,14 @@
 | 
			
		||||
    "tslib": "^2.0.0"
 | 
			
		||||
  },
 | 
			
		||||
  "peerDependencies": {
 | 
			
		||||
    "@angular/core": "~12.2.8",
 | 
			
		||||
    "ngrx-store-localstorage": "^12.0",
 | 
			
		||||
    "@ngrx/effects": "^12.0",
 | 
			
		||||
    "@ngrx/router-store":"^12.0",
 | 
			
		||||
    "@ngrx/store":"^12.0",
 | 
			
		||||
    "tassign": "^1.0.0",
 | 
			
		||||
    "@farmmaps/common": "~2.0",
 | 
			
		||||
    "ngx-openlayers": "1.0.0-next.19",
 | 
			
		||||
    "ol": "6.8.1"
 | 
			
		||||
    "@angular/core": ">=14.0.0",
 | 
			
		||||
    "ngrx-store-localstorage": ">=14.0.0",
 | 
			
		||||
    "@ngrx/effects": ">=14.0.0",
 | 
			
		||||
    "@ngrx/router-store":">=14.0.0",
 | 
			
		||||
    "@ngrx/store":">=14.0.0",
 | 
			
		||||
    "tassign": ">=1.0.0",
 | 
			
		||||
    "@farmmaps/common": ">=2.0.0",
 | 
			
		||||
    "ngx-openlayers": ">=1.0.0-next.19",
 | 
			
		||||
    "ol": ">=6.8.1"
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -170,133 +170,118 @@ export {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@NgModule({
 | 
			
		||||
  imports: [
 | 
			
		||||
    CommonModule,
 | 
			
		||||
    AngularOpenlayersModule,
 | 
			
		||||
    MapRoutingModule,
 | 
			
		||||
    StoreModule.forFeature(MODULE_NAME, mapReducers.reducer,{metaReducers:metaReducers}),
 | 
			
		||||
    EffectsModule.forFeature([mapEffects.MapEffects]),
 | 
			
		||||
    NgbModule,
 | 
			
		||||
    FormsModule,
 | 
			
		||||
    ReactiveFormsModule,
 | 
			
		||||
    AppCommonModule
 | 
			
		||||
  ],
 | 
			
		||||
  declarations: [
 | 
			
		||||
    ZoomToExtentComponent,
 | 
			
		||||
    ItemVectorSourceComponent,
 | 
			
		||||
    ItemLayersComponent,
 | 
			
		||||
    FileDropTargetComponent,
 | 
			
		||||
    MapComponent,
 | 
			
		||||
    MetaDataModalComponent,
 | 
			
		||||
    RotationResetComponent,
 | 
			
		||||
    MapSearchComponent,
 | 
			
		||||
    SelectPeriodModalComponent,
 | 
			
		||||
    LayerListComponent,
 | 
			
		||||
    LegendComponent,
 | 
			
		||||
    LayerVectorImageComponent,
 | 
			
		||||
    FeatureListComponent,
 | 
			
		||||
    WidgetHostDirective,
 | 
			
		||||
    FeatureListContainerComponent,
 | 
			
		||||
    FeatureListCroppingschemeComponent,
 | 
			
		||||
    FeatureListCropfieldComponent,
 | 
			
		||||
    FeatureListFeatureContainerComponent,
 | 
			
		||||
    FeatureListFeatureComponent,
 | 
			
		||||
    FeatureListFeatureCroppingschemeComponent,
 | 
			
		||||
    FeatureListFeatureCropfieldComponent,
 | 
			
		||||
    SelectedItemContainerComponent,
 | 
			
		||||
    SelectedItemComponent,
 | 
			
		||||
    SelectedItemCropfieldComponent,
 | 
			
		||||
    SelectedItemGeotiffComponent,
 | 
			
		||||
    SelectedItemTemporalComponent,
 | 
			
		||||
    SelectedItemShapeComponent,
 | 
			
		||||
    ItemListItemComponent,
 | 
			
		||||
    ItemListItemContainerComponent,
 | 
			
		||||
    ItemListComponent,
 | 
			
		||||
    ItemWidgetListComponent,
 | 
			
		||||
    WidgetStatusComponent,
 | 
			
		||||
    GpsLocation,
 | 
			
		||||
    PanToLocation,
 | 
			
		||||
    LayerSwitcher,
 | 
			
		||||
    HistogramDetailsComponent,
 | 
			
		||||
    StatisticsDetailsComponent,
 | 
			
		||||
    ifZoomToShowDirective,
 | 
			
		||||
    ZoomToShowAlert,
 | 
			
		||||
    LayerValuesComponent,
 | 
			
		||||
    GeometryThumbnailComponent
 | 
			
		||||
  ],
 | 
			
		||||
  entryComponents: [
 | 
			
		||||
    FeatureListComponent,
 | 
			
		||||
    FeatureListCroppingschemeComponent,
 | 
			
		||||
    FeatureListCropfieldComponent,
 | 
			
		||||
    FeatureListFeatureComponent,
 | 
			
		||||
    FeatureListFeatureCroppingschemeComponent,
 | 
			
		||||
    FeatureListFeatureCropfieldComponent,
 | 
			
		||||
    SelectedItemComponent,
 | 
			
		||||
    SelectedItemCropfieldComponent,
 | 
			
		||||
    SelectedItemGeotiffComponent,
 | 
			
		||||
    SelectedItemTemporalComponent,
 | 
			
		||||
    SelectedItemShapeComponent,
 | 
			
		||||
    ItemListComponent,
 | 
			
		||||
    ItemListItemComponent,
 | 
			
		||||
  ],
 | 
			
		||||
  exports: [
 | 
			
		||||
       ItemVectorSourceComponent,
 | 
			
		||||
       ItemLayersComponent,
 | 
			
		||||
       FileDropTargetComponent,
 | 
			
		||||
       MetaDataModalComponent,
 | 
			
		||||
       MapComponent,
 | 
			
		||||
       GpsLocation,
 | 
			
		||||
       PanToLocation,
 | 
			
		||||
       LayerSwitcher,
 | 
			
		||||
       FeatureListFeatureComponent,
 | 
			
		||||
       FeatureListFeatureCropfieldComponent,
 | 
			
		||||
       FeatureListFeatureCroppingschemeComponent,
 | 
			
		||||
       SelectedItemContainerComponent,
 | 
			
		||||
       SelectedItemComponent,
 | 
			
		||||
       SelectedItemCropfieldComponent,
 | 
			
		||||
       SelectedItemGeotiffComponent,
 | 
			
		||||
       SelectedItemTemporalComponent,
 | 
			
		||||
       SelectedItemShapeComponent,
 | 
			
		||||
       ItemListItemComponent,
 | 
			
		||||
       ItemListItemContainerComponent,
 | 
			
		||||
       ItemListComponent,
 | 
			
		||||
       ItemWidgetListComponent,
 | 
			
		||||
       WidgetStatusComponent,
 | 
			
		||||
       RotationResetComponent,
 | 
			
		||||
       MapSearchComponent,
 | 
			
		||||
       SelectPeriodModalComponent,
 | 
			
		||||
       LayerListComponent,
 | 
			
		||||
       LegendComponent,
 | 
			
		||||
       LayerVectorImageComponent,
 | 
			
		||||
       FeatureListComponent,
 | 
			
		||||
       WidgetHostDirective,
 | 
			
		||||
       FeatureListContainerComponent,
 | 
			
		||||
       FeatureListCroppingschemeComponent,
 | 
			
		||||
       FeatureListCropfieldComponent,
 | 
			
		||||
       FeatureListFeatureContainerComponent,
 | 
			
		||||
       ZoomToExtentComponent,
 | 
			
		||||
       ifZoomToShowDirective,
 | 
			
		||||
       ZoomToShowAlert,
 | 
			
		||||
       GeometryThumbnailComponent
 | 
			
		||||
  ],
 | 
			
		||||
  providers: [
 | 
			
		||||
    FeatureIconService,
 | 
			
		||||
    GeolocationService,
 | 
			
		||||
    DeviceOrientationService,
 | 
			
		||||
    TemporalService,
 | 
			
		||||
    { 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: SelectedItemTemporalComponent, multi: true },
 | 
			
		||||
    { provide: AbstractSelectedItemComponent, useClass: SelectedItemShapeComponent, multi: true },
 | 
			
		||||
    { provide: AbstractItemListItemComponent, useClass: ItemListItemComponent, multi: true },
 | 
			
		||||
    { provide: AbstractItemListComponent, useClass: ItemListComponent, multi: true }
 | 
			
		||||
  ]
 | 
			
		||||
    imports: [
 | 
			
		||||
        CommonModule,
 | 
			
		||||
        AngularOpenlayersModule,
 | 
			
		||||
        MapRoutingModule,
 | 
			
		||||
        StoreModule.forFeature(MODULE_NAME, mapReducers.reducer, { metaReducers: metaReducers }),
 | 
			
		||||
        EffectsModule.forFeature([mapEffects.MapEffects]),
 | 
			
		||||
        NgbModule,
 | 
			
		||||
        FormsModule,
 | 
			
		||||
        ReactiveFormsModule,
 | 
			
		||||
        AppCommonModule
 | 
			
		||||
    ],
 | 
			
		||||
    declarations: [
 | 
			
		||||
        ZoomToExtentComponent,
 | 
			
		||||
        ItemVectorSourceComponent,
 | 
			
		||||
        ItemLayersComponent,
 | 
			
		||||
        FileDropTargetComponent,
 | 
			
		||||
        MapComponent,
 | 
			
		||||
        MetaDataModalComponent,
 | 
			
		||||
        RotationResetComponent,
 | 
			
		||||
        MapSearchComponent,
 | 
			
		||||
        SelectPeriodModalComponent,
 | 
			
		||||
        LayerListComponent,
 | 
			
		||||
        LegendComponent,
 | 
			
		||||
        LayerVectorImageComponent,
 | 
			
		||||
        FeatureListComponent,
 | 
			
		||||
        WidgetHostDirective,
 | 
			
		||||
        FeatureListContainerComponent,
 | 
			
		||||
        FeatureListCroppingschemeComponent,
 | 
			
		||||
        FeatureListCropfieldComponent,
 | 
			
		||||
        FeatureListFeatureContainerComponent,
 | 
			
		||||
        FeatureListFeatureComponent,
 | 
			
		||||
        FeatureListFeatureCroppingschemeComponent,
 | 
			
		||||
        FeatureListFeatureCropfieldComponent,
 | 
			
		||||
        SelectedItemContainerComponent,
 | 
			
		||||
        SelectedItemComponent,
 | 
			
		||||
        SelectedItemCropfieldComponent,
 | 
			
		||||
        SelectedItemGeotiffComponent,
 | 
			
		||||
        SelectedItemTemporalComponent,
 | 
			
		||||
        SelectedItemShapeComponent,
 | 
			
		||||
        ItemListItemComponent,
 | 
			
		||||
        ItemListItemContainerComponent,
 | 
			
		||||
        ItemListComponent,
 | 
			
		||||
        ItemWidgetListComponent,
 | 
			
		||||
        WidgetStatusComponent,
 | 
			
		||||
        GpsLocation,
 | 
			
		||||
        PanToLocation,
 | 
			
		||||
        LayerSwitcher,
 | 
			
		||||
        HistogramDetailsComponent,
 | 
			
		||||
        StatisticsDetailsComponent,
 | 
			
		||||
        ifZoomToShowDirective,
 | 
			
		||||
        ZoomToShowAlert,
 | 
			
		||||
        LayerValuesComponent,
 | 
			
		||||
        GeometryThumbnailComponent
 | 
			
		||||
    ],
 | 
			
		||||
    exports: [
 | 
			
		||||
        ItemVectorSourceComponent,
 | 
			
		||||
        ItemLayersComponent,
 | 
			
		||||
        FileDropTargetComponent,
 | 
			
		||||
        MetaDataModalComponent,
 | 
			
		||||
        MapComponent,
 | 
			
		||||
        GpsLocation,
 | 
			
		||||
        PanToLocation,
 | 
			
		||||
        LayerSwitcher,
 | 
			
		||||
        FeatureListFeatureComponent,
 | 
			
		||||
        FeatureListFeatureCropfieldComponent,
 | 
			
		||||
        FeatureListFeatureCroppingschemeComponent,
 | 
			
		||||
        SelectedItemContainerComponent,
 | 
			
		||||
        SelectedItemComponent,
 | 
			
		||||
        SelectedItemCropfieldComponent,
 | 
			
		||||
        SelectedItemGeotiffComponent,
 | 
			
		||||
        SelectedItemTemporalComponent,
 | 
			
		||||
        SelectedItemShapeComponent,
 | 
			
		||||
        ItemListItemComponent,
 | 
			
		||||
        ItemListItemContainerComponent,
 | 
			
		||||
        ItemListComponent,
 | 
			
		||||
        ItemWidgetListComponent,
 | 
			
		||||
        WidgetStatusComponent,
 | 
			
		||||
        RotationResetComponent,
 | 
			
		||||
        MapSearchComponent,
 | 
			
		||||
        SelectPeriodModalComponent,
 | 
			
		||||
        LayerListComponent,
 | 
			
		||||
        LegendComponent,
 | 
			
		||||
        LayerVectorImageComponent,
 | 
			
		||||
        FeatureListComponent,
 | 
			
		||||
        WidgetHostDirective,
 | 
			
		||||
        FeatureListContainerComponent,
 | 
			
		||||
        FeatureListCroppingschemeComponent,
 | 
			
		||||
        FeatureListCropfieldComponent,
 | 
			
		||||
        FeatureListFeatureContainerComponent,
 | 
			
		||||
        ZoomToExtentComponent,
 | 
			
		||||
        ifZoomToShowDirective,
 | 
			
		||||
        ZoomToShowAlert,
 | 
			
		||||
        GeometryThumbnailComponent
 | 
			
		||||
    ],
 | 
			
		||||
    providers: [
 | 
			
		||||
        FeatureIconService,
 | 
			
		||||
        GeolocationService,
 | 
			
		||||
        DeviceOrientationService,
 | 
			
		||||
        TemporalService,
 | 
			
		||||
        { 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: SelectedItemTemporalComponent, multi: true },
 | 
			
		||||
        { provide: AbstractSelectedItemComponent, useClass: SelectedItemShapeComponent, multi: true },
 | 
			
		||||
        { provide: AbstractItemListItemComponent, useClass: ItemListItemComponent, multi: true },
 | 
			
		||||
        { provide: AbstractItemListComponent, useClass: ItemListComponent, multi: true }
 | 
			
		||||
    ]
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,5 @@
 | 
			
		||||
import { Component, Output, ViewChild, EventEmitter, Input, ElementRef, HostListener } from '@angular/core';
 | 
			
		||||
import { FormGroup,FormBuilder, Validators } from '@angular/forms';
 | 
			
		||||
import { UntypedFormGroup,UntypedFormBuilder, Validators } from '@angular/forms';
 | 
			
		||||
import { IListItem } from '@farmmaps/common';
 | 
			
		||||
import { IDroppedFile } from '../aol/file-drop-target/file-drop-target.component';
 | 
			
		||||
import {NgbModal, NgbModalRef} from "@ng-bootstrap/ng-bootstrap";
 | 
			
		||||
@@ -33,9 +33,9 @@ export class MetaDataModalComponent {
 | 
			
		||||
  @Output() onCloseModal = new EventEmitter<any>();
 | 
			
		||||
  @Output() onAddFilesWithMetaData = new EventEmitter<IMetaData>();
 | 
			
		||||
 | 
			
		||||
  constructor(private modalService: NgbModal, public fb: FormBuilder) { }
 | 
			
		||||
  constructor(private modalService: NgbModal, public fb: UntypedFormBuilder) { }
 | 
			
		||||
 | 
			
		||||
  public metaDataForm: FormGroup;
 | 
			
		||||
  public metaDataForm: UntypedFormGroup;
 | 
			
		||||
 | 
			
		||||
  handleMetaDataEntered(event) {
 | 
			
		||||
    if (this.metaDataForm.valid) {
 | 
			
		||||
 
 | 
			
		||||
@@ -126,7 +126,7 @@ export class MapEffects {
 | 
			
		||||
      var endDate = a.queryState.endDate;
 | 
			
		||||
      var newAction:Observable<Action>;
 | 
			
		||||
      if (a.queryState.itemCode || a.queryState.parentCode || a.queryState.itemType || a.queryState.query || a.queryState.tags) {
 | 
			
		||||
        newAction= this.itemService$.getFeatures(a.queryState.bbox, "EPSG:3857", a.queryState.query, a.queryState.tags, startDate, endDate, a.queryState.itemType, a.queryState.parentCode, null, a.queryState.level).pipe(
 | 
			
		||||
        newAction= this.itemService$.getFeatures(a.queryState.bbox, "EPSG:3857", a.queryState.query, a.queryState.tags, startDate, endDate, a.queryState.itemType, a.queryState.parentCode, a.queryState.dataFilter, a.queryState.level).pipe(
 | 
			
		||||
          switchMap((features: any) => {
 | 
			
		||||
            for (let f of features.features) {
 | 
			
		||||
              if (f.properties && f.properties["code"]) {
 | 
			
		||||
 
 | 
			
		||||
@@ -14,7 +14,9 @@ declare const require: any;
 | 
			
		||||
// First, initialize the Angular testing environment.
 | 
			
		||||
getTestBed().initTestEnvironment(
 | 
			
		||||
  BrowserDynamicTestingModule,
 | 
			
		||||
  platformBrowserDynamicTesting()
 | 
			
		||||
  platformBrowserDynamicTesting(), {
 | 
			
		||||
    teardown: { destroyAfterEach: false }
 | 
			
		||||
}
 | 
			
		||||
);
 | 
			
		||||
// Then we find all the tests.
 | 
			
		||||
const context = require.context('./', true, /\.spec\.ts$/);
 | 
			
		||||
 
 | 
			
		||||
@@ -2,7 +2,7 @@
 | 
			
		||||
  "extends": "../../tsconfig.json",
 | 
			
		||||
  "compilerOptions": {
 | 
			
		||||
    "outDir": "../../out-tsc/lib",
 | 
			
		||||
    "target": "es2015",
 | 
			
		||||
    "target": "es2020",
 | 
			
		||||
    "module": "es2015",
 | 
			
		||||
    "moduleResolution": "node",
 | 
			
		||||
    "declaration": true,
 | 
			
		||||
 
 | 
			
		||||
@@ -2,7 +2,7 @@
 | 
			
		||||
  "extends": "../../tsconfig.json",
 | 
			
		||||
  "compilerOptions": {
 | 
			
		||||
    "outDir": "../../out-tsc/lib",
 | 
			
		||||
    "target": "es2015",
 | 
			
		||||
    "target": "es2020",
 | 
			
		||||
    "module": "es2015",
 | 
			
		||||
    "moduleResolution": "node",
 | 
			
		||||
    "declaration": true,
 | 
			
		||||
 
 | 
			
		||||
@@ -5,11 +5,11 @@
 | 
			
		||||
    "registry": "https://repository.akkerweb.nl/repository/npm-hosted/"
 | 
			
		||||
  },
 | 
			
		||||
  "peerDependencies": {
 | 
			
		||||
    "@angular/common":  "~12.2.8",
 | 
			
		||||
    "@angular/core":  "~12.2.8",
 | 
			
		||||
    "@angular/common":  ">=14.0.0",
 | 
			
		||||
    "@angular/core":  ">=14.0.0",
 | 
			
		||||
    "ngx-openlayers": "1.0.0-next.19",
 | 
			
		||||
    "cesium": "^1.82.1",
 | 
			
		||||
    "ol-cesium": "^2.13.0"
 | 
			
		||||
    "cesium": ">=1.82.1",
 | 
			
		||||
    "ol-cesium": ">=2.13.0"
 | 
			
		||||
  },
 | 
			
		||||
  "dependencies": {
 | 
			
		||||
    "tslib": "^2.0.0"
 | 
			
		||||
 
 | 
			
		||||
@@ -18,7 +18,9 @@ declare const require: {
 | 
			
		||||
// First, initialize the Angular testing environment.
 | 
			
		||||
getTestBed().initTestEnvironment(
 | 
			
		||||
  BrowserDynamicTestingModule,
 | 
			
		||||
  platformBrowserDynamicTesting()
 | 
			
		||||
  platformBrowserDynamicTesting(), {
 | 
			
		||||
    teardown: { destroyAfterEach: false }
 | 
			
		||||
}
 | 
			
		||||
);
 | 
			
		||||
// Then we find all the tests.
 | 
			
		||||
const context = require.context('./', true, /\.spec\.ts$/);
 | 
			
		||||
 
 | 
			
		||||
@@ -2,10 +2,7 @@
 | 
			
		||||
  "$schema": "../../node_modules/ng-packagr/ng-package.schema.json",
 | 
			
		||||
  "dest": "../../dist/common",
 | 
			
		||||
  "lib": {
 | 
			
		||||
    "entryFile": "src/public-api.ts",
 | 
			
		||||
    "umdModuleIds": {
 | 
			
		||||
      "my-data": "my-data"
 | 
			
		||||
    }
 | 
			
		||||
    "entryFile": "src/public-api.ts"
 | 
			
		||||
  },
 | 
			
		||||
  "allowedNonPeerDependencies": [
 | 
			
		||||
    "."
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										43
									
								
								projects/common/package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										43
									
								
								projects/common/package-lock.json
									
									
									
										generated
									
									
									
								
							@@ -1,27 +1,30 @@
 | 
			
		||||
{
 | 
			
		||||
  "name": "@farmmaps/common",
 | 
			
		||||
  "version": "0.0.1",
 | 
			
		||||
  "lockfileVersion": 1,
 | 
			
		||||
  "version": "2.0.0",
 | 
			
		||||
  "lockfileVersion": 2,
 | 
			
		||||
  "requires": true,
 | 
			
		||||
  "dependencies": {
 | 
			
		||||
    "is-retina": {
 | 
			
		||||
      "version": "1.0.3",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/is-retina/-/is-retina-1.0.3.tgz",
 | 
			
		||||
      "integrity": "sha1-10AbKGvqKuN/Ykd1iN5QTQuGR+M="
 | 
			
		||||
    },
 | 
			
		||||
    "ngx-avatar": {
 | 
			
		||||
      "version": "4.0.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/ngx-avatar/-/ngx-avatar-4.0.0.tgz",
 | 
			
		||||
      "integrity": "sha512-Uk40UXl26RvDy1ori9NDsGFB+f84AaxMnsIwZA6JPJK0pLcbo3F4vZTmzLZeOusOw1Qtgk5IzF630jo06keXwQ==",
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "is-retina": "^1.0.3",
 | 
			
		||||
        "ts-md5": "^1.2.4"
 | 
			
		||||
  "packages": {
 | 
			
		||||
    "": {
 | 
			
		||||
      "name": "@farmmaps/common",
 | 
			
		||||
      "version": "2.0.0",
 | 
			
		||||
      "peerDependencies": {
 | 
			
		||||
        "@angular/common": "^14.0.0",
 | 
			
		||||
        "@angular/core": "^14.0.0",
 | 
			
		||||
        "@angular/forms": "^14",
 | 
			
		||||
        "@microsoft/signalr": "^3.1.3",
 | 
			
		||||
        "@ng-bootstrap/ng-bootstrap": ">=10.0.0",
 | 
			
		||||
        "@ngrx/effects": "^14.0.0",
 | 
			
		||||
        "@ngrx/router-store": "^14.0.0",
 | 
			
		||||
        "@ngrx/store": "^14.0.0",
 | 
			
		||||
        "angular-oauth2-oidc": "^13",
 | 
			
		||||
        "bootstrap": "^4.4.1",
 | 
			
		||||
        "moment": "^2.27.0",
 | 
			
		||||
        "ngx-avatar": "^4.1.0",
 | 
			
		||||
        "ngx-clipboard": "^14.0.1",
 | 
			
		||||
        "ngx-image-cropper": "^3.3.5",
 | 
			
		||||
        "ngx-uploadx": "^5.2.0",
 | 
			
		||||
        "tassign": "^1.0.0"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "ts-md5": {
 | 
			
		||||
      "version": "1.2.7",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/ts-md5/-/ts-md5-1.2.7.tgz",
 | 
			
		||||
      "integrity": "sha512-emODogvKGWi1KO1l9c6YxLMBn6CEH3VrH5mVPIyOtxBG52BvV4jP3GWz6bOZCz61nLgBc3ffQYE4+EHfCD+V7w=="
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -5,21 +5,21 @@
 | 
			
		||||
    "registry": "https://repository.akkerweb.nl/repository/npm-hosted/"
 | 
			
		||||
  },
 | 
			
		||||
  "peerDependencies": {
 | 
			
		||||
    "@ng-bootstrap/ng-bootstrap": "^7.0",
 | 
			
		||||
    "@angular/common": "~12.2.8",
 | 
			
		||||
    "@angular/core": "~12.2.8",
 | 
			
		||||
    "@angular/forms": "~12.2.8",
 | 
			
		||||
    "@ngrx/effects": "^12.0",
 | 
			
		||||
    "@ngrx/router-store": "^12.0",
 | 
			
		||||
    "@ngrx/store": "^12.0",
 | 
			
		||||
    "tassign": "^1.0.0",
 | 
			
		||||
    "bootstrap": "^4.4.1",
 | 
			
		||||
    "@microsoft/signalr": "^3.1.3",
 | 
			
		||||
    "ngx-uploadx": "^3.3.4",
 | 
			
		||||
    "angular-oauth2-oidc": "^12.0",
 | 
			
		||||
    "moment": "^2.27.0",
 | 
			
		||||
    "ngx-avatar": "^4.0.0",
 | 
			
		||||
    "ngx-image-cropper": "^3.3.5",
 | 
			
		||||
    "ngx-clipboard": "^14.0.1"
 | 
			
		||||
    "@ng-bootstrap/ng-bootstrap": ">=10.0.0",
 | 
			
		||||
    "@angular/common": ">=14.0.0",
 | 
			
		||||
    "@angular/core": ">=14.0.0",
 | 
			
		||||
    "@angular/forms": ">=14.0.0",
 | 
			
		||||
    "@ngrx/effects": ">=14.0.0",
 | 
			
		||||
    "@ngrx/router-store": ">=14.0.0",
 | 
			
		||||
    "@ngrx/store": ">=14.0.0",
 | 
			
		||||
    "tassign": ">=1.0.0",
 | 
			
		||||
    "bootstrap": ">=4.4.1",
 | 
			
		||||
    "@microsoft/signalr": ">=3.1.3",
 | 
			
		||||
    "ngx-uploadx": ">=5.1.0",
 | 
			
		||||
    "angular-oauth2-oidc": ">=13.0.0",
 | 
			
		||||
    "moment": ">=2.27.0",
 | 
			
		||||
    "ngx-avatar": ">=4.1.0",
 | 
			
		||||
    "ngx-image-cropper": ">=3.3.5",
 | 
			
		||||
    "ngx-clipboard": ">=14.0.1"
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,7 @@
 | 
			
		||||
export interface IQueryState {
 | 
			
		||||
  itemCode: string;
 | 
			
		||||
  parentCode: string;
 | 
			
		||||
  dataFilter?: string;
 | 
			
		||||
  level: number;
 | 
			
		||||
  itemType: string;
 | 
			
		||||
  query: string;
 | 
			
		||||
 
 | 
			
		||||
@@ -14,7 +14,9 @@ declare const require: any;
 | 
			
		||||
// First, initialize the Angular testing environment.
 | 
			
		||||
getTestBed().initTestEnvironment(
 | 
			
		||||
  BrowserDynamicTestingModule,
 | 
			
		||||
  platformBrowserDynamicTesting()
 | 
			
		||||
  platformBrowserDynamicTesting(), {
 | 
			
		||||
    teardown: { destroyAfterEach: false }
 | 
			
		||||
}
 | 
			
		||||
);
 | 
			
		||||
// Then we find all the tests.
 | 
			
		||||
const context = require.context('./', true, /\.spec\.ts$/);
 | 
			
		||||
 
 | 
			
		||||
@@ -2,7 +2,7 @@
 | 
			
		||||
  "extends": "../../tsconfig.json",
 | 
			
		||||
  "compilerOptions": {
 | 
			
		||||
    "outDir": "../../out-tsc/lib",
 | 
			
		||||
    "target": "es2015",
 | 
			
		||||
    "target": "es2020",
 | 
			
		||||
    "module": "es2015",
 | 
			
		||||
    "moduleResolution": "node",
 | 
			
		||||
    "declaration": true,
 | 
			
		||||
 
 | 
			
		||||
@@ -2,7 +2,7 @@
 | 
			
		||||
  "extends": "../../tsconfig.json",
 | 
			
		||||
  "compilerOptions": {
 | 
			
		||||
    "outDir": "../../out-tsc/lib",
 | 
			
		||||
    "target": "es2015",
 | 
			
		||||
    "target": "es2020",
 | 
			
		||||
    "module": "es2015",
 | 
			
		||||
    "moduleResolution": "node",
 | 
			
		||||
    "declaration": true,
 | 
			
		||||
 
 | 
			
		||||
@@ -18,16 +18,6 @@
 | 
			
		||||
 * BROWSER POLYFILLS
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
/** IE10 and IE11 requires the following for NgClass support on SVG elements */
 | 
			
		||||
// import 'classlist.js';  // Run `npm install --save classlist.js`.
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Web Animations `@angular/platform-browser/animations`
 | 
			
		||||
 * Only required if AnimationBuilder is used within the application and using IE/Edge or Safari.
 | 
			
		||||
 * Standard animation support in Angular DOES NOT require any polyfills (as of Angular 6.0).
 | 
			
		||||
 */
 | 
			
		||||
// import 'web-animations-js';  // Run `npm install --save web-animations-js`.
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * By default, zone.js will patch all possible macroTask and DomEvents
 | 
			
		||||
 * user can disable parts of macroTask/DomEvents patch by setting following flags
 | 
			
		||||
 
 | 
			
		||||
@@ -12,7 +12,9 @@ declare const require: any;
 | 
			
		||||
// First, initialize the Angular testing environment.
 | 
			
		||||
getTestBed().initTestEnvironment(
 | 
			
		||||
  BrowserDynamicTestingModule,
 | 
			
		||||
  platformBrowserDynamicTesting()
 | 
			
		||||
  platformBrowserDynamicTesting(), {
 | 
			
		||||
    teardown: { destroyAfterEach: false }
 | 
			
		||||
}
 | 
			
		||||
);
 | 
			
		||||
// Then we find all the tests.
 | 
			
		||||
const context = require.context('./', true, /\.spec\.ts$/);
 | 
			
		||||
 
 | 
			
		||||
@@ -13,7 +13,7 @@
 | 
			
		||||
    "allowSyntheticDefaultImports": true,
 | 
			
		||||
    "importHelpers": true,
 | 
			
		||||
    "skipLibCheck": true,
 | 
			
		||||
    "target": "es2015",
 | 
			
		||||
    "target": "es2020",
 | 
			
		||||
    "typeRoots": [
 | 
			
		||||
      "node_modules/@types"
 | 
			
		||||
    ],
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user