2017-10-13 14:43:58 +02:00
|
|
|
import WrappedElement from './wrapped-element';
|
2017-12-18 13:06:38 +01:00
|
|
|
import { reduceToValues } from './../lib/utils';
|
2017-10-13 14:43:58 +02:00
|
|
|
|
|
|
|
export default class WrappedInput extends WrappedElement {
|
2018-05-21 18:01:03 +02:00
|
|
|
constructor({ element, classNames, delimiter }) {
|
|
|
|
super({ element, classNames });
|
|
|
|
this.delimiter = delimiter;
|
2017-10-13 14:43:58 +02:00
|
|
|
}
|
|
|
|
|
2018-04-24 13:54:45 +02:00
|
|
|
set value(items) {
|
|
|
|
const itemsFiltered = reduceToValues(items);
|
2018-05-21 18:01:03 +02:00
|
|
|
const itemsFilteredString = itemsFiltered.join(this.delimiter);
|
2018-04-24 13:54:45 +02:00
|
|
|
|
|
|
|
this.element.setAttribute('value', itemsFilteredString);
|
|
|
|
this.element.value = itemsFilteredString;
|
|
|
|
}
|
|
|
|
|
2018-04-25 10:20:59 +02:00
|
|
|
// @todo figure out why we need this? Perhaps a babel issue
|
2018-04-24 13:54:45 +02:00
|
|
|
get value() {
|
|
|
|
return super.value;
|
2017-10-18 14:05:07 +02:00
|
|
|
}
|
2017-10-13 14:43:58 +02:00
|
|
|
}
|