Source IdentifyRightClick
Source IdentifyRightClick
Cette page est générée automatiquement à partir du dépôt local au moment de la génération de la documentation.
Fichiers inclus
packages/common/src/lib/widgets/identify-right-click/identify-right-click.declaration.tspackages/common/src/lib/widgets/identify-right-click/identify-right-click.config.tspackages/common/src/lib/widgets/identify-right-click/IdentifyRightClick.svelte
packages/common/src/lib/widgets/identify-right-click/identify-right-click.declaration.ts
import { widgetFactorySvelte, type WidgetProps } from '$lib/api/managers/widget';import { type IdentifyRightClickConfig, identifyRightClickConfigSchema } from './identify-right-click.config';import type { WidgetDeclaration } from '$lib/api/managers/widget/widget-declaration';
export const declaration = { factory: () => import('./IdentifyRightClick.svelte').then((IdentifyRightClick) => widgetFactorySvelte(IdentifyRightClick)), schema: () => identifyRightClickConfigSchema,} satisfies WidgetDeclaration;
export type IdentifyRightClickProps = WidgetProps<IdentifyRightClickConfig>;packages/common/src/lib/widgets/identify-right-click/identify-right-click.config.ts
import { defineWidgetConfig, inToolbarSchemaFrom } from '$lib/api/managers/configuration';import { z } from 'zod';import { hiddenContainerId } from '$lib/components/containers/hidden/hidden.schema';
export const identifyRightClickConfigSchema = defineWidgetConfig({ title: { fr: 'Identifier', nl: 'NL - Identifier', }, container: hiddenContainerId, inToolbar: inToolbarSchemaFrom(false), active: true, config: z .object({ identifyWidgetId: z.string().optional().default('identifyId'), centerOnClickedPoint: z.boolean().optional().default(false), }) .optional() .prefault({}),});
export type IdentifyRightClickConfig = z.infer<typeof identifyRightClickConfigSchema>;packages/common/src/lib/widgets/identify-right-click/IdentifyRightClick.svelte
<script lang="ts"> import { getMapManager } from '$lib/api/map'; import { onDestroy } from 'svelte'; import { getWidgetManager } from '$lib/api/managers/widget'; import type Identify from '$lib/widgets/identify/Identify.svelte'; import type { IdentifyRightClickProps } from './identify-right-click.declaration';
let { fullConfig }: IdentifyRightClickProps = $props(); const { config } = fullConfig;
const mapManager = getMapManager(); const zoom = mapManager.tools.zoom; const widgetManager = getWidgetManager();
const onRightClickUnsubscribe = mapManager.tools.events.on('rightClick', async (point) => { widgetManager .getReference<Identify>(config.identifyWidgetId) .activate() .then((widget) => { widget?.updatePoint(point); }); if (config.centerOnClickedPoint) { await zoom.zoomToPoint(point); } });
onDestroy(() => { onRightClickUnsubscribe(); });</script>