@design.estate/dees-catalog 1.8.3 → 1.8.4
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_bundle/bundle.js +235 -235
- package/dist_bundle/bundle.js.map +4 -4
- package/dist_ts_web/elements/dees-chart-area.d.ts +6 -0
- package/dist_ts_web/elements/dees-chart-area.demo.js +262 -13
- package/dist_ts_web/elements/dees-chart-area.js +123 -39
- package/dist_ts_web/elements/dees-chart-log.d.ts +17 -5
- package/dist_ts_web/elements/dees-chart-log.demo.js +127 -2
- package/dist_ts_web/elements/dees-chart-log.js +252 -28
- package/dist_ts_web/elements/dees-toast.d.ts +22 -0
- package/dist_ts_web/elements/dees-toast.demo.d.ts +1 -0
- package/dist_ts_web/elements/dees-toast.demo.js +258 -3
- package/dist_ts_web/elements/dees-toast.js +284 -6
- package/package.json +2 -2
|
@@ -1,5 +1,110 @@
|
|
|
1
1
|
import { html } from '@design.estate/dees-element';
|
|
2
2
|
export const demoFunc = () => {
|
|
3
|
+
let intervalId;
|
|
4
|
+
const serverSources = ['Server', 'Database', 'API', 'Auth', 'Cache', 'Queue', 'WebSocket', 'Scheduler'];
|
|
5
|
+
const logTemplates = {
|
|
6
|
+
debug: [
|
|
7
|
+
'Loading module: {{module}}',
|
|
8
|
+
'Cache hit for key: {{key}}',
|
|
9
|
+
'SQL query executed in {{time}}ms',
|
|
10
|
+
'Request headers: {{headers}}',
|
|
11
|
+
'Environment variable loaded: {{var}}',
|
|
12
|
+
],
|
|
13
|
+
info: [
|
|
14
|
+
'Request received: {{method}} {{path}}',
|
|
15
|
+
'User {{userId}} authenticated successfully',
|
|
16
|
+
'Processing job {{jobId}} from queue',
|
|
17
|
+
'Scheduled task "{{task}}" started',
|
|
18
|
+
'WebSocket connection established from {{ip}}',
|
|
19
|
+
],
|
|
20
|
+
warn: [
|
|
21
|
+
'Slow query detected: {{query}} ({{time}}ms)',
|
|
22
|
+
'Memory usage at {{percent}}%',
|
|
23
|
+
'Rate limit approaching for IP {{ip}}',
|
|
24
|
+
'Deprecated API endpoint called: {{endpoint}}',
|
|
25
|
+
'Certificate expires in {{days}} days',
|
|
26
|
+
],
|
|
27
|
+
error: [
|
|
28
|
+
'Database connection lost: {{error}}',
|
|
29
|
+
'Failed to process request: {{error}}',
|
|
30
|
+
'Authentication failed for user {{user}}',
|
|
31
|
+
'File not found: {{path}}',
|
|
32
|
+
'Service unavailable: {{service}}',
|
|
33
|
+
],
|
|
34
|
+
success: [
|
|
35
|
+
'Server started successfully on port {{port}}',
|
|
36
|
+
'Database migration completed',
|
|
37
|
+
'Backup completed: {{size}} MB',
|
|
38
|
+
'SSL certificate renewed',
|
|
39
|
+
'Health check passed: all systems operational',
|
|
40
|
+
],
|
|
41
|
+
};
|
|
42
|
+
const generateRandomLog = () => {
|
|
43
|
+
const logElement = window.__demoLogElement;
|
|
44
|
+
if (!logElement) {
|
|
45
|
+
console.warn('Log element not ready yet');
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
const levels = ['debug', 'info', 'warn', 'error', 'success'];
|
|
49
|
+
const weights = [0.2, 0.5, 0.15, 0.1, 0.05]; // Weighted probability
|
|
50
|
+
const random = Math.random();
|
|
51
|
+
let cumulative = 0;
|
|
52
|
+
let level = 'info';
|
|
53
|
+
for (let i = 0; i < weights.length; i++) {
|
|
54
|
+
cumulative += weights[i];
|
|
55
|
+
if (random < cumulative) {
|
|
56
|
+
level = levels[i];
|
|
57
|
+
break;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
const source = serverSources[Math.floor(Math.random() * serverSources.length)];
|
|
61
|
+
const templates = logTemplates[level];
|
|
62
|
+
const template = templates[Math.floor(Math.random() * templates.length)];
|
|
63
|
+
// Replace placeholders with random values
|
|
64
|
+
const message = template
|
|
65
|
+
.replace('{{module}}', ['express', 'mongoose', 'redis', 'socket.io'][Math.floor(Math.random() * 4)])
|
|
66
|
+
.replace('{{key}}', 'user:' + Math.floor(Math.random() * 1000))
|
|
67
|
+
.replace('{{time}}', String(Math.floor(Math.random() * 500) + 50))
|
|
68
|
+
.replace('{{headers}}', 'Content-Type: application/json, Authorization: Bearer ...')
|
|
69
|
+
.replace('{{var}}', ['NODE_ENV', 'DATABASE_URL', 'API_KEY', 'PORT'][Math.floor(Math.random() * 4)])
|
|
70
|
+
.replace('{{method}}', ['GET', 'POST', 'PUT', 'DELETE'][Math.floor(Math.random() * 4)])
|
|
71
|
+
.replace('{{path}}', ['/api/users', '/api/auth/login', '/api/products', '/health'][Math.floor(Math.random() * 4)])
|
|
72
|
+
.replace('{{userId}}', String(Math.floor(Math.random() * 10000)))
|
|
73
|
+
.replace('{{jobId}}', 'job_' + Math.random().toString(36).substring(2, 11))
|
|
74
|
+
.replace('{{task}}', ['cleanup', 'backup', 'report-generation', 'cache-refresh'][Math.floor(Math.random() * 4)])
|
|
75
|
+
.replace('{{ip}}', `192.168.1.${Math.floor(Math.random() * 255)}`)
|
|
76
|
+
.replace('{{query}}', 'SELECT * FROM users WHERE ...')
|
|
77
|
+
.replace('{{percent}}', String(Math.floor(Math.random() * 30) + 70))
|
|
78
|
+
.replace('{{endpoint}}', '/api/v1/legacy')
|
|
79
|
+
.replace('{{days}}', String(Math.floor(Math.random() * 30) + 1))
|
|
80
|
+
.replace('{{error}}', ['ECONNREFUSED', 'ETIMEDOUT', 'ENOTFOUND'][Math.floor(Math.random() * 3)])
|
|
81
|
+
.replace('{{user}}', 'user_' + Math.floor(Math.random() * 1000))
|
|
82
|
+
.replace('{{service}}', ['Redis', 'MongoDB', 'ElasticSearch'][Math.floor(Math.random() * 3)])
|
|
83
|
+
.replace('{{port}}', String(3000 + Math.floor(Math.random() * 10)))
|
|
84
|
+
.replace('{{size}}', String(Math.floor(Math.random() * 500) + 100));
|
|
85
|
+
logElement.addLog(level, message, source);
|
|
86
|
+
};
|
|
87
|
+
const startSimulation = () => {
|
|
88
|
+
if (!intervalId) {
|
|
89
|
+
// Generate logs at random intervals between 500ms and 2500ms
|
|
90
|
+
const scheduleNext = () => {
|
|
91
|
+
generateRandomLog();
|
|
92
|
+
const nextDelay = Math.random() * 2000 + 500;
|
|
93
|
+
intervalId = window.setTimeout(() => {
|
|
94
|
+
if (intervalId) {
|
|
95
|
+
scheduleNext();
|
|
96
|
+
}
|
|
97
|
+
}, nextDelay);
|
|
98
|
+
};
|
|
99
|
+
scheduleNext();
|
|
100
|
+
}
|
|
101
|
+
};
|
|
102
|
+
const stopSimulation = () => {
|
|
103
|
+
if (intervalId) {
|
|
104
|
+
window.clearTimeout(intervalId);
|
|
105
|
+
intervalId = null;
|
|
106
|
+
}
|
|
107
|
+
};
|
|
3
108
|
return html `
|
|
4
109
|
<style>
|
|
5
110
|
.demoBox {
|
|
@@ -8,13 +113,33 @@ export const demoFunc = () => {
|
|
|
8
113
|
height: 100%;
|
|
9
114
|
width: 100%;
|
|
10
115
|
padding: 40px;
|
|
116
|
+
box-sizing: border-box;
|
|
117
|
+
display: flex;
|
|
118
|
+
flex-direction: column;
|
|
119
|
+
gap: 20px;
|
|
120
|
+
}
|
|
121
|
+
.controls {
|
|
122
|
+
display: flex;
|
|
123
|
+
gap: 10px;
|
|
124
|
+
flex-wrap: wrap;
|
|
125
|
+
}
|
|
126
|
+
.info {
|
|
127
|
+
color: #888;
|
|
128
|
+
font-size: 12px;
|
|
129
|
+
font-family: 'Geist Sans', sans-serif;
|
|
11
130
|
}
|
|
12
131
|
</style>
|
|
13
132
|
<div class="demoBox">
|
|
133
|
+
<div class="controls">
|
|
134
|
+
<dees-button @clicked=${() => generateRandomLog()}>Add Single Log</dees-button>
|
|
135
|
+
<dees-button @clicked=${() => startSimulation()}>Start Simulation</dees-button>
|
|
136
|
+
<dees-button @clicked=${() => stopSimulation()}>Stop Simulation</dees-button>
|
|
137
|
+
</div>
|
|
138
|
+
<div class="info">Simulating realistic server logs with various levels and sources</div>
|
|
14
139
|
<dees-chart-log
|
|
15
|
-
.label=${'
|
|
140
|
+
.label=${'Production Server Logs'}
|
|
16
141
|
></dees-chart-log>
|
|
17
142
|
</div>
|
|
18
143
|
`;
|
|
19
144
|
};
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
145
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcy1jaGFydC1sb2cuZGVtby5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzX3dlYi9lbGVtZW50cy9kZWVzLWNoYXJ0LWxvZy5kZW1vLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUVuRCxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsR0FBRyxFQUFFO0lBQzNCLElBQUksVUFBa0IsQ0FBQztJQUV2QixNQUFNLGFBQWEsR0FBRyxDQUFDLFFBQVEsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxXQUFXLENBQUMsQ0FBQztJQUV4RyxNQUFNLFlBQVksR0FBRztRQUNuQixLQUFLLEVBQUU7WUFDTCw0QkFBNEI7WUFDNUIsNEJBQTRCO1lBQzVCLGtDQUFrQztZQUNsQyw4QkFBOEI7WUFDOUIsc0NBQXNDO1NBQ3ZDO1FBQ0QsSUFBSSxFQUFFO1lBQ0osdUNBQXVDO1lBQ3ZDLDRDQUE0QztZQUM1QyxxQ0FBcUM7WUFDckMsbUNBQW1DO1lBQ25DLDhDQUE4QztTQUMvQztRQUNELElBQUksRUFBRTtZQUNKLDZDQUE2QztZQUM3Qyw4QkFBOEI7WUFDOUIsc0NBQXNDO1lBQ3RDLDhDQUE4QztZQUM5QyxzQ0FBc0M7U0FDdkM7UUFDRCxLQUFLLEVBQUU7WUFDTCxxQ0FBcUM7WUFDckMsc0NBQXNDO1lBQ3RDLHlDQUF5QztZQUN6QywwQkFBMEI7WUFDMUIsa0NBQWtDO1NBQ25DO1FBQ0QsT0FBTyxFQUFFO1lBQ1AsOENBQThDO1lBQzlDLDhCQUE4QjtZQUM5QiwrQkFBK0I7WUFDL0IseUJBQXlCO1lBQ3pCLDhDQUE4QztTQUMvQztLQUNGLENBQUM7SUFFRixNQUFNLGlCQUFpQixHQUFHLEdBQUcsRUFBRTtRQUM3QixNQUFNLFVBQVUsR0FBSSxNQUFjLENBQUMsZ0JBQWdCLENBQUM7UUFDcEQsSUFB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
|
|
@@ -7,73 +7,297 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
7
7
|
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
8
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
9
|
};
|
|
10
|
-
import { DeesElement, css, cssManager, customElement, html, property,
|
|
10
|
+
import { DeesElement, css, cssManager, customElement, html, property, } from '@design.estate/dees-element';
|
|
11
11
|
import * as domtools from '@design.estate/dees-domtools';
|
|
12
12
|
import { demoFunc } from './dees-chart-log.demo.js';
|
|
13
|
-
import ApexCharts from 'apexcharts';
|
|
14
13
|
let DeesChartLog = class DeesChartLog extends DeesElement {
|
|
15
14
|
static { this.demo = demoFunc; }
|
|
16
15
|
constructor() {
|
|
17
16
|
super();
|
|
18
|
-
this.label = '
|
|
17
|
+
this.label = 'Server Logs';
|
|
18
|
+
this.logEntries = [];
|
|
19
|
+
this.autoScroll = true;
|
|
20
|
+
this.maxEntries = 1000;
|
|
19
21
|
domtools.elementBasic.setup();
|
|
20
22
|
}
|
|
21
23
|
static { this.styles = [
|
|
22
24
|
cssManager.defaultStyles,
|
|
23
25
|
css `
|
|
24
26
|
:host {
|
|
25
|
-
font-family: 'Geist
|
|
27
|
+
font-family: 'Geist Mono', 'Consolas', 'Monaco', monospace;
|
|
26
28
|
color: #ccc;
|
|
27
|
-
font-weight: 600;
|
|
28
29
|
font-size: 12px;
|
|
30
|
+
line-height: 1.4;
|
|
29
31
|
}
|
|
30
32
|
.mainbox {
|
|
31
33
|
position: relative;
|
|
32
34
|
width: 100%;
|
|
33
35
|
height: 400px;
|
|
34
|
-
background: #
|
|
36
|
+
background: ${cssManager.bdTheme('#f8f9fa', '#0a0a0a')};
|
|
37
|
+
border: 1px solid ${cssManager.bdTheme('#dee2e6', '#333')};
|
|
35
38
|
border-radius: 8px;
|
|
36
|
-
|
|
39
|
+
display: flex;
|
|
40
|
+
flex-direction: column;
|
|
41
|
+
overflow: hidden;
|
|
37
42
|
}
|
|
38
43
|
|
|
39
|
-
.
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
44
|
+
.header {
|
|
45
|
+
background: ${cssManager.bdTheme('#e9ecef', '#1a1a1a')};
|
|
46
|
+
padding: 8px 16px;
|
|
47
|
+
border-bottom: 1px solid ${cssManager.bdTheme('#dee2e6', '#333')};
|
|
48
|
+
display: flex;
|
|
49
|
+
justify-content: space-between;
|
|
50
|
+
align-items: center;
|
|
51
|
+
flex-shrink: 0;
|
|
46
52
|
}
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
53
|
+
|
|
54
|
+
.title {
|
|
55
|
+
font-weight: 600;
|
|
56
|
+
color: ${cssManager.bdTheme('#212529', '#fff')};
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
.controls {
|
|
60
|
+
display: flex;
|
|
61
|
+
gap: 8px;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
.control-button {
|
|
65
|
+
background: ${cssManager.bdTheme('#e9ecef', '#2a2a2a')};
|
|
66
|
+
border: 1px solid ${cssManager.bdTheme('#ced4da', '#444')};
|
|
67
|
+
border-radius: 4px;
|
|
68
|
+
padding: 4px 8px;
|
|
69
|
+
color: ${cssManager.bdTheme('#495057', '#ccc')};
|
|
70
|
+
cursor: pointer;
|
|
71
|
+
font-size: 11px;
|
|
72
|
+
transition: all 0.2s;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
.control-button:hover {
|
|
76
|
+
background: ${cssManager.bdTheme('#dee2e6', '#3a3a3a')};
|
|
77
|
+
border-color: ${cssManager.bdTheme('#adb5bd', '#555')};
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
.control-button.active {
|
|
81
|
+
background: ${cssManager.bdTheme('#007bff', '#4a4a4a')};
|
|
82
|
+
color: ${cssManager.bdTheme('#fff', '#fff')};
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
.logContainer {
|
|
86
|
+
flex: 1;
|
|
87
|
+
overflow-y: auto;
|
|
88
|
+
overflow-x: hidden;
|
|
89
|
+
padding: 8px 16px;
|
|
90
|
+
font-size: 12px;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
.logEntry {
|
|
94
|
+
margin-bottom: 2px;
|
|
95
|
+
display: flex;
|
|
96
|
+
white-space: pre-wrap;
|
|
97
|
+
word-break: break-all;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
.timestamp {
|
|
101
|
+
color: ${cssManager.bdTheme('#6c757d', '#666')};
|
|
102
|
+
margin-right: 8px;
|
|
103
|
+
flex-shrink: 0;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
.level {
|
|
107
|
+
margin-right: 8px;
|
|
108
|
+
padding: 0 6px;
|
|
109
|
+
border-radius: 3px;
|
|
110
|
+
font-weight: 600;
|
|
111
|
+
text-transform: uppercase;
|
|
112
|
+
font-size: 10px;
|
|
113
|
+
flex-shrink: 0;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
.level.debug {
|
|
117
|
+
color: ${cssManager.bdTheme('#6c757d', '#999')};
|
|
118
|
+
background: ${cssManager.bdTheme('rgba(108, 117, 125, 0.1)', '#333')};
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
.level.info {
|
|
122
|
+
color: ${cssManager.bdTheme('#0066cc', '#4a9eff')};
|
|
123
|
+
background: ${cssManager.bdTheme('rgba(0, 102, 204, 0.1)', 'rgba(74, 158, 255, 0.1)')};
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
.level.warn {
|
|
127
|
+
color: ${cssManager.bdTheme('#ff8800', '#ffb84a')};
|
|
128
|
+
background: ${cssManager.bdTheme('rgba(255, 136, 0, 0.1)', 'rgba(255, 184, 74, 0.1)')};
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
.level.error {
|
|
132
|
+
color: ${cssManager.bdTheme('#dc3545', '#ff4a4a')};
|
|
133
|
+
background: ${cssManager.bdTheme('rgba(220, 53, 69, 0.1)', 'rgba(255, 74, 74, 0.1)')};
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
.level.success {
|
|
137
|
+
color: ${cssManager.bdTheme('#28a745', '#4aff88')};
|
|
138
|
+
background: ${cssManager.bdTheme('rgba(40, 167, 69, 0.1)', 'rgba(74, 255, 136, 0.1)')};
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
.source {
|
|
142
|
+
color: ${cssManager.bdTheme('#6c757d', '#888')};
|
|
143
|
+
margin-right: 8px;
|
|
144
|
+
flex-shrink: 0;
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
.message {
|
|
148
|
+
color: ${cssManager.bdTheme('#212529', '#ddd')};
|
|
149
|
+
flex: 1;
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
.empty-state {
|
|
153
|
+
display: flex;
|
|
154
|
+
align-items: center;
|
|
155
|
+
justify-content: center;
|
|
50
156
|
height: 100%;
|
|
157
|
+
color: ${cssManager.bdTheme('#6c757d', '#666')};
|
|
158
|
+
font-style: italic;
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
/* Custom scrollbar */
|
|
162
|
+
.logContainer::-webkit-scrollbar {
|
|
163
|
+
width: 8px;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
.logContainer::-webkit-scrollbar-track {
|
|
167
|
+
background: ${cssManager.bdTheme('#e9ecef', '#1a1a1a')};
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
.logContainer::-webkit-scrollbar-thumb {
|
|
171
|
+
background: ${cssManager.bdTheme('#adb5bd', '#444')};
|
|
172
|
+
border-radius: 4px;
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
.logContainer::-webkit-scrollbar-thumb:hover {
|
|
176
|
+
background: ${cssManager.bdTheme('#6c757d', '#555')};
|
|
51
177
|
}
|
|
52
178
|
`,
|
|
53
179
|
]; }
|
|
54
180
|
render() {
|
|
55
|
-
return html `
|
|
56
|
-
<div class="
|
|
57
|
-
|
|
58
|
-
|
|
181
|
+
return html `
|
|
182
|
+
<div class="mainbox">
|
|
183
|
+
<div class="header">
|
|
184
|
+
<div class="title">${this.label}</div>
|
|
185
|
+
<div class="controls">
|
|
186
|
+
<button
|
|
187
|
+
class="control-button ${this.autoScroll ? 'active' : ''}"
|
|
188
|
+
@click=${() => { this.autoScroll = !this.autoScroll; }}
|
|
189
|
+
>
|
|
190
|
+
Auto Scroll
|
|
191
|
+
</button>
|
|
192
|
+
<button
|
|
193
|
+
class="control-button"
|
|
194
|
+
@click=${() => { this.clearLogs(); }}
|
|
195
|
+
>
|
|
196
|
+
Clear
|
|
197
|
+
</button>
|
|
198
|
+
</div>
|
|
199
|
+
</div>
|
|
200
|
+
<div class="logContainer">
|
|
201
|
+
${this.logEntries.length === 0
|
|
202
|
+
? html `<div class="empty-state">No logs to display</div>`
|
|
203
|
+
: this.logEntries.map(entry => this.renderLogEntry(entry))}
|
|
204
|
+
</div>
|
|
205
|
+
</div>
|
|
206
|
+
`;
|
|
207
|
+
}
|
|
208
|
+
renderLogEntry(entry) {
|
|
209
|
+
const timestamp = new Date(entry.timestamp).toLocaleTimeString('en-US', {
|
|
210
|
+
hour12: false,
|
|
211
|
+
hour: '2-digit',
|
|
212
|
+
minute: '2-digit',
|
|
213
|
+
second: '2-digit',
|
|
214
|
+
fractionalSecondDigits: 3
|
|
215
|
+
});
|
|
216
|
+
return html `
|
|
217
|
+
<div class="logEntry">
|
|
218
|
+
<span class="timestamp">${timestamp}</span>
|
|
219
|
+
<span class="level ${entry.level}">${entry.level}</span>
|
|
220
|
+
${entry.source ? html `<span class="source">[${entry.source}]</span>` : ''}
|
|
221
|
+
<span class="message">${entry.message}</span>
|
|
222
|
+
</div>
|
|
223
|
+
`;
|
|
59
224
|
}
|
|
60
225
|
async firstUpdated() {
|
|
61
|
-
|
|
226
|
+
await this.domtoolsPromise;
|
|
227
|
+
this.logContainer = this.shadowRoot.querySelector('.logContainer');
|
|
228
|
+
// Initialize with demo server logs
|
|
229
|
+
const demoLogs = [
|
|
230
|
+
{ timestamp: new Date().toISOString(), level: 'info', message: 'Server started on port 3000', source: 'Server' },
|
|
231
|
+
{ timestamp: new Date().toISOString(), level: 'debug', message: 'Loading configuration from /etc/app/config.json', source: 'Config' },
|
|
232
|
+
{ timestamp: new Date().toISOString(), level: 'info', message: 'Connected to MongoDB at mongodb://localhost:27017', source: 'Database' },
|
|
233
|
+
{ timestamp: new Date().toISOString(), level: 'success', message: 'Database connection established successfully', source: 'Database' },
|
|
234
|
+
{ timestamp: new Date().toISOString(), level: 'warn', message: 'No SSL certificate found, using self-signed certificate', source: 'Security' },
|
|
235
|
+
{ timestamp: new Date().toISOString(), level: 'info', message: 'API routes initialized: GET /api/users, POST /api/users, DELETE /api/users/:id', source: 'Router' },
|
|
236
|
+
{ timestamp: new Date().toISOString(), level: 'debug', message: 'Middleware stack: cors, bodyParser, authentication, errorHandler', source: 'Middleware' },
|
|
237
|
+
{ timestamp: new Date().toISOString(), level: 'info', message: 'WebSocket server listening on ws://localhost:3001', source: 'WebSocket' },
|
|
238
|
+
];
|
|
239
|
+
this.logEntries = demoLogs;
|
|
240
|
+
this.scrollToBottom();
|
|
241
|
+
// For demo purposes, store reference globally
|
|
242
|
+
if (window.__demoLogElement === undefined) {
|
|
243
|
+
window.__demoLogElement = this;
|
|
244
|
+
}
|
|
62
245
|
}
|
|
63
|
-
async updateLog() {
|
|
246
|
+
async updateLog(entries) {
|
|
247
|
+
if (entries) {
|
|
248
|
+
// Add new entries
|
|
249
|
+
this.logEntries = [...this.logEntries, ...entries];
|
|
250
|
+
// Trim if exceeds max entries
|
|
251
|
+
if (this.logEntries.length > this.maxEntries) {
|
|
252
|
+
this.logEntries = this.logEntries.slice(-this.maxEntries);
|
|
253
|
+
}
|
|
254
|
+
// Trigger re-render
|
|
255
|
+
this.requestUpdate();
|
|
256
|
+
// Auto-scroll if enabled
|
|
257
|
+
await this.updateComplete;
|
|
258
|
+
if (this.autoScroll) {
|
|
259
|
+
this.scrollToBottom();
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
clearLogs() {
|
|
264
|
+
this.logEntries = [];
|
|
265
|
+
this.requestUpdate();
|
|
266
|
+
}
|
|
267
|
+
scrollToBottom() {
|
|
268
|
+
if (this.logContainer) {
|
|
269
|
+
this.logContainer.scrollTop = this.logContainer.scrollHeight;
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
addLog(level, message, source) {
|
|
273
|
+
const newEntry = {
|
|
274
|
+
timestamp: new Date().toISOString(),
|
|
275
|
+
level,
|
|
276
|
+
message,
|
|
277
|
+
source
|
|
278
|
+
};
|
|
279
|
+
this.updateLog([newEntry]);
|
|
64
280
|
}
|
|
65
281
|
};
|
|
66
|
-
__decorate([
|
|
67
|
-
state(),
|
|
68
|
-
__metadata("design:type", ApexCharts)
|
|
69
|
-
], DeesChartLog.prototype, "chart", void 0);
|
|
70
282
|
__decorate([
|
|
71
283
|
property(),
|
|
72
284
|
__metadata("design:type", String)
|
|
73
285
|
], DeesChartLog.prototype, "label", void 0);
|
|
286
|
+
__decorate([
|
|
287
|
+
property({ type: Array }),
|
|
288
|
+
__metadata("design:type", Array)
|
|
289
|
+
], DeesChartLog.prototype, "logEntries", void 0);
|
|
290
|
+
__decorate([
|
|
291
|
+
property({ type: Boolean }),
|
|
292
|
+
__metadata("design:type", Boolean)
|
|
293
|
+
], DeesChartLog.prototype, "autoScroll", void 0);
|
|
294
|
+
__decorate([
|
|
295
|
+
property({ type: Number }),
|
|
296
|
+
__metadata("design:type", Number)
|
|
297
|
+
], DeesChartLog.prototype, "maxEntries", void 0);
|
|
74
298
|
DeesChartLog = __decorate([
|
|
75
299
|
customElement('dees-chart-log'),
|
|
76
300
|
__metadata("design:paramtypes", [])
|
|
77
301
|
], DeesChartLog);
|
|
78
302
|
export { DeesChartLog };
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
303
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcy1jaGFydC1sb2cuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90c193ZWIvZWxlbWVudHMvZGVlcy1jaGFydC1sb2cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUNMLFdBQVcsRUFDWCxHQUFHLEVBQ0gsVUFBVSxFQUNWLGFBQWEsRUFDYixJQUFJLEVBQ0osUUFBUSxHQUVULE1BQU0sNkJBQTZCLENBQUM7QUFFckMsT0FBTyxLQUFLLFFBQVEsTUFBTSw4QkFBOEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFpQjdDLElBQU0sWUFBWSxHQUFsQixNQUFNLFlBQWEsU0FBUSxXQUFXO2FBQzdCLFNBQUksR0FBRyxRQUFRLEFBQVgsQ0FBWTtJQWdCOUI7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQWRILFVBQUssR0FBVyxhQUFhLENBQUM7UUFHOUIsZUFBVSxHQUFnQixFQUFFLENBQUM7UUFHN0IsZUFBVSxHQUFZLElBQUksQ0FBQztRQUczQixlQUFVLEdBQVcsSUFBSSxDQUFDO1FBTS9CLFFBQVEsQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUM7SUFFaEMsQ0FBQzthQUVhLFdBQU0sR0FBRztRQUNyQixVQUFVLENBQUMsYUFBYTtRQUN4QixHQUFHLENBQUE7Ozs7Ozs7Ozs7O3NCQVdlLFVBQVUsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQzs0QkFDbEMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDOzs7Ozs7OztzQkFRM0MsVUFBVSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDOzttQ0FFM0IsVUFBVSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDOzs7Ozs7Ozs7aUJBU3ZELFVBQVUsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQzs7Ozs7Ozs7O3NCQVNoQyxV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
|
|
@@ -4,8 +4,30 @@ declare global {
|
|
|
4
4
|
'dees-toast': DeesToast;
|
|
5
5
|
}
|
|
6
6
|
}
|
|
7
|
+
export type ToastType = 'info' | 'success' | 'warning' | 'error';
|
|
8
|
+
export type ToastPosition = 'top-right' | 'top-left' | 'bottom-right' | 'bottom-left' | 'top-center' | 'bottom-center';
|
|
9
|
+
export interface IToastOptions {
|
|
10
|
+
message: string;
|
|
11
|
+
type?: ToastType;
|
|
12
|
+
duration?: number;
|
|
13
|
+
position?: ToastPosition;
|
|
14
|
+
}
|
|
7
15
|
export declare class DeesToast extends DeesElement {
|
|
8
16
|
static demo: () => Promise<TemplateResult<1>>;
|
|
17
|
+
private static toastContainers;
|
|
18
|
+
private static getOrCreateContainer;
|
|
19
|
+
static show(options: IToastOptions | string): Promise<DeesToast>;
|
|
20
|
+
static info(message: string, duration?: number): Promise<DeesToast>;
|
|
21
|
+
static success(message: string, duration?: number): Promise<DeesToast>;
|
|
22
|
+
static warning(message: string, duration?: number): Promise<DeesToast>;
|
|
23
|
+
static error(message: string, duration?: number): Promise<DeesToast>;
|
|
24
|
+
message: string;
|
|
25
|
+
type: ToastType;
|
|
26
|
+
duration: number;
|
|
27
|
+
isVisible: boolean;
|
|
9
28
|
constructor();
|
|
29
|
+
static styles: import("@design.estate/dees-element").CSSResult[];
|
|
10
30
|
render(): TemplateResult;
|
|
31
|
+
dismiss(): Promise<void>;
|
|
32
|
+
firstUpdated(): void;
|
|
11
33
|
}
|