diff --git a/tracker/tracker/src/main/modules/input.ts b/tracker/tracker/src/main/modules/input.ts index 55edb8d59..81172c402 100644 --- a/tracker/tracker/src/main/modules/input.ts +++ b/tracker/tracker/src/main/modules/input.ts @@ -19,9 +19,8 @@ function isTextEditable(node: any): node is TextEditableElement { if (!hasTag(node, "INPUT")) { return false; } - const type = node.type; - return INPUT_TYPES.includes(type) + return INPUT_TYPES.includes(node.type) } function isCheckable(node: any): node is HTMLInputElement { @@ -88,7 +87,7 @@ export interface Options { obscureInputNumbers: boolean; obscureInputEmails: boolean; defaultInputMode: InputMode; - obscureDateInputs: boolean; + obscureInputDates: boolean; } export default function (app: App, opts: Partial): void { @@ -97,7 +96,7 @@ export default function (app: App, opts: Partial): void { obscureInputNumbers: true, obscureInputEmails: true, defaultInputMode: InputMode.Plain, - obscureDateInputs: false, + obscureInputDates: false, }, opts, ); @@ -110,16 +109,13 @@ export default function (app: App, opts: Partial): void { function sendInputValue(id: number, node: TextEditableElement | HTMLSelectElement): void { let value = node.value; let inputMode: InputMode = options.defaultInputMode; - if (node.type === 'date') { - if (options.obscureDateInputs) { - inputMode = InputMode.Obscured - } - } else if (node.type === 'password' || hasOpenreplayAttribute(node, 'hidden')) { + if (node.type === 'password' || hasOpenreplayAttribute(node, 'hidden')) { inputMode = InputMode.Hidden; } else if ( hasOpenreplayAttribute(node, 'obscured') || (inputMode === InputMode.Plain && - ((options.obscureInputNumbers && /\d\d\d\d/.test(value)) || + ((options.obscureInputNumbers && /\d\d\d\d/.test(value) && node.type !== 'date') || + (options.obscureInputDates && node.type === 'date') || (options.obscureInputEmails && (node.type === 'email' || !!~value.indexOf('@'))))) ) {