Browse Source

Category data columns add/set/remove

master
George 3 years ago
parent
commit
290c78c280
  1. 15
      src/components/CategoryEditDialog.js
  2. 68
      src/stores/ObjectsStore.js

15
src/components/CategoryEditDialog.js

@ -1,4 +1,4 @@
import { Button, Classes, Dialog, FormGroup, HTMLTable, InputGroup, Intent } from '@blueprintjs/core';
import { Button, Classes, Dialog, FormGroup, HTMLTable, InputGroup, Intent, Toaster } from '@blueprintjs/core';
import { FieldArray, Formik } from 'formik';
import { observer } from 'mobx-react-lite';
import React, { useEffect } from 'react';
@ -215,7 +215,8 @@ const CategoryEditDialog = observer(({ category, isOpen, onClose, create }) => {
errors.categoryDataColumns &&
errors.categoryDataColumns[index] &&
errors.categoryDataColumns[index]
.DBCOL_SIZE && touched.categoryDataColumns[index]
.DBCOL_SIZE &&
touched.categoryDataColumns[index]
? Intent.DANGER
: Intent.NONE
}
@ -224,8 +225,14 @@ const CategoryEditDialog = observer(({ category, isOpen, onClose, create }) => {
<td>
<Button
icon={'remove'}
onClick={() =>
arrayHelpers.remove(index)
onClick={ () =>
{
if (values.categoryDataColumns[index].ID_CAT && values.categoryDataColumns[index].ID_CAT_DCOL)
{
rootStore.objectsStore.delCategoryColumn(values.categoryDataColumns[index].ID_CAT, values.categoryDataColumns[index].ID_CAT_DCOL);
}
arrayHelpers.remove(index);
}
}></Button>
</td>
</tr>

68
src/stores/ObjectsStore.js

@ -44,17 +44,16 @@ class ObjectsStore {
};
checkTable = (tableName, resultMsg) => {
const req = {
TableName: tableName
const req = {
TableName: tableName,
};
this.rootStore.loginStore.apiAuthRequest(req, 'api-db-checktable', res => {
if (res.isExist)
{
if (res.isExist) {
//window.alert("Таблица существует!")
resultMsg("Таблица существует!");
}else{
resultMsg("Таблица НЕ существует!");
resultMsg('Таблица существует!');
} else {
resultMsg('Таблица НЕ существует!');
}
this.fetching = false;
});
@ -71,14 +70,13 @@ class ObjectsStore {
NAME: values.fullName,
NAME_SHORT: values.shortName,
DB_TBL_NAME: values.tableName,
}
]
},
],
};
this.rootStore.loginStore.apiAuthRequest(req, 'api-categories-add', res => {
this.fetching = false;
this.getCategories();
});
} else {
const req = {
CategoryNewData: {
@ -90,14 +88,35 @@ class ObjectsStore {
doChangeCategoryData: true,
};
this.rootStore.loginStore.apiAuthRequest(req, 'api-categories-set', res => {
let arrayToAdd = [];
for (var i = 0; i < values.categoryDataColumns.length; i++) {
if (values.categoryDataColumns[i].ID_CAT_DCOL) {
const req_dcol_set = {
doChangeCategoryDataColumnData: true,
categoryID: values.categoryDataColumns[i].ID_CAT,
categoryDataColumnID: values.categoryDataColumns[i].ID_CAT,
CategoryDataColumnNewData: values.categoryDataColumns[i],
};
this.rootStore.loginStore.apiAuthRequest(req_dcol_set, 'api-categories-dcol-set', res => {
console.log('Изменили колонку: ' + res);
});
} else {
values.categoryDataColumns[i].ID_CAT = c.ID_CAT;
arrayToAdd.push(values.categoryDataColumns[i]);
}
}
//for(var i = 0; i < values.categoryDataColumns.length; i++)
//{
//
//}
// update category columns
// values.categoryDataColumns
if (arrayToAdd.length > 0) {
const req_dcol_add = {
CategoryID: c.ID_CAT,
newCategoryDataColumns: arrayToAdd,
};
this.rootStore.loginStore.apiAuthRequest(req_dcol_add, 'api-categories-dcol-add', res => {
console.log('Добавили колонок: ' + res);
});
}
this.fetching = false;
this.getCategories();
@ -105,9 +124,9 @@ class ObjectsStore {
}
};
delCategory = (id) => {
delCategory = id => {
const req = {
deleteCategoriesIDs: [ id ]
deleteCategoriesIDs: [id],
};
this.rootStore.loginStore.apiAuthRequest(req, 'api-categories-delete', res => {
this.fetching = false;
@ -115,6 +134,17 @@ class ObjectsStore {
});
};
delCategoryColumn = (catID, colID) => {
const req = {
CategoryID: catID,
deleteCategoryDataColumnsIDs: [colID]
};
this.rootStore.loginStore.apiAuthRequest(req, 'api-categories-dcol-delete', res => {
this.fetching = false;
this.getCategories();
});
};
getRelations = () => {
const req = { GetAll: true };
this.rootStore.loginStore.apiAuthRequest(req, 'api-relation-types-get', res => {

Loading…
Cancel
Save