Merge branch 'setup' of https://bitbucket.org/PekopT/archilance into setup
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 331 B After Width: | Height: | Size: 331 B |
|
Before Width: | Height: | Size: 504 B After Width: | Height: | Size: 504 B |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 380 B After Width: | Height: | Size: 380 B |
|
Before Width: | Height: | Size: 677 B After Width: | Height: | Size: 677 B |
|
Before Width: | Height: | Size: 392 B After Width: | Height: | Size: 392 B |
|
Before Width: | Height: | Size: 560 B After Width: | Height: | Size: 560 B |
|
Before Width: | Height: | Size: 655 B After Width: | Height: | Size: 655 B |
|
Before Width: | Height: | Size: 655 B After Width: | Height: | Size: 655 B |
|
Before Width: | Height: | Size: 436 B After Width: | Height: | Size: 436 B |
|
Before Width: | Height: | Size: 560 B After Width: | Height: | Size: 560 B |
|
Before Width: | Height: | Size: 458 B After Width: | Height: | Size: 458 B |
|
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 3.2 KiB |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 331 B After Width: | Height: | Size: 331 B |
|
Before Width: | Height: | Size: 280 B After Width: | Height: | Size: 280 B |
@ -0,0 +1,3 @@ |
|||||||
|
#djDebug { |
||||||
|
display:none; |
||||||
|
} |
||||||
@ -0,0 +1,658 @@ |
|||||||
|
/* http://www.positioniseverything.net/easyclearing.html */ |
||||||
|
#djDebug .djdt-clearfix:after { |
||||||
|
content: "."; |
||||||
|
display: block; |
||||||
|
height: 0; |
||||||
|
clear: both; |
||||||
|
visibility: hidden; |
||||||
|
} |
||||||
|
#djDebug .djdt-clearfix {display: inline-block;} |
||||||
|
/* Hides from IE-mac \*/ |
||||||
|
#djDebug .djdt-clearfix {display: block;} |
||||||
|
* html #djDebug .djdt-clearfix {height: 1%;} |
||||||
|
/* end hide from IE-mac */ |
||||||
|
|
||||||
|
/* Debug Toolbar CSS Reset, adapted from Eric Meyer's CSS Reset */ |
||||||
|
#djDebug {color:#000;background:#FFF;} |
||||||
|
#djDebug, #djDebug div, #djDebug span, #djDebug applet, #djDebug object, #djDebug iframe, |
||||||
|
#djDebug h1, #djDebug h2, #djDebug h3, #djDebug h4, #djDebug h5, #djDebug h6, #djDebug p, #djDebug blockquote, #djDebug pre, |
||||||
|
#djDebug a, #djDebug abbr, #djDebug acronym, #djDebug address, #djDebug big, #djDebug cite, #djDebug code, |
||||||
|
#djDebug del, #djDebug dfn, #djDebug em, #djDebug font, #djDebug img, #djDebug ins, #djDebug kbd, #djDebug q, #djDebug s, #djDebug samp, |
||||||
|
#djDebug small, #djDebug strike, #djDebug strong, #djDebug sub, #djDebug sup, #djDebug tt, #djDebug var, |
||||||
|
#djDebug b, #djDebug u, #djDebug i, #djDebug center, |
||||||
|
#djDebug dl, #djDebug dt, #djDebug dd, #djDebug ol, #djDebug ul, #djDebug li, |
||||||
|
#djDebug fieldset, #djDebug form, #djDebug label, #djDebug legend, |
||||||
|
#djDebug table, #djDebug caption, #djDebug tbody, #djDebug tfoot, #djDebug thead, #djDebug tr, #djDebug th, #djDebug td, |
||||||
|
#djDebug button { |
||||||
|
margin:0; |
||||||
|
padding:0; |
||||||
|
min-width:0; |
||||||
|
width:auto; |
||||||
|
border:0; |
||||||
|
outline:0; |
||||||
|
font-size:12px; |
||||||
|
line-height:1.5em; |
||||||
|
color:#000; |
||||||
|
vertical-align:baseline; |
||||||
|
background-color:transparent; |
||||||
|
font-family:sans-serif; |
||||||
|
text-align:left; |
||||||
|
text-shadow: none; |
||||||
|
-webkit-transition: none; |
||||||
|
-moz-transition: none; |
||||||
|
-o-transition: none; |
||||||
|
transition: none; |
||||||
|
} |
||||||
|
|
||||||
|
#djDebug button { |
||||||
|
background-color: #eee; |
||||||
|
background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #eee), color-stop(100%, #cccccc)); |
||||||
|
background-image: -webkit-linear-gradient(top, #eee, #cccccc); |
||||||
|
background-image: -moz-linear-gradient(top, #eee, #cccccc); |
||||||
|
background-image: -ms-linear-gradient(top, #eee, #cccccc); |
||||||
|
background-image: -o-linear-gradient(top, #eee, #cccccc); |
||||||
|
background-image: linear-gradient(top, #eee, #cccccc); |
||||||
|
border: 1px solid #ccc; |
||||||
|
border-bottom: 1px solid #bbb; |
||||||
|
-webkit-border-radius: 3px; |
||||||
|
-moz-border-radius: 3px; |
||||||
|
border-radius: 3px; |
||||||
|
color: #333; |
||||||
|
line-height: 1; |
||||||
|
padding: 0 8px; |
||||||
|
text-align: center; |
||||||
|
text-shadow: 0 1px 0 #eee; |
||||||
|
} |
||||||
|
|
||||||
|
#djDebug button:hover { |
||||||
|
background-color: #ddd; |
||||||
|
background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #ddd), color-stop(100%, #bbb)); |
||||||
|
background-image: -webkit-linear-gradient(top, #ddd, #bbb); |
||||||
|
background-image: -moz-linear-gradient(top, #ddd, #bbb); |
||||||
|
background-image: -ms-linear-gradient(top, #ddd, #bbb); |
||||||
|
background-image: -o-linear-gradient(top, #ddd, #bbb); |
||||||
|
background-image: linear-gradient(top, #ddd, #bbb); |
||||||
|
border-color: #bbb; |
||||||
|
border-bottom-color: #999; |
||||||
|
cursor: pointer; |
||||||
|
text-shadow: 0 1px 0 #ddd; |
||||||
|
} |
||||||
|
|
||||||
|
#djDebug button:active { |
||||||
|
border: 1px solid #aaa; |
||||||
|
border-bottom: 1px solid #888; |
||||||
|
-webkit-box-shadow: inset 0 0 5px 2px #aaa, 0 1px 0 0 #eee; |
||||||
|
-moz-box-shadow: inset 0 0 5px 2px #aaa, 0 1px 0 0 #eee; |
||||||
|
box-shadow: inset 0 0 5px 2px #aaa, 0 1px 0 0 #eee; |
||||||
|
} |
||||||
|
|
||||||
|
#djDebug #djDebugToolbar { |
||||||
|
background-color:#111; |
||||||
|
width:200px; |
||||||
|
z-index:100000000; |
||||||
|
position:fixed; |
||||||
|
top:0; |
||||||
|
bottom:0; |
||||||
|
right:0; |
||||||
|
opacity:0.9; |
||||||
|
overflow-y: auto; |
||||||
|
} |
||||||
|
|
||||||
|
#djDebug #djDebugToolbar small { |
||||||
|
color:#999; |
||||||
|
} |
||||||
|
|
||||||
|
#djDebug #djDebugToolbar ul { |
||||||
|
margin:0; |
||||||
|
padding:0; |
||||||
|
list-style:none; |
||||||
|
} |
||||||
|
|
||||||
|
#djDebug #djDebugToolbar li { |
||||||
|
border-bottom:1px solid #222; |
||||||
|
color:#fff; |
||||||
|
display:block; |
||||||
|
font-weight:bold; |
||||||
|
float:none; |
||||||
|
margin:0; |
||||||
|
padding:0; |
||||||
|
position:relative; |
||||||
|
width:auto; |
||||||
|
} |
||||||
|
|
||||||
|
#djDebug #djDebugToolbar input[type=checkbox] { |
||||||
|
float: right; |
||||||
|
margin: 10px; |
||||||
|
} |
||||||
|
|
||||||
|
#djDebug #djDebugToolbar li>a, |
||||||
|
#djDebug #djDebugToolbar li>div.djdt-contentless { |
||||||
|
font-weight:normal; |
||||||
|
font-style:normal; |
||||||
|
text-decoration:none; |
||||||
|
display:block; |
||||||
|
font-size:16px; |
||||||
|
padding:10px 10px 5px 25px; |
||||||
|
color:#fff; |
||||||
|
} |
||||||
|
#djDebug #djDebugToolbar li>div.djdt-disabled { |
||||||
|
font-style: italic; |
||||||
|
color: #999; |
||||||
|
} |
||||||
|
|
||||||
|
#djDebug #djDebugToolbar li a:hover { |
||||||
|
color:#111; |
||||||
|
background-color:#ffc; |
||||||
|
} |
||||||
|
|
||||||
|
#djDebug #djDebugToolbar li.djdt-active { |
||||||
|
background: #333 no-repeat left center; |
||||||
|
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAQAAAAngNWGAAABe0lEQVR4AW2SO0tDQRCFz+bGJxEUrKzsBBsb/4DYiIWdECvB/6CCYGtp6QNRjJ1FihSCVpZGMIhYSBAfIGKRx70xyY3JbrKOk7DJLp7DXm7Il9nMmREYQgQeAI1W1/zZUhR9ZI9gjSZb0iHMRSPbE1QzhhF2jN4H6YdRCHaPvOTjdDb1jWECBhiJoC1tg6Kotbw9WkxBoIUGaqiiQs8fSCj+t9qAIL1nlg9fKgSGKKNEJ2RUMqh7QCDIr58k31AlrIiA0CqhDTQJtUFAqsTFxjV85FGAz1XrkDZodPewkih8IkdwCRWu2U6VerQ0O3OzuTSJ/k62JiIXJI2NL0wBjDiTseQHW8fnGY6myf3+Dz49x88+vjr9SoPaoG6lLteuCApMiu1otAWG/s7BXtYEzv3yZOyrc5nV3XTZjPAv7Jqp2AVf9+dOyx4EFCTqCAnimZB1z9X38fk05RblfVQE1LkR5a6vwCivruANV2ynjU5FHpIE+AsCnCuNfgGtjt1gZaIn2wAAAABJRU5ErkJggg=="); |
||||||
|
padding-left:10px; |
||||||
|
} |
||||||
|
|
||||||
|
#djDebug #djDebugToolbar li.djdt-active a:hover { |
||||||
|
color:#b36a60; |
||||||
|
background-color:transparent; |
||||||
|
} |
||||||
|
|
||||||
|
#djDebug #djDebugToolbar li small { |
||||||
|
font-size:12px; |
||||||
|
color:#999; |
||||||
|
font-style:normal; |
||||||
|
text-decoration:none; |
||||||
|
font-variant:small-caps; |
||||||
|
} |
||||||
|
|
||||||
|
#djDebug #djDebugToolbarHandle { |
||||||
|
position:fixed; |
||||||
|
background-color:#fff; |
||||||
|
border:1px solid #111; |
||||||
|
top:30px; |
||||||
|
right:0; |
||||||
|
z-index:100000000; |
||||||
|
opacity:0.75; |
||||||
|
} |
||||||
|
|
||||||
|
#djDebug #djShowToolBarButton { |
||||||
|
display:block; |
||||||
|
height:75px; |
||||||
|
width:30px; |
||||||
|
border-right:none; |
||||||
|
border-bottom:4px solid #fff; |
||||||
|
border-top:4px solid #fff; |
||||||
|
border-left:4px solid #fff; |
||||||
|
color:#fff; |
||||||
|
font-size:10px; |
||||||
|
font-weight:bold; |
||||||
|
text-decoration:none; |
||||||
|
text-align:center; |
||||||
|
text-indent:-999999px; |
||||||
|
background: #000 no-repeat left center; |
||||||
|
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAABLCAIAAACN/FLOAAADOUlEQVR4Ae2WUWhSXxzHp5v+y4mGGkkEETIfIhyEUThaD0XlGg7qZTJdpGOzQSiVC9uWlCxsMmvW0k2WBDVJMzJWBAaG6ORfGZMexAd9EXzxwWFI9qB24K7DZUNRdlSC++H35P1yPpff/Z1zbCMgICAg2AECgUClUmk0msHBQRqN1jyxxWIp/6Wrq6s5UkKsVCrP1wCfz0csrpGlpaXWiFdXV1sjdrvdiMW5XG6jBoxG47801YTYbDZj1mKxyOPx2loLmUzmcDhcLpdKpTbDJxQKbTZbLBYrlUqw/+l02uVySSSShijpdDrYneWqhEIh0AOUVtDPcDhcroFkMslgMJCJTSZTuWasVisaK4vFyufzZRw+n89gMMjlcqlUqtfrvV4v/pMXCgU2m41ArFAo8EemWCzenhGJRGDE8LcnArHD4YArqtXqSjGZTAZjdrsdgRjMKlyRyWRWilEoFHDCYLFAIIBADHYt3K/Vk6lUCktGo1EE4kQigS2XzWbHqpLJZLBkPB5HIAavX66TSCSCQBwMBusV+/1+BGKPx1Ov2Ol0IhDrdLr1OtFqtTv3EjBYnWwuY0ux9jHI7eTGiu2Bm9/Ki9tr7deTl9+nhq6fIZFITRXDmns73hoxqJP9ggaKw78XPm88wirw04IXz6yMNFB8Z3kY//v+Q5x3yRns0fP/dc0TA/SOy9ijVz/06MXg+43q+0emL3T38LY8mn9/DRPPelSN+0NP2sOhgx1MoXbAHw/w9koUPYrJvqOn+Ih9h4UHb9uGXsfufi3Z4Ch9TM8aXaO9km6UJgiN/t8D9xjQVKlnoQnQA5RW0E9H+BYUVCkw2J2MXcjEatOlWqxY6axDyG6FYP4xfumnPs1Vw0Cf/MQ56TEw4WbvOP6TrxUWmOxOBGIwqHDRQG5eJD6yPSMQ8cCIwdiAsgeBGB4LoKTq05VifbLjMDZllyMQg1mFK9KZuyvFOijtX4qbDQenGwIx2LVwv1ZPfkgZsaQzOo1A7E1sHv3+7MOLY71V6lNmDku+id9DIAavD1tdY72ITCIQLwcn6hUv+m8gEIOrpl7xfecIAvEVnXhlfbquGtaebSMgICAgaBR/AF2yboPNdvDUAAAAAElFTkSuQmCC"); |
||||||
|
opacity:0.5; |
||||||
|
} |
||||||
|
|
||||||
|
#djDebug #djShowToolBarButton:hover { |
||||||
|
background-color:#111; |
||||||
|
border-top-color:#FFE761; |
||||||
|
border-left-color:#FFE761; |
||||||
|
border-bottom-color:#FFE761; |
||||||
|
cursor:move; |
||||||
|
opacity:1.0; |
||||||
|
} |
||||||
|
|
||||||
|
#djDebug code { |
||||||
|
display:block; |
||||||
|
font-family:Consolas, Monaco, "Bitstream Vera Sans Mono", "Lucida Console", monospace; |
||||||
|
font-size: 12px; |
||||||
|
white-space:pre; |
||||||
|
overflow:auto; |
||||||
|
} |
||||||
|
|
||||||
|
#djDebug .djDebugOdd { |
||||||
|
background-color:#f5f5f5; |
||||||
|
} |
||||||
|
|
||||||
|
#djDebug .djdt-panelContent { |
||||||
|
display:none; |
||||||
|
position:fixed; |
||||||
|
margin:0; |
||||||
|
top:0; |
||||||
|
right:200px; |
||||||
|
bottom:0; |
||||||
|
left:0px; |
||||||
|
background-color:#eee; |
||||||
|
color:#666; |
||||||
|
z-index:100000000; |
||||||
|
} |
||||||
|
|
||||||
|
#djDebug .djdt-panelContent > div { |
||||||
|
border-bottom:1px solid #ddd; |
||||||
|
} |
||||||
|
|
||||||
|
#djDebug .djDebugPanelTitle { |
||||||
|
position:absolute; |
||||||
|
background-color:#ffc; |
||||||
|
color:#666; |
||||||
|
padding-left:20px; |
||||||
|
top:0; |
||||||
|
right:0; |
||||||
|
left:0; |
||||||
|
height:50px; |
||||||
|
} |
||||||
|
|
||||||
|
#djDebug .djDebugPanelTitle code { |
||||||
|
display:inline; |
||||||
|
font-size:inherit; |
||||||
|
} |
||||||
|
|
||||||
|
#djDebug .djDebugPanelContent { |
||||||
|
position:absolute; |
||||||
|
top:50px; |
||||||
|
right:0; |
||||||
|
bottom:0; |
||||||
|
left:0; |
||||||
|
height:auto; |
||||||
|
padding:5px 0 0 20px; |
||||||
|
} |
||||||
|
|
||||||
|
#djDebug .djDebugPanelContent .djdt-loader { |
||||||
|
display:block; |
||||||
|
margin:80px auto; |
||||||
|
} |
||||||
|
|
||||||
|
#djDebug .djDebugPanelContent .djdt-scroll { |
||||||
|
height:100%; |
||||||
|
overflow:auto; |
||||||
|
display:block; |
||||||
|
padding:0 10px 0 0; |
||||||
|
} |
||||||
|
|
||||||
|
#djDebug h3 { |
||||||
|
font-size:24px; |
||||||
|
font-weight:normal; |
||||||
|
line-height:50px; |
||||||
|
} |
||||||
|
|
||||||
|
#djDebug h4 { |
||||||
|
font-size:20px; |
||||||
|
font-weight:bold; |
||||||
|
margin-top:0.8em; |
||||||
|
} |
||||||
|
|
||||||
|
#djDebug .djdt-panelContent table { |
||||||
|
border:1px solid #ccc; |
||||||
|
border-collapse:collapse; |
||||||
|
width:100%; |
||||||
|
background-color:#fff; |
||||||
|
display:block; |
||||||
|
margin-top:0.8em; |
||||||
|
overflow: auto; |
||||||
|
} |
||||||
|
#djDebug .djdt-panelContent tbody td, |
||||||
|
#djDebug .djdt-panelContent tbody th { |
||||||
|
vertical-align:top; |
||||||
|
padding:2px 3px; |
||||||
|
} |
||||||
|
#djDebug .djdt-panelContent tbody td.djdt-time { |
||||||
|
text-align: center; |
||||||
|
} |
||||||
|
|
||||||
|
#djDebug .djdt-panelContent thead th { |
||||||
|
padding:1px 6px 1px 3px; |
||||||
|
text-align:left; |
||||||
|
font-weight:bold; |
||||||
|
font-size:14px; |
||||||
|
white-space: nowrap; |
||||||
|
} |
||||||
|
#djDebug .djdt-panelContent tbody th { |
||||||
|
width:12em; |
||||||
|
text-align:right; |
||||||
|
color:#666; |
||||||
|
padding-right:.5em; |
||||||
|
} |
||||||
|
|
||||||
|
#djDebug .djTemplateHideContextDiv { |
||||||
|
background-color:#fff; |
||||||
|
} |
||||||
|
|
||||||
|
/* |
||||||
|
#djDebug .djdt-panelContent p a:hover, #djDebug .djdt-panelContent dd a:hover { |
||||||
|
color:#111; |
||||||
|
background-color:#ffc; |
||||||
|
} |
||||||
|
|
||||||
|
#djDebug .djdt-panelContent p { |
||||||
|
padding:0 5px; |
||||||
|
} |
||||||
|
|
||||||
|
#djDebug .djdt-panelContent p, #djDebug .djdt-panelContent table, #djDebug .djdt-panelContent ol, #djDebug .djdt-panelContent ul, #djDebug .djdt-panelContent dl { |
||||||
|
margin:5px 0 15px; |
||||||
|
background-color:#fff; |
||||||
|
} |
||||||
|
#djDebug .djdt-panelContent table { |
||||||
|
clear:both; |
||||||
|
border:0; |
||||||
|
padding:0; |
||||||
|
margin:0; |
||||||
|
border-collapse:collapse; |
||||||
|
border-spacing:0; |
||||||
|
} |
||||||
|
|
||||||
|
#djDebug .djdt-panelContent table a { |
||||||
|
color:#000; |
||||||
|
padding:2px 4px; |
||||||
|
} |
||||||
|
#djDebug .djdt-panelContent table a:hover { |
||||||
|
background-color:#ffc; |
||||||
|
} |
||||||
|
|
||||||
|
#djDebug .djdt-panelContent table th { |
||||||
|
background-color:#333; |
||||||
|
font-weight:bold; |
||||||
|
color:#fff; |
||||||
|
padding:3px 7px 3px; |
||||||
|
text-align:left; |
||||||
|
cursor:pointer; |
||||||
|
} |
||||||
|
#djDebug .djdt-panelContent table td { |
||||||
|
padding:5px 10px; |
||||||
|
font-size:14px; |
||||||
|
background-color:#fff; |
||||||
|
color:#000; |
||||||
|
vertical-align:top; |
||||||
|
border:0; |
||||||
|
} |
||||||
|
#djDebug .djdt-panelContent table tr.djDebugOdd td { |
||||||
|
background-color:#eee; |
||||||
|
} |
||||||
|
*/ |
||||||
|
|
||||||
|
#djDebug .djdt-panelContent .djDebugClose { |
||||||
|
display:block; |
||||||
|
position:absolute; |
||||||
|
top:4px; |
||||||
|
right:15px; |
||||||
|
height:40px; |
||||||
|
width:40px; |
||||||
|
background: no-repeat center center; |
||||||
|
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAiCAQAAACQTsNJAAABuUlEQVR4Ab2WXeoaMRTFZxHz6pObcA0DeXUHhXktFl8LXYAPXYBLKhQGBOFqW3XS8YOW6vjHmnp6wWZyHU1maqHnQDAf/Ehu7twYhUQxdUixO/wr8ts3oeg9TQjCEx5R7SGvKCd4nPNsIyShD4QGf6QkBBkQWnrgg4zqS2fm01kbze3M3GFGjyBvCdLFqYRUySM1zLAOUXJ6dZAACcoPBOHkFpK5qY1BQBt5sExC0gAijEkriMuLfI9m8SqXNxbSd+QSbVSCnPtXyNjdCCoZ7PANF7C4/Y4tznASNzW+QqaP9lFcj4cLW4PY+vFepsSQ2Hbnp5vw2ShB231Cau72EkfUs53lC4R+YQkSXsBAiFdXc72IkupmDODDfKkhwKtdygUgHAuXw7gEIN7jCIQNsfc43sDuqlgsbC57A+u94q82nFVscv8Vy2Rbi72csGKQ+RPignvytGuZbPW0P6KNjvdpz97aIf3jLz/ArfuKXz9dCt7IojR9qihNAuUx33vL454grOqF+t2/F2rPk/H5pzaa2+Ynw3lIaOlh6BlVlDUCMlLND3pKhRdQUPof/1o4x9Qlxe6G/+T8BlqvQqkd4EyZAAAAAElFTkSuQmCC"); |
||||||
|
} |
||||||
|
|
||||||
|
#djDebug .djdt-panelContent .djDebugClose:hover { |
||||||
|
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAiCAYAAAA6RwvCAAACiUlEQVR4Ad2Yz2oTURSH+xCz7cqX6DMUZtudCxExigq2WhcKYtGFVLrwAboSKoVGxT+tJWpTa2lLTDsm6SSTjtZoIq0prf+2Hu8PcmHInJvJPYwuPPDBMDPn8DE5c+fcDEgjDENHMahwOwx2zg1IsE1wFXcVvoIM+J173L8hckrRUpAlLeSmITKsKNoKMHioJRUZU1DKjNmKTCUWDWpUL21RJbcAcIxz/chM9StyvVeh8rOHtH7nJi2dOc6Ba7gnSWY8ScQ1JVdfv6C1yQlegAH3+su5XjLDvUTKXNK77H0Ul4Bck0jZJJLhEry5GV1ULvNg1iSTiYlw64SfX0ShNEAtfp3pEhnhjJmekIJapqcyEhWZZt4OtuDqlXPUWHxKYXaGli+c1Ocpf/4E1Wfv0afcPK1dG+VyTW/TdFQk6Pdp7BfWSMdhtQIZSFDbe0s6DiqezVMJtIjTfXGnuv3b9Iib+RxF47C2Te3SJkUDsqZ81GZkHIgMdV+ora8YC62MnqbvH0Iyxa/WZ3pz+awxH7UZkSH9YaMolZfPdaJZZvd9XOJLU0sYQW1ucROJoCcOyh51x1G9ip4Ri1j9NLoxDaEbWPDTWDbrx/lHsZ740dilSKChBc1q+fp+3SyQjp/NBnoi1sB4KpLXl13QSo/n2GKFW1fpaKdG+8UNSEQbmPY2VulbWKfi5A0uFzUTFzR+ib/NFJSBWolLvKYd++i9WkhNxF9i35Y29/W9KB8DxDPJJU4EBP9wMPJFoyLmCetRUc8gPK5JRDOhIBOlJ9nE4Rn3yIdnwXYi2Crq7QSOU99OaGBNKTMu3XK63GQvADXcNDbhGcWeQAA5mf/ybwkOR3FM4XbAsSOt9wcLTn8FNtAKkQAAAABJRU5ErkJggg=="); |
||||||
|
} |
||||||
|
|
||||||
|
#djDebug .djdt-panelContent .djDebugClose.djDebugBack { |
||||||
|
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAiCAYAAAA6RwvCAAACBUlEQVR4Ad2Y0WriQBSGfYjc7tW+hM8g5HbfYMHbxcXbhT6AF30AH6cXvRCEttK0JgZi0qhQaRNtNWV2fuiADicZcxirdOCn45mccz4mMyczbXDbeDx2pH5IuRD6n7YGR3UdkPBSaiQlSoQxPOMeA+S3VIxENRXD1wZIS2rAANA1RCwuSAdBLKtTF6RnCur7fjGZTLZJkhQQ+rAdANM7FORfVaA0Td/zPBdlDWN4xgDTNYG4Zc7T6TQjASqA4jjOKmBaVSA3lNN8Pi8Es8GXBkEuGqTNh2DDtCkQvU5gal+FpYZYZJ3RQH5RxPqaWG82qmuw02uGyoHcuyB9anfowZ6el+I2jITellkOu9gWH5UwJbupvwvimWZDgVzdeWLohyqpAlF2zE7dWfEUiKMPBkGwNxt6QmjwEKik+Ltnz9ZvpTCITcA4AGnqA1EUreFkgrm+fwSEsuO3spfCIDYB0gRIi9gtlVsWSVRSAOzaMSOw4zVSDbGp4nZGIPxXg6TWXo39xarsjMV6LtuXLmiz2cx6QUNMuqAZSvxqtbJW4hHLVOKVFvpDSZK8HPmjt6C+vn9OcAz4S4FA3hcejEasoyKmlnFUVK+DklsFAl2c9vDMuE6EYbhR1wn0bV8nlEAtLKvLvXK62smeK8RwbVzC21IpAyCF77f8twQlR+onEkLow8aN9x+oYk85YNJqYQAAAABJRU5ErkJggg=="); |
||||||
|
} |
||||||
|
|
||||||
|
#djDebug .djdt-panelContent .djDebugClose.djDebugBack:hover { |
||||||
|
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAiCAYAAAA6RwvCAAACLElEQVR4Ad2YT8sSURTG/RCzbdWX8DMIs23XMrBlTLiTSIKKIqgP4C6KQAuKsLCycqGLRHNsXqck2giStIiiRdDtPtABuz0zNw+XkAYe3vHce57zY/7cOfetaI/VahVZHbOKIZz/ilU02jcBBW9YZVaGC2OYg7nhQU5ZrVlhj9bIDQFSs5ooAFzN4KUFSWASWMm+INe8pvnSvJ1PzaLfg3COmB8G3n8Jcq7MKH14z4yvXjCD0yepMIY5HpiGDyQuSj56+cSMrrQ4ABHmZi/6ZTC1MpCUJb3u3oa5SsjlIKjFQeosYda5JaZ6mLt3OAxquiBsncieP4ZRCMGLrjMuyAlG7D4To2Yi5/44eWZYDdTeBWmzt8M1W95sm09Z+kd8dv0S4maY1EthCt6m9i5ITq8GAcHx+cN7KSogEqdXx3NVcgGJ3MF3R29+MCMpiOPbx40Uxd/f4q8uNgth4E1gIoBU3YHleOgYcJjvX78AQuL4LfFCGHgTkCpAau7A4umj0nuNIlIUALtxXBEcuI0kF950cTsoEO2tQdGAtyb8w4rfiof1cF5fvqDN73dCL2jwpAuaf4m/fD7UEg8v7xIv2rqTsme9cB+9AX1btuzre0bdBuh7krMMBMr/YWOUaVpF9BP7t4rSg3DFvua5xRJF8wddb/OMOfrmWbGdyKcT2U7gPPh2QgRqE1gN7ZYzZp29Qim8QmzC61YbBcAGuf/hvyW4IqvjKAjhHDGt309H4mp9BS17eAAAAABJRU5ErkJggg=="); |
||||||
|
} |
||||||
|
|
||||||
|
#djDebug .djdt-panelContent dt, #djDebug .djdt-panelContent dd { |
||||||
|
display:block; |
||||||
|
} |
||||||
|
|
||||||
|
#djDebug .djdt-panelContent dt { |
||||||
|
margin-top:0.75em; |
||||||
|
} |
||||||
|
|
||||||
|
#djDebug .djdt-panelContent dd { |
||||||
|
margin-left:10px; |
||||||
|
} |
||||||
|
|
||||||
|
#djDebug a.toggleTemplate { |
||||||
|
padding:4px; |
||||||
|
background-color:#bbb; |
||||||
|
-webkit-border-radius:3px; |
||||||
|
-moz-border-radius:3px; |
||||||
|
border-radius:3px; |
||||||
|
} |
||||||
|
|
||||||
|
#djDebug a.toggleTemplate:hover { |
||||||
|
padding:4px; |
||||||
|
background-color:#444; |
||||||
|
color:#ffe761; |
||||||
|
-webkit-border-radius:3px; |
||||||
|
-moz-border-radius:3px; |
||||||
|
border-radius:3px; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
#djDebug a.djTemplateShowContext, #djDebug a.djTemplateShowContext span.toggleArrow { |
||||||
|
color:#999; |
||||||
|
} |
||||||
|
|
||||||
|
#djDebug a.djTemplateShowContext:hover, #djDebug a.djTemplateShowContext:hover span.toggleArrow { |
||||||
|
color:#000; |
||||||
|
cursor:pointer; |
||||||
|
} |
||||||
|
|
||||||
|
#djDebug .djDebugSqlWrap { |
||||||
|
position:relative; |
||||||
|
} |
||||||
|
|
||||||
|
#djDebug .djDebugCollapsed { |
||||||
|
display: none; |
||||||
|
text-decoration: none; |
||||||
|
color: #333; |
||||||
|
} |
||||||
|
|
||||||
|
#djDebug .djDebugUncollapsed { |
||||||
|
color: #333; |
||||||
|
text-decoration: none; |
||||||
|
} |
||||||
|
|
||||||
|
#djDebug .djUnselected { |
||||||
|
display: none; |
||||||
|
} |
||||||
|
#djDebug tr.djHiddenByDefault { |
||||||
|
display: none; |
||||||
|
} |
||||||
|
#djDebug tr.djSelected { |
||||||
|
display: table-row; |
||||||
|
} |
||||||
|
|
||||||
|
#djDebug .djDebugSql { |
||||||
|
z-index:100000002; |
||||||
|
} |
||||||
|
|
||||||
|
#djDebug .djSQLDetailsDiv tbody th { |
||||||
|
text-align: left; |
||||||
|
} |
||||||
|
|
||||||
|
#djDebug .djSqlExplain td { |
||||||
|
white-space: pre; |
||||||
|
} |
||||||
|
|
||||||
|
#djDebug span.djDebugLineChart { |
||||||
|
background-color:#777; |
||||||
|
height:3px; |
||||||
|
position:absolute; |
||||||
|
bottom:0; |
||||||
|
top:0; |
||||||
|
left:0; |
||||||
|
display:block; |
||||||
|
z-index:1000000001; |
||||||
|
} |
||||||
|
#djDebug span.djDebugLineChartWarning { |
||||||
|
background-color:#900; |
||||||
|
} |
||||||
|
|
||||||
|
#djDebug .highlight { color:#000; } |
||||||
|
#djDebug .highlight .err { color:#000; } /* Error */ |
||||||
|
#djDebug .highlight .g { color:#000; } /* Generic */ |
||||||
|
#djDebug .highlight .k { color:#000; font-weight:bold } /* Keyword */ |
||||||
|
#djDebug .highlight .o { color:#000; } /* Operator */ |
||||||
|
#djDebug .highlight .n { color:#000; } /* Name */ |
||||||
|
#djDebug .highlight .mi { color:#000; font-weight:bold } /* Literal.Number.Integer */ |
||||||
|
#djDebug .highlight .l { color:#000; } /* Literal */ |
||||||
|
#djDebug .highlight .x { color:#000; } /* Other */ |
||||||
|
#djDebug .highlight .p { color:#000; } /* Punctuation */ |
||||||
|
#djDebug .highlight .m { color:#000; font-weight:bold } /* Literal.Number */ |
||||||
|
#djDebug .highlight .s { color:#333 } /* Literal.String */ |
||||||
|
#djDebug .highlight .w { color:#888888 } /* Text.Whitespace */ |
||||||
|
#djDebug .highlight .il { color:#000; font-weight:bold } /* Literal.Number.Integer.Long */ |
||||||
|
#djDebug .highlight .na { color:#333 } /* Name.Attribute */ |
||||||
|
#djDebug .highlight .nt { color:#000; font-weight:bold } /* Name.Tag */ |
||||||
|
#djDebug .highlight .nv { color:#333 } /* Name.Variable */ |
||||||
|
#djDebug .highlight .s2 { color:#333 } /* Literal.String.Double */ |
||||||
|
#djDebug .highlight .cp { color:#333 } /* Comment.Preproc */ |
||||||
|
|
||||||
|
#djDebug .timeline { |
||||||
|
width: 30%; |
||||||
|
} |
||||||
|
#djDebug .djDebugTimeline { |
||||||
|
position: relative; |
||||||
|
height: 100%; |
||||||
|
min-height: 100%; |
||||||
|
} |
||||||
|
#djDebug div.djDebugLineChart { |
||||||
|
position: absolute; |
||||||
|
left: 0; |
||||||
|
right: 0; |
||||||
|
top: 0; |
||||||
|
bottom: 0; |
||||||
|
vertical-align: middle; |
||||||
|
} |
||||||
|
#djDebug div.djDebugLineChart strong { |
||||||
|
text-indent: -10000em; |
||||||
|
display: block; |
||||||
|
font-weight: normal; |
||||||
|
vertical-align: middle; |
||||||
|
background-color:#ccc; |
||||||
|
} |
||||||
|
|
||||||
|
#djDebug div.djDebugLineChartWarning strong { |
||||||
|
background-color:#900; |
||||||
|
} |
||||||
|
|
||||||
|
#djDebug .djDebugInTransaction div.djDebugLineChart strong { |
||||||
|
background-color: #d3ff82; |
||||||
|
} |
||||||
|
#djDebug .djDebugStartTransaction div.djDebugLineChart strong { |
||||||
|
border-left: 1px solid #94b24d; |
||||||
|
} |
||||||
|
#djDebug .djDebugEndTransaction div.djDebugLineChart strong { |
||||||
|
border-right: 1px solid #94b24d; |
||||||
|
} |
||||||
|
#djDebug .djDebugHover div.djDebugLineChart strong { |
||||||
|
background-color: #000; |
||||||
|
} |
||||||
|
#djDebug .djDebugInTransaction.djDebugHover div.djDebugLineChart strong { |
||||||
|
background-color: #94b24d; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
#djDebug .djdt-panelContent ul.djdt-stats { |
||||||
|
position: relative; |
||||||
|
list-style-type: none; |
||||||
|
} |
||||||
|
#djDebug .djdt-panelContent ul.djdt-stats li { |
||||||
|
width: 30%; |
||||||
|
float: left; |
||||||
|
} |
||||||
|
#djDebug .djdt-panelContent ul.djdt-stats li strong.djdt-label { |
||||||
|
display: block; |
||||||
|
} |
||||||
|
#djDebug .djdt-panelContent ul.djdt-stats li span.djdt-color { |
||||||
|
height: 12px; |
||||||
|
width: 3px; |
||||||
|
display: inline-block; |
||||||
|
} |
||||||
|
#djDebug .djdt-panelContent ul.djdt-stats li span.djdt-info { |
||||||
|
display: block; |
||||||
|
padding-left: 5px; |
||||||
|
} |
||||||
|
|
||||||
|
#djDebug .djdt-panelContent thead th { |
||||||
|
white-space: nowrap; |
||||||
|
} |
||||||
|
#djDebug .djDebugRowWarning .djdt-time { |
||||||
|
color: red; |
||||||
|
} |
||||||
|
#djdebug .djdt-panelContent table .djdt-toggle { |
||||||
|
width: 14px; |
||||||
|
padding-top: 3px; |
||||||
|
} |
||||||
|
#djDebug .djdt-panelContent table .djdt-actions { |
||||||
|
min-width: 70px; |
||||||
|
white-space: nowrap; |
||||||
|
} |
||||||
|
#djdebug .djdt-panelContent table .djdt-color { |
||||||
|
width: 3px; |
||||||
|
} |
||||||
|
#djdebug .djdt-panelContent table .djdt-color span { |
||||||
|
width: 3px; |
||||||
|
height: 12px; |
||||||
|
overflow: hidden; |
||||||
|
padding: 0; |
||||||
|
} |
||||||
|
#djDebug .djToggleSwitch { |
||||||
|
text-decoration: none; |
||||||
|
border: 1px solid #999; |
||||||
|
height: 12px; |
||||||
|
width: 12px; |
||||||
|
line-height: 12px; |
||||||
|
text-align: center; |
||||||
|
color: #777; |
||||||
|
display: inline-block; |
||||||
|
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFF', endColorstr='#DCDCDC'); /* for IE */ |
||||||
|
background: -webkit-gradient(linear, left top, left bottom, from(#FFF), to(#DCDCDC)); /* for webkit browsers */ |
||||||
|
background:-moz-linear-gradient(center top , #FFFFFF 0pt, #DCDCDC 100%) repeat scroll 0 0 transparent; |
||||||
|
} |
||||||
|
#djDebug .djNoToggleSwitch { |
||||||
|
height: 14px; |
||||||
|
width: 14px; |
||||||
|
display: inline-block; |
||||||
|
} |
||||||
|
|
||||||
|
#djDebug .djSQLDetailsDiv { |
||||||
|
margin-top:0.8em; |
||||||
|
} |
||||||
|
#djDebug pre { |
||||||
|
white-space: -moz-pre-wrap; /* Mozilla, since 1999 */ |
||||||
|
white-space: -pre-wrap; /* Opera 4-6 */ |
||||||
|
white-space: -o-pre-wrap; /* Opera 7 */ |
||||||
|
white-space: pre-wrap; /* CSS-3 */ |
||||||
|
word-wrap: break-word; /* Internet Explorer 5.5+ */ |
||||||
|
color: #555; |
||||||
|
border:1px solid #ccc; |
||||||
|
border-collapse:collapse; |
||||||
|
background-color:#fff; |
||||||
|
display:block; |
||||||
|
overflow: auto; |
||||||
|
padding:2px 3px; |
||||||
|
margin-bottom: 3px; |
||||||
|
font-family:Consolas, Monaco, "Bitstream Vera Sans Mono", "Lucida Console", monospace; |
||||||
|
} |
||||||
|
#djDebug .djdt-stack span { |
||||||
|
color: #000; |
||||||
|
font-weight: bold; |
||||||
|
} |
||||||
|
#djDebug .djdt-stack span.djdt-path { |
||||||
|
color: #777; |
||||||
|
font-weight: normal; |
||||||
|
} |
||||||
|
#djDebug .djdt-stack span.djdt-code { |
||||||
|
font-weight: normal; |
||||||
|
} |
||||||
|
|
||||||
|
@media print { |
||||||
|
#djDebug { |
||||||
|
display: none !important; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
#djDebug .djdt-width-20 { |
||||||
|
width: 20%; |
||||||
|
} |
||||||
|
#djDebug .djdt-width-60 { |
||||||
|
width: 60%; |
||||||
|
} |
||||||
|
#djDebug .djdt-highlighted { |
||||||
|
background-color: lightgrey; |
||||||
|
} |
||||||
|
After Width: | Height: | Size: 404 B |
|
After Width: | Height: | Size: 574 B |
|
After Width: | Height: | Size: 613 B |
|
After Width: | Height: | Size: 498 B |
|
After Width: | Height: | Size: 706 B |
|
After Width: | Height: | Size: 882 B |
|
After Width: | Height: | Size: 436 B |
@ -0,0 +1 @@ |
|||||||
|
var djdt = {jQuery: jQuery}; |
||||||
@ -0,0 +1 @@ |
|||||||
|
var djdt = {jQuery: jQuery.noConflict(true)}; window.define = _djdt_define_backup; |
||||||
@ -0,0 +1 @@ |
|||||||
|
var _djdt_define_backup = window.define; window.define = undefined; |
||||||
@ -0,0 +1,305 @@ |
|||||||
|
(function ($, publicAPI) { |
||||||
|
var djdt = { |
||||||
|
handleDragged: false, |
||||||
|
events: { |
||||||
|
ready: [] |
||||||
|
}, |
||||||
|
isReady: false, |
||||||
|
init: function() { |
||||||
|
$('#djDebug').show(); |
||||||
|
var current = null; |
||||||
|
$('#djDebugPanelList').on('click', 'li a', function() { |
||||||
|
if (!this.className) { |
||||||
|
return false; |
||||||
|
} |
||||||
|
current = $('#djDebug #' + this.className); |
||||||
|
if (current.is(':visible')) { |
||||||
|
$(document).trigger('close.djDebug'); |
||||||
|
$(this).parent().removeClass('djdt-active'); |
||||||
|
} else { |
||||||
|
$('.djdt-panelContent').hide(); // Hide any that are already open
|
||||||
|
var inner = current.find('.djDebugPanelContent .djdt-scroll'), |
||||||
|
store_id = $('#djDebug').data('store-id'), |
||||||
|
render_panel_url = $('#djDebug').data('render-panel-url'); |
||||||
|
if (store_id !== '' && inner.children().length === 0) { |
||||||
|
var ajax_data = { |
||||||
|
data: { |
||||||
|
store_id: store_id, |
||||||
|
panel_id: this.className |
||||||
|
}, |
||||||
|
type: 'GET', |
||||||
|
url: render_panel_url |
||||||
|
}; |
||||||
|
$.ajax(ajax_data).done(function(data){ |
||||||
|
inner.prev().remove(); // Remove AJAX loader
|
||||||
|
inner.html(data); |
||||||
|
}).fail(function(xhr){ |
||||||
|
var message = '<div class="djDebugPanelTitle"><a class="djDebugClose djDebugBack" href=""></a><h3>'+xhr.status+': '+xhr.statusText+'</h3></div>'; |
||||||
|
$('#djDebugWindow').html(message).show(); |
||||||
|
}); |
||||||
|
} |
||||||
|
current.show(); |
||||||
|
$('#djDebugToolbar li').removeClass('djdt-active'); |
||||||
|
$(this).parent().addClass('djdt-active'); |
||||||
|
} |
||||||
|
return false; |
||||||
|
}); |
||||||
|
$('#djDebug').on('click', 'a.djDebugClose', function() { |
||||||
|
$(document).trigger('close.djDebug'); |
||||||
|
$('#djDebugToolbar li').removeClass('djdt-active'); |
||||||
|
return false; |
||||||
|
}); |
||||||
|
$('#djDebug').on('click', '.djDebugPanelButton input[type=checkbox]', function() { |
||||||
|
djdt.cookie.set($(this).attr('data-cookie'), $(this).prop('checked') ? 'on' : 'off', { |
||||||
|
path: '/', |
||||||
|
expires: 10 |
||||||
|
}); |
||||||
|
}); |
||||||
|
|
||||||
|
// Used by the SQL and template panels
|
||||||
|
$('#djDebug').on('click', '.remoteCall', function() { |
||||||
|
var self = $(this); |
||||||
|
var name = self[0].tagName.toLowerCase(); |
||||||
|
var ajax_data = {}; |
||||||
|
|
||||||
|
if (name == 'button') { |
||||||
|
var form = self.parents('form:eq(0)'); |
||||||
|
ajax_data['url'] = self.attr('formaction'); |
||||||
|
|
||||||
|
if (form.length) { |
||||||
|
ajax_data['data'] = form.serialize(); |
||||||
|
ajax_data['type'] = form.attr('method') || 'POST'; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
if (name == 'a') { |
||||||
|
ajax_data['url'] = self.attr('href'); |
||||||
|
} |
||||||
|
|
||||||
|
$.ajax(ajax_data).done(function(data){ |
||||||
|
$('#djDebugWindow').html(data).show(); |
||||||
|
}).fail(function(xhr){ |
||||||
|
var message = '<div class="djDebugPanelTitle"><a class="djDebugClose djDebugBack" href=""></a><h3>'+xhr.status+': '+xhr.statusText+'</h3></div>'; |
||||||
|
$('#djDebugWindow').html(message).show(); |
||||||
|
}); |
||||||
|
|
||||||
|
$('#djDebugWindow').on('click', 'a.djDebugBack', function() { |
||||||
|
$(this).parent().parent().hide(); |
||||||
|
return false; |
||||||
|
}); |
||||||
|
|
||||||
|
return false; |
||||||
|
}); |
||||||
|
|
||||||
|
// Used by the cache, profiling and SQL panels
|
||||||
|
$('#djDebug').on('click', 'a.djToggleSwitch', function(e) { |
||||||
|
e.preventDefault(); |
||||||
|
var btn = $(this); |
||||||
|
var id = btn.attr('data-toggle-id'); |
||||||
|
var open_me = btn.text() == btn.attr('data-toggle-open'); |
||||||
|
if (id === '' || !id) { |
||||||
|
return; |
||||||
|
} |
||||||
|
var name = btn.attr('data-toggle-name'); |
||||||
|
btn.parents('.djDebugPanelContent').find('#' + name + '_' + id).find('.djDebugCollapsed').toggle(open_me); |
||||||
|
btn.parents('.djDebugPanelContent').find('#' + name + '_' + id).find('.djDebugUncollapsed').toggle(!open_me); |
||||||
|
$(this).parents('.djDebugPanelContent').find('.djToggleDetails_' + id).each(function(){ |
||||||
|
var $this = $(this); |
||||||
|
if (open_me) { |
||||||
|
$this.addClass('djSelected'); |
||||||
|
$this.removeClass('djUnselected'); |
||||||
|
btn.text(btn.attr('data-toggle-close')); |
||||||
|
$this.find('.djToggleSwitch').text(btn.text()); |
||||||
|
} else { |
||||||
|
$this.removeClass('djSelected'); |
||||||
|
$this.addClass('djUnselected'); |
||||||
|
btn.text(btn.attr('data-toggle-open')); |
||||||
|
$this.find('.djToggleSwitch').text(btn.text()); |
||||||
|
} |
||||||
|
}); |
||||||
|
return; |
||||||
|
}); |
||||||
|
|
||||||
|
$('#djHideToolBarButton').click(function() { |
||||||
|
djdt.hide_toolbar(true); |
||||||
|
return false; |
||||||
|
}); |
||||||
|
$('#djShowToolBarButton').click(function() { |
||||||
|
if (!djdt.handleDragged) { |
||||||
|
djdt.show_toolbar(); |
||||||
|
} |
||||||
|
return false; |
||||||
|
}); |
||||||
|
var handle = $('#djDebugToolbarHandle'); |
||||||
|
$('#djShowToolBarButton').on('mousedown', function (event) { |
||||||
|
var startPageY = event.pageY; |
||||||
|
var baseY = handle.offset().top - startPageY; |
||||||
|
var windowHeight = $(window).height(); |
||||||
|
$(document).on('mousemove.djDebug', function (event) { |
||||||
|
// Chrome can send spurious mousemove events, so don't do anything unless the
|
||||||
|
// cursor really moved. Otherwise, it will be impossible to expand the toolbar
|
||||||
|
// due to djdt.handleDragged being set to true.
|
||||||
|
if (djdt.handleDragged || event.pageY != startPageY) { |
||||||
|
var top = baseY + event.clientY; |
||||||
|
|
||||||
|
if (top < 0) { |
||||||
|
top = 0; |
||||||
|
} else if (top + handle.height() > windowHeight) { |
||||||
|
top = windowHeight - handle.height(); |
||||||
|
} |
||||||
|
|
||||||
|
handle.css({top: top}); |
||||||
|
djdt.handleDragged = true; |
||||||
|
} |
||||||
|
}); |
||||||
|
return false; |
||||||
|
}); |
||||||
|
$(document).on('mouseup', function () { |
||||||
|
$(document).off('mousemove.djDebug'); |
||||||
|
if (djdt.handleDragged) { |
||||||
|
var top = handle.offset().top - window.pageYOffset; |
||||||
|
djdt.cookie.set('djdttop', top, { |
||||||
|
path: '/', |
||||||
|
expires: 10 |
||||||
|
}); |
||||||
|
setTimeout(function () { |
||||||
|
djdt.handleDragged = false; |
||||||
|
}, 10); |
||||||
|
return false; |
||||||
|
} |
||||||
|
}); |
||||||
|
$(document).bind('close.djDebug', function() { |
||||||
|
// If a sub-panel is open, close that
|
||||||
|
if ($('#djDebugWindow').is(':visible')) { |
||||||
|
$('#djDebugWindow').hide(); |
||||||
|
return; |
||||||
|
} |
||||||
|
// If a panel is open, close that
|
||||||
|
if ($('.djdt-panelContent').is(':visible')) { |
||||||
|
$('.djdt-panelContent').hide(); |
||||||
|
$('#djDebugToolbar li').removeClass('djdt-active'); |
||||||
|
return; |
||||||
|
} |
||||||
|
// Otherwise, just minimize the toolbar
|
||||||
|
if ($('#djDebugToolbar').is(':visible')) { |
||||||
|
djdt.hide_toolbar(true); |
||||||
|
return; |
||||||
|
} |
||||||
|
}); |
||||||
|
if (djdt.cookie.get('djdt') == 'hide') { |
||||||
|
djdt.hide_toolbar(false); |
||||||
|
} else { |
||||||
|
djdt.show_toolbar(false); |
||||||
|
} |
||||||
|
$('#djDebug .djDebugHoverable').hover(function(){ |
||||||
|
$(this).addClass('djDebugHover'); |
||||||
|
}, function(){ |
||||||
|
$(this).removeClass('djDebugHover'); |
||||||
|
}); |
||||||
|
djdt.isReady = true; |
||||||
|
$.each(djdt.events.ready, function(_, callback){ |
||||||
|
callback(djdt); |
||||||
|
}); |
||||||
|
}, |
||||||
|
close: function() { |
||||||
|
$(document).trigger('close.djDebug'); |
||||||
|
return false; |
||||||
|
}, |
||||||
|
hide_toolbar: function(setCookie) { |
||||||
|
// close any sub panels
|
||||||
|
$('#djDebugWindow').hide(); |
||||||
|
// close all panels
|
||||||
|
$('.djdt-panelContent').hide(); |
||||||
|
$('#djDebugToolbar li').removeClass('djdt-active'); |
||||||
|
// finally close toolbar
|
||||||
|
$('#djDebugToolbar').hide('fast'); |
||||||
|
$('#djDebugToolbarHandle').show(); |
||||||
|
// set handle position
|
||||||
|
var handleTop = djdt.cookie.get('djdttop'); |
||||||
|
if (handleTop) { |
||||||
|
$('#djDebugToolbarHandle').css({top: handleTop + 'px'}); |
||||||
|
} |
||||||
|
// Unbind keydown
|
||||||
|
$(document).unbind('keydown.djDebug'); |
||||||
|
if (setCookie) { |
||||||
|
djdt.cookie.set('djdt', 'hide', { |
||||||
|
path: '/', |
||||||
|
expires: 10 |
||||||
|
}); |
||||||
|
} |
||||||
|
}, |
||||||
|
show_toolbar: function(animate) { |
||||||
|
// Set up keybindings
|
||||||
|
$(document).bind('keydown.djDebug', function(e) { |
||||||
|
if (e.keyCode == 27) { |
||||||
|
djdt.close(); |
||||||
|
} |
||||||
|
}); |
||||||
|
$('#djDebugToolbarHandle').hide(); |
||||||
|
if (animate) { |
||||||
|
$('#djDebugToolbar').show('fast'); |
||||||
|
} else { |
||||||
|
$('#djDebugToolbar').show(); |
||||||
|
} |
||||||
|
djdt.cookie.set('djdt', 'show', { |
||||||
|
path: '/', |
||||||
|
expires: 10 |
||||||
|
}); |
||||||
|
}, |
||||||
|
ready: function(callback){ |
||||||
|
if (djdt.isReady) { |
||||||
|
callback(djdt); |
||||||
|
} else { |
||||||
|
djdt.events.ready.push(callback); |
||||||
|
} |
||||||
|
}, |
||||||
|
cookie: { |
||||||
|
get: function(key){ |
||||||
|
if (document.cookie.indexOf(key) === -1) return null; |
||||||
|
|
||||||
|
var cookieArray = document.cookie.split('; '), |
||||||
|
cookies = {}; |
||||||
|
|
||||||
|
cookieArray.forEach(function(e){ |
||||||
|
var parts = e.split('='); |
||||||
|
cookies[ parts[0] ] = parts[1]; |
||||||
|
}); |
||||||
|
|
||||||
|
return cookies[ key ]; |
||||||
|
}, |
||||||
|
set: function(key, value, options){ |
||||||
|
options = options || {}; |
||||||
|
|
||||||
|
if (typeof options.expires === 'number') { |
||||||
|
var days = options.expires, t = options.expires = new Date(); |
||||||
|
t.setDate(t.getDate() + days); |
||||||
|
} |
||||||
|
|
||||||
|
document.cookie = [ |
||||||
|
encodeURIComponent(key) + '=' + String(value), |
||||||
|
options.expires ? '; expires=' + options.expires.toUTCString() : '', |
||||||
|
options.path ? '; path=' + options.path : '', |
||||||
|
options.domain ? '; domain=' + options.domain : '', |
||||||
|
options.secure ? '; secure' : '' |
||||||
|
].join(''); |
||||||
|
|
||||||
|
return value; |
||||||
|
} |
||||||
|
}, |
||||||
|
applyStyle: function(name) { |
||||||
|
$('#djDebug [data-' + name + ']').each(function() { |
||||||
|
var css = {}; |
||||||
|
css[name] = $(this).data(name); |
||||||
|
$(this).css(css); |
||||||
|
}); |
||||||
|
} |
||||||
|
}; |
||||||
|
$.extend(publicAPI, { |
||||||
|
show_toolbar: djdt.show_toolbar, |
||||||
|
hide_toolbar: djdt.hide_toolbar, |
||||||
|
close: djdt.close, |
||||||
|
cookie: djdt.cookie, |
||||||
|
applyStyle: djdt.applyStyle |
||||||
|
}); |
||||||
|
$(document).ready(djdt.init); |
||||||
|
})(djdt.jQuery, djdt); |
||||||
@ -0,0 +1,21 @@ |
|||||||
|
(function ($) { |
||||||
|
function getSubcalls(row) { |
||||||
|
var id = row.attr('id'); |
||||||
|
return $('.djDebugProfileRow[id^="'+id+'_"]'); |
||||||
|
} |
||||||
|
function getDirectSubcalls(row) { |
||||||
|
var subcalls = getSubcalls(row); |
||||||
|
var depth = parseInt(row.attr('depth'), 10) + 1; |
||||||
|
return subcalls.filter('[depth='+depth+']'); |
||||||
|
} |
||||||
|
$('.djDebugProfileRow .djDebugProfileToggle').on('click', function(){ |
||||||
|
var row = $(this).closest('.djDebugProfileRow'); |
||||||
|
var subcalls = getSubcalls(row); |
||||||
|
if (subcalls.css('display') == 'none') { |
||||||
|
getDirectSubcalls(row).show(); |
||||||
|
} else { |
||||||
|
subcalls.hide(); |
||||||
|
} |
||||||
|
}); |
||||||
|
djdt.applyStyle('padding-left'); |
||||||
|
})(djdt.jQuery); |
||||||
@ -0,0 +1,10 @@ |
|||||||
|
(function ($) { |
||||||
|
$('#djDebug a.djDebugToggle').on('click', function(e) { |
||||||
|
e.preventDefault(); |
||||||
|
$(this).parent().find('.djDebugCollapsed').toggle(); |
||||||
|
$(this).parent().find('.djDebugUncollapsed').toggle(); |
||||||
|
}); |
||||||
|
djdt.applyStyle('background-color'); |
||||||
|
djdt.applyStyle('left'); |
||||||
|
djdt.applyStyle('width'); |
||||||
|
})(djdt.jQuery); |
||||||
@ -0,0 +1,11 @@ |
|||||||
|
(function ($) { |
||||||
|
var uarr = String.fromCharCode(0x25b6), |
||||||
|
darr = String.fromCharCode(0x25bc); |
||||||
|
|
||||||
|
$('a.djTemplateShowContext').on('click', function() { |
||||||
|
var arrow = $(this).children('.toggleArrow'); |
||||||
|
arrow.html(arrow.html() == uarr ? darr : uarr); |
||||||
|
$(this).parent().next().toggle(); |
||||||
|
return false; |
||||||
|
}); |
||||||
|
})(djdt.jQuery); |
||||||
@ -0,0 +1,51 @@ |
|||||||
|
(function ($) { |
||||||
|
// Browser timing remains hidden unless we can successfully access the performance object
|
||||||
|
var perf = window.performance || window.msPerformance || |
||||||
|
window.webkitPerformance || window.mozPerformance; |
||||||
|
if (!perf) |
||||||
|
return; |
||||||
|
|
||||||
|
var rowCount = 0, |
||||||
|
timingOffset = perf.timing.navigationStart, |
||||||
|
timingEnd = perf.timing.loadEventEnd, |
||||||
|
totalTime = timingEnd - timingOffset; |
||||||
|
function getLeft(stat) { |
||||||
|
return ((perf.timing[stat] - timingOffset) / (totalTime)) * 100.0; |
||||||
|
} |
||||||
|
function getCSSWidth(stat, endStat) { |
||||||
|
var width = ((perf.timing[endStat] - perf.timing[stat]) / (totalTime)) * 100.0; |
||||||
|
// Calculate relative percent (same as sql panel logic)
|
||||||
|
width = 100.0 * width / (100.0 - getLeft(stat)); |
||||||
|
return (width < 1) ? "2px" : width + "%"; |
||||||
|
} |
||||||
|
function addRow(stat, endStat) { |
||||||
|
rowCount++; |
||||||
|
var $row = $('<tr class="' + ((rowCount % 2) ? 'djDebugOdd' : 'djDebugEven') + '"></tr>'); |
||||||
|
if (endStat) { |
||||||
|
// Render a start through end bar
|
||||||
|
$row.html('<td>' + stat.replace('Start', '') + '</td>' + |
||||||
|
'<td class="timeline"><div class="djDebugTimeline"><div class="djDebugLineChart"><strong> </strong></div></div></td>' + |
||||||
|
'<td>' + (perf.timing[stat] - timingOffset) + ' (+' + (perf.timing[endStat] - perf.timing[stat]) + ')</td>'); |
||||||
|
$row.find('strong').css({width: getCSSWidth(stat, endStat)}); |
||||||
|
} else { |
||||||
|
// Render a point in time
|
||||||
|
$row.html('<td>' + stat + '</td>' + |
||||||
|
'<td class="timeline"><div class="djDebugTimeline"><div class="djDebugLineChart"><strong> </strong></div></div></td>' + |
||||||
|
'<td>' + (perf.timing[stat] - timingOffset) + '</td>'); |
||||||
|
$row.find('strong').css({width: 2}); |
||||||
|
} |
||||||
|
$row.find('djDebugLineChart').css({left: getLeft(stat) + '%'}); |
||||||
|
$('#djDebugBrowserTimingTableBody').append($row); |
||||||
|
} |
||||||
|
|
||||||
|
// This is a reasonably complete and ordered set of timing periods (2 params) and events (1 param)
|
||||||
|
addRow('domainLookupStart', 'domainLookupEnd'); |
||||||
|
addRow('connectStart', 'connectEnd'); |
||||||
|
addRow('requestStart', 'responseEnd'); // There is no requestEnd
|
||||||
|
addRow('responseStart', 'responseEnd'); |
||||||
|
addRow('domLoading', 'domComplete'); // Spans the events below
|
||||||
|
addRow('domInteractive'); |
||||||
|
addRow('domContentLoadedEventStart', 'domContentLoadedEventEnd'); |
||||||
|
addRow('loadEventStart', 'loadEventEnd'); |
||||||
|
$('#djDebugBrowserTiming').css("display", "block"); |
||||||
|
})(djdt.jQuery); |
||||||
|
Before Width: | Height: | Size: 357 KiB After Width: | Height: | Size: 357 KiB |
|
After Width: | Height: | Size: 560 B |