From 90fd508af68c9af08a0b389f4e04aa86ff80af66 Mon Sep 17 00:00:00 2001 From: ArnabChatterjee20k Date: Sat, 6 Sep 2025 17:42:06 +0530 Subject: [PATCH] Implement onChangePoint handlers for spatial input components and update related logic --- src/lib/elements/forms/inputLine.svelte | 12 +++- src/lib/elements/forms/inputPoint.svelte | 14 +++-- src/lib/elements/forms/inputPolygon.svelte | 19 ++++++ .../table-[table]/columns/line.svelte | 9 +-- .../table-[table]/columns/point.svelte | 9 ++- .../table-[table]/columns/polygon.svelte | 7 ++- .../rows/columns/types/line.svelte | 10 +++- .../rows/columns/types/point.svelte | 10 +++- .../rows/columns/types/polygon.svelte | 60 +++++++++++++++++-- 9 files changed, 127 insertions(+), 23 deletions(-) diff --git a/src/lib/elements/forms/inputLine.svelte b/src/lib/elements/forms/inputLine.svelte index 5fc0089e7..0ba31634a 100644 --- a/src/lib/elements/forms/inputLine.svelte +++ b/src/lib/elements/forms/inputLine.svelte @@ -9,12 +9,20 @@ export let disableDeletePointsCountPerLine: number = 2; export let onAddPoint: (index: number) => void; export let onDeletePoint: (index: number) => void = undefined; + export let onChangePoint: (pointIndex: number, coordIndex: number, newValue: number) => void = + undefined; let required = true; $: required = nullable; let disableDeletePoints = false; $: disableDeletePoints = !values || values.length <= disableDeletePointsCountPerLine; + + function handlePointChange(pointIndex: number, coordIndex: number, newValue: number) { + if (onChangePoint) { + onChangePoint(pointIndex, coordIndex, newValue); + } + } @@ -25,7 +33,9 @@ values={value} deletePoints={true} disableDelete={disableDeletePoints} - onDeletePoint={() => onDeletePoint(index)} /> + onDeletePoint={() => onDeletePoint(index)} + onChangePoint={(coordIndex, newValue) => + handlePointChange(index, coordIndex, newValue)} /> {/each}