From 92f3e2b073801f8a7e5302c7f3af70639f84b3cd Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sun, 1 Jan 2023 17:13:22 +0100 Subject: js: Move tokenizer code to function. --- assets/js/mumi.js | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/assets/js/mumi.js b/assets/js/mumi.js index 151cb43..b37b138 100644 --- a/assets/js/mumi.js +++ b/assets/js/mumi.js @@ -65,6 +65,22 @@ var mumi = (function () { return result; }, }; + + var tokenizeText = function (input, options, tokenInput) { + let items = input.value.split(queryTokenizer).filter(entry => entry.trim() != ''); + let tokens = []; + for (item of items) { + if (possibleTokens.find(element => element.text == item)) { + tokens.push({text: item}); + } else { + tokens.push(options.freeTextToken(item)); + } + } + input.value = ""; + var existing = tokenInput.getTokens () || []; + tokenInput.setTokens(existing.concat(tokens)); + }; + var initTokenInput = function () { var inputElement = document.querySelector (".tokenInput input#query"); if (inputElement == null) { @@ -125,17 +141,7 @@ var mumi = (function () { /* tokenize existing input text */ if (inputElement.value.length > 0) { - let items = inputElement.value.split(queryTokenizer).filter(entry => entry.trim() != ''); - let tokens = []; - for (item of items) { - if (possibleTokens.find(element => element.text == item)) { - tokens.push({text: item}); - } else { - tokens.push(options.freeTextToken(item)); - } - } - inputElement.value = ""; - tokenInput.setTokens(tokens); + tokenizeText (inputElement, options, tokenInput); } inputElement.style.visibility = 'visible'; }; -- cgit v1.2.3