UNPKG

@clr/angular

Version:

Angular components for Clarity

50 lines 5.36 kB
/* * Copyright (c) 2016-2023 VMware, Inc. All Rights Reserved. * This software is released under MIT license. * The full license information can be found in LICENSE in the root directory of this project. */ import { Directive, Optional } from '@angular/core'; import * as i0 from "@angular/core"; import * as i1 from "./providers/control-id.service"; import * as i2 from "./providers/container-id.service"; export const CONTROL_SUFFIX = { HELPER: 'helper', ERROR: 'error', SUCCESS: 'success', NONE: null, }; export class ClrAbstractControl { constructor(controlIdService, containerIdService) { this.controlIdService = controlIdService; this.containerIdService = containerIdService; /** * Hold the suffix for the ID */ this.controlIdSuffix = 'abstract'; } get id() { /** * The order of witch the id will be pick is: * - Container ID (Wrapper arround multiple Controls like, Checkbox, Radio, ...) * - Control ID (Single Control wrapper like Input, Textarea, Password, ...) * - None */ if (this.containerIdService) { return `${this.containerIdService.id}-${this.controlIdSuffix}`; } if (this.controlIdService) { return `${this.controlIdService.id}-${this.controlIdSuffix}`; } return null; } } ClrAbstractControl.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrAbstractControl, deps: [{ token: i1.ControlIdService, optional: true }, { token: i2.ContainerIdService, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); ClrAbstractControl.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.2", type: ClrAbstractControl, ngImport: i0 }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrAbstractControl, decorators: [{ type: Directive }], ctorParameters: function () { return [{ type: i1.ControlIdService, decorators: [{ type: Optional }] }, { type: i2.ContainerIdService, decorators: [{ type: Optional }] }]; } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtY29udHJvbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL2Zvcm1zL2NvbW1vbi9hYnN0cmFjdC1jb250cm9sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFFSCxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQUtwRCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQXFDO0lBQzlELE1BQU0sRUFBRSxRQUFRO0lBQ2hCLEtBQUssRUFBRSxPQUFPO0lBQ2QsT0FBTyxFQUFFLFNBQVM7SUFDbEIsSUFBSSxFQUFFLElBQUk7Q0FDWCxDQUFDO0FBR0YsTUFBTSxPQUFnQixrQkFBa0I7SUFNdEMsWUFDd0IsZ0JBQWtDLEVBQ2xDLGtCQUFzQztRQUR0QyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFQOUQ7O1dBRUc7UUFDSCxvQkFBZSxHQUFHLFVBQVUsQ0FBQztJQUsxQixDQUFDO0lBRUosSUFBSSxFQUFFO1FBQ0o7Ozs7O1dBS0c7UUFDSCxJQUFJLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtZQUMzQixPQUFPLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEVBQUUsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7U0FDaEU7UUFFRCxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtZQUN6QixPQUFPLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7U0FDOUQ7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7OytHQTNCbUIsa0JBQWtCO21HQUFsQixrQkFBa0I7MkZBQWxCLGtCQUFrQjtrQkFEdkMsU0FBUzs7MEJBUUwsUUFBUTs7MEJBQ1IsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMyBWTXdhcmUsIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgTUlUIGxpY2Vuc2UuXG4gKiBUaGUgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uIGNhbiBiZSBmb3VuZCBpbiBMSUNFTlNFIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHByb2plY3QuXG4gKi9cblxuaW1wb3J0IHsgRGlyZWN0aXZlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBDb250YWluZXJJZFNlcnZpY2UgfSBmcm9tICcuL3Byb3ZpZGVycy9jb250YWluZXItaWQuc2VydmljZSc7XG5pbXBvcnQgeyBDb250cm9sSWRTZXJ2aWNlIH0gZnJvbSAnLi9wcm92aWRlcnMvY29udHJvbC1pZC5zZXJ2aWNlJztcblxuZXhwb3J0IGNvbnN0IENPTlRST0xfU1VGRklYOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB8IG51bGwgfSA9IHtcbiAgSEVMUEVSOiAnaGVscGVyJyxcbiAgRVJST1I6ICdlcnJvcicsXG4gIFNVQ0NFU1M6ICdzdWNjZXNzJyxcbiAgTk9ORTogbnVsbCxcbn07XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIENsckFic3RyYWN0Q29udHJvbCB7XG4gIC8qKlxuICAgKiBIb2xkIHRoZSBzdWZmaXggZm9yIHRoZSBJRFxuICAgKi9cbiAgY29udHJvbElkU3VmZml4ID0gJ2Fic3RyYWN0JztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBAT3B0aW9uYWwoKSBwcm90ZWN0ZWQgY29udHJvbElkU2VydmljZTogQ29udHJvbElkU2VydmljZSxcbiAgICBAT3B0aW9uYWwoKSBwcm90ZWN0ZWQgY29udGFpbmVySWRTZXJ2aWNlOiBDb250YWluZXJJZFNlcnZpY2VcbiAgKSB7fVxuXG4gIGdldCBpZCgpOiBzdHJpbmcge1xuICAgIC8qKlxuICAgICAqIFRoZSBvcmRlciBvZiB3aXRjaCB0aGUgaWQgd2lsbCBiZSBwaWNrIGlzOlxuICAgICAqICAgLSBDb250YWluZXIgSUQgIChXcmFwcGVyIGFycm91bmQgbXVsdGlwbGUgQ29udHJvbHMgbGlrZSwgQ2hlY2tib3gsIFJhZGlvLCAuLi4pXG4gICAgICogICAtIENvbnRyb2wgSUQgKFNpbmdsZSBDb250cm9sIHdyYXBwZXIgbGlrZSBJbnB1dCwgVGV4dGFyZWEsIFBhc3N3b3JkLCAuLi4pXG4gICAgICogICAtIE5vbmVcbiAgICAgKi9cbiAgICBpZiAodGhpcy5jb250YWluZXJJZFNlcnZpY2UpIHtcbiAgICAgIHJldHVybiBgJHt0aGlzLmNvbnRhaW5lcklkU2VydmljZS5pZH0tJHt0aGlzLmNvbnRyb2xJZFN1ZmZpeH1gO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmNvbnRyb2xJZFNlcnZpY2UpIHtcbiAgICAgIHJldHVybiBgJHt0aGlzLmNvbnRyb2xJZFNlcnZpY2UuaWR9LSR7dGhpcy5jb250cm9sSWRTdWZmaXh9YDtcbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuIl19