@ohayojp/form
Version:
169 lines • 14.4 kB
JavaScript
/**
* @fileoverview added by tsickle
* Generated from: src/model/array.property.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { SF_SEQ } from '../const';
import { PropertyGroup } from './form.property';
import { ObjectProperty } from './object.property';
export class ArrayProperty extends PropertyGroup {
/**
* @param {?} formPropertyFactory
* @param {?} schemaValidatorFactory
* @param {?} schema
* @param {?} ui
* @param {?} formData
* @param {?} parent
* @param {?} path
* @param {?} options
*/
constructor(formPropertyFactory, schemaValidatorFactory, schema, ui, formData, parent, path, options) {
super(schemaValidatorFactory, schema, ui, formData, parent, path, options);
this.formPropertyFactory = formPropertyFactory;
this.properties = [];
}
/**
* @param {?} path
* @return {?}
*/
getProperty(path) {
/** @type {?} */
const subPathIdx = path.indexOf(SF_SEQ);
/** @type {?} */
const pos = +(subPathIdx !== -1 ? path.substr(0, subPathIdx) : path);
/** @type {?} */
const list = (/** @type {?} */ (this.properties));
if (isNaN(pos) || pos >= list.length) {
return undefined;
}
/** @type {?} */
const subPath = path.substr(subPathIdx + 1);
return list[pos].getProperty(subPath);
}
/**
* @param {?} value
* @param {?} onlySelf
* @return {?}
*/
setValue(value, onlySelf) {
this.properties = [];
this.clearErrors();
this.resetProperties(value);
this.updateValueAndValidity({ onlySelf, emitValueEvent: true });
}
/**
* @param {?} value
* @param {?} onlySelf
* @return {?}
*/
resetValue(value, onlySelf) {
this._value = value || this.schema.default || [];
this.setValue(this._value, onlySelf);
}
/**
* @return {?}
*/
_hasValue() {
return true;
}
/**
* @return {?}
*/
_updateValue() {
/** @type {?} */
const value = [];
this.forEachChild((/**
* @param {?} property
* @return {?}
*/
(property) => {
var _a;
if (property.visible && property._hasValue()) {
value.push(Object.assign(Object.assign({}, (((_a = this.widget) === null || _a === void 0 ? void 0 : _a.cleanValue) ? null : property.formData)), property.value));
}
}));
this._value = value;
}
/**
* @private
* @param {?} formData
* @return {?}
*/
addProperty(formData) {
/** @type {?} */
const newProperty = (/** @type {?} */ (this.formPropertyFactory.createProperty((/** @type {?} */ (this.schema.items)), this.ui.$items, formData, (/** @type {?} */ (this)))));
((/** @type {?} */ (this.properties))).push(newProperty);
return newProperty;
}
/**
* @private
* @param {?} formDatas
* @return {?}
*/
resetProperties(formDatas) {
for (const item of formDatas) {
/** @type {?} */
const property = this.addProperty(item);
property.resetValue(item, true);
}
}
/**
* @private
* @param {?=} property
* @return {?}
*/
clearErrors(property) {
(property || this)._objErrors = {};
}
// #region actions
/**
* @param {?} formData
* @return {?}
*/
add(formData) {
/** @type {?} */
const newProperty = this.addProperty(formData);
newProperty.resetValue(formData, false);
return newProperty;
}
/**
* @param {?} index
* @return {?}
*/
remove(index) {
/** @type {?} */
const list = (/** @type {?} */ (this.properties));
this.clearErrors();
list.splice(index, 1);
list.forEach((/**
* @param {?} property
* @param {?} idx
* @return {?}
*/
(property, idx) => {
property.path = [(/** @type {?} */ (property.parent)).path, idx].join(SF_SEQ);
this.clearErrors(property);
// TODO: 受限于 sf 的设计思路,对于移除数组项需要重新对每个子项进行校验,防止错误被父级合并后引起始终是错误的现象
if (property instanceof ObjectProperty) {
property.forEachChild((/**
* @param {?} p
* @return {?}
*/
p => {
p.updateValueAndValidity();
}));
}
}));
if (list.length === 0) {
this.updateValueAndValidity();
}
}
}
if (false) {
/**
* @type {?}
* @private
*/
ArrayProperty.prototype.formPropertyFactory;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXkucHJvcGVydHkuanMiLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vcGFja2FnZXMvZm9ybS8iLCJzb3VyY2VzIjpbInNyYy9tb2RlbC9hcnJheS5wcm9wZXJ0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFLbEMsT0FBTyxFQUFnQixhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUU5RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFbkQsTUFBTSxPQUFPLGFBQWMsU0FBUSxhQUFhOzs7Ozs7Ozs7OztJQUM5QyxZQUNVLG1CQUF3QyxFQUNoRCxzQkFBOEMsRUFDOUMsTUFBZ0IsRUFDaEIsRUFBK0IsRUFDL0IsUUFBWSxFQUNaLE1BQTRCLEVBQzVCLElBQVksRUFDWixPQUFzQjtRQUV0QixLQUFLLENBQUMsc0JBQXNCLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztRQVRuRSx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBVWhELElBQUksQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7Ozs7O0lBRUQsV0FBVyxDQUFDLElBQVk7O2NBQ2hCLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQzs7Y0FDakMsR0FBRyxHQUFHLENBQUMsQ0FBQyxVQUFVLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7O2NBQzlELElBQUksR0FBRyxtQkFBQSxJQUFJLENBQUMsVUFBVSxFQUFtQjtRQUMvQyxJQUFJLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtZ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LENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN0QixJQUFJLENBQUMsT0FBTzs7Ozs7UUFBQyxDQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUUsRUFBRTtZQUM3QixRQUFRLENBQUMsSUFBSSxHQUFHLENBQUMsbUJBQUEsUUFBUSxDQUFDLE1BQU0sRUFBQyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDMUQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUMzQiwrREFBK0Q7WUFDL0QsSUFBSSxRQUFRLFlBQVksY0FBYyxFQUFFO2dCQUN0QyxRQUFRLENBQUMsWUFBWTs7OztnQkFBQyxDQUFDLENBQUMsRUFBRTtvQkFDeEIsQ0FBQyxDQUFDLHNCQUFzQixFQUFFLENBQUM7Z0JBQzdCLENBQUMsRUFBQyxDQUFDO2FBQ0o7UUFDSCxDQUFDLEVBQUMsQ0FBQztRQUNILElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDckIsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7U0FDL0I7SUFDSCxDQUFDO0NBR0Y7Ozs7OztJQXBHRyw0Q0FBZ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPaGF5b1NGQ29uZmlnIH0gZnJvbSAnQG9oYXlvanAvdXRpbCc7XG5pbXBvcnQgeyBTRl9TRVEgfSBmcm9tICcuLi9jb25zdCc7XG5pbXBvcnQgeyBTRlZhbHVlIH0gZnJvbSAnLi4vaW50ZXJmYWNlJztcbmltcG9ydCB7IFNGU2NoZW1hIH0gZnJvbSAnLi4vc2NoZW1hL2luZGV4JztcbmltcG9ydCB7IFNGVUlTY2hlbWEsIFNGVUlTY2hlbWFJdGVtIH0gZnJvbSAnLi4vc2NoZW1hL3VpJztcbmltcG9ydCB7IFNjaGVtYVZhbGlkYXRvckZhY3RvcnkgfSBmcm9tICcuLi92YWxpZGF0b3IuZmFjdG9yeSc7XG5pbXBvcnQgeyBGb3JtUHJvcGVydHksIFByb3BlcnR5R3JvdXAgfSBmcm9tICcuL2Zvcm0ucHJvcGVydHknO1xuaW1wb3J0IHsgRm9ybVByb3BlcnR5RmFjdG9yeSB9IGZyb20gJy4vZm9ybS5wcm9wZXJ0eS5mYWN0b3J5JztcbmltcG9ydCB7IE9iamVjdFByb3BlcnR5IH0gZnJvbSAnLi9vYmplY3QucHJvcGVydHknO1xuXG5leHBvcnQgY2xhc3MgQXJyYXlQcm9wZXJ0eSBleHRlbmRzIFByb3BlcnR5R3JvdXAge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZvcm1Qcm9wZXJ0eUZhY3Rvcnk6IEZvcm1Qcm9wZXJ0eUZhY3RvcnksXG4gICAgc2NoZW1hVmFsaWRhdG9yRmFjdG9yeTogU2NoZW1hVmFsaWRhdG9yRmFjdG9yeSxcbiAgICBzY2hlbWE6IFNGU2NoZW1hLFxuICAgIHVpOiBTRlVJU2NoZW1hIHwgU0ZVSVNjaGVtYUl0ZW0sXG4gICAgZm9ybURhdGE6IHt9LFxuICAgIHBhcmVudDogUHJvcGVydHlHcm91cCB8IG51bGwsXG4gICAgcGF0aDogc3RyaW5nLFxuICAgIG9wdGlvbnM6IE9oYXlvU0ZDb25maWcsXG4gICkge1xuICAgIHN1cGVyKHNjaGVtYVZhbGlkYXRvckZhY3RvcnksIHNjaGVtYSwgdWksIGZvcm1EYXRhLCBwYXJlbnQsIHBhdGgsIG9wdGlvbnMpO1xuICAgIHRoaXMucHJvcGVydGllcyA9IFtdO1xuICB9XG5cbiAgZ2V0UHJvcGVydHkocGF0aDogc3RyaW5nKTogRm9ybVByb3BlcnR5IHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBzdWJQYXRoSWR4ID0gcGF0aC5pbmRleE9mKFNGX1NFUSk7XG4gICAgY29uc3QgcG9zID0gKyhzdWJQYXRoSWR4ICE9PSAtMSA/IHBhdGguc3Vic3RyKDAsIHN1YlBhdGhJZHgpIDogcGF0aCk7XG4gICAgY29uc3QgbGlzdCA9IHRoaXMucHJvcGVydGllcyBhcyBQcm9wZXJ0eUdyb3VwW107XG4gICAgaWYgKGlzTmFOKHBvcykgfHwgcG9zID49IGxpc3QubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICBjb25zdCBzdWJQYXRoID0gcGF0aC5zdWJzdHIoc3ViUGF0aElkeCArIDEpO1xuICAgIHJldHVybiBsaXN0W3Bvc10uZ2V0UHJvcGVydHkoc3ViUGF0aCk7XG4gIH1cblxuICBzZXRWYWx1ZSh2YWx1ZTogU0ZWYWx1ZSwgb25seVNlbGY6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLnByb3BlcnRpZXMgPSBbXTtcbiAgICB0aGlzLmNsZWFyRXJyb3JzKCk7XG4gICAgdGhpcy5yZXNldFByb3BlcnRpZXModmFsdWUpO1xuICAgIHRoaXMudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSh7IG9ubHlTZWxmLCBlbWl0VmFsdWVFdmVudDogdHJ1ZSB9KTtcbiAgfVxuXG4gIHJlc2V0VmFsdWUodmFsdWU6IFNGVmFsdWUsIG9ubHlTZWxmOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5fdmFsdWUgPSB2YWx1ZSB8fCB0aGlzLnNjaGVtYS5kZWZhdWx0IHx8IFtdO1xuICAgIHRoaXMuc2V0VmFsdWUodGhpcy5fdmFsdWUsIG9ubHlTZWxmKTtcbiAgfVxuXG4gIF9oYXNWYWx1ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIF91cGRhdGVWYWx1ZSgpOiB2b2lkIHtcbiAgICBjb25zdCB2YWx1ZTogYW55W10gPSBbXTtcbiAgICB0aGlzLmZvckVhY2hDaGlsZCgocHJvcGVydHk6IEZvcm1Qcm9wZXJ0eSkgPT4ge1xuICAgICAgaWYgKHByb3BlcnR5LnZpc2libGUgJiYgcHJvcGVydHkuX2hhc1ZhbHVlKCkpIHtcbiAgICAgICAgdmFsdWUucHVzaCh7IC4uLih0aGlzLndpZGdldD8uY2xlYW5WYWx1ZSA/IG51bGwgOiBwcm9wZXJ0eS5mb3JtRGF0YSksIC4uLnByb3BlcnR5LnZhbHVlIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMuX3ZhbHVlID0gdmFsdWU7XG4gIH1cblxuICBwcml2YXRlIGFkZFByb3BlcnR5KGZvcm1EYXRhOiB7fSk6IEZvcm1Qcm9wZXJ0eSB7XG4gICAgY29uc3QgbmV3UHJvcGVydHkgPSB0aGlzLmZvcm1Qcm9wZXJ0eUZhY3RvcnkuY3JlYXRlUHJvcGVydHkoXG4gICAgICB0aGlzLnNjaGVtYS5pdGVtcyEsXG4gICAgICB0aGlzLnVpLiRpdGVtcyxcbiAgICAgIGZvcm1EYXRhLFxuICAgICAgdGhpcyBhcyBQcm9wZXJ0eUdyb3VwLFxuICAgICkgYXMgT2JqZWN0UHJvcGVydHk7XG4gICAgKHRoaXMucHJvcGVydGllcyBhcyBGb3JtUHJvcGVydHlbXSkucHVzaChuZXdQcm9wZXJ0eSk7XG4gICAgcmV0dXJuIG5ld1Byb3BlcnR5O1xuICB9XG5cbiAgcHJpdmF0ZSByZXNldFByb3BlcnRpZXMoZm9ybURhdGFzOiBBcnJheTx7fT4pOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgZm9ybURhdGFzKSB7XG4gICAgICBjb25zdCBwcm9wZXJ0eSA9IHRoaXMuYWRkUHJvcGVydHkoaXRlbSk7XG4gICAgICBwcm9wZXJ0eS5yZXNldFZhbHVlKGl0ZW0sIHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY2xlYXJFcnJvcnMocHJvcGVydHk/OiBGb3JtUHJvcGVydHkpOiB2b2lkIHtcbiAgICAocHJvcGVydHkgfHwgdGhpcykuX29iakVycm9ycyA9IHt9O1xuICB9XG5cbiAgLy8gI3JlZ2lvbiBhY3Rpb25zXG5cbiAgYWRkKGZvcm1EYXRhOiB7fSk6IEZvcm1Qcm9wZXJ0eSB7XG4gICAgY29uc3QgbmV3UHJvcGVydHkgPSB0aGlzLmFkZFByb3BlcnR5KGZvcm1EYXRhKTtcbiAgICBuZXdQcm9wZXJ0eS5yZXNldFZhbHVlKGZvcm1EYXRhLCBmYWxzZSk7XG4gICAgcmV0dXJuIG5ld1Byb3BlcnR5O1xuICB9XG5cbiAgcmVtb3ZlKGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICBjb25zdCBsaXN0ID0gdGhpcy5wcm9wZXJ0aWVzIGFzIEZvcm1Qcm9wZXJ0eVtdO1xuICAgIHRoaXMuY2xlYXJFcnJvcnMoKTtcbiAgICBsaXN0LnNwbGljZShpbmRleCwgMSk7XG4gICAgbGlzdC5mb3JFYWNoKChwcm9wZXJ0eSwgaWR4KSA9PiB7XG4gICAgICBwcm9wZXJ0eS5wYXRoID0gW3Byb3BlcnR5LnBhcmVudCEucGF0aCwgaWR4XS5qb2luKFNGX1NFUSk7XG4gICAgICB0aGlzLmNsZWFyRXJyb3JzKHByb3BlcnR5KTtcbiAgICAgIC8vIFRPRE86IOWPl+mZkOS6jiBzZiDnmoTorr7orqHmgJ3ot6/vvIzlr7nkuo7np7vpmaTmlbDnu4TpobnpnIDopoHph43mlrDlr7nmr4/kuKrlrZDpobnov5vooYzmoKHpqozvvIzpmLLmraLplJnor6/ooqvniLbnuqflkIjlubblkI7lvJXotbflp4vnu4jmmK/plJnor6/nmoTnjrDosaFcbiAgICAgIGlmIChwcm9wZXJ0eSBpbnN0YW5jZW9mIE9iamVjdFByb3BlcnR5KSB7XG4gICAgICAgIHByb3BlcnR5LmZvckVhY2hDaGlsZChwID0+IHtcbiAgICAgICAgICBwLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgaWYgKGxpc3QubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aGlzLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgICB9XG4gIH1cblxuICAvLyAjZW5kcmVnaW9uXG59XG4iXX0=