raain-ui 1.0.15

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.
Files changed (51) hide show
  1. package/README.md +19 -0
  2. package/RELEASE.md +3 -0
  3. package/drawers/CartesianDrawer.d.ts +26 -0
  4. package/drawers/CartesianDrawer.js +73 -0
  5. package/drawers/CartesianDrawerOptimization.d.ts +10 -0
  6. package/drawers/CartesianDrawerOptimization.js +42 -0
  7. package/drawers/CartesianGridValue.d.ts +15 -0
  8. package/drawers/CartesianGridValue.js +25 -0
  9. package/drawers/GridValue.d.ts +12 -0
  10. package/drawers/GridValue.js +75 -0
  11. package/drawers/PolarDrawer.d.ts +28 -0
  12. package/drawers/PolarDrawer.js +187 -0
  13. package/drawers/PolarDrawerOptimization.d.ts +14 -0
  14. package/drawers/PolarDrawerOptimization.js +54 -0
  15. package/drawers/PolarGridValue.d.ts +13 -0
  16. package/drawers/PolarGridValue.js +50 -0
  17. package/factories/ElementsFactory.d.ts +96 -0
  18. package/factories/ElementsFactory.js +762 -0
  19. package/index.d.ts +22 -0
  20. package/index.js +39 -0
  21. package/layers/CartesianLayer.d.ts +24 -0
  22. package/layers/CartesianLayer.js +96 -0
  23. package/layers/CompositeLayer.d.ts +17 -0
  24. package/layers/CompositeLayer.js +69 -0
  25. package/layers/IPixiLayer.d.ts +7 -0
  26. package/layers/IPixiLayer.js +3 -0
  27. package/layers/IPixiUniqueLayer.d.ts +8 -0
  28. package/layers/IPixiUniqueLayer.js +3 -0
  29. package/layers/MarkersLayer.d.ts +16 -0
  30. package/layers/MarkersLayer.js +73 -0
  31. package/layers/PixiGridLayer.d.ts +58 -0
  32. package/layers/PixiGridLayer.js +188 -0
  33. package/layers/PolarLayer.d.ts +26 -0
  34. package/layers/PolarLayer.js +124 -0
  35. package/layers/PolarLayerConfig.d.ts +9 -0
  36. package/layers/PolarLayerConfig.js +32 -0
  37. package/package.json +49 -0
  38. package/timeframes/FrameContainer.d.ts +9 -0
  39. package/timeframes/FrameContainer.js +13 -0
  40. package/timeframes/TimeframeContainer.d.ts +12 -0
  41. package/timeframes/TimeframeContainer.js +34 -0
  42. package/timeframes/TimeframeContainers.d.ts +9 -0
  43. package/timeframes/TimeframeContainers.js +84 -0
  44. package/tools/CartesianMapValue.d.ts +12 -0
  45. package/tools/CartesianMapValue.js +25 -0
  46. package/tools/MapLatLng.d.ts +7 -0
  47. package/tools/MapLatLng.js +14 -0
  48. package/tools/MapTools.d.ts +11 -0
  49. package/tools/MapTools.js +32 -0
  50. package/tools/PolarMapValue.d.ts +21 -0
  51. package/tools/PolarMapValue.js +67 -0
@@ -0,0 +1,188 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PixiGridLayer = void 0;
4
+ const leaflet_1 = require("leaflet");
5
+ const pixi_js_1 = require("pixi.js");
6
+ function setInteractionManager(interactionManager, destroyInteractionManager, autoPreventDefault) {
7
+ if (destroyInteractionManager) {
8
+ interactionManager.destroy();
9
+ }
10
+ else if (!autoPreventDefault) {
11
+ interactionManager.autoPreventDefault = false;
12
+ }
13
+ }
14
+ class ApplicationOptions {
15
+ }
16
+ class PixiGridLayer extends leaflet_1.GridLayer {
17
+ constructor(id) {
18
+ super();
19
+ this._id = id;
20
+ this._lastUpdate = new Date('01-01-01');
21
+ this._gridOptions = {
22
+ // @option padding: Number = 0.1
23
+ // How much to extend the clip area around the map view (relative to its size)
24
+ // e.g. 0.1 would be 10% of map view in each direction
25
+ padding: 0,
26
+ // @option forceCanvas: Boolean = false
27
+ // Force use of a 2d-canvas
28
+ forceCanvas: true,
29
+ // @option doubleBuffering: Boolean = false
30
+ // Help to prevent flicker when refreshing display on some devices (e.g. iOS devices)
31
+ // It is ignored if rendering is done with 2d-canvas
32
+ doubleBuffering: false,
33
+ // @option resolution: Number = 1
34
+ // Resolution of the renderer canvas
35
+ resolution: leaflet_1.Browser.retina ? 2 : 1,
36
+ // @option projectionZoom(map: map): Number
37
+ // return the layer projection zoom level
38
+ projectionZoom: (map) => {
39
+ return (map.getMaxZoom() + map.getMinZoom()) / 2;
40
+ },
41
+ // @option destroyInteractionManager: Boolean = false
42
+ // Destroy PIXI Interaction Manager
43
+ destroyInteractionManager: false,
44
+ // @option
45
+ // Customize PIXI Interaction Manager autoPreventDefault property
46
+ // This option is ignored if destroyInteractionManager is set
47
+ autoPreventDefault: true,
48
+ // @option resolution: Boolean = false
49
+ // Enables drawing buffer preservation
50
+ preserveDrawingBuffer: false,
51
+ // @option resolution: Boolean = true
52
+ // Clear the canvas before the new render pass
53
+ clearBeforeRender: true,
54
+ // @option shouldRedrawOnMove(e: moveEvent): Boolean
55
+ // filter move events that should trigger a layer redraw
56
+ shouldRedrawOnMove: () => {
57
+ return false;
58
+ },
59
+ };
60
+ this.renderFn = (pixiContainer) => {
61
+ };
62
+ }
63
+ // @Override
64
+ onAdd(targetMap) {
65
+ // console.log('PIGL onAdd New: ', this._id);
66
+ super.onAdd(targetMap);
67
+ this._setMap(targetMap);
68
+ if (!this._gridContainer) {
69
+ const container = this._gridContainer = leaflet_1.DomUtil.create('div', 'leaflet-pixi-overlay');
70
+ container.appendChild(this._gridRenderer.view);
71
+ }
72
+ this._addContainer();
73
+ this._setEvents();
74
+ this._gridInitialZoom = this._gridOptions.projectionZoom(this._gridMap);
75
+ this._gridWgsOrigin = (0, leaflet_1.latLng)([0, 0]);
76
+ this._gridWgsInitialShift = this._gridMap.project(this._gridWgsOrigin, this._gridInitialZoom);
77
+ this._gridMapInitialZoom = this._gridMap.getZoom();
78
+ return this;
79
+ }
80
+ // @Override
81
+ onRemove(targetMap) {
82
+ // console.log('PIGL onRemove New', this._id);
83
+ super.onRemove(targetMap);
84
+ const pane = this._gridMap.getPanes()[this._getPaneName()];
85
+ if (pane && pane.children.length > 0) {
86
+ pane.removeChild(this._gridContainer);
87
+ }
88
+ const events = this.getEvents();
89
+ // tslint:disable-next-line:forin
90
+ for (const evt in events) {
91
+ this._gridMap.off(evt, events[evt], this);
92
+ }
93
+ this.pixiApp.destroy();
94
+ this._gridContainer = null;
95
+ this._pixiContainer = null;
96
+ this._gridRenderer = this;
97
+ return this;
98
+ }
99
+ setCurrentWidth(currentWidth) {
100
+ this.currentWidth = currentWidth;
101
+ }
102
+ setCurrentHeight(currentHeight) {
103
+ this.currentHeight = currentHeight;
104
+ }
105
+ setRenderFn(fn) {
106
+ this.renderFn = fn;
107
+ }
108
+ _initializeLayer() {
109
+ // console.log('_initializeLayer');
110
+ this._gridRendererOptions = {
111
+ // backgroundAlpha: 0.5,
112
+ transparent: true,
113
+ width: this.currentWidth,
114
+ height: this.currentHeight,
115
+ // forceCanvas: this._gridOptions.forceCanvas,
116
+ // preserveDrawingBuffer: this._gridOptions.preserveDrawingBuffer,
117
+ // clearBeforeRender: this._gridOptions.clearBeforeRender
118
+ };
119
+ // utils.isWebGLSupported() && !this._gridOptions.forceCanvas && this._gridOptions.doubleBuffering;
120
+ this._gridDoubleBuffering = false;
121
+ this.pixiApp = new pixi_js_1.Application(this._gridRendererOptions);
122
+ this._pixiContainer = this.pixiApp.stage;
123
+ this._gridRenderer = this.pixiApp.renderer;
124
+ }
125
+ // @Override
126
+ _update() {
127
+ // @ts-ignore
128
+ super._update();
129
+ if (!this._gridMap || !this._gridContainer) {
130
+ return;
131
+ }
132
+ // console.log('PIGL _update', this._gridMap.getPixelOrigin(), this._gridMap.getPixelBounds().min);
133
+ const pt = this._gridMap.getPixelBounds().min.subtract(this._gridMap.getPixelOrigin());
134
+ // console.log('pt:', pt);
135
+ leaflet_1.DomUtil.setPosition(this._gridContainer, pt);
136
+ this._layerRedraw();
137
+ }
138
+ setMeAsFirst() {
139
+ // const mapNode = this._gridMap.getPanes()[this._getPaneName()];
140
+ // this._gridContainer.parentNode.insertBefore(this._gridContainer, mapNode.childNodes[0]);
141
+ // console.log('setMeAsFirst', this._getPaneName());
142
+ for (const paneName of Object.getOwnPropertyNames(this._gridMap.getPanes())) {
143
+ const pane = this._gridMap.getPanes()[paneName];
144
+ if (paneName === this._getPaneName()) {
145
+ pane.style.visibility = 'visible';
146
+ }
147
+ else {
148
+ pane.style.visibility = 'hidden';
149
+ }
150
+ }
151
+ }
152
+ isFirst() {
153
+ const mapNode = this._gridMap.getPanes()[this._getPaneName()];
154
+ return mapNode.childNodes[0].nodeName === this._getPaneName();
155
+ }
156
+ _setMap(map) {
157
+ this._gridMap = map;
158
+ this._gridZoomAnimated = map._gridZoomAnimated;
159
+ }
160
+ _addContainer() {
161
+ this._gridMap.getPanes()[this._getPaneName()]
162
+ .appendChild(this._gridContainer);
163
+ }
164
+ _setEvents() {
165
+ const events = ['zoomend', 'viewreset'];
166
+ // const events = this.getEvents();
167
+ // tslint:disable-next-line:forin
168
+ for (const evt in events) {
169
+ // this._gridMap.on(evt, events[evt], this);
170
+ this._gridMap.on(evt, this._update, this);
171
+ }
172
+ }
173
+ _getPaneName() {
174
+ return this._gridOptions.pane || 'overlayPane';
175
+ }
176
+ _layerRedraw(offset) {
177
+ // const now = new Date();
178
+ // if (this._lastUpdate.getTime() > (now.getTime() - 500)) {
179
+ // console.log('_layerRedraw already refreshed');
180
+ // return;
181
+ // }
182
+ // this._lastUpdate = now;
183
+ // console.log('_layerRedraw', offset, this._gridWgsOrigin);
184
+ this.renderFn(this._pixiContainer);
185
+ }
186
+ }
187
+ exports.PixiGridLayer = PixiGridLayer;
188
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGl4aUdyaWRMYXllci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sYXllcnMvUGl4aUdyaWRMYXllci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxQ0FBaUU7QUFDakUscUNBQStDO0FBSS9DLFNBQVMscUJBQXFCLENBQUMsa0JBQWtCLEVBQUUseUJBQXlCLEVBQUUsa0JBQWtCO0lBQzVGLElBQUkseUJBQXlCLEVBQUU7UUFDM0Isa0JBQWtCLENBQUMsT0FBTyxFQUFFLENBQUM7S0FDaEM7U0FBTSxJQUFJLENBQUMsa0JBQWtCLEVBQUU7UUFDNUIsa0JBQWtCLENBQUMsa0JBQWtCLEdBQUcsS0FBSyxDQUFDO0tBQ2pEO0FBQ0wsQ0FBQztBQUVELE1BQU0sa0JBQWtCO0NBbUJ2QjtBQUVELE1BQWEsYUFBYyxTQUFRLG1CQUFTO0lBcUJ4QyxZQUFZLEVBQVk7UUFDcEIsS0FBSyxFQUFFLENBQUM7UUFDUixJQUFJLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQztRQUNkLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDeEMsSUFBSSxDQUFDLFlBQVksR0FBRztZQUNoQixnQ0FBZ0M7WUFDaEMsOEVBQThFO1lBQzlFLHNEQUFzRDtZQUN0RCxPQUFPLEVBQUUsQ0FBQztZQUNWLHVDQUF1QztZQUN2QywyQkFBMkI7WUFDM0IsV0FBVyxFQUFFLElBQUk7WUFDakIsMkNBQTJDO1lBQzNDLHFGQUFxRjtZQUNyRixvREFBb0Q7WUFDcEQsZUFBZSxFQUFFLEtBQUs7WUFDdEIsaUNBQWlDO1lBQ2pDLG9DQUFvQztZQUNwQyxVQUFVLEVBQUUsaUJBQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNsQywyQ0FBMkM7WUFDM0MseUNBQXlDO1lBQ3pDLGNBQWMsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFO2dCQUNwQixPQUFPLENBQUMs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
@@ -0,0 +1,26 @@
1
+ import { LatLng, Map } from 'leaflet';
2
+ import { Container } from 'pixi.js';
3
+ import { PolarMapValue } from '../tools/PolarMapValue';
4
+ import { PolarLayerConfig } from './PolarLayerConfig';
5
+ import { IPixiUniqueLayer } from './IPixiUniqueLayer';
6
+ export declare class PolarLayer implements IPixiUniqueLayer {
7
+ protected id: string;
8
+ protected type: string;
9
+ protected gridMap: Map;
10
+ protected addSomeDebugInfos: boolean;
11
+ private readonly mapGraph;
12
+ private polarDrawer;
13
+ private center;
14
+ private readonly config;
15
+ private addedInContainer;
16
+ constructor(id: string, type: string, gridMap: Map, addSomeDebugInfos?: boolean);
17
+ getId(): string;
18
+ hide(): void;
19
+ show(): void;
20
+ isVisible(): boolean;
21
+ setPolarValues(center: LatLng | {
22
+ lat: number;
23
+ lng: number;
24
+ }, geoValues: PolarMapValue[], config: PolarLayerConfig, version: string): void;
25
+ render(pixiContainer: Container): number;
26
+ }
@@ -0,0 +1,124 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PolarLayer = void 0;
4
+ const leaflet_1 = require("leaflet");
5
+ const pixi_js_1 = require("pixi.js");
6
+ const PolarDrawer_1 = require("../drawers/PolarDrawer");
7
+ const PolarLayerConfig_1 = require("./PolarLayerConfig");
8
+ const PolarDrawerOptimization_1 = require("../drawers/PolarDrawerOptimization");
9
+ const MapTools_1 = require("../tools/MapTools");
10
+ class PolarLayer {
11
+ constructor(id, type, gridMap, addSomeDebugInfos = false) {
12
+ this.id = id;
13
+ this.type = type;
14
+ this.gridMap = gridMap;
15
+ this.addSomeDebugInfos = addSomeDebugInfos;
16
+ this.mapGraph = new pixi_js_1.Graphics();
17
+ this.config = new PolarLayerConfig_1.PolarLayerConfig();
18
+ }
19
+ getId() {
20
+ return this.id;
21
+ }
22
+ hide() {
23
+ this.mapGraph.alpha = 0;
24
+ // console.log('hide ', this.getId());
25
+ }
26
+ show() {
27
+ this.mapGraph.alpha = 1;
28
+ // console.log('show ', this.getId());
29
+ }
30
+ isVisible() {
31
+ return this.mapGraph.alpha === 1;
32
+ }
33
+ setPolarValues(center, geoValues, config, version) {
34
+ this.center = new leaflet_1.LatLng(center.lat, center.lng);
35
+ this.config.copy(config);
36
+ this.polarDrawer = new PolarDrawer_1.PolarDrawer((polar) => {
37
+ polar.setCenter({ latitude: center.lat, longitude: center.lng });
38
+ const latLng = new leaflet_1.LatLng(polar.getLatitude(), polar.getLongitude());
39
+ return this.gridMap.latLngToContainerPoint(latLng);
40
+ }, (polar) => {
41
+ if (this.config.minValueToDisplay > polar.value) {
42
+ return false;
43
+ }
44
+ polar.setCenter({ latitude: center.lat, longitude: center.lng });
45
+ const latLng = new leaflet_1.LatLng(polar.getLatitude(), polar.getLongitude());
46
+ return this.gridMap.getBounds().contains(latLng);
47
+ }, () => {
48
+ return this.gridMap.getZoom();
49
+ }, this.type);
50
+ const optimizations = PolarDrawerOptimization_1.PolarDrawerOptimization.Defaults();
51
+ this.polarDrawer.setConfiguration(this.config.theme, this.config.range, optimizations);
52
+ this.polarDrawer.updateValues(geoValues, version);
53
+ }
54
+ render(pixiContainer) {
55
+ const centerPoint = this.gridMap.latLngToContainerPoint(this.center);
56
+ // console.log('Polar render ', this.polarDrawer.hasChanged(this.center, centerPoint), this.getId());
57
+ if (!this.polarDrawer || !this.polarDrawer.hasChanged(this.center, centerPoint)) {
58
+ return 0;
59
+ }
60
+ this.mapGraph.removeChildren();
61
+ const polar2radians = (polar) => {
62
+ let degrees = polar.polarAzimuthInDegrees - 90;
63
+ if (degrees < 0) {
64
+ degrees += 360;
65
+ }
66
+ return degrees * (Math.PI / 180);
67
+ };
68
+ const drawPolarSharp = (polar1, polar2) => {
69
+ const pixiGraphic = new pixi_js_1.Graphics();
70
+ if (!polar2) {
71
+ const point1 = polar1.getPositionFrom(centerPoint);
72
+ const polar1alpha = 1 - polar1.getTransparency(this.config.opacity);
73
+ pixiGraphic.lineStyle(10, polar1.getColor(), polar1alpha);
74
+ pixiGraphic.drawCircle(point1.x, point1.y, 1);
75
+ this.mapGraph.addChild(pixiGraphic);
76
+ return true;
77
+ }
78
+ // TODO pixi arc is not working as expected
79
+ const polar1Distance = polar1.getPolarDistanceRelative();
80
+ const polar2Distance = polar2.getPolarDistanceRelative();
81
+ const width = Math.abs(polar2Distance - polar1Distance);
82
+ if (width <= 0) {
83
+ return false;
84
+ }
85
+ const alpha = 1 - polar1.getTransparency(this.config.opacity);
86
+ // pixiGraphic.lineStyle(width, polar1.getColor(), alpha);
87
+ pixiGraphic.lineStyle(1, polar1.getColor(), alpha);
88
+ let rad1 = polar2radians(polar1);
89
+ let rad2 = polar2radians(polar2);
90
+ if (rad1 === rad2 || rad1 === rad2 + 2 * Math.PI) {
91
+ rad1 = 0;
92
+ rad2 = 2 * Math.PI;
93
+ }
94
+ pixiGraphic.arc(0, 0, width / 2, rad1, rad2);
95
+ pixiGraphic.position.x = centerPoint.x;
96
+ pixiGraphic.position.y = centerPoint.y;
97
+ // console.log('polar:', centerPoint, point1, point2);
98
+ this.mapGraph.addChild(pixiGraphic);
99
+ return true;
100
+ };
101
+ const drawCount = this.polarDrawer.renderPolarMapValues(this.center, centerPoint, drawPolarSharp);
102
+ // console.log(this.id, ' drawCount : ', drawCount);
103
+ if (!this.addedInContainer) {
104
+ // console.log(this.id, ' addedInContainer.');
105
+ pixiContainer.addChild(this.mapGraph);
106
+ this.addedInContainer = true;
107
+ }
108
+ // Debug purpose :
109
+ if (this.addSomeDebugInfos) {
110
+ const optimization = this.polarDrawer.getOptimization();
111
+ const pixiText = new pixi_js_1.Text('Pol-' + (optimization === null || optimization === void 0 ? void 0 : optimization.type) + '-' + this.polarDrawer.getVersion(), {
112
+ fontFamily: 'Arial',
113
+ fontSize: 16,
114
+ // fontWeight: 'bold',
115
+ fill: MapTools_1.MapTools.hexStringToNumber('#3cff10'),
116
+ align: 'center',
117
+ });
118
+ this.mapGraph.addChild(pixiText);
119
+ }
120
+ return drawCount;
121
+ }
122
+ }
123
+ exports.PolarLayer = PolarLayer;
124
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUG9sYXJMYXllci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sYXllcnMvUG9sYXJMYXllci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxQ0FBb0M7QUFDcEMscUNBQWtEO0FBRWxELHdEQUFtRDtBQUVuRCx5REFBb0Q7QUFDcEQsZ0ZBQTJFO0FBRTNFLGdEQUEyQztBQUUzQyxNQUFhLFVBQVU7SUFRbkIsWUFBc0IsRUFBVSxFQUNWLElBQVksRUFDWixPQUFZLEVBQ1osb0JBQW9CLEtBQUs7UUFIekIsT0FBRSxHQUFGLEVBQUUsQ0FBUTtRQUNWLFNBQUksR0FBSixJQUFJLENBQVE7UUFDWixZQUFPLEdBQVAsT0FBTyxDQUFLO1FBQ1osc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFRO1FBQzNDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxrQkFBUSxFQUFFLENBQUM7UUFDL0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLG1DQUFnQixFQUFFLENBQUM7SUFDekMsQ0FBQztJQUVNLEtBQUs7UUFDUixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVNLElBQUk7UUFDUCxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7UUFDeEIsc0NBQXNDO0lBQzFDLENBQUM7SUFFTSxJQUFJO1FBQ1AsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQ3hCLHNDQUFzQztJQUMxQyxDQUFDO0lBRU0sU0FBUztRQUNaLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEtBQUssQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFTSxjQUFjLENBQUMsTUFBNkMsRUFDN0MsU0FBMEIsRUFDMUIsTUFBd0IsRUFDeEIsT0FBZTtRQUNqQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksZ0JBQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMs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
@@ -0,0 +1,9 @@
1
+ export declare class PolarLayerConfig {
2
+ optimization?: number;
3
+ theme?: number;
4
+ range?: number;
5
+ opacity?: number;
6
+ minValueToDisplay?: number;
7
+ constructor(optimization?: number, theme?: number, range?: number, opacity?: number, minValueToDisplay?: number);
8
+ copy(from: PolarLayerConfig): PolarLayerConfig;
9
+ }
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PolarLayerConfig = void 0;
4
+ class PolarLayerConfig {
5
+ constructor(optimization, theme, range, opacity, minValueToDisplay) {
6
+ this.optimization = optimization;
7
+ this.theme = theme;
8
+ this.range = range;
9
+ this.opacity = opacity;
10
+ this.minValueToDisplay = minValueToDisplay;
11
+ }
12
+ copy(from) {
13
+ if (typeof from.optimization !== 'undefined') {
14
+ this.optimization = from.optimization;
15
+ }
16
+ if (typeof from.theme !== 'undefined') {
17
+ this.theme = from.theme;
18
+ }
19
+ if (typeof from.range !== 'undefined') {
20
+ this.range = from.range;
21
+ }
22
+ if (typeof from.opacity !== 'undefined') {
23
+ this.opacity = from.opacity;
24
+ }
25
+ if (typeof from.minValueToDisplay !== 'undefined') {
26
+ this.minValueToDisplay = from.minValueToDisplay;
27
+ }
28
+ return this;
29
+ }
30
+ }
31
+ exports.PolarLayerConfig = PolarLayerConfig;
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUG9sYXJMYXllckNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sYXllcnMvUG9sYXJMYXllckNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxNQUFhLGdCQUFnQjtJQUN6QixZQUNXLFlBQXFCLEVBQ3JCLEtBQWMsRUFDZCxLQUFjLEVBQ2QsT0FBZ0IsRUFDaEIsaUJBQTBCO1FBSjFCLGlCQUFZLEdBQVosWUFBWSxDQUFTO1FBQ3JCLFVBQUssR0FBTCxLQUFLLENBQVM7UUFDZCxVQUFLLEdBQUwsS0FBSyxDQUFTO1FBQ2QsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUNoQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQVM7SUFFckMsQ0FBQztJQUVELElBQUksQ0FBQyxJQUFzQjtRQUN2QixJQUFJLE9BQU8sSUFBSSxDQUFDLFlBQVksS0FBSyxXQUFXLEVBQUU7WUFDMUMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDO1NBQ3pDO1FBQ0QsSUFBSSxPQUFPLElBQUksQ0FBQyxLQUFLLEtBQUssV0FBVyxFQUFFO1lBQ25DLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztTQUMzQjtRQUNELElBQUksT0FBTyxJQUFJLENBQUMsS0FBSyxLQUFLLFdBQVcsRUFBRTtZQUNuQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7U0FDM0I7UUFDRCxJQUFJLE9BQU8sSUFBSSxDQUFDLE9BQU8sS0FBSyxXQUFXLEVBQUU7WUFDckMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1NBQy9CO1FBQ0QsSUFBSSxPQUFPLElBQUksQ0FBQyxpQkFBaUIsS0FBSyxXQUFXLEVBQUU7WUFDL0MsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztTQUNuRDtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7Q0FDSjtBQTVCRCw0Q0E0QkMifQ==
package/package.json ADDED
@@ -0,0 +1,49 @@
1
+ {
2
+ "name": "raain-ui",
3
+ "version": "1.0.15",
4
+ "author": "contact@raain.io",
5
+ "homepage": "https://github.com/raainio/raain-ui",
6
+ "description": "raain.io ui layers",
7
+ "keywords": [
8
+ "raain.io",
9
+ "pixi"
10
+ ],
11
+ "private": false,
12
+ "license": "MIT",
13
+ "main": "./index.js",
14
+ "types": "./index.d.ts",
15
+ "dependencies": {
16
+ "chart.js": "^4.2.1",
17
+ "chartjs-plugin-dragdata": "^2.2.5",
18
+ "geolib": "^3.3.3",
19
+ "leaflet": "^1.9.3",
20
+ "pixi.js": "^5.3.12",
21
+ "raain-model": "file:../raain-model/dist"
22
+ },
23
+ "peerDependencies": {
24
+ "chart.js": "^4.2.1",
25
+ "chartjs-plugin-dragdata": "^2.2.5",
26
+ "leaflet": "^1.9.3",
27
+ "pixi.js": "^5.3.12"
28
+ },
29
+ "devDependencies": {
30
+ "@testdeck/mocha": "^0.3.3",
31
+ "@types/leaflet": "^1.9.3",
32
+ "@types/mocha": "^10.0.1",
33
+ "assert": "^2.0.0",
34
+ "chai": "4.3.4",
35
+ "chai-as-promised": "^7.1.1",
36
+ "chai-spies": "^1.0.0",
37
+ "mocha": "^10.2.0",
38
+ "mock-browser": "^0.92.14",
39
+ "nyc": "^15.1.0",
40
+ "ts-mockito": "^2.6.1",
41
+ "ts-node": "^8.3.0",
42
+ "tslint": "^5.20.1",
43
+ "typescript": "^5.0.3"
44
+ },
45
+ "scripts": {
46
+ "build": "rm -rf dist/ && npm version patch --no-git-tag-version && tsc --project tsconfig.json && cp *.md dist/ && cp package.json dist/",
47
+ "test": "nyc ./node_modules/.bin/_mocha --require ./tools/register.js 'specs/**/**.spec.ts'"
48
+ }
49
+ }
@@ -0,0 +1,9 @@
1
+ import { PolarMapValue } from '../tools/PolarMapValue';
2
+ import { CartesianMapValue } from '../tools/CartesianMapValue';
3
+ export declare class FrameContainer {
4
+ date: Date;
5
+ values: PolarMapValue[] | CartesianMapValue[];
6
+ isPolar: boolean;
7
+ isCartesian: boolean;
8
+ constructor(date: Date, values: PolarMapValue[] | CartesianMapValue[], isPolar?: boolean, isCartesian?: boolean);
9
+ }
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FrameContainer = void 0;
4
+ class FrameContainer {
5
+ constructor(date, values, isPolar = false, isCartesian = false) {
6
+ this.date = date;
7
+ this.values = values;
8
+ this.isPolar = isPolar;
9
+ this.isCartesian = isCartesian;
10
+ }
11
+ }
12
+ exports.FrameContainer = FrameContainer;
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRnJhbWVDb250YWluZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGltZWZyYW1lcy9GcmFtZUNvbnRhaW5lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFHQSxNQUFhLGNBQWM7SUFFdkIsWUFBbUIsSUFBVSxFQUNWLE1BQTZDLEVBQzdDLFVBQW1CLEtBQUssRUFDeEIsY0FBdUIsS0FBSztRQUg1QixTQUFJLEdBQUosSUFBSSxDQUFNO1FBQ1YsV0FBTSxHQUFOLE1BQU0sQ0FBdUM7UUFDN0MsWUFBTyxHQUFQLE9BQU8sQ0FBaUI7UUFDeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWlCO0lBQy9DLENBQUM7Q0FFSjtBQVJELHdDQVFDIn0=
@@ -0,0 +1,12 @@
1
+ import { FrameContainer } from './FrameContainer';
2
+ import { CompositeLayer } from '../layers/CompositeLayer';
3
+ export declare class TimeframeContainer {
4
+ name: string;
5
+ timeframe: FrameContainer[];
6
+ version: string;
7
+ protected compositeLayer: CompositeLayer;
8
+ constructor(name: string, timeframe: FrameContainer[], version: string);
9
+ setCompositeLayer(compositeLayer: any): void;
10
+ showTimeframe(date?: Date): void;
11
+ getFrameId(frameContainer: FrameContainer): string;
12
+ }
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TimeframeContainer = void 0;
4
+ class TimeframeContainer {
5
+ constructor(name, timeframe, version) {
6
+ this.name = name;
7
+ this.timeframe = timeframe;
8
+ this.version = version;
9
+ }
10
+ setCompositeLayer(compositeLayer) {
11
+ this.compositeLayer = compositeLayer;
12
+ }
13
+ showTimeframe(date) {
14
+ if (!this.compositeLayer) {
15
+ return;
16
+ }
17
+ let index = 0;
18
+ let frameContainerFound = this.timeframe.length ? this.timeframe[0] : null;
19
+ this.timeframe.forEach(c => {
20
+ index++;
21
+ if (new Date(c.date).getTime() === (date === null || date === void 0 ? void 0 : date.getTime())) {
22
+ frameContainerFound = c;
23
+ }
24
+ });
25
+ if (!!frameContainerFound) {
26
+ this.compositeLayer.showTheFistMatchingId(this.getFrameId(frameContainerFound));
27
+ }
28
+ }
29
+ getFrameId(frameContainer) {
30
+ return this.name + new Date(frameContainer.date).toISOString();
31
+ }
32
+ }
33
+ exports.TimeframeContainer = TimeframeContainer;
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGltZWZyYW1lQ29udGFpbmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3RpbWVmcmFtZXMvVGltZWZyYW1lQ29udGFpbmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUdBLE1BQWEsa0JBQWtCO0lBSTNCLFlBQW1CLElBQVksRUFDWixTQUEyQixFQUMzQixPQUFlO1FBRmYsU0FBSSxHQUFKLElBQUksQ0FBUTtRQUNaLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQzNCLFlBQU8sR0FBUCxPQUFPLENBQVE7SUFDbEMsQ0FBQztJQUVELGlCQUFpQixDQUFDLGNBQWM7UUFDNUIsSUFBSSxDQUFDLGNBQWMsR0FBRyxjQUFjLENBQUM7SUFDekMsQ0FBQztJQUVELGFBQWEsQ0FBQyxJQUFXO1FBRXJCLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3RCLE9BQU87U0FDVjtRQUVELElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQztRQUNkLElBQUksbUJBQW1CLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUMzRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUN2QixLQUFLLEVBQUUsQ0FBQztZQUNSLElBQUksSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFLLElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRSxPQUFPLEVBQUUsQ0FBQSxFQUFFO2dCQUNoRCxtQkFBbUIsR0FBRyxDQUFDLENBQUM7YUFDM0I7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxDQUFDLG1CQUFtQixFQUFFO1lBQ3ZCLElBQUksQ0FBQyxjQUFjLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUM7U0FDbkY7SUFDTCxDQUFDO0lBRUQsVUFBVSxDQUFDLGNBQThCO1FBQ3JDLE9BQU8sSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDbkUsQ0FBQztDQUNKO0FBcENELGdEQW9DQyJ9
@@ -0,0 +1,9 @@
1
+ import { TimeframeContainer } from './TimeframeContainer';
2
+ import { RadarNodeMap, RainComputationMap } from 'raain-model';
3
+ export declare class TimeframeContainers {
4
+ containers: TimeframeContainer[];
5
+ constructor(containers: TimeframeContainer[]);
6
+ addFromRadarNodeMap(radarNodeMap: RadarNodeMap, isPolar: boolean): void;
7
+ addFromRainComputationMap(rainComputationMap: RainComputationMap, isPolar: boolean): void;
8
+ showTimeframe(name: string, date?: Date): boolean;
9
+ }
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TimeframeContainers = void 0;
4
+ const TimeframeContainer_1 = require("./TimeframeContainer");
5
+ const raain_model_1 = require("raain-model");
6
+ const FrameContainer_1 = require("./FrameContainer");
7
+ const PolarMapValue_1 = require("../tools/PolarMapValue");
8
+ const CartesianMapValue_1 = require("../tools/CartesianMapValue");
9
+ class TimeframeContainers {
10
+ constructor(containers) {
11
+ this.containers = containers;
12
+ }
13
+ addFromRadarNodeMap(radarNodeMap, isPolar) {
14
+ const radarMeasures = radarNodeMap.getMapData();
15
+ let frames;
16
+ if (isPolar) {
17
+ frames = radarMeasures.map(rm => {
18
+ let values = [];
19
+ rm.values.forEach(v => {
20
+ const polars = typeof v.polars === 'string' ? JSON.parse(v.polars) : v.polars;
21
+ values = values.concat(PolarMapValue_1.PolarMapValue.from(polars));
22
+ });
23
+ return new FrameContainer_1.FrameContainer(rm.date, values, true, false);
24
+ });
25
+ }
26
+ else {
27
+ frames = radarMeasures.map(rm => {
28
+ let values = [];
29
+ rm.values.forEach(v => {
30
+ const cartesianValues = typeof v.cartesianValues === 'string' ? JSON.parse(v.cartesianValues) : v.cartesianValues;
31
+ const cartesianPixelWidth = typeof v.cartesianPixelWidth === 'string' ?
32
+ JSON.parse(v.cartesianPixelWidth) : v.cartesianPixelWidth;
33
+ values = values.concat(CartesianMapValue_1.CartesianMapValue.From(cartesianValues, cartesianPixelWidth));
34
+ });
35
+ return new FrameContainer_1.FrameContainer(rm.date, values, false, true);
36
+ });
37
+ }
38
+ this.containers.push(new TimeframeContainer_1.TimeframeContainer(radarNodeMap.name, frames, radarNodeMap.getVersion()));
39
+ }
40
+ addFromRainComputationMap(rainComputationMap, isPolar) {
41
+ const rainMeasures = rainComputationMap.getMapData();
42
+ let frames;
43
+ if (isPolar) {
44
+ frames = rainMeasures.map(rm => {
45
+ let values = [];
46
+ rm.values.forEach(v => {
47
+ let polars = v.polars;
48
+ if (typeof polars === 'string') {
49
+ polars = JSON.parse(polars);
50
+ }
51
+ polars = polars.map(p => new raain_model_1.MeasureValuePolarContainer(p));
52
+ values = values.concat(PolarMapValue_1.PolarMapValue.from(polars));
53
+ });
54
+ return new FrameContainer_1.FrameContainer(rm.date, values, true, false);
55
+ });
56
+ }
57
+ else {
58
+ frames = rainMeasures.map(rm => {
59
+ let values = [];
60
+ rm.values.forEach(v => {
61
+ let cartesianValues = v.cartesianValues;
62
+ if (typeof cartesianValues === 'string') {
63
+ cartesianValues = JSON.parse(cartesianValues);
64
+ }
65
+ cartesianValues = cartesianValues.map(cv => new raain_model_1.CartesianValue(cv.value, cv.lat, cv.lng));
66
+ values = values.concat(CartesianMapValue_1.CartesianMapValue.From(cartesianValues, v.cartesianPixelWidth));
67
+ });
68
+ return new FrameContainer_1.FrameContainer(rm.date, values, false, true);
69
+ });
70
+ }
71
+ this.containers.push(new TimeframeContainer_1.TimeframeContainer(rainComputationMap.name, frames, rainComputationMap.getVersion()));
72
+ }
73
+ showTimeframe(name, date) {
74
+ for (const container of this.containers) {
75
+ if (container.name === name) {
76
+ container.showTimeframe(date);
77
+ return true;
78
+ }
79
+ }
80
+ return false;
81
+ }
82
+ }
83
+ exports.TimeframeContainers = TimeframeContainers;
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGltZWZyYW1lQ29udGFpbmVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90aW1lZnJhbWVzL1RpbWVmcmFtZUNvbnRhaW5lcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkRBQXdEO0FBQ3hELDZDQUF5RztBQUN6RyxxREFBZ0Q7QUFDaEQsMERBQXFEO0FBQ3JELGtFQUE2RDtBQUU3RCxNQUFhLG1CQUFtQjtJQUM1QixZQUFtQixVQUFnQztRQUFoQyxlQUFVLEdBQVYsVUFBVSxDQUFzQjtJQUNuRCxDQUFDO0lBRU0sbUJBQW1CLENBQUMsWUFBMEIsRUFDMUIsT0FBZ0I7UUFFdkMsTUFBTSxhQUFhLEdBQUcsWUFBWSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ2hELElBQUksTUFBTSxDQUFDO1FBRVgsSUFBSSxPQUFPLEVBQUU7WUFDVCxNQUFNLEdBQUcsYUFBYSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRTtnQkFDNUIsSUFBSSxNQUFNLEdBQW9CLEVBQUUsQ0FBQztnQkFDakMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7b0JBQ2xCLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxDQUFDLE1BQU0sS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO29CQUM5RSxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyw2QkFBYSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO2dCQUN2RCxDQUFDLENBQUMsQ0FBQztnQkFDSCxPQUFPLElBQUksK0JBQWMsQ0FBQyxFQUFFLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDNUQsQ0FBQyxDQUFDLENBQUM7U0FDTjthQUFNO1lBQ0gs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
@@ -0,0 +1,12 @@
1
+ import { CartesianValue } from 'raain-model';
2
+ import { LatLng } from 'raain-quality';
3
+ import { MapLatLng } from './MapLatLng';
4
+ export declare class CartesianMapValue extends MapLatLng {
5
+ readonly latitude: number;
6
+ readonly longitude: number;
7
+ readonly latitude2?: number;
8
+ readonly longitude2?: number;
9
+ constructor(value: number, latitude: number, longitude: number, latitude2?: number, longitude2?: number, id?: string, name?: string);
10
+ static Duplicate(src: CartesianMapValue): CartesianMapValue;
11
+ static From(cartesianValues: CartesianValue[], widthForMap: LatLng): CartesianMapValue[];
12
+ }