amisa-forms
Version:
models of armisa!
80 lines (79 loc) • 3.73 kB
JavaScript
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
if (kind === "m") throw new TypeError("Private method is not writable");
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
};
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
};
var _ElementsManager_elements, _ElementsManager_formFactory;
export class ElementsManager {
constructor(formFactory) {
this.initializeElements = () => {
this.elements.forEach(element => {
element.clearData();
});
};
this.addResponseElement = (element) => {
if (this.responses === undefined) {
this.responses = [];
}
this.responses.push(element);
};
this.deserializedResponse = (data) => {
if (this.responses &&
this.responses.length > 0) {
this.responses.forEach((element) => {
element.deseriallize(data.getProp(element.responseKey));
});
}
};
this.addPayloadElement = (element) => {
if (this.payLoad === undefined) {
this.payLoad = [];
}
this.payLoad.push(element);
};
//** return number of error */
this.validate = () => {
let numberofError = 0;
this.elements.forEach(element => {
element.validate();
if (!(typeof element.validation === 'boolean' && element.validation === true)) {
numberofError += 1;
}
});
__classPrivateFieldGet(this, _ElementsManager_formFactory, "f").forceUpdate();
return numberofError;
};
_ElementsManager_elements.set(this, void 0);
_ElementsManager_formFactory.set(this, void 0);
this.addElement = (element) => {
this.elements.push(element);
};
this.removeElement = (element) => {
__classPrivateFieldSet(this, _ElementsManager_elements, this.elements.filter(i => i !== element), "f");
};
this.saveAttachedFiles = async (id) => {
// const find = this.elements.find(i => i instanceof AttachedFilesFactory) as AttachedFilesFactory;
// if (find) {
// await find.save(id);
// }
};
__classPrivateFieldSet(this, _ElementsManager_elements, [], "f");
__classPrivateFieldSet(this, _ElementsManager_formFactory, formFactory, "f");
}
get hasChange() {
return this.elements.some(i => i.hasChange);
}
get elements() {
return __classPrivateFieldGet(this, _ElementsManager_elements, "f");
}
get formFactory() {
return __classPrivateFieldGet(this, _ElementsManager_formFactory, "f");
}
}
_ElementsManager_elements = new WeakMap(), _ElementsManager_formFactory = new WeakMap();