@lxlib/form
Version:
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 9.1.1.
184 lines • 14.7 kB
JavaScript
/**
* @fileoverview added by tsickle
* Generated from: src/widgets/checkbox/checkbox.widget.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { __extends } from "tslib";
import { Component, ViewEncapsulation } from '@angular/core';
import { getData } from '../../utils';
import { ControlUIWidget } from '../../widget';
var CheckboxWidget = /** @class */ (function (_super) {
__extends(CheckboxWidget, _super);
function CheckboxWidget() {
var _this = _super !== null && _super.apply(this, arguments) || this;
_this.data = [];
_this.allChecked = false;
_this.indeterminate = false;
_this.labelTitle = "";
_this.inited = false;
return _this;
}
/**
* @param {?} value
* @return {?}
*/
CheckboxWidget.prototype.reset = /**
* @param {?} value
* @return {?}
*/
function (value) {
var _this = this;
this.inited = false;
getData(this.schema, this.ui, value).subscribe((/**
* @param {?} list
* @return {?}
*/
function (list) {
_this.data = list;
_this.allChecked = false;
_this.indeterminate = false;
_this.labelTitle = list.length === 0 ? '' : ((/** @type {?} */ (_this.schema.title)));
var span = _this.ui.span;
_this.grid_span = span && span > 0 ? span : 0;
_this.updateAllChecked();
_this.inited = true;
_this.detectChanges();
}));
};
/**
* @param {?} value
* @return {?}
*/
CheckboxWidget.prototype._setValue = /**
* @param {?} value
* @return {?}
*/
function (value) {
this.setValue(value);
this.detectChanges();
this.notifyChange(value);
};
/**
* @return {?}
*/
CheckboxWidget.prototype.notifySet = /**
* @return {?}
*/
function () {
/** @type {?} */
var checkList = this.data.filter((/**
* @param {?} w
* @return {?}
*/
function (w) { return w.checked; }));
this.updateAllChecked().setValue(checkList.map((/**
* @param {?} item
* @return {?}
*/
function (item) { return item.value; })));
this.notifyChange(checkList);
};
/**
* @param {?} values
* @return {?}
*/
CheckboxWidget.prototype.groupInGridChange = /**
* @param {?} values
* @return {?}
*/
function (values) {
this.data.forEach((/**
* @param {?} item
* @return {?}
*/
function (item) { return (item.checked = values.indexOf(item.value) !== -1); }));
this.notifySet();
};
/**
* @return {?}
*/
CheckboxWidget.prototype.onAllChecked = /**
* @return {?}
*/
function () {
var _this = this;
this.data.forEach((/**
* @param {?} item
* @return {?}
*/
function (item) { return (item.checked = _this.allChecked); }));
this.notifySet();
};
/**
* @template THIS
* @this {THIS}
* @return {THIS}
*/
CheckboxWidget.prototype.updateAllChecked = /**
* @template THIS
* @this {THIS}
* @return {THIS}
*/
function () {
if ((/** @type {?} */ (this)).data.every((/**
* @param {?} item
* @return {?}
*/
function (item) { return item.checked !== true; }))) {
(/** @type {?} */ (this)).allChecked = false;
(/** @type {?} */ (this)).indeterminate = false;
}
else if ((/** @type {?} */ (this)).data.every((/**
* @param {?} item
* @return {?}
*/
function (item) { return item.checked === true; }))) {
(/** @type {?} */ (this)).allChecked = true;
(/** @type {?} */ (this)).indeterminate = false;
}
else {
(/** @type {?} */ (this)).indeterminate = true;
}
(/** @type {?} */ (this)).detectChanges();
return (/** @type {?} */ (this));
};
/**
* @private
* @param {?} res
* @return {?}
*/
CheckboxWidget.prototype.notifyChange = /**
* @private
* @param {?} res
* @return {?}
*/
function (res) {
if (this.ui.change)
this.ui.change(res);
};
CheckboxWidget.decorators = [
{ type: Component, args: [{
selector: 'sf-checkbox',
template: "<ng-template #all>\n <label *ngIf=\"ui.checkAll\"\n nz-checkbox\n class=\"sf__checkbox-all mr-sm\"\n [(ngModel)]=\"allChecked\"\n (ngModelChange)=\"onAllChecked()\"\n [nzIndeterminate]=\"indeterminate\">{{ ui.checkAllText || l.checkAllText }}</label>\n</ng-template>\n<sf-item-wrap [id]=\"id\"\n [schema]=\"schema\"\n [ui]=\"ui\"\n [showError]=\"showError\"\n [error]=\"error\"\n [showTitle]=\"true\"\n [title]=\"labelTitle\">\n <ng-container *ngIf=\"inited && data.length === 0\">\n <label nz-checkbox\n [nzDisabled]=\"disabled\"\n [ngModel]=\"value\"\n (ngModelChange)=\"_setValue($event)\">\n {{schema.title}}\n <span class=\"sf__optional\">\n {{ ui.optional }}\n <i *ngIf=\"oh\" nz-tooltip\n [nzTooltipTitle]=\"oh.text\" [nzTooltipPlacement]=\"oh.placement\" [nzTooltipTrigger]=\"oh.trigger\"\n [nzOverlayClassName]=\"oh.overlayClassName\" [nzOverlayStyle]=\"oh.overlayStyle\"\n [nzMouseEnterDelay]=\"oh.mouseEnterDelay\" [nzMouseLeaveDelay]=\"oh.mouseLeaveDelay\"\n nz-icon [nzType]=\"oh.icon\"></i>\n </span>\n </label>\n </ng-container>\n <ng-container *ngIf=\"inited && data.length > 0\">\n <ng-container *ngIf=\"grid_span === 0\">\n <ng-template [ngTemplateOutlet]=\"all\"></ng-template>\n <nz-checkbox-group [ngModel]=\"data\"\n (ngModelChange)=\"notifySet()\"></nz-checkbox-group>\n </ng-container>\n <ng-container *ngIf=\"grid_span !== 0\">\n <nz-checkbox-wrapper class=\"sf__checkbox-list\"\n (nzOnChange)=\"groupInGridChange($event)\">\n <nz-row>\n <nz-col [nzSpan]=\"grid_span\"\n *ngIf=\"ui.checkAll\">\n <ng-template [ngTemplateOutlet]=\"all\"></ng-template>\n </nz-col>\n <nz-col [nzSpan]=\"grid_span\"\n *ngFor=\"let i of data\">\n <label nz-checkbox\n [nzValue]=\"i.value\"\n [ngModel]=\"i.checked\"\n [nzDisabled]=\"i.disabled\">{{i.label}}</label>\n </nz-col>\n </nz-row>\n </nz-checkbox-wrapper>\n </ng-container>\n </ng-container>\n</sf-item-wrap>\n",
preserveWhitespaces: false,
encapsulation: ViewEncapsulation.None
}] }
];
return CheckboxWidget;
}(ControlUIWidget));
export { CheckboxWidget };
if (false) {
/** @type {?} */
CheckboxWidget.prototype.data;
/** @type {?} */
CheckboxWidget.prototype.allChecked;
/** @type {?} */
CheckboxWidget.prototype.indeterminate;
/** @type {?} */
CheckboxWidget.prototype.grid_span;
/** @type {?} */
CheckboxWidget.prototype.labelTitle;
/** @type {?} */
CheckboxWidget.prototype.inited;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gud2lkZ2V0LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGx4bGliL2Zvcm0vIiwic291cmNlcyI6WyJzcmMvd2lkZ2V0cy9jaGVja2JveC9jaGVja2JveC53aWRnZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUc3RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFHL0M7SUFNb0Msa0NBQXVDO0lBTjNFO1FBQUEscUVBcUVDO1FBOURDLFVBQUksR0FBbUIsRUFBRSxDQUFDO1FBQzFCLGdCQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLG1CQUFhLEdBQUcsS0FBSyxDQUFDO1FBRXRCLGdCQUFVLEdBQVcsRUFBRSxDQUFDO1FBQ3hCLFlBQU0sR0FBRyxLQUFLLENBQUM7O0lBeURqQixDQUFDOzs7OztJQXZEQyw4QkFBSzs7OztJQUFMLFVBQU0sS0FBYztRQUFwQixpQkFjQztRQWJDLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUMsU0FBUzs7OztRQUFDLFVBQUEsSUFBSTtZQUNqRCxLQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztZQUNqQixLQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztZQUN4QixLQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztZQUMzQixLQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsbUJBQUEsS0FBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQVUsQ0FBQyxDQUFDO1lBQ2pF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Q0FBQyxFQUFFLENBQUMsTUFBTTtZQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzFDLENBQUM7O2dCQXBFRixTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLGFBQWE7b0JBQ3ZCLCt5RUFBcUM7b0JBQ3JDLG1CQUFtQixFQUFFLEtBQUs7b0JBQzFCLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2lCQUN0Qzs7SUFnRUQscUJBQUM7Q0FBQSxBQXJFRCxDQU1vQyxlQUFlLEdBK0RsRDtTQS9EWSxjQUFjOzs7SUFDekIsOEJBQTBCOztJQUMxQixvQ0FBbUI7O0lBQ25CLHVDQUFzQjs7SUFDdEIsbUNBQWtCOztJQUNsQixvQ0FBd0I7O0lBQ3hCLGdDQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU0ZWYWx1ZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZSc7XG5pbXBvcnQgeyBTRlNjaGVtYUVudW0gfSBmcm9tICcuLi8uLi9zY2hlbWEnO1xuaW1wb3J0IHsgZ2V0RGF0YSB9IGZyb20gJy4uLy4uL3V0aWxzJztcbmltcG9ydCB7IENvbnRyb2xVSVdpZGdldCB9IGZyb20gJy4uLy4uL3dpZGdldCc7XG5pbXBvcnQgeyBTRkNoZWNrYm94V2lkZ2V0U2NoZW1hIH0gZnJvbSAnLi9zY2hlbWEnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzZi1jaGVja2JveCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jaGVja2JveC53aWRnZXQuaHRtbCcsXG4gIHByZXNlcnZlV2hpdGVzcGFjZXM6IGZhbHNlLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBDaGVja2JveFdpZGdldCBleHRlbmRzIENvbnRyb2xVSVdpZGdldDxTRkNoZWNrYm94V2lkZ2V0U2NoZW1hPiB7XG4gIGRhdGE6IFNGU2NoZW1hRW51bVtdID0gW107XG4gIGFsbENoZWNrZWQgPSBmYWxzZTtcbiAgaW5kZXRlcm1pbmF0ZSA9IGZhbHNlO1xuICBncmlkX3NwYW46IG51bWJlcjtcbiAgbGFiZWxUaXRsZTogc3RyaW5nID0gYGA7XG4gIGluaXRlZCA9IGZhbHNlO1xuXG4gIHJlc2V0KHZhbHVlOiBTRlZhbHVlKSB7XG4gICAgdGhpcy5pbml0ZWQgPSBmYWxzZTtcbiAgICBnZXREYXRhKHRoaXMuc2NoZW1hLCB0aGlzLnVpLCB2YWx1ZSkuc3Vic2NyaWJlKGxpc3QgPT4ge1xuICAgICAgdGhpcy5kYXRhID0gbGlzdDtcbiAgICAgIHRoaXMuYWxsQ2hlY2tlZCA9IGZhbHNlO1xuICAgICAgdGhpcy5pbmRldGVybWluYXRlID0gZmFsc2U7XG4gICAgICB0aGlzLmxhYmVsVGl0bGUgPSBsaXN0Lmxlbmd0aCA9PT0gMCA/ICcnIDogKHRoaXMuc2NoZW1hLnRpdGxlIGFzIHN0cmluZyk7XG4gICAgICBjb25zdCB7IHNwYW4gfSA9IHRoaXMudWk7XG4gICAgICB0aGlzLmdyaWRfc3BhbiA9IHNwYW4gJiYgc3BhbiA+IDAgPyBzcGFuIDogMDtcblxuICAgICAgdGhpcy51cGRhdGVBbGxDaGVja2VkKCk7XG4gICAgICB0aGlzLmluaXRlZCA9IHRydWU7XG4gICAgICB0aGlzLmRldGVjdENoYW5nZXMoKTtcbiAgICB9KTtcbiAgfVxuXG4gIF9zZXRWYWx1ZSh2YWx1ZTogU0ZWYWx1ZSkge1xuICAgIHRoaXMuc2V0VmFsdWUodmFsdWUpO1xuICAgIHRoaXMuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIHRoaXMubm90aWZ5Q2hhbmdlKHZhbHVlKTtcbiAgfVxuXG4gIG5vdGlmeVNldCgpIHtcbiAgICBjb25zdCBjaGVja0xpc3QgPSB0aGlzLmRhdGEuZmlsdGVyKHcgPT4gdy5jaGVja2VkKTtcbiAgICB0aGlzLnVwZGF0ZUFsbENoZWNrZWQoKS5zZXRWYWx1ZShjaGVja0xpc3QubWFwKGl0ZW0gPT4gaXRlbS52YWx1ZSkpO1xuICAgIHRoaXMubm90aWZ5Q2hhbmdlKGNoZWNrTGlzdCk7XG4gIH1cblxuICBncm91cEluR3JpZENoYW5nZSh2YWx1ZXM6IFNGVmFsdWVbXSkge1xuICAgIHRoaXMuZGF0YS5mb3JFYWNoKGl0ZW0gPT4gKGl0ZW0uY2hlY2tlZCA9IHZhbHVlcy5pbmRleE9mKGl0ZW0udmFsdWUpICE9PSAtMSkpO1xuICAgIHRoaXMubm90aWZ5U2V0KCk7XG4gIH1cblxuICBvbkFsbENoZWNrZWQoKSB7XG4gICAgdGhpcy5kYXRhLmZvckVhY2goaXRlbSA9PiAoaXRlbS5jaGVja2VkID0gdGhpcy5hbGxDaGVja2VkKSk7XG4gICAgdGhpcy5ub3RpZnlTZXQoKTtcbiAgfVxuXG4gIHVwZGF0ZUFsbENoZWNrZWQoKTogdGhpcyB7XG4gICAgaWYgKHRoaXMuZGF0YS5ldmVyeShpdGVtID0+IGl0ZW0uY2hlY2tlZCAhPT0gdHJ1ZSkpIHtcbiAgICAgIHRoaXMuYWxsQ2hlY2tlZCA9IGZhbHNlO1xuICAgICAgdGhpcy5pbmRldGVybWluYXRlID0gZmFsc2U7XG4gICAgfSBlbHNlIGlmICh0aGlzLmRhdGEuZXZlcnkoaXRlbSA9PiBpdGVtLmNoZWNrZWQgPT09IHRydWUpKSB7XG4gICAgICB0aGlzLmFsbENoZWNrZWQgPSB0cnVlO1xuICAgICAgdGhpcy5pbmRldGVybWluYXRlID0gZmFsc2U7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaW5kZXRlcm1pbmF0ZSA9IHRydWU7XG4gICAgfVxuICAgIHRoaXMuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHJpdmF0ZSBub3RpZnlDaGFuZ2UocmVzOiBib29sZWFuIHwgU0ZTY2hlbWFFbnVtW10pIHtcbiAgICBpZiAodGhpcy51aS5jaGFuZ2UpIHRoaXMudWkuY2hhbmdlKHJlcyk7XG4gIH1cbn1cbiJdfQ==