UNPKG

@c8y/ngx-components

Version:

Angular modules for Cumulocity IoT applications

102 lines 12.8 kB
import { Injectable } from '@angular/core'; import * as i0 from "@angular/core"; function assertUnreachable(_) { throw new Error('Case unreachable.'); } export class ChartTypesService { constructor() { this.RENDER_TYPE_SYMBOL = { min: { symbol: 'triangle', symbolRotate: 0 }, max: { symbol: 'triangle', symbolRotate: 180 } }; } getSeriesOptions({ lineType, color }, isMinMaxChart = false, renderType) { switch (lineType) { case 'points': return this.pointsSeriesOption(color, isMinMaxChart, renderType); case 'linePoints': return this.linePointsSeriesOption(color, isMinMaxChart, renderType); case 'bars': return this.barsSeriesOption(color, isMinMaxChart, renderType); case 'step-before': return this.stepBeforeSeriesOption(color, isMinMaxChart, renderType); case 'step-after': return this.stepAfterSeriesOption(color, isMinMaxChart, renderType); case 'line': case undefined: return this.lineSeriesOption(color, isMinMaxChart, renderType); } return assertUnreachable(lineType); } pointsSeriesOption(color, isMinMaxChart, renderType) { const baseOption = this.linePointsSeriesOption(color, isMinMaxChart, renderType); return { ...baseOption, lineStyle: { opacity: 0 } }; } lineSeriesOption(color, isMinMaxChart, renderType) { let baseOption = { type: 'line', lineStyle: { color: color, width: 1, type: 'solid' }, itemStyle: { color: color }, emphasis: { scale: 1.2, itemStyle: { color: color } }, showSymbol: false, symbolSize: 4 // symbol is visible on hover }; if (isMinMaxChart) { baseOption = { ...baseOption, ...this.RENDER_TYPE_SYMBOL[renderType], symbolSize: 8 }; } return baseOption; } linePointsSeriesOption(color, isMinMaxChart, renderType) { const baseOption = this.lineSeriesOption(color, isMinMaxChart, renderType); return { ...baseOption, showSymbol: true }; } barsSeriesOption(color, isMinMaxChart, renderType) { const baseOption = { type: 'bar', barMinWidth: 1, barMaxWidth: 20, itemStyle: { color } }; if (isMinMaxChart) { baseOption.itemStyle.opacity = renderType === 'max' ? 0.6 : 1.0; } return baseOption; } stepBeforeSeriesOption(color, isMinMaxChart, renderType) { const baseOption = this.lineSeriesOption(color, isMinMaxChart, renderType); return { ...baseOption, step: 'start' }; } stepAfterSeriesOption(color, isMinMaxChart, renderType) { const baseOption = this.lineSeriesOption(color, isMinMaxChart, renderType); return { ...baseOption, step: 'end' }; } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ChartTypesService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); } static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ChartTypesService }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ChartTypesService, decorators: [{ type: Injectable }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtdHlwZXMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2VjaGFydC9zZXJ2aWNlcy9jaGFydC10eXBlcy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSTNDLFNBQVMsaUJBQWlCLENBQUMsQ0FBUTtJQUNqQyxNQUFNLElBQUksS0FBSyxDQUFDLG1CQUFtQixDQUFDLENBQUM7QUFDdkMsQ0FBQztBQUdELE1BQU0sT0FBTyxpQkFBaUI7SUFEOUI7UUFFVSx1QkFBa0IsR0FHdEI7WUFDRixHQUFHLEVBQUUsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxDQUFDLEVBQUU7WUFDNUMsR0FBRyxFQUFFLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsR0FBRyxFQUFFO1NBQy9DLENBQUM7S0FzSEg7SUFySEMsZ0JBQWdCLENBQ2QsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFnQixFQUNqQyxhQUFhLEdBQUcsS0FBSyxFQUNyQixVQUFvQztRQUVwQyxRQUFRLFFBQVEsRUFBRSxDQUFDO1lBQ2pCLEtBQUssUUFBUTtnQkFDWCxPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsYUFBYSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBQ25FLEtBQUssWUFBWTtnQkFDZixPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxLQUFLLEVBQUUsYUFBYSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBQ3ZFLEtBQUssTUFBTTtnQkFDVCxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsYUFBYSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBQ2pFLEtBQUssYUFBYTtnQkFDaEIsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUMsS0FBSyxFQUFFLGFBQWEsRUFBRSxVQUFVLENBQUMsQ0FBQztZQUN2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RSxhQUFhLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDM0UsT0FBTyxFQUFFLEdBQUcsVUFBVSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQztJQUN4QyxDQUFDOytHQTVIVSxpQkFBaUI7bUhBQWpCLGlCQUFpQjs7NEZBQWpCLGlCQUFpQjtrQkFEN0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERhdGFwb2ludENoYXJ0UmVuZGVyVHlwZSwgRHBXaXRoVmFsdWVzLCBFY2hhcnRzU2VyaWVzT3B0aW9ucyB9IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQgdHlwZSB7IEJhclNlcmllc09wdGlvbiwgTGluZVNlcmllc09wdGlvbiB9IGZyb20gJ2VjaGFydHMnO1xuXG5mdW5jdGlvbiBhc3NlcnRVbnJlYWNoYWJsZShfOiBuZXZlcik6IG5ldmVyIHtcbiAgdGhyb3cgbmV3IEVycm9yKCdDYXNlIHVucmVhY2hhYmxlLicpO1xufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ2hhcnRUeXBlc1NlcnZpY2Uge1xuICBwcml2YXRlIFJFTkRFUl9UWVBFX1NZTUJPTDogUmVjb3JkPFxuICAgIEV4Y2x1ZGU8RGF0YXBvaW50Q2hhcnRSZW5kZXJUeXBlLCAnYXJlYSc+LFxuICAgIFBhcnRpYWw8TGluZVNlcmllc09wdGlvbj5cbiAgPiA9IHtcbiAgICBtaW46IHsgc3ltYm9sOiAndHJpYW5nbGUnLCBzeW1ib2xSb3RhdGU6IDAgfSxcbiAgICBtYXg6IHsgc3ltYm9sOiAndHJpYW5nbGUnLCBzeW1ib2xSb3RhdGU6IDE4MCB9XG4gIH07XG4gIGdldFNlcmllc09wdGlvbnMoXG4gICAgeyBsaW5lVHlwZSwgY29sb3IgfTogRHBXaXRoVmFsdWVzLFxuICAgIGlzTWluTWF4Q2hhcnQgPSBmYWxzZSxcbiAgICByZW5kZXJUeXBlOiBEYXRhcG9pbnRDaGFydFJlbmRlclR5cGVcbiAgKTogRWNoYXJ0c1Nlcmllc09wdGlvbnMge1xuICAgIHN3aXRjaCAobGluZVR5cGUpIHtcbiAgICAgIGNhc2UgJ3BvaW50cyc6XG4gICAgICAgIHJldHVybiB0aGlzLnBvaW50c1Nlcmllc09wdGlvbihjb2xvciwgaXNNaW5NYXhDaGFydCwgcmVuZGVyVHlwZSk7XG4gICAgICBjYXNlICdsaW5lUG9pbnRzJzpcbiAgICAgICAgcmV0dXJuIHRoaXMubGluZVBvaW50c1Nlcmllc09wdGlvbihjb2xvciwgaXNNaW5NYXhDaGFydCwgcmVuZGVyVHlwZSk7XG4gICAgICBjYXNlICdiYXJzJzpcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFyc1Nlcmllc09wdGlvbihjb2xvciwgaXNNaW5NYXhDaGFydCwgcmVuZGVyVHlwZSk7XG4gICAgICBjYXNlICdzdGVwLWJlZm9yZSc6XG4gICAgICAgIHJldHVybiB0aGlzLnN0ZXBCZWZvcmVTZXJpZXNPcHRpb24oY29sb3IsIGlzTWluTWF4Q2hhcnQsIHJlbmRlclR5cGUpO1xuICAgICAgY2FzZSAnc3RlcC1hZnRlcic6XG4gICAgICAgIHJldHVybiB0aGlzLnN0ZXBBZnRlclNlcmllc09wdGlvbihjb2xvciwgaXNNaW5NYXhDaGFydCwgcmVuZGVyVHlwZSk7XG4gICAgICBjYXNlICdsaW5lJzpcbiAgICAgIGNhc2UgdW5kZWZpbmVkOlxuICAgICAgICByZXR1cm4gdGhpcy5saW5lU2VyaWVzT3B0aW9uKGNvbG9yLCBpc01pbk1heENoYXJ0LCByZW5kZXJUeXBlKTtcbiAgICB9XG4gICAgcmV0dXJuIGFzc2VydFVucmVhY2hhYmxlKGxpbmVUeXBlKTtcbiAgfVxuXG4gIHByaXZhdGUgcG9pbnRzU2VyaWVzT3B0aW9uKFxuICAgIGNvbG9yOiBzdHJpbmcsXG4gICAgaXNNaW5NYXhDaGFydDogYm9vbGVhbixcbiAgICByZW5kZXJUeXBlOiBEYXRhcG9pbnRDaGFydFJlbmRlclR5cGVcbiAgKTogTGluZVNlcmllc09wdGlvbiB7XG4gICAgY29uc3QgYmFzZU9wdGlvbiA9IHRoaXMubGluZVBvaW50c1Nlcmllc09wdGlvbihjb2xvciwgaXNNaW5NYXhDaGFydCwgcmVuZGVyVHlwZSk7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLmJhc2VPcHRpb24sXG4gICAgICBsaW5lU3R5bGU6IHsgb3BhY2l0eTogMCB9XG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgbGluZVNlcmllc09wdGlvbihcbiAgICBjb2xvcjogc3RyaW5nLFxuICAgIGlzTWluTWF4Q2hhcnQ6IGJvb2xlYW4sXG4gICAgcmVuZGVyVHlwZTogRGF0YXBvaW50Q2hhcnRSZW5kZXJUeXBlXG4gICk6IExpbmVTZXJpZXNPcHRpb24ge1xuICAgIGxldCBiYXNlT3B0aW9uOiBMaW5lU2VyaWVzT3B0aW9uID0ge1xuICAgICAgdHlwZTogJ2xpbmUnLFxuICAgICAgbGluZVN0eWxlOiB7XG4gICAgICAgIGNvbG9yOiBjb2xvcixcbiAgICAgICAgd2lkdGg6IDEsXG4gICAgICAgIHR5cGU6ICdzb2xpZCdcbiAgICAgIH0sXG4gICAgICBpdGVtU3R5bGU6IHtcbiAgICAgICAgY29sb3I6IGNvbG9yXG4gICAgICB9LFxuICAgICAgZW1waGFzaXM6IHtcbiAgICAgICAgc2NhbGU6IDEuMixcbiAgICAgICAgaXRlbVN0eWxlOiB7XG4gICAgICAgICAgY29sb3I6IGNvbG9yXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBzaG93U3ltYm9sOiBmYWxzZSxcbiAgICAgIHN5bWJvbFNpemU6IDQgLy8gc3ltYm9sIGlzIHZpc2libGUgb24gaG92ZXJcbiAgICB9O1xuICAgIGlmIChpc01pbk1heENoYXJ0KSB7XG4gICAgICBiYXNlT3B0aW9uID0ge1xuICAgICAgICAuLi5iYXNlT3B0aW9uLFxuICAgICAgICAuLi50aGlzLlJFTkRFUl9UWVBFX1NZTUJPTFtyZW5kZXJUeXBlXSxcbiAgICAgICAgc3ltYm9sU2l6ZTogOFxuICAgICAgfTtcbiAgICB9XG4gICAgcmV0dXJuIGJhc2VPcHRpb247XG4gIH1cblxuICBwcml2YXRlIGxpbmVQb2ludHNTZXJpZXNPcHRpb24oXG4gICAgY29sb3I6IHN0cmluZyxcbiAgICBpc01pbk1heENoYXJ0OiBib29sZWFuLFxuICAgIHJlbmRlclR5cGU6IERhdGFwb2ludENoYXJ0UmVuZGVyVHlwZVxuICApOiBMaW5lU2VyaWVzT3B0aW9uIHtcbiAgICBjb25zdCBiYXNlT3B0aW9uID0gdGhpcy5saW5lU2VyaWVzT3B0aW9uKGNvbG9yLCBpc01pbk1heENoYXJ0LCByZW5kZXJUeXBlKTtcbiAgICByZXR1cm4ge1xuICAgICAgLi4uYmFzZU9wdGlvbixcbiAgICAgIHNob3dTeW1ib2w6IHRydWVcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBiYXJzU2VyaWVzT3B0aW9uKFxuICAgIGNvbG9yOiBzdHJpbmcsXG4gICAgaXNNaW5NYXhDaGFydDogYm9vbGVhbixcbiAgICByZW5kZXJUeXBlOiBEYXRhcG9pbnRDaGFydFJlbmRlclR5cGVcbiAgKTogQmFyU2VyaWVzT3B0aW9uIHtcbiAgICBjb25zdCBiYXNlT3B0aW9uOiBCYXJTZXJpZXNPcHRpb24gPSB7XG4gICAgICB0eXBlOiAnYmFyJyxcbiAgICAgIGJhck1pbldpZHRoOiAxLFxuICAgICAgYmFyTWF4V2lkdGg6IDIwLFxuICAgICAgaXRlbVN0eWxlOiB7XG4gICAgICAgIGNvbG9yXG4gICAgICB9XG4gICAgfTtcbiAgICBpZiAoaXNNaW5NYXhDaGFydCkge1xuICAgICAgYmFzZU9wdGlvbi5pdGVtU3R5bGUub3BhY2l0eSA9IHJlbmRlclR5cGUgPT09ICdtYXgnID8gMC42IDogMS4wO1xuICAgIH1cbiAgICByZXR1cm4gYmFzZU9wdGlvbjtcbiAgfVxuXG4gIHByaXZhdGUgc3RlcEJlZm9yZVNlcmllc09wdGlvbihcbiAgICBjb2xvcjogc3RyaW5nLFxuICAgIGlzTWluTWF4Q2hhcnQ6IGJvb2xlYW4sXG4gICAgcmVuZGVyVHlwZTogRGF0YXBvaW50Q2hhcnRSZW5kZXJUeXBlXG4gICk6IExpbmVTZXJpZXNPcHRpb24ge1xuICAgIGNvbnN0IGJhc2VPcHRpb24gPSB0aGlzLmxpbmVTZXJpZXNPcHRpb24oY29sb3IsIGlzTWluTWF4Q2hhcnQsIHJlbmRlclR5cGUpO1xuICAgIHJldHVybiB7IC4uLmJhc2VPcHRpb24sIHN0ZXA6ICdzdGFydCcgfTtcbiAgfVxuXG4gIHByaXZhdGUgc3RlcEFmdGVyU2VyaWVzT3B0aW9uKFxuICAgIGNvbG9yOiBzdHJpbmcsXG4gICAgaXNNaW5NYXhDaGFydDogYm9vbGVhbixcbiAgICByZW5kZXJUeXBlOiBEYXRhcG9pbnRDaGFydFJlbmRlclR5cGVcbiAgKTogTGluZVNlcmllc09wdGlvbiB7XG4gICAgY29uc3QgYmFzZU9wdGlvbiA9IHRoaXMubGluZVNlcmllc09wdGlvbihjb2xvciwgaXNNaW5NYXhDaGFydCwgcmVuZGVyVHlwZSk7XG4gICAgcmV0dXJuIHsgLi4uYmFzZU9wdGlvbiwgc3RlcDogJ2VuZCcgfTtcbiAgfVxufVxuIl19