diff options
Diffstat (limited to 'app/assets/javascripts/filtered_search/filtered_search_visual_tokens.js.es6')
-rw-r--r-- | app/assets/javascripts/filtered_search/filtered_search_visual_tokens.js.es6 | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/app/assets/javascripts/filtered_search/filtered_search_visual_tokens.js.es6 b/app/assets/javascripts/filtered_search/filtered_search_visual_tokens.js.es6 index 124d1740767..33f9d2e2651 100644 --- a/app/assets/javascripts/filtered_search/filtered_search_visual_tokens.js.es6 +++ b/app/assets/javascripts/filtered_search/filtered_search_visual_tokens.js.es6 @@ -45,6 +45,34 @@ class FilteredSearchVisualTokens { static addSearchVisualToken(searchTerm) { FilteredSearchVisualTokens.addVisualTokenElement(searchTerm, null, true); } + + static getLastTokenPartial() { + const { lastVisualToken } = FilteredSearchVisualTokens.getLastVisualToken(); + + if (!lastVisualToken) return ''; + + const value = lastVisualToken.querySelector('.value'); + const name = lastVisualToken.querySelector('.name'); + + const valueText = value ? value.innerText : ''; + const nameText = name ? name.innerText : ''; + + return valueText || nameText; + } + + static removeLastTokenPartial() { + const { lastVisualToken } = FilteredSearchVisualTokens.getLastVisualToken(); + + if (lastVisualToken) { + const value = lastVisualToken.querySelector('.value'); + + if (value) { + lastVisualToken.removeChild(value); + } else { + lastVisualToken.parentElement.removeChild(lastVisualToken); + } + } + } } window.gl = window.gl || {}; |