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>
10 <div class="sf-toolbar-info-piece">
11 <b>{{ 'Initialized'|t }}</b>
12 <span>{{ collector.getInitializedServicesCount }} ({{ collector.getInitializedServicesWithoutWebprofilerCount }}
15 <div class="sf-toolbar-info-piece">
16 <b>{{ 'Available'|t }}</b>
17 <span>{{ collector.getServicesCount }}</span>
21 <div class="sf-toolbar-block">
22 <div class="sf-toolbar-icon">{{ icon|default('') }}</div>
23 <div class="sf-toolbar-info">{{ text|default('') }}</div>
28 <script id="services" type="text/template">
29 <h2 class="panel__title">{{ 'Services'|t }}</h2>
31 <input class="tabs__radio" type="radio" id="services" name="tabs" checked/>
32 <input class="tabs__radio" type="radio" id="http_middleware" name="tabs"/>
33 <ul class="tabs__tabs list--inline">
34 <li><label class="tabs__label" for="services">services</label></li>
35 <li><label class="tabs__label" for="http_middleware">middleware</label></li>
38 <div class="tabs__panels">
39 <div class="tabs__panel">
40 <form class="panel__toolbar">
41 <div class="panel__filter--text">
42 <input id="edit-sid" class="js--live-filter" placeholder="{{ 'ID'|t }}" type="text"/>
43 <label for="edit-sid" class="panel__filter-label">{{ 'ID'|t }}</label>
45 <div class="panel__filter--text">
46 <input id="edit-class" class="js--live-filter" placeholder="{{ 'Class'|t }}" type="text"/>
47 <label for="edit-class" class="panel__filter-label">{{ 'Class'|t }}</label>
49 <div class="panel__filter--text">
50 <input id="edit-tags" class="js--live-filter" placeholder="{{ 'Tags'|t }}" type="text"/>
51 <label for="edit-tags" class="panel__filter-label">{{ 'Tags'|t }}</label>
53 <div class="panel__filter--select">
54 <select id="edit-initialized" class="js--live-filter">
55 <option value="">{{ 'Any'|t }}</option>
56 <option value="1">{{ 'Yes'|t }}</option>
57 <option value="0">{{ 'No'|t }}</option>
59 <label for="edit-initialized" class="panel__filter-label">{{ 'Initialized'|t }}</label>
63 <% _.each( data.services, function( item, key ){ %>
65 <% clazz = Drupal.webprofiler.helpers.classLink({"file" : item.value.file, "class" :
67 <% depends = _.map(item.outEdges, function(el) { return el.id; }).join(', ') %>
68 <% tags = _.map(item.value.tags, function(el, key) { return key; }).join(', ') %>
70 <div class="panel__container"
71 data-wp-sid="<%- key %>"
72 data-wp-class="<%- item.value.class %>"
73 data-wp-tags="<%- tags %>"
74 data-wp-initialized="<%- (item.initialized) ? '1' : '0' %>">
76 <div class="panel__expand-header">
77 <ul class="list--inline">
79 <b>{{ 'ID'|t }}</b> <%- key %>
83 <b>{{ 'Class'|t }}</b> <%= clazz %>
87 <b>{{ 'Initialized'|t }}</b> <%- (item.initialized) ? '{{ 'Yes'|t }}' : '{{ 'No'|t }}' %>
89 <% if ( item.time ) { %>
91 <b>{{ 'Count'|t }}</b> <%- item.time.count %>
94 <b>{{ 'Time'|t }}</b> <%- Drupal.webprofiler.helpers.printTime(item.time.time) %>
98 <% if ( tags.length > 0 || depends.length > 0 ) { %>
99 <div class="button--flat l-right js--panel-toggle">{{ 'Info'|t }}</div>
103 <% if ( tags.length > 0 || depends.length > 0 ) { %>
104 <div class="panel__expand-content">
105 <div class="wp-query-arguments">
106 <table class="table--duo">
108 <th>{{ 'Tags'|t }}</th>
109 <td><%- (tags) ? tags : '-' %></td>
112 <th>{{ 'Depends'|t }}</th>
113 <td><%- (depends) ? depends : '-' %></td>
123 <div class="tabs__panel">
124 <div class="panel__container">
128 <th>{{ 'id'|t }}</th>
129 <th>{{ 'class'|t }}</th>
130 <th>{{ 'priority'|t }}</th>
134 <% _.each( data.http_middleware, function( item, key ){ %>
135 <% clazz = Drupal.webprofiler.helpers.classLink(item.value.handle_method) %>
138 <td><%= clazz %></td>
139 <td><%- item.value.tags.http_middleware[0].priority %></td>