@duoduo-oba/ng-devui
Version:
DevUI components based on Angular
192 lines • 14.1 kB
JavaScript
/**
* @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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmctZGV2dWkvY2hlY2tib3gvIiwic291cmNlcyI6WyJjaGVja2JveC1ncm91cC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUNaLFVBQVUsRUFFVixXQUFXLEdBR1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUVMLGlCQUFpQixFQUNsQixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sT0FBTyxNQUFNLG1CQUFtQixDQUFDO0FBWXhDLE1BQU0sT0FBTyxzQkFBc0I7SUFWbkM7UUFlVyxjQUFTLEdBQXFCLFFBQVEsQ0FBQztRQUN2QyxnQkFBVyxHQUFHLElBQUksQ0FBQztRQUNuQixZQUFPLEdBQUcsRUFBRSxDQUFDO1FBR2Isa0JBQWEsR0FBRyxJQUFJLENBQUM7UUFDcEIsV0FBTSxHQUEwQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzdELFdBQU0sR0FBVSxFQUFFLENBQUM7UUFDbkIsb0JBQWUsR0FBRyxFQUFFLENBQUM7UUFDYixhQUFROzs7O1FBQUcsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLElBQUksRUFBQztRQUM1QixZQUFPOzs7UUFBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLEVBQUM7SUFpRS9CLENBQUM7Ozs7O0lBL0RDLFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUN0QixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7U0FDbEI7SUFDSCxDQUFDOzs7O0lBRUQsU0FBUztRQUNQLElBQUksQ0FBQyxlQUFlLEdBQUcsRUFBRSxDQUFDOztjQUNwQixZQUFZLEdBQUcsRUFBRTtRQUN2QixJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU87Ozs7UUFBQyxJQUFJLENBQUMsRUFBRTtZQUN6QixJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRTtnQkFDMUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUM7YUFDM0M7aUJBQU07Z0JBQ0wsWUFBWSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQzthQUMzQjtRQUNILENBQUMsRUFBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPOzs7O1FBQUMsSUFBSSxDQUFDLEVBQUU7O2tCQUNwQixNQUFNLEdBQUcsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFO1lBQ25DLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUM7WUFDdkIsSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUU7Z0JBQzFDLElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRTtvQkFDdEMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxHQUFHLElBQUksQ0FBQztpQkFDNUI7YUFDRjtpQkFBTTtnQkFDTCxJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRTtvQkFDdEIsTUFBTSxDQUFDLFdBQVcsQ0FBQyxHQUFHLElBQUksQ0FBQztpQkFDNUI7YUFDRjtZQUNELElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3BDLENBQUMsRUFBQyxDQUFDO0lBQ0wsQ0FBQzs7Ozs7SUFFRCxVQUFVLENBQUMsVUFBZTtRQUN4QixJQUFJLFVBQVUsSUFBSSxPQUFPLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDckMsSUFBSSxDQUFDLE1BQU0sR0FBRyxVQUFVLENBQUM7WUFDekIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1NBQ2xCO0lBQ0gsQ0FBQzs7Ozs7SUFFRCxnQkFBZ0IsQ0FBQyxFQUFPO1FBQ3RCLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7Ozs7O0lBRUQsaUJBQWlCLENBQUMsRUFBTztRQUN2QixJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztJQUNwQixDQUFDOzs7Ozs7SUFFRCxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDZCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNmLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM1QyxDQUFDOzs7O0lBRUQsZUFBZTs7Y0FDUCxZQUFZLEdBQUcsRUFBRTtRQUN2QixJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU87Ozs7UUFBQyxJQUFJLENBQUMsRUFBRTtZQUNsQyxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7Z0JBQ2xCLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQy9CO1FBQ0gsQ0FBQyxFQUFDLENBQUM7UUFDSCxPQUFPLFlBQVksQ0FBQztJQUN0QixDQUFDOztBQTdFTSw4QkFBTyxHQUFHLENBQUMsQ0FBQzs7WUFYcEIsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxrQkFBa0I7Z0JBQzVCLHF6QkFBOEM7Z0JBRTlDLFNBQVMsRUFBRSxDQUFDO3dCQUNWLE9BQU8sRUFBRSxpQkFBaUI7d0JBQzFCLFdBQVcsRUFBRSxVQUFVOzs7d0JBQUMsR0FBRyxFQUFFLENBQUMsc0JBQXNCLEVBQUM7d0JBQ3JELEtBQUssRUFBRSxJQUFJO3FCQUNaLENBQUM7O2FBQ0g7OzttQkFJRSxLQUFLO29CQUNMLEtBQUs7d0JBQ0wsS0FBSzswQkFDTCxLQUFLO3NCQUNMLEtBQUs7d0JBQ0wsS0FBSzs0QkFDTCxLQUFLOzRCQUNMLEtBQUs7cUJBQ0wsTUFBTTs7OztJQVZQLCtCQUFtQjs7SUFFbkIsc0NBQXNCOztJQUN0Qix1Q0FBZTs7SUFDZiwyQ0FBZ0Q7O0lBQ2hELDZDQUE0Qjs7SUFDNUIseUNBQXNCOztJQUN0QiwyQ0FBMkI7O0lBQzNCLCtDQUF5Qzs7SUFDekMsK0NBQThCOztJQUM5Qix3Q0FBNkQ7O0lBQzdELHdDQUFtQjs7SUFDbkIsaURBQXFCOzs7OztJQUNyQiwwQ0FBb0M7Ozs7O0lBQ3BDLHlDQUE2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIElucHV0LFxyXG4gIE91dHB1dCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgZm9yd2FyZFJlZixcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICBUZW1wbGF0ZVJlZixcclxuICBPbkNoYW5nZXMsXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICBDb250cm9sVmFsdWVBY2Nlc3NvcixcclxuICBOR19WQUxVRV9BQ0NFU1NPUlxyXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IGlzQXJyYXkgZnJvbSAnbG9kYXNoLWVzL2lzQXJyYXknO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdkLWNoZWNrYm94LWdyb3VwJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY2hlY2tib3gtZ3JvdXAuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2NoZWNrYm94LWdyb3VwLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgcHJvdmlkZXJzOiBbe1xyXG4gICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBDaGVja0JveEdyb3VwQ29tcG9uZW50KSxcclxuICAgIG11bHRpOiB0cnVlXHJcbiAgfV1cclxufSlcclxuZXhwb3J0IGNsYXNzIENoZWNrQm94R3JvdXBDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcclxuICBzdGF0aWMgSURfU0VFRCA9IDA7XHJcblxyXG4gIEBJbnB1dCgpIG5hbWU6IHN0cmluZztcclxuICBASW5wdXQoKSBjb2xvcjtcclxuICBASW5wdXQoKSBkaXJlY3Rpb246ICdyb3cnIHwgJ2NvbHVtbicgPSAnY29sdW1uJztcclxuICBASW5wdXQoKSBpc1Nob3dUaXRsZSA9IHRydWU7XHJcbiAgQElucHV0KCkgb3B0aW9ucyA9IFtdO1xyXG4gIEBJbnB1dCgpIGZpbHRlcktleTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGxhYmVsVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgQElucHV0KCkgc2hvd0FuaW1hdGlvbiA9IHRydWU7XHJcbiAgQE91dHB1dCgpIGNoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIHZhbHVlczogYW55W10gPSBbXTtcclxuICBvcHRpb25zX2Rpc3BsYXkgPSBbXTtcclxuICBwcml2YXRlIG9uQ2hhbmdlID0gKF86IGFueSkgPT4gbnVsbDtcclxuICBwcml2YXRlIG9uVG91Y2ggPSAoKSA9PiBudWxsO1xyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICBpZiAoY2hhbmdlc1snb3B0aW9ucyddKSB7XHJcbiAgICAgIHRoaXMuY2hlY2tUeXBlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjaGVja1R5cGUoKSB7XHJcbiAgICB0aGlzLm9wdGlvbnNfZGlzcGxheSA9IFtdO1xyXG4gICAgY29uc3QgY2hlY2tlZEFycmF5ID0gW107XHJcbiAgICB0aGlzLnZhbHVlcy5mb3JFYWNoKGl0ZW0gPT4ge1xyXG4gICAgICBpZiAodGhpcy5maWx0ZXJLZXkgJiYgaXRlbVt0aGlzLmZpbHRlcktleV0pIHtcclxuICAgICAgICBjaGVja2VkQXJyYXlbaXRlbVt0aGlzLmZpbHRlcktleV1dID0gdHJ1ZTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBjaGVja2VkQXJyYXlbaXRlbV0gPSB0cnVlO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHRoaXMub3B0aW9ucy5mb3JFYWNoKGl0ZW0gPT4ge1xyXG4gICAgICBjb25zdCBvcHRpb24gPSB7IGlzQ2hlY2tlZDogZmFsc2UgfTtcclxuICAgICAgb3B0aW9uWyd2YWx1ZSddID0gaXRlbTtcclxuICAgICAgaWYgKHRoaXMuZmlsdGVyS2V5ICYmIGl0ZW1bdGhpcy5maWx0ZXJLZXldKSB7XHJcbiAgICAgICAgaWYgKGNoZWNrZWRBcnJheVtpdGVtW3RoaXMuZmlsdGVyS2V5XV0pIHtcclxuICAgICAgICAgIG9wdGlvblsnaXNDaGVja2VkJ10gPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBpZiAoY2hlY2tlZEFycmF5W2l0ZW1dKSB7XHJcbiAgICAgICAgICBvcHRpb25bJ2lzQ2hlY2tlZCddID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5vcHRpb25zX2Rpc3BsYXkucHVzaChvcHRpb24pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICB3cml0ZVZhbHVlKGlucHV0QXJyYXk6IGFueSk6IHZvaWQge1xyXG4gICAgaWYgKGlucHV0QXJyYXkgJiYgaXNBcnJheShpbnB1dEFycmF5KSkge1xyXG4gICAgICB0aGlzLnZhbHVlcyA9IGlucHV0QXJyYXk7XHJcbiAgICAgIHRoaXMuY2hlY2tUeXBlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25Ub3VjaCA9IGZuO1xyXG4gIH1cclxuXHJcbiAgdG9nZ2xlKCRldmVudCwgaSkge1xyXG4gICAgdGhpcy5vbkNoYW5nZSh0aGlzLmdldENoZWNrZWRBcnJheSgpKTtcclxuICAgIHRoaXMub25Ub3VjaCgpO1xyXG4gICAgdGhpcy5jaGFuZ2UubmV4dCh0aGlzLm9wdGlvbnNfZGlzcGxheVtpXSk7XHJcbiAgfVxyXG5cclxuICBnZXRDaGVja2VkQXJyYXkoKSB7XHJcbiAgICBjb25zdCBjaGVja2VkQXJyYXkgPSBbXTtcclxuICAgIHRoaXMub3B0aW9uc19kaXNwbGF5LmZvckVhY2goaXRlbSA9PiB7XHJcbiAgICAgIGlmIChpdGVtLmlzQ2hlY2tlZCkge1xyXG4gICAgICAgIGNoZWNrZWRBcnJheS5wdXNoKGl0ZW0udmFsdWUpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBjaGVja2VkQXJyYXk7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=