@clr/angular
Version:
Angular components for Clarity
36 lines • 3.94 kB
JavaScript
/*
* 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 } from '@angular/core';
import { Subject } from 'rxjs';
import * as i0 from "@angular/core";
/*
* After a conversation with the Angular core team, it turns out we don't have much of a choice for our
* declarative API, we need to fight against change detection and its one-way flow. This is
* currently the least dirty solution to do what we want.
*
* Do not modify or even use this class unless you know exactly what you're doing.
* It has the potential to trigger change detection loops or kill app performances.
*/
export class WillyWonka {
constructor() {
this.disableChocolateCheck = false;
this._chocolate = new Subject();
}
get chocolate() {
return this._chocolate.asObservable();
}
ngAfterViewChecked() {
if (!this.disableChocolateCheck) {
this._chocolate.next();
}
}
}
WillyWonka.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: WillyWonka, deps: [], target: i0.ɵɵFactoryTarget.Directive });
WillyWonka.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.2", type: WillyWonka, ngImport: i0 });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: WillyWonka, decorators: [{
type: Directive
}] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lsbHktd29ua2EuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyL3NyYy91dGlscy9jaG9jb2xhdGUvd2lsbHktd29ua2EudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUVILE9BQU8sRUFBb0IsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTVELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBRS9COzs7Ozs7O0dBT0c7QUFFSCxNQUFNLE9BQU8sVUFBVTtJQUR2QjtRQUVFLDBCQUFxQixHQUFHLEtBQUssQ0FBQztRQUV0QixlQUFVLEdBQUcsSUFBSSxPQUFPLEVBQVUsQ0FBQztLQVc1QztJQVRDLElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMscUJBQXFCLEVBQUU7WUFDL0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUN4QjtJQUNILENBQUM7O3VHQWJVLFVBQVU7MkZBQVYsVUFBVTsyRkFBVixVQUFVO2tCQUR0QixTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxNi0yMDIzIFZNd2FyZSwgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICogVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciBNSVQgbGljZW5zZS5cbiAqIFRoZSBmdWxsIGxpY2Vuc2UgaW5mb3JtYXRpb24gY2FuIGJlIGZvdW5kIGluIExJQ0VOU0UgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgcHJvamVjdC5cbiAqL1xuXG5pbXBvcnQgeyBBZnRlclZpZXdDaGVja2VkLCBEaXJlY3RpdmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuLypcbiAqIEFmdGVyIGEgY29udmVyc2F0aW9uIHdpdGggdGhlIEFuZ3VsYXIgY29yZSB0ZWFtLCBpdCB0dXJucyBvdXQgd2UgZG9uJ3QgaGF2ZSBtdWNoIG9mIGEgY2hvaWNlIGZvciBvdXJcbiAqIGRlY2xhcmF0aXZlIEFQSSwgd2UgbmVlZCB0byBmaWdodCBhZ2FpbnN0IGNoYW5nZSBkZXRlY3Rpb24gYW5kIGl0cyBvbmUtd2F5IGZsb3cuIFRoaXMgaXNcbiAqIGN1cnJlbnRseSB0aGUgbGVhc3QgZGlydHkgc29sdXRpb24gdG8gZG8gd2hhdCB3ZSB3YW50LlxuICpcbiAqIERvIG5vdCBtb2RpZnkgb3IgZXZlbiB1c2UgdGhpcyBjbGFzcyB1bmxlc3MgeW91IGtub3cgZXhhY3RseSB3aGF0IHlvdSdyZSBkb2luZy5cbiAqIEl0IGhhcyB0aGUgcG90ZW50aWFsIHRvIHRyaWdnZXIgY2hhbmdlIGRldGVjdGlvbiBsb29wcyBvciBraWxsIGFwcCBwZXJmb3JtYW5jZXMuXG4gKi9cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGNsYXNzIFdpbGx5V29ua2EgaW1wbGVtZW50cyBBZnRlclZpZXdDaGVja2VkIHtcbiAgZGlzYWJsZUNob2NvbGF0ZUNoZWNrID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSBfY2hvY29sYXRlID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xuXG4gIGdldCBjaG9jb2xhdGUoKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5fY2hvY29sYXRlLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdDaGVja2VkKCkge1xuICAgIGlmICghdGhpcy5kaXNhYmxlQ2hvY29sYXRlQ2hlY2spIHtcbiAgICAgIHRoaXMuX2Nob2NvbGF0ZS5uZXh0KCk7XG4gICAgfVxuICB9XG59XG4iXX0=