@praxisui/charts 9.0.37 → 9.0.38
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.
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": "1.0.0",
|
|
3
|
-
"generatedAt": "2026-08-
|
|
3
|
+
"generatedAt": "2026-08-30T02:26:55.462Z",
|
|
4
4
|
"packageName": "@praxisui/charts",
|
|
5
|
-
"packageVersion": "9.0.
|
|
5
|
+
"packageVersion": "9.0.38",
|
|
6
6
|
"sourceRegistry": "praxis-component-registry-ingestion",
|
|
7
7
|
"sourceRegistryVersion": "1.0.0",
|
|
8
8
|
"componentCount": 3,
|
|
@@ -1870,6 +1870,7 @@ class PraxisChartComponent {
|
|
|
1870
1870
|
shellObserver = signal(null, ...(ngDevMode ? [{ debugName: "shellObserver" }] : /* istanbul ignore next */ []));
|
|
1871
1871
|
themeObserver = signal(null, ...(ngDevMode ? [{ debugName: "themeObserver" }] : /* istanbul ignore next */ []));
|
|
1872
1872
|
inheritedTheme = signal(null, ...(ngDevMode ? [{ debugName: "inheritedTheme" }] : /* istanbul ignore next */ []));
|
|
1873
|
+
inheritedHostTextColor = signal(undefined, ...(ngDevMode ? [{ debugName: "inheritedHostTextColor" }] : /* istanbul ignore next */ []));
|
|
1873
1874
|
currentLoadState = signal('idle', ...(ngDevMode ? [{ debugName: "currentLoadState" }] : /* istanbul ignore next */ []));
|
|
1874
1875
|
remoteResolvedData = signal(null, ...(ngDevMode ? [{ debugName: "remoteResolvedData" }] : /* istanbul ignore next */ []));
|
|
1875
1876
|
remoteRuntimeState = signal('idle', ...(ngDevMode ? [{ debugName: "remoteRuntimeState" }] : /* istanbul ignore next */ []));
|
|
@@ -1892,7 +1893,7 @@ class PraxisChartComponent {
|
|
|
1892
1893
|
remoteRequestSequence = 0;
|
|
1893
1894
|
previousSelectionScopeSignature = null;
|
|
1894
1895
|
effectiveConfig = computed(() => {
|
|
1895
|
-
const base = this.applyInheritedTheme(this.mappedRuntimeConfig() ?? this.config(), this.inheritedTheme());
|
|
1896
|
+
const base = this.applyInheritedTheme(this.mappedRuntimeConfig() ?? this.config(), this.inheritedTheme(), this.inheritedHostTextColor());
|
|
1896
1897
|
const runtimeQueryContext = normalizePraxisDataQueryContext(this.queryContext());
|
|
1897
1898
|
const runtimeFilters = resolvePraxisFilterCriteria(this.filterCriteria(), runtimeQueryContext);
|
|
1898
1899
|
if (!runtimeQueryContext
|
|
@@ -2594,6 +2595,7 @@ class PraxisChartComponent {
|
|
|
2594
2595
|
? this.cloneTheme(PRAXIS_CHART_THEME_VARIANTS[chartThemePresetId])
|
|
2595
2596
|
: {};
|
|
2596
2597
|
const hostTextColor = getComputedStyle(host).color.trim();
|
|
2598
|
+
this.inheritedHostTextColor.set(hostTextColor || undefined);
|
|
2597
2599
|
const theme = {
|
|
2598
2600
|
...preset,
|
|
2599
2601
|
textColor: preset.textColor || hostTextColor || undefined,
|
|
@@ -2611,17 +2613,22 @@ class PraxisChartComponent {
|
|
|
2611
2613
|
isThemeVariant(value) {
|
|
2612
2614
|
return Object.prototype.hasOwnProperty.call(PRAXIS_CHART_THEME_VARIANTS, value);
|
|
2613
2615
|
}
|
|
2614
|
-
applyInheritedTheme(config, inherited) {
|
|
2616
|
+
applyInheritedTheme(config, inherited, hostTextColor) {
|
|
2615
2617
|
if (!inherited) {
|
|
2616
2618
|
return config;
|
|
2617
2619
|
}
|
|
2618
2620
|
const explicit = config.theme;
|
|
2621
|
+
const explicitSurface = explicit?.surface;
|
|
2622
|
+
const usesHostSurface = explicitSurface?.mode === 'embedded'
|
|
2623
|
+
|| explicitSurface?.background?.trim().toLowerCase() === 'transparent';
|
|
2619
2624
|
return {
|
|
2620
2625
|
...config,
|
|
2621
2626
|
theme: {
|
|
2622
2627
|
palette: explicit?.palette ?? inherited.palette,
|
|
2623
|
-
backgroundColor: explicit?.backgroundColor
|
|
2624
|
-
|
|
2628
|
+
backgroundColor: explicit?.backgroundColor
|
|
2629
|
+
?? (usesHostSurface ? undefined : inherited.backgroundColor),
|
|
2630
|
+
textColor: explicit?.textColor
|
|
2631
|
+
?? (usesHostSurface ? hostTextColor : inherited.textColor),
|
|
2625
2632
|
borderRadius: explicit?.borderRadius ?? inherited.borderRadius,
|
|
2626
2633
|
legend: this.mergeOptionalThemeObject(inherited.legend, explicit?.legend),
|
|
2627
2634
|
tooltip: this.mergeOptionalThemeObject(inherited.tooltip, explicit?.tooltip),
|
|
@@ -5263,17 +5270,19 @@ class EChartsEngineAdapter {
|
|
|
5263
5270
|
});
|
|
5264
5271
|
const zrender = chart?.getZr?.();
|
|
5265
5272
|
this.zrenderClickHandler = (event) => {
|
|
5273
|
+
const occurredAt = Date.now();
|
|
5266
5274
|
window.setTimeout(() => {
|
|
5267
|
-
if (
|
|
5275
|
+
if (this.isSeriesFallbackDuplicate(occurredAt)) {
|
|
5268
5276
|
return;
|
|
5269
5277
|
}
|
|
5270
|
-
this.emitCategoryClickFromGrid(event, payload);
|
|
5278
|
+
this.emitCategoryClickFromGrid(event, payload, occurredAt);
|
|
5271
5279
|
}, 0);
|
|
5272
5280
|
};
|
|
5273
5281
|
zrender?.on?.('click', this.zrenderClickHandler);
|
|
5274
5282
|
this.domClickHandler = (event) => {
|
|
5283
|
+
const occurredAt = Date.now();
|
|
5275
5284
|
window.setTimeout(() => {
|
|
5276
|
-
if (
|
|
5285
|
+
if (this.isSeriesFallbackDuplicate(occurredAt)) {
|
|
5277
5286
|
return;
|
|
5278
5287
|
}
|
|
5279
5288
|
const rect = host.getBoundingClientRect();
|
|
@@ -5282,7 +5291,7 @@ class EChartsEngineAdapter {
|
|
|
5282
5291
|
this.emitCategoryClickFromGrid({
|
|
5283
5292
|
offsetX,
|
|
5284
5293
|
offsetY,
|
|
5285
|
-
}, payload);
|
|
5294
|
+
}, payload, occurredAt);
|
|
5286
5295
|
}, 0);
|
|
5287
5296
|
};
|
|
5288
5297
|
host.addEventListener('click', this.domClickHandler, true);
|
|
@@ -5338,7 +5347,7 @@ class EChartsEngineAdapter {
|
|
|
5338
5347
|
? undefined
|
|
5339
5348
|
: String(candidate);
|
|
5340
5349
|
}
|
|
5341
|
-
emitCategoryClickFromGrid(event, payload) {
|
|
5350
|
+
emitCategoryClickFromGrid(event, payload, occurredAt) {
|
|
5342
5351
|
const chart = this.chart;
|
|
5343
5352
|
if (!chart || typeof chart.containPixel !== 'function' || typeof chart.convertFromPixel !== 'function') {
|
|
5344
5353
|
return;
|
|
@@ -5373,7 +5382,7 @@ class EChartsEngineAdapter {
|
|
|
5373
5382
|
horizontal,
|
|
5374
5383
|
categoryIndex,
|
|
5375
5384
|
});
|
|
5376
|
-
if (this.isDuplicateGridClick(signature)) {
|
|
5385
|
+
if (this.isDuplicateGridClick(signature, occurredAt)) {
|
|
5377
5386
|
return;
|
|
5378
5387
|
}
|
|
5379
5388
|
const usesCanonicalStatsRows = payload.config.dataSource?.kind === 'remote'
|
|
@@ -5399,11 +5408,14 @@ class EChartsEngineAdapter {
|
|
|
5399
5408
|
data,
|
|
5400
5409
|
});
|
|
5401
5410
|
}
|
|
5402
|
-
|
|
5403
|
-
|
|
5411
|
+
isSeriesFallbackDuplicate(occurredAt) {
|
|
5412
|
+
return this.lastSeriesClickAt > 0
|
|
5413
|
+
&& Math.abs(occurredAt - this.lastSeriesClickAt) < 80;
|
|
5414
|
+
}
|
|
5415
|
+
isDuplicateGridClick(signature, occurredAt) {
|
|
5404
5416
|
const duplicate = this.lastGridClick?.signature === signature
|
|
5405
|
-
&&
|
|
5406
|
-
this.lastGridClick = { signature, at:
|
|
5417
|
+
&& Math.abs(occurredAt - this.lastGridClick.at) < 80;
|
|
5418
|
+
this.lastGridClick = { signature, at: occurredAt };
|
|
5407
5419
|
return duplicate;
|
|
5408
5420
|
}
|
|
5409
5421
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: EChartsEngineAdapter, deps: [{ token: EChartsOptionBuilderService }], target: i0.ɵɵFactoryTarget.Injectable });
|
package/package.json
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@praxisui/charts",
|
|
3
|
-
"version": "9.0.
|
|
3
|
+
"version": "9.0.38",
|
|
4
4
|
"description": "Metadata-driven charts library for Praxis UI Angular with engine adapters and Apache ECharts as the initial renderer.",
|
|
5
5
|
"peerDependencies": {
|
|
6
6
|
"@angular/common": "^21.0.0",
|
|
7
7
|
"@angular/core": "^21.0.0",
|
|
8
|
-
"@praxisui/core": "^9.0.
|
|
8
|
+
"@praxisui/core": "^9.0.38",
|
|
9
9
|
"@angular/forms": "^21.0.0",
|
|
10
10
|
"@angular/material": "^21.0.0",
|
|
11
|
-
"@praxisui/table": "^9.0.
|
|
11
|
+
"@praxisui/table": "^9.0.38",
|
|
12
12
|
"rxjs": "~7.8.0"
|
|
13
13
|
},
|
|
14
14
|
"dependencies": {
|
|
@@ -583,6 +583,7 @@ declare class PraxisChartComponent {
|
|
|
583
583
|
private readonly shellObserver;
|
|
584
584
|
private readonly themeObserver;
|
|
585
585
|
private readonly inheritedTheme;
|
|
586
|
+
private readonly inheritedHostTextColor;
|
|
586
587
|
private readonly currentLoadState;
|
|
587
588
|
private readonly remoteResolvedData;
|
|
588
589
|
private readonly remoteRuntimeState;
|