Members field now allows only integers

This commit is contained in:
a-ill
2023-08-01 18:19:40 +03:00
parent 60dcee4023
commit 7cdafeed3c
42 changed files with 626 additions and 48 deletions

View File

@@ -85,8 +85,8 @@ export function validateAge(event,input,callback) {
}
}
export function validatePosNumber(event,input,callback,max) {
event.returnValue = false
export function validatePosNumber(event,input,max) {
event.preventDefault()
var key
if (event.type === 'paste') {
key = event.clipboardData.getData('text/plain');
@@ -101,12 +101,9 @@ export function validatePosNumber(event,input,callback,max) {
if (val>max) {
input.value = max
}
if (callback!=undefined) {
callback(input.value)
}
}
else {
callback(input.value)
input.value = ""
}
}

View File

@@ -6,6 +6,7 @@
import { writable } from 'svelte/store';
import { loadLocaleContent, getData, sendData } from "/js/libraries/serverTools.js"
import { addMarkersEntries, translate } from "/js/libraries/mapTools.js"
import { validatePosNumber } from "/js/libraries/miscTools.js"
// Import components
import "/js/components/map-component.js"
@@ -369,7 +370,7 @@
<div id="members-input-wrapper" class="input-label-wrapper">
<label for="members-input">Members: </label>
<div class="input-wrapper">
<input bind:this={membersInput} id="members-input" type="text" value={1}>
<input bind:this={membersInput} id="members-input" type="number" value={1} on:input={(event) => validatePosNumber(event,membersInput,10000)}>
</div>
</div>
{/if}

View File

@@ -6,6 +6,7 @@
import { onMount, getContext } from 'svelte'
import { writable } from 'svelte/store'
import { getData, sendData } from "/js/libraries/serverTools.js"
import { validatePosNumber } from "/js/libraries/miscTools.js"
//Import components
import "/js/components/select-component.js"
@@ -259,7 +260,7 @@
<div class="save-button-wrapper">
<button bind:this={saveMembersButton} on:click={saveMembers} class="save-button" style="display: none">save</button>
</div>
<input bind:this={membersInput} id="membersInput" class="text-input" type="text" bind:value={inputMembers} on:click={() => showSaveButton(saveMembersButton,membersInput)}>
<input bind:this={membersInput} id="membersInput" class="text-input" type="number" bind:value={inputMembers} on:click={() => showSaveButton(saveMembersButton,membersInput)} on:input={(event) => validatePosNumber(event,membersInput,10000)}>
<button bind:this={pencilButtonMembers} class="text-input-pencil-button" on:click={() => {focus(membersInput)}}>
<object bind:this={pencilMembers} type="image/svg+xml" data="/img/profile/icons/pencil.svg" title="pencil-icon" class="pencil"></object>
</button>