UNPKG

@clr/angular

Version:

Angular components for Clarity

47 lines 5.84 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 { AbstractIfState } from './abstract-if-state'; import { CONTROL_STATE } from './if-control-state.service'; import * as i0 from "@angular/core"; import * as i1 from "./if-control-state.service"; import * as i2 from "../providers/ng-control.service"; export class ClrIfSuccess extends AbstractIfState { constructor(ifControlStateService, ngControlService, template, container) { super(ifControlStateService, ngControlService); this.template = template; this.container = container; if (!ifControlStateService) { throw new Error('ClrIfSuccess can only be used within a form control container element like clr-input-container'); } } /** * @param state CONTROL_STATE */ handleState(state) { const isValid = CONTROL_STATE.VALID === state; if (isValid && !this.displayedContent) { this.container.createEmbeddedView(this.template); } else if (!isValid && this.container) { this.container.clear(); } this.displayedContent = isValid; } } ClrIfSuccess.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrIfSuccess, deps: [{ token: i1.IfControlStateService, optional: true }, { token: i2.NgControlService, optional: true }, { token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); ClrIfSuccess.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.2", type: ClrIfSuccess, selector: "[clrIfSuccess]", usesInheritance: true, ngImport: i0 }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrIfSuccess, decorators: [{ type: Directive, args: [{ selector: '[clrIfSuccess]', }] }], ctorParameters: function () { return [{ type: i1.IfControlStateService, decorators: [{ type: Optional }] }, { type: i2.NgControlService, decorators: [{ type: Optional }] }, { type: i0.TemplateRef }, { type: i0.ViewContainerRef }]; } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWYtc3VjY2Vzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL2Zvcm1zL2NvbW1vbi9pZi1jb250cm9sLXN0YXRlL2lmLXN1Y2Nlc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUVILE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFpQyxNQUFNLGVBQWUsQ0FBQztBQUduRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGFBQWEsRUFBeUIsTUFBTSw0QkFBNEIsQ0FBQzs7OztBQUtsRixNQUFNLE9BQU8sWUFBYSxTQUFRLGVBQWU7SUFDL0MsWUFDYyxxQkFBNEMsRUFDNUMsZ0JBQWtDLEVBQ3RDLFFBQTBCLEVBQzFCLFNBQTJCO1FBRW5DLEtBQUssQ0FBQyxxQkFBcUIsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBSHZDLGFBQVEsR0FBUixRQUFRLENBQWtCO1FBQzFCLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBSW5DLElBQUksQ0FBQyxxQkFBcUIsRUFBRTtZQUMxQixNQUFNLElBQUksS0FBSyxDQUFDLGdHQUFnRyxDQUFDLENBQUM7U0FDbkg7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDZ0IsV0FBVyxDQUFDLEtBQW9CO1FBQ2pELE1BQU0sT0FBTyxHQUFHLGFBQWEsQ0FBQyxLQUFLLEtBQUssS0FBSyxDQUFDO1FBRTlDLElBQUksT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFO1lBQ3JDLElBQUksQ0FBQyxTQUFTLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQ2xEO2FBQU0sSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ3JDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDeEI7UUFDRCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsT0FBTyxDQUFDO0lBQ2xDLENBQUM7O3lHQTFCVSxZQUFZOzZGQUFaLFlBQVk7MkZBQVosWUFBWTtrQkFIeEIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO2lCQUMzQjs7MEJBR0ksUUFBUTs7MEJBQ1IsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMyBWTXdhcmUsIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgTUlUIGxpY2Vuc2UuXG4gKiBUaGUgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uIGNhbiBiZSBmb3VuZCBpbiBMSUNFTlNFIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHByb2plY3QuXG4gKi9cblxuaW1wb3J0IHsgRGlyZWN0aXZlLCBPcHRpb25hbCwgVGVtcGxhdGVSZWYsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgTmdDb250cm9sU2VydmljZSB9IGZyb20gJy4uL3Byb3ZpZGVycy9uZy1jb250cm9sLnNlcnZpY2UnO1xuaW1wb3J0IHsgQWJzdHJhY3RJZlN0YXRlIH0gZnJvbSAnLi9hYnN0cmFjdC1pZi1zdGF0ZSc7XG5pbXBvcnQgeyBDT05UUk9MX1NUQVRFLCBJZkNvbnRyb2xTdGF0ZVNlcnZpY2UgfSBmcm9tICcuL2lmLWNvbnRyb2wtc3RhdGUuc2VydmljZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tjbHJJZlN1Y2Nlc3NdJyxcbn0pXG5leHBvcnQgY2xhc3MgQ2xySWZTdWNjZXNzIGV4dGVuZHMgQWJzdHJhY3RJZlN0YXRlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgQE9wdGlvbmFsKCkgaWZDb250cm9sU3RhdGVTZXJ2aWNlOiBJZkNvbnRyb2xTdGF0ZVNlcnZpY2UsXG4gICAgQE9wdGlvbmFsKCkgbmdDb250cm9sU2VydmljZTogTmdDb250cm9sU2VydmljZSxcbiAgICBwcml2YXRlIHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+LFxuICAgIHByaXZhdGUgY29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmXG4gICkge1xuICAgIHN1cGVyKGlmQ29udHJvbFN0YXRlU2VydmljZSwgbmdDb250cm9sU2VydmljZSk7XG5cbiAgICBpZiAoIWlmQ29udHJvbFN0YXRlU2VydmljZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdDbHJJZlN1Y2Nlc3MgY2FuIG9ubHkgYmUgdXNlZCB3aXRoaW4gYSBmb3JtIGNvbnRyb2wgY29udGFpbmVyIGVsZW1lbnQgbGlrZSBjbHItaW5wdXQtY29udGFpbmVyJyk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSBzdGF0ZSBDT05UUk9MX1NUQVRFXG4gICAqL1xuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgaGFuZGxlU3RhdGUoc3RhdGU6IENPTlRST0xfU1RBVEUpIHtcbiAgICBjb25zdCBpc1ZhbGlkID0gQ09OVFJPTF9TVEFURS5WQUxJRCA9PT0gc3RhdGU7XG5cbiAgICBpZiAoaXNWYWxpZCAmJiAhdGhpcy5kaXNwbGF5ZWRDb250ZW50KSB7XG4gICAgICB0aGlzLmNvbnRhaW5lci5jcmVhdGVFbWJlZGRlZFZpZXcodGhpcy50ZW1wbGF0ZSk7XG4gICAgfSBlbHNlIGlmICghaXNWYWxpZCAmJiB0aGlzLmNvbnRhaW5lcikge1xuICAgICAgdGhpcy5jb250YWluZXIuY2xlYXIoKTtcbiAgICB9XG4gICAgdGhpcy5kaXNwbGF5ZWRDb250ZW50ID0gaXNWYWxpZDtcbiAgfVxufVxuIl19