dual-data-picker
Version:
## Settings editableDiv : true This use div instead input. Usefull to eliminate autocomplete feature.
72 lines (55 loc) • 1.44 kB
JavaScript
export default class Option {
constructor(data) {
this.value = data.value;
this.label = data.label;
if (typeof data.selected == "undefined") {
data.selected = false;
}
this._selected = data.selected;
this._drawn = false;
this.makeHtml();
}
makeHtml() {
this.html = document.createElement("div");
this.html.setAttribute("data-value", this.value);
this.html.classList.add("dual-data-picker__option")
this.html.innerHTML = this.label + `
<div class="dual-data-picker__delete" data-value="`+this.value+`">-</div>
<div class="dual-data-picker__right-icon" data-value="`+this.value+`">></div>
`;
}
removeHtml() {
this.html.remove();
this.drawn = false;
}
get selected() {
return this._selected;
}
set selected(v) {
this._selected = v;
}
getHtml() {
return this.html;
}
set value(v) {
this._value = v;
}
set label(v) {
this._label = v;
}
get value() {
return this._value;
}
get label() {
return this._label;
}
set drawn(v) {
this._drawn = v;
}
get drawn() {
return this._drawn;
}
get search() {
return this.label;
}
}