vendor/symfony/web-profiler-bundle/Resources/views/Profiler/toolbar_js.html.twig line 1

Open in your IDE?
  1. <div id="sfwdt{{ token }}" class="sf-toolbar sf-display-none"></div>
  2. {{ include('@WebProfiler/Profiler/base_js.html.twig') }}
  3. <style{% if csp_style_nonce %} nonce="{{ csp_style_nonce }}"{% endif %}>
  4.     {{ include('@WebProfiler/Profiler/toolbar.css.twig') }}
  5. </style>
  6. <script{% if csp_script_nonce %} nonce="{{ csp_script_nonce }}"{% endif %}>/*<![CDATA[*/
  7.     (function () {
  8.         Sfjs.load(
  9.             'sfwdt{{ token }}',
  10.             '{{ path("_wdt", { "token": token }) }}',
  11.             function(xhr, el) {
  12.                 /* Evaluate embedded scripts inside the toolbar */
  13.                 var i, scripts = [].slice.call(el.querySelectorAll('script'));
  14.                 for (i = 0; i < scripts.length; ++i) {
  15.                     eval(scripts[i].firstChild.nodeValue);
  16.                 }
  17.                 el.style.display = -1 !== xhr.responseText.indexOf('sf-toolbarreset') ? 'block' : 'none';
  18.                 if (el.style.display == 'none') {
  19.                     return;
  20.                 }
  21.                 if (Sfjs.getPreference('toolbar/displayState') == 'none') {
  22.                     document.getElementById('sfToolbarMainContent-{{ token }}').style.display = 'none';
  23.                     document.getElementById('sfToolbarClearer-{{ token }}').style.display = 'none';
  24.                     document.getElementById('sfMiniToolbar-{{ token }}').style.display = 'block';
  25.                 } else {
  26.                     document.getElementById('sfToolbarMainContent-{{ token }}').style.display = 'block';
  27.                     document.getElementById('sfToolbarClearer-{{ token }}').style.display = 'block';
  28.                     document.getElementById('sfMiniToolbar-{{ token }}').style.display = 'none';
  29.                 }
  30.                 /* Handle toolbar-info position */
  31.                 var toolbarBlocks = [].slice.call(el.querySelectorAll('.sf-toolbar-block'));
  32.                 for (i = 0; i < toolbarBlocks.length; ++i) {
  33.                     toolbarBlocks[i].onmouseover = function () {
  34.                         var toolbarInfo = this.querySelectorAll('.sf-toolbar-info')[0];
  35.                         var pageWidth = document.body.clientWidth;
  36.                         var elementWidth = toolbarInfo.offsetWidth;
  37.                         var leftValue = (elementWidth + this.offsetLeft) - pageWidth;
  38.                         var rightValue = (elementWidth + (pageWidth - this.offsetLeft)) - pageWidth;
  39.                         /* Reset right and left value, useful on window resize */
  40.                         toolbarInfo.style.right = '';
  41.                         toolbarInfo.style.left = '';
  42.                         if (elementWidth > pageWidth) {
  43.                             toolbarInfo.style.left = 0;
  44.                         }
  45.                         else if (leftValue > 0 && rightValue > 0) {
  46.                             toolbarInfo.style.right = (rightValue * -1) + 'px';
  47.                         } else if (leftValue < 0) {
  48.                             toolbarInfo.style.left = 0;
  49.                         } else {
  50.                             toolbarInfo.style.right = '0px';
  51.                         }
  52.                     };
  53.                 }
  54.                 Sfjs.addEventListener(document.getElementById('sfToolbarHideButton-{{ token }}'), 'click', function (event) {
  55.                     event.preventDefault();
  56.                     var p = this.parentNode;
  57.                     p.style.display = 'none';
  58.                     (p.previousElementSibling || p.previousSibling).style.display = 'none';
  59.                     document.getElementById('sfMiniToolbar-{{ token }}').style.display = 'block';
  60.                     Sfjs.setPreference('toolbar/displayState', 'none');
  61.                 });
  62.                 Sfjs.addEventListener(document.getElementById('sfToolbarMiniToggler-{{ token }}'), 'click', function (event) {
  63.                     event.preventDefault();
  64.                     var elem = this.parentNode;
  65.                     if (elem.style.display == 'none') {
  66.                         document.getElementById('sfToolbarMainContent-{{ token }}').style.display = 'none';
  67.                         document.getElementById('sfToolbarClearer-{{ token }}').style.display = 'none';
  68.                         elem.style.display = 'block';
  69.                     } else {
  70.                         document.getElementById('sfToolbarMainContent-{{ token }}').style.display = 'block';
  71.                         document.getElementById('sfToolbarClearer-{{ token }}').style.display = 'block';
  72.                         elem.style.display = 'none'
  73.                     }
  74.                     Sfjs.setPreference('toolbar/displayState', 'block');
  75.                 });
  76.                 Sfjs.renderAjaxRequests();
  77.                 Sfjs.addEventListener(document.querySelector('.sf-toolbar-block-ajax > .sf-toolbar-icon'), 'click', function (event) {
  78.                     event.preventDefault();
  79.                     Sfjs.toggleClass(this.parentNode, 'hover');
  80.                 });
  81.                 var dumpInfo = document.querySelector('.sf-toolbar-block-dump .sf-toolbar-info');
  82.                 if (null !== dumpInfo) {
  83.                     Sfjs.addEventListener(dumpInfo, 'sfbeforedumpcollapse', function () {
  84.                         dumpInfo.style.minHeight = dumpInfo.getBoundingClientRect().height+'px';
  85.                     });
  86.                     Sfjs.addEventListener(dumpInfo, 'mouseleave', function () {
  87.                         dumpInfo.style.minHeight = '';
  88.                     });
  89.                 }
  90.             },
  91.             function(xhr) {
  92.                 if (xhr.status !== 0) {
  93.                     var sfwdt = document.getElementById('sfwdt{{ token }}');
  94.                     sfwdt.innerHTML = '\
  95.                         <div class="sf-toolbarreset">\
  96.                             <div class="sf-toolbar-icon"><svg width="26" height="28" xmlns="http://www.w3.org/2000/svg" version="1.1" x="0px" y="0px" viewBox="0 0 26 28" enable-background="new 0 0 26 28" xml:space="preserve"><path fill="#FFFFFF" d="M13 0C5.8 0 0 5.8 0 13c0 7.2 5.8 13 13 13c7.2 0 13-5.8 13-13C26 5.8 20.2 0 13 0z M20 7.5 c-0.6 0-1-0.3-1-0.9c0-0.2 0-0.4 0.2-0.6c0.1-0.3 0.2-0.3 0.2-0.4c0-0.3-0.5-0.4-0.7-0.4c-2 0.1-2.5 2.7-2.9 4.8l-0.2 1.1 c1.1 0.2 1.9 0 2.4-0.3c0.6-0.4-0.2-0.8-0.1-1.3C18 9.2 18.4 9 18.7 8.9c0.5 0 0.8 0.5 0.8 1c0 0.8-1.1 2-3.3 1.9 c-0.3 0-0.5 0-0.7-0.1L15 14.1c-0.4 1.7-0.9 4.1-2.6 6.2c-1.5 1.8-3.1 2.1-3.8 2.1c-1.3 0-2.1-0.6-2.2-1.6c0-0.9 0.8-1.4 1.3-1.4 c0.7 0 1.2 0.5 1.2 1.1c0 0.5-0.2 0.6-0.4 0.7c-0.1 0.1-0.3 0.2-0.3 0.4c0 0.1 0.1 0.3 0.4 0.3c0.5 0 0.9-0.3 1.2-0.5 c1.3-1 1.7-2.9 2.4-6.2l0.1-0.8c0.2-1.1 0.5-2.3 0.8-3.5c-0.9-0.7-1.4-1.5-2.6-1.8c-0.8-0.2-1.3 0-1.7 0.4C8.4 10 8.6 10.7 9 11.1 l0.7 0.7c0.8 0.9 1.3 1.7 1.1 2.7c-0.3 1.6-2.1 2.8-4.3 2.1c-1.9-0.6-2.2-1.9-2-2.7c0.2-0.6 0.7-0.8 1.2-0.6 c0.5 0.2 0.7 0.8 0.6 1.3c0 0.1 0 0.1-0.1 0.3C6 15 5.9 15.2 5.9 15.3c-0.1 0.4 0.4 0.7 0.8 0.8c0.8 0.3 1.7-0.2 1.9-0.9 c0.2-0.6-0.2-1.1-0.4-1.2l-0.8-0.9c-0.4-0.4-1.2-1.5-0.8-2.8c0.2-0.5 0.5-1 0.9-1.4c1-0.7 2-0.8 3-0.6c1.3 0.4 1.9 1.2 2.8 1.9 c0.5-1.3 1.1-2.6 2-3.8c0.9-1 2-1.7 3.3-1.8C20 4.8 21 5.4 21 6.3C21 6.7 20.8 7.5 20 7.5z"/></svg></div>\
  97.                             An error occurred while loading the web debug toolbar. <a href="{{ path("_profiler", { "token": token }) }}">Open the web profiler.</a>\
  98.                         </div>\
  99.                     ';
  100.                     sfwdt.setAttribute('class', 'sf-toolbar sf-error-toolbar');
  101.                 }
  102.             },
  103.             { maxTries: 5 }
  104.         );
  105.     })();
  106. /*]]>*/</script>