UNPKG

@microsoft/windows-admin-center-sdk

Version:

Microsoft - Windows Admin Center Shell

80 lines 10.4 kB
import { Directive, forwardRef } from '@angular/core'; import { NG_VALUE_ACCESSOR } from '@angular/forms'; import { Subject } from 'rxjs'; import * as i0 from "@angular/core"; /** * Implementation of ControlValueAccessor for sme-form-field * The selector for this directive must match @see FormFieldComponent.selector. see FormFieldComponent for details. */ export class FormFieldAccessorDirective { /** * Constructs a new instance of FormInputBaseComponent */ constructor() { // Initialize Values. this.onChange = MsftSme.noop; this.onTouched = MsftSme.noop; this.disabled = false; this.disabledChange = new Subject(); } ngOnDestroy() { this.disabledChange.complete(); } /** * Implementation of ControlValueAccessor interface. * Registers a callback function that should be called when the control's value changes in the UI. * @param fn the onChange function to call when the control should propagated changes to the view */ registerOnChange(fn) { this.onChange = fn; } /** * Implementation of ControlValueAccessor interface. * Registers a callback function that should be called when the control receives a blur event. * @param fn the onTouched function to call when the control should be considered blurred */ registerOnTouched(fn) { this.onTouched = fn; } /** * Implementation of ControlValueAccessor interface. * Called when the controls status changes to or from "DISABLED" * @param isDisabled Indicates if the control should be disabled. */ setDisabledState(isDisabled) { this.disabled = isDisabled; this.disabledChange.next(this.disabled); } /** * Implementation of ControlValueAccessor interface. * This method will be called by the forms API to write to the view when programmatic (model -> view) changes are requested. * @param value The new value of the model for this form control */ writeValue(value, triggerChange = false) { this.value = value; if (triggerChange) { this.onChange(value); } } /** * Safety wrapper around value. Value should only be changed from writeValue method */ getValue() { return this.value; } } /** @nocollapse */ FormFieldAccessorDirective.ɵfac = function FormFieldAccessorDirective_Factory(t) { return new (t || FormFieldAccessorDirective)(); }; /** @nocollapse */ FormFieldAccessorDirective.ɵdir = /** @pureOrBreakMyCode */ i0.ɵɵdefineDirective({ type: FormFieldAccessorDirective, selectors: [["sme-form-field"]], features: [i0.ɵɵProvidersFeature([ { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef((() => FormFieldAccessorDirective)), multi: true } ])] }); (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FormFieldAccessorDirective, [{ type: Directive, args: [{ // eslint-disable-next-line @angular-eslint/directive-selector selector: 'sme-form-field', providers: [ { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef((() => FormFieldAccessorDirective)), multi: true } ] }] }], function () { return []; }, null); })(); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC1hY2Nlc3Nvci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9hbmd1bGFyL3NyYy9jb250cm9scy9mb3JtL2Zvcm0tZmllbGQvZm9ybS1maWVsZC1hY2Nlc3Nvci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBRS9COzs7R0FHRztBQVFILE1BQU0sT0FBTywwQkFBMEI7SUEyQm5DOztPQUVHO0lBQ0g7UUFDSSxxQkFBcUI7UUFDckIsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDO1FBQzdCLElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQztRQUM5QixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztRQUN0QixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksT0FBTyxFQUFXLENBQUM7SUFDakQsQ0FBQztJQUVNLFdBQVc7UUFDZCxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksZ0JBQWdCLENBQUMsRUFBMkI7UUFDL0MsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxpQkFBaUIsQ0FBQyxFQUFrQjtRQUN2QyxJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLGdCQUFnQixDQUFDLFVBQW1CO1FBQ3ZDLElBQUksQ0FBQyxRQUFRLEdBQUcsVUFBVSxDQUFDO1FBQzNCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLFVBQVUsQ0FBQyxLQUFhLEVBQUUsZ0JBQXlCLEtBQUs7UUFDM0QsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxhQUFhLEVBQUU7WUFDZixJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3hCO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0ksUUFBUTtRQUNYLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUN0QixDQUFDOzt1SEF2RlEsMEJBQTBCOzRHQUExQiwwQkFBMEIsb0VBSnhCO1lBQ1AsRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBQyxHQUFHLEVBQUUsQ0FBQywwQkFBMEIsRUFBQyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUU7U0FDekc7dUZBRVEsMEJBQTBCO2NBUHRDLFNBQVM7ZUFBQztnQkFDUCw4REFBOEQ7Z0JBQzlELFFBQVEsRUFBRSxnQkFBZ0I7Z0JBQzFCLFNBQVMsRUFBRTtvQkFDUCxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFDLEdBQUcsRUFBRSwyQkFBMkIsRUFBQyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUU7aUJBQ3pHO2FBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIGZvcndhcmRSZWYsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuXHJcbi8qKlxyXG4gKiBJbXBsZW1lbnRhdGlvbiBvZiBDb250cm9sVmFsdWVBY2Nlc3NvciBmb3Igc21lLWZvcm0tZmllbGRcclxuICogVGhlIHNlbGVjdG9yIGZvciB0aGlzIGRpcmVjdGl2ZSBtdXN0IG1hdGNoIEBzZWUgRm9ybUZpZWxkQ29tcG9uZW50LnNlbGVjdG9yLiBzZWUgRm9ybUZpZWxkQ29tcG9uZW50IGZvciBkZXRhaWxzLlxyXG4gKi9cclxuQERpcmVjdGl2ZSh7XHJcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2RpcmVjdGl2ZS1zZWxlY3RvclxyXG4gICAgc2VsZWN0b3I6ICdzbWUtZm9ybS1maWVsZCcsXHJcbiAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICB7IHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLCB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBGb3JtRmllbGRBY2Nlc3NvckRpcmVjdGl2ZSksIG11bHRpOiB0cnVlIH1cclxuICAgIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEZvcm1GaWVsZEFjY2Vzc29yRGlyZWN0aXZlPFRNb2RlbD4gaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25EZXN0cm95IHtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEluZGljYXRlcyB0aGF0IHRoaXMgZm9ybSBjb250cm9sIGlzIGRpc2FibGVkXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBkaXNhYmxlZDogYm9vbGVhbjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIERpc2FibGVkIGNoYW5nZWQgc3ViamVjdFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZGlzYWJsZWRDaGFuZ2U6IFN1YmplY3Q8Ym9vbGVhbj47XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBQbGFjZWhvbGRlciBmb3IgdGhlIG9uQ2hhbmdlIGNhbGxiYWNrIHRoYXQgaXMgcmVnaXN0ZXJlZCBieSB0aGUgRm9ybXMgQVBJXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBvbkNoYW5nZTogTXNmdFNtZS5BY3Rpb24xPFRNb2RlbD47XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBQbGFjZWhvbGRlciBmb3IgdGhlIG9uVG91Y2hlZCBjYWxsYmFjayB0aGF0IGlzIHJlZ2lzdGVyZWQgYnkgdGhlIEZvcm1zIEFQSVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgb25Ub3VjaGVkOiBNc2Z0U21lLkFjdGlvbjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoZSBmb3JtIGNvbnRyb2xzIGFjdHVhbCB2YWx1ZVxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIHZhbHVlOiBUTW9kZWw7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDb25zdHJ1Y3RzIGEgbmV3IGluc3RhbmNlIG9mIEZvcm1JbnB1dEJhc2VDb21wb25lbnRcclxuICAgICAqL1xyXG4gICAgY29uc3RydWN0b3IoKSB7XHJcbiAgICAgICAgLy8gSW5pdGlhbGl6ZSBWYWx1ZXMuXHJcbiAgICAgICAgdGhpcy5vbkNoYW5nZSA9IE1zZnRTbWUubm9vcDtcclxuICAgICAgICB0aGlzLm9uVG91Y2hlZCA9IE1zZnRTbWUubm9vcDtcclxuICAgICAgICB0aGlzLmRpc2FibGVkID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5kaXNhYmxlZENoYW5nZSA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG5nT25EZXN0cm95KCkge1xyXG4gICAgICAgIHRoaXMuZGlzYWJsZWRDaGFuZ2UuY29tcGxldGUoKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEltcGxlbWVudGF0aW9uIG9mIENvbnRyb2xWYWx1ZUFjY2Vzc29yIGludGVyZmFjZS5cclxuICAgICAqIFJlZ2lzdGVycyBhIGNhbGxiYWNrIGZ1bmN0aW9uIHRoYXQgc2hvdWxkIGJlIGNhbGxlZCB3aGVuIHRoZSBjb250cm9sJ3MgdmFsdWUgY2hhbmdlcyBpbiB0aGUgVUkuXHJcbiAgICAgKiBAcGFyYW0gZm4gdGhlIG9uQ2hhbmdlIGZ1bmN0aW9uIHRvIGNhbGwgd2hlbiB0aGUgY29udHJvbCBzaG91bGQgcHJvcGFnYXRlZCBjaGFuZ2VzIHRvIHRoZSB2aWV3XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiBNc2Z0U21lLkFjdGlvbjE8VE1vZGVsPikge1xyXG4gICAgICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEltcGxlbWVudGF0aW9uIG9mIENvbnRyb2xWYWx1ZUFjY2Vzc29yIGludGVyZmFjZS5cclxuICAgICAqIFJlZ2lzdGVycyBhIGNhbGxiYWNrIGZ1bmN0aW9uIHRoYXQgc2hvdWxkIGJlIGNhbGxlZCB3aGVuIHRoZSBjb250cm9sIHJlY2VpdmVzIGEgYmx1ciBldmVudC5cclxuICAgICAqIEBwYXJhbSBmbiB0aGUgb25Ub3VjaGVkIGZ1bmN0aW9uIHRvIGNhbGwgd2hlbiB0aGUgY29udHJvbCBzaG91bGQgYmUgY29uc2lkZXJlZCBibHVycmVkXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChmbjogTXNmdFNtZS5BY3Rpb24pIHtcclxuICAgICAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW1wbGVtZW50YXRpb24gb2YgQ29udHJvbFZhbHVlQWNjZXNzb3IgaW50ZXJmYWNlLlxyXG4gICAgICogQ2FsbGVkIHdoZW4gdGhlIGNvbnRyb2xzIHN0YXR1cyBjaGFuZ2VzIHRvIG9yIGZyb20gXCJESVNBQkxFRFwiXHJcbiAgICAgKiBAcGFyYW0gaXNEaXNhYmxlZCBJbmRpY2F0ZXMgaWYgdGhlIGNvbnRyb2wgc2hvdWxkIGJlIGRpc2FibGVkLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XHJcbiAgICAgICAgdGhpcy5kaXNhYmxlZENoYW5nZS5uZXh0KHRoaXMuZGlzYWJsZWQpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW1wbGVtZW50YXRpb24gb2YgQ29udHJvbFZhbHVlQWNjZXNzb3IgaW50ZXJmYWNlLlxyXG4gICAgICogVGhpcyBtZXRob2Qgd2lsbCBiZSBjYWxsZWQgYnkgdGhlIGZvcm1zIEFQSSB0byB3cml0ZSB0byB0aGUgdmlldyB3aGVuIHByb2dyYW1tYXRpYyAobW9kZWwgLT4gdmlldykgY2hhbmdlcyBhcmUgcmVxdWVzdGVkLlxyXG4gICAgICogQHBhcmFtIHZhbHVlIFRoZSBuZXcgdmFsdWUgb2YgdGhlIG1vZGVsIGZvciB0aGlzIGZvcm0gY29udHJvbFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgd3JpdGVWYWx1ZSh2YWx1ZTogVE1vZGVsLCB0cmlnZ2VyQ2hhbmdlOiBib29sZWFuID0gZmFsc2UpIHtcclxuICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XHJcbiAgICAgICAgaWYgKHRyaWdnZXJDaGFuZ2UpIHtcclxuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZSh2YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogU2FmZXR5IHdyYXBwZXIgYXJvdW5kIHZhbHVlLiBWYWx1ZSBzaG91bGQgb25seSBiZSBjaGFuZ2VkIGZyb20gd3JpdGVWYWx1ZSBtZXRob2RcclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldFZhbHVlKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==