Browse Source

Added setting pageSize for a map, deleted deprecated map provider and fix creating a markers

pull/3198/head
Vladyslav_Prykhodko 6 years ago
committed by Andrew Shvayka
parent
commit
557b0642b8
  1. 7
      ui-ngx/src/app/modules/home/components/widget/lib/maps/leaflet-map.ts
  2. 6
      ui-ngx/src/app/modules/home/components/widget/lib/maps/map-models.ts
  3. 2
      ui-ngx/src/app/modules/home/components/widget/lib/maps/map-widget2.ts
  4. 15
      ui-ngx/src/app/modules/home/components/widget/lib/maps/providers/image-map.ts
  5. 12
      ui-ngx/src/app/modules/home/components/widget/lib/maps/schemes.ts

7
ui-ngx/src/app/modules/home/components/widget/lib/maps/leaflet-map.ts

@ -42,7 +42,7 @@ import { Polygon } from './polygon';
import { createTooltip, parseArray, safeExecute } from '@home/components/widget/lib/maps/maps-utils'; import { createTooltip, parseArray, safeExecute } from '@home/components/widget/lib/maps/maps-utils';
import { WidgetContext } from '@home/models/widget-component.models'; import { WidgetContext } from '@home/models/widget-component.models';
import { DatasourceData } from '@shared/models/widget.models'; import { DatasourceData } from '@shared/models/widget.models';
import { deepClone } from '@core/utils'; import { deepClone, isDefinedAndNotNull } from '@core/utils';
export default abstract class LeafletMap { export default abstract class LeafletMap {
@ -249,8 +249,9 @@ export default abstract class LeafletMap {
if (!expression) return null; if (!expression) return null;
const lat = expression[this.options.latKeyName]; const lat = expression[this.options.latKeyName];
const lng = expression[this.options.lngKeyName]; const lng = expression[this.options.lngKeyName];
if (isNaN(lat) || isNaN(lng)) if (!isDefinedAndNotNull(lat) || isNaN(lat) || !isDefinedAndNotNull(lng) || isNaN(lng)){
return null; return null;
}
else else
return L.latLng(lat, lng) as L.LatLng; return L.latLng(lat, lng) as L.LatLng;
} }

6
ui-ngx/src/app/modules/home/components/widget/lib/maps/map-models.ts

@ -25,7 +25,7 @@ import {
} from './schemes'; } from './schemes';
import { EntityType } from '@shared/models/entity-type.models'; import { EntityType } from '@shared/models/entity-type.models';
export const DEFAULT_MAP_PAGE_SIZE = 1024; export const DEFAULT_MAP_PAGE_SIZE = 2 ** 14;
export type GenericFunction = (data: FormattedData, dsData: FormattedData[], dsIndex: number) => string; export type GenericFunction = (data: FormattedData, dsData: FormattedData[], dsIndex: number) => string;
export type MarkerImageFunction = (data: FormattedData, dsData: FormattedData[], dsIndex: number) => string; export type MarkerImageFunction = (data: FormattedData, dsData: FormattedData[], dsIndex: number) => string;
@ -68,6 +68,7 @@ export type MapSettings = {
removeOutsideVisibleBounds: boolean, removeOutsideVisibleBounds: boolean,
useCustomProvider: boolean, useCustomProvider: boolean,
customProviderTileUrl: string; customProviderTileUrl: string;
mapPageSize: number;
} }
export enum MapProviders { export enum MapProviders {
@ -267,7 +268,8 @@ export const defaultSettings: any = {
credentials: '', credentials: '',
markerClusteringSetting: null, markerClusteringSetting: null,
draggableMarker: false, draggableMarker: false,
fitMapBounds: true fitMapBounds: true,
mapPageSize: DEFAULT_MAP_PAGE_SIZE
}; };
export const hereProviders = [ export const hereProviders = [

2
ui-ngx/src/app/modules/home/components/widget/lib/maps/map-widget2.ts

@ -81,7 +81,7 @@ export class MapWidgetController implements MapWidgetInterface {
this.map.saveMarkerLocation = this.setMarkerLocation; this.map.saveMarkerLocation = this.setMarkerLocation;
this.pageLink = { this.pageLink = {
page: 0, page: 0,
pageSize: DEFAULT_MAP_PAGE_SIZE, pageSize: this.settings.mapPageSize,
textSearch: null, textSearch: null,
dynamic: true dynamic: true
}; };

15
ui-ngx/src/app/modules/home/components/widget/lib/maps/providers/image-map.ts

@ -24,6 +24,7 @@ import { WidgetContext } from '@home/models/widget-component.models';
import { DataSet, DatasourceType, widgetType } from '@shared/models/widget.models'; import { DataSet, DatasourceType, widgetType } from '@shared/models/widget.models';
import { DataKeyType } from '@shared/models/telemetry/telemetry.models'; import { DataKeyType } from '@shared/models/telemetry/telemetry.models';
import { WidgetSubscriptionOptions } from '@core/api/widget-api.models'; import { WidgetSubscriptionOptions } from '@core/api/widget-api.models';
import { isDefinedAndNotNull } from '@core/utils';
const maxZoom = 4;// ? const maxZoom = 4;// ?
@ -209,11 +210,15 @@ export class ImageMap extends LeafletMap {
} }
convertPosition(expression): L.LatLng { convertPosition(expression): L.LatLng {
if (isNaN(expression[this.options.xPosKeyName]) || isNaN(expression[this.options.yPosKeyName])) return null; const xPos = expression[this.options.xPosKeyName];
Object.assign(expression, this.posFunction(expression[this.options.xPosKeyName], expression[this.options.yPosKeyName])); const yPos = expression[this.options.yPosKeyName];
return this.pointToLatLng( if (!isDefinedAndNotNull(xPos) || isNaN(xPos) || !isDefinedAndNotNull(yPos) || isNaN(yPos)) {
expression.x * this.width, return null;
expression.y * this.height); }
Object.assign(expression, this.posFunction(xPos, yPos));
return this.pointToLatLng(
expression.x * this.width,
expression.y * this.height);
} }
convertPositionPolygon(expression: Array<[number, number]>): L.LatLngExpression[] { convertPositionPolygon(expression: Array<[number, number]>): L.LatLngExpression[] {

12
ui-ngx/src/app/modules/home/components/widget/lib/maps/schemes.ts

@ -14,6 +14,8 @@
/// limitations under the License. /// limitations under the License.
/// ///
import { DEFAULT_MAP_PAGE_SIZE } from '@home/components/widget/lib/maps/map-models';
export const googleMapSettingsSchema = export const googleMapSettingsSchema =
{ {
schema: { schema: {
@ -197,10 +199,6 @@ export const openstreetMapSettingsSchema =
value: 'OpenStreetMap.Mapnik', value: 'OpenStreetMap.Mapnik',
label: 'OpenStreetMap.Mapnik (Default)' label: 'OpenStreetMap.Mapnik (Default)'
}, },
{
value: 'OpenStreetMap.BlackAndWhite',
label: 'OpenStreetMap.BlackAndWhite'
},
{ {
value: 'OpenStreetMap.HOT', value: 'OpenStreetMap.HOT',
label: 'OpenStreetMap.HOT' label: 'OpenStreetMap.HOT'
@ -246,6 +244,11 @@ export const commonMapSettingsSchema =
type: 'boolean', type: 'boolean',
default: false default: false
}, },
mapPageSize: {
title: 'Map page size load entities',
type: 'number',
default: DEFAULT_MAP_PAGE_SIZE
},
defaultCenterPosition: { defaultCenterPosition: {
title: 'Default map center position (0,0)', title: 'Default map center position (0,0)',
type: 'string', type: 'string',
@ -408,6 +411,7 @@ export const commonMapSettingsSchema =
key: 'fitMapBounds', key: 'fitMapBounds',
condition: 'model.provider !== "image-map"' condition: 'model.provider !== "image-map"'
}, },
'mapPageSize',
'draggableMarker', 'draggableMarker',
{ {
key: 'disableScrollZooming', key: 'disableScrollZooming',

Loading…
Cancel
Save