UNPKG

fundamental-ngx

Version:

SAP Fundamentals, implemented in Angular

168 lines 10.3 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Component, EventEmitter, forwardRef, Input, Output, ViewEncapsulation } from '@angular/core'; import { NG_VALUE_ACCESSOR } from '@angular/forms'; /** @type {?} */ let listCheckboxUniqueId = 0; /** * The component that represents a checkbox list. * * ```html * <fd-list> * <li fd-list-item> * <fd-list-checkbox>List item 1</fd-list-checkbox> * </li> * </fd-list> * ``` */ export class ListCheckboxComponent { constructor() { /** * Whether the list item checkbox is checked. */ this.checked = false; /** * Whether the list item checkbox is disabled. */ this.disabled = false; /** * Event fired when the state of the checkbox changes. Passes back the id and the value. */ this.onToggle = new EventEmitter(); /** * Event fired when the checkbox becomes active. */ this.onActivated = new EventEmitter(); /** * The id of the checkbox. */ this.id = 'fd-list-checkbox-' + listCheckboxUniqueId++; /** * @hidden */ this.onChange = (/** * @return {?} */ () => { }); /** * @hidden */ this.onTouched = (/** * @return {?} */ () => { }); } /** * Set the value of the *isChecked* property. * @return {?} */ get isChecked() { return this.checked; } /** * Set the value of the *isChecked* property. * @param {?} value * @return {?} */ set isChecked(value) { this.checked = value; this.onChange(value); this.onTouched(); this.onToggle.emit({ id: this.id, value: value }); if (this.checked) { this.onActivated.emit(this.id); } } /** * @hidden * @param {?} value * @return {?} */ writeValue(value) { this.checked = value; } /** * @hidden * @param {?} fn * @return {?} */ registerOnChange(fn) { this.onChange = fn; } /** * @hidden * @param {?} fn * @return {?} */ registerOnTouched(fn) { this.onTouched = fn; } } ListCheckboxComponent.decorators = [ { type: Component, args: [{ selector: 'fd-list-checkbox', host: { class: 'fd-form__item fd-form__item--check', '[attr.id]': 'id' }, template: "<div class=\"fd-form__item fd-form__item--check\">\n <label class=\"fd-form__label\"\n [htmlFor]=\"this.id\">\n <input class=\"fd-form__control\"\n type=\"checkbox\"\n [id]=\"this.id\"\n [(ngModel)]=\"this.isChecked\"\n [disabled]=\"this.disabled\">\n <ng-content></ng-content>\n </label>\n</div>\n", providers: [ { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef((/** * @return {?} */ () => ListCheckboxComponent)), multi: true } ], encapsulation: ViewEncapsulation.None }] } ]; ListCheckboxComponent.propDecorators = { checked: [{ type: Input }], disabled: [{ type: Input }], onToggle: [{ type: Output }], onActivated: [{ type: Output }], id: [{ type: Input }] }; if (false) { /** * Whether the list item checkbox is checked. * @type {?} */ ListCheckboxComponent.prototype.checked; /** * Whether the list item checkbox is disabled. * @type {?} */ ListCheckboxComponent.prototype.disabled; /** * Event fired when the state of the checkbox changes. Passes back the id and the value. * @type {?} */ ListCheckboxComponent.prototype.onToggle; /** * Event fired when the checkbox becomes active. * @type {?} */ ListCheckboxComponent.prototype.onActivated; /** * The id of the checkbox. * @type {?} */ ListCheckboxComponent.prototype.id; /** * @hidden * @type {?} */ ListCheckboxComponent.prototype.onChange; /** * @hidden * @type {?} */ ListCheckboxComponent.prototype.onTouched; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1jaGVja2JveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9mdW5kYW1lbnRhbC1uZ3gvIiwic291cmNlcyI6WyJsaWIvbGlzdC9saXN0LWNoZWNrYm94LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEcsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztJQUVyRSxvQkFBb0IsR0FBVyxDQUFDOzs7Ozs7Ozs7Ozs7QUE2QnBDLE1BQU0sT0FBTyxxQkFBcUI7SUFoQmxDOzs7O1FBb0JJLFlBQU8sR0FBWSxLQUFLLENBQUM7Ozs7UUFJekIsYUFBUSxHQUFZLEtBQUssQ0FBQzs7OztRQUlqQixhQUFRLEdBQStDLElBQUksWUFBWSxFQUFnQyxDQUFDOzs7O1FBSXhHLGdCQUFXLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7Ozs7UUFJeEUsT0FBRSxHQUFXLG1CQUFtQixHQUFHLG9CQUFvQixFQUFFLENBQUM7Ozs7UUFHMUQsYUFBUTs7O1FBQVEsR0FBRyxFQUFFLEdBQUUsQ0FBQyxFQUFDOzs7O1FBR3pCLGNBQVM7OztRQUFRLEdBQUcsRUFBRSxHQUFFLENBQUMsRUFBQztJQWtDOUIsQ0FBQzs7Ozs7SUEvQkcsSUFBSSxTQUFTO1FBQ1QsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3hCLENBQUM7Ozs7OztJQUdELElBQUksU0FBUyxDQUFDLEtBQUs7UUFDZixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUMsQ0FBQyxDQUFDO1FBRWhELElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNkLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUNsQztJQUNMLENBQUM7Ozs7OztJQUdELFVBQVUsQ0FBQyxLQUFVO1FBQ2pCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO0lBQ3pCLENBQUM7Ozs7OztJQUdELGdCQUFnQixDQUFDLEVBQUU7UUFDZixJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUN2QixDQUFDOzs7Ozs7SUFHRCxpQkFBaUIsQ0FBQyxFQUFFO1FBQ2hCLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ3hCLENBQUM7OztZQTFFSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLGtCQUFrQjtnQkFDNUIsSUFBSSxFQUFFO29CQUNGLEtBQUssRUFBRSxvQ0FBb0M7b0JBQzNDLFdBQVcsRUFBRSxJQUFJO2lCQUNwQjtnQkFDRCw0WUFBNkM7Z0JBQzdDLFNBQVMsRUFBRTtvQkFDUDt3QkFDSSxPQUFPLEVBQUUsaUJBQWlCO3dCQUMxQixXQUFXLEVBQUUsVUFBVTs7O3dCQUFDLEdBQUcsRUFBRSxDQUFDLHFCQUFxQixFQUFDO3dCQUNwRCxLQUFLLEVBQUUsSUFBSTtxQkFDZDtpQkFDSjtnQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN4Qzs7O3NCQUlJLEtBQUs7dUJBSUwsS0FBSzt1QkFJTCxNQUFNOzBCQUlOLE1BQU07aUJBSU4sS0FBSzs7Ozs7OztJQWhCTix3Q0FDeUI7Ozs7O0lBR3pCLHlDQUMwQjs7Ozs7SUFHMUIseUNBQ2lIOzs7OztJQUdqSCw0Q0FDd0U7Ozs7O0lBR3hFLG1DQUMwRDs7Ozs7SUFHMUQseUNBQXlCOzs7OztJQUd6QiwwQ0FBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgZm9yd2FyZFJlZiwgSW5wdXQsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxubGV0IGxpc3RDaGVja2JveFVuaXF1ZUlkOiBudW1iZXIgPSAwO1xuXG4vKipcbiAqIFRoZSBjb21wb25lbnQgdGhhdCByZXByZXNlbnRzIGEgY2hlY2tib3ggbGlzdC5cbiAqXG4gKiBgYGBodG1sXG4gKiA8ZmQtbGlzdD5cbiAqICAgIDxsaSBmZC1saXN0LWl0ZW0+XG4gKiAgICAgICA8ZmQtbGlzdC1jaGVja2JveD5MaXN0IGl0ZW0gMTwvZmQtbGlzdC1jaGVja2JveD5cbiAqICAgIDwvbGk+XG4gKiA8L2ZkLWxpc3Q+XG4gKiBgYGBcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmZC1saXN0LWNoZWNrYm94JyxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAnZmQtZm9ybV9faXRlbSBmZC1mb3JtX19pdGVtLS1jaGVjaycsXG4gICAgICAgICdbYXR0ci5pZF0nOiAnaWQnXG4gICAgfSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbGlzdC1jaGVja2JveC5jb21wb25lbnQuaHRtbCcsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gTGlzdENoZWNrYm94Q29tcG9uZW50KSxcbiAgICAgICAgICAgIG11bHRpOiB0cnVlXG4gICAgICAgIH1cbiAgICBdLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgTGlzdENoZWNrYm94Q29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuXG4gICAgLyoqIFdoZXRoZXIgdGhlIGxpc3QgaXRlbSBjaGVja2JveCBpcyBjaGVja2VkLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgY2hlY2tlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLyoqIFdoZXRoZXIgdGhlIGxpc3QgaXRlbSBjaGVja2JveCBpcyBkaXNhYmxlZC4gKi9cbiAgICBASW5wdXQoKVxuICAgIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvKiogRXZlbnQgZmlyZWQgd2hlbiB0aGUgc3RhdGUgb2YgdGhlIGNoZWNrYm94IGNoYW5nZXMuIFBhc3NlcyBiYWNrIHRoZSBpZCBhbmQgdGhlIHZhbHVlLiAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHJlYWRvbmx5IG9uVG9nZ2xlOiBFdmVudEVtaXR0ZXI8e2lkOiBzdHJpbmcsIHZhbHVlOiBib29sZWFufT4gPSBuZXcgRXZlbnRFbWl0dGVyPHtpZDogc3RyaW5nLCB2YWx1ZTogYm9vbGVhbn0+KCk7XG5cbiAgICAvKiogRXZlbnQgZmlyZWQgd2hlbiB0aGUgY2hlY2tib3ggYmVjb21lcyBhY3RpdmUuICovXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgb25BY3RpdmF0ZWQ6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgICAvKiogVGhlIGlkIG9mIHRoZSBjaGVja2JveC4gKi9cbiAgICBASW5wdXQoKVxuICAgIGlkOiBzdHJpbmcgPSAnZmQtbGlzdC1jaGVja2JveC0nICsgbGlzdENoZWNrYm94VW5pcXVlSWQrKztcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgb25DaGFuZ2U6IGFueSA9ICgpID0+IHt9O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBvblRvdWNoZWQ6IGFueSA9ICgpID0+IHt9O1xuXG4gICAgLyoqIFNldCB0aGUgdmFsdWUgb2YgdGhlICppc0NoZWNrZWQqIHByb3BlcnR5LiAqL1xuICAgIGdldCBpc0NoZWNrZWQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNoZWNrZWQ7XG4gICAgfVxuXG4gICAgLyoqIFNldCB0aGUgdmFsdWUgb2YgdGhlICppc0NoZWNrZWQqIHByb3BlcnR5LiAqL1xuICAgIHNldCBpc0NoZWNrZWQodmFsdWUpIHtcbiAgICAgICAgdGhpcy5jaGVja2VkID0gdmFsdWU7XG4gICAgICAgIHRoaXMub25DaGFuZ2UodmFsdWUpO1xuICAgICAgICB0aGlzLm9uVG91Y2hlZCgpO1xuICAgICAgICB0aGlzLm9uVG9nZ2xlLmVtaXQoe2lkOiB0aGlzLmlkLCB2YWx1ZTogdmFsdWV9KTtcblxuICAgICAgICBpZiAodGhpcy5jaGVja2VkKSB7XG4gICAgICAgICAgICB0aGlzLm9uQWN0aXZhdGVkLmVtaXQodGhpcy5pZCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHdyaXRlVmFsdWUodmFsdWU6IGFueSkge1xuICAgICAgICB0aGlzLmNoZWNrZWQgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm4pIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcmVnaXN0ZXJPblRvdWNoZWQoZm4pIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgICB9XG5cbn1cbiJdfQ==