|
Template:MindTouch > Reports > Controls > SearchTermsCloud
SearchTermsCloudTable of contentsNo headers/** * Terms Cloud * Provides a visual cloud of commonly searched terms */ var uri = $uri ?? page.uri; var limit = $limit ?? 20; var dateSince = $dateSince; var dateBefore = $dateBefore ?? date.now; var term = $term; // fetch the terms var queryTerms = searchanalytics.Terms{ limit: limit, since: dateSince, before: dateBefore }; if (#queryTerms.terms < 1) { <div class="no-results"> <div class="no-results-text"> wiki.localize("MindTouch.SearchAnalytics.data.empty") </div> </div> } else { // Begin output <div class="mt-search-terms-cloud"> // results output var max = list.reduce(queryTerms.terms, "(($item.count >= $value) ? $item.count : $value)", 0); // sort terms alphabetically var alphaTerms = list.sort(queryTerms.terms, "term"); <ul class="terms"> foreach (var queryTerm in alphaTerms) { var average = queryTerm.count / max; var class = "term rate-"; if (average > .75) { let class ..= "fire"; } else if (average > .5) { let class ..= "high"; } else if (average > .25) { let class ..= "med"; } else { let class ..= "low"; } if (term == queryTerm.term) { let class ..= " active"; } <li class=(class)> <a href=(uri & {term: queryTerm.term})>queryTerm.term</a> </li> } </ul> </div> } // end no-results |