jmapcloud-ng-core-types 1.0.9 → 1.0.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/all-enums.ts CHANGED
@@ -139,16 +139,15 @@ export const ALL_LAYER_THEMATIC_FAMILY_TYPES: JLAYER_THEMATIC_FAMILY_TYPES[] = [
139
139
  export const ALL_LAYER_STYLE_TYPES: JLAYER_STYLE_TYPES[] = [
140
140
  JLAYER_STYLE_TYPES.POINT,
141
141
  JLAYER_STYLE_TYPES.LINE,
142
- JLAYER_STYLE_TYPES.SURFACE,
143
- JLAYER_STYLE_TYPES.ANNOTATION,
144
142
  JLAYER_STYLE_TYPES.IMAGE,
145
- JLAYER_STYLE_TYPES.MIXED
143
+ JLAYER_STYLE_TYPES.TEXT,
144
+ JLAYER_STYLE_TYPES.IMAGE
146
145
  ]
147
146
 
148
- export const ALL_LAYER_STYLE_ARROWS: JLAYER_STYLE_ARROWS[] = [
149
- JLAYER_STYLE_ARROWS.NONE,
150
- JLAYER_STYLE_ARROWS.FORWARD,
151
- JLAYER_STYLE_ARROWS.BACKWARD
147
+ export const ALL_LAYER_STYLE_ARROW_TYPES: JLAYER_STYLE_ARROW_TYPES[] = [
148
+ JLAYER_STYLE_ARROW_TYPES.NONE,
149
+ JLAYER_STYLE_ARROW_TYPES.FORWARD,
150
+ JLAYER_STYLE_ARROW_TYPES.BACKWARD
152
151
  ]
153
152
 
154
153
  export const ALL_LAYER_INFORMATION_REPORT_TYPES: JLAYER_INFORMATION_REPORT_TYPES[] = [
@@ -192,16 +191,16 @@ export const ALL_LAYER_DYNAMIC_FILTER_OPERATORS: JLAYER_DYNAMIC_FILTER_OPERATORS
192
191
  JLAYER_DYNAMIC_FILTER_OPERATORS.INTERVAL
193
192
  ]
194
193
 
195
- export const ALL_LAYER_STYLE_LINE_STROKE_CAP: JLAYER_STYLE_LINE_STROKE_CAP[] = [
196
- JLAYER_STYLE_LINE_STROKE_CAP.BUTT,
197
- JLAYER_STYLE_LINE_STROKE_CAP.ROUND,
198
- JLAYER_STYLE_LINE_STROKE_CAP.SQUARE
194
+ export const ALL_LAYER_STYLE_LINE_CAP: JLAYER_STYLE_LINE_CAP[] = [
195
+ JLAYER_STYLE_LINE_CAP.BUTT,
196
+ JLAYER_STYLE_LINE_CAP.ROUND,
197
+ JLAYER_STYLE_LINE_CAP.SQUARE
199
198
  ]
200
199
 
201
- export const ALL_LAYER_STYLE_LINE_STROKE_JOIN: JLAYER_STYLE_LINE_STROKE_JOIN[] = [
202
- JLAYER_STYLE_LINE_STROKE_JOIN.MITER,
203
- JLAYER_STYLE_LINE_STROKE_JOIN.ROUND,
204
- JLAYER_STYLE_LINE_STROKE_JOIN.BEVEL
200
+ export const ALL_LAYER_STYLE_LINE_JOIN: JLAYER_STYLE_LINE_JOIN[] = [
201
+ JLAYER_STYLE_LINE_JOIN.MITER,
202
+ JLAYER_STYLE_LINE_JOIN.ROUND,
203
+ JLAYER_STYLE_LINE_JOIN.BEVEL
205
204
  ]
206
205
 
207
206
  export const ALL_LAYER_METADATA_TYPES: JLAYER_METADATA_TYPES[] = [
package/index.ts CHANGED
@@ -696,6 +696,7 @@ export interface JMapService {
696
696
  isTerrainAvailable(): boolean
697
697
  isTerrainActive(): boolean
698
698
  setTerrainActive(active: boolean): void
699
+ setSelectionStyle(layerId: JId, style: JLayerSetSelectionStyleParam): void
699
700
  setScaleControlVisibility(isVisible: boolean, position?: JMAP_POSITIONS): void
700
701
  setScaleControlUnits(units: "imperial" | "metric" | "nautical"): void
701
702
  setScaleControlPosition(position: JMAP_POSITIONS): void
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jmapcloud-ng-core-types",
3
- "version": "1.0.9",
3
+ "version": "1.0.10",
4
4
  "description": "JMap Cloud specific version of JMap Cloud NG Core types and interfaces",
5
5
  "main": "index.js",
6
6
  "scripts": {
package/public/core.d.ts CHANGED
@@ -3114,6 +3114,29 @@ declare namespace JMap {
3114
3114
  */
3115
3115
  function setTerrainActive(active: boolean): void
3116
3116
 
3117
+ /**
3118
+ * ***JMap.Map.setSelectionStyle***
3119
+ *
3120
+ * Sets the selection style for a specified JMap Cloud layer.
3121
+ *
3122
+ * When specified symbolData must be a data URL with a base64 encode PNG, JPEG or WEBP image. SVGs are not supported for the moment.
3123
+ *
3124
+ * @param layerId the JMap Cloud layer id
3125
+ * @param style the selection style
3126
+ * @example
3127
+ * ```ts
3128
+ * // define and apply a selection style to a polygone layer
3129
+ * JMap.Map.setSelectionStyle("polygon-layer-id", {type: "POLYGON", fillColor: "#ff0000", borderColor: "#0000ff", borderThickness: 8})
3130
+ *
3131
+ * // define and apply a selection style to a line layer
3132
+ * JMap.Map.setSelectionStyle("line-layer-id",{type:"LINE", lineColor:"#ff0000", lineThickness:4})
3133
+ *
3134
+ * // define and apply a selection style to a point layer
3135
+ * JMap.Map.setSelectionStyle("point-layer-id",{type:"POINT", symbolData:"data:image/png;base64, iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAACCElEQVR4XmNgwAH2vHQWjy9TOs/KxvQTyP2PC7NxMP0WlWSrBrKZELoJgI41Rtl6lgK/DG2FQIb8A2J7dDVQYM/IyPAfpFZYgv0akK+MrgADVM/SnS8oyva/eILW/1N/Pf+zsTN9Z8BhAUgtDz8LWB1IPQcX8xcGHGrBoH+LaRDIcJdQyf1A7gcGLEGCC4Mcktag+p+FlfE9kC8BNhAd+MRLP/ZLkgG54i0DPpdgB/a8Aqx/3SKkngLZfeiSDLMPWmgCFfyvnat7Csg9hy5PDJBV4f7Qt9H4PxMT40cglwtFMqNJvdPARvB/aLb8ZiB3NookkcDITvhs5XSd/6JS7DeBXGcUSZ846QvJNSr/FTV5dgK5GSiSRAI7X7GpASmy/0FmAbnNKJLaZvzfp+0x/8/KxngZyDVFkSQSWLiJeqob8v2fuNX0OZB7GEUSmKH+H/nqDkoRv4CYHUWSeMAOTEUwc0AZFAX8P/PfC5bsKAE4zQFL4MtYhAAs4+G0gAYYBYBtxoZxyeESh8mhmQ9RDPImA4nFBAyDgnfWAQv8FjBADLcHYeTwRHchsjguPXCToQAsAYtk9AhDNxxZHJceFNNhikFeBCkCYTTvYsUE9KAADBeiuxQd4xKHyaGZj+k6KmAEQE4BlGKklIgC7KGC6K4gB8NSFVYAdwmIjS6JA5CkhyTFUIBTDwBPxSZtxNLgXwAAAABJRU5ErkJggg=="})
3136
+ * ```
3137
+ */
3138
+ function setSelectionStyle(layerId: JId, style: JLayerSetSelectionStyleParam): void
3139
+
3117
3140
  /**
3118
3141
  * ***JMap.Map.setScaleControlVisibility***
3119
3142
  *
@@ -65,14 +65,13 @@ declare const enum JLAYER_THEMATIC_FAMILY_TYPES {
65
65
  declare const enum JLAYER_STYLE_TYPES {
66
66
  POINT = "POINT",
67
67
  LINE = "LINE",
68
- SURFACE = "SURFACE",
69
- ANNOTATION = "ANNOTATION",
70
- IMAGE = "IMAGE",
71
- MIXED = "MIXED"
68
+ POLYGON = "POLYGON",
69
+ TEXT = "TEXT",
70
+ IMAGE = "IMAGE"
72
71
  }
73
72
 
74
73
  // ALL_LAYER_STYLE_ARROWS in all-enum.ts
75
- declare const enum JLAYER_STYLE_ARROWS {
74
+ declare const enum JLAYER_STYLE_ARROW_TYPES {
76
75
  NONE = "NONE",
77
76
  FORWARD = "FORWARD",
78
77
  BACKWARD = "BACKWARD"
@@ -122,15 +121,15 @@ declare const enum JLAYER_DYNAMIC_FILTER_OPERATORS {
122
121
  INTERVAL = "INTERVAL"
123
122
  }
124
123
 
125
- // ALL_LAYER_STYLE_LINE_STROKE_CAP in all-enum.ts
126
- declare const enum JLAYER_STYLE_LINE_STROKE_CAP {
124
+ // ALL_LAYER_STYLE_LINE_CAP in all-enum.ts
125
+ declare const enum JLAYER_STYLE_LINE_CAP {
127
126
  BUTT = "BUTT",
128
127
  ROUND = "ROUND",
129
128
  SQUARE = "SQUARE"
130
129
  }
131
130
 
132
- // ALL_LAYER_STYLE_LINE_STROKE_JOIN in all-enum.ts
133
- declare const enum JLAYER_STYLE_LINE_STROKE_JOIN {
131
+ // ALL_LAYER_STYLE_LINE_JOIN in all-enum.ts
132
+ declare const enum JLAYER_STYLE_LINE_JOIN {
134
133
  MITER = "MITER",
135
134
  ROUND = "ROUND",
136
135
  BEVEL = "BEVEL"
@@ -301,7 +300,8 @@ declare interface JLayer extends JLayerTreeElement {
301
300
  forms: JLayerForm[]
302
301
  hasInformationReport: boolean
303
302
  informationReports: JLayerInformationReport[]
304
- spatialDataSourceId: string // For JMap Cloud only
303
+ spatialDataSourceId: string
304
+ selectionStyleId: string
305
305
  dynamicFilter: JDynamicFilter
306
306
  }
307
307
 
@@ -400,7 +400,7 @@ declare interface JLayerThematicConditionScaledStyle {
400
400
 
401
401
  declare interface JLayerThematicCategory {
402
402
  title: string
403
- style: JLayerStyle
403
+ style: JLayerBaseStyle
404
404
  enabled: boolean
405
405
  nullValueCategory: boolean
406
406
  index: number
@@ -461,101 +461,70 @@ declare interface JLayerStyleRuleConditionExpression {
461
461
  attribute: JLayerAttribute
462
462
  }
463
463
 
464
- declare interface JLayerStyle {
465
- styleType: JLAYER_STYLE_TYPES
464
+ declare interface JLayerBaseStyle {
465
+ type: JLAYER_STYLE_TYPES
466
+ id: string
467
+ name: string
468
+ /**
469
+ * @deprecated
470
+ * this property will be removed once the legacy support for JMS thematics will be removed
471
+ */
466
472
  imageSampleInBase64: string
467
- transparencyPerCent: number
468
- }
469
-
470
- declare interface JLayerStyleVector extends JLayerStyle {
471
- antiAliasing: boolean
472
- }
473
-
474
- declare interface JLayerStylePoint extends JLayerStyleVector {
475
- styleType: JLAYER_STYLE_TYPES.POINT
476
- symbolScale: number
477
- symbolRotationInDegree: number
478
- symbolProportionalSizeEnabled: boolean
479
- symbolProportionalSize: number
480
- symbolRotateWithMapEnabled: boolean
481
- symbolOffsetX: number
482
- symbolOffsetY: number
483
- symbolVector: JLayerStyleSymbolVector | null
484
- symbolImage: JLayerStyleSymbolImage | null
473
+ transparency: number
485
474
  }
486
475
 
487
- declare interface JLayerStyleLineStroke {
488
- width: number
489
- cap: JLAYER_STYLE_LINE_STROKE_CAP
490
- join: JLAYER_STYLE_LINE_STROKE_JOIN
476
+ declare interface JLayerImageStyle extends JLayerBaseStyle {
477
+ type: JLAYER_STYLE_TYPES.IMAGE
491
478
  }
492
479
 
493
- declare interface JLayerStyleLineStrokeBasic extends JLayerStyleLineStroke {
494
- miterLimit: number
495
- dash: number[]
496
- dash_phase: number
480
+ declare interface JLayerPointStyle extends JLayerBaseStyle {
481
+ type: JLAYER_STYLE_TYPES.POINT
482
+ size: number
483
+ rotation: number
484
+ rotationLocked: boolean
485
+ proportional: boolean
486
+ proportionalScale: number
487
+ symbolOffset: [number, number]
488
+ symbolData: string
497
489
  }
498
490
 
499
- declare interface JLayerStyleLine extends JLayerStyleVector {
500
- styleType: JLAYER_STYLE_TYPES.LINE
501
- lineColor: JRGBColor
491
+ declare interface JLayerLineStyle extends JLayerBaseStyle {
492
+ type: JLAYER_STYLE_TYPES.LINE
502
493
  lineThickness: number
503
- arrowType: JLAYER_STYLE_ARROWS
504
- arrowPositionFromLeftInPerCent: number
505
- stroke: JLayerStyleLineStroke
506
- }
507
-
508
- declare interface JLayerStyleSurface extends JLayerStyleVector {
509
- styleType: JLAYER_STYLE_TYPES.SURFACE
510
- fillColor: JRGBColor
494
+ lineColor: string
495
+ arrowType: JLAYER_STYLE_ARROW_TYPES
496
+ arrowPosition: number
497
+ lineCap: JLAYER_STYLE_LINE_CAP
498
+ lineJoin: JLAYER_STYLE_LINE_JOIN
499
+ dashPattern: number[]
500
+ patternData: string
501
+ }
502
+
503
+ declare interface JLayerPolygonStyle extends JLayerBaseStyle {
504
+ type: JLAYER_STYLE_TYPES.POLYGON
505
+ fillColor: string
506
+ borderColor: string
511
507
  transparentFill: boolean
512
- borderColor: JRGBColor
513
- borderTransparencyInPercent: number
514
508
  borderThickness: number
515
- surfacePattern: string
516
- patternColor: JRGBColor
517
- patternTransparentFill: boolean
518
- }
519
-
520
- declare interface JLayerStyleAnnotation extends JLayerStyleVector {
521
- styleType: JLAYER_STYLE_TYPES.ANNOTATION
522
- textFont: string
523
- textColor: JRGBColor
524
- textBold: boolean
525
- textItalic: boolean
526
- textUnderlined: boolean
527
- textStrikeThrough: boolean
528
- textOutlined: boolean
529
- textOutlineColor: JRGBColor
530
- }
531
-
532
- declare interface JLayerStyleMixed extends JLayerStyleVector {
533
- styleType: JLAYER_STYLE_TYPES.MIXED
534
- point: JLayerStylePoint
535
- line: JLayerStyleLine
536
- surface: JLayerStyleSurface
537
- text: JLayerStyleAnnotation
538
- }
539
-
540
- declare interface JLayerStyleSymbolImage {
541
- absoluteFilePath: string
509
+ borderTransparency: number
510
+ borderDashPattern: number[]
511
+ borderPatternData: string
512
+ patternData: string
542
513
  }
543
514
 
544
- declare interface JLayerStyleSymbolVector {
545
- vectorSymbol: string
546
- borderThickness: number
547
- borderColor: JRGBColor
548
- transparentFill: boolean
549
- fillColor: JRGBColor
515
+ declare interface JLayerTextStyle extends JLayerBaseStyle {
516
+ type: JLAYER_STYLE_TYPES.TEXT
517
+ textColor: string
518
+ outlineColor: string
519
+ bold: boolean
520
+ italic: boolean
550
521
  }
551
522
 
552
- declare interface JRGBColor {
553
- red: number
554
- green: number
555
- blue: number
556
- alpha: number
557
- hexa: string
558
- }
523
+ declare type JLayerSetSelectionStyleParam =
524
+ | (Pick<JLayerLineStyle, "type"> & Partial<Pick<JLayerLineStyle, "lineColor" | "lineThickness">>)
525
+ | (Pick<JLayerPolygonStyle, "type"> &
526
+ Partial<Pick<JLayerPolygonStyle, "fillColor" | "borderColor" | "borderThickness">>)
527
+ | (Pick<JLayerPointStyle, "type"> & Partial<Pick<JLayerPointStyle, "symbolData">>)
559
528
 
560
529
  declare interface JLayerSetLayersVisibilityParams {
561
530
  layerId: JId