UNPKG

@c8y/ngx-components

Version:

Angular modules for Cumulocity IoT applications

45 lines 5.2 kB
import { Pipe } from '@angular/core'; import { TranslateService } from '@ngx-translate/core'; import { RENDER_TYPES_LABELS } from '../datapoints-table-widget.model'; import * as i0 from "@angular/core"; import * as i1 from "@ngx-translate/core"; /** * Creates a column header title message. * * ```html * title="{{ header | columnTitle }}" * ``` * The output will be e.g.: 'c8y_Temperature → T [T] (Area)'. */ export class ColumnTitlePipe { constructor(translateService) { this.translateService = translateService; } /** * Transforms the column header into a formatted string with label and optionally unit and render type. * * @param columnHeader - The column header object. * @returns The formatted string with label, unit, and render type. */ transform(columnHeader) { const label = columnHeader.label.trim(); const unit = columnHeader.unit ? `[${columnHeader.unit.trim()}]` : ''; const renderType = columnHeader.renderType ? this.translateService.instant(RENDER_TYPES_LABELS[columnHeader.renderType]) : ''; if (!renderType) { return `${label} ${unit}`.trim(); } return `${label} ${unit} (${renderType})`.trim(); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ColumnTitlePipe, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Pipe }); } static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: ColumnTitlePipe, isStandalone: true, name: "columnTitle" }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ColumnTitlePipe, decorators: [{ type: Pipe, args: [{ name: 'columnTitle', standalone: true }] }], ctorParameters: () => [{ type: i1.TranslateService }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLXRpdGxlLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi93aWRnZXRzL2ltcGxlbWVudGF0aW9ucy9kYXRhcG9pbnRzLXRhYmxlL2RhdGFwb2ludHMtdGFibGUtdmlldy9jb2x1bW4tdGl0bGUucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQXFCLG1CQUFtQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7OztBQUUxRjs7Ozs7OztHQU9HO0FBS0gsTUFBTSxPQUFPLGVBQWU7SUFDMUIsWUFBb0IsZ0JBQWtDO1FBQWxDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7SUFBRyxDQUFDO0lBRTFEOzs7OztPQUtHO0lBQ0gsU0FBUyxDQUFDLFlBQStCO1FBQ3ZDLE1BQU0sS0FBSyxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDeEMsTUFBTSxJQUFJLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUN0RSxNQUFNLFVBQVUsR0FBRyxZQUFZLENBQUMsVUFBVTtZQUN4QyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDN0UsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUVQLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNoQixPQUFPLEdBQUcsS0FBSyxJQUFJLElBQUksRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ25DLENBQUM7UUFFRCxPQUFPLEdBQUcsS0FBSyxJQUFJLElBQUksS0FBSyxVQUFVLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNuRCxDQUFDOytHQXJCVSxlQUFlOzZHQUFmLGVBQWU7OzRGQUFmLGVBQWU7a0JBSjNCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLGFBQWE7b0JBQ25CLFVBQVUsRUFBRSxJQUFJO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IFRhYmxlQ29sdW1uSGVhZGVyLCBSRU5ERVJfVFlQRVNfTEFCRUxTIH0gZnJvbSAnLi4vZGF0YXBvaW50cy10YWJsZS13aWRnZXQubW9kZWwnO1xuXG4vKipcbiAqIENyZWF0ZXMgYSBjb2x1bW4gaGVhZGVyIHRpdGxlIG1lc3NhZ2UuXG4gKlxuICogYGBgaHRtbFxuICogdGl0bGU9XCJ7eyBoZWFkZXIgfCBjb2x1bW5UaXRsZSB9fVwiXG4gKiBgYGBcbiAqIFRoZSBvdXRwdXQgd2lsbCBiZSBlLmcuOiAnYzh5X1RlbXBlcmF0dXJlIOKGkiBUIFtUXSAoQXJlYSknLlxuICovXG5AUGlwZSh7XG4gIG5hbWU6ICdjb2x1bW5UaXRsZScsXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgQ29sdW1uVGl0bGVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSkge31cblxuICAvKipcbiAgICogVHJhbnNmb3JtcyB0aGUgY29sdW1uIGhlYWRlciBpbnRvIGEgZm9ybWF0dGVkIHN0cmluZyB3aXRoIGxhYmVsIGFuZCBvcHRpb25hbGx5IHVuaXQgYW5kIHJlbmRlciB0eXBlLlxuICAgKlxuICAgKiBAcGFyYW0gY29sdW1uSGVhZGVyIC0gVGhlIGNvbHVtbiBoZWFkZXIgb2JqZWN0LlxuICAgKiBAcmV0dXJucyBUaGUgZm9ybWF0dGVkIHN0cmluZyB3aXRoIGxhYmVsLCB1bml0LCBhbmQgcmVuZGVyIHR5cGUuXG4gICAqL1xuICB0cmFuc2Zvcm0oY29sdW1uSGVhZGVyOiBUYWJsZUNvbHVtbkhlYWRlcik6IHN0cmluZyB7XG4gICAgY29uc3QgbGFiZWwgPSBjb2x1bW5IZWFkZXIubGFiZWwudHJpbSgpO1xuICAgIGNvbnN0IHVuaXQgPSBjb2x1bW5IZWFkZXIudW5pdCA/IGBbJHtjb2x1bW5IZWFkZXIudW5pdC50cmltKCl9XWAgOiAnJztcbiAgICBjb25zdCByZW5kZXJUeXBlID0gY29sdW1uSGVhZGVyLnJlbmRlclR5cGVcbiAgICAgID8gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoUkVOREVSX1RZUEVTX0xBQkVMU1tjb2x1bW5IZWFkZXIucmVuZGVyVHlwZV0pXG4gICAgICA6ICcnO1xuXG4gICAgaWYgKCFyZW5kZXJUeXBlKSB7XG4gICAgICByZXR1cm4gYCR7bGFiZWx9ICR7dW5pdH1gLnRyaW0oKTtcbiAgICB9XG5cbiAgICByZXR1cm4gYCR7bGFiZWx9ICR7dW5pdH0gKCR7cmVuZGVyVHlwZX0pYC50cmltKCk7XG4gIH1cbn1cbiJdfQ==