tils-first-weather-widget
Version:
An example development EXB widget (Grant Caroll, spatial-innovation.co.nz)
63 lines (62 loc) • 1.86 kB
TypeScript
import Accessor from "@arcgis/core/core/Accessor.js";
import WeatherResponse from "../model/weather-response";
export interface IWeatherWidgetParameters {
weatherAPI: string | undefined;
weatherURL: string | undefined;
view: __esri.MapView | __esri.SceneView | undefined;
}
export declare const weatherType: {
SUNNY: string;
FOGGY: string;
CLOUDY: string;
RAINY: string;
SNOWY: string;
};
interface IWeatherCondition {
code: number;
day: string;
night: string;
icon: number;
esriCode: string;
}
export declare const weatherMatch: Array<IWeatherCondition>;
export default class WeatherWidgetViewModel extends Accessor {
currentWeather: WeatherResponse | undefined;
weatherAPI: string | undefined;
weatherURL: string | undefined;
environment: {} | undefined;
view: __esri.MapView | __esri.SceneView | undefined;
time: string;
constructor(params?: IWeatherWidgetParameters);
setEnvironment: () => void;
getCloud: () => number;
getFogCover: () => number;
getPrecipitation: (weatherCondition: IWeatherCondition) => 100 | 0 | 90 | 60 | 30;
getWeather: () => {
type: string;
cloudCover: number;
fogStrength?: undefined;
precipitation?: undefined;
snowCover?: undefined;
} | {
type: string;
fogStrength: number;
cloudCover?: undefined;
precipitation?: undefined;
snowCover?: undefined;
} | {
type: string;
cloudCover: number;
precipitation: number;
fogStrength?: undefined;
snowCover?: undefined;
} | {
type: string;
snowCover: string;
cloudCover: number;
precipitation: number;
fogStrength?: undefined;
};
getLatestWeather: (lat: number, long: number) => Promise<boolean>;
}
export {};