@c8y/ngx-components
Version:
Angular modules for Cumulocity IoT applications
36 lines • 3.88 kB
JavaScript
import { Pipe } from '@angular/core';
import * as i0 from "@angular/core";
/**
* Applies CSS classes based on the value's range.
*/
export class ApplyRangeClassPipe {
/**
* Transforms the input value based on the specified ranges.
*
* @param value - Initial value used to determine the CSS class.
* @param ranges - An object containing the min and max range values for yellow and red colors.
* @returns The CSS class to be applied.
*/
transform(value, ranges) {
if (value == null) {
return;
}
if (value >= ranges.yellowRangeMin && value < ranges.yellowRangeMax) {
return 'text-warning';
}
else if (value >= ranges.redRangeMin && value <= ranges.redRangeMax) {
return 'text-danger';
}
return 'default';
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApplyRangeClassPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: ApplyRangeClassPipe, isStandalone: true, name: "applyRangeClass" }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApplyRangeClassPipe, decorators: [{
type: Pipe,
args: [{
name: 'applyRangeClass',
standalone: true
}]
}] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbHktcmFuZ2UtY2xhc3MucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3dpZGdldHMvaW1wbGVtZW50YXRpb25zL2RhdGFwb2ludHMtdGFibGUvZGF0YXBvaW50cy10YWJsZS12aWV3L2FwcGx5LXJhbmdlLWNsYXNzLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBR3BEOztHQUVHO0FBS0gsTUFBTSxPQUFPLG1CQUFtQjtJQUM5Qjs7Ozs7O09BTUc7SUFDSCxTQUFTLENBQUMsS0FBYSxFQUFFLE1BQTRCO1FBQ25ELElBQUksS0FBSyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ2xCLE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxLQUFLLElBQUksTUFBTSxDQUFDLGNBQWMsSUFBSSxLQUFLLEdBQUcsTUFBTSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3BFLE9BQU8sY0FBYyxDQUFDO1FBQ3hCLENBQUM7YUFBTSxJQUFJLEtBQUssSUFBSSxNQUFNLENBQUMsV0FBVyxJQUFJLEtBQUssSUFBSSxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDdEUsT0FBTyxhQUFhLENBQUM7UUFDdkIsQ0FBQztRQUNELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7K0dBbkJVLG1CQUFtQjs2R0FBbkIsbUJBQW1COzs0RkFBbkIsbUJBQW1CO2tCQUovQixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxpQkFBaUI7b0JBQ3ZCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbG9yUmFuZ2VCb3VuZGFyaWVzIH0gZnJvbSAnLi4vZGF0YXBvaW50cy10YWJsZS13aWRnZXQubW9kZWwnO1xuXG4vKipcbiAqIEFwcGxpZXMgQ1NTIGNsYXNzZXMgYmFzZWQgb24gdGhlIHZhbHVlJ3MgcmFuZ2UuXG4gKi9cbkBQaXBlKHtcbiAgbmFtZTogJ2FwcGx5UmFuZ2VDbGFzcycsXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgQXBwbHlSYW5nZUNsYXNzUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAvKipcbiAgICogVHJhbnNmb3JtcyB0aGUgaW5wdXQgdmFsdWUgYmFzZWQgb24gdGhlIHNwZWNpZmllZCByYW5nZXMuXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSAtIEluaXRpYWwgdmFsdWUgdXNlZCB0byBkZXRlcm1pbmUgdGhlIENTUyBjbGFzcy5cbiAgICogQHBhcmFtIHJhbmdlcyAtIEFuIG9iamVjdCBjb250YWluaW5nIHRoZSBtaW4gYW5kIG1heCByYW5nZSB2YWx1ZXMgZm9yIHllbGxvdyBhbmQgcmVkIGNvbG9ycy5cbiAgICogQHJldHVybnMgVGhlIENTUyBjbGFzcyB0byBiZSBhcHBsaWVkLlxuICAgKi9cbiAgdHJhbnNmb3JtKHZhbHVlOiBudW1iZXIsIHJhbmdlczogQ29sb3JSYW5nZUJvdW5kYXJpZXMpOiBzdHJpbmcge1xuICAgIGlmICh2YWx1ZSA9PSBudWxsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHZhbHVlID49IHJhbmdlcy55ZWxsb3dSYW5nZU1pbiAmJiB2YWx1ZSA8IHJhbmdlcy55ZWxsb3dSYW5nZU1heCkge1xuICAgICAgcmV0dXJuICd0ZXh0LXdhcm5pbmcnO1xuICAgIH0gZWxzZSBpZiAodmFsdWUgPj0gcmFuZ2VzLnJlZFJhbmdlTWluICYmIHZhbHVlIDw9IHJhbmdlcy5yZWRSYW5nZU1heCkge1xuICAgICAgcmV0dXJuICd0ZXh0LWRhbmdlcic7XG4gICAgfVxuICAgIHJldHVybiAnZGVmYXVsdCc7XG4gIH1cbn1cbiJdfQ==