@asi-ngtools/lib
Version:
This project is a little components library, simple to use, which will help you to simplify your project.
85 lines (84 loc) • 5.74 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
*/
import { DefaultControlValueAccessor } from './../common/default-control-value-accessor';
import { Component, Input, forwardRef, Renderer2, ElementRef } from '@angular/core';
import { NG_VALUE_ACCESSOR } from '@angular/forms';
export class AsiCheckboxComponent extends DefaultControlValueAccessor {
/**
* @param {?} renderer
* @param {?} elementRef
*/
constructor(renderer, elementRef) {
super();
this.renderer = renderer;
this.elementRef = elementRef;
/**
* Label position
*/
this.labelPosition = 'top';
/**
* design : checkbox (square) or radio (round)
*/
this.type = 'checkbox';
}
/**
* @return {?}
*/
ngOnInit() {
this.renderer.addClass(this.elementRef.nativeElement, 'label-' + this.labelPosition);
}
/**
* @return {?}
*/
toggleCheck() {
this.value = !this.value;
}
}
AsiCheckboxComponent.decorators = [
{ type: Component, args: [{
selector: 'asi-checkbox',
host: { 'class': 'asi-component asi-checkbox' },
template: "<label class=\"input-label\" *ngIf=\"label != null\">{{label | translate}}</label>\r\n\r\n<button type=\"button\" [disabled]=\"disabled\" (click)=\"toggleCheck()\" class=\"checkbox asi-focus-error\" [ngClass]=\"{ 'checked': value, 'radio' : type == 'radio' }\">\r\n <div><span class=\"checkbox-button\"></span></div>\r\n</button>",
providers: [
{
provide: NG_VALUE_ACCESSOR,
useExisting: forwardRef(() => AsiCheckboxComponent),
multi: true
}
]
}] }
];
/** @nocollapse */
AsiCheckboxComponent.ctorParameters = () => [
{ type: Renderer2 },
{ type: ElementRef }
];
AsiCheckboxComponent.propDecorators = {
label: [{ type: Input }],
labelPosition: [{ type: Input }],
type: [{ type: Input }]
};
if (false) {
/**
* Label (is translated)
* @type {?}
*/
AsiCheckboxComponent.prototype.label;
/**
* Label position
* @type {?}
*/
AsiCheckboxComponent.prototype.labelPosition;
/**
* design : checkbox (square) or radio (round)
* @type {?}
*/
AsiCheckboxComponent.prototype.type;
/** @type {?} */
AsiCheckboxComponent.prototype.renderer;
/** @type {?} */
AsiCheckboxComponent.prototype.elementRef;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNpLWNoZWNrYm94LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bhc2ktbmd0b29scy9saWIvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9hc2ktY2hlY2tib3gvYXNpLWNoZWNrYm94LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDekYsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFVLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFjbkQsTUFBTSwyQkFBNEIsU0FBUSwyQkFBMkI7Ozs7O0lBVW5FLFlBQW9CLFFBQW1CLEVBQVUsVUFBc0I7UUFDckUsS0FBSyxFQUFFLENBQUM7UUFEVSxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQVUsZUFBVSxHQUFWLFVBQVUsQ0FBWTs7Ozs2QkFMd0IsS0FBSzs7OztvQkFHOUQsVUFBVTtLQUkvQzs7OztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxRQUFRLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0tBQ3RGOzs7O0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO0tBQzFCOzs7WUFoQ0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxjQUFjO2dCQUN4QixJQUFJLEVBQUUsRUFBRSxPQUFPLEVBQUUsNEJBQTRCLEVBQUU7Z0JBQy9DLHdWQUEwQztnQkFDMUMsU0FBUyxFQUFFO29CQUNUO3dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7d0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsb0JBQW9CLENBQUM7d0JBQ25ELEtBQUssRUFBRSxJQUFJO3FCQUNaO2lCQUNGO2FBQ0Y7Ozs7WUFkOEMsU0FBUztZQUFFLFVBQVU7OztvQkFrQmpFLEtBQUs7NEJBRUwsS0FBSzttQkFHTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGVmYXVsdENvbnRyb2xWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnLi8uLi9jb21tb24vZGVmYXVsdC1jb250cm9sLXZhbHVlLWFjY2Vzc29yJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgZm9yd2FyZFJlZiwgT25Jbml0LCBSZW5kZXJlcjIsIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FzaS1jaGVja2JveCcsXHJcbiAgaG9zdDogeyAnY2xhc3MnOiAnYXNpLWNvbXBvbmVudCBhc2ktY2hlY2tib3gnIH0sXHJcbiAgdGVtcGxhdGVVcmw6ICdhc2ktY2hlY2tib3guY29tcG9uZW50Lmh0bWwnLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQXNpQ2hlY2tib3hDb21wb25lbnQpLFxyXG4gICAgICBtdWx0aTogdHJ1ZVxyXG4gICAgfVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEFzaUNoZWNrYm94Q29tcG9uZW50IGV4dGVuZHMgRGVmYXVsdENvbnRyb2xWYWx1ZUFjY2Vzc29yIGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgLyoqIExhYmVsIChpcyB0cmFuc2xhdGVkKSAqL1xyXG4gIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmc7XHJcbiAgLyoqIExhYmVsIHBvc2l0aW9uICovXHJcbiAgQElucHV0KCkgbGFiZWxQb3NpdGlvbjogJ3RvcCcgfCAnbGVmdCcgfCAncmlnaHQnIHwgJ2JvdHRvbScgfCAnYm90dG9tLWNlbnRlcicgfCAndG9wLWNlbnRlcicgPSAndG9wJztcclxuXHJcbiAgLyoqIGRlc2lnbiA6IGNoZWNrYm94IChzcXVhcmUpIG9yIHJhZGlvIChyb3VuZCkgKi9cclxuICBASW5wdXQoKSB0eXBlOiAnY2hlY2tib3gnIHwgJ3JhZGlvJyA9ICdjaGVja2JveCc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMiwgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnbGFiZWwtJyArIHRoaXMubGFiZWxQb3NpdGlvbik7XHJcbiAgfVxyXG5cclxuICB0b2dnbGVDaGVjaygpIHtcclxuICAgIHRoaXMudmFsdWUgPSAhdGhpcy52YWx1ZTtcclxuICB9XHJcbn1cclxuIl19