@c8y/ngx-components
Version:
Angular modules for Cumulocity IoT applications
35 lines • 4.88 kB
JavaScript
import { Pipe } from '@angular/core';
import * as i0 from "@angular/core";
export class FilterDatapointsPipe {
transform(datapoints, searchString) {
if (!searchString || !datapoints || !Array.isArray(datapoints)) {
return datapoints;
}
const lowerCaseSearchString = searchString.toLowerCase().trim();
return datapoints.filter(datapoint => this.includesSearchStringIgnoringCasing(datapoint, lowerCaseSearchString));
}
includesSearchStringIgnoringCasing(datapoint, lowerCaseSearchString) {
const label = datapoint.label?.toLowerCase();
if (label && label.includes(lowerCaseSearchString)) {
return true;
}
const fragment = datapoint.fragment?.toLowerCase();
if (fragment && fragment.includes(lowerCaseSearchString)) {
return true;
}
const series = datapoint.series?.toLowerCase();
if (series && series.includes(lowerCaseSearchString)) {
return true;
}
return false;
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FilterDatapointsPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: FilterDatapointsPipe, name: "filterDatapoints" }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FilterDatapointsPipe, decorators: [{
type: Pipe,
args: [{
name: 'filterDatapoints'
}]
}] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWRhdGFwb2ludHMucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2RhdGFwb2ludC1zZWxlY3Rvci9waXBlcy9maWx0ZXItZGF0YXBvaW50cy5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQU1wRCxNQUFNLE9BQU8sb0JBQW9CO0lBQy9CLFNBQVMsQ0FBQyxVQUF3QixFQUFFLFlBQW9CO1FBQ3RELElBQUksQ0FBQyxZQUFZLElBQUksQ0FBQyxVQUFVLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7WUFDL0QsT0FBTyxVQUFVLENBQUM7UUFDcEIsQ0FBQztRQUNELE1BQU0scUJBQXFCLEdBQUcsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2hFLE9BQU8sVUFBVSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUNuQyxJQUFJLENBQUMsa0NBQWtDLENBQUMsU0FBUyxFQUFFLHFCQUFxQixDQUFDLENBQzFFLENBQUM7SUFDSixDQUFDO0lBRU8sa0NBQWtDLENBQ3hDLFNBQXFCLEVBQ3JCLHFCQUE2QjtRQUU3QixNQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsS0FBSyxFQUFFLFdBQVcsRUFBRSxDQUFDO1FBQzdDLElBQUksS0FBSyxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMscUJBQXFCLENBQUMsRUFBRSxDQUFDO1lBQ25ELE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUVELE1BQU0sUUFBUSxHQUFHLFNBQVMsQ0FBQyxRQUFRLEVBQUUsV0FBVyxFQUFFLENBQUM7UUFDbkQsSUFBSSxRQUFRLElBQUksUUFBUSxDQUFDLFFBQVEsQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFLENBQUM7WUFDekQsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBRUQsTUFBTSxNQUFNLEdBQUcsU0FBUyxDQUFDLE1BQU0sRUFBRSxXQUFXLEVBQUUsQ0FBQztRQUMvQyxJQUFJLE1BQU0sSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLHFCQUFxQixDQUFDLEVBQUUsQ0FBQztZQUNyRCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7K0dBL0JVLG9CQUFvQjs2R0FBcEIsb0JBQW9COzs0RkFBcEIsb0JBQW9CO2tCQUhoQyxJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxrQkFBa0I7aUJBQ3pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgS1BJRGV0YWlscyB9IGZyb20gJy4uL2RhdGFwb2ludC1zZWxlY3Rpb24ubW9kZWwnO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICdmaWx0ZXJEYXRhcG9pbnRzJ1xufSlcbmV4cG9ydCBjbGFzcyBGaWx0ZXJEYXRhcG9pbnRzUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICB0cmFuc2Zvcm0oZGF0YXBvaW50czogS1BJRGV0YWlsc1tdLCBzZWFyY2hTdHJpbmc6IHN0cmluZyk6IEtQSURldGFpbHNbXSB7XG4gICAgaWYgKCFzZWFyY2hTdHJpbmcgfHwgIWRhdGFwb2ludHMgfHwgIUFycmF5LmlzQXJyYXkoZGF0YXBvaW50cykpIHtcbiAgICAgIHJldHVybiBkYXRhcG9pbnRzO1xuICAgIH1cbiAgICBjb25zdCBsb3dlckNhc2VTZWFyY2hTdHJpbmcgPSBzZWFyY2hTdHJpbmcudG9Mb3dlckNhc2UoKS50cmltKCk7XG4gICAgcmV0dXJuIGRhdGFwb2ludHMuZmlsdGVyKGRhdGFwb2ludCA9PlxuICAgICAgdGhpcy5pbmNsdWRlc1NlYXJjaFN0cmluZ0lnbm9yaW5nQ2FzaW5nKGRhdGFwb2ludCwgbG93ZXJDYXNlU2VhcmNoU3RyaW5nKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGluY2x1ZGVzU2VhcmNoU3RyaW5nSWdub3JpbmdDYXNpbmcoXG4gICAgZGF0YXBvaW50OiBLUElEZXRhaWxzLFxuICAgIGxvd2VyQ2FzZVNlYXJjaFN0cmluZzogc3RyaW5nXG4gICk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGxhYmVsID0gZGF0YXBvaW50LmxhYmVsPy50b0xvd2VyQ2FzZSgpO1xuICAgIGlmIChsYWJlbCAmJiBsYWJlbC5pbmNsdWRlcyhsb3dlckNhc2VTZWFyY2hTdHJpbmcpKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBjb25zdCBmcmFnbWVudCA9IGRhdGFwb2ludC5mcmFnbWVudD8udG9Mb3dlckNhc2UoKTtcbiAgICBpZiAoZnJhZ21lbnQgJiYgZnJhZ21lbnQuaW5jbHVkZXMobG93ZXJDYXNlU2VhcmNoU3RyaW5nKSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgY29uc3Qgc2VyaWVzID0gZGF0YXBvaW50LnNlcmllcz8udG9Mb3dlckNhc2UoKTtcbiAgICBpZiAoc2VyaWVzICYmIHNlcmllcy5pbmNsdWRlcyhsb3dlckNhc2VTZWFyY2hTdHJpbmcpKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cbiJdfQ==