@design.estate/dees-catalog 3.98.0 → 3.99.0
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 +476 -118
- package/dist_ts_web/00_commitinfo_data.js +1 -1
- package/dist_ts_web/elements/00group-chart/dees-chart-area/component.d.ts +36 -0
- package/dist_ts_web/elements/00group-chart/dees-chart-area/component.js +444 -118
- package/dist_ts_web/elements/00group-chart/dees-chart-area/realtime-updates.d.ts +21 -0
- package/dist_ts_web/elements/00group-chart/dees-chart-area/realtime-updates.js +79 -0
- package/dist_ts_web/elements/00group-chart/dees-chart-area/styles.js +11 -1
- package/dist_ts_web/elements/00group-chart/dees-chart-area/template.js +4 -2
- package/package.json +2 -2
- package/readme.md +10 -1
- package/ts_web/00_commitinfo_data.ts +1 -1
- package/ts_web/elements/00group-chart/dees-chart-area/component.ts +438 -115
- package/ts_web/elements/00group-chart/dees-chart-area/realtime-updates.ts +110 -0
- package/ts_web/elements/00group-chart/dees-chart-area/styles.ts +10 -0
- package/ts_web/elements/00group-chart/dees-chart-area/template.ts +3 -1
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export interface IRealtimeChartPoint {
|
|
2
|
+
time: number;
|
|
3
|
+
value: number;
|
|
4
|
+
}
|
|
5
|
+
export interface IRealtimeChartUpdate {
|
|
6
|
+
point: IRealtimeChartPoint;
|
|
7
|
+
historicalUpdate: boolean;
|
|
8
|
+
}
|
|
9
|
+
export interface IRealtimeChartUpdatePlan {
|
|
10
|
+
replacementRequired: boolean;
|
|
11
|
+
updates: IRealtimeChartUpdate[];
|
|
12
|
+
pruneRecommended: boolean;
|
|
13
|
+
pruneRequired: boolean;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Lightweight Charts can update the newest point or append newer points with
|
|
17
|
+
* update(). Historical update() calls may only target timestamps that already
|
|
18
|
+
* exist. Everything else needs an exact setData() replacement.
|
|
19
|
+
*/
|
|
20
|
+
export declare const planRealtimeChartUpdates: (renderedData: readonly IRealtimeChartPoint[], canonicalData: readonly IRealtimeChartPoint[]) => IRealtimeChartUpdatePlan;
|
|
21
|
+
export declare const haveSameSeriesLayout: (renderedNames: readonly string[], canonicalNames: readonly string[]) => boolean;
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Lightweight Charts can update the newest point or append newer points with
|
|
3
|
+
* update(). Historical update() calls may only target timestamps that already
|
|
4
|
+
* exist. Everything else needs an exact setData() replacement.
|
|
5
|
+
*/
|
|
6
|
+
export const planRealtimeChartUpdates = (renderedData, canonicalData) => {
|
|
7
|
+
if (canonicalData.length === 0) {
|
|
8
|
+
return {
|
|
9
|
+
replacementRequired: renderedData.length !== 0,
|
|
10
|
+
updates: [],
|
|
11
|
+
pruneRecommended: false,
|
|
12
|
+
pruneRequired: false,
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
if (renderedData.length === 0) {
|
|
16
|
+
return {
|
|
17
|
+
replacementRequired: false,
|
|
18
|
+
updates: canonicalData.map((point) => ({ point, historicalUpdate: false })),
|
|
19
|
+
pruneRecommended: false,
|
|
20
|
+
pruneRequired: false,
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
const renderedByTime = new Map(renderedData.map((point) => [point.time, point]));
|
|
24
|
+
const canonicalByTime = new Map(canonicalData.map((point) => [point.time, point]));
|
|
25
|
+
const canonicalStart = canonicalData[0].time;
|
|
26
|
+
const renderedLastTime = renderedData[renderedData.length - 1].time;
|
|
27
|
+
// Points before canonicalStart are an expired rolling-window prefix and may
|
|
28
|
+
// stay hidden temporarily. Missing points anywhere else are structural
|
|
29
|
+
// deletions (including suffix deletion) and require an exact replacement.
|
|
30
|
+
const hasStructuralDeletion = renderedData.some((point) => point.time >= canonicalStart && !canonicalByTime.has(point.time));
|
|
31
|
+
if (hasStructuralDeletion) {
|
|
32
|
+
return {
|
|
33
|
+
replacementRequired: true,
|
|
34
|
+
updates: [],
|
|
35
|
+
pruneRecommended: false,
|
|
36
|
+
pruneRequired: false,
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
const updates = [];
|
|
40
|
+
for (const canonicalPoint of canonicalData) {
|
|
41
|
+
const renderedPoint = renderedByTime.get(canonicalPoint.time);
|
|
42
|
+
if (!renderedPoint) {
|
|
43
|
+
if (canonicalPoint.time < renderedLastTime) {
|
|
44
|
+
// Historical update() cannot insert a missing timestamp.
|
|
45
|
+
return {
|
|
46
|
+
replacementRequired: true,
|
|
47
|
+
updates: [],
|
|
48
|
+
pruneRecommended: false,
|
|
49
|
+
pruneRequired: false,
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
updates.push({ point: canonicalPoint, historicalUpdate: false });
|
|
53
|
+
continue;
|
|
54
|
+
}
|
|
55
|
+
if (renderedPoint.value !== canonicalPoint.value) {
|
|
56
|
+
updates.push({
|
|
57
|
+
point: canonicalPoint,
|
|
58
|
+
historicalUpdate: canonicalPoint.time < renderedLastTime,
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
const firstCanonicalPointIndex = renderedData.findIndex((point) => point.time >= canonicalStart);
|
|
63
|
+
const retainedPrefixLength = firstCanonicalPointIndex === -1
|
|
64
|
+
? renderedData.length
|
|
65
|
+
: firstCanonicalPointIndex;
|
|
66
|
+
const projectedLength = renderedData.length
|
|
67
|
+
+ updates.filter((update) => !renderedByTime.has(update.point.time)).length;
|
|
68
|
+
// Retain at most one additional hidden rolling window before compacting.
|
|
69
|
+
const retentionLimit = Math.max(canonicalData.length * 2, 2);
|
|
70
|
+
const pruneRecommended = retainedPrefixLength > 0 && projectedLength > retentionLimit;
|
|
71
|
+
// Hover may defer a recommended compaction to preserve the active crosshair,
|
|
72
|
+
// but never beyond two additional hidden windows.
|
|
73
|
+
const hardRetentionLimit = Math.max(canonicalData.length * 3, 3);
|
|
74
|
+
const pruneRequired = retainedPrefixLength > 0 && projectedLength > hardRetentionLimit;
|
|
75
|
+
return { replacementRequired: false, updates, pruneRecommended, pruneRequired };
|
|
76
|
+
};
|
|
77
|
+
export const haveSameSeriesLayout = (renderedNames, canonicalNames) => renderedNames.length === canonicalNames.length
|
|
78
|
+
&& renderedNames.every((name, index) => name === canonicalNames[index]);
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhbHRpbWUtdXBkYXRlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RzX3dlYi9lbGVtZW50cy8wMGdyb3VwLWNoYXJ0L2RlZXMtY2hhcnQtYXJlYS9yZWFsdGltZS11cGRhdGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWlCQTs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsQ0FDdEMsWUFBNEMsRUFDNUMsYUFBNkMsRUFDbkIsRUFBRTtJQUM1QixJQUFJLGFBQWEsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDL0IsT0FBTztZQUNMLG1CQUFtQixFQUFFLFlBQVksQ0FBQyxNQUFNLEtBQUssQ0FBQztZQUM5QyxPQUFPLEVBQUUsRUFBRTtZQUNYLGdCQUFnQixFQUFFLEtBQUs7WUFDdkIsYUFBYSxFQUFFLEtBQUs7U0FDckIsQ0FBQztJQUNKLENBQUM7SUFDRCxJQUFJLFlBQVksQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDOUIsT0FBTztZQUNMLG1CQUFtQixFQUFFLEtBQUs7WUFDMUIsT0FBTyxFQUFFLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztZQUMzRSxnQkFBZ0IsRUFBRSxLQUFLO1lBQ3ZCLGFBQWEsRUFBRSxLQUFLO1NBQ3JCLENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxjQUFjLEdBQUcsSUFBSSxHQUFHLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNqRixNQUFNLGVBQWUsR0FBRyxJQUFJLEdBQUcsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUs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
|
|
@@ -49,6 +49,16 @@ export const chartAreaStyles = [
|
|
|
49
49
|
position: absolute;
|
|
50
50
|
inset: 0 0 4px 0;
|
|
51
51
|
}
|
|
52
|
+
.rangeSelectionOverlay {
|
|
53
|
+
position: absolute;
|
|
54
|
+
display: none;
|
|
55
|
+
top: 0;
|
|
56
|
+
bottom: 0;
|
|
57
|
+
z-index: 3;
|
|
58
|
+
pointer-events: none;
|
|
59
|
+
background: color-mix(in srgb, var(--dees-color-accent, #3b82f6) 18%, transparent);
|
|
60
|
+
border-inline: 1px solid color-mix(in srgb, var(--dees-color-accent, #3b82f6) 70%, transparent);
|
|
61
|
+
}
|
|
52
62
|
.statsBar {
|
|
53
63
|
min-height: 32px;
|
|
54
64
|
padding: 4px 16px;
|
|
@@ -101,4 +111,4 @@ export const chartAreaStyles = [
|
|
|
101
111
|
}
|
|
102
112
|
`,
|
|
103
113
|
];
|
|
104
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
114
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdHNfd2ViL2VsZW1lbnRzLzAwZ3JvdXAtY2hhcnQvZGVlcy1jaGFydC1hcmVhL3N0eWxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzlELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRXRELE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRztJQUMzQixrQkFBa0I7SUFDbEIsVUFBVSxDQUFDLGFBQWE7SUFDeEIsR0FBRyxDQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0tBMEdGO0NBQ0YsQ0FBQyJ9
|
|
@@ -9,7 +9,9 @@ export const renderChartArea = (component) => {
|
|
|
9
9
|
<dees-icon .icon=${component.isFullPage ? 'lucide:Minimize2' : 'lucide:Maximize2'} .iconSize=${14}></dees-icon>
|
|
10
10
|
</button>
|
|
11
11
|
</div>
|
|
12
|
-
<div class="chartContainer"
|
|
12
|
+
<div class="chartContainer">
|
|
13
|
+
<div class="rangeSelectionOverlay" aria-hidden="true"></div>
|
|
14
|
+
</div>
|
|
13
15
|
${component.seriesStats.length > 0 && !component.hideLegend ? html `
|
|
14
16
|
<div slot="footer" class="statsBar">
|
|
15
17
|
${component.seriesStats.map(s => html `
|
|
@@ -28,4 +30,4 @@ export const renderChartArea = (component) => {
|
|
|
28
30
|
</dees-tile>
|
|
29
31
|
`;
|
|
30
32
|
};
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90c193ZWIvZWxlbWVudHMvMDBncm91cC1jaGFydC9kZWVzLWNoYXJ0LWFyZWEvdGVtcGxhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBdUIsTUFBTSw2QkFBNkIsQ0FBQztBQUV4RSxPQUFPLDhDQUE4QyxDQUFDO0FBRXRELE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUFDLFNBQXdCLEVBQWtCLEVBQUU7SUFDdEUsT0FBTyxJQUFJLENBQUE7Ozt1Q0FHc0IsU0FBUyxDQUFDLEtBQUs7K0NBQ1AsR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDLGNBQWMsRUFBRSxXQUFXLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxXQUFXO2lDQUM5RyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLGNBQWMsRUFBRTs7Ozs7O1lBTW5HLFNBQVMsQ0FBQyxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQTs7Z0JBRTVELFNBQVMsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFBOzsrREFFWSxDQUFDLENBQUMsS0FBSzs0Q0FDMUIsQ0FBQyxDQUFDLElBQUk7b0JBQzlCLFNBQVMsQ0FBQyxXQUFXO1NBQ3BCLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxRQUFRLElBQUksR0FBRyxLQUFLLEtBQUssSUFBSSxHQUFHLEtBQUssS0FBSyxJQUFJLEdBQUcsS0FBSyxLQUFLLENBQUM7U0FDbEYsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFBO2dEQUNZLEdBQUcsWUFBWSxTQUFTLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztxQkFDMUUsQ0FBQzs7ZUFFUCxDQUFDOztXQUVMLENBQUMsQ0FBQyxDQUFDLEVBQUU7O09BRVQsQ0FBQztBQUNSLENBQUMsQ0FBQyJ9
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@design.estate/dees-catalog",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.99.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "A comprehensive library that provides dynamic web components for building sophisticated and modern web applications using JavaScript and TypeScript.",
|
|
6
6
|
"main": "dist_ts_web/index.js",
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
"@design.estate/dees-wcctools": "^3.9.2",
|
|
37
37
|
"@git.zone/tsbuild": "^4.4.2",
|
|
38
38
|
"@git.zone/tsbundle": "^2.11.3",
|
|
39
|
-
"@git.zone/tstest": "^3.6.
|
|
39
|
+
"@git.zone/tstest": "^3.6.7",
|
|
40
40
|
"@git.zone/tswatch": "^3.3.5",
|
|
41
41
|
"@push.rocks/projectinfo": "^5.1.0",
|
|
42
42
|
"@types/node": "^26.1.1"
|
package/readme.md
CHANGED
|
@@ -1447,11 +1447,17 @@ Video playback component with standard controls.
|
|
|
1447
1447
|
### Visualization Components
|
|
1448
1448
|
|
|
1449
1449
|
#### `DeesChartArea`
|
|
1450
|
-
Area chart component built on
|
|
1450
|
+
Area chart component built on Lightweight Charts for time-series data. Enable
|
|
1451
|
+
`rangeSelectionEnabled` to let the user drag across the plot. The composed,
|
|
1452
|
+
bubbling `range-change` event carries `{ from, to }` as Unix epoch
|
|
1453
|
+
milliseconds. Apply that range back through `selectedRange` to keep the
|
|
1454
|
+
selection visible; set it to `null` to clear the overlay.
|
|
1451
1455
|
|
|
1452
1456
|
```typescript
|
|
1453
1457
|
<dees-chart-area
|
|
1454
1458
|
label="System Usage"
|
|
1459
|
+
.rangeSelectionEnabled=${true}
|
|
1460
|
+
.selectedRange=${selectedRange}
|
|
1455
1461
|
.series=${[
|
|
1456
1462
|
{
|
|
1457
1463
|
name: 'CPU',
|
|
@@ -1462,6 +1468,9 @@ Area chart component built on ApexCharts for visualizing time-series data.
|
|
|
1462
1468
|
]
|
|
1463
1469
|
}
|
|
1464
1470
|
]}
|
|
1471
|
+
@range-change=${(event: CustomEvent<{ from: number; to: number }>) => {
|
|
1472
|
+
selectedRange = event.detail;
|
|
1473
|
+
}}
|
|
1465
1474
|
></dees-chart-area>
|
|
1466
1475
|
```
|
|
1467
1476
|
|
|
@@ -3,6 +3,6 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export const commitinfo = {
|
|
5
5
|
name: '@design.estate/dees-catalog',
|
|
6
|
-
version: '3.
|
|
6
|
+
version: '3.99.0',
|
|
7
7
|
description: 'A comprehensive library that provides dynamic web components for building sophisticated and modern web applications using JavaScript and TypeScript.'
|
|
8
8
|
}
|