Version 1
[yaffs-website] / web / modules / contrib / devel / webprofiler / templates / Profiler / webprofiler_loader.html.twig
1 <div id="webprofiler{{ token }}" class="sf-toolbar" style="display: none"></div>
2
3 <script>
4     Webprofiler = (function () {
5         "use strict";
6
7         var key = 'webprofiler/profiler/',
8
9                 getPreference = function (name) {
10                     if (!window.localStorage) {
11                         return null;
12                     }
13
14                     return localStorage.getItem(key + name);
15                 },
16
17                 setPreference = function (name, value) {
18                     if (!window.localStorage) {
19                         return null;
20                     }
21
22                     localStorage.setItem(key + name, value);
23                     return true;
24                 },
25
26                 load = function () {
27                     ajax('{{ profiler_url }}', function (result) {
28                         var toolbar = document.getElementById('webprofiler{{ token }}');
29                         toolbar.innerHTML = result;
30                         toolbar.style.display = 'block';
31
32                         if (getPreference('toolbar/displayState') == 'none') {
33                             document.getElementById('sfToolbarMainContent-{{ token }}').style.display = 'none';
34                             document.getElementById('sfToolbarClearer-{{ token }}').style.display = 'none';
35                             document.getElementById('sfMiniToolbar-{{ token }}').style.display = 'block';
36                         } else {
37                             document.getElementById('sfToolbarMainContent-{{ token }}').style.display = 'block';
38                             document.getElementById('sfToolbarClearer-{{ token }}').style.display = 'block';
39                             document.getElementById('sfMiniToolbar-{{ token }}').style.display = 'none';
40                         }
41
42                         var arr = toolbar.getElementsByTagName('script');
43                         for (var n = 0; n < arr.length; n++) {
44                             eval(arr[n].innerHTML);
45                         }
46                     });
47                 },
48
49                 ajax = function (url, callback, data) {
50                     try {
51                         var x = new (XMLHttpRequest || ActiveXObject)('MSXML2.XMLHTTP.3.0');
52                         x.open(data ? 'POST' : 'GET', url, 1);
53                         x.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
54                         x.setRequestHeader('Content-type', 'application/json');
55                         x.onreadystatechange = function () {
56                             x.readyState > 3 && x.status === 200 && callback && callback(x.responseText, x);
57                         };
58                         x.send(data);
59                     } catch (e) {
60                         window.console && console.log(e);
61                     }
62                 };
63
64         return {
65             getPreference: getPreference,
66             setPreference: setPreference,
67             load: load,
68             ajax: ajax
69         }
70     })();
71
72     Webprofiler.load();
73 </script>