cubicweb/pyramid/debug_toolbar_templates/registry_decisions.dbtmako
author Simon Chabot <simon.chabot@logilab.fr>
Thu, 12 Mar 2020 15:38:51 +0100
changeset 12930 665f66e57fc6
parent 12776 3cbcbaead477
permissions -rw-r--r--
[debugtoolbar] Make SQL and RQL tables sortable It's usefull to sort query by duration for instance.

<%def name="render_object(obj)">
% if hasattr(obj, "__name__"):
    ${obj.__module__}.${obj.__name__}
% else:
    ${obj}
% endif
</%def>

<table class="table table-bordered table-striped">
    <tr>
        <th>Result</th>
        <th>Decision</th>
    </tr>
    <tr></tr>
% for registry_decision in registry_decisions:
    <tr>
        <td colspan="2"><b>${repr(registry_decision["key"])} -&gt; ${render_object(registry_decision["winner"])} ${source_code_url(registry_decision["winner"]) | n}</b></td>
    </tr>
    <tr>
        <td>
            <p>End score: ${registry_decision["end_score"]}</p>
            <div class="highlight-inline">args: ${highlight(registry_decision["args"], "html") | n}</div>
            <div>kwargs:
                <ul>
                % for key, value in registry_decision["kwargs"].items():
                    <li>${repr(key)}: ${repr(value)}</li>
                % endfor
                </ul>
            </div>
        </td>

        <td>
            <ul>
                % for obj in registry_decision["all_objects"]:
                <li>
                    ${obj["score"]}: ${render_object(obj["object"])} ${source_code_url(obj["object"]) | n}
                </li>
                % endfor
            </ul>
        </td>

    </tr>

% endfor
</table>
<style>
${generate_css() | n}

.highlight-inline {
    margin: 0 0 10px; /* like <p> */
}

.highlight-inline > .highlight {
    display: inline;
}

.highlight > pre {
    word-break: unset;
    border: none;
    margin: 0;
    padding: 0;
    background-color: unset;
    display: inline;
}
</style>