devtools-nestjs 2.0.7 → 2.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/controllers/profiler.controller.d.ts.map +1 -1
- package/dist/controllers/profiler.controller.js +17 -14
- package/dist/controllers/profiler.controller.js.map +1 -1
- package/dist/interceptors/profiler.interceptor.d.ts +3 -1
- package/dist/interceptors/profiler.interceptor.d.ts.map +1 -1
- package/dist/interceptors/profiler.interceptor.js +16 -3
- package/dist/interceptors/profiler.interceptor.js.map +1 -1
- package/dist/interceptors/toolbar.interceptor.d.ts.map +1 -1
- package/dist/interceptors/toolbar.interceptor.js +1 -1
- package/dist/interceptors/toolbar.interceptor.js.map +1 -1
- package/dist/views/icons/icons.d.ts +2 -0
- package/dist/views/icons/icons.d.ts.map +1 -0
- package/dist/views/icons/icons.js +20 -0
- package/dist/views/icons/icons.js.map +1 -0
- package/dist/views/layout.d.ts +1 -0
- package/dist/views/layout.d.ts.map +1 -1
- package/dist/views/layout.js +110 -88
- package/dist/views/layout.js.map +1 -1
- package/dist/views/panels/cache-panel.d.ts.map +1 -1
- package/dist/views/panels/cache-panel.js +14 -14
- package/dist/views/panels/cache-panel.js.map +1 -1
- package/dist/views/panels/database-panel.d.ts.map +1 -1
- package/dist/views/panels/database-panel.js +16 -15
- package/dist/views/panels/database-panel.js.map +1 -1
- package/dist/views/panels/exception-panel.d.ts.map +1 -1
- package/dist/views/panels/exception-panel.js +5 -10
- package/dist/views/panels/exception-panel.js.map +1 -1
- package/dist/views/panels/log-panel.d.ts.map +1 -1
- package/dist/views/panels/log-panel.js +25 -28
- package/dist/views/panels/log-panel.js.map +1 -1
- package/dist/views/panels/request-panel.js +3 -3
- package/dist/views/panels/request-panel.js.map +1 -1
- package/dist/views/panels/route-panel.js +3 -3
- package/dist/views/panels/route-panel.js.map +1 -1
- package/dist/views/panels/time-panel.d.ts.map +1 -1
- package/dist/views/panels/time-panel.js +13 -10
- package/dist/views/panels/time-panel.js.map +1 -1
- package/dist/views/toolbar.d.ts +4 -3
- package/dist/views/toolbar.d.ts.map +1 -1
- package/dist/views/toolbar.js +87 -114
- package/dist/views/toolbar.js.map +1 -1
- package/package.json +1 -1
package/dist/views/toolbar.js
CHANGED
|
@@ -1,162 +1,135 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ToolbarRenderer = void 0;
|
|
4
|
+
const icons_1 = require("./icons/icons");
|
|
4
5
|
class ToolbarRenderer {
|
|
5
|
-
render(token, toolbarPath, registry) {
|
|
6
|
+
render(token, toolbarPath, registry, method, statusCode, duration, memory) {
|
|
6
7
|
const collectors = registry.getAll();
|
|
7
8
|
const blocks = collectors
|
|
8
9
|
.map(c => {
|
|
9
|
-
const icon = this.renderIcon(c.getIcon());
|
|
10
|
-
const name = c.name;
|
|
11
10
|
const data = c.getData();
|
|
12
|
-
const
|
|
13
|
-
const
|
|
11
|
+
const icon = this.renderBlockIcon(c.name, data, c.getIcon());
|
|
12
|
+
const text = this.renderBlockText(c.name, data);
|
|
13
|
+
const statusClass = this.getStatusClass(c.name, data);
|
|
14
14
|
return `
|
|
15
|
-
<div class="sf-toolbar-block sf-toolbar-block-${name}
|
|
16
|
-
<a href="${toolbarPath}/${token}?panel=${name}" target="_profiler">
|
|
17
|
-
<div class="sf-toolbar-icon">${icon}</div>
|
|
15
|
+
<div class="sf-toolbar-block sf-toolbar-block-${c.name}">
|
|
16
|
+
<a href="${toolbarPath}/${token}?panel=${c.name}" target="_profiler">
|
|
17
|
+
<div class="sf-toolbar-icon">${icon}${text}</div>
|
|
18
18
|
</a>
|
|
19
|
-
<div class="sf-toolbar-info">${
|
|
19
|
+
<div class="sf-toolbar-info">${this.renderBlockInfo(c.name, data)}</div>
|
|
20
20
|
</div>`;
|
|
21
21
|
})
|
|
22
22
|
.join('');
|
|
23
23
|
return `
|
|
24
24
|
<style>
|
|
25
|
-
.sf-
|
|
26
|
-
.sf-
|
|
27
|
-
.sf-
|
|
28
|
-
.sf-toolbar-block
|
|
29
|
-
.sf-toolbar-
|
|
30
|
-
.sf-toolbar-
|
|
31
|
-
.sf-toolbar-
|
|
32
|
-
.sf-toolbar-
|
|
33
|
-
.sf-toolbar-
|
|
34
|
-
.sf-toolbar-
|
|
35
|
-
.sf-toolbar-
|
|
36
|
-
.sf-toolbar-
|
|
37
|
-
.sf-toolbar-
|
|
38
|
-
.sf-toolbar-
|
|
39
|
-
.sf-toolbar-
|
|
40
|
-
.sf-toolbar-
|
|
41
|
-
.sf-toolbar-
|
|
42
|
-
.sf-toolbar-
|
|
25
|
+
.sf-toolbarreset{--sf-bg:#1a1a2e;--sf-bg-hover:#252540;--sf-border:#2a2a3e;--sf-text:#e0e0e0;--sf-text-muted:#888;--sf-font:system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;--sf-font-mono:'JetBrains Mono','Fira Code',ui-monospace,monospace;--sf-green:#4caf50;--sf-yellow:#ff9800;--sf-red:#f44336;--sf-blue:#4fc3f7;--sf-white:#fff;all:initial;direction:ltr}
|
|
26
|
+
.sf-toolbarreset *{box-sizing:content-box;vertical-align:baseline;letter-spacing:normal}
|
|
27
|
+
.sf-toolbarreset{font:11px var(--sf-font);background:var(--sf-bg);color:var(--sf-text);position:fixed;bottom:0;left:0;right:0;z-index:99999;display:flex;align-items:stretch;box-shadow:inset 0 1px 0 var(--sf-border),0 -1px 8px rgba(0,0,0,.5);padding:0 4px;min-height:36px;text-transform:none;direction:ltr}
|
|
28
|
+
.sf-toolbar-block{display:flex;align-items:stretch;position:relative;cursor:default;flex-shrink:0}
|
|
29
|
+
.sf-toolbar-block a{display:flex;align-items:center;text-decoration:none;color:var(--sf-text);padding:0 10px;white-space:nowrap;transition:background .15s;font-size:11px;line-height:36px;height:36px}
|
|
30
|
+
.sf-toolbar-block a:hover{background:var(--sf-bg-hover)}
|
|
31
|
+
.sf-toolbar-icon{display:flex;align-items:center;gap:6px}
|
|
32
|
+
.sf-toolbar-icon svg{width:16px;height:16px;fill:none;stroke:currentColor;flex-shrink:0}
|
|
33
|
+
.sf-toolbar-icon .sf-toolbar-value{font-weight:600;font-size:12px;color:var(--sf-white);margin-right:2px}
|
|
34
|
+
.sf-toolbar-icon .sf-toolbar-label{color:var(--sf-text-muted);font-size:11px}
|
|
35
|
+
.sf-toolbar-info{display:none;position:absolute;bottom:100%;left:-1px;background:var(--sf-bg);border:1px solid var(--sf-border);border-bottom:none;min-width:220px;white-space:nowrap;box-shadow:0 -4px 12px rgba(0,0,0,.4);z-index:99998}
|
|
36
|
+
.sf-toolbar-block:hover .sf-toolbar-info{display:block}
|
|
37
|
+
.sf-toolbar-info-piece{padding:6px 12px;display:flex;gap:12px;font-size:12px;line-height:1.5;border-bottom:1px solid var(--sf-border)}
|
|
38
|
+
.sf-toolbar-info-piece:last-child{border-bottom:none}
|
|
39
|
+
.sf-toolbar-info-piece b{min-width:80px;color:var(--sf-text-muted);font-weight:500}
|
|
40
|
+
.sf-toolbar-info-piece .sf-toolbar-status{font-weight:600}
|
|
41
|
+
.sf-toolbar-status-green{color:var(--sf-green)}
|
|
42
|
+
.sf-toolbar-status-yellow{color:var(--sf-yellow)}
|
|
43
|
+
.sf-toolbar-status-red{color:var(--sf-red)}
|
|
44
|
+
.sf-toolbar-status-default{color:var(--sf-text)}
|
|
45
|
+
.sf-toolbar-token{margin-left:auto;padding:0 12px;display:flex;align-items:center;font-size:10px;color:var(--sf-text-muted);white-space:nowrap;gap:4px}
|
|
46
|
+
.sf-toolbar-token strong{color:var(--sf-text);font-weight:600}
|
|
47
|
+
.sf-toolbar-spacer{flex:1}
|
|
48
|
+
@media(max-width:768px){.sf-toolbar-icon .sf-toolbar-label,.sf-toolbar-icon .sf-toolbar-value{display:none}}
|
|
43
49
|
</style>
|
|
44
|
-
<div class="sf-
|
|
50
|
+
<div class="sf-toolbarreset" id="sfwdt${token}">
|
|
45
51
|
${blocks}
|
|
46
|
-
<div class="sf-toolbar-
|
|
52
|
+
<div class="sf-toolbar-spacer"></div>
|
|
53
|
+
<div class="sf-toolbar-token">
|
|
54
|
+
${method || ''} ${statusCode ? `<span class="sf-toolbar-status-${statusCode >= 400 ? 'red' : 'green'}">${statusCode}</span>` : ''}
|
|
55
|
+
${duration ? `<span>${duration}ms</span>` : ''}
|
|
56
|
+
${memory ? `<span>${memory}MB</span>` : ''}
|
|
57
|
+
<strong>${token}</strong>
|
|
58
|
+
</div>
|
|
47
59
|
</div>
|
|
48
60
|
<script>
|
|
49
|
-
(function() {
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
var toolbar = document.getElementById('sfwdt' + token);
|
|
53
|
-
|
|
54
|
-
var xhr = new XMLHttpRequest();
|
|
55
|
-
xhr.open('GET', toolbarUrl + '/' + token, true);
|
|
56
|
-
xhr.onload = function() {
|
|
57
|
-
if (xhr.status === 200) {
|
|
58
|
-
// toolbar loaded
|
|
59
|
-
}
|
|
60
|
-
};
|
|
61
|
-
xhr.send();
|
|
62
|
-
|
|
63
|
-
var originalFetch = window.fetch;
|
|
64
|
-
window.fetch = function(url, opts) {
|
|
65
|
-
return originalFetch.apply(this, arguments).then(function(response) {
|
|
66
|
-
var dt = response.headers.get('X-Debug-Token');
|
|
67
|
-
if (dt && dt !== token) {
|
|
68
|
-
token = dt;
|
|
69
|
-
var wdt = document.getElementById('sfwdt' + dt);
|
|
70
|
-
if (!wdt) {
|
|
71
|
-
var div = document.querySelector('.sf-toolbar');
|
|
72
|
-
if (div) div.parentNode.removeChild(div);
|
|
73
|
-
setTimeout(function() {
|
|
74
|
-
var xhr2 = new XMLHttpRequest();
|
|
75
|
-
xhr2.open('GET', toolbarUrl + '/' + dt, true);
|
|
76
|
-
xhr2.send();
|
|
77
|
-
}, 100);
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
return response;
|
|
81
|
-
});
|
|
82
|
-
};
|
|
83
|
-
|
|
84
|
-
var origSend = XMLHttpRequest.prototype.send;
|
|
85
|
-
XMLHttpRequest.prototype.send = function(body) {
|
|
86
|
-
this.addEventListener('load', function() {
|
|
87
|
-
var dt = this.getResponseHeader('X-Debug-Token');
|
|
88
|
-
if (dt && dt !== token) {
|
|
89
|
-
token = dt;
|
|
90
|
-
var wdt = document.getElementById('sfwdt' + dt);
|
|
91
|
-
if (!wdt) {
|
|
92
|
-
var div = document.querySelector('.sf-toolbar');
|
|
93
|
-
if (div) div.parentNode.removeChild(div);
|
|
94
|
-
setTimeout(function() {
|
|
95
|
-
var xhr2 = new XMLHttpRequest();
|
|
96
|
-
xhr2.open('GET', toolbarUrl + '/' + dt, true);
|
|
97
|
-
xhr2.send();
|
|
98
|
-
}, 100);
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
});
|
|
102
|
-
return origSend.call(this, body);
|
|
103
|
-
};
|
|
104
|
-
})();
|
|
61
|
+
(function(){var t='${token}',p='${toolbarPath}';
|
|
62
|
+
var o=XMLHttpRequest.prototype.send;XMLHttpRequest.prototype.send=function(b){this.addEventListener('load',function(){var d=this.getResponseHeader('X-Debug-Token');if(d&&d!==t){t=d;var e=document.querySelector('.sf-toolbarreset');if(e)e.remove();var x=new XMLHttpRequest;x.open('GET',p+'/'+d,true);x.send()}});return o.call(this,b)};
|
|
63
|
+
var f=window.fetch;window.fetch=function(u,o){return f.apply(this,arguments).then(function(r){var d=r.headers.get('X-Debug-Token');if(d&&d!==t){t=d;var e=document.querySelector('.sf-toolbarreset');if(e)e.remove();setTimeout(function(){var x=new XMLHttpRequest;x.open('GET',p+'/'+d,true);x.send()},100)}return r})};})();
|
|
105
64
|
</script>`;
|
|
106
65
|
}
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
request: `<svg viewBox="0 0 24 24"><path d="M20 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 14H4V6h16v12zM6 10h2v2H6v-2zm0 4h8v2H6v-2zm10 0h2v2h-2v-2zm-6-4h8v2h-8v-2z"/></svg>`,
|
|
110
|
-
time: `<svg viewBox="0 0 24 24"><path d="M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8zm.5-13H11v6l5.25 3.15.75-1.23-4.5-2.67z"/></svg>`,
|
|
111
|
-
exception: `<svg viewBox="0 0 24 24"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"/></svg>`,
|
|
112
|
-
route: `<svg viewBox="0 0 24 24"><path d="M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z"/></svg>`,
|
|
113
|
-
log: `<svg viewBox="0 0 24 24"><path d="M20 2H4c-1.1 0-2 .9-2 2v18l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm0 14H5.17L4 17.17V4h16v12zM7 9h10v2H7V9zm0 3h7v2H7v-2z"/></svg>`,
|
|
114
|
-
database: `<svg viewBox="0 0 24 24"><path d="M12 3C7.58 3 4 4.79 4 7v10c0 2.21 3.58 4 8 4s8-1.79 8-4V7c0-2.21-3.58-4-8-4zm6 14c0 1.1-2.69 2-6 2s-6-.9-6-2v-2.23c1.43.83 3.58 1.23 6 1.23s4.57-.4 6-1.23V17zm0-4c0 1.1-2.69 2-6 2s-6-.9-6-2v-2.23c1.43.83 3.58 1.23 6 1.23s4.57-.4 6-1.23V13zm0-4c0 1.1-2.69 2-6 2s-6-.9-6-2V7c0-1.1 2.69-2 6-2s6 .9 6 2v2z"/></svg>`,
|
|
115
|
-
cache: `<svg viewBox="0 0 24 24"><path d="M19 10V8c0-1.1-.9-2-2-2h-2V4c0-1.1-.9-2-2-2h-2c-1.1 0-2 .9-2 2v2H7c-1.1 0-2 .9-2 2v2c-1.1 0-2 .9-2 2v2c0 1.1.9 2 2 2v2c0 1.1.9 2 2 2h10c1.1 0 2-.9 2-2v-2c1.1 0 2-.9 2-2v-2c0-1.1-.9-2-2-2zm-6-6h2v2h-2V4zm0 4h2v2h-2V8zM7 8h2v2H7V8zm0 4h2v2H7v-2zm10 8H7v-2h10v2zm0-4H7v-2h10v2zm0-4H7v-2h10v2z"/></svg>`,
|
|
116
|
-
};
|
|
117
|
-
return icons[iconName] || icons.request;
|
|
66
|
+
renderBlockIcon(name, data, iconName) {
|
|
67
|
+
return icons_1.ICONS[name] || icons_1.ICONS[iconName] || icons_1.ICONS.request;
|
|
118
68
|
}
|
|
119
|
-
|
|
69
|
+
renderBlockText(name, data) {
|
|
70
|
+
switch (name) {
|
|
71
|
+
case 'request':
|
|
72
|
+
return `<span class="sf-toolbar-value">${data.method || 'GET'}</span><span class="sf-toolbar-label">${data.statusCode || 200}</span>`;
|
|
73
|
+
case 'time':
|
|
74
|
+
return `<span class="sf-toolbar-value">${data.totalDuration || 0}</span><span class="sf-toolbar-label">ms</span>`;
|
|
75
|
+
case 'exception':
|
|
76
|
+
return data.hasException
|
|
77
|
+
? `<span class="sf-toolbar-value sf-toolbar-status-red">ERR</span>`
|
|
78
|
+
: `<span class="sf-toolbar-value sf-toolbar-status-green">OK</span>`;
|
|
79
|
+
case 'route':
|
|
80
|
+
return `<span class="sf-toolbar-label">${data.route?.split('/').pop() || '/'}</span>`;
|
|
81
|
+
case 'log':
|
|
82
|
+
return `<span class="sf-toolbar-value">${data.totalLogs || 0}</span><span class="sf-toolbar-label">logs</span>`;
|
|
83
|
+
case 'database':
|
|
84
|
+
return `<span class="sf-toolbar-value">${data.totalQueries || 0}</span><span class="sf-toolbar-label">db</span>`;
|
|
85
|
+
case 'cache':
|
|
86
|
+
return `<span class="sf-toolbar-value">${data.totalOperations || 0}</span><span class="sf-toolbar-label">cache</span>`;
|
|
87
|
+
default:
|
|
88
|
+
return `<span class="sf-toolbar-label">${name}</span>`;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
renderBlockInfo(name, data) {
|
|
120
92
|
switch (name) {
|
|
121
93
|
case 'request':
|
|
122
94
|
return `
|
|
123
|
-
<div class="sf-toolbar-info-piece"><b>Method</b><span>${data.method || 'GET'}</span></div>
|
|
124
|
-
<div class="sf-toolbar-info-piece"><b>Status</b><span>${data.statusCode || 200}</span></div>
|
|
125
|
-
<div class="sf-toolbar-info-piece"><b>URL</b><span style="max-width:
|
|
95
|
+
<div class="sf-toolbar-info-piece"><b>Method</b><span class="sf-toolbar-status">${data.method || 'GET'}</span></div>
|
|
96
|
+
<div class="sf-toolbar-info-piece"><b>Status</b><span class="sf-toolbar-status-${data.statusCode >= 400 ? 'red' : 'green'}">${data.statusCode || 200}</span></div>
|
|
97
|
+
<div class="sf-toolbar-info-piece"><b>URL</b><span style="max-width:350px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap">${data.path || '/'}</span></div>
|
|
126
98
|
<div class="sf-toolbar-info-piece"><b>IP</b><span>${data.ip || '-'}</span></div>`;
|
|
127
99
|
case 'time':
|
|
128
100
|
return `
|
|
129
|
-
<div class="sf-toolbar-info-piece"><b>Duration</b><span>${data.totalDuration || 0} ms</span></div>
|
|
130
|
-
<div class="sf-toolbar-info-piece"><b>Memory</b><span>${data.peakMemory || 0} MB</span></div>`;
|
|
101
|
+
<div class="sf-toolbar-info-piece"><b>Duration</b><span class="sf-toolbar-status">${data.totalDuration || 0} ms</span></div>
|
|
102
|
+
<div class="sf-toolbar-info-piece"><b>Peak Memory</b><span>${data.peakMemory || 0} MB</span></div>`;
|
|
131
103
|
case 'exception':
|
|
132
104
|
if (data.hasException) {
|
|
133
|
-
return `<div class="sf-toolbar-info-piece"><b>Error</b><span
|
|
105
|
+
return `<div class="sf-toolbar-info-piece"><b>Error</b><span class="sf-toolbar-status-red">${data.message || 'Unknown'}</span></div>`;
|
|
134
106
|
}
|
|
135
|
-
return `<div class="sf-toolbar-info-piece"><b>Errors</b><span>0</span></div>`;
|
|
107
|
+
return `<div class="sf-toolbar-info-piece"><b>Errors</b><span class="sf-toolbar-status-green">0</span></div>`;
|
|
136
108
|
case 'route':
|
|
137
109
|
return `
|
|
138
110
|
<div class="sf-toolbar-info-piece"><b>Route</b><span>${data.route || '/'}</span></div>
|
|
139
111
|
<div class="sf-toolbar-info-piece"><b>Controller</b><span>${data.controller || 'unknown'}</span></div>`;
|
|
140
112
|
case 'log':
|
|
141
|
-
return
|
|
113
|
+
return `
|
|
114
|
+
<div class="sf-toolbar-info-piece"><b>Total Logs</b><span class="sf-toolbar-status">${data.totalLogs || 0}</span></div>
|
|
115
|
+
${data.logCounts ? Object.entries(data.logCounts).map(([level, count]) => `<div class="sf-toolbar-info-piece"><b>${level}</b><span>${count}</span></div>`).join('') : ''}`;
|
|
142
116
|
case 'database':
|
|
143
117
|
return `
|
|
144
|
-
<div class="sf-toolbar-info-piece"><b>Queries</b><span>${data.totalQueries || 0}</span></div>
|
|
145
|
-
<div class="sf-toolbar-info-piece"><b>
|
|
118
|
+
<div class="sf-toolbar-info-piece"><b>Total Queries</b><span class="sf-toolbar-status">${data.totalQueries || 0}</span></div>
|
|
119
|
+
<div class="sf-toolbar-info-piece"><b>Total Time</b><span>${data.totalDuration || 0} ms</span></div>
|
|
120
|
+
<div class="sf-toolbar-info-piece"><b>Average</b><span>${data.averageDuration || 0} ms</span></div>`;
|
|
146
121
|
case 'cache':
|
|
147
122
|
return `
|
|
148
|
-
<div class="sf-toolbar-info-piece"><b>
|
|
149
|
-
<div class="sf-toolbar-info-piece"><b>Hit
|
|
123
|
+
<div class="sf-toolbar-info-piece"><b>Total Ops</b><span class="sf-toolbar-status">${data.totalOperations || 0}</span></div>
|
|
124
|
+
<div class="sf-toolbar-info-piece"><b>Hit Rate</b><span class="sf-toolbar-status-${data.hitRate > 80 ? 'green' : data.hitRate > 50 ? 'yellow' : 'default'}">${data.hitRate || 0}%</span></div>`;
|
|
150
125
|
default:
|
|
151
126
|
return `<div class="sf-toolbar-info-piece"><b>Data</b><span>collected</span></div>`;
|
|
152
127
|
}
|
|
153
128
|
}
|
|
154
|
-
getStatusClass(data) {
|
|
155
|
-
|
|
156
|
-
const statusCode = data.statusCode;
|
|
157
|
-
if (exception)
|
|
129
|
+
getStatusClass(name, data) {
|
|
130
|
+
if (name === 'exception' && data.hasException)
|
|
158
131
|
return 'red';
|
|
159
|
-
if (
|
|
132
|
+
if (name === 'request' && data.statusCode >= 400)
|
|
160
133
|
return 'yellow';
|
|
161
134
|
return 'green';
|
|
162
135
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolbar.js","sourceRoot":"","sources":["../../src/views/toolbar.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"toolbar.js","sourceRoot":"","sources":["../../src/views/toolbar.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED