Reordered the toolbar elements via service priorities

This commit is contained in:
Javier Eguiluz 2015-07-31 16:19:32 +02:00
parent f237ff1913
commit 5a571b6eca
3 changed files with 6 additions and 52 deletions

View File

@ -17,17 +17,17 @@
<services>
<service id="data_collector.config" class="%data_collector.config.class%" public="false">
<tag name="data_collector" template="@WebProfiler/Collector/config.html.twig" id="config" priority="255" />
<tag name="data_collector" template="@WebProfiler/Collector/config.html.twig" id="config" priority="-255" />
<call method="setKernel"><argument type="service" id="kernel" on-invalid="ignore" /></call>
</service>
<service id="data_collector.request" class="%data_collector.request.class%">
<tag name="kernel.event_subscriber" />
<tag name="data_collector" template="@WebProfiler/Collector/request.html.twig" id="request" priority="255" />
<tag name="data_collector" template="@WebProfiler/Collector/request.html.twig" id="request" priority="260" />
</service>
<service id="data_collector.ajax" class="Symfony\Bundle\FrameworkBundle\DataCollector\AjaxDataCollector" public="false">
<tag name="data_collector" template="@WebProfiler/Collector/ajax.html.twig" id="ajax" priority="255" />
<tag name="data_collector" template="@WebProfiler/Collector/ajax.html.twig" id="ajax" priority="256" />
</service>
<service id="data_collector.exception" class="%data_collector.exception.class%" public="false">
@ -46,13 +46,13 @@
</service>
<service id="data_collector.time" class="%data_collector.time.class%" public="false">
<tag name="data_collector" template="@WebProfiler/Collector/time.html.twig" id="time" priority="255" />
<tag name="data_collector" template="@WebProfiler/Collector/time.html.twig" id="time" priority="259" />
<argument type="service" id="kernel" on-invalid="ignore" />
<argument type="service" id="debug.stopwatch" on-invalid="ignore" />
</service>
<service id="data_collector.memory" class="%data_collector.memory.class%" public="false">
<tag name="data_collector" template="@WebProfiler/Collector/memory.html.twig" id="memory" priority="255" />
<tag name="data_collector" template="@WebProfiler/Collector/memory.html.twig" id="memory" priority="258" />
</service>
<service id="data_collector.router" class="%data_collector.router.class%" >

View File

@ -79,7 +79,7 @@
<service id="twig.profile" class="Twig_Profiler_Profile" />
<service id="data_collector.twig" class="Symfony\Bridge\Twig\DataCollector\TwigDataCollector" public="false">
<tag name="data_collector" template="@WebProfiler/Collector/twig.html.twig" id="twig" priority="255" />
<tag name="data_collector" template="@WebProfiler/Collector/twig.html.twig" id="twig" priority="257" />
<argument type="service" id="twig.profile" />
</service>

View File

@ -72,7 +72,6 @@ class TemplateManager
public function getTemplates(Profile $profile)
{
$templates = $this->getNames($profile);
$templates = $this->reorderTemplates($templates);
foreach ($templates as $name => $template) {
$templates[$name] = $this->twig->loadTemplate($template);
@ -136,49 +135,4 @@ class TemplateManager
return false;
}
/**
* It changes the default order of collector templates to show them in a
* different order which is better for design and aesthetic reasons.
*
* @param array $templates
*
* @return array
*/
private function reorderTemplates($templates)
{
$templates = $this->moveArrayElementToFirstPosition($templates, 'twig');
$templates = $this->moveArrayElementToFirstPosition($templates, 'memory');
$templates = $this->moveArrayElementToFirstPosition($templates, 'time');
$templates = $this->moveArrayElementToFirstPosition($templates, 'request');
$templates = $this->moveArrayElementToLastPosition($templates, 'config');
return $templates;
}
private function moveArrayElementToFirstPosition($array, $key)
{
if (!array_key_exists($key, $array)) {
return $array;
}
$value = $array[$key];
unset($array[$key]);
return array_merge(array($key => $value), $array);
}
private function moveArrayElementToLastPosition($array, $key)
{
if (!array_key_exists($key, $array)) {
return $array;
}
$value = $array[$key];
unset($array[$key]);
$array[$key] = $value;
return $array;
}
}