From 422368d0d79be753e43c0963f1307a6ad13a3ac2 Mon Sep 17 00:00:00 2001 From: Kijin Sung Date: Sun, 25 Jun 2023 18:36:51 +0900 Subject: [PATCH] Update confirmation dialog to allow the user to choose if content should be deleted as well --- modules/menu/lang/en.php | 11 +++++---- modules/menu/lang/ko.php | 8 ++++--- modules/menu/tpl/sitemap.html | 42 ++++++++++++----------------------- 3 files changed, 26 insertions(+), 35 deletions(-) diff --git a/modules/menu/lang/en.php b/modules/menu/lang/en.php index b412d1454..988718e5b 100644 --- a/modules/menu/lang/en.php +++ b/modules/menu/lang/en.php @@ -106,9 +106,12 @@ $lang->site_default_skin_settings = 'Site default skin settings'; $lang->install_other_skins = 'Install other themes'; $lang->no_downloadable_item = 'There are no downloadable item.'; $lang->confirm_sitemap_delete = 'Do you want to remove this sitemap?'; -$lang->confirm_menu_delete = 'Do you want to remove this menu item?'; -$lang->confirm_delete_all_contents = 'I understand that the contents will be deleted as well.'; -$lang->confirm_shortcut_delete = 'Do you want to remove this shortcut item?'; +$lang->confirm_menu_delete = 'Delete menu item?'; +$lang->confirm_menu_delete_desc = 'Would you like to delete all content belonging to this menu, such as posts, comments and files?'; +$lang->confirm_delete_not_contents = 'Only delete the menu item, and keep the content.'; +$lang->confirm_delete_all_contents = 'Delete all content.'; +$lang->confirm_shortcut_delete = 'Delete shortcut'; +$lang->confirm_shortcut_desc = 'The linked content will not be deleted.'; $lang->confirm_delete_all_sub_items_title = 'The menu has sub-menu(s)'; $lang->confirm_delete_all_sub_items = 'Do you want to delete all the sub-menu(s)?'; $lang->confirm_delete_all_item = 'I know delete all menu of sitemap.'; @@ -129,4 +132,4 @@ $lang->skin_settings = 'Skin settings'; $lang->no_use_skin = 'Will not use any skin'; $lang->menu_desc = 'Description'; $lang->menu_icon = 'Icon'; -$lang->about_menu_icon = 'If and how the icon code is interpreted is up to the layout designer.'; \ No newline at end of file +$lang->about_menu_icon = 'If and how the icon code is interpreted is up to the layout designer.'; diff --git a/modules/menu/lang/ko.php b/modules/menu/lang/ko.php index 5248d15e2..3e986446b 100644 --- a/modules/menu/lang/ko.php +++ b/modules/menu/lang/ko.php @@ -113,9 +113,11 @@ $lang->install_other_skins = '다른 스킨 설치'; $lang->no_downloadable_item = '다운로드 가능한 항목이 없습니다.'; $lang->confirm_sitemap_delete = '사이트맵을 삭제 하겠습니까?'; $lang->confirm_menu_delete = '메뉴를 삭제 하겠습니까?'; -$lang->confirm_delete_all_contents = '메뉴와 연결된 콘텐츠도 모두 삭제된다는 것을 이해하고 있습니다.'; +$lang->confirm_menu_delete_desc = '메뉴와 연결된 게시판, 페이지, 댓글, 첨부파일 등의 콘텐츠도 모두 삭제할까요?'; +$lang->confirm_delete_not_contents = '메뉴만 삭제하고 콘텐츠는 그대로 둡니다.'; +$lang->confirm_delete_all_contents = '콘텐츠도 모두 삭제합니다.'; $lang->confirm_shortcut_delete = '바로가기를 삭제 하겠습니까?'; -$lang->confirm_shortcut_desc = '바로가기를 삭제해도 실제 메뉴는 지워지지 않습니다.'; +$lang->confirm_shortcut_desc = '바로가기를 삭제해도 연결된 콘텐츠는 지워지지 않습니다.'; $lang->confirm_delete_all_sub_items_title = '하위 메뉴가 있습니다.'; $lang->confirm_delete_all_sub_items = '하위 메뉴도 함께 삭제 하시겠습니까?'; $lang->confirm_delete_all_item = '사이트맵에 포함된 메뉴 모두 삭제된다는 것을 이해하고 있습니다.'; @@ -146,4 +148,4 @@ $lang->no_skin = '스킨 없음'; $lang->no_use_skin = '스킨 사용 안 함'; $lang->menu_desc = '메뉴 설명'; $lang->menu_icon = '메뉴 아이콘'; -$lang->about_menu_icon = '아이콘 코드를 어떻게 해석하는지는 레이아웃에 따라 다를 수 있습니다.'; \ No newline at end of file +$lang->about_menu_icon = '아이콘 코드를 어떻게 해석하는지는 레이아웃에 따라 다를 수 있습니다.'; diff --git a/modules/menu/tpl/sitemap.html b/modules/menu/tpl/sitemap.html index 11847c49d..323a1b7be 100644 --- a/modules/menu/tpl/sitemap.html +++ b/modules/menu/tpl/sitemap.html @@ -713,6 +713,8 @@ xe.lang.msg_url_is_required = '{$lang->msg_url_is_required}'; xe.lang.confirm_sitemap_delete = '{$lang->confirm_sitemap_delete}'; xe.lang.confirm_menu_delete = '{$lang->confirm_menu_delete}'; + xe.lang.confirm_menu_delete_desc = '{$lang->confirm_menu_delete_desc}'; + xe.lang.confirm_delete_not_contents = '{$lang->confirm_delete_not_contents}'; xe.lang.confirm_delete_all_contents = '{$lang->confirm_delete_all_contents}'; xe.lang.confirm_shortcut_delete = '{$lang->confirm_shortcut_delete}'; xe.lang.confirm_shortcut_desc = '{$lang->confirm_shortcut_desc}'; @@ -1922,7 +1924,7 @@ jQuery(function($){ params['is_shortcut'] = isShortCut; params['parent_srl'] = sSelectedMenuSrl; params[sTargetKey] = sUrl; - + $.exec_json("menu.procMenuAdminInsertItem", params, function(htData){ // select the newly created menu //$._xeAdminVar.sSelectOnload = htData.menu_item_srl; @@ -3440,10 +3442,11 @@ jQuery(function($){ scrollToRight(); }); - function doDelete(sMenuSrl, bForce, sSelectOnload){ + function doDelete(sMenuSrl, bForce, sSelectOnload, deleteModule){ var params = { menu_item_srl : sMenuSrl, - is_force : bForce ? 'Y' : 'N' + is_force : bForce ? 'Y' : 'N', + delete_module : deleteModule ? deleteModule : 'N' }; $.exec_json("menu.procMenuAdminDeleteItem", params, function(htData){ @@ -3458,7 +3461,7 @@ jQuery(function($){ bDanger : true, fnOnOK : function(){ - doDelete(sMenuSrl, true, sSelectOnload); + doDelete(sMenuSrl, true, sSelectOnload, deleteModule); } }); @@ -3483,46 +3486,29 @@ jQuery(function($){ if(htInfo.is_shortcut == 'Y') { tmpTitle = xe.lang.confirm_shortcut_delete; - tmpText = xe.lang.confirm_shortcut_desc; + tmpText = '

' + xe.lang.confirm_shortcut_desc + '

'; } else { tmpTitle = xe.lang.confirm_menu_delete; - tmpText = xe.lang.confirm_delete_all_contents; + tmpText = '

' + xe.lang.confirm_menu_delete_desc + '

' + + '

' + + '

'; } $.xeMsgBox.confirmDialog({ sTitle : tmpTitle, - sText : '', + sText : tmpText, bDanger : true, fnOnOK : function(){ - if(!$.xeMsgBox.$msgBox.find('input[type="checkbox"]').attr('checked')) return true; - var sSelectedMenuSrl = $._xeAdminVar.sSelectedMenuSrl; - var sParentSrl = htNodeInfo[sSelectedMenuSrl].parent_srl; - - doDelete(sSelectedMenuSrl, false, sParentSrl); + var deleteModule = $.xeMsgBox.$msgBox.find('input[type="radio"]:checked').val(); + doDelete(sSelectedMenuSrl, false, sParentSrl, deleteModule); }, - - fnOnShow : function(){ - $.xeMsgBox.$msgBox.find("._ok").addClass("x_disabled"); - - $.xeMsgBox.$msgBox.find('input[type="checkbox"]').click(function(){ - if($(this).attr('checked')){ - $.xeMsgBox.$msgBox.find("._ok").removeClass("x_disabled"); - }else{ - $.xeMsgBox.$msgBox.find("._ok").addClass("x_disabled"); - } - }); - }, - - fnOnHide : function(){ - $.xeMsgBox.$msgBox.find("._ok").removeClass("x_disabled"); - } }); });