@windycom/plugin-devtools 3.0.1 → 3.0.3
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/README.md +1 -0
- package/package.json +1 -1
- package/types/client/Calendar.d.ts +104 -70
- package/types/client/Color.d.ts +25 -5
- package/types/client/DataTiler.d.ts +2 -2
- package/types/client/EcmwfProduct.d.ts +22 -0
- package/types/client/EventManager.d.ts +69 -0
- package/types/client/ExternalSveltePlugin.d.ts +4 -3
- package/types/client/GlBuffer.d.ts +45 -0
- package/types/client/GlMesh.d.ts +147 -0
- package/types/client/GlProgram.d.ts +41 -0
- package/types/client/GlRenderer.d.ts +95 -0
- package/types/client/GlTexture.d.ts +98 -0
- package/types/client/GlVertexArray.d.ts +38 -0
- package/types/client/IDB.d.ts +25 -4
- package/types/client/LabelsLayer.d.ts +69 -2
- package/types/client/Layer.d.ts +96 -26
- package/types/client/LayerClasses.d.ts +5 -0
- package/types/client/Metric.d.ts +31 -46
- package/types/client/MetricClasses.d.ts +1 -1
- package/types/client/Overlay.d.ts +5 -12
- package/types/client/OverlayClasses.d.ts +8 -0
- package/types/client/Particles.d.ts +1 -1
- package/types/client/Product.d.ts +38 -67
- package/types/client/ProductClasses.d.ts +51 -0
- package/types/client/RadarPlusProduct.d.ts +1 -1
- package/types/client/Renderer.d.ts +44 -19
- package/types/client/SatelliteProduct.d.ts +1 -1
- package/types/client/ShaderStorage.d.ts +25 -0
- package/types/client/StartupElementPlugin.d.ts +8 -0
- package/types/client/SveltePlugin.d.ts +5 -5
- package/types/client/SwitchableTileCache.d.ts +104 -0
- package/types/client/TileLayer.d.ts +12 -3
- package/types/client/TileLayerCustom.d.ts +51 -0
- package/types/client/TileLayerMulti.d.ts +53 -0
- package/types/client/TileLayerPreprocessorStandalone.d.ts +45 -0
- package/types/client/TileLayerRenderer.d.ts +24 -0
- package/types/client/TileLayerUtils.d.ts +43 -0
- package/types/client/TilePreprocessor.d.ts +27 -0
- package/types/client/TopoMap.d.ts +4 -4
- package/types/client/WindowPlugin.d.ts +7 -6
- package/types/client/appsFlyer.d.ts +2 -1
- package/types/client/baseMap.d.ts +12 -2
- package/types/client/broadcast.d.ts +1 -1
- package/types/client/cityLabels.d.ts +2 -3
- package/types/client/colorGradients.d.ts +4 -10
- package/types/client/colors.d.ts +1 -2
- package/types/client/css.test.d.ts +1 -0
- package/types/client/customProtocol.d.ts +11 -0
- package/types/client/d.ts.files/GlObj.d.ts +1 -5
- package/types/client/d.ts.files/Metric.d.ts +23 -2
- package/types/client/d.ts.files/alerts.d.ts +1 -0
- package/types/client/d.ts.files/broadcast.d.ts +31 -35
- package/types/client/d.ts.files/dataSpecifications.d.ts +82 -66
- package/types/client/d.ts.files/favs.d.ts +7 -18
- package/types/client/d.ts.files/glUtils.d.ts +71 -0
- package/types/client/d.ts.files/http.d.ts +4 -4
- package/types/client/d.ts.files/interpolatorTypes.d.ts +5 -5
- package/types/client/d.ts.files/lib.d.ts +1 -2
- package/types/client/d.ts.files/liveAlerts.d.ts +52 -0
- package/types/client/d.ts.files/mapUtils.d.ts +25 -0
- package/types/client/d.ts.files/outgoingMessages.d.ts +1 -1
- package/types/client/d.ts.files/plugin-params.d.ts +46 -24
- package/types/client/d.ts.files/plugins.d.ts +44 -31
- package/types/client/d.ts.files/rootScope.d.ts +2 -0
- package/types/client/d.ts.files/singleclick.d.ts +4 -2
- package/types/client/d.ts.files/startup.d.ts +7 -52
- package/types/client/d.ts.files/storage.d.ts +0 -11
- package/types/client/d.ts.files/user.d.ts +6 -1
- package/types/client/d.ts.files/webcams.d.ts +9 -2
- package/types/client/dataLoader.d.ts +2 -2
- package/types/client/detectDevice.d.ts +3 -0
- package/types/client/embed.d.ts +2 -7
- package/types/client/errorLogger.d.ts +20 -1
- package/types/client/externalPlugins.d.ts +5 -1
- package/types/client/fetch.d.ts +62 -5
- package/types/client/format.d.ts +12 -0
- package/types/client/glContextUtils.d.ts +9 -0
- package/types/client/glStatus.d.ts +7 -0
- package/types/client/glTileRender.d.ts +1 -7
- package/types/client/glUtils.d.ts +119 -0
- package/types/client/http.d.ts +0 -6
- package/types/client/idbConnection.d.ts +13 -0
- package/types/client/idbInstances.d.ts +118 -13
- package/types/client/landLayer.d.ts +3 -0
- package/types/client/layers.d.ts +5 -2
- package/types/client/legends.d.ts +1 -1
- package/types/client/lib.d.ts +11 -21
- package/types/client/liveAlerts.d.ts +2 -2
- package/types/client/location.d.ts +1 -1
- package/types/client/map.d.ts +94 -15
- package/types/client/mapUtils.d.ts +66 -0
- package/types/client/math.d.ts +14 -0
- package/types/client/mobile.d.ts +16 -41
- package/types/client/mobileUtils.d.ts +10 -0
- package/types/client/models.d.ts +2 -6
- package/types/client/overlays.d.ts +4 -3
- package/types/client/particleRenderers.d.ts +1 -1
- package/types/client/picker.d.ts +4 -8
- package/types/client/plugins.d.ts +0 -4
- package/types/client/products.d.ts +53 -2
- package/types/client/promo.d.ts +28 -5
- package/types/client/pushNotifications.d.ts +19 -1
- package/types/client/renderCtrl.d.ts +1 -1
- package/types/client/renderTile.d.ts +2 -2
- package/types/client/renderUtils.d.ts +21 -27
- package/types/client/renderers.d.ts +6 -9
- package/types/client/reverseName.d.ts +2 -1
- package/types/client/rhMessage.d.ts +1 -1
- package/types/client/rootScope.d.ts +17 -9
- package/types/client/router.d.ts +41 -9
- package/types/client/seoParser.d.ts +35 -0
- package/types/client/showableErrorsService.d.ts +10 -6
- package/types/client/singleclick.d.ts +1 -1
- package/types/client/startup.d.ts +48 -0
- package/types/client/startupUtils.d.ts +19 -0
- package/types/client/store.d.ts +20 -52
- package/types/client/subscription.d.ts +3 -26
- package/types/client/throttler.d.ts +32 -0
- package/types/client/tileHelpers.d.ts +35 -0
- package/types/client/tileInterpolator.d.ts +1 -1
- package/types/client/tileLayerInterpolator.d.ts +40 -0
- package/types/client/tileLayerSource.d.ts +98 -0
- package/types/client/timestampUtils.test.d.ts +1 -0
- package/types/client/topMessage.d.ts +22 -0
- package/types/client/user.d.ts +1 -0
- package/types/client/userAlerts.d.ts +0 -4
- package/types/client/userConsent.d.ts +0 -2
- package/types/client/userFavs.d.ts +17 -12
- package/types/client/utils.d.ts +78 -25
- package/types/client/utils.test.d.ts +1 -0
- package/types/iconfont.d.ts +2 -5
- package/types/interfaces.d.ts +290 -88
- package/types/lang-files.d.ts +578 -98
- package/types/leaflet-gl.d.ts +12773 -0
- package/types/types.d.ts +323 -11
- package/types/client/d.ts.files/Calendar.d.ts +0 -96
- package/types/client/d.ts.files/CanvasLayer.d.ts +0 -70
- package/types/client/d.ts.files/Color.d.ts +0 -94
- package/types/client/d.ts.files/DataTiler.d.ts +0 -45
- package/types/client/d.ts.files/LandMask.d.ts +0 -17
- package/types/client/d.ts.files/Layer.d.ts +0 -191
- package/types/client/d.ts.files/PoisOverlay.d.ts +0 -27
- package/types/client/d.ts.files/Renderer.d.ts +0 -44
- package/types/client/d.ts.files/TileLayerCanvas.d.ts +0 -78
- package/types/client/d.ts.files/TileLayerMultiPatch.d.ts +0 -13
- package/types/client/d.ts.files/products.d.ts +0 -60
- package/types/client/imaker.d.ts +0 -112
- package/types/offline.d.ts +0 -100
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { Coords } from '@leafletGl';
|
|
2
|
+
|
|
3
|
+
export type ViewportBounds = { xMin: number; yMin: number; xMax: number; yMax: number };
|
|
4
|
+
|
|
5
|
+
export type TransformedUrlPayload = {
|
|
6
|
+
modifiedUrl: string;
|
|
7
|
+
tileCoords?: Coords;
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
export type TileDataPreprocessCallback = (
|
|
11
|
+
imgData: Blob,
|
|
12
|
+
urlPayload: TransformedUrlPayload,
|
|
13
|
+
) => Promise<ImageBitmap>;
|
|
14
|
+
|
|
15
|
+
export type GeneratedProtocol = `protocol-${string}`;
|
|
16
|
+
|
|
17
|
+
export type CustomProtocol =
|
|
18
|
+
| 'rad-data'
|
|
19
|
+
| 'rad-flow'
|
|
20
|
+
| 'sat-data'
|
|
21
|
+
| 'sat-flow'
|
|
22
|
+
| 'rad-nowcast'
|
|
23
|
+
| 'forecast'
|
|
24
|
+
| 'rad-ptype'
|
|
25
|
+
| GeneratedProtocol;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { Fav, FavId } from '@windy/favs.d';
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
import { FullRenderParameters } from '@windy/Layer.d';
|
|
2
|
+
import { WhatsNewData } from '@windy/startup.d';
|
|
3
|
+
|
|
5
4
|
import { HttpPayload } from '@windy/http.d';
|
|
6
5
|
import {
|
|
7
6
|
CapAlertHeadline,
|
|
@@ -11,6 +10,7 @@ import {
|
|
|
11
10
|
PickerCoords,
|
|
12
11
|
SummaryDataHash,
|
|
13
12
|
WeatherDataPayload,
|
|
13
|
+
FullRenderParameters,
|
|
14
14
|
} from '@windy/interfaces.d';
|
|
15
15
|
import { Pois, Products } from '@windy/rootScope.d';
|
|
16
16
|
import { SingleClickParams } from '@windy/singleclick.d';
|
|
@@ -22,16 +22,23 @@ import {
|
|
|
22
22
|
type Timestamp,
|
|
23
23
|
} from '@windy/types.d';
|
|
24
24
|
import { WebcamCategoryType } from '@windy/webcams';
|
|
25
|
+
import type { Point } from '@leafletGl';
|
|
25
26
|
|
|
26
|
-
import type { StoryPreview } from '@plugins/stories/stories.d';
|
|
27
27
|
import type { StationDisplayType } from '@plugins/station/station';
|
|
28
|
-
import type {
|
|
28
|
+
import type { LiveAlertEvent } from '@plugins/startup-live-alerts/startup-live-alerts';
|
|
29
|
+
import type { ArticleStartupData } from '@plugins/articles/articles.d';
|
|
30
|
+
import type {
|
|
31
|
+
HiddenReasonType,
|
|
32
|
+
ReasonTypes,
|
|
33
|
+
SubscriptionSource,
|
|
34
|
+
} from '@plugins/subscription/subscription';
|
|
29
35
|
|
|
30
36
|
/**
|
|
31
37
|
* Type of source event, that led to opening any plugin
|
|
32
38
|
*/
|
|
33
39
|
export type PluginOpenEventSource =
|
|
34
40
|
| 'contextmenu'
|
|
41
|
+
| 'beta-drop-down'
|
|
35
42
|
| 'hp'
|
|
36
43
|
| 'url'
|
|
37
44
|
| 'singleclick'
|
|
@@ -42,6 +49,8 @@ export type PluginOpenEventSource =
|
|
|
42
49
|
| 'alerts-page'
|
|
43
50
|
| 'favs-on-hp'
|
|
44
51
|
| 'picker'
|
|
52
|
+
| 'picker-mobile'
|
|
53
|
+
| 'picker-mobile-settings'
|
|
45
54
|
| 'meta'
|
|
46
55
|
| 'fallback'
|
|
47
56
|
| 'gps'
|
|
@@ -108,7 +117,8 @@ type RplannerDistanceParams =
|
|
|
108
117
|
| {
|
|
109
118
|
import: boolean;
|
|
110
119
|
content: string;
|
|
111
|
-
}
|
|
120
|
+
} // Uploaded GPX
|
|
121
|
+
| undefined;
|
|
112
122
|
|
|
113
123
|
export type PickerOpenParams =
|
|
114
124
|
| (PluginSource &
|
|
@@ -121,7 +131,7 @@ export type PluginsOpenParams = {
|
|
|
121
131
|
detail: DetailOpenParams;
|
|
122
132
|
picker: PickerOpenParams;
|
|
123
133
|
'picker-mobile': PickerOpenParams;
|
|
124
|
-
favs: PluginSource
|
|
134
|
+
favs: PluginSource;
|
|
125
135
|
station: PluginSource & {
|
|
126
136
|
id: string;
|
|
127
137
|
moveToTimestamp?: Timestamp;
|
|
@@ -132,7 +142,6 @@ export type PluginsOpenParams = {
|
|
|
132
142
|
'webcams-detail': PluginSource & WebcamDetailOpenParams;
|
|
133
143
|
'webcams-edit': PluginSource & WebcamDetailOpenParams;
|
|
134
144
|
'webcams-remove': PluginSource & WebcamDetailOpenParams;
|
|
135
|
-
//settings: (PluginSource & { id: string }) | undefined;
|
|
136
145
|
settings: PluginSource | undefined;
|
|
137
146
|
articles: (PluginSource & { id: number | string }) | undefined;
|
|
138
147
|
upload: PluginSource & { id: string };
|
|
@@ -144,17 +153,22 @@ export type PluginsOpenParams = {
|
|
|
144
153
|
*/
|
|
145
154
|
name?: string;
|
|
146
155
|
};
|
|
147
|
-
contextmenu: PluginSource & LatLon & { containerPoint?:
|
|
156
|
+
contextmenu: PluginSource & LatLon & { containerPoint?: Point };
|
|
157
|
+
'beta-drop-down': undefined;
|
|
158
|
+
|
|
159
|
+
/**
|
|
160
|
+
* Typing is incorrect here. If called from ClickHandler it has a string as params
|
|
161
|
+
*/
|
|
148
162
|
subscription:
|
|
149
|
-
|
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
163
|
+
| PluginSource
|
|
164
|
+
| (PluginSource &
|
|
165
|
+
(
|
|
166
|
+
| { promote?: ReasonTypes | HiddenReasonType; subsSource: SubscriptionSource }
|
|
167
|
+
| { pendingError: Error & { responseText: string } }
|
|
168
|
+
));
|
|
154
169
|
'alerts-edit': PluginSource &
|
|
155
170
|
(
|
|
156
171
|
| { action: 'edit'; id: string }
|
|
157
|
-
| { action: 'migration'; favId: string }
|
|
158
172
|
| {
|
|
159
173
|
action: 'new';
|
|
160
174
|
lat: number;
|
|
@@ -169,22 +183,20 @@ export type PluginsOpenParams = {
|
|
|
169
183
|
rplanner: PluginSource & RplannerDistanceParams;
|
|
170
184
|
airport: PluginSource & { id: string };
|
|
171
185
|
share: undefined;
|
|
186
|
+
'report-issue': PluginSource & { openedFrom?: 'radar' | 'satellite' | 'betaDropDown' };
|
|
187
|
+
'sun-moon': (PluginSource & LatLon) | undefined;
|
|
172
188
|
'nearest-stations': PluginSource & LatLon & { compactVersion?: boolean; includeAirq?: boolean };
|
|
173
189
|
'nearest-airq': PluginSource & LatLon;
|
|
174
190
|
'nearest-webcams-mobile': PluginSource & LatLon;
|
|
175
191
|
'nearest-webcams': PluginSource & LatLon;
|
|
176
192
|
'external-plugins':
|
|
177
|
-
| (PluginSource & {
|
|
178
|
-
id?: string;
|
|
179
|
-
qs?: PluginsQsParams['external-plugins'];
|
|
180
|
-
installPlugin?: PluginsListResponseDto;
|
|
181
|
-
})
|
|
193
|
+
| (PluginSource & { id?: string; qs?: PluginsQsParams['external-plugins'] })
|
|
182
194
|
| undefined;
|
|
183
195
|
sounding: PluginSource & LatLon & { name?: string };
|
|
184
196
|
radiosonde: PluginSource & { id: string; lat?: number; lon?: number };
|
|
185
|
-
|
|
186
|
-
'startup-
|
|
187
|
-
'startup-
|
|
197
|
+
'whats-new': PluginSource & { data: WhatsNewData };
|
|
198
|
+
'startup-articles': PluginSource & { data: ArticleStartupData };
|
|
199
|
+
'startup-promos': PluginSource & { typeOfPromo: 'obsoleteApp' | 'premium' | 'mapyCom' };
|
|
188
200
|
'startup-weather': PluginSource & {
|
|
189
201
|
coords: HomeLocation | GeolocationInfo;
|
|
190
202
|
promises: {
|
|
@@ -192,6 +204,12 @@ export type PluginsOpenParams = {
|
|
|
192
204
|
capAlerts: Promise<HttpPayload<CapAlertHeadline[]>>;
|
|
193
205
|
};
|
|
194
206
|
};
|
|
207
|
+
'startup-pin2hp': PluginSource;
|
|
208
|
+
'startup-live-alerts': PluginSource & {
|
|
209
|
+
coords: LatLon | GeolocationInfo | HomeLocation;
|
|
210
|
+
alerts: LiveAlertEvent[];
|
|
211
|
+
};
|
|
212
|
+
'startup-debug': PluginSource;
|
|
195
213
|
login:
|
|
196
214
|
| (PluginSource & {
|
|
197
215
|
reason?: 'login' | 'register';
|
|
@@ -214,9 +232,13 @@ export type PluginsOpenParams = {
|
|
|
214
232
|
'developer-mode': (PluginSource & { qs: Record<string, string> | undefined }) | undefined;
|
|
215
233
|
'windy-external-plugin': PluginSource & LatLon;
|
|
216
234
|
menu: PluginSource & { scrollTo?: 'pois' };
|
|
217
|
-
stories: { id: string; sortedAndEnhancedPreviews?: StoryPreview[] } & PluginSource;
|
|
218
235
|
onboarding: (PluginSource & { getUserInterests?: boolean }) | undefined;
|
|
219
236
|
'heatmaps-redirect': PluginSource & { id?: string };
|
|
237
|
+
'beta-cookie': PluginSource & { action?: 'activate' | 'remove' };
|
|
238
|
+
'radar-plus-use-satellite': PluginSource | undefined;
|
|
239
|
+
info: PluginSource & {
|
|
240
|
+
displayOverlayInfoFirst?: boolean;
|
|
241
|
+
};
|
|
220
242
|
} & {
|
|
221
243
|
[external: ExternalPluginIdent]:
|
|
222
244
|
| (PluginSource & { query: Record<string, string> | undefined })
|
|
@@ -3,11 +3,11 @@ import { Plugin } from '@windy/Plugin';
|
|
|
3
3
|
import { SveltePanePlugin } from '@windy/SveltePanePlugin';
|
|
4
4
|
import { SveltePlugin } from '@windy/SveltePlugin';
|
|
5
5
|
import { TagPlugin } from '@windy/TagPlugin';
|
|
6
|
+
import { StartupElementPlugin } from '@windy/StartupElementPlugin';
|
|
6
7
|
|
|
7
8
|
export interface BottomSveltePlugins {
|
|
8
|
-
'mobile-calendar'
|
|
9
|
-
'progress-bar'
|
|
10
|
-
|
|
9
|
+
'mobile-calendar': BottomSveltePlugin<'mobile-calendar'>;
|
|
10
|
+
'progress-bar': BottomSveltePlugin<'progress-bar'>;
|
|
11
11
|
'day-switcher': BottomSveltePlugin<'day-switcher'>;
|
|
12
12
|
'cap-alerts': BottomSveltePlugin<'cap-alerts'>;
|
|
13
13
|
accumulations: BottomSveltePlugin<'accumulations'>;
|
|
@@ -33,9 +33,11 @@ export interface SveltePanePlugins {
|
|
|
33
33
|
'webcams-add': SveltePanePlugin<'webcams-add'>;
|
|
34
34
|
'webcams-edit': SveltePanePlugin<'webcams-edit'>;
|
|
35
35
|
'webcams-remove': SveltePanePlugin<'webcams-remove'>;
|
|
36
|
+
'report-issue': SveltePanePlugin<'report-issue'>;
|
|
37
|
+
'external-plugins': SveltePanePlugin<'external-plugins'>;
|
|
36
38
|
|
|
37
|
-
uploader
|
|
38
|
-
'
|
|
39
|
+
uploader: SveltePanePlugin<'uploader'>;
|
|
40
|
+
'whats-new': SveltePanePlugin<'whats-new'>;
|
|
39
41
|
}
|
|
40
42
|
|
|
41
43
|
export interface SveltePlugins {
|
|
@@ -55,64 +57,75 @@ export interface SveltePlugins {
|
|
|
55
57
|
menu: SveltePlugin<'menu'>;
|
|
56
58
|
'fav-alert-menu': SveltePlugin<'fav-alert-menu'>;
|
|
57
59
|
radar: SveltePlugin<'radar'>;
|
|
58
|
-
satellite: SveltePlugin<'satellite'>;
|
|
59
60
|
'radar-plus': SveltePlugin<'radar-plus'>;
|
|
61
|
+
'radar-plus-use-satellite': SveltePlugin<'radar-plus-use-satellite'>;
|
|
60
62
|
'map-selector': SveltePlugin<'map-selector'>;
|
|
61
63
|
|
|
62
64
|
// Mobile/desktop only plugins
|
|
63
|
-
distance
|
|
64
|
-
'watch-faces'
|
|
65
|
-
'app-review-dialog'
|
|
66
|
-
widgets
|
|
67
|
-
garmin
|
|
68
|
-
'fav-layers'
|
|
69
|
-
onboarding
|
|
70
|
-
'developer-mode'
|
|
71
|
-
|
|
72
|
-
'startup-whats-new'?: SveltePlugin<'startup-whats-new'>;
|
|
65
|
+
distance: SveltePlugin<'distance'>;
|
|
66
|
+
'watch-faces': SveltePlugin<'watch-faces'>;
|
|
67
|
+
'app-review-dialog': SveltePlugin<'app-review-dialog'>;
|
|
68
|
+
widgets: SveltePlugin<'widgets'>;
|
|
69
|
+
garmin: SveltePlugin<'garmin'>;
|
|
70
|
+
'fav-layers': SveltePlugin<'fav-layers'>;
|
|
71
|
+
onboarding: SveltePlugin<'onboarding'>;
|
|
72
|
+
'developer-mode': SveltePlugin<'developer-mode'>;
|
|
73
|
+
|
|
73
74
|
'rhpane-top': SveltePlugin<'rhpane-top'>;
|
|
74
|
-
rhbottom
|
|
75
|
-
'location-permission'
|
|
75
|
+
rhbottom: SveltePlugin<'rhbottom'>;
|
|
76
|
+
'location-permission': SveltePlugin<'location-permission'>;
|
|
76
77
|
|
|
77
|
-
'
|
|
78
|
-
'
|
|
79
|
-
|
|
80
|
-
|
|
78
|
+
'mobile-ui': SveltePlugin<'mobile-ui'>;
|
|
79
|
+
'embed-ui': SveltePlugin<'embed-ui'>;
|
|
80
|
+
contextmenu: SveltePlugin<'contextmenu'>;
|
|
81
|
+
'beta-drop-down': SveltePlugin<'beta-drop-down'>;
|
|
81
82
|
upload: SveltePlugin<'upload'>;
|
|
82
83
|
search: SveltePlugin<'search'>;
|
|
83
|
-
'
|
|
84
|
-
'
|
|
84
|
+
'picker-mobile': SveltePlugin<'picker-mobile'>; // to Svelte plugin
|
|
85
|
+
'perf-overlay': SveltePlugin<'perf-overlay'>;
|
|
86
|
+
'sun-moon': SveltePlugin<'sun-moon'>;
|
|
85
87
|
|
|
86
88
|
// Used as fake plugin for any other external plugin
|
|
87
89
|
// basically we are unable to type each individual external plugin
|
|
88
90
|
'windy-external-plugin'?: SveltePlugin<'windy-external-plugin'>;
|
|
89
|
-
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
export interface StartupElementPlugins {
|
|
94
|
+
'startup-articles': StartupElementPlugin<'startup-articles'>;
|
|
95
|
+
'startup-promos': StartupElementPlugin<'startup-promos'>;
|
|
96
|
+
'startup-live-alerts': StartupElementPlugin<'startup-live-alerts'>;
|
|
97
|
+
'startup-debug': StartupElementPlugin<'startup-debug'>;
|
|
98
|
+
'startup-pin2hp': StartupElementPlugin<'startup-pin2hp'>;
|
|
99
|
+
'startup-weather': StartupElementPlugin<'startup-weather'>;
|
|
90
100
|
}
|
|
91
101
|
|
|
92
102
|
export interface PlainPlugins {
|
|
93
103
|
'gl-particles': Plugin<'gl-particles'>;
|
|
94
|
-
'legacy-tile-render': Plugin<'legacy-tile-render'>;
|
|
95
|
-
particles: Plugin<'particles'>;
|
|
96
104
|
isolines: Plugin<'isolines'>;
|
|
97
105
|
}
|
|
98
106
|
|
|
99
107
|
export interface TagPlugins {
|
|
100
108
|
// These plugins have css only (no html)
|
|
101
109
|
'poi-libs': TagPlugin<'poi-libs'>;
|
|
102
|
-
picker
|
|
103
|
-
globe
|
|
110
|
+
picker: TagPlugin<'picker'>;
|
|
111
|
+
globe: TagPlugin<'globe'>;
|
|
104
112
|
'heatmaps-redirect': TagPlugin<'heatmaps-redirect'>;
|
|
113
|
+
'beta-cookie': TagPlugin<'beta-cookie'>;
|
|
105
114
|
}
|
|
106
115
|
|
|
116
|
+
// Includes plain plugins
|
|
107
117
|
export interface Plugins
|
|
108
118
|
extends TagPlugins,
|
|
109
119
|
SveltePlugins,
|
|
110
120
|
SveltePanePlugins,
|
|
111
121
|
PlainPlugins,
|
|
112
|
-
BottomSveltePlugins
|
|
122
|
+
BottomSveltePlugins,
|
|
123
|
+
StartupElementPlugins {}
|
|
113
124
|
|
|
125
|
+
// Only descendants of WindowPlugin§
|
|
114
126
|
export interface WindowPlugins
|
|
115
127
|
extends TagPlugins,
|
|
116
128
|
SveltePlugins,
|
|
117
129
|
SveltePanePlugins,
|
|
118
|
-
BottomSveltePlugins
|
|
130
|
+
BottomSveltePlugins,
|
|
131
|
+
StartupElementPlugins {}
|
|
@@ -23,3 +23,5 @@ export type SupportedLanguages = (typeof import('./rootScope').supportedLanguage
|
|
|
23
23
|
export type Pois = keyof typeof import('./rootScope').pois;
|
|
24
24
|
|
|
25
25
|
export type Isolines = (typeof import('./rootScope').isolinesType)[number];
|
|
26
|
+
|
|
27
|
+
export type PollenProducts = keyof typeof import('./rootScope').pollenProducts;
|
|
@@ -9,12 +9,14 @@ export interface SingleClickParams extends LatLon {
|
|
|
9
9
|
source: 'singleclick';
|
|
10
10
|
}
|
|
11
11
|
|
|
12
|
+
type PoiKeys = `poi-${Pois | 'stations' | 'label'}`;
|
|
13
|
+
|
|
12
14
|
type SingleclickPoiTypes = {
|
|
13
|
-
[key in
|
|
15
|
+
[key in PoiKeys]: [HTMLElement];
|
|
14
16
|
};
|
|
15
17
|
|
|
16
18
|
export type SingleclickPluginTypes = {
|
|
17
|
-
[key in PluginIdent]: [SingleClickParams];
|
|
19
|
+
[key in Exclude<PluginIdent, PoiKeys>]: [SingleClickParams];
|
|
18
20
|
};
|
|
19
21
|
|
|
20
22
|
export type SingleclickEternalPluginTypes = {
|
|
@@ -1,23 +1,11 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type { Timestamp } from '@windy/types';
|
|
1
|
+
import type { SemVersion, Timestamp } from '@windy/types';
|
|
3
2
|
|
|
4
|
-
export type
|
|
3
|
+
export type WhatsNewObsolete = {
|
|
4
|
+
minVersion: SemVersion;
|
|
5
|
+
published: Timestamp;
|
|
6
|
+
};
|
|
5
7
|
|
|
6
|
-
export
|
|
7
|
-
type: StartupNewsType;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
export interface StartupResponse {
|
|
11
|
-
'hp-articles'?: StartupArticleData[];
|
|
12
|
-
'whats-new'?: WhatsNewData;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
export interface StartupArticleData extends RelatedHomepageArticlesResponseDto, StartupItem {
|
|
16
|
-
type: 'hp-article';
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
export interface WhatsNewData extends StartupItem {
|
|
20
|
-
type: 'whats-new';
|
|
8
|
+
export type WhatsNewData = {
|
|
21
9
|
id: string;
|
|
22
10
|
title: string;
|
|
23
11
|
contributors: {
|
|
@@ -29,37 +17,4 @@ export interface WhatsNewData extends StartupItem {
|
|
|
29
17
|
improved?: string;
|
|
30
18
|
fixed?: string;
|
|
31
19
|
};
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
/**
|
|
35
|
-
* Info about articles, user has already seen
|
|
36
|
-
*/
|
|
37
|
-
export interface SeenArticle {
|
|
38
|
-
/**
|
|
39
|
-
* How many times the article has been seen
|
|
40
|
-
* (one count is added only if the article has been seen after 12 hours from the last seen time)
|
|
41
|
-
*/
|
|
42
|
-
count: number;
|
|
43
|
-
|
|
44
|
-
/**
|
|
45
|
-
* Marks beginning of 12h interval
|
|
46
|
-
*/
|
|
47
|
-
seen: Timestamp;
|
|
48
|
-
|
|
49
|
-
/**
|
|
50
|
-
* Article was liked by user
|
|
51
|
-
*/
|
|
52
|
-
liked?: boolean;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
export interface SeenStory {
|
|
56
|
-
/**
|
|
57
|
-
* Timestamp when was story seen
|
|
58
|
-
*/
|
|
59
|
-
seen: Timestamp;
|
|
60
|
-
|
|
61
|
-
/**
|
|
62
|
-
* Story was liked by user
|
|
63
|
-
*/
|
|
64
|
-
liked?: boolean;
|
|
65
|
-
}
|
|
20
|
+
};
|
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
import { Timestamp } from '@windy/types.d';
|
|
2
|
-
import { Fav, type ObsoleteFav } from '@windy/favs.d';
|
|
3
|
-
import { SearchRecent } from '@plugins/search/search';
|
|
4
2
|
|
|
5
3
|
export interface StorageData {
|
|
6
4
|
/** @deprecated replaced by IDB */
|
|
@@ -43,15 +41,6 @@ export interface StorageData {
|
|
|
43
41
|
* Other dynamically add storage data
|
|
44
42
|
*/
|
|
45
43
|
[ident: string]: unknown | null;
|
|
46
|
-
|
|
47
|
-
/** @deprecated & replaced by IDB */
|
|
48
|
-
[key: `recents${number}`]: Record<string, SearchRecent> | null;
|
|
49
|
-
|
|
50
|
-
/** @deprecated & replaced by IDB */
|
|
51
|
-
[key: `favs${number}`]: Record<string, Fav | ObsoleteFav> | null;
|
|
52
|
-
|
|
53
|
-
/** @deprecated & replaced by IDB */
|
|
54
|
-
[key: `favs${number}_ts`]: Timestamp | null;
|
|
55
44
|
}
|
|
56
45
|
|
|
57
46
|
export type StorageDataKey = keyof StorageData & string;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { SubscriptionInfo } from '@plugins/_shared/subscription-services/subscription-services.d';
|
|
2
1
|
import { SubTier, type ExternalPluginIdent } from '@windy/types.d';
|
|
3
2
|
import { FavFragment } from '@windy/favs';
|
|
3
|
+
|
|
4
|
+
import type { SubscriptionInfo } from '@plugins/shared/subscription-services/subscription-services.d';
|
|
4
5
|
import type { PluginsOpenParams } from '@windy/plugin-params';
|
|
5
6
|
|
|
6
7
|
export interface User {
|
|
@@ -107,6 +108,10 @@ export type LoginAndFinishAction =
|
|
|
107
108
|
action: 'colors';
|
|
108
109
|
params: PluginsOpenParams['colors'];
|
|
109
110
|
}
|
|
111
|
+
| {
|
|
112
|
+
action: 'external-plugins';
|
|
113
|
+
params: PluginsOpenParams['external-plugins'];
|
|
114
|
+
}
|
|
110
115
|
| {
|
|
111
116
|
action: 'openExternalPlugin';
|
|
112
117
|
params: {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import { HttpPayload } from '@windy/http.d';
|
|
1
2
|
import { LatLon } from '@windy/interfaces.d';
|
|
2
3
|
import { Timestamp } from '@windy/types.d';
|
|
3
|
-
import { HttpPayload } from '@windy/http.d';
|
|
4
4
|
|
|
5
5
|
export type WebcamCategoryType =
|
|
6
6
|
| 'landscape'
|
|
@@ -75,7 +75,6 @@ export interface WebcamImageUrls {
|
|
|
75
75
|
normal: string;
|
|
76
76
|
original: string;
|
|
77
77
|
preview: string;
|
|
78
|
-
teaserbg: string;
|
|
79
78
|
thumbnail: string;
|
|
80
79
|
webcam: string;
|
|
81
80
|
}
|
|
@@ -83,6 +82,8 @@ export interface WebcamImageUrls {
|
|
|
83
82
|
export type WebcamImageSize = keyof WebcamImageUrls;
|
|
84
83
|
|
|
85
84
|
export type WebcamTimelapseType = 'day' | 'current' | 'all';
|
|
85
|
+
|
|
86
|
+
// FIXME TODO: This type does not correspond to output form a backend. Fix the type
|
|
86
87
|
export interface WebcamDetail {
|
|
87
88
|
categories: WebcamCategoryType[];
|
|
88
89
|
contacts: { owner: string; caretaker: string };
|
|
@@ -153,6 +154,12 @@ export interface WebcamLastUpdatedOn {
|
|
|
153
154
|
lastUpdatedOn: number[];
|
|
154
155
|
}
|
|
155
156
|
|
|
157
|
+
export interface WebcamImageRequestParams {
|
|
158
|
+
webcamId: string | number;
|
|
159
|
+
state?: 'current' | 'daylight';
|
|
160
|
+
size?: WebcamImageSize;
|
|
161
|
+
}
|
|
162
|
+
|
|
156
163
|
export interface WebcamMetadata {
|
|
157
164
|
updateString: string;
|
|
158
165
|
recencyClass: string;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Loader service for new rendering engine
|
|
3
3
|
*/
|
|
4
|
-
import type { TransformFunction } from '@windy/
|
|
5
|
-
import type { TileParams } from '@windy/Renderer
|
|
4
|
+
import type { TransformFunction } from '@windy/types';
|
|
5
|
+
import type { TileParams } from '@windy/Renderer';
|
|
6
6
|
export declare class DataTile {
|
|
7
7
|
url: string;
|
|
8
8
|
status: 'undefined' | 'loaded' | 'loading' | 'failed';
|
package/types/client/embed.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import './leafletExt/CanvasLayer';
|
|
2
1
|
import './services/params';
|
|
3
2
|
import './pluginSystem/Plugin';
|
|
4
3
|
import './pluginSystem/SveltePlugin';
|
|
@@ -8,7 +7,6 @@ import './pluginSystem/pluginsCtrl';
|
|
|
8
7
|
import './ui/timeAnimation';
|
|
9
8
|
import './ui/visibility';
|
|
10
9
|
import './render/renderTile';
|
|
11
|
-
import './render/tileLayerInstance';
|
|
12
10
|
export * as detectDevice from './dummyModules/detectDevice';
|
|
13
11
|
export * as log from './dummyModules/log';
|
|
14
12
|
export * as promo from './dummyModules/promo';
|
|
@@ -33,9 +31,7 @@ export * as picker from './map/picker';
|
|
|
33
31
|
export * as singleclick from './map/singleclick';
|
|
34
32
|
export { default as plugins } from './pluginSystem/plugins';
|
|
35
33
|
export * as interpolator from './render/interpolator';
|
|
36
|
-
export { default as particleRenderers } from './render/particleRenderers';
|
|
37
34
|
export * as renderUtils from './render/renderUtils';
|
|
38
|
-
export * as DataTiler from './renderClasses/DataTiler';
|
|
39
35
|
export { default as colors } from './services/colors';
|
|
40
36
|
export * as connection from './services/connection';
|
|
41
37
|
export * as device from './services/device';
|
|
@@ -47,7 +43,6 @@ export * as trans from './services/trans';
|
|
|
47
43
|
export * as query from './ui/query';
|
|
48
44
|
export * as rhMessage from './ui/rhMessage';
|
|
49
45
|
export * as BottomSlide from './uiClasses/BottomSlide';
|
|
50
|
-
export * as ClickHandler from './uiClasses/ClickHandler';
|
|
51
46
|
export * as Drag from './uiClasses/Drag';
|
|
52
47
|
export * as Swipe from './uiClasses/Swipe';
|
|
53
48
|
export * as Window from './uiClasses/Window';
|
|
@@ -60,11 +55,11 @@ export { default as lruCache } from './utils/lruCache';
|
|
|
60
55
|
export { default as storage } from './utils/storage';
|
|
61
56
|
export * as subscription from './utils/subscription';
|
|
62
57
|
export * as utils from './utils/utils';
|
|
58
|
+
export * as EventManager from './utils/EventManager';
|
|
63
59
|
export { default as metrics } from './weather/metrics';
|
|
64
60
|
export * as models from './weather/models';
|
|
65
61
|
export { default as products } from './weather/products';
|
|
66
62
|
export * as Calendar from './weatherClasses/Calendar';
|
|
67
63
|
export * as Color from './weatherClasses/Color';
|
|
68
|
-
export * as IconProducts from './weatherClasses/IconProducts';
|
|
69
|
-
export { default as GlObj } from './wgUtils/GlObj';
|
|
70
64
|
export { $, bcast as broadcast, ga, overlays, store };
|
|
65
|
+
export * as glUtils from './glUtils/glUtils';
|
|
@@ -13,7 +13,7 @@ interface ErrorPayload {
|
|
|
13
13
|
platform: Platform;
|
|
14
14
|
device: Device;
|
|
15
15
|
ver: string;
|
|
16
|
-
target: 'index' | 'mobile' | 'embed' | 'lib'
|
|
16
|
+
target: 'index' | 'mobile' | 'embed' | 'lib';
|
|
17
17
|
msg: string;
|
|
18
18
|
timestamp: Timestamp;
|
|
19
19
|
runningMinutes: number;
|
|
@@ -27,10 +27,29 @@ interface ErrorPayload {
|
|
|
27
27
|
stack?: string;
|
|
28
28
|
repeated?: number;
|
|
29
29
|
latestBcast?: string;
|
|
30
|
+
network?: Record<string, string | number>;
|
|
30
31
|
}
|
|
31
32
|
/**
|
|
32
33
|
* Array of all errors reported to kibana, to show them in debug mode
|
|
33
34
|
* plugin
|
|
34
35
|
*/
|
|
35
36
|
export declare const sentErrors: ErrorPayload[];
|
|
37
|
+
/**
|
|
38
|
+
* Suspend further error reporting (for example after launching 3rd party plugin, that may cause errors)
|
|
39
|
+
*/
|
|
40
|
+
export declare const suspendErrorLogging: () => void;
|
|
41
|
+
/**
|
|
42
|
+
* Get NetworkInformation from navigator.connection if available
|
|
43
|
+
* https://developer.mozilla.org/en-US/docs/Web/API/Network_Information_API
|
|
44
|
+
* https://caniuse.com/netinfo
|
|
45
|
+
* @returns NetworkInformation or empty object
|
|
46
|
+
*/
|
|
47
|
+
export declare function getNetworkInformation(): {
|
|
48
|
+
downlink: any;
|
|
49
|
+
downlinkMax: any;
|
|
50
|
+
effectiveType: any;
|
|
51
|
+
rtt: any;
|
|
52
|
+
saveData: any;
|
|
53
|
+
type: any;
|
|
54
|
+
};
|
|
36
55
|
export {};
|
|
@@ -1,6 +1,10 @@
|
|
|
1
|
+
import { ExternalSveltePlugin } from '@windy/ExternalSveltePlugin';
|
|
1
2
|
import type { InstalledExternalPluginConfig } from '@windy/interfaces.d';
|
|
2
3
|
export type ExternalPluginError = {
|
|
3
4
|
type: 'network' | 'installation' | 'open';
|
|
4
5
|
msg: string;
|
|
5
6
|
};
|
|
6
|
-
export declare const installExternalPlugin: (url: string, installedBy: InstalledExternalPluginConfig['installedBy']) => Promise<InstalledExternalPluginConfig
|
|
7
|
+
export declare const installExternalPlugin: (url: string, installedBy: InstalledExternalPluginConfig['installedBy']) => Promise<InstalledExternalPluginConfig>;
|
|
8
|
+
export declare const loadExternalPlugins: () => Promise<ExternalSveltePlugin[]>;
|
|
9
|
+
/** Removes ext plugin */
|
|
10
|
+
export declare const removeExternalPlugin: (name: InstalledExternalPluginConfig['name']) => Promise<void>;
|