Set a message if no search results

This commit is contained in:
Robbie Antenesse 2019-05-09 15:14:46 -06:00
parent f85fa5185b
commit f2c786d3bc
2 changed files with 64 additions and 53 deletions

View File

@ -117,6 +117,9 @@ export function renderPartsOfSpeech() {
export function renderWords() { export function renderWords() {
let wordsHTML = ''; let wordsHTML = '';
let openEditForms = getOpenEditForms();
let words = false;
if (window.currentDictionary.words.length === 0) { if (window.currentDictionary.words.length === 0) {
wordsHTML = `<article class="entry"> wordsHTML = `<article class="entry">
<header> <header>
@ -126,12 +129,20 @@ export function renderWords() {
<dt class="definition">Use the Word Form to create words or click the Help button below!</dt> <dt class="definition">Use the Word Form to create words or click the Help button below!</dt>
</dl> </dl>
</article>`; </article>`;
} else {
words = getMatchingSearchWords();
if (words.length === 0) {
wordsHTML = `<article class="entry">
<header>
<h4 class="word">No Search Results</h4>
</header>
<dl>
<dt class="definition">Edit your search or filter to show words.</dt>
</dl>
</article>`;
} }
const words = getMatchingSearchWords();
const openEditForms = getOpenEditForms();
if (openEditForms.length > 0) { if (openEditForms.length > 0) {
// Clone the dom nodes // Clone the dom nodes
openEditForms.forEach((wordFormId, index) => { openEditForms.forEach((wordFormId, index) => {
@ -182,6 +193,7 @@ export function renderWords() {
</dl> </dl>
</article>`; </article>`;
}); });
}
document.getElementById('entries').innerHTML = wordsHTML; document.getElementById('entries').innerHTML = wordsHTML;
@ -200,7 +212,7 @@ export function renderWords() {
// Show Search Results // Show Search Results
const searchTerm = getSearchTerm(); const searchTerm = getSearchTerm();
const filters = getSearchFilters(); const filters = getSearchFilters();
let resultsText = searchTerm !== '' || !filters.allPartsOfSpeechChecked ? words.length.toString() + ' Results' : ''; let resultsText = searchTerm !== '' || !filters.allPartsOfSpeechChecked ? (words ? words.length : 0).toString() + ' Results' : '';
resultsText += !filters.allPartsOfSpeechChecked ? ' (Filtered)' : ''; resultsText += !filters.allPartsOfSpeechChecked ? ' (Filtered)' : '';
document.getElementById('searchResults').innerHTML = resultsText; document.getElementById('searchResults').innerHTML = resultsText;

View File

@ -36,7 +36,6 @@ export function getMatchingSearchWords() {
const matchingWords = window.currentDictionary.words.slice().filter(word => { const matchingWords = window.currentDictionary.words.slice().filter(word => {
if (!filters.allPartsOfSpeechChecked) { if (!filters.allPartsOfSpeechChecked) {
const partOfSpeech = word.partOfSpeech === '' ? 'Unclassified' : word.partOfSpeech; const partOfSpeech = word.partOfSpeech === '' ? 'Unclassified' : word.partOfSpeech;
console.log('partOfSpeech', partOfSpeech);
return filters.partsOfSpeech.hasOwnProperty(partOfSpeech) && filters.partsOfSpeech[partOfSpeech]; return filters.partsOfSpeech.hasOwnProperty(partOfSpeech) && filters.partsOfSpeech[partOfSpeech];
} }
return true; return true;