feat: add project-aware agent workspace
This commit is contained in:
@@ -61,7 +61,7 @@ const stateOpacity = (state: "hovered" | "selected"): ExpressionSpecification =>
|
||||
type Layer = NonNullable<StyleSpecification["layers"]>[number];
|
||||
|
||||
export type ScadaImageRegistrationResult = {
|
||||
status: "ready" | "degraded" | "unavailable";
|
||||
status: "ready" | "degraded" | "unavailable" | "cancelled";
|
||||
failedImageIds: string[];
|
||||
};
|
||||
|
||||
@@ -226,12 +226,15 @@ export const scadaFallbackLayers = [
|
||||
];
|
||||
|
||||
export async function registerScadaImages(
|
||||
map: Pick<MapLibreMap, "loadImage" | "addImage" | "hasImage">
|
||||
map: Pick<MapLibreMap, "loadImage" | "addImage" | "hasImage">,
|
||||
signal?: AbortSignal
|
||||
): Promise<ScadaImageRegistrationResult> {
|
||||
if (signal?.aborted) return { status: "cancelled", failedImageIds: [] };
|
||||
let pressure: Awaited<ReturnType<typeof loadImage>>;
|
||||
|
||||
try {
|
||||
pressure = await loadImage(map, SCADA_MAP_ICON_PATHS.pressure);
|
||||
if (signal?.aborted) return { status: "cancelled", failedImageIds: [] };
|
||||
addImageIfMissing(map, SCADA_IMAGE_IDS.pressure, pressure);
|
||||
} catch {
|
||||
return { status: "unavailable", failedImageIds: Object.values(SCADA_IMAGE_IDS) };
|
||||
@@ -245,8 +248,10 @@ export async function registerScadaImages(
|
||||
|
||||
try {
|
||||
const image = await loadImage(map, path);
|
||||
if (signal?.aborted) return { status: "cancelled", failedImageIds };
|
||||
addImageIfMissing(map, imageId, image);
|
||||
} catch {
|
||||
if (signal?.aborted) return { status: "cancelled", failedImageIds };
|
||||
failedImageIds.push(imageId);
|
||||
try {
|
||||
addImageIfMissing(map, imageId, pressure);
|
||||
|
||||
Reference in New Issue
Block a user