COM-FSM
Template:MindTouch > Reports > Controls > SearchQueryDetails

SearchQueryDetails

Page last modified 14:15, 31 Oct 2010 by Admin
  • You do not have permissions to view this page - please try logging in.
Table of contents
No 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");
    &nbsp;;
    <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");
    &nbsp;;
    <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;
                        &nbsp;;
                        <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;
                        &nbsp;;
                        <span class="count">"(" .. query.count .. ")"</span>
                    </a>
                </li>
            }
        </ul>
    }
    </dd>
</dl>

// debugging
//web.pre(json.format(queryDetails));
Powered by MindTouch Core