UNPKG

@duoduo-oba/ng-devui

Version:

DevUI components based on Angular

192 lines 14.1 kB
/** * @fileoverview added by tsickle * Generated from: checkbox-group.component.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Component, Input, Output, EventEmitter, forwardRef, TemplateRef, } from '@angular/core'; import { NG_VALUE_ACCESSOR } from '@angular/forms'; import isArray from 'lodash-es/isArray'; export class CheckBoxGroupComponent { constructor() { this.direction = 'column'; this.isShowTitle = true; this.options = []; this.showAnimation = true; this.change = new EventEmitter(); this.values = []; this.options_display = []; this.onChange = (/** * @param {?} _ * @return {?} */ (_) => null); this.onTouch = (/** * @return {?} */ () => null); } /** * @param {?} changes * @return {?} */ ngOnChanges(changes) { if (changes['options']) { this.checkType(); } } /** * @return {?} */ checkType() { this.options_display = []; /** @type {?} */ const checkedArray = []; this.values.forEach((/** * @param {?} item * @return {?} */ item => { if (this.filterKey && item[this.filterKey]) { checkedArray[item[this.filterKey]] = true; } else { checkedArray[item] = true; } })); this.options.forEach((/** * @param {?} item * @return {?} */ item => { /** @type {?} */ const option = { isChecked: false }; option['value'] = item; if (this.filterKey && item[this.filterKey]) { if (checkedArray[item[this.filterKey]]) { option['isChecked'] = true; } } else { if (checkedArray[item]) { option['isChecked'] = true; } } this.options_display.push(option); })); } /** * @param {?} inputArray * @return {?} */ writeValue(inputArray) { if (inputArray && isArray(inputArray)) { this.values = inputArray; this.checkType(); } } /** * @param {?} fn * @return {?} */ registerOnChange(fn) { this.onChange = fn; } /** * @param {?} fn * @return {?} */ registerOnTouched(fn) { this.onTouch = fn; } /** * @param {?} $event * @param {?} i * @return {?} */ toggle($event, i) { this.onChange(this.getCheckedArray()); this.onTouch(); this.change.next(this.options_display[i]); } /** * @return {?} */ getCheckedArray() { /** @type {?} */ const checkedArray = []; this.options_display.forEach((/** * @param {?} item * @return {?} */ item => { if (item.isChecked) { checkedArray.push(item.value); } })); return checkedArray; } } CheckBoxGroupComponent.ID_SEED = 0; CheckBoxGroupComponent.decorators = [ { type: Component, args: [{ selector: 'd-checkbox-group', template: "<div class=\"devui-checkbox-group\">\r\n <ul [class.devui-checkbox-list-inline]=\"direction === 'row'\">\r\n <li *ngFor=\"let item of options_display; let i = index\" [class.devui-checkbox-column-margin]=\"direction === 'column'\">\r\n <span>\r\n <d-checkbox\r\n [name]=\"name\"\r\n [label]=\"item['value'][filterKey] ? item['value'][filterKey] : item['value']\"\r\n [(ngModel)]=\"item['isChecked']\"\r\n [isShowTitle]=\"isShowTitle\"\r\n [color]=\"color\"\r\n [disabled]=\"item['value']['disabled']\"\r\n [labelTemplate]=\"labelTemplate\"\r\n [showAnimation]=\"showAnimation\"\r\n (ngModelChange)=\"toggle($event, i)\"\r\n >\r\n </d-checkbox>\r\n </span>\r\n </li>\r\n </ul>\r\n</div>\r\n", providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef((/** * @return {?} */ () => CheckBoxGroupComponent)), multi: true }], styles: [":host{display:block}.devui-checkbox-list-inline{height:32px;line-height:32px}.devui-checkbox-list-inline ::ng-deep li{display:inline-block}.devui-checkbox-list-inline ::ng-deep li:nth-child(n+2){margin-left:10px}.devui-checkbox-column-margin:nth-child(n+2){margin-top:15px}"] }] } ]; CheckBoxGroupComponent.propDecorators = { name: [{ type: Input }], color: [{ type: Input }], direction: [{ type: Input }], isShowTitle: [{ type: Input }], options: [{ type: Input }], filterKey: [{ type: Input }], labelTemplate: [{ type: Input }], showAnimation: [{ type: Input }], change: [{ type: Output }] }; if (false) { /** @type {?} */ CheckBoxGroupComponent.ID_SEED; /** @type {?} */ CheckBoxGroupComponent.prototype.name; /** @type {?} */ CheckBoxGroupComponent.prototype.color; /** @type {?} */ CheckBoxGroupComponent.prototype.direction; /** @type {?} */ CheckBoxGroupComponent.prototype.isShowTitle; /** @type {?} */ CheckBoxGroupComponent.prototype.options; /** @type {?} */ CheckBoxGroupComponent.prototype.filterKey; /** @type {?} */ CheckBoxGroupComponent.prototype.labelTemplate; /** @type {?} */ CheckBoxGroupComponent.prototype.showAnimation; /** @type {?} */ CheckBoxGroupComponent.prototype.change; /** @type {?} */ CheckBoxGroupComponent.prototype.values; /** @type {?} */ CheckBoxGroupComponent.prototype.options_display; /** * @type {?} * @private */ CheckBoxGroupComponent.prototype.onChange; /** * @type {?} * @private */ CheckBoxGroupComponent.prototype.onTouch; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmctZGV2dWkvY2hlY2tib3gvIiwic291cmNlcyI6WyJjaGVja2JveC1ncm91cC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUNaLFVBQVUsRUFFVixXQUFXLEdBR1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUVMLGlCQUFpQixFQUNsQixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sT0FBTyxNQUFNLG1CQUFtQixDQUFDO0FBWXhDLE1BQU0sT0FBTyxzQkFBc0I7SUFWbkM7UUFlVyxjQUFTLEdBQXFCLFFBQVEsQ0FBQztRQUN2QyxnQkFBVyxHQUFHLElBQUksQ0FBQztRQUNuQixZQUFPLEdBQUcsRUFBRSxDQUFDO1FBR2Isa0JBQWEsR0FBRyxJQUFJLENBQUM7UUFDcEIsV0FBTSxHQUEwQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzdELFdBQU0sR0FBVSxFQUFFLENBQUM7UUFDbkIsb0JBQWUsR0FBRyxFQUFFLENBQUM7UUFDYixhQUFROzs7O1FBQUcsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLElBQUksRUFBQztRQUM1QixZQUFPOzs7UUFBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLEVBQUM7SUFpRS9CLENBQUM7Ozs7O0lBL0RDLFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUN0QixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7U0FDbEI7SUFDSCxDQUFDOzs7O0lBRUQsU0FBUztRQUNQLElBQUksQ0FBQyxlQUFlLEdBQUcsRUFBRSxDQUFDOztjQUNwQixZQUFZLEdBQUcsRUFBRTtRQUN2QixJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU87Ozs7UUFBQyxJQUFJLENBQUMsRUFBRTtZQUN6QixJ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ZTs7SUFDZiwyQ0FBZ0Q7O0lBQ2hELDZDQUE0Qjs7SUFDNUIseUNBQXNCOztJQUN0QiwyQ0FBMkI7O0lBQzNCLCtDQUF5Qzs7SUFDekMsK0NBQThCOztJQUM5Qix3Q0FBNkQ7O0lBQzdELHdDQUFtQjs7SUFDbkIsaURBQXFCOzs7OztJQUNyQiwwQ0FBb0M7Ozs7O0lBQ3BDLHlDQUE2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIElucHV0LFxyXG4gIE91dHB1dCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgZm9yd2FyZFJlZixcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICBUZW1wbGF0ZVJlZixcclxuICBPbkNoYW5nZXMsXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICBDb250cm9sVmFsdWVBY2Nlc3NvcixcclxuICBOR19WQUxVRV9BQ0NFU1NPUlxyXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IGlzQXJyYXkgZnJvbSAnbG9kYXNoLWVzL2lzQXJyYXknO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdkLWNoZWNrYm94LWdyb3VwJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY2hlY2tib3gtZ3JvdXAuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2NoZWNrYm94LWdyb3VwLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgcHJvdmlkZXJzOiBbe1xyXG4gICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBDaGVja0JveEdyb3VwQ29tcG9uZW50KSxcclxuICAgIG11bHRpOiB0cnVlXHJcbiAgfV1cclxufSlcclxuZXhwb3J0IGNsYXNzIENoZWNrQm94R3JvdXBDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcclxuICBzdGF0aWMgSURfU0VFRCA9IDA7XHJcblxyXG4gIEBJbnB1dCgpIG5hbWU6IHN0cmluZztcclxuICBASW5wdXQoKSBjb2xvcjtcclxuICBASW5wdXQoKSBkaXJlY3Rpb246ICdyb3cnIHwgJ2NvbHVtbicgPSAnY29sdW1uJztcclxuICBASW5wdXQoKSBpc1Nob3dUaXRsZSA9IHRydWU7XHJcbiAgQElucHV0KCkgb3B0aW9ucyA9IFtdO1xyXG4gIEBJbnB1dCgpIGZpbHRlcktleTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGxhYmVsVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgQElucHV0KCkgc2hvd0FuaW1hdGlvbiA9IHRydWU7XHJcbiAgQE91dHB1dCgpIGNoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIHZhbHVlczogYW55W10gPSBbXTtcclxuICBvcHRpb25zX2Rpc3BsYXkgPSBbXTtcclxuICBwcml2YXRlIG9uQ2hhbmdlID0gKF86IGFueSkgPT4gbnVsbDtcclxuICBwcml2YXRlIG9uVG91Y2ggPSAoKSA9PiBudWxsO1xyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICBpZiAoY2hhbmdlc1snb3B0aW9ucyddKSB7XHJcbiAgICAgIHRoaXMuY2hlY2tUeXBlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjaGVja1R5cGUoKSB7XHJcbiAgICB0aGlzLm9wdGlvbnNfZGlzcGxheSA9IFtdO1xyXG4gICAgY29uc3QgY2hlY2tlZEFycmF5ID0gW107XHJcbiAgICB0aGlzLnZhbHVlcy5mb3JFYWNoKGl0ZW0gPT4ge1xyXG4gICAgICBpZiAodGhpcy5maWx0ZXJLZXkgJiYgaXRlbVt0aGlzLmZpbHRlcktleV0pIHtcclxuICAgICAgICBjaGVja2VkQXJyYXlbaXRlbVt0aGlzLmZpbHRlcktleV1dID0gdHJ1ZTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBjaGVja2VkQXJyYXlbaXRlbV0gPSB0cnVlO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHRoaXMub3B0aW9ucy5mb3JFYWNoKGl0ZW0gPT4ge1xyXG4gICAgICBjb25zdCBvcHRpb24gPSB7IGlzQ2hlY2tlZDogZmFsc2UgfTtcclxuICAgICAgb3B0aW9uWyd2YWx1ZSddID0gaXRlbTtcclxuICAgICAgaWYgKHRoaXMuZmlsdGVyS2V5ICYmIGl0ZW1bdGhpcy5maWx0ZXJLZXldKSB7XHJcbiAgICAgICAgaWYgKGNoZWNrZWRBcnJheVtpdGVtW3RoaXMuZmlsdGVyS2V5XV0pIHtcclxuICAgICAgICAgIG9wdGlvblsnaXNDaGVja2VkJ10gPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBpZiAoY2hlY2tlZEFycmF5W2l0ZW1dKSB7XHJcbiAgICAgICAgICBvcHRpb25bJ2lzQ2hlY2tlZCddID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5vcHRpb25zX2Rpc3BsYXkucHVzaChvcHRpb24pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICB3cml0ZVZhbHVlKGlucHV0QXJyYXk6IGFueSk6IHZvaWQge1xyXG4gICAgaWYgKGlucHV0QXJyYXkgJiYgaXNBcnJheShpbnB1dEFycmF5KSkge1xyXG4gICAgICB0aGlzLnZhbHVlcyA9IGlucHV0QXJyYXk7XHJcbiAgICAgIHRoaXMuY2hlY2tUeXBlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25Ub3VjaCA9IGZuO1xyXG4gIH1cclxuXHJcbiAgdG9nZ2xlKCRldmVudCwgaSkge1xyXG4gICAgdGhpcy5vbkNoYW5nZSh0aGlzLmdldENoZWNrZWRBcnJheSgpKTtcclxuICAgIHRoaXMub25Ub3VjaCgpO1xyXG4gICAgdGhpcy5jaGFuZ2UubmV4dCh0aGlzLm9wdGlvbnNfZGlzcGxheVtpXSk7XHJcbiAgfVxyXG5cclxuICBnZXRDaGVja2VkQXJyYXkoKSB7XHJcbiAgICBjb25zdCBjaGVja2VkQXJyYXkgPSBbXTtcclxuICAgIHRoaXMub3B0aW9uc19kaXNwbGF5LmZvckVhY2goaXRlbSA9PiB7XHJcbiAgICAgIGlmIChpdGVtLmlzQ2hlY2tlZCkge1xyXG4gICAgICAgIGNoZWNrZWRBcnJheS5wdXNoKGl0ZW0udmFsdWUpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBjaGVja2VkQXJyYXk7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=