diff options
Diffstat (limited to 'inc/awesomplete-multiple-tags.js')
-rw-r--r-- | inc/awesomplete-multiple-tags.js | 66 |
1 files changed, 0 insertions, 66 deletions
diff --git a/inc/awesomplete-multiple-tags.js b/inc/awesomplete-multiple-tags.js deleted file mode 100644 index c38dc38e..00000000 --- a/inc/awesomplete-multiple-tags.js +++ /dev/null | |||
@@ -1,66 +0,0 @@ | |||
1 | /** @licstart The following is the entire license notice for the | ||
2 | * JavaScript code in this page. | ||
3 | * | ||
4 | * Copyright: (c) 2011-2015 Sébastien SAUVAGE <sebsauvage@sebsauvage.net> | ||
5 | * (c) 2011-2017 The Shaarli Community, see AUTHORS | ||
6 | * | ||
7 | * This software is provided 'as-is', without any express or implied warranty. | ||
8 | * In no event will the authors be held liable for any damages arising from | ||
9 | * the use of this software. | ||
10 | * | ||
11 | * Permission is granted to anyone to use this software for any purpose, | ||
12 | * including commercial applications, and to alter it and redistribute it | ||
13 | * freely, subject to the following restrictions: | ||
14 | * | ||
15 | * 1. The origin of this software must not be misrepresented; you must not | ||
16 | * claim that you wrote the original software. If you use this software | ||
17 | * in a product, an acknowledgment in the product documentation would | ||
18 | * be appreciated but is not required. | ||
19 | * | ||
20 | * 2. Altered source versions must be plainly marked as such, and must | ||
21 | * not be misrepresented as being the original software. | ||
22 | * | ||
23 | * 3. This notice may not be removed or altered from any source distribution. | ||
24 | * | ||
25 | * @licend The above is the entire license notice | ||
26 | * for the JavaScript code in this page. | ||
27 | */ | ||
28 | |||
29 | var awp = Awesomplete.$; | ||
30 | var autocompleteFields = document.querySelectorAll('input[data-multiple]'); | ||
31 | [].forEach.call(autocompleteFields, function(autocompleteField) { | ||
32 | awesomplete = new Awesomplete(awp(autocompleteField), { | ||
33 | filter: function (text, input) { | ||
34 | return Awesomplete.FILTER_CONTAINS(text, input.match(/[^ ]*$/)[0]); | ||
35 | }, | ||
36 | replace: function (text) { | ||
37 | var before = this.input.value.match(/^.+ \s*|/)[0]; | ||
38 | this.input.value = before + text + " "; | ||
39 | }, | ||
40 | minChars: 1 | ||
41 | }) | ||
42 | }); | ||
43 | |||
44 | /** | ||
45 | * Remove already selected items from autocompletion list. | ||
46 | * HTML list is never updated, so removing a tag will add it back to awesomplete. | ||
47 | * | ||
48 | * FIXME: This a workaround waiting for awesomplete to handle this. | ||
49 | * https://github.com/LeaVerou/awesomplete/issues/16749 | ||
50 | */ | ||
51 | function awesompleteUniqueTag(selector) { | ||
52 | var input = document.querySelector(selector); | ||
53 | input.addEventListener('input', function() | ||
54 | { | ||
55 | proposedTags = input.getAttribute('data-list').replace(/,/g, '').split(' '); | ||
56 | reg = /(\w+) /g; | ||
57 | while((match = reg.exec(input.value)) !== null) { | ||
58 | id = proposedTags.indexOf(match[1]); | ||
59 | if(id != -1 ) { | ||
60 | proposedTags.splice(id, 1); | ||
61 | } | ||
62 | } | ||
63 | |||
64 | awesomplete.list = proposedTags; | ||
65 | }); | ||
66 | } | ||