diff --git a/package.json b/package.json index 9b659aa..ffd2048 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "web-scraper-chrome-extension", - "version": "0.4.6", + "version": "0.4.7", "description": "Web data extraction tool implemented as chrome extension", "scripts": { "lint": "eslint --ext .js src", diff --git a/src/_locales/en/messages.json b/src/_locales/en/messages.json index 0579347..e1421cc 100644 --- a/src/_locales/en/messages.json +++ b/src/_locales/en/messages.json @@ -324,7 +324,7 @@ "message": "Are you sure you want to delete sitemap ?" }, "modal_confirm_action_message_delete_selector": { - "message": "The selector that is being deleted has child selectors ( obj), which will be deleted" + "message": "The following selectors will be removed ( obj):" }, "modal_confirm_action_submit_delete_selector": { "message": "Confirm" }, "modal_confirm_action_cancel_delete_selector": { "message": "Cancel" }, diff --git a/src/_locales/ru/messages.json b/src/_locales/ru/messages.json index 2a1b0b2..8d5ea8d 100644 --- a/src/_locales/ru/messages.json +++ b/src/_locales/ru/messages.json @@ -360,7 +360,7 @@ "message": "Вы действительно хотите удалить карту обхода ?" }, "modal_confirm_action_message_delete_selector": { - "message": "У удаляемого селектора имеются дочерние ( шт.), которые будут удалены" + "message": "Будут удалены следующие селекторы ( шт.):" }, "modal_confirm_action_submit_delete_selector": { "message": "Подтвердить" }, "modal_confirm_action_cancel_delete_selector": { "message": "Отмена" }, diff --git a/src/scripts/Controller.js b/src/scripts/Controller.js index 06a0b9a..670efa4 100644 --- a/src/scripts/Controller.js +++ b/src/scripts/Controller.js @@ -1499,11 +1499,23 @@ export default class SitemapController { async deleteSelector(button) { const selector = $(button).closest('tr').data('selector'); const sitemap = this.state.currentSitemap; - const childCount = sitemap.getDirectChildSelectors(selector.uuid).length; + const clearSelectorList = sitemap.createRemainingSelectorsList(selector); + const filteredChildren = sitemap.selectors + .filter(selector => !clearSelectorList.includes(selector)) + .map(selector => { + return { uuid: selector.uuid, id: selector.id }; + }); + const childCount = filteredChildren.length; this.initConfirmActionPanel({ action: 'delete_selector' }); $('#modal-selector-id').text(selector.id); if (childCount) { $('#modal-child-count').text(childCount); + $('#modal-message').after('