fix preventPaste (#707)

* what is preventPaste?

* fix preventPaste
This commit is contained in:
Konstantin Vyatkin 2019-10-29 13:35:20 -04:00 committed by Josh Johnson
parent b080bcda7d
commit 2e004015d5
2 changed files with 13 additions and 5 deletions

View file

@ -1871,6 +1871,7 @@ class Choices {
element: this._getTemplate('input', this._placeholderValue),
classNames: this.config.classNames,
type: this.passedElement.element.type,
preventPaste: !this.config.paste,
});
this.choiceList = new List({

View file

@ -1,12 +1,20 @@
import { sanitise } from '../lib/utils';
export default class Input {
constructor({ element, type, classNames, placeholderValue }) {
Object.assign(this, { element, type, classNames, placeholderValue });
/**
*
* @typedef {import('../../../types/index').Choices.passedElement} passedElement
* @typedef {import('../../../types/index').Choices.ClassNames} ClassNames
* @param {{element: HTMLInputElement, type: passedElement['type'], classNames: ClassNames, preventPaste: boolean }} p
*/
constructor({ element, type, classNames, preventPaste }) {
this.element = element;
this.type = type;
this.classNames = classNames;
this.preventPaste = preventPaste;
this.isFocussed = this.element === document.activeElement;
this.isDisabled = false;
this.isDisabled = element.disabled;
this._onPaste = this._onPaste.bind(this);
this._onInput = this._onInput.bind(this);
this._onFocus = this._onFocus.bind(this);
@ -112,8 +120,7 @@ export default class Input {
}
_onPaste(event) {
const { target } = event;
if (target === this.element && this.preventPaste) {
if (this.preventPaste) {
event.preventDefault();
}
}