@c8y/ngx-components
Version:
Angular modules for Cumulocity IoT applications
20 lines • 3.17 kB
JavaScript
import { Injectable } from '@angular/core';
import * as i0 from "@angular/core";
export class AlarmEventAttributesFormService {
duplicateTypeValidator(selectedItems) {
return (control) => {
if (!control.value || !selectedItems?.length) {
return null;
}
const isDuplicate = selectedItems.some(item => item.filters?.type?.toLowerCase() === control.value.toLowerCase());
return isDuplicate ? { duplicateType: true } : null;
};
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AlarmEventAttributesFormService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AlarmEventAttributesFormService, providedIn: 'root' }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AlarmEventAttributesFormService, decorators: [{
type: Injectable,
args: [{ providedIn: 'root' }]
}] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxhcm0tZXZlbnQtYXR0cmlidXRlcy1mb3JtLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9hbGFybS1ldmVudC1zZWxlY3Rvci9hbGFybS1ldmVudC1hdHRyaWJ1dGVzLWZvcm0vYWxhcm0tZXZlbnQtYXR0cmlidXRlcy1mb3JtLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFLM0MsTUFBTSxPQUFPLCtCQUErQjtJQUMxQyxzQkFBc0IsQ0FBQyxhQUE2QjtRQUNsRCxPQUFPLENBQUMsT0FBd0IsRUFBMkIsRUFBRTtZQUMzRCxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssSUFBSSxDQUFDLGFBQWEsRUFBRSxNQUFNLEVBQUUsQ0FBQztnQkFDN0MsT0FBTyxJQUFJLENBQUM7WUFDZCxDQUFDO1lBQ0QsTUFBTSxXQUFXLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FDcEMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsS0FBSyxPQUFPLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUMxRSxDQUFDO1lBQ0YsT0FBTyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDdEQsQ0FBQyxDQUFDO0lBQ0osQ0FBQzsrR0FYVSwrQkFBK0I7bUhBQS9CLCtCQUErQixjQURsQixNQUFNOzs0RkFDbkIsK0JBQStCO2tCQUQzQyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdGlvbkVycm9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEFsYXJtT3JFdmVudCB9IGZyb20gJy4uL2FsYXJtLWV2ZW50LXNlbGVjdG9yLm1vZGVsJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBBbGFybUV2ZW50QXR0cmlidXRlc0Zvcm1TZXJ2aWNlIHtcbiAgZHVwbGljYXRlVHlwZVZhbGlkYXRvcihzZWxlY3RlZEl0ZW1zOiBBbGFybU9yRXZlbnRbXSkge1xuICAgIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPT4ge1xuICAgICAgaWYgKCFjb250cm9sLnZhbHVlIHx8ICFzZWxlY3RlZEl0ZW1zPy5sZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgICBjb25zdCBpc0R1cGxpY2F0ZSA9IHNlbGVjdGVkSXRlbXMuc29tZShcbiAgICAgICAgaXRlbSA9PiBpdGVtLmZpbHRlcnM/LnR5cGU/LnRvTG93ZXJDYXNlKCkgPT09IGNvbnRyb2wudmFsdWUudG9Mb3dlckNhc2UoKVxuICAgICAgKTtcbiAgICAgIHJldHVybiBpc0R1cGxpY2F0ZSA/IHsgZHVwbGljYXRlVHlwZTogdHJ1ZSB9IDogbnVsbDtcbiAgICB9O1xuICB9XG59XG4iXX0=