mirror of
https://github.com/immich-app/immich.git
synced 2025-11-25 12:00:42 +09:00
feat(web): pasting coordinates (#11866)
This commit is contained in:
@@ -14,14 +14,32 @@
|
||||
onUpdate(lat, lng);
|
||||
}
|
||||
};
|
||||
|
||||
const onPaste = (event: ClipboardEvent) => {
|
||||
const coords = event.clipboardData?.getData('text/plain')?.split(',');
|
||||
if (!coords || coords.length !== 2) {
|
||||
return;
|
||||
}
|
||||
|
||||
const [latitude, longitude] = coords.map((coord) => Number.parseFloat(coord));
|
||||
if (Number.isNaN(latitude) || latitude < -90 || latitude > 90) {
|
||||
return;
|
||||
}
|
||||
if (Number.isNaN(longitude) || longitude < -180 || longitude > 180) {
|
||||
return;
|
||||
}
|
||||
|
||||
event.preventDefault();
|
||||
[lat, lng] = [latitude, longitude];
|
||||
};
|
||||
</script>
|
||||
|
||||
<div>
|
||||
<label class="immich-form-label" for="latitude-input-{id}">{$t('latitude')}</label>
|
||||
<NumberRangeInput id="latitude-input-{id}" min={-90} max={90} {onInput} bind:value={lat} />
|
||||
<NumberRangeInput id="latitude-input-{id}" min={-90} max={90} {onInput} {onPaste} bind:value={lat} />
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<label class="immich-form-label" for="longitude-input-{id}">{$t('longitude')}</label>
|
||||
<NumberRangeInput id="longitude-input-{id}" min={-180} max={180} {onInput} bind:value={lng} />
|
||||
<NumberRangeInput id="longitude-input-{id}" min={-180} max={180} {onInput} {onPaste} bind:value={lng} />
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user