@kre-form/ant
Version:
104 lines • 7.11 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Component } from "@angular/core";
import { FieldType, FormGlobalService } from "@kre-form/core";
export class KreFormFieldTabular extends FieldType {
/**
* @param {?} globalService
*/
constructor(globalService) {
super();
this.globalService = globalService;
}
/**
* @return {?}
*/
add() {
this.globalService.notifyDataChanged("TabularAdd", {
rdm: Math.random(),
config: this.field,
});
}
/**
* @param {?} i
* @return {?}
*/
delete(i) {
this.globalService.notifyDataChanged("TabularDel", {
rdm: Math.random(),
config: this.field,
number: i,
});
}
/**
* @return {?}
*/
get rows() {
/** @type {?} */
let res = [];
for (let key in this.model) {
/** @type {?} */
let obj = {
key: key,
};
if (this.field && this.field.fieldGroup) {
obj["config"] = this.field.fieldGroup.filter((/**
* @param {?} item
* @return {?}
*/
(item) => {
return item.key == key;
}))[0];
}
res.push(obj);
}
return res;
}
}
KreFormFieldTabular.decorators = [
{ type: Component, args: [{
selector: "kreform-tabular",
template: `
<div class="tabular">
<div class="tabular-header">
<div class="col-no">序号</div>
<div
class="col-default"
*ngFor="let header of to.fieldGroup; let i = index"
>
{{ header.templateOptions.label }}
</div>
<div class="col-operation">操作</div>
</div>
<div class="tabular-body">
<div class="row" *ngFor="let row of field.fieldGroup; let i = index">
<div class="col-no">{{ i }}</div>
<div class="col-default">
<kreform-field [field]="row"></kreform-field>
</div>
<div class="col-operation"><a (click)="delete(i)">删除</a></div>
</div>
</div>
</div>
<a (click)="add()">新增</a>
`,
host: {
"[class]": 'field.className || ""',
cdkDrag: "",
}
}] }
];
/** @nocollapse */
KreFormFieldTabular.ctorParameters = () => [
{ type: FormGlobalService }
];
if (false) {
/**
* @type {?}
* @private
*/
KreFormFieldTabular.prototype.globalService;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFidWxhci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BrcmUtZm9ybS9hbnQvIiwic291cmNlcyI6WyJsaWIvdGVtcGxhdGVzL3RhYnVsYXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBaUM5RCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsU0FBUzs7OztJQUNoRCxZQUFvQixhQUFnQztRQUNsRCxLQUFLLEVBQUUsQ0FBQztRQURVLGtCQUFhLEdBQWIsYUFBYSxDQUFtQjtJQUVwRCxDQUFDOzs7O0lBQ0QsR0FBRztRQUNELElBQUksQ0FBQyxhQUFhLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFO1lBQ2pELEdBQUcsRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2xCLE1BQU0sRUFBRSxJQUFJLENBQUMsS0FBSztTQUNuQixDQUFDLENBQUM7SUFDTCxDQUFDOzs7OztJQUNELE1BQU0sQ0FBQyxDQUFNO1FBQ1gsSUFBSSxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUU7WUFDakQsR0FBRyxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDbEIsTUFBTSxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQ2xCLE1BQU0sRUFBRSxDQUFDO1NBQ1YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7OztJQUNELElBQUksSUFBSTs7WUFDRixHQUFHLEdBQVUsRUFBRTtRQUNuQixLQUFLLElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7O2dCQUN0QixHQUFHLEdBQVE7Z0JBQ2IsR0FBRyxFQUFFLEdBQUc7YUFDVDtZQUNELElBQUksSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRTtnQkFDdkMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLE1BQU07Ozs7Z0JBQUMsQ0FBQyxJQUFTLEVBQUUsRUFBRTtvQkFDekQsT0FBTyxJQUFJLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQztnQkFDekIsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDUDtZQUNELEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDZjtRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQzs7O1lBOURGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsaUJBQWlCO2dCQUMzQixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBdUJUO2dCQUNELElBQUksRUFBRTtvQkFDSixTQUFTLEVBQUUsdUJBQXVCO29CQUNsQyxPQUFPLEVBQUUsRUFBRTtpQkFDWjthQUNGOzs7O1lBaENtQixpQkFBaUI7Ozs7Ozs7SUFrQ3ZCLDRDQUF3QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBGaWVsZFR5cGUsIEZvcm1HbG9iYWxTZXJ2aWNlIH0gZnJvbSBcIkBrcmUtZm9ybS9jb3JlXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJrcmVmb3JtLXRhYnVsYXJcIixcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwidGFidWxhclwiPlxuICAgICAgPGRpdiBjbGFzcz1cInRhYnVsYXItaGVhZGVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbm9cIj7luo/lj7c8L2Rpdj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwiY29sLWRlZmF1bHRcIlxuICAgICAgICAgICpuZ0Zvcj1cImxldCBoZWFkZXIgb2YgdG8uZmllbGRHcm91cDsgbGV0IGkgPSBpbmRleFwiXG4gICAgICAgID5cbiAgICAgICAgICB7eyBoZWFkZXIudGVtcGxhdGVPcHRpb25zLmxhYmVsIH19XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW9wZXJhdGlvblwiPuaTjeS9nDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwidGFidWxhci1ib2R5XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIiAqbmdGb3I9XCJsZXQgcm93IG9mIGZpZWxkLmZpZWxkR3JvdXA7IGxldCBpID0gaW5kZXhcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW5vXCI+e3sgaSB9fTwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtZGVmYXVsdFwiPlxuICAgICAgICAgICAgPGtyZWZvcm0tZmllbGQgW2ZpZWxkXT1cInJvd1wiPjwva3JlZm9ybS1maWVsZD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW9wZXJhdGlvblwiPjxhIChjbGljayk9XCJkZWxldGUoaSlcIj7liKDpmaQ8L2E+PC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGEgKGNsaWNrKT1cImFkZCgpXCI+5paw5aKePC9hPlxuICBgLFxuICBob3N0OiB7XG4gICAgXCJbY2xhc3NdXCI6ICdmaWVsZC5jbGFzc05hbWUgfHwgXCJcIicsXG4gICAgY2RrRHJhZzogXCJcIixcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgS3JlRm9ybUZpZWxkVGFidWxhciBleHRlbmRzIEZpZWxkVHlwZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZ2xvYmFsU2VydmljZTogRm9ybUdsb2JhbFNlcnZpY2UpIHtcbiAgICBzdXBlcigpO1xuICB9XG4gIGFkZCgpIHtcbiAgICB0aGlzLmdsb2JhbFNlcnZpY2Uubm90aWZ5RGF0YUNoYW5nZWQoXCJUYWJ1bGFyQWRkXCIsIHtcbiAgICAgIHJkbTogTWF0aC5yYW5kb20oKSxcbiAgICAgIGNvbmZpZzogdGhpcy5maWVsZCxcbiAgICB9KTtcbiAgfVxuICBkZWxldGUoaTogYW55KSB7XG4gICAgdGhpcy5nbG9iYWxTZXJ2aWNlLm5vdGlmeURhdGFDaGFuZ2VkKFwiVGFidWxhckRlbFwiLCB7XG4gICAgICByZG06IE1hdGgucmFuZG9tKCksXG4gICAgICBjb25maWc6IHRoaXMuZmllbGQsXG4gICAgICBudW1iZXI6IGksXG4gICAgfSk7XG4gIH1cbiAgZ2V0IHJvd3MoKSB7XG4gICAgbGV0IHJlczogYW55W10gPSBbXTtcbiAgICBmb3IgKGxldCBrZXkgaW4gdGhpcy5tb2RlbCkge1xuICAgICAgbGV0IG9iajogYW55ID0ge1xuICAgICAgICBrZXk6IGtleSxcbiAgICAgIH07XG4gICAgICBpZiAodGhpcy5maWVsZCAmJiB0aGlzLmZpZWxkLmZpZWxkR3JvdXApIHtcbiAgICAgICAgb2JqW1wiY29uZmlnXCJdID0gdGhpcy5maWVsZC5maWVsZEdyb3VwLmZpbHRlcigoaXRlbTogYW55KSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGl0ZW0ua2V5ID09IGtleTtcbiAgICAgICAgfSlbMF07XG4gICAgICB9XG4gICAgICByZXMucHVzaChvYmopO1xuICAgIH1cbiAgICByZXR1cm4gcmVzO1xuICB9XG59XG4iXX0=