@c8y/ngx-components 1024.19.5 → 1024.20.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/fesm2022/c8y-ngx-components-ai-agents-html.mjs +0 -9
- package/fesm2022/c8y-ngx-components-ai-agents-html.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-ai-agents-scada.mjs +0 -4
- package/fesm2022/c8y-ngx-components-ai-agents-scada.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-ai.mjs +10 -10
- package/fesm2022/c8y-ngx-components-ai.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-alarm-event-selector.mjs +13 -9
- package/fesm2022/c8y-ngx-components-alarm-event-selector.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-asset-properties.mjs +4 -3
- package/fesm2022/c8y-ngx-components-asset-properties.mjs.map +1 -1
- package/fesm2022/{c8y-ngx-components-computed-asset-properties-c8y-ngx-components-computed-asset-properties-CG8k844T.mjs → c8y-ngx-components-computed-asset-properties-c8y-ngx-components-computed-asset-properties-1WsTSnO_.mjs} +9 -5
- package/fesm2022/c8y-ngx-components-computed-asset-properties-c8y-ngx-components-computed-asset-properties-1WsTSnO_.mjs.map +1 -0
- package/fesm2022/{c8y-ngx-components-computed-asset-properties-fieldbus-item-status-config.component-CTXM7Dkc.mjs → c8y-ngx-components-computed-asset-properties-fieldbus-item-status-config.component-C3KZGqlc.mjs} +2 -2
- package/fesm2022/{c8y-ngx-components-computed-asset-properties-fieldbus-item-status-config.component-CTXM7Dkc.mjs.map → c8y-ngx-components-computed-asset-properties-fieldbus-item-status-config.component-C3KZGqlc.mjs.map} +1 -1
- package/fesm2022/{c8y-ngx-components-computed-asset-properties-last-measurement-config.component-Da3QVvuf.mjs → c8y-ngx-components-computed-asset-properties-last-measurement-config.component-DOmwNU6m.mjs} +2 -2
- package/fesm2022/{c8y-ngx-components-computed-asset-properties-last-measurement-config.component-Da3QVvuf.mjs.map → c8y-ngx-components-computed-asset-properties-last-measurement-config.component-DOmwNU6m.mjs.map} +1 -1
- package/fesm2022/c8y-ngx-components-computed-asset-properties.mjs +1 -1
- package/fesm2022/c8y-ngx-components-context-dashboard.mjs +30 -9
- package/fesm2022/c8y-ngx-components-context-dashboard.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-datapoint-library-details.mjs +2 -2
- package/fesm2022/c8y-ngx-components-datapoint-library-details.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-datapoint-library-list.mjs +12 -5
- package/fesm2022/c8y-ngx-components-datapoint-library-list.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-datapoint-selector.mjs +41 -12
- package/fesm2022/c8y-ngx-components-datapoint-selector.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-datapoints-export-selector.mjs +10 -6
- package/fesm2022/c8y-ngx-components-datapoints-export-selector.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-echart.mjs +38 -25
- package/fesm2022/c8y-ngx-components-echart.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-graph.mjs +21 -9
- package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-graph.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-list.mjs +7 -4
- package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-list.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-table.mjs +9 -5
- package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-table.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-info-gauge.mjs +18 -12
- package/fesm2022/c8y-ngx-components-widgets-implementations-info-gauge.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-kpi.mjs +4 -3
- package/fesm2022/c8y-ngx-components-widgets-implementations-kpi.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-linear-gauge.mjs +1 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-linear-gauge.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-pie-chart.mjs +3 -3
- package/fesm2022/c8y-ngx-components-widgets-implementations-pie-chart.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components.mjs +166 -29
- package/fesm2022/c8y-ngx-components.mjs.map +1 -1
- package/locales/locales.pot +6 -0
- package/package.json +1 -1
- package/types/c8y-ngx-components-ai-agents-html.d.ts.map +1 -1
- package/types/c8y-ngx-components-ai-agents-scada.d.ts.map +1 -1
- package/types/c8y-ngx-components-ai.d.ts +1 -1
- package/types/c8y-ngx-components-ai.d.ts.map +1 -1
- package/types/c8y-ngx-components-alarm-event-selector.d.ts.map +1 -1
- package/types/c8y-ngx-components-asset-properties.d.ts +0 -1
- package/types/c8y-ngx-components-asset-properties.d.ts.map +1 -1
- package/types/c8y-ngx-components-context-dashboard.d.ts +5 -0
- package/types/c8y-ngx-components-context-dashboard.d.ts.map +1 -1
- package/types/c8y-ngx-components-datapoint-library-list.d.ts.map +1 -1
- package/types/c8y-ngx-components-datapoint-selector.d.ts +13 -3
- package/types/c8y-ngx-components-datapoint-selector.d.ts.map +1 -1
- package/types/c8y-ngx-components-datapoints-export-selector.d.ts +2 -0
- package/types/c8y-ngx-components-datapoints-export-selector.d.ts.map +1 -1
- package/types/c8y-ngx-components-echart.d.ts +1 -0
- package/types/c8y-ngx-components-echart.d.ts.map +1 -1
- package/types/c8y-ngx-components-widgets-implementations-datapoints-graph.d.ts +7 -0
- package/types/c8y-ngx-components-widgets-implementations-datapoints-graph.d.ts.map +1 -1
- package/types/c8y-ngx-components-widgets-implementations-datapoints-list.d.ts.map +1 -1
- package/types/c8y-ngx-components-widgets-implementations-datapoints-table.d.ts.map +1 -1
- package/types/c8y-ngx-components-widgets-implementations-info-gauge.d.ts.map +1 -1
- package/types/c8y-ngx-components-widgets-implementations-kpi.d.ts.map +1 -1
- package/types/c8y-ngx-components-widgets-implementations-pie-chart.d.ts.map +1 -1
- package/types/c8y-ngx-components.d.ts +111 -5
- package/types/c8y-ngx-components.d.ts.map +1 -1
- package/fesm2022/c8y-ngx-components-computed-asset-properties-c8y-ngx-components-computed-asset-properties-CG8k844T.mjs.map +0 -1
|
@@ -5,7 +5,7 @@ import { isEqual, cloneDeep } from 'lodash-es';
|
|
|
5
5
|
import { from, merge, interval, BehaviorSubject, of, lastValueFrom, defer, forkJoin } from 'rxjs';
|
|
6
6
|
import { mergeMap, map, tap, throttleTime, buffer, switchMap } from 'rxjs/operators';
|
|
7
7
|
import * as i1$1 from '@c8y/ngx-components';
|
|
8
|
-
import { CommonModule, FormsModule, IconDirective, C8yTranslatePipe, WidgetTimeContextMediatorService, WidgetTimeContextDateRangeService, ThemeSwitcherService, DismissAlertStrategy, DynamicComponentAlert, CoreModule, MeasurementRealtimeService, AlarmRealtimeService, EventRealtimeService } from '@c8y/ngx-components';
|
|
8
|
+
import { translateDatapointUnit, translateDatapointLabel, CommonModule, FormsModule, IconDirective, C8yTranslatePipe, DatapointLabelPipe, WidgetTimeContextMediatorService, WidgetTimeContextDateRangeService, ThemeSwitcherService, DismissAlertStrategy, DynamicComponentAlert, CoreModule, MeasurementRealtimeService, AlarmRealtimeService, EventRealtimeService } from '@c8y/ngx-components';
|
|
9
9
|
import chroma from 'chroma-js';
|
|
10
10
|
import * as echarts from 'echarts';
|
|
11
11
|
import * as i1 from '@ngx-translate/core';
|
|
@@ -17,7 +17,7 @@ import * as i4 from '@c8y/ngx-components/alarms';
|
|
|
17
17
|
import { AlarmsModule, AlarmSeverityToIconPipe, AlarmSeverityToLabelPipe } from '@c8y/ngx-components/alarms';
|
|
18
18
|
import { INTERVALS } from '@c8y/ngx-components/interval-picker';
|
|
19
19
|
import * as i1$2 from '@angular/common';
|
|
20
|
-
import {
|
|
20
|
+
import { CommonModule as CommonModule$1 } from '@angular/common';
|
|
21
21
|
import * as i2$1 from 'ngx-echarts';
|
|
22
22
|
import { NgxEchartsModule, NGX_ECHARTS_CONFIG } from 'ngx-echarts';
|
|
23
23
|
import { TooltipModule } from 'ngx-bootstrap/tooltip';
|
|
@@ -120,7 +120,7 @@ class YAxisService {
|
|
|
120
120
|
if (YAxisOptions.forceMergeDatapoints) {
|
|
121
121
|
return {
|
|
122
122
|
name: Array.from(datapointsWithValues)
|
|
123
|
-
.map((dp, index) => `{${index}|${dp.
|
|
123
|
+
.map((dp, index) => `{${index}|${translateDatapointUnit(dp, this.translate)}}`)
|
|
124
124
|
.join(' /'),
|
|
125
125
|
nameLocation: 'middle',
|
|
126
126
|
nameTruncate: {
|
|
@@ -295,9 +295,11 @@ class YAxisService {
|
|
|
295
295
|
return '';
|
|
296
296
|
}
|
|
297
297
|
if (!options.mergeMatchingDatapoints || !isFirstOccurrence) {
|
|
298
|
-
return `${dp.
|
|
298
|
+
return `${translateDatapointLabel(dp, this.translate)} [${translateDatapointUnit(dp, this.translate)}]`;
|
|
299
299
|
}
|
|
300
|
-
return uniqueUnitDps
|
|
300
|
+
return uniqueUnitDps
|
|
301
|
+
.map((dp, index) => `{${index}|${translateDatapointUnit(dp, this.translate)}}`)
|
|
302
|
+
.join(' / ');
|
|
301
303
|
}
|
|
302
304
|
getDecimalPlaces(num) {
|
|
303
305
|
const numStr = num.toString();
|
|
@@ -1630,6 +1632,15 @@ class EchartsOptionsService {
|
|
|
1630
1632
|
}
|
|
1631
1633
|
}, []);
|
|
1632
1634
|
}
|
|
1635
|
+
/**
|
|
1636
|
+
* Builds the display name of a datapoint. Passing the whole datapoint lets `translateDatapointLabel`
|
|
1637
|
+
* apply its `fragment → series` fallback, so an unlabeled datapoint still gets an informative
|
|
1638
|
+
* name. `DatapointsGraphWidgetViewComponent` derives the same string the same way, since
|
|
1639
|
+
* `toggleSeriesByName` matches series on exact string equality.
|
|
1640
|
+
*/
|
|
1641
|
+
getTranslatedLabel(dp) {
|
|
1642
|
+
return translateDatapointLabel(dp, this.translate);
|
|
1643
|
+
}
|
|
1633
1644
|
getSingleSeries(dp, renderType, idx, isMinMaxChart = false, displayOptions, seriesType = '', multiRenderTypeLabel) {
|
|
1634
1645
|
const datapointId = dp.__target?.id + dp.fragment + dp.series;
|
|
1635
1646
|
const isLine = dp.lineType === 'line' ||
|
|
@@ -1655,15 +1666,17 @@ class EchartsOptionsService {
|
|
|
1655
1666
|
const displayType = isMinMaxChart && renderType === 'min' ? 'min — max' : effectiveLabel;
|
|
1656
1667
|
return {
|
|
1657
1668
|
datapointId,
|
|
1658
|
-
datapointUnit: renderType !== 'count' ? dp.
|
|
1669
|
+
datapointUnit: renderType !== 'count' ? translateDatapointUnit(dp, this.translate) : '',
|
|
1659
1670
|
// 'id' property is needed as 'seriesId' in tooltip formatter
|
|
1660
1671
|
id: isMinMaxChart
|
|
1661
1672
|
? `${datapointId}/${renderType}${seriesType}`
|
|
1662
1673
|
: `${datapointId}${seriesType}${renderTypeSuffix}`,
|
|
1663
1674
|
name: displayType
|
|
1664
|
-
? `[${displayType}] ${dp
|
|
1665
|
-
: `${dp
|
|
1666
|
-
datapointLabel: displayType
|
|
1675
|
+
? `[${displayType}] ${this.getTranslatedLabel(dp)} (${dp.__target?.['name']})`
|
|
1676
|
+
: `${this.getTranslatedLabel(dp)} (${dp.__target?.['name']})`,
|
|
1677
|
+
datapointLabel: displayType
|
|
1678
|
+
? `[${displayType}] ${this.getTranslatedLabel(dp)}`
|
|
1679
|
+
: this.getTranslatedLabel(dp),
|
|
1667
1680
|
data,
|
|
1668
1681
|
...(displayOptions.forceMergeDatapoints ? {} : { yAxisIndex: idx }),
|
|
1669
1682
|
...this.chartTypesService.getSeriesOptions(dpForSeries, isMinMaxChart, renderType),
|
|
@@ -1714,7 +1727,7 @@ class EchartsOptionsService {
|
|
|
1714
1727
|
datapointId,
|
|
1715
1728
|
datapointUnit: '',
|
|
1716
1729
|
id: `${datapointId}/band-max`,
|
|
1717
|
-
name: `[band-max] ${dp
|
|
1730
|
+
name: `[band-max] ${this.getTranslatedLabel(dp)} (${dp.__target?.['name']})`,
|
|
1718
1731
|
datapointLabel: '',
|
|
1719
1732
|
typeOfSeries: 'fake',
|
|
1720
1733
|
type: 'line',
|
|
@@ -1730,10 +1743,10 @@ class EchartsOptionsService {
|
|
|
1730
1743
|
// a negative diff on a positive sum (or vice versa), leaving it at its raw value.
|
|
1731
1744
|
const bandMinSeries = {
|
|
1732
1745
|
datapointId,
|
|
1733
|
-
datapointUnit: dp.
|
|
1746
|
+
datapointUnit: translateDatapointUnit(dp, this.translate),
|
|
1734
1747
|
id: `${datapointId}/band-area`,
|
|
1735
|
-
name: `[band] ${dp
|
|
1736
|
-
datapointLabel: `[band] ${dp
|
|
1748
|
+
name: `[band] ${this.getTranslatedLabel(dp)} (${dp.__target?.['name']})`,
|
|
1749
|
+
datapointLabel: `[band] ${this.getTranslatedLabel(dp)}`,
|
|
1737
1750
|
typeOfSeries: 'fake',
|
|
1738
1751
|
type: 'line',
|
|
1739
1752
|
stack: stackId,
|
|
@@ -1748,10 +1761,10 @@ class EchartsOptionsService {
|
|
|
1748
1761
|
// Visible max line — not stacked, drawn at actual maxVal.
|
|
1749
1762
|
const maxSeries = {
|
|
1750
1763
|
datapointId,
|
|
1751
|
-
datapointUnit: dp.
|
|
1764
|
+
datapointUnit: translateDatapointUnit(dp, this.translate),
|
|
1752
1765
|
id: `${datapointId}/max`,
|
|
1753
|
-
name: `[max] ${dp
|
|
1754
|
-
datapointLabel: `[max] ${dp
|
|
1766
|
+
name: `[max] ${this.getTranslatedLabel(dp)} (${dp.__target?.['name']})`,
|
|
1767
|
+
datapointLabel: `[max] ${this.getTranslatedLabel(dp)}`,
|
|
1755
1768
|
data: maxData,
|
|
1756
1769
|
...this.chartTypesService.getSeriesOptions({ ...dp, color: maxColor }, true, 'max'),
|
|
1757
1770
|
...yAxisIndex
|
|
@@ -1759,10 +1772,10 @@ class EchartsOptionsService {
|
|
|
1759
1772
|
// Visible min line — not stacked, drawn at actual minVal. Tooltip shows combined [min — max].
|
|
1760
1773
|
const minSeries = {
|
|
1761
1774
|
datapointId,
|
|
1762
|
-
datapointUnit: dp.
|
|
1775
|
+
datapointUnit: translateDatapointUnit(dp, this.translate),
|
|
1763
1776
|
id: `${datapointId}/min`,
|
|
1764
|
-
name: `[min — max] ${dp
|
|
1765
|
-
datapointLabel: `[min — max] ${dp
|
|
1777
|
+
name: `[min — max] ${this.getTranslatedLabel(dp)} (${dp.__target?.['name']})`,
|
|
1778
|
+
datapointLabel: `[min — max] ${this.getTranslatedLabel(dp)}`,
|
|
1766
1779
|
tooltipColor: bandColor,
|
|
1767
1780
|
data: minData,
|
|
1768
1781
|
...this.chartTypesService.getSeriesOptions({ ...dp, color: minColor }, true, 'min'),
|
|
@@ -2625,6 +2638,7 @@ class SelectAggregatedDatapointComponent {
|
|
|
2625
2638
|
this.value = null;
|
|
2626
2639
|
this.valueChange = new EventEmitter();
|
|
2627
2640
|
this.chartHelpersService = inject(ChartHelpersService);
|
|
2641
|
+
this.translate = inject(TranslateService);
|
|
2628
2642
|
this.selectedDatapointLabel = gettext('Select data point');
|
|
2629
2643
|
this.selectedDatapointColor = '';
|
|
2630
2644
|
}
|
|
@@ -2647,15 +2661,15 @@ class SelectAggregatedDatapointComponent {
|
|
|
2647
2661
|
}
|
|
2648
2662
|
const found = this.chartHelpersService.findMatchingDatapoint(this.activeDatapoints, this.value);
|
|
2649
2663
|
if (this.value && !found) {
|
|
2650
|
-
this.selectedDatapointLabel = this.value.
|
|
2664
|
+
this.selectedDatapointLabel = translateDatapointLabel(this.value, this.translate);
|
|
2651
2665
|
this.selectedDatapointColor = this.value.color || '';
|
|
2652
2666
|
return;
|
|
2653
2667
|
}
|
|
2654
|
-
this.selectedDatapointLabel = found
|
|
2668
|
+
this.selectedDatapointLabel = translateDatapointLabel(found, this.translate);
|
|
2655
2669
|
this.selectedDatapointColor = found?.color || '';
|
|
2656
2670
|
}
|
|
2657
2671
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: SelectAggregatedDatapointComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2658
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
2672
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.19", type: SelectAggregatedDatapointComponent, isStandalone: true, selector: "c8y-select-aggregated-datapoint", inputs: { activeDatapoints: "activeDatapoints", value: "value" }, outputs: { valueChange: "valueChange" }, host: { classAttribute: "d-contents" }, usesOnChanges: true, ngImport: i0, template: "@if (activeDatapoints?.length > 0) {\n <div\n class=\"dropdown dropup\"\n dropdown\n #datapointDropdown=\"bs-dropdown\"\n [cdkTrapFocus]=\"datapointDropdown.isOpen\"\n >\n <ng-template #selectedDatapoint>\n <div class=\"text-left\">\n <strong>{{ selectedDatapointLabel }}</strong>\n <br />\n {{ 'Click to change' | translate }}\n </div>\n </ng-template>\n <button\n class=\"btn btn-default d-flex a-i-center dropdown-toggle c8y-dropdown\"\n title=\"{{\n 'Select a data point to view its aggregated values in the time slider.' | translate\n }}\"\n type=\"button\"\n dropdownToggle\n >\n <span\n [style.background-color]=\"selectedDatapointColor\"\n style=\"display: inline-block; width: 16px; height: 16px; border-radius: 50%\"\n ></span>\n <span class=\"caret\"></span>\n </button>\n <ul\n class=\"dropdown-menu dropdown-menu-right\"\n *dropdownMenu\n >\n @for (datapoint of activeDatapoints; track datapoint) {\n <li>\n <button\n class=\"p-r-8\"\n type=\"button\"\n (click)=\"changeDatapointSelection(datapoint)\"\n >\n <span\n class=\"d-inline-block m-r-4\"\n [style.background-color]=\"datapoint?.color\"\n style=\"width: 16px; height: 16px; border-radius: 50%\"\n ></span>\n <span\n class=\"text-truncate\"\n style=\"max-width: 220px !important\"\n title=\"{{ datapoint | datapointLabel }}\"\n >\n {{ datapoint | datapointLabel }}\n </span>\n @if (\n datapoint.__target.id === value?.__target.id &&\n datapoint.fragment === value?.fragment &&\n datapoint.series === value?.series\n ) {\n <span class=\"m-l-auto flex-no-shrink\">\n <i\n class=\"text-success h4\"\n [c8yIcon]=\"'check'\"\n ></i>\n </span>\n }\n </button>\n </li>\n }\n </ul>\n </div>\n}\n<button\n class=\"btn-help\"\n [attr.aria-label]=\"'Help' | translate\"\n popover=\"{{\n 'Select a data point to view its aggregated values in the time slider.' | translate\n }}\"\n placement=\"left\"\n triggers=\"focus\"\n container=\"body\"\n></button>\n", dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: PopoverModule }, { kind: "directive", type: i1$4.PopoverDirective, selector: "[popover]", inputs: ["adaptivePosition", "boundariesElement", "popover", "popoverContext", "popoverTitle", "placement", "outsideClick", "triggers", "container", "containerClass", "isOpen", "delay"], outputs: ["onShown", "onHidden"], exportAs: ["bs-popover"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "ngmodule", type: BsDropdownModule }, { kind: "directive", type: i2.BsDropdownMenuDirective, selector: "[bsDropdownMenu],[dropdownMenu]", exportAs: ["bs-dropdown-menu"] }, { kind: "directive", type: i2.BsDropdownToggleDirective, selector: "[bsDropdownToggle],[dropdownToggle]", exportAs: ["bs-dropdown-toggle"] }, { kind: "directive", type: i2.BsDropdownDirective, selector: "[bsDropdown], [dropdown]", inputs: ["placement", "triggers", "container", "dropup", "autoClose", "isAnimated", "insideClick", "isDisabled", "isOpen"], outputs: ["isOpenChange", "onShown", "onHidden"], exportAs: ["bs-dropdown"] }, { kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i3.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "directive", type: IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: DatapointLabelPipe, name: "datapointLabel" }], changeDetection: i0.ChangeDetectionStrategy.Eager }); }
|
|
2659
2673
|
}
|
|
2660
2674
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: SelectAggregatedDatapointComponent, decorators: [{
|
|
2661
2675
|
type: Component,
|
|
@@ -2669,9 +2683,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImpo
|
|
|
2669
2683
|
BsDropdownModule,
|
|
2670
2684
|
A11yModule,
|
|
2671
2685
|
IconDirective,
|
|
2672
|
-
|
|
2673
|
-
|
|
2674
|
-
], changeDetection: ChangeDetectionStrategy.Eager, template: "<div\n class=\"dropdown dropup\"\n dropdown\n #datapointDropdown=\"bs-dropdown\"\n [cdkTrapFocus]=\"datapointDropdown.isOpen\"\n *ngIf=\"activeDatapoints?.length > 0\"\n>\n <ng-template #selectedDatapoint>\n <div class=\"text-left\">\n <strong>{{ selectedDatapointLabel }}</strong>\n <br />\n {{ 'Click to change' | translate }}\n </div>\n </ng-template>\n <button\n class=\"btn btn-default d-flex a-i-center dropdown-toggle c8y-dropdown\"\n title=\"{{'Select a data point to view its aggregated values in the time slider.' | translate }}\"\n type=\"button\"\n dropdownToggle\n >\n <span\n [style.background-color]=\"selectedDatapointColor\"\n style=\"display: inline-block; width: 16px; height: 16px; border-radius: 50%\"\n ></span>\n <span class=\"caret\"></span>\n </button>\n <ul\n class=\"dropdown-menu dropdown-menu-right\"\n *dropdownMenu\n >\n <li *ngFor=\"let datapoint of activeDatapoints\">\n <button\n class=\"p-r-8\"\n type=\"button\"\n (click)=\"changeDatapointSelection(datapoint)\"\n >\n <span\n class=\"d-inline-block m-r-4\"\n [style.background-color]=\"datapoint?.color\"\n style=\"width: 16px; height: 16px; border-radius: 50%\"\n ></span>\n <span class=\"text-truncate\" style=\"max-width:220px!important\" title=\"{{ datapoint?.label || `${datapoint?.fragment}-${datapoint?.series}` }}\">\n {{ datapoint?.label || `${datapoint?.fragment}-${datapoint?.series}` }}\n </span>\n <span\n class=\"m-l-auto flex-no-shrink\"\n *ngIf=\"\n datapoint.__target.id === value?.__target.id &&\n datapoint.fragment === value?.fragment &&\n datapoint.series === value?.series\n \"\n >\n <i\n class=\"text-success h4\"\n [c8yIcon]=\"'check'\"\n ></i>\n </span>\n </button>\n </li>\n </ul>\n</div>\n<button\n class=\"btn-help\"\n [attr.aria-label]=\"'Help' | translate\"\n popover=\"{{\n 'Select a data point to view its aggregated values in the time slider.' | translate\n }}\"\n placement=\"left\"\n triggers=\"focus\"\n container=\"body\"\n></button>\n" }]
|
|
2686
|
+
DatapointLabelPipe
|
|
2687
|
+
], changeDetection: ChangeDetectionStrategy.Eager, template: "@if (activeDatapoints?.length > 0) {\n <div\n class=\"dropdown dropup\"\n dropdown\n #datapointDropdown=\"bs-dropdown\"\n [cdkTrapFocus]=\"datapointDropdown.isOpen\"\n >\n <ng-template #selectedDatapoint>\n <div class=\"text-left\">\n <strong>{{ selectedDatapointLabel }}</strong>\n <br />\n {{ 'Click to change' | translate }}\n </div>\n </ng-template>\n <button\n class=\"btn btn-default d-flex a-i-center dropdown-toggle c8y-dropdown\"\n title=\"{{\n 'Select a data point to view its aggregated values in the time slider.' | translate\n }}\"\n type=\"button\"\n dropdownToggle\n >\n <span\n [style.background-color]=\"selectedDatapointColor\"\n style=\"display: inline-block; width: 16px; height: 16px; border-radius: 50%\"\n ></span>\n <span class=\"caret\"></span>\n </button>\n <ul\n class=\"dropdown-menu dropdown-menu-right\"\n *dropdownMenu\n >\n @for (datapoint of activeDatapoints; track datapoint) {\n <li>\n <button\n class=\"p-r-8\"\n type=\"button\"\n (click)=\"changeDatapointSelection(datapoint)\"\n >\n <span\n class=\"d-inline-block m-r-4\"\n [style.background-color]=\"datapoint?.color\"\n style=\"width: 16px; height: 16px; border-radius: 50%\"\n ></span>\n <span\n class=\"text-truncate\"\n style=\"max-width: 220px !important\"\n title=\"{{ datapoint | datapointLabel }}\"\n >\n {{ datapoint | datapointLabel }}\n </span>\n @if (\n datapoint.__target.id === value?.__target.id &&\n datapoint.fragment === value?.fragment &&\n datapoint.series === value?.series\n ) {\n <span class=\"m-l-auto flex-no-shrink\">\n <i\n class=\"text-success h4\"\n [c8yIcon]=\"'check'\"\n ></i>\n </span>\n }\n </button>\n </li>\n }\n </ul>\n </div>\n}\n<button\n class=\"btn-help\"\n [attr.aria-label]=\"'Help' | translate\"\n popover=\"{{\n 'Select a data point to view its aggregated values in the time slider.' | translate\n }}\"\n placement=\"left\"\n triggers=\"focus\"\n container=\"body\"\n></button>\n" }]
|
|
2675
2688
|
}], propDecorators: { activeDatapoints: [{
|
|
2676
2689
|
type: Input
|
|
2677
2690
|
}], value: [{
|