cubicweb/pyramid/debug_toolbar_templates/registry.dbtmako
author Laurent Peuch <cortex@worlddomination.be>
Fri, 27 Sep 2019 07:00:51 +0200
changeset 12776 3cbcbaead477
parent 12766 682d0790997f
permissions -rw-r--r--
[debug-toolbar] link to source code of all objects/classes Closes #17256791

% if vreg:

<div id="registry-store">
    <div class="row">
        <div class="col-md-3">
            <nav id="registry-store-categories">
                <ul class="nav nav-pills nav-stacked">
                    % for category in sorted(vreg.keys()):
                    <li role="presentation"><a href="#detail-${category}">${category}</a></li>
                    % endfor
                </ul>
            </nav>
        </div>

        <div class="col-md-9">
            % for category, data in sorted(vreg.items(), key=lambda x: x[0]):
            <div class="anchor">
                <a class="anchor" id="detail-${category}"></a>
                <h4>${category.title()}</h4>
                <table class="table table-bordered table-striped">
                    % for key, values in sorted(data.items(), key=lambda x: x[0]):
                    <tr>
                        <th>${key}</th>
                        <td>
                            <ul>
                                % for value in values:
                                <li>
                                    % if isinstance(value, type):
                                    ${value.__module__}.${value.__name__}
                                    % else:
                                    ${value}
                                    % endif
                                    ${source_code_url(value) | n}
                                    <ul>
                                        % if hasattr(value, "cw_etype"):
                                        <li>regid: '${value.cw_etype}'</li>
                                        % elif hasattr(value, "__regid__"):
                                        <li>regid: '${value.__regid__}'</li>
                                        % endif

                                        % if hasattr(value, "__select__"):
                                            <li>select: '${value.__select__}'</li>
                                            % if hasattr(value.__select__, "func_name"):
                                            <li>select name: '${value.__select__.func_name}'</li>
                                            % endif
                                            % if hasattr(value.__select__, "score"):
                                            <li>select score: '${value.__select__.score}'</li>
                                            % endif
                                        % endif

                                        <li>registries: ${value.__registries__}</li>

                                        % if hasattr(value, "rest_attr"):
                                        <li>rest_attr: '${value.rest_attr}'</li>
                                        % endif

                                        % if hasattr(value, "fetch_attrs"):
                                        <li>fetch_attrs: '${value.fetch_attrs}'</li>
                                        % endif

                                        % if hasattr(value, "cw_skip_copy_for"):
                                        <li>cw_skip_copy_for: '${value.cw_skip_copy_for}'</li>
                                        % endif

                                        % if hasattr(value, "e_schema"):
                                        <li>e_schema: '${value.e_schema}'</li>
                                        % endif
                                    </ul>
                                </li>
                                % endfor
                            </ul>
                        </td>
                    </tr>
                    % endfor
                </table>
            </div>
            % endfor
        </div>
    </div>
</div>

% else:
<p>No registry store got collected, is it a bug?</p>
% endif

<style>
a.anchor {
    display: block;
    position: relative;
    top: -150px;
    visibility: hidden;
}
</style>