From e9a0dfe68eb477c35cefedeab19529a0f4f42dd2 Mon Sep 17 00:00:00 2001 From: Avior Date: Tue, 8 Oct 2019 17:31:30 +0200 Subject: [PATCH] Added a `formatValue` function --- FMInput.ts | 8 +++++++- FormManager.ts | 4 ++-- modules/FMDatalistInput.ts | 4 ++-- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/FMInput.ts b/FMInput.ts index 7e38f01..8ac047f 100644 --- a/FMInput.ts +++ b/FMInput.ts @@ -31,7 +31,13 @@ export default class FMInput { * @memberof FMInput */ getValue(): any { - return this.element.value + return this.formatValue(this.element.value) + } + + formatValue(value: any): any { + if (!isNaN(Number(value))) return Number(value) + return value + } getDefault(args: string): any { diff --git a/FormManager.ts b/FormManager.ts index e6edab3..f6cde67 100644 --- a/FormManager.ts +++ b/FormManager.ts @@ -248,7 +248,7 @@ export default class FormManager { * @returns {boolean} return if the content was sent or not * @memberof FormManager */ - public submit(url: string, callback?: (this: XMLHttpRequest, ev: ProgressEvent) => any, verify: boolean = true): boolean { + public submit(url: string, callback?: (this: XMLHttpRequest, ev: ProgressEvent) => void, verify: boolean = true): boolean { if (verify && !this.verify()) return false let ajax = new XMLHttpRequest ajax.open("POST", url, true) @@ -264,7 +264,7 @@ export default class FormManager { * @memberof FormManager */ public getJSON(): any { - const jsonObject:any = {} + const jsonObject: any = {} for (const name in this.inputs) { if (this.inputs.hasOwnProperty(name)) { const input = this.inputs[name]; diff --git a/modules/FMDatalistInput.ts b/modules/FMDatalistInput.ts index 33dbd95..8ac1537 100644 --- a/modules/FMDatalistInput.ts +++ b/modules/FMDatalistInput.ts @@ -33,9 +33,9 @@ export default class FMDatalistInput extends FMInput { getValue(): string { if (this.datalist) { let option: HTMLOptionElement = this.datalist.querySelector(`[value="${this.element.value}"]`) - if (option) return option.dataset.value + if (option) return this.formatValue(option.dataset.value) } - return this.isStrict ? undefined : this.element.value + return this.isStrict ? undefined : this.formatValue(this.element.value) } }