You are here

services.html.twig in Devel 8.3

{% block toolbar %}
    {% set icon %}
    <a href="{{ url("webprofiler.dashboard", {profile: token}, {fragment: 'services'}) }}" title="{{ 'Services'|t }}">
        <img width="20" height="28" alt="{{ 'Services'|t }}"
             src="data:image/png;base64,{{ collector.icon }}"/>
        <span class="sf-toolbar-info-piece-additional sf-toolbar-status">{{ collector.getInitializedServicesCount }}</span>
    </a>
    {% endset %}
    {% set text %}
    <div class="sf-toolbar-info-piece">
        <b>{{ 'Initialized'|t }}</b>
        <span>{{ collector.getInitializedServicesCount }} ({{ collector.getInitializedServicesWithoutWebprofilerCount }}
            )</span>
    </div>
    <div class="sf-toolbar-info-piece">
        <b>{{ 'Available'|t }}</b>
        <span>{{ collector.getServicesCount }}</span>
    </div>
    {% endset %}

    <div class="sf-toolbar-block">
        <div class="sf-toolbar-icon">{{ icon|default('') }}</div>
        <div class="sf-toolbar-info">{{ text|default('') }}</div>
    </div>
{% endblock %}

{% block panel %}
    <script id="services" type="text/template">
        <h2 class="panel__title">{{ 'Services'|t }}</h2>
        <div class="tabs">
            <input class="tabs__radio" type="radio" id="services" name="tabs" checked/>
            <input class="tabs__radio" type="radio" id="http_middleware" name="tabs"/>
            <ul class="tabs__tabs list--inline">
                <li><label class="tabs__label" for="services">services</label></li>
                <li><label class="tabs__label" for="http_middleware">middleware</label></li>
            </ul>

            <div class="tabs__panels">
                <div class="tabs__panel">
                    <form class="panel__toolbar">
                        <div class="panel__filter--text">
                            <input id="edit-sid" class="js--live-filter" placeholder="{{ 'ID'|t }}" type="text"/>
                            <label for="edit-sid" class="panel__filter-label">{{ 'ID'|t }}</label>
                        </div>
                        <div class="panel__filter--text">
                            <input id="edit-class" class="js--live-filter" placeholder="{{ 'Class'|t }}" type="text"/>
                            <label for="edit-class" class="panel__filter-label">{{ 'Class'|t }}</label>
                        </div>
                        <div class="panel__filter--text">
                            <input id="edit-tags" class="js--live-filter" placeholder="{{ 'Tags'|t }}" type="text"/>
                            <label for="edit-tags" class="panel__filter-label">{{ 'Tags'|t }}</label>
                        </div>
                        <div class="panel__filter--select">
                            <select id="edit-initialized" class="js--live-filter">
                                <option value="">{{ 'Any'|t }}</option>
                                <option value="1">{{ 'Yes'|t }}</option>
                                <option value="0">{{ 'No'|t }}</option>
                            </select>
                            <label for="edit-initialized" class="panel__filter-label">{{ 'Initialized'|t }}</label>
                        </div>
                    </form>

                    <% _.each( data.services, function( item, key ){ %>

                    <% clazz = Drupal.webprofiler.helpers.classLink({"file" : item.value.file, "class" :
                    item.value.class}) %>
                    <% depends = _.map(item.outEdges, function(el) { return el.id; }).join(', ') %>
                    <% tags = _.map(item.value.tags, function(el, key) { return key; }).join(', ') %>

                    <div class="panel__container"
                         data-wp-sid="<%- key %>"
                         data-wp-class="<%- item.value.class %>"
                         data-wp-tags="<%- tags %>"
                         data-wp-initialized="<%- (item.initialized) ? '1' : '0' %>">

                        <div class="panel__expand-header">
                            <ul class="list--inline">
                                <li>
                                    <b>{{ 'ID'|t }}</b> <%- key %>
                                </li>
                                <% if (clazz) { %>
                                <li>
                                    <b>{{ 'Class'|t }}</b> <%= clazz %>
                                </li>
                                <% } %>
                                <li>
                                    <b>{{ 'Initialized'|t }}</b> <%- (item.initialized) ? '{{ 'Yes'|t }}' : '{{ 'No'|t }}' %>
                                </li>
                                <% if ( item.time ) { %>
                                    <li>
                                        <b>{{ 'Count'|t }}</b> <%- item.time.count %>
                                    </li>
                                    <li>
                                        <b>{{ 'Time'|t }}</b> <%- Drupal.webprofiler.helpers.printTime(item.time.time) %>
                                    </li>
                                <% } %>
                            </ul>
                            <% if ( tags.length > 0 || depends.length > 0 ) { %>
                            <div class="button--flat l-right js--panel-toggle">{{ 'Info'|t }}</div>
                            <% } %>
                        </div>

                        <% if ( tags.length > 0 || depends.length > 0 ) { %>
                        <div class="panel__expand-content">
                            <div class="wp-query-arguments">
                                <table class="table--duo">
                                    <tr>
                                        <th>{{ 'Tags'|t }}</th>
                                        <td><%- (tags) ? tags : '-' %></td>
                                    </tr>
                                    <tr>
                                        <th>{{ 'Depends'|t }}</th>
                                        <td><%- (depends) ? depends : '-' %></td>
                                    </tr>
                                </table>
                            </div>
                        </div>
                        <% } %>
                    </div>
                    <% }); %>
                </div>

                <div class="tabs__panel">
                    <div class="panel__container">
                        <table>
                            <thead>
                            <tr>
                                <th>{{ 'id'|t }}</th>
                                <th>{{ 'class'|t }}</th>
                                <th>{{ 'priority'|t }}</th>
                            </tr>
                            </thead>
                            <tbody>
                            <% _.each( data.http_middleware, function( item, key ){ %>
                            <% clazz = Drupal.webprofiler.helpers.classLink(item.value.handle_method) %>
                            <tr>
                                <td><%- key %></td>
                                <td><%= clazz %></td>
                                <td><%- item.value.tags.http_middleware[0].priority %></td>
                            </tr>
                            <% }); %>
                            </tbody>
                        </table>
                    </div>
                </div>
            </div>
        </div>
    </script>
{% endblock %}

File

webprofiler/templates/Collector/services.html.twig
View source
  1. {% block toolbar %}
  2. {% set icon %}
  3. <a href="{{ url("webprofiler.dashboard", {profile: token}, {fragment: 'services'}) }}" title="{{ 'Services'|t }}">
  4. <img width="20" height="28" alt="{{ 'Services'|t }}"
  5. src="data:image/png;base64,{{ collector.icon }}"/>
  6. <span class="sf-toolbar-info-piece-additional sf-toolbar-status">{{ collector.getInitializedServicesCount }}</span>
  7. </a>
  8. {% endset %}
  9. {% set text %}
  10. <div class="sf-toolbar-info-piece">
  11. <b>{{ 'Initialized'|t }}</b>
  12. <span>{{ collector.getInitializedServicesCount }} ({{ collector.getInitializedServicesWithoutWebprofilerCount }}
  13. )</span>
  14. </div>
  15. <div class="sf-toolbar-info-piece">
  16. <b>{{ 'Available'|t }}</b>
  17. <span>{{ collector.getServicesCount }}</span>
  18. </div>
  19. {% endset %}
  20. <div class="sf-toolbar-block">
  21. <div class="sf-toolbar-icon">{{ icon|default('') }}</div>
  22. <div class="sf-toolbar-info">{{ text|default('') }}</div>
  23. </div>
  24. {% endblock %}
  25. {% block panel %}
  26. <script id="services" type="text/template">
  27. <h2 class="panel__title">{{ 'Services'|t }}</h2>
  28. <div class="tabs">
  29. <input class="tabs__radio" type="radio" id="services" name="tabs" checked/>
  30. <input class="tabs__radio" type="radio" id="http_middleware" name="tabs"/>
  31. <ul class="tabs__tabs list--inline">
  32. <li><label class="tabs__label" for="services">services</label></li>
  33. <li><label class="tabs__label" for="http_middleware">middleware</label></li>
  34. </ul>
  35. <div class="tabs__panels">
  36. <div class="tabs__panel">
  37. <form class="panel__toolbar">
  38. <div class="panel__filter--text">
  39. <input id="edit-sid" class="js--live-filter" placeholder="{{ 'ID'|t }}" type="text"/>
  40. <label for="edit-sid" class="panel__filter-label">{{ 'ID'|t }}</label>
  41. </div>
  42. <div class="panel__filter--text">
  43. <input id="edit-class" class="js--live-filter" placeholder="{{ 'Class'|t }}" type="text"/>
  44. <label for="edit-class" class="panel__filter-label">{{ 'Class'|t }}</label>
  45. </div>
  46. <div class="panel__filter--text">
  47. <input id="edit-tags" class="js--live-filter" placeholder="{{ 'Tags'|t }}" type="text"/>
  48. <label for="edit-tags" class="panel__filter-label">{{ 'Tags'|t }}</label>
  49. </div>
  50. <div class="panel__filter--select">
  51. <select id="edit-initialized" class="js--live-filter">
  52. <option value="">{{ 'Any'|t }}</option>
  53. <option value="1">{{ 'Yes'|t }}</option>
  54. <option value="0">{{ 'No'|t }}</option>
  55. </select>
  56. <label for="edit-initialized" class="panel__filter-label">{{ 'Initialized'|t }}</label>
  57. </div>
  58. </form>
  59. <% _.each( data.services, function( item, key ){ %>
  60. <% clazz = Drupal.webprofiler.helpers.classLink({"file" : item.value.file, "class" :
  61. item.value.class}) %>
  62. <% depends = _.map(item.outEdges, function(el) { return el.id; }).join(', ') %>
  63. <% tags = _.map(item.value.tags, function(el, key) { return key; }).join(', ') %>
  64. <div class="panel__container"
  65. data-wp-sid="<%- key %>"
  66. data-wp-class="<%- item.value.class %>"
  67. data-wp-tags="<%- tags %>"
  68. data-wp-initialized="<%- (item.initialized) ? '1' : '0' %>">
  69. <div class="panel__expand-header">
  70. <ul class="list--inline">
  71. <li>
  72. <b>{{ 'ID'|t }}</b> <%- key %>
  73. </li>
  74. <% if (clazz) { %>
  75. <li>
  76. <b>{{ 'Class'|t }}</b> <%= clazz %>
  77. </li>
  78. <% } %>
  79. <li>
  80. <b>{{ 'Initialized'|t }}</b> <%- (item.initialized) ? '{{ 'Yes'|t }}' : '{{ 'No'|t }}' %>
  81. </li>
  82. <% if ( item.time ) { %>
  83. <li>
  84. <b>{{ 'Count'|t }}</b> <%- item.time.count %>
  85. </li>
  86. <li>
  87. <b>{{ 'Time'|t }}</b> <%- Drupal.webprofiler.helpers.printTime(item.time.time) %>
  88. </li>
  89. <% } %>
  90. </ul>
  91. <% if ( tags.length > 0 || depends.length > 0 ) { %>
  92. <div class="button--flat l-right js--panel-toggle">{{ 'Info'|t }}</div>
  93. <% } %>
  94. </div>
  95. <% if ( tags.length > 0 || depends.length > 0 ) { %>
  96. <div class="panel__expand-content">
  97. <div class="wp-query-arguments">
  98. <table class="table--duo">
  99. <tr>
  100. <th>{{ 'Tags'|t }}</th>
  101. <td><%- (tags) ? tags : '-' %></td>
  102. </tr>
  103. <tr>
  104. <th>{{ 'Depends'|t }}</th>
  105. <td><%- (depends) ? depends : '-' %></td>
  106. </tr>
  107. </table>
  108. </div>
  109. </div>
  110. <% } %>
  111. </div>
  112. <% }); %>
  113. </div>
  114. <div class="tabs__panel">
  115. <div class="panel__container">
  116. <table>
  117. <thead>
  118. <tr>
  119. <th>{{ 'id'|t }}</th>
  120. <th>{{ 'class'|t }}</th>
  121. <th>{{ 'priority'|t }}</th>
  122. </tr>
  123. </thead>
  124. <tbody>
  125. <% _.each( data.http_middleware, function( item, key ){ %>
  126. <% clazz = Drupal.webprofiler.helpers.classLink(item.value.handle_method) %>
  127. <tr>
  128. <td><%- key %></td>
  129. <td><%= clazz %></td>
  130. <td><%- item.value.tags.http_middleware[0].priority %></td>
  131. </tr>
  132. <% }); %>
  133. </tbody>
  134. </table>
  135. </div>
  136. </div>
  137. </div>
  138. </div>
  139. </script>
  140. {% endblock %}