UNPKG

@asi-ngtools/lib

Version:

This project is a little components library, simple to use, which will help you to simplify your project.

199 lines (198 loc) 14.4 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc */ import * as tslib_1 from "tslib"; import { NG_VALUE_ACCESSOR } from '@angular/forms'; import { DefaultControlValueAccessor } from './../common/default-control-value-accessor'; import { AsiRadioComponent } from './asi-radio/asi-radio.component'; import { Input, Component, TemplateRef, ViewChild, ContentChildren, QueryList, forwardRef, Renderer2, ElementRef } from '@angular/core'; var AsiRadioGroupComponent = /** @class */ (function (_super) { tslib_1.__extends(AsiRadioGroupComponent, _super); function AsiRadioGroupComponent(renderer, elementRef) { var _this = _super.call(this) || this; _this.renderer = renderer; _this.elementRef = elementRef; /** * Label position */ _this.labelPosition = 'top'; /** * Vertical / Horizontal */ _this.vertical = false; /** * Track data base on a sub attribute rather than reference */ _this.trackBy = null; _this.radios = new Array(); return _this; } /** * @return {?} */ AsiRadioGroupComponent.prototype.ngOnInit = /** * @return {?} */ function () { this.renderer.addClass(this.elementRef.nativeElement, 'label-' + this.labelPosition); if (this.vertical) { this.renderer.addClass(this.elementRef.nativeElement, 'asi-vertical'); } }; /** * @return {?} */ AsiRadioGroupComponent.prototype.getRadios = /** * @return {?} */ function () { return this.radios; }; /** * @param {?} radioEvent * @return {?} */ AsiRadioGroupComponent.prototype.onRadioChecked = /** * @param {?} radioEvent * @return {?} */ function (radioEvent) { var _this = this; if (radioEvent.value) { this.radios.forEach(function (radio) { if (radio.index === radioEvent.index) { radio.active = true; _this.value = radio.value; } else { radio.active = false; } }); } else { this.radios.forEach(function (radio) { radio.active = false; }); this.value = null; } }; /** * @return {?} */ AsiRadioGroupComponent.prototype.ngAfterContentInit = /** * @return {?} */ function () { var _this = this; /** @type {?} */ var index = -1; this.queryRadios.forEach(function (radio) { radio.index = ++index; _this.radios.push(radio); }); this.initValue(this.value); }; /** * @param {?} value * @return {?} */ AsiRadioGroupComponent.prototype.writeValue = /** * @param {?} value * @return {?} */ function (value) { this._value = value; this.initValue(value); }; /** * @param {?} value * @return {?} */ AsiRadioGroupComponent.prototype.initValue = /** * @param {?} value * @return {?} */ function (value) { var _this = this; if (value == null) { this.radios.forEach(function (radio) { radio.active = false; }); } else { if (this.trackBy != null) { this.radios.forEach(function (radio) { radio.active = radio.value[_this.trackBy] === value[_this.trackBy]; }); } else { this.radios.forEach(function (radio) { radio.active = (radio.value === value); }); } } }; AsiRadioGroupComponent.decorators = [ { type: Component, args: [{ selector: 'asi-radio-group', template: "<label class=\"input-label\" *ngIf=\"label != null\">{{label | translate}}</label>\n<div class=\"asi-radio-container\">\n <asi-radio-element *ngFor=\"let radio of getRadios()\" \n [radio]=\"radio\" \n [disabled]=\"disabled\"\n [value]=\"radio.active\" \n (onValueChange)=\"onRadioChecked($event)\">\n </asi-radio-element>\n</div>", host: { 'class': 'asi-component asi-radio-group' }, providers: [ { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(function () { return AsiRadioGroupComponent; }), multi: true } ] }] } ]; /** @nocollapse */ AsiRadioGroupComponent.ctorParameters = function () { return [ { type: Renderer2 }, { type: ElementRef } ]; }; AsiRadioGroupComponent.propDecorators = { label: [{ type: Input }], labelPosition: [{ type: Input }], vertical: [{ type: Input }], trackBy: [{ type: Input }], queryRadios: [{ type: ContentChildren, args: [AsiRadioComponent,] }], contentTemplate: [{ type: ViewChild, args: [TemplateRef,] }] }; return AsiRadioGroupComponent; }(DefaultControlValueAccessor)); export { AsiRadioGroupComponent }; if (false) { /** * Label to display (is translated) * @type {?} */ AsiRadioGroupComponent.prototype.label; /** * Label position * @type {?} */ AsiRadioGroupComponent.prototype.labelPosition; /** * Vertical / Horizontal * @type {?} */ AsiRadioGroupComponent.prototype.vertical; /** * Track data base on a sub attribute rather than reference * @type {?} */ AsiRadioGroupComponent.prototype.trackBy; /** @type {?} */ AsiRadioGroupComponent.prototype.queryRadios; /** @type {?} */ AsiRadioGroupComponent.prototype.contentTemplate; /** @type {?} */ AsiRadioGroupComponent.prototype.radios; /** @type {?} */ AsiRadioGroupComponent.prototype.renderer; /** @type {?} */ AsiRadioGroupComponent.prototype.elementRef; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNpLXJhZGlvLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bhc2ktbmd0b29scy9saWIvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9hc2ktcmFkaW8tZ3JvdXAvYXNpLXJhZGlvLWdyb3VwLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3BFLE9BQU8sRUFDTCxLQUFLLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFDcEUsVUFBVSxFQUE0QixTQUFTLEVBQUUsVUFBVSxFQUM1RCxNQUFNLGVBQWUsQ0FBQzs7SUFjcUIsa0RBQTJCO0lBbUJyRSxnQ0FBb0IsUUFBbUIsRUFDN0I7UUFEVixZQUVFLGlCQUFPLFNBQ1I7UUFIbUIsY0FBUSxHQUFSLFFBQVEsQ0FBVztRQUM3QixnQkFBVSxHQUFWLFVBQVU7Ozs7OEJBZjJFLEtBQUs7Ozs7eUJBR2hGLEtBQUs7Ozs7d0JBR0UsSUFBSTt1QkFNdEIsSUFBSSxLQUFLLEVBQXFCOztLQUt0Qzs7OztJQUVELHlDQUFROzs7SUFBUjtRQUNFLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLFFBQVEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDckYsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7WUFDbEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsY0FBYyxDQUFDLENBQUM7U0FDdkU7S0FDRjs7OztJ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dEIsQ0FBc0IsQ0FBQzs0QkFDckQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7aUJBQ0Y7Ozs7Z0JBZHVDLFNBQVM7Z0JBQUUsVUFBVTs7O3dCQWtCMUQsS0FBSztnQ0FFTCxLQUFLOzJCQUdMLEtBQUs7MEJBR0wsS0FBSzs4QkFFTCxlQUFlLFNBQUMsaUJBQWlCO2tDQUVqQyxTQUFTLFNBQUMsV0FBVzs7aUNBbkN4QjtFQW9CNEMsMkJBQTJCO1NBQTFELHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBEZWZhdWx0Q29udHJvbFZhbHVlQWNjZXNzb3IgfSBmcm9tICcuLy4uL2NvbW1vbi9kZWZhdWx0LWNvbnRyb2wtdmFsdWUtYWNjZXNzb3InO1xyXG5pbXBvcnQgeyBBc2lSYWRpb0NvbXBvbmVudCB9IGZyb20gJy4vYXNpLXJhZGlvL2FzaS1yYWRpby5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gIElucHV0LCBDb21wb25lbnQsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQsIENvbnRlbnRDaGlsZHJlbiwgUXVlcnlMaXN0LFxyXG4gIGZvcndhcmRSZWYsIE9uSW5pdCwgQWZ0ZXJDb250ZW50SW5pdCwgUmVuZGVyZXIyLCBFbGVtZW50UmVmXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FzaS1yYWRpby1ncm91cCcsXHJcbiAgdGVtcGxhdGVVcmw6ICdhc2ktcmFkaW8tZ3JvdXAuY29tcG9uZW50Lmh0bWwnLFxyXG4gIGhvc3Q6IHsgJ2NsYXNzJzogJ2FzaS1jb21wb25lbnQgYXNpLXJhZGlvLWdyb3VwJyB9LFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQXNpUmFkaW9Hcm91cENvbXBvbmVudCksXHJcbiAgICAgIG11bHRpOiB0cnVlXHJcbiAgICB9XHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQXNpUmFkaW9Hcm91cENvbXBvbmVudCBleHRlbmRzIERlZmF1bHRDb250cm9sVmFsdWVBY2Nlc3NvciBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJDb250ZW50SW5pdCB7XHJcblxyXG4gIC8qKiBMYWJlbCB0byBkaXNwbGF5IChpcyB0cmFuc2xhdGVkKSAqL1xyXG4gIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmc7XHJcbiAgLyoqIExhYmVsIHBvc2l0aW9uICovXHJcbiAgQElucHV0KCkgbGFiZWxQb3NpdGlvbjogJ3RvcCcgfCAnbGVmdCcgfCAncmlnaHQnIHwgJ2JvdHRvbScgfCAnYm90dG9tLWNlbnRlcicgfCAndG9wLWNlbnRlcicgPSAndG9wJztcclxuXHJcbiAgLyoqIFZlcnRpY2FsIC8gSG9yaXpvbnRhbCAqL1xyXG4gIEBJbnB1dCgpIHZlcnRpY2FsID0gZmFsc2U7XHJcblxyXG4gIC8qKiBUcmFjayBkYXRhIGJhc2Ugb24gYSBzdWIgYXR0cmlidXRlIHJhdGhlciB0aGFuIHJlZmVyZW5jZSAqL1xyXG4gIEBJbnB1dCgpIHRyYWNrQnk6IHN0cmluZyA9IG51bGw7XHJcblxyXG4gIEBDb250ZW50Q2hpbGRyZW4oQXNpUmFkaW9Db21wb25lbnQpIHF1ZXJ5UmFkaW9zOiBRdWVyeUxpc3Q8QXNpUmFkaW9Db21wb25lbnQ+O1xyXG5cclxuICBAVmlld0NoaWxkKFRlbXBsYXRlUmVmKSBjb250ZW50VGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XHJcblxyXG4gIHJhZGlvcyA9IG5ldyBBcnJheTxBc2lSYWRpb0NvbXBvbmVudD4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnbGFiZWwtJyArIHRoaXMubGFiZWxQb3NpdGlvbik7XHJcbiAgICBpZiAodGhpcy52ZXJ0aWNhbCkge1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnYXNpLXZlcnRpY2FsJyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRSYWRpb3MoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5yYWRpb3M7XHJcbiAgfVxyXG5cclxuICBvblJhZGlvQ2hlY2tlZChyYWRpb0V2ZW50OiB7IGluZGV4OiBudW1iZXIsIHZhbHVlOiBib29sZWFuIH0pIHtcclxuICAgIGlmIChyYWRpb0V2ZW50LnZhbHVlKSB7XHJcbiAgICAgIHRoaXMucmFkaW9zLmZvckVhY2goKHJhZGlvKSA9PiB7XHJcbiAgICAgICAgaWYgKHJhZGlvLmluZGV4ID09PSByYWRpb0V2ZW50LmluZGV4KSB7XHJcbiAgICAgICAgICByYWRpby5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgdGhpcy52YWx1ZSA9IHJhZGlvLnZhbHVlO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByYWRpby5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5yYWRpb3MuZm9yRWFjaCgocmFkaW8pID0+IHtcclxuICAgICAgICByYWRpby5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgfSk7XHJcbiAgICAgIHRoaXMudmFsdWUgPSBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xyXG4gICAgbGV0IGluZGV4ID0gLTE7XHJcbiAgICB0aGlzLnF1ZXJ5UmFkaW9zLmZvckVhY2gocmFkaW8gPT4ge1xyXG4gICAgICByYWRpby5pbmRleCA9ICsraW5kZXg7XHJcbiAgICAgIHRoaXMucmFkaW9zLnB1c2gocmFkaW8pXHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLmluaXRWYWx1ZSh0aGlzLnZhbHVlKTtcclxuICB9XHJcblxyXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSkge1xyXG4gICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcclxuICAgIHRoaXMuaW5pdFZhbHVlKHZhbHVlKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaW5pdFZhbHVlKHZhbHVlOiBhbnkpIHtcclxuICAgIGlmICh2YWx1ZSA9PSBudWxsKSB7XHJcbiAgICAgIHRoaXMucmFkaW9zLmZvckVhY2goKHJhZGlvKSA9PiB7XHJcbiAgICAgICAgcmFkaW8uYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKHRoaXMudHJhY2tCeSAhPSBudWxsKSB7XHJcbiAgICAgICAgdGhpcy5yYWRpb3MuZm9yRWFjaCgocmFkaW8pID0+IHtcclxuICAgICAgICAgIHJhZGlvLmFjdGl2ZSA9IHJhZGlvLnZhbHVlW3RoaXMudHJhY2tCeV0gPT09IHZhbHVlW3RoaXMudHJhY2tCeV07XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5yYWRpb3MuZm9yRWFjaCgocmFkaW8pID0+IHtcclxuICAgICAgICAgIHJhZGlvLmFjdGl2ZSA9IChyYWRpby52YWx1ZSA9PT0gdmFsdWUpXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19