diff --git a/package.json b/package.json index 1f8a9cd..a15a476 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "farmmaps-lib-app", - "version": "1.1.4", + "version": "1.1.5", "scripts": { "ng": "ng", "start": "ng serve", @@ -19,9 +19,9 @@ "@angular/platform-browser": "~11.2.14", "@angular/platform-browser-dynamic": "~11.2.14", "@angular/router": "~11.2.14", - "@farmmaps/common": "1.1.1-prerelease.2031", - "@farmmaps/common-map": "1.1.1-prerelease.2031", - "@farmmaps/common-map3d": "1.1.1-prerelease.2031", + "@farmmaps/common": "1.1.4", + "@farmmaps/common-map": "1.1.4", + "@farmmaps/common-map3d": "1.1.4", "@microsoft/signalr": "^3.1.16", "@ng-bootstrap/ng-bootstrap": "^9.0", "@ngrx/effects": "^11.0", diff --git a/projects/common-map/src/fm-map/components/feature-thumbnail/feature-thumbnail.component.ts b/projects/common-map/src/fm-map/components/feature-thumbnail/feature-thumbnail.component.ts index ec01356..d4b0116 100644 --- a/projects/common-map/src/fm-map/components/feature-thumbnail/feature-thumbnail.component.ts +++ b/projects/common-map/src/fm-map/components/feature-thumbnail/feature-thumbnail.component.ts @@ -1,4 +1,4 @@ -import { Component, Input, OnInit,ViewChild } from '@angular/core'; +import { Component, Input, AfterViewInit, ViewChild } from '@angular/core'; import { Feature} from 'ol'; import { Geometry } from 'ol/geom'; import * as extent from 'ol/extent'; @@ -10,51 +10,86 @@ import * as style from 'ol/style'; templateUrl: './feature-thumbnail.component.html', styleUrls: ['./feature-thumbnail.component.scss'] }) -export class GeometryThumbnailComponent implements OnInit { +export class GeometryThumbnailComponent implements AfterViewInit { + constructor() { } @ViewChild('canvas') canvas; @ViewChild('container') container; - @Input('feature') feature:Feature; - ngOnInit(): void { + private geometry:Geometry = null; + @Input() set feature(value:Feature) { + if(value) { + this.geometry = value.getGeometry(); + } else { + this.geometry = null; + } + this.render(this.canvas, + this.geometryStyle, + this.geometry, + this.width, + this.height); + }; + + private defaultStyle:style.Style = new style.Style({ + stroke: new style.Stroke({ color: 'black',width:1.5 }) + }); + private geometryStyle:style.Style = this.defaultStyle; + @Input() set fillColor(value:string) { + if(style) { + this.geometryStyle = new style.Style({ + stroke: new style.Stroke({ color: 'black',width:1.5 }), + fill: new style.Fill({color: value}) + }); + } else { + this.geometryStyle = this.defaultStyle + } + this.render(this.canvas, + this.geometryStyle, + this.geometry, + this.width, + this.height); } - render(canvas,width,height,geometry:Geometry) { - let renderContext = render.toContext(canvas.getContext( '2d'),{ size: [width, height] }); - - let strokeStyle = new style.Style({ - stroke: new style.Stroke({ color: 'black',width:1.5 }) - }); + private width:number = 0; + private height:number = 0; - let geom = geometry.clone(), - line = geom.getCoordinates()[0], - e = extent.boundingExtent( line ); + render(canvas,style:style.Style,geometry:Geometry,width:number,height:number) { + if(canvas && canvas.nativeElement && geometry && style) { + let renderContext = render.toContext(canvas.nativeElement.getContext( '2d'),{ size: [width, height] }); - let dxy = extent.getCenter(e), - sxy = [ - (width - 2 ) / extent.getWidth(e), - (height - 2 ) / extent.getHeight(e) - ]; - - let dx = dxy[0], - dy = dxy[1], - sx = sxy[0], - sy = sxy[1]; - - geom.translate( -dx, -dy ); - geom.scale( Math.min(sx, sy), -Math.min(sx, sy)); - geom.translate( width / 2, height / 2 ); - - renderContext.setStyle( strokeStyle ); - renderContext.drawGeometry( geom ); + let geom = geometry.clone(), + line = geom.getCoordinates()[0], + e = extent.boundingExtent( line ); + + let dxy = extent.getCenter(e), + sxy = [ + (width - 2 ) / extent.getWidth(e), + (height - 2 ) / extent.getHeight(e) + ]; + + let dx = dxy[0], + dy = dxy[1], + sx = sxy[0], + sy = sxy[1]; + + geom.translate( -dx, -dy ); + geom.scale( Math.min(sx, sy), -Math.min(sx, sy)); + geom.translate(width / 2,height / 2 ); + renderContext.setStyle( style ); + renderContext.drawGeometry( geom ); + } } ngAfterViewInit() { - this.render(this.canvas.nativeElement, - this.container.nativeElement.offsetWidth, - this.container.nativeElement.offsetHeight, - this.feature.getGeometry()); + this.width = this.container.nativeElement.offsetWidth; + this.height = this.container.nativeElement.offsetHeight; + this.render(this.canvas, + this.geometryStyle, + this.geometry, + this.width, + this.height); } + } diff --git a/src/configuration.json b/src/configuration.json index c38ec06..33d7e26 100644 --- a/src/configuration.json +++ b/src/configuration.json @@ -1,8 +1,8 @@ { - "issuer": "https://accounts.test.farmmaps.eu", + "issuer": "http://localhost:8094", "clientId": "farmmapsdev", - "audience": "http://localhost:8082", - "requireHttps": true, + "audience": "http://localhost:8082/", + "requireHttps": false, "apiEndPoint": "http://localhost:8082", "grantType":"code" }