Commit 1e693f16 authored by Samir Sadyhov's avatar Samir Sadyhov 🤔

bugfix - запуск маршрутов - удаление этапа

parent 0d1a53cc
...@@ -9,33 +9,27 @@ const isShowRoute = (registryRoute) => { ...@@ -9,33 +9,27 @@ const isShowRoute = (registryRoute) => {
} }
const parseRouteData = data => { const parseRouteData = data => {
const removeUserName = items => { const normalizeItems = items =>
for(let i = 0; i < items.length; i++) { items
const {users} = items[i]; .filter(item => Array.isArray(item.users) && item.users.length > 0)
if(!users.length) { .map(item => ({
items.splice(i, 1); ...item,
} else { users: item.users.map(({ userName, ...rest }) => rest)
users.forEach(user => { }));
delete user["userName"];
});
}
}
return items;
}
const result = { const result = {
before: { before: {
routeID: data.before.routeID, routeID: data.before.routeID,
items: removeUserName(data.before.items) items: normalizeItems(data.before.items)
}, },
after: { after: {
routeID: data.after.routeID, routeID: data.after.routeID,
items: removeUserName(data.after.items) items: normalizeItems(data.after.items)
} }
} };
return JSON.stringify(result); return JSON.stringify(result);
} };
const routeNames = { const routeNames = {
"ASSIGNMENT_ITEM": "Работа", "ASSIGNMENT_ITEM": "Работа",
...@@ -166,7 +160,7 @@ this.StartRegistryRoute = class { ...@@ -166,7 +160,7 @@ this.StartRegistryRoute = class {
this.panelSettings.append(userBlock); this.panelSettings.append(userBlock);
} }
renderRouteItem(index, panel, panelType, item, allItems) { renderRouteItem(index, panel, panelType, item) {
const {itemID, users} = item; const {itemID, users} = item;
users.forEach((proc, i) => { users.forEach((proc, i) => {
...@@ -201,8 +195,10 @@ this.StartRegistryRoute = class { ...@@ -201,8 +195,10 @@ this.StartRegistryRoute = class {
e.preventDefault(); e.preventDefault();
if (window.confirm(i18n.tr('Вы действительно хотите удалить данный этап?'))) { if (window.confirm(i18n.tr('Вы действительно хотите удалить данный этап?'))) {
itemContainer.remove(); itemContainer.remove();
users.splice(i, 1);
if(!users.length) allItems.splice(index, 1); const idx = users.indexOf(proc);
if (idx !== -1) users.splice(idx, 1);
//костыль с перенумеровкой этапов //костыль с перенумеровкой этапов
panel.find('.route_item_container').each((i, el) => { panel.find('.route_item_container').each((i, el) => {
const numItem = $(el).find('[item-role="route_index"]'); const numItem = $(el).find('[item-role="route_index"]');
...@@ -231,7 +227,7 @@ this.StartRegistryRoute = class { ...@@ -231,7 +227,7 @@ this.StartRegistryRoute = class {
const data = panelType == '_before' ? before : panelType == '_after' ? after : action; const data = panelType == '_before' ? before : panelType == '_after' ? after : action;
if(data.showOnSave === "true"){ if(data.showOnSave === "true"){
data.items.forEach((item, i) => this.renderRouteItem(i, panel, panelType, item, data.items)); data.items.forEach((item, i) => this.renderRouteItem(i, panel, panelType, item));
} }
}); });
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment