armisa-models
Version:
models of armisa!
82 lines (81 loc) • 3.51 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.SimpleRouteFormFactory = void 0;
const ElementsOfFormFactory_1 = require("../Page/ElementsOfFormFactory");
class SimpleRouteFormFactory {
set accept(value) {
this._accept = value;
}
get accept() {
return this._accept;
}
get any() {
return this;
}
constructor(mainStateManager, axiosData) {
this.mainStateManager = mainStateManager;
this.axiosData = axiosData;
this.getTextBoxFactory = (fieldName) => {
const selfFactoryName = 'selfFactory' + fieldName;
return this.any[selfFactoryName];
};
this.forceUpdate = () => { };
this.cach = {};
this._accept = (afterSuccess) => {
const elementErrorCount = this.elementsOfForm.validate();
if (elementErrorCount) {
this.elementsOfForm.showThereAreSomeErrorYouCanNot(elementErrorCount);
return;
}
this.saveData(afterSuccess);
};
this.saveData = (afterSuccess) => {
if (!(this.axiosData && this.apiSync)) {
return;
}
this.elementsOfForm.showWaitingFormSpinner();
this.apiSync.post(this.axiosData.acceptPath, this.elementsOfForm.searchParameter, this.mainStateManager.tokenInfo.headerOfAxios)
.then(async (response) => {
if (response.data.isSuccess) {
if (response.data.getProp('isSuccess')) {
const id = response.data.data.getProp('id');
await this.elementsOfForm.saveAttachedFiles(id);
this.elementsOfForm.closeWaitingFormSpinner();
if (afterSuccess) {
this.elementsOfForm.showSuccessFullMessageBox(undefined, undefined, undefined, () => afterSuccess(response.data.getProp('data')));
}
else {
this.elementsOfForm.showSuccessFullMessageBox(undefined, undefined, undefined);
}
this.forceUpdate();
}
else {
this.elementsOfForm.closeWaitingFormSpinner();
this.elementsOfForm.showInvalidArgumentMessageBox(response.data.getProp('messageRoot'));
}
}
else {
this.elementsOfForm.closeWaitingFormSpinner();
this.elementsOfForm.showInvalidArgumentMessageBox(response.data.getProp('messageRoot'));
}
})
.catch(e => {
this.elementsOfForm.closeWaitingFormSpinner();
this.elementsOfForm.showErrorMessageBox(e);
});
};
this.cancel = () => { };
this.delete = () => { };
this.new = () => { };
this.close = () => {
if (this.elementsOfForm.subPageItem) {
this.elementsOfForm.subPageItem.close();
}
};
this.elementsOfForm = new ElementsOfFormFactory_1.ElementsOfFormFactory(this);
if (this.axiosData) {
this.apiSync = this.axiosData.axios(this.axiosData.controllerPath);
}
}
}
exports.SimpleRouteFormFactory = SimpleRouteFormFactory;