ng-custom-checkbox-values
Version:
Custom checkbox values like strings or numbers other than default boolean
138 lines • 9.73 kB
JavaScript
/**
* @fileoverview added by tsickle
* Generated from: lib/custom-checkbox-values.directive.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Directive, forwardRef, Input, HostListener, ElementRef, Renderer2 } from '@angular/core';
import { NG_VALUE_ACCESSOR } from '@angular/forms';
var CustomCheckboxValuesDirective = /** @class */ (function () {
function CustomCheckboxValuesDirective(elementRef, renderer) {
this.elementRef = elementRef;
this.renderer = renderer;
this.propagateChange = (/**
* @param {?} _
* @return {?}
*/
function (_) { });
this.checkedValue = true;
this.uncheckedValue = false;
this.indeterminateValue = false;
}
/**
* @param {?} ev
* @return {?}
*/
CustomCheckboxValuesDirective.prototype.onHostChange = /**
* @param {?} ev
* @return {?}
*/
function (ev) {
this.propagateChange(ev.target.checked ? this.checkedValue : this.uncheckedValue);
};
/**
* @param {?} obj
* @return {?}
*/
CustomCheckboxValuesDirective.prototype.writeValue = /**
* @param {?} obj
* @return {?}
*/
function (obj) {
if (obj === this.checkedValue) {
this.renderer.setProperty(this.elementRef.nativeElement, 'checked', true);
this.renderer.setProperty(this.elementRef.nativeElement, 'indeterminate', false);
}
else if (obj === this.indeterminateValue) {
this.renderer.setProperty(this.elementRef.nativeElement, 'checked', false);
this.renderer.setProperty(this.elementRef.nativeElement, 'indeterminate', true);
}
else {
this.renderer.setProperty(this.elementRef.nativeElement, 'checked', false);
this.renderer.setProperty(this.elementRef.nativeElement, 'indeterminate', false);
}
};
/**
* @param {?} fn
* @return {?}
*/
CustomCheckboxValuesDirective.prototype.registerOnChange = /**
* @param {?} fn
* @return {?}
*/
function (fn) {
this.propagateChange = fn;
};
/**
* @param {?} fn
* @return {?}
*/
CustomCheckboxValuesDirective.prototype.registerOnTouched = /**
* @param {?} fn
* @return {?}
*/
function (fn) { };
/**
* @param {?} isDisabled
* @return {?}
*/
CustomCheckboxValuesDirective.prototype.setDisabledState = /**
* @param {?} isDisabled
* @return {?}
*/
function (isDisabled) { };
CustomCheckboxValuesDirective.decorators = [
{ type: Directive, args: [{
selector: '[customCheckboxValues]',
providers: [
{
provide: NG_VALUE_ACCESSOR,
useExisting: forwardRef((/**
* @return {?}
*/
function () { return CustomCheckboxValuesDirective; })),
multi: true
}
]
},] }
];
/** @nocollapse */
CustomCheckboxValuesDirective.ctorParameters = function () { return [
{ type: ElementRef },
{ type: Renderer2 }
]; };
CustomCheckboxValuesDirective.propDecorators = {
customCheckboxValues: [{ type: Input }],
checkedValue: [{ type: Input }],
uncheckedValue: [{ type: Input }],
indeterminateValue: [{ type: Input }],
onHostChange: [{ type: HostListener, args: ['change', ['$event'],] }]
};
return CustomCheckboxValuesDirective;
}());
export { CustomCheckboxValuesDirective };
if (false) {
/**
* @type {?}
* @private
*/
CustomCheckboxValuesDirective.prototype.propagateChange;
/** @type {?} */
CustomCheckboxValuesDirective.prototype.customCheckboxValues;
/** @type {?} */
CustomCheckboxValuesDirective.prototype.checkedValue;
/** @type {?} */
CustomCheckboxValuesDirective.prototype.uncheckedValue;
/** @type {?} */
CustomCheckboxValuesDirective.prototype.indeterminateValue;
/**
* @type {?}
* @private
*/
CustomCheckboxValuesDirective.prototype.elementRef;
/**
* @type {?}
* @private
*/
CustomCheckboxValuesDirective.prototype.renderer;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWNoZWNrYm94LXZhbHVlcy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZy1jdXN0b20tY2hlY2tib3gtdmFsdWVzLyIsInNvdXJjZXMiOlsibGliL2N1c3RvbS1jaGVja2JveC12YWx1ZXMuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxpQkFBaUIsRUFBd0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUV6RTtJQWlCQyx1Q0FBb0IsVUFBc0IsRUFBVSxRQUFtQjtRQUFuRCxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQU4vRCxvQkFBZTs7OztRQUFHLFVBQUMsQ0FBTSxJQUFPLENBQUMsRUFBQztRQUVqQyxpQkFBWSxHQUFHLElBQUksQ0FBQztRQUNwQixtQkFBYyxHQUFHLEtBQUssQ0FBQztRQUN2Qix1QkFBa0IsR0FBRyxLQUFLLENBQUM7SUFFdUMsQ0FBQzs7Ozs7SUFHNUUsb0RBQVk7Ozs7SUFEWixVQUNhLEVBQUU7UUFDZCxJQUFJLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDbkYsQ0FBQzs7Ozs7SUFFRCxrREFBVTs7OztJQUFWLFVBQVcsR0FBUTtRQUNsQixJQUFJLEdBQUcsS0FBSyxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQzlCLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUMxRSxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxlQUFlLEVBQUUsS0FBSyxDQUFDLENBQUM7U0FDakY7YUFBTSxJQUFJLEdBQUcsS0FBSyxJQUFJLENBQUMsa0JBQWtCLEVBQUU7WUFDM0MsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQzNFLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLGVBQWUsRUFBRSxJQUFJLENBQUMsQ0FBQztTQUNoRjthQUFNO1lBQ04sSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQzNFLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLGVBQWUsRUFBRSxLQUFLLENBQUMsQ0FBQztTQUNqRjtJQUNGLENBQUM7Ozs7O0lBRUQsd0RBQWdCOzs7O0lBQWhCLFVBQWlCLEVBQU87UUFDdkIsSUFBSSxDQUFDLGVBQWUsR0FBRyxFQUFFLENBQUM7SUFDM0IsQ0FBQzs7Ozs7SUFFRCx5REFBaUI7Ozs7SUFBakIsVUFBa0IsRUFBTyxJQUFVLENBQUM7Ozs7O0lBRXBDLHdEQUFnQjs7OztJQUFoQixVQUFrQixVQUFtQixJQUFVLENBQUM7O2dCQTNDaEQsU0FBUyxTQUFDO29CQUNWLFFBQVEsRUFBRSx3QkFBd0I7b0JBQ2xDLFNBQVMsRUFBRTt3QkFDVjs0QkFDQyxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVTs7OzRCQUFDLGNBQU0sT0FBQSw2QkFBNkIsRUFBN0IsQ0FBNkIsRUFBQzs0QkFDNUQsS0FBSyxFQUFFLElBQUk7eUJBQ1g7cUJBQ0Q7aUJBQ0Q7Ozs7Z0JBWm9ELFVBQVU7Z0JBQUUsU0FBUzs7O3VDQWV4RSxLQUFLOytCQUNMLEtBQUs7aUNBQ0wsS0FBSztxQ0FDTCxLQUFLOytCQUlMLFlBQVksU0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLENBQUM7O0lBMEJuQyxvQ0FBQztDQUFBLEFBN0NELElBNkNDO1NBbkNZLDZCQUE2Qjs7Ozs7O0lBQ3pDLHdEQUEwQzs7SUFDMUMsNkRBQW1DOztJQUNuQyxxREFBNkI7O0lBQzdCLHVEQUFnQzs7SUFDaEMsMkRBQW9DOzs7OztJQUV4QixtREFBOEI7Ozs7O0lBQUUsaURBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBmb3J3YXJkUmVmLCBJbnB1dCwgSG9zdExpc3RlbmVyLCBFbGVtZW50UmVmLCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SLCBDb250cm9sVmFsdWVBY2Nlc3NvciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuQERpcmVjdGl2ZSh7XG5cdHNlbGVjdG9yOiAnW2N1c3RvbUNoZWNrYm94VmFsdWVzXScsXG5cdHByb3ZpZGVyczogW1xuXHRcdHtcblx0XHRcdHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuXHRcdFx0dXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQ3VzdG9tQ2hlY2tib3hWYWx1ZXNEaXJlY3RpdmUpLFxuXHRcdFx0bXVsdGk6IHRydWVcblx0XHR9XG5cdF1cbn0pXG5leHBvcnQgY2xhc3MgQ3VzdG9tQ2hlY2tib3hWYWx1ZXNEaXJlY3RpdmUgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG5cdHByaXZhdGUgcHJvcGFnYXRlQ2hhbmdlID0gKF86IGFueSkgPT4geyB9O1xuXHRASW5wdXQoKSBjdXN0b21DaGVja2JveFZhbHVlczogYW55O1xuXHRASW5wdXQoKSBjaGVja2VkVmFsdWUgPSB0cnVlO1xuXHRASW5wdXQoKSB1bmNoZWNrZWRWYWx1ZSA9IGZhbHNlO1xuXHRASW5wdXQoKSBpbmRldGVybWluYXRlVmFsdWUgPSBmYWxzZTtcblxuXHRjb25zdHJ1Y3Rvcihwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMikgeyB9XG5cblx0QEhvc3RMaXN0ZW5lcignY2hhbmdlJywgWyckZXZlbnQnXSlcblx0b25Ib3N0Q2hhbmdlKGV2KSB7XG5cdFx0dGhpcy5wcm9wYWdhdGVDaGFuZ2UoZXYudGFyZ2V0LmNoZWNrZWQgPyB0aGlzLmNoZWNrZWRWYWx1ZSA6IHRoaXMudW5jaGVja2VkVmFsdWUpO1xuXHR9XG5cblx0d3JpdGVWYWx1ZShvYmo6IGFueSk6IHZvaWQge1xuXHRcdGlmIChvYmogPT09IHRoaXMuY2hlY2tlZFZhbHVlKSB7XG5cdFx0XHR0aGlzLnJlbmRlcmVyLnNldFByb3BlcnR5KHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnY2hlY2tlZCcsIHRydWUpO1xuXHRcdFx0dGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2luZGV0ZXJtaW5hdGUnLCBmYWxzZSk7XG5cdFx0fSBlbHNlIGlmIChvYmogPT09IHRoaXMuaW5kZXRlcm1pbmF0ZVZhbHVlKSB7XG5cdFx0XHR0aGlzLnJlbmRlcmVyLnNldFByb3BlcnR5KHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnY2hlY2tlZCcsIGZhbHNlKTtcblx0XHRcdHRoaXMucmVuZGVyZXIuc2V0UHJvcGVydHkodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdpbmRldGVybWluYXRlJywgdHJ1ZSk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMucmVuZGVyZXIuc2V0UHJvcGVydHkodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdjaGVja2VkJywgZmFsc2UpO1xuXHRcdFx0dGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2luZGV0ZXJtaW5hdGUnLCBmYWxzZSk7XG5cdFx0fVxuXHR9XG5cblx0cmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG5cdFx0dGhpcy5wcm9wYWdhdGVDaGFuZ2UgPSBmbjtcblx0fVxuXG5cdHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHsgfVxuXG5cdHNldERpc2FibGVkU3RhdGU/KGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHsgfVxuXG59XG4iXX0=