|
Template:MindTouch > Reports > Controls > SearchQueryDetails
SearchQueryDetailsTable of contentsNo headers/** * Search Query Details Table * * @param uri $uri - base uri (default: page.uri) * @param map $params - query params to preserve * @param str $query - query to query for information */ var uri = $uri ?? page.uri; var params = $params ?? {}; var searchQuery = $query ?? ""; var dateSince = $dateSince; // nullable var dateBefore = $dateBefore ?? date.now; // fetch the results var queryDetails = searchanalytics.query{ querystring: searchQuery, since: dateSince, before: dateBefore }; // Begin output <h3 class="reports"> wiki.localize("MindTouch.SearchAnalytics.detail.selected"); ; <span class="terms">queryDetails.sortedterms</span> </h3> <table class="table mt-report-results"> Template('MindTouch/Controls/TableSortHeading', { uri: uri, params: params, columns: [ {width: "", label: wiki.localize("MindTouch.SearchAnalytics.data.result")}, {width: "25", label: wiki.localize("MindTouch.SearchAnalytics.data.hits")}, {width: "165", label: wiki.localize("MindTouch.SearchAnalytics.data.date.search")}, {width: "25", label: wiki.localize("MindTouch.SearchAnalytics.data.position.avg")}, {width: "25", label: wiki.localize("MindTouch.SearchAnalytics.data.position.min")}, {width: "25", label: wiki.localize("MindTouch.SearchAnalytics.data.position.max")} ] //enabled: (#queryDetails.selectedresults > 0) }); if (#queryDetails.selectedresults < 1) { <tr> <td colspan="6" class="ui-state-empty"> wiki.localize("MindTouch.SearchAnalytics.detail.selected.empty"); </td> </tr> } else { foreach (var result in queryDetails.selectedresults) { <tr> Template('MindTouch/Reports/Controls/TableCellResult', result); <td class="data-type-numeric"> result.count; </td> <td class="data-type-numeric"> Template("MindTouch/Controls/DateTime", [result.dateselected, "datetime"]); </td> <td class="data-type-numeric"> result.position.min; </td> <td class="data-type-numeric"> result.position.max; </td> <td class="data-type-numeric"> result.position.avg; </td> </tr> } } </table> <h3 class="reports"> wiki.localize("MindTouch.SearchAnalytics.detail.title"); ; <span class="terms">queryDetails.sortedterms</span> </h3> <dl class="mt-query"> <dt>wiki.localize("MindTouch.SearchAnalytics.detail.searched");</dt> <dd>Template("MindTouch/Controls/DateTime", [queryDetails.datesearched, "datetime"]);</dd> if (#queryDetails.queries > 1) { <dt>wiki.localize("MindTouch.SearchAnalytics.detail.related");</dt> <dd class="description"> wiki.localize("MindTouch.SearchAnalytics.detail.related.description"); </dd> <dd> <ul> var tip = wiki.localize("MindTouch.SearchAnalytics.detail.related.tip"); foreach (var rawQuery in queryDetails.queries) { <li> <a href=(site.homepage.uri & {search: rawQuery.raw}) target="_blank" title=(tip)> rawQuery.raw; ; <span class="count">"(" .. rawQuery.count .. ")"</span> </a> </li> } </ul> </dd> } <dt>wiki.localize("MindTouch.SearchAnalytics.detail.previous");</dt> <dd class="description"> wiki.localize("MindTouch.SearchAnalytics.detail.previous.description"); </dd> <dd> if (#queryDetails.previous < 1) { wiki.localize("MindTouch.SearchAnalytics.detail.previous.empty"); } else { <ul> foreach (var query in queryDetails.previous) { <li> <a href=(uri & params & {query: query.sortedterms})> query.sortedterms; ; <span class="count">"(" .. query.count .. ")"</span> </a> </li> } </ul> } </dd> </dl> // debugging //web.pre(json.format(queryDetails)); |