]>
git.immae.eu Git - github/shaarli/Shaarli.git/blob - assets/vintage/js/base.js
1 import Awesomplete
from 'awesomplete';
2 import 'awesomplete/awesomplete.css';
5 const awp
= Awesomplete
.$;
6 const autocompleteFields
= document
.querySelectorAll('input[data-multiple]');
7 [...autocompleteFields
].forEach((autocompleteField
) => {
8 const awesomplete
= new Awesomplete(awp(autocompleteField
));
9 awesomplete
.filter
= (text
, input
) => Awesomplete
.FILTER_CONTAINS(text
, input
.match(/[^ ]*$/)[0]);
10 awesomplete
.replace
= (text
) => {
11 const before
= awesomplete
.input
.value
.match(/^.+ \s
*|/)[0];
12 awesomplete
.input
.value
= `${before}${text} `;
14 awesomplete
.minChars
= 1;
16 autocompleteField
.addEventListener('input', () => {
17 const proposedTags
= autocompleteField
.getAttribute('data-list').replace(/,/g
, '').split(' ');
18 const reg
= /(\w+) /g;
20 while ((match
= reg
.exec(autocompleteField
.value
)) !== null) {
21 const id
= proposedTags
.indexOf(match
[1]);
23 proposedTags
.splice(id
, 1);
27 awesomplete
.list
= proposedTags
;