| @@ -1,4 +1,32 @@ | ||
| 1 | +function getMentionDropdown(editor) { | |
| 2 | + let body = jQuery(editor.getBody()); | |
| 3 | + let dropdown = body.find('#wppm_mention_list'); | |
| 4 | + | |
| 5 | + if (!dropdown.length) { | |
| 6 | + dropdown = jQuery('<div id="wppm_mention_list"></div>'); | |
| 7 | + body.append(dropdown); | |
| 8 | + } | |
| 9 | + if (!editor.mentionDropdown) { | |
| 10 | + return editor.mentionDropdown; | |
| 11 | + }else{ | |
| 12 | + return dropdown; | |
| 13 | + } | |
| 14 | +} | |
| 15 | + | |
| 16 | +function updateActiveItem(items,mentionIndex) { | |
| 17 | + items.removeClass('active').css({ | |
| 18 | + background: '#fff', | |
| 19 | + color: '#333' | |
| 20 | + }); | |
| 21 | + items.eq(mentionIndex) | |
| 22 | + .addClass('active') | |
| 23 | + .css({ | |
| 24 | + background: '#0073aa', | |
| 25 | + color: '#fff' | |
| 26 | + }); | |
| 27 | +} | |
| 28 | + | |
| 1 | 29 | function wppm_add_new_project(){ |
| 2 | 30 | jQuery('#wppm_project_container').show(); |
| 3 | 31 | jQuery('#wppm_project_container').html(wppm_admin.loading_html); |
| 4 | 32 | var data = { |
| @@ -185,8 +213,10 @@ | ||
| 185 | 213 | jQuery('#wppm_project_container').html(wppm_admin.loading_html); |
| 186 | 214 | var dataform=new FormData(jQuery('#wppm_project_list_frm')[0]); |
| 187 | 215 | dataform.append("page_no", page_no); |
| 188 | 216 | dataform.append("action", 'wppm_get_project_list'); |
| 217 | + dataform.append("page", wppm_admin.page); | |
| 218 | + dataform.append("wppm_project_filter", wppm_project_filter); | |
| 189 | 219 | jQuery.ajax( { |
| 190 | 220 | url: wppm_admin.ajax_url, |
| 191 | 221 | type: 'POST', |
| 192 | 222 | data: dataform, |
| @@ -218,9 +248,10 @@ | ||
| 218 | 248 | var data = { |
| 219 | 249 | action: 'wppm_get_task_list', |
| 220 | 250 | page_no:page_no, |
| 221 | 251 | page:wppm_admin.page, |
| 222 | - project_id:id | |
| 252 | + project_id:id, | |
| 253 | + wppm_task_filter:wppm_task_filter | |
| 223 | 254 | }; |
| 224 | 255 | jQuery.post(wppm_admin.ajax_url, data, function(response) { |
| 225 | 256 | jQuery('#wppm_task_container').html(response); |
| 226 | 257 | }); |
| @@ -348,8 +379,16 @@ | ||
| 348 | 379 | function wppm_open_dashboard_task(id){ |
| 349 | 380 | window.location.href = 'admin.php?page=wppm-tasks&task_id=' + id; |
| 350 | 381 | } |
| 351 | 382 | |
| 383 | +function wppm_open_subtask(id,proj_id){ | |
| 384 | + if((proj_id!=0)&&(proj_id!="")){ | |
| 385 | + wppm_open_project_tasks(id,proj_id); | |
| 386 | + }else{ | |
| 387 | + wppm_open_task(id); | |
| 388 | + } | |
| 389 | +} | |
| 390 | + | |
| 352 | 391 | function wppm_open_project_tasks(id,proj_id){ |
| 353 | 392 | wppm_modal_open('Open Tasks'); |
| 354 | 393 | jQuery('#wppm_task_container').show(); |
| 355 | 394 | jQuery('#wppm_task_container').html(wppm_admin.loading_html); |
| @@ -472,8 +511,101 @@ | ||
| 472 | 511 | wppm_open_task(task_id); |
| 473 | 512 | }); |
| 474 | 513 | } |
| 475 | 514 | |
| 515 | +function wppm_show_add_subtask(){ | |
| 516 | + jQuery('#wppm_add_subtask_label_container').show(); | |
| 517 | + jQuery('#wppm_subtask_label').val('').focus(); | |
| 518 | +} | |
| 519 | + | |
| 520 | +function wppm_hide_add_subtask(){ | |
| 521 | + jQuery('#wppm_add_subtask_label_container').hide(); | |
| 522 | + jQuery('#wppm_subtask_label').val(''); | |
| 523 | +} | |
| 524 | + | |
| 525 | +function wppm_remove_subtask_user(e){ | |
| 526 | + jQuery(e).closest('li').remove(); | |
| 527 | +} | |
| 528 | + | |
| 529 | +function wppm_add_new_subtask(task_id,proj_id){ | |
| 530 | + if(jQuery('#wppm_subtask_label').val()==''){ | |
| 531 | + jQuery('#wppm_subtask_label').focus(); | |
| 532 | + return false; | |
| 533 | + } | |
| 534 | + var user_ids = []; | |
| 535 | + jQuery('.wppm_subtask_filter_display_users_container input[name="wppm_subtask_user_names[]"]').each(function(){ | |
| 536 | + user_ids.push(jQuery(this).val()); | |
| 537 | + }); | |
| 538 | + var data = { | |
| 539 | + action: 'wppm_add_new_subtask', | |
| 540 | + task_id: task_id, | |
| 541 | + label: jQuery('#wppm_subtask_label').val(), | |
| 542 | + wppm_subtask_status: jQuery('#wppm_subtask_status').val(), | |
| 543 | + wppm_subtask_due_date: jQuery('#wppm_subtask_due_date').val(), | |
| 544 | + wppm_subtask_description: jQuery('#wppm_subtask_description').val(), | |
| 545 | + wppm_subtask_user_names: user_ids, | |
| 546 | + _ajax_nonce: jQuery('#wppm_add_new_subtask_ajax_nonce').val() | |
| 547 | + }; | |
| 548 | + jQuery.post(wppm_admin.ajax_url, data, function(response) { | |
| 549 | + if((proj_id!=0)&&(proj_id!="")){ | |
| 550 | + wppm_open_project_tasks(task_id,proj_id); | |
| 551 | + }else{ | |
| 552 | + wppm_open_task(task_id); | |
| 553 | + } | |
| 554 | + }); | |
| 555 | +} | |
| 556 | + | |
| 557 | +function wppm_delete_subtask(subtask_id,task_id,proj_id){ | |
| 558 | + const flag = confirm(wppm_admin.confirm); | |
| 559 | + if (!flag) return; | |
| 560 | + var data = { | |
| 561 | + action: 'wppm_remove_subtask', | |
| 562 | + subtask_id: subtask_id, | |
| 563 | + _ajax_nonce: jQuery('#wppm_remove_subtask_ajax_nonce').val() | |
| 564 | + }; | |
| 565 | + jQuery.post(wppm_admin.ajax_url, data, function(response) { | |
| 566 | + if((proj_id!=0)&&(proj_id!="")){ | |
| 567 | + wppm_open_project_tasks(task_id,proj_id); | |
| 568 | + }else{ | |
| 569 | + wppm_open_task(task_id); | |
| 570 | + } | |
| 571 | + }); | |
| 572 | +} | |
| 573 | + | |
| 574 | +function wppm_convert_subtask_to_task(subtask_id,reload_task_id,proj_id){ | |
| 575 | + const flag = confirm(wppm_admin.confirm); | |
| 576 | + if (!flag) return; | |
| 577 | + var data = { | |
| 578 | + action: 'wppm_convert_subtask_to_task', | |
| 579 | + subtask_id: subtask_id, | |
| 580 | + _ajax_nonce: jQuery('#wppm_convert_subtask_to_task_ajax_nonce').val() | |
| 581 | + }; | |
| 582 | + jQuery.post(wppm_admin.ajax_url, data, function(response) { | |
| 583 | + if((proj_id!=0)&&(proj_id!="")){ | |
| 584 | + wppm_open_project_tasks(reload_task_id,proj_id); | |
| 585 | + }else{ | |
| 586 | + wppm_open_task(reload_task_id); | |
| 587 | + } | |
| 588 | + }); | |
| 589 | +} | |
| 590 | + | |
| 591 | +function wppm_toggle_subtask_status(subtask_id,task_id,proj_id,default_status_id,is_checked){ | |
| 592 | + var status_id = is_checked ? 4 : default_status_id; | |
| 593 | + var data = { | |
| 594 | + action: 'wppm_set_change_task_status', | |
| 595 | + task_id: subtask_id, | |
| 596 | + wppm_status: status_id, | |
| 597 | + _ajax_nonce: jQuery('#wppm_subtask_status_ajax_nonce').val() | |
| 598 | + }; | |
| 599 | + jQuery.post(wppm_admin.ajax_url, data, function(response) { | |
| 600 | + if((proj_id!=0)&&(proj_id!="")){ | |
| 601 | + wppm_open_project_tasks(task_id,proj_id); | |
| 602 | + }else{ | |
| 603 | + wppm_open_task(task_id); | |
| 604 | + } | |
| 605 | + }); | |
| 606 | +} | |
| 607 | + | |
| 476 | 608 | function wppm_open_individual_task(id){ |
| 477 | 609 | jQuery('#wppm_project_container').show(); |
| 478 | 610 | jQuery('#wppm_project_container').html(wppm_admin.loading_html); |
| 479 | 611 | var data = { |
| @@ -492,8 +624,9 @@ | ||
| 492 | 624 | jQuery('#wppm_task_container').html(wppm_admin.loading_html); |
| 493 | 625 | var data = { |
| 494 | 626 | action: 'wppm_get_task_list_card_view', |
| 495 | 627 | task_search: task_search, |
| 628 | + wppm_task_filter: wppm_task_filter, | |
| 496 | 629 | page:page, |
| 497 | 630 | id:id |
| 498 | 631 | }; |
| 499 | 632 | jQuery.post(wppm_admin.ajax_url, data, function(response) { |
| @@ -711,32 +844,37 @@ | ||
| 711 | 844 | } |
| 712 | 845 | }); |
| 713 | 846 | } |
| 714 | 847 | |
| 715 | -function wppm_set_change_task_details(task_id,proj_id,project_id){ | |
| 716 | - var dataform = new FormData(jQuery('#frm_get_edit_task_deatils')[0]); | |
| 717 | - var description = tinyMCE.get('wppm_edit_task_description').getContent().trim(); | |
| 718 | - dataform.append('wppm_edit_task_description', description); | |
| 719 | - if(proj_id==0){ | |
| 720 | - wppm_task_modal_close(); | |
| 721 | - }else{ | |
| 722 | - wppm_modal_close(); | |
| 723 | - } | |
| 724 | - jQuery('#wppm_task_container').html(wppm_admin.loading_html); | |
| 725 | - jQuery.ajax({ | |
| 726 | - url: wppm_admin.ajax_url, | |
| 727 | - type: 'POST', | |
| 728 | - data: dataform, | |
| 729 | - processData: false, | |
| 730 | - contentType: false | |
| 731 | - }) | |
| 732 | - .done(function (response_str) { | |
| 733 | - if((proj_id!=0)||(proj_id!="")){ | |
| 734 | - wppm_open_project_tasks(task_id,proj_id); | |
| 735 | - }else if((proj_id==0)||(proj_id=="")){ | |
| 736 | - wppm_open_task(task_id,project_id); | |
| 848 | +function wppm_set_change_task_details(task_id, proj_id, project_id) { | |
| 849 | + var dataform = new FormData(jQuery('#frm_get_edit_task_deatils')[0]); | |
| 850 | + var editor = tinyMCE.get('wppm_edit_task_description'); | |
| 851 | + var description = ''; | |
| 852 | + if (editor) { | |
| 853 | + description = editor.getContent().trim(); | |
| 854 | + } else { | |
| 855 | + description = jQuery('#wppm_edit_task_description').val().trim(); | |
| 737 | 856 | } |
| 738 | - }); | |
| 857 | + dataform.append('wppm_edit_task_description', description); | |
| 858 | + if (proj_id == 0) { | |
| 859 | + wppm_task_modal_close(); | |
| 860 | + } else { | |
| 861 | + wppm_modal_close(); | |
| 862 | + } | |
| 863 | + jQuery('#wppm_task_container').html(wppm_admin.loading_html); | |
| 864 | + jQuery.ajax({ | |
| 865 | + url: wppm_admin.ajax_url, | |
| 866 | + type: 'POST', | |
| 867 | + data: dataform, | |
| 868 | + processData: false, | |
| 869 | + contentType: false | |
| 870 | + }).done(function(response_str) { | |
| 871 | + if (proj_id != 0 && proj_id != "") { | |
| 872 | + wppm_open_project_tasks(task_id, proj_id); | |
| 873 | + } else { | |
| 874 | + wppm_open_task(task_id, project_id); | |
| 875 | + } | |
| 876 | + }); | |
| 739 | 877 | } |
| 740 | 878 | |
| 741 | 879 | function wppm_edit_thread(comment_id,task_id,proj_id){ |
| 742 | 880 | if(proj_id==0){ |
| @@ -1210,20 +1348,49 @@ | ||
| 1210 | 1348 | jQuery('#wppm_popup_body').html(response_str); |
| 1211 | 1349 | }); |
| 1212 | 1350 | } |
| 1213 | 1351 | |
| 1214 | -function wppm_load_prev_page(prev_page_no,page_no,sort_by, order){ | |
| 1215 | - if(prev_page_no!=0){ | |
| 1216 | - page_no=prev_page_no-1; | |
| 1217 | - wppm_get_project_list(page_no,sort_by,order); | |
| 1218 | - } | |
| 1352 | +function wppm_load_prev_page(prev_page_no, page_no, sort_by, order, is_archieved) { | |
| 1353 | + if (prev_page_no != 0) { | |
| 1354 | + page_no = prev_page_no - 1; | |
| 1355 | + if (parseInt(is_archieved) === 1) { | |
| 1356 | + wppm_get_archieve_project_list( | |
| 1357 | + page_no, | |
| 1358 | + sort_by, | |
| 1359 | + order, | |
| 1360 | + 1 | |
| 1361 | + ); | |
| 1362 | + } else { | |
| 1363 | + wppm_get_project_list( | |
| 1364 | + page_no, | |
| 1365 | + sort_by, | |
| 1366 | + order | |
| 1367 | + ); | |
| 1368 | + } | |
| 1369 | + } | |
| 1370 | + return false; | |
| 1219 | 1371 | } |
| 1220 | 1372 | |
| 1221 | -function wppm_load_next_page(next_page_no,page_no,sort_by,order){ | |
| 1222 | - if(next_page_no!=page_no){ | |
| 1223 | - page_no = next_page_no; | |
| 1224 | - wppm_get_project_list(page_no,sort_by,order); | |
| 1225 | - } | |
| 1373 | +function wppm_load_next_page(next_page_no, page_no, sort_by, order, is_archieved) { | |
| 1374 | + if (next_page_no != page_no) { | |
| 1375 | + page_no = next_page_no; | |
| 1376 | + if (parseInt(is_archieved) === 1) { | |
| 1377 | + wppm_get_archieve_project_list( | |
| 1378 | + page_no, | |
| 1379 | + sort_by, | |
| 1380 | + order, | |
| 1381 | + 1 | |
| 1382 | + ); | |
| 1383 | + } else { | |
| 1384 | + wppm_get_project_list( | |
| 1385 | + page_no, | |
| 1386 | + sort_by, | |
| 1387 | + order | |
| 1388 | + ); | |
| 1389 | + } | |
| 1390 | + } | |
| 1391 | + | |
| 1392 | + return false; | |
| 1226 | 1393 | } |
| 1227 | 1394 | |
| 1228 | 1395 | function wppm_load_prev_task_page(prev_page_no,page_no, sort_by, order){ |
| 1229 | 1396 | if(prev_page_no!=0){ |
| @@ -1302,15 +1469,17 @@ | ||
| 1302 | 1469 | jQuery('#wppm_project_container').html(response); |
| 1303 | 1470 | }); |
| 1304 | 1471 | } |
| 1305 | 1472 | |
| 1306 | -function wppm_project_search_filter(){ | |
| 1473 | +function wppm_project_search_filter(is_archieved){ | |
| 1307 | 1474 | var project_search = jQuery("#wppm_project_search_filter").val(); |
| 1308 | 1475 | jQuery('#wppm_project_container').show(); |
| 1309 | 1476 | jQuery('#wppm_project_container').html(wppm_admin.loading_html); |
| 1310 | 1477 | var data = { |
| 1311 | 1478 | action: 'wppm_get_project_list', |
| 1312 | - project_search:project_search | |
| 1479 | + project_search:project_search, | |
| 1480 | + page: wppm_admin.page, | |
| 1481 | + is_archieved:is_archieved | |
| 1313 | 1482 | }; |
| 1314 | 1483 | jQuery.post(wppm_admin.ajax_url, data, function(response) { |
| 1315 | 1484 | jQuery('#wppm_project_container').html(response); |
| 1316 | 1485 | }); |
| @@ -1386,9 +1555,10 @@ | ||
| 1386 | 1555 | jQuery('#wppm_project_container').html(wppm_admin.loading_html); |
| 1387 | 1556 | var data = { |
| 1388 | 1557 | action: 'wppm_get_project_list', |
| 1389 | 1558 | sort_by:sort_by, |
| 1390 | - order:order | |
| 1559 | + order:order, | |
| 1560 | + page: wppm_admin.page | |
| 1391 | 1561 | }; |
| 1392 | 1562 | jQuery.post(wppm_admin.ajax_url, data, function(response) { |
| 1393 | 1563 | jQuery('#wppm_project_container').html(response); |
| 1394 | 1564 | }); |
| @@ -1818,14 +1988,16 @@ | ||
| 1818 | 1988 | jQuery.post(wppm_admin.ajax_url, data, function() { |
| 1819 | 1989 | }); |
| 1820 | 1990 | } |
| 1821 | 1991 | |
| 1822 | -function wppm_apply_project_filter(){ | |
| 1992 | +function wppm_apply_project_filter(is_archieved){ | |
| 1823 | 1993 | wppm_project_filter = jQuery('#wppm_project_filter').find(":selected").val(); |
| 1824 | 1994 | jQuery('#wppm_project_container').html(wppm_admin.loading_html); |
| 1825 | 1995 | var data = { |
| 1826 | 1996 | action: 'wppm_get_project_list', |
| 1827 | - wppm_project_filter:wppm_project_filter | |
| 1997 | + wppm_project_filter:wppm_project_filter, | |
| 1998 | + page:wppm_admin.page, | |
| 1999 | + is_archieved:is_archieved | |
| 1828 | 2000 | }; |
| 1829 | 2001 | jQuery.post(wppm_admin.ajax_url, data, function(response) { |
| 1830 | 2002 | jQuery('#wppm_project_container').html(response); |
| 1831 | 2003 | }); |
| @@ -1830,22 +2002,70 @@ | ||
| 1830 | 2002 | jQuery('#wppm_project_container').html(response); |
| 1831 | 2003 | }); |
| 1832 | 2004 | } |
| 1833 | 2005 | |
| 1834 | -function wppm_apply_task_filter(page){ | |
| 1835 | - wppm_task_filter = jQuery('#wppm_task_filter').find(":selected").val(); | |
| 2006 | +function getWppmCookie(name) { | |
| 2007 | + const match = document.cookie.match(new RegExp('(^| )' + name + '=([^;]+)')); | |
| 2008 | + if (match) return decodeURIComponent(match[2]); | |
| 2009 | + return null; | |
| 2010 | +} | |
| 2011 | + | |
| 2012 | +function wppm_apply_task_filter(page = 1, listFilters = null) { | |
| 2013 | + // 🔥 use passed filters OR read from UI | |
| 2014 | + if (!listFilters) { | |
| 2015 | + listFilters = { | |
| 2016 | + created_by: jQuery("#tb-created-by").val() || [], | |
| 2017 | + assigned: jQuery("#tb-assigned").val() || [], | |
| 2018 | + priority: jQuery("#tb-priority").val() || [], | |
| 2019 | + start_date: jQuery("#tb-start-date").val() || "", | |
| 2020 | + end_date: jQuery("#tb-end-date").val() || "" | |
| 2021 | + }; | |
| 2022 | + } | |
| 2023 | + // 🔥 get main filter | |
| 2024 | + let wppm_task_filter = jQuery('#wppm_task_filter').val(); | |
| 1836 | 2025 | jQuery('#wppm_task_container').html(wppm_admin.loading_html); |
| 1837 | - var data = { | |
| 2026 | + jQuery.post(wppm_admin.ajax_url, { | |
| 1838 | 2027 | action: 'wppm_get_task_list', |
| 1839 | - wppm_task_filter:wppm_task_filter, | |
| 1840 | - page:page | |
| 1841 | - }; | |
| 1842 | - jQuery.post(wppm_admin.ajax_url, data, function(response) { | |
| 2028 | + wppm_task_filter: wppm_task_filter, | |
| 2029 | + page: wppm_admin.page, | |
| 2030 | + page_no: page - 1, | |
| 2031 | + listFilters: JSON.stringify(listFilters) // ✅ ALWAYS stringify | |
| 2032 | + }, function (response) { | |
| 1843 | 2033 | jQuery('#wppm_task_container').html(response); |
| 1844 | - }); | |
| 2034 | + // 🔥 save cookie | |
| 2035 | + setListFilterCookie(listFilters); | |
| 2036 | + // 🔥 sync UI | |
| 2037 | + setTimeout(function () { | |
| 2038 | + syncUIWithFilters(listFilters); | |
| 2039 | + renderActiveFilters(listFilters); | |
| 2040 | + }, 100); | |
| 2041 | + | |
| 2042 | + }); | |
| 1845 | 2043 | } |
| 1846 | 2044 | |
| 1847 | 2045 | function wppm_tl_reset_filter(page){ |
| 2046 | + var url = new URL(window.location.href); | |
| 2047 | + if (url.searchParams.has('wppm_task_filter')) { | |
| 2048 | + url.searchParams.delete('wppm_task_filter'); | |
| 2049 | + window.location.href = url.toString(); | |
| 2050 | + return false; | |
| 2051 | + } | |
| 2052 | + // ✅ close popup | |
| 2053 | + jQuery("#tb-advanced-panel").removeClass("tb-open"); | |
| 2054 | + jQuery("#tb-backdrop").removeClass("active"); | |
| 2055 | + | |
| 2056 | + // ✅ clear inputs | |
| 2057 | + jQuery('#tb-advanced-panel input').val(''); | |
| 2058 | + jQuery('#tb-advanced-panel select').val([]); | |
| 2059 | + | |
| 2060 | + // ✅ clear chips | |
| 2061 | + jQuery("#tb-active-filters").html(''); | |
| 2062 | + | |
| 2063 | + // ✅ clear advanced filters + cookie BEFORE requesting the list, otherwise | |
| 2064 | + // this request still sends the stale tb_list_filters cookie and the | |
| 2065 | + // reset only takes effect on the next click | |
| 2066 | + resetFilters('list'); | |
| 2067 | + | |
| 1848 | 2068 | jQuery('#wppm_task_container').html(wppm_admin.loading_html); |
| 1849 | 2069 | var data = { |
| 1850 | 2070 | action: 'wppm_get_task_list', |
| 1851 | 2071 | wppm_task_filter:'all', |
| @@ -1856,27 +2076,73 @@ | ||
| 1856 | 2076 | page:page |
| 1857 | 2077 | }; |
| 1858 | 2078 | jQuery.post(wppm_admin.ajax_url, data, function(response) { |
| 1859 | 2079 | jQuery('#wppm_task_container').html(response); |
| 1860 | - }); | |
| 2080 | + }); | |
| 1861 | 2081 | } |
| 1862 | 2082 | |
| 1863 | -function wppm_apply_task_filter_grid_view(page,id){ | |
| 2083 | +function wppm_apply_task_filter_grid_view(page,id,filters){ | |
| 1864 | 2084 | wppm_task_filter = jQuery('#wppm_task_filter').find(":selected").val(); |
| 1865 | - jQuery('#wppm_task_container').html(wppm_admin.loading_html); | |
| 2085 | + if (!filters) { | |
| 2086 | + filters = { | |
| 2087 | + created_by: jQuery("#tb-created-by").val() || [], | |
| 2088 | + assigned: jQuery("#tb-assigned").val() || [], | |
| 2089 | + priority: jQuery("#tb-priority").val() || [], | |
| 2090 | + start_date: jQuery("#tb-start-date").val() || "", | |
| 2091 | + end_date: jQuery("#tb-end-date").val() || "" | |
| 2092 | + }; | |
| 2093 | + } | |
| 2094 | + jQuery('#wppm_task_container').html(wppm_admin.loading_html); | |
| 1866 | 2095 | var data = { |
| 1867 | 2096 | action: 'wppm_view_project_tasks', |
| 1868 | 2097 | wppm_task_filter:wppm_task_filter, |
| 1869 | - page:page, | |
| 1870 | - id:id | |
| 2098 | + page: wppm_admin.page, | |
| 2099 | + page_no: (typeof page === 'number' ? page - 1 : 0), | |
| 2100 | + id:id, | |
| 2101 | + filters: JSON.stringify(filters) | |
| 1871 | 2102 | }; |
| 1872 | 2103 | jQuery.post(wppm_admin.ajax_url, data, function(response) { |
| 1873 | 2104 | jQuery('#wppm_task_container').html(response); |
| 2105 | + // 🔥 save cookie | |
| 2106 | + setFilterCookie(filters); | |
| 2107 | + | |
| 2108 | + // 🔥 sync UI | |
| 2109 | + setTimeout(function () { | |
| 2110 | + syncUIWithFilters(filters); | |
| 2111 | + renderActiveFilters(filters); | |
| 2112 | + }, 100); | |
| 1874 | 2113 | }); |
| 1875 | 2114 | } |
| 1876 | 2115 | |
| 1877 | 2116 | function wppm_tl_reset_grid_view_filter(page,id){ |
| 1878 | - jQuery('#wppm_task_container').html(wppm_admin.loading_html); | |
| 2117 | + var url = new URL(window.location.href); | |
| 2118 | + if (url.searchParams.has('wppm_task_filter')) { | |
| 2119 | + url.searchParams.delete('wppm_task_filter'); | |
| 2120 | + window.location.href = url.toString(); | |
| 2121 | + return false; | |
| 2122 | + } | |
| 2123 | + // ✅ close popup | |
| 2124 | + jQuery("#tb-advanced-panel").removeClass("tb-open"); | |
| 2125 | + jQuery("#tb-backdrop").removeClass("active"); | |
| 2126 | + | |
| 2127 | + // ✅ clear inputs | |
| 2128 | + jQuery('#tb-advanced-panel input').val(''); | |
| 2129 | + jQuery('#tb-advanced-panel select').val([]); | |
| 2130 | + | |
| 2131 | + // ✅ clear chips | |
| 2132 | + jQuery("#tb-active-filters").html(''); | |
| 2133 | + window.localStorage.removeItem('wppm_task_filter'); | |
| 2134 | + | |
| 2135 | + // ✅ clear advanced filters + cookie BEFORE requesting the list, otherwise | |
| 2136 | + // this request still sends the stale filters cookie and the reset only | |
| 2137 | + // takes effect on the next click | |
| 2138 | + if(id!=0){ | |
| 2139 | + resetFilters('kanban'); | |
| 2140 | + }else{ | |
| 2141 | + resetFilters('grid'); | |
| 2142 | + } | |
| 2143 | + | |
| 2144 | + jQuery('#wppm_task_container').html(wppm_admin.loading_html); | |
| 1879 | 2145 | var data = { |
| 1880 | 2146 | action: 'wppm_view_project_tasks', |
| 1881 | 2147 | wppm_task_filter:'all', |
| 1882 | 2148 | task_search:"", |
| @@ -1886,24 +2152,48 @@ | ||
| 1886 | 2152 | page:page, |
| 1887 | 2153 | id:id |
| 1888 | 2154 | }; |
| 1889 | 2155 | jQuery.post(wppm_admin.ajax_url, data, function(response) { |
| 1890 | - jQuery('#wppm_task_container').html(response); | |
| 1891 | - }); | |
| 2156 | + jQuery('#wppm_task_container').html(response); | |
| 2157 | + }); | |
| 1892 | 2158 | } |
| 2159 | +function wppm_pl_reset_filter(is_archieved) { | |
| 2160 | + var url = new URL(window.location.href); | |
| 2161 | + if (url.searchParams.has('wppm_project_filter')) { | |
| 2162 | + url.searchParams.delete('wppm_project_filter'); | |
| 2163 | + window.location.href = url.toString(); | |
| 2164 | + return false; | |
| 2165 | + } | |
| 2166 | + // close popup | |
| 2167 | + jQuery("#tb-advanced-panel").removeClass("tb-open"); | |
| 2168 | + jQuery("#tb-backdrop").removeClass("active"); | |
| 2169 | + // clear inputs | |
| 2170 | + jQuery('#tb-advanced-panel input').val(''); | |
| 2171 | + jQuery('#tb-advanced-panel select').val([]); | |
| 2172 | + // clear chips | |
| 2173 | + jQuery("#tb-active-filters").html(''); | |
| 1893 | 2174 | |
| 1894 | -function wppm_pl_reset_filter(){ | |
| 1895 | - jQuery('#wppm_project_container').html(wppm_admin.loading_html); | |
| 1896 | - var data = { | |
| 1897 | - action: 'wppm_get_project_list', | |
| 1898 | - wppm_project_filter:'all', | |
| 1899 | - project_search:"", | |
| 1900 | - sort_by:"project_name", | |
| 1901 | - order:"ASC" | |
| 1902 | - }; | |
| 1903 | - jQuery.post(wppm_admin.ajax_url, data, function(response) { | |
| 1904 | - jQuery('#wppm_project_container').html(response); | |
| 1905 | - }); | |
| 2175 | + // clear advanced filters + cookie BEFORE requesting the list, otherwise | |
| 2176 | + // this request still sends the stale tb_proj_list_filters cookie and the | |
| 2177 | + // reset only takes effect on the next click | |
| 2178 | + resetProjectFilters(is_archieved); | |
| 2179 | + | |
| 2180 | + jQuery('#wppm_project_container').html(wppm_admin.loading_html); | |
| 2181 | + var data = { | |
| 2182 | + action: 'wppm_get_project_list', | |
| 2183 | + wppm_project_filter: 'all', | |
| 2184 | + project_search: '', | |
| 2185 | + sort_by: 'project_name', | |
| 2186 | + order: 'ASC', | |
| 2187 | + page: wppm_admin.page, | |
| 2188 | + is_archieved: is_archieved, | |
| 2189 | + // send explicit empty filters so the server doesn't fall back to | |
| 2190 | + // the (possibly not-yet-expired) tb_proj_list_filters cookie | |
| 2191 | + filters: JSON.stringify({}) | |
| 2192 | + }; | |
| 2193 | + jQuery.post(wppm_admin.ajax_url, data, function(response) { | |
| 2194 | + jQuery('#wppm_project_container').html(response); | |
| 2195 | + }); | |
| 1906 | 2196 | } |
| 1907 | 2197 | |
| 1908 | 2198 | function wppm_tasks_by_select_project(page){ |
| 1909 | 2199 | wppm_proj_filter = jQuery('#wppm_task_list_proj_filter').find(":selected").val(); |
| @@ -2349,8 +2639,23 @@ | ||
| 2349 | 2639 | }); |
| 2350 | 2640 | } |
| 2351 | 2641 | } |
| 2352 | 2642 | |
| 2643 | +function wppm_archive_project(project_id,is_archived){ | |
| 2644 | + if (!confirm(wppm_admin.confirm)) { | |
| 2645 | + return; | |
| 2646 | + } else { | |
| 2647 | + var data = { | |
| 2648 | + action: 'wppm_archive_project', | |
| 2649 | + project_id: project_id, | |
| 2650 | + is_archived: is_archived, | |
| 2651 | + }; | |
| 2652 | + jQuery.post(wppm_admin.ajax_url, data, function() { | |
| 2653 | + wppm_open_project(project_id); | |
| 2654 | + }); | |
| 2655 | + } | |
| 2656 | +} | |
| 2657 | + | |
| 2353 | 2658 | function wppm_get_print_task_settings(){ |
| 2354 | 2659 | jQuery('.wppm_setting_pills li').removeClass('active'); |
| 2355 | 2660 | jQuery('#wppm_settings_print_task').addClass('active'); |
| 2356 | 2661 | jQuery('.wppm_setting_col2').html(wppm_admin.loading_html); |
| @@ -2420,13 +2725,14 @@ | ||
| 2420 | 2725 | wppm_open_task(task_id); |
| 2421 | 2726 | }); |
| 2422 | 2727 | } |
| 2423 | 2728 | |
| 2424 | -function wppm_get_project_tasks_kanban_view(proj_id){ | |
| 2729 | +function wppm_get_project_tasks_kanban_view(proj_id, KanbanFilters = {}) { | |
| 2425 | 2730 | jQuery('#wppm_project_container').html(wppm_admin.loading_html); |
| 2426 | 2731 | var data = { |
| 2427 | 2732 | action: 'wppm_get_project_tasks_kanban_view', |
| 2428 | - id:proj_id | |
| 2733 | + id: proj_id, | |
| 2734 | + filters: JSON.stringify(KanbanFilters) | |
| 2429 | 2735 | }; |
| 2430 | 2736 | jQuery.post(wppm_admin.ajax_url, data, function(response) { |
| 2431 | 2737 | jQuery('#wppm_project_container').html(response); |
| 2432 | 2738 | }); |
| @@ -2431,4 +2737,364 @@ | ||
| 2431 | 2737 | jQuery('#wppm_project_container').html(response); |
| 2432 | 2738 | }); |
| 2433 | 2739 | } |
| 2434 | 2740 | |
| 2741 | +function renderActiveFilters(filters) { | |
| 2742 | + let box = document.getElementById("tb-active-filters"); | |
| 2743 | + if (!box) { | |
| 2744 | + return; | |
| 2745 | + } | |
| 2746 | + // CLEAR OLD CHIPS | |
| 2747 | + box.innerHTML = ""; | |
| 2748 | + if (!filters || typeof filters !== "object") { | |
| 2749 | + return; | |
| 2750 | + } | |
| 2751 | + // CREATED BY | |
| 2752 | + if (Array.isArray(filters.created_by)) { | |
| 2753 | + filters.created_by.forEach(function(id) { | |
| 2754 | + let text = jQuery('#tb-created-by option[value="' + id + '"]').text(); | |
| 2755 | + if (text) { | |
| 2756 | + createChip(text, "created_by", id); | |
| 2757 | + } | |
| 2758 | + }); | |
| 2759 | + } | |
| 2760 | + // ASSIGNED | |
| 2761 | + if (Array.isArray(filters.assigned)) { | |
| 2762 | + filters.assigned.forEach(function(id) { | |
| 2763 | + let text = jQuery('#tb-assigned option[value="' + id + '"]').text(); | |
| 2764 | + if (text) { | |
| 2765 | + createChip(text, "assigned", id); | |
| 2766 | + } | |
| 2767 | + }); | |
| 2768 | + } | |
| 2769 | + | |
| 2770 | + // PRIORITY | |
| 2771 | + if (Array.isArray(filters.priority)) { | |
| 2772 | + filters.priority.forEach(function(id) { | |
| 2773 | + let text = jQuery('#tb-priority option[value="' + id + '"]').text(); | |
| 2774 | + if (text) { | |
| 2775 | + createChip(text, "priority", id); | |
| 2776 | + } | |
| 2777 | + }); | |
| 2778 | + } | |
| 2779 | + | |
| 2780 | + // CATEGORY (Project List) | |
| 2781 | + if (Array.isArray(filters.category)) { | |
| 2782 | + filters.category.forEach(function(id) { | |
| 2783 | + let text = jQuery('#tb-category option[value="' + id + '"]').text(); | |
| 2784 | + if (text) { | |
| 2785 | + createChip(text, "category", id); | |
| 2786 | + } | |
| 2787 | + }); | |
| 2788 | + } | |
| 2789 | + | |
| 2790 | + // DATE CHIP | |
| 2791 | + if (filters.start_date || filters.end_date) { | |
| 2792 | + let dateText = | |
| 2793 | + (filters.start_date || "") + | |
| 2794 | + " → " + | |
| 2795 | + (filters.end_date || ""); | |
| 2796 | + createChip(dateText, "date", ""); | |
| 2797 | + } | |
| 2798 | +} | |
| 2799 | + | |
| 2800 | +function renderMulti(filters, key, selector, label) { | |
| 2801 | + if (!filters || !filters[key]) { | |
| 2802 | + return; | |
| 2803 | + } | |
| 2804 | + let values = filters[key] || []; | |
| 2805 | + if (!Array.isArray(values) || values.length === 0) { | |
| 2806 | + return; | |
| 2807 | + } | |
| 2808 | + jQuery(selector + " option").each(function () { | |
| 2809 | + let val = String(jQuery(this).val()); | |
| 2810 | + let text = jQuery(this).text(); | |
| 2811 | + if (values.map(String).includes(val)) { | |
| 2812 | + createChip(`${label}: ${text}`, key, val); | |
| 2813 | + } | |
| 2814 | + }); | |
| 2815 | +} | |
| 2816 | + | |
| 2817 | +function createChip(text, key, value) { | |
| 2818 | + let container = document.getElementById("tb-active-filters"); | |
| 2819 | + if (!container) { | |
| 2820 | + return; | |
| 2821 | + } | |
| 2822 | + let chip = document.createElement("span"); | |
| 2823 | + chip.className = "tb-chip"; | |
| 2824 | + chip.innerHTML = ` | |
| 2825 | + ${key.charAt(0).toUpperCase() + key.slice(1)}: ${text} | |
| 2826 | + <span | |
| 2827 | + class="tb-remove" | |
| 2828 | + data-key="${key}" | |
| 2829 | + data-value="${value || ''}" | |
| 2830 | + > | |
| 2831 | + ✕ | |
| 2832 | + </span> | |
| 2833 | + `; | |
| 2834 | + container.appendChild(chip); | |
| 2835 | +} | |
| 2836 | + | |
| 2837 | +function syncUIWithFilters(filters) { | |
| 2838 | + jQuery("#tb-created-by") | |
| 2839 | + .val(filters.created_by || []) | |
| 2840 | + .trigger("change"); | |
| 2841 | + | |
| 2842 | + jQuery("#tb-assigned") | |
| 2843 | + .val(filters.assigned || []) | |
| 2844 | + .trigger("change"); | |
| 2845 | + | |
| 2846 | + jQuery("#tb-priority") | |
| 2847 | + .val(filters.priority || []) | |
| 2848 | + .trigger("change"); | |
| 2849 | + | |
| 2850 | + jQuery("#tb-category") | |
| 2851 | + .val(filters.category || []) | |
| 2852 | + .trigger("change"); | |
| 2853 | + | |
| 2854 | + jQuery("#tb-start-date") | |
| 2855 | + .val(filters.start_date || ""); | |
| 2856 | + | |
| 2857 | + jQuery("#tb-end-date") | |
| 2858 | + .val(filters.end_date || ""); | |
| 2859 | +} | |
| 2860 | + | |
| 2861 | +function resetFilters(view_type) { | |
| 2862 | + let emptyFilters = { | |
| 2863 | + created_by: [], | |
| 2864 | + assigned: [], | |
| 2865 | + priority: [], | |
| 2866 | + start_date: "", | |
| 2867 | + end_date: "", | |
| 2868 | + id: jQuery('#wppm_proj_id').val() || 0 | |
| 2869 | + }; | |
| 2870 | + // Reset UI fields | |
| 2871 | + jQuery("#tb-created-by").val(null).trigger("change"); | |
| 2872 | + jQuery("#tb-assigned").val(null).trigger("change"); | |
| 2873 | + jQuery("#tb-priority").val(null).trigger("change"); | |
| 2874 | + jQuery("#tb-start-date").val(""); | |
| 2875 | + jQuery("#tb-end-date").val(""); | |
| 2876 | + if (view_type === 'grid') { | |
| 2877 | + window.filters = { ...emptyFilters }; | |
| 2878 | + // Delete cookie | |
| 2879 | + document.cookie = | |
| 2880 | + "tb_filters=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;"; | |
| 2881 | + // Apply fresh filters | |
| 2882 | + wppm_apply_task_filter_grid_view('0',emptyFilters.id,window.filters); | |
| 2883 | + } | |
| 2884 | + if (view_type === 'list') { | |
| 2885 | + window.listFilters = { ...emptyFilters }; | |
| 2886 | + // Delete cookie | |
| 2887 | + document.cookie = | |
| 2888 | + "tb_list_filters=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;"; | |
| 2889 | + // Apply fresh filters | |
| 2890 | + wppm_apply_task_filter(1, window.listFilters); | |
| 2891 | + } | |
| 2892 | + if (view_type === 'kanban') { | |
| 2893 | + window.KanbanFilters = { ...emptyFilters }; | |
| 2894 | + // Delete cookie | |
| 2895 | + document.cookie = | |
| 2896 | + "tb_kanban_filters=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;"; | |
| 2897 | + // Apply fresh filters | |
| 2898 | + wppm_get_project_tasks_kanban_view( | |
| 2899 | + window.KanbanFilters.id, | |
| 2900 | + window.KanbanFilters | |
| 2901 | + ); | |
| 2902 | + } | |
| 2903 | +} | |
| 2904 | + | |
| 2905 | +function getFilterCookie() { | |
| 2906 | + let name = "tb_filters="; | |
| 2907 | + let arr = document.cookie.split(';'); | |
| 2908 | + for (let i = 0; i < arr.length; i++) { | |
| 2909 | + let c = arr[i].trim(); | |
| 2910 | + if (c.indexOf(name) === 0) { | |
| 2911 | + try { | |
| 2912 | + return JSON.parse(decodeURIComponent(c.substring(name.length))); | |
| 2913 | + } catch (e) { | |
| 2914 | + return null; | |
| 2915 | + } | |
| 2916 | + } | |
| 2917 | + } | |
| 2918 | + return null; | |
| 2919 | +} | |
| 2920 | + | |
| 2921 | +function getListFilterCookie() { | |
| 2922 | + let name = "tb_list_filters="; | |
| 2923 | + let arr = document.cookie.split(';'); | |
| 2924 | + for (let i = 0; i < arr.length; i++) { | |
| 2925 | + let c = arr[i].trim(); | |
| 2926 | + if (c.indexOf(name) === 0) { | |
| 2927 | + try { | |
| 2928 | + return JSON.parse(decodeURIComponent(c.substring(name.length))); | |
| 2929 | + } catch (e) { | |
| 2930 | + return null; | |
| 2931 | + } | |
| 2932 | + } | |
| 2933 | + } | |
| 2934 | + return null; | |
| 2935 | +} | |
| 2936 | + | |
| 2937 | +function getKanbanFilterCookie() { | |
| 2938 | + let name = "tb_kanban_filters="; | |
| 2939 | + let arr = document.cookie.split(';'); | |
| 2940 | + for (let i = 0; i < arr.length; i++) { | |
| 2941 | + let c = arr[i].trim(); | |
| 2942 | + if (c.indexOf(name) === 0) { | |
| 2943 | + try { | |
| 2944 | + return JSON.parse(decodeURIComponent(c.substring(name.length))); | |
| 2945 | + } catch (e) { | |
| 2946 | + return null; | |
| 2947 | + } | |
| 2948 | + } | |
| 2949 | + } | |
| 2950 | + return null; | |
| 2951 | +} | |
| 2952 | + | |
| 2953 | +function setFilterCookie(filters) { | |
| 2954 | + document.cookie = | |
| 2955 | + "tb_filters=" + encodeURIComponent(JSON.stringify(filters)) + | |
| 2956 | + ";path=/;max-age=" + (60 * 60 * 24); | |
| 2957 | +} | |
| 2958 | + | |
| 2959 | +function setListFilterCookie(listFilters) { | |
| 2960 | + document.cookie = | |
| 2961 | + "tb_list_filters=" + encodeURIComponent(JSON.stringify(listFilters)) + | |
| 2962 | + ";path=/;max-age=" + (60 * 60 * 24); | |
| 2963 | +} | |
| 2964 | + | |
| 2965 | +function setKanbanFilterCookie(KanbanFilters) { | |
| 2966 | + document.cookie = | |
| 2967 | + "tb_kanban_filters=" + encodeURIComponent(JSON.stringify(KanbanFilters)) + | |
| 2968 | + ";path=/;max-age=" + (60 * 60 * 24); | |
| 2969 | +} | |
| 2970 | + | |
| 2971 | +let filterTimeout; | |
| 2972 | +function triggerFilter(page = 1, filters = {}, view_type = 'list', proj_id = 0) { | |
| 2973 | + clearTimeout(filterTimeout); | |
| 2974 | + filterTimeout = setTimeout(function () { | |
| 2975 | + if (view_type === 'grid') { | |
| 2976 | + wppm_apply_task_filter_grid_view( | |
| 2977 | + page, | |
| 2978 | + proj_id, | |
| 2979 | + filters | |
| 2980 | + ); | |
| 2981 | + } | |
| 2982 | + if (view_type === 'list') { | |
| 2983 | + wppm_apply_task_filter( | |
| 2984 | + page, | |
| 2985 | + filters | |
| 2986 | + ); | |
| 2987 | + } | |
| 2988 | + if (view_type === 'kanban') { | |
| 2989 | + wppm_get_project_tasks_kanban_view( | |
| 2990 | + proj_id, | |
| 2991 | + filters | |
| 2992 | + ); | |
| 2993 | + } | |
| 2994 | + }, 300); | |
| 2995 | +} | |
| 2996 | + | |
| 2997 | +// ================= PROJECT LIST ADVANCED FILTER ================= | |
| 2998 | +function getProjectListFilterCookie() { | |
| 2999 | + let name = "tb_proj_list_filters="; | |
| 3000 | + let arr = document.cookie.split(';'); | |
| 3001 | + for (let i = 0; i < arr.length; i++) { | |
| 3002 | + let c = arr[i].trim(); | |
| 3003 | + if (c.indexOf(name) === 0) { | |
| 3004 | + try { | |
| 3005 | + return JSON.parse(decodeURIComponent(c.substring(name.length))); | |
| 3006 | + } catch (e) { | |
| 3007 | + return null; | |
| 3008 | + } | |
| 3009 | + } | |
| 3010 | + } | |
| 3011 | + return null; | |
| 3012 | +} | |
| 3013 | + | |
| 3014 | +function setProjectListFilterCookie(projectFilters) { | |
| 3015 | + document.cookie = | |
| 3016 | + "tb_proj_list_filters=" + encodeURIComponent(JSON.stringify(projectFilters)) + | |
| 3017 | + ";path=/;max-age=" + (60 * 60 * 24); | |
| 3018 | +} | |
| 3019 | + | |
| 3020 | +function resetProjectFilters(is_archieved) { | |
| 3021 | + let emptyFilters = { | |
| 3022 | + created_by: [], | |
| 3023 | + assigned: [], | |
| 3024 | + category: [], | |
| 3025 | + start_date: "", | |
| 3026 | + end_date: "" | |
| 3027 | + }; | |
| 3028 | + jQuery("#tb-created-by").val(null).trigger("change"); | |
| 3029 | + jQuery("#tb-assigned").val(null).trigger("change"); | |
| 3030 | + jQuery("#tb-category").val(null).trigger("change"); | |
| 3031 | + jQuery("#tb-start-date").val(""); | |
| 3032 | + jQuery("#tb-end-date").val(""); | |
| 3033 | + window.projectFilters = { ...emptyFilters }; | |
| 3034 | + document.cookie = "tb_proj_list_filters=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;"; | |
| 3035 | + jQuery("#tb-advanced-panel").removeClass("tb-open"); | |
| 3036 | + jQuery("#tb-backdrop").removeClass("active"); | |
| 3037 | + jQuery("#tb-active-filters").html(''); | |
| 3038 | + wppm_apply_project_filter_advanced(1, window.projectFilters, is_archieved); | |
| 3039 | +} | |
| 3040 | + | |
| 3041 | +let projectFilterTimeout; | |
| 3042 | +function triggerProjectFilter(page, filters, is_archieved) { | |
| 3043 | + clearTimeout(projectFilterTimeout); | |
| 3044 | + projectFilterTimeout = setTimeout(function () { | |
| 3045 | + wppm_apply_project_filter_advanced(page, filters, is_archieved); | |
| 3046 | + }, 300); | |
| 3047 | +} | |
| 3048 | + | |
| 3049 | +function wppm_apply_project_filter_advanced(page, projectFilters, is_archieved) { | |
| 3050 | + page = page || 1; | |
| 3051 | + is_archieved = is_archieved || 0; | |
| 3052 | + if (!projectFilters) { | |
| 3053 | + projectFilters = { | |
| 3054 | + created_by: jQuery("#tb-created-by").val() || [], | |
| 3055 | + assigned: jQuery("#tb-assigned").val() || [], | |
| 3056 | + category: jQuery("#tb-category").val() || [], | |
| 3057 | + start_date: jQuery("#tb-start-date").val() || "", | |
| 3058 | + end_date: jQuery("#tb-end-date").val() || "" | |
| 3059 | + }; | |
| 3060 | + } | |
| 3061 | + let wppm_project_filter_val = jQuery('#wppm_project_filter').val() || 'all'; | |
| 3062 | + jQuery('#wppm_project_container').html(wppm_admin.loading_html); | |
| 3063 | + jQuery.post(wppm_admin.ajax_url, { | |
| 3064 | + action: 'wppm_get_project_list', | |
| 3065 | + wppm_project_filter: wppm_project_filter_val, | |
| 3066 | + page: wppm_admin.page, | |
| 3067 | + page_no: page - 1, | |
| 3068 | + is_archieved: is_archieved, | |
| 3069 | + filters: JSON.stringify(projectFilters) | |
| 3070 | + }, function (response) { | |
| 3071 | + jQuery('#wppm_project_container').html(response); | |
| 3072 | + setProjectListFilterCookie(projectFilters); | |
| 3073 | + setTimeout(function () { | |
| 3074 | + syncUIWithFilters(projectFilters); | |
| 3075 | + renderActiveFilters(projectFilters); | |
| 3076 | + }, 100); | |
| 3077 | + }); | |
| 3078 | +} | |
| 3079 | + | |
| 3080 | +function wppm_archieve_project_list(){ | |
| 3081 | + jQuery('#wppm_project_container').html(wppm_admin.loading_html); | |
| 3082 | + var data = { | |
| 3083 | + action: 'wppm_archieve_project_list' | |
| 3084 | + }; | |
| 3085 | + jQuery.post(wppm_admin.ajax_url, data, function(response) { | |
| 3086 | + jQuery('#wppm_project_container').html(response); | |
| 3087 | + }); | |
| 3088 | +} | |
| 3089 | + | |
| 3090 | +function wppm_get_archieve_project_list(page_no){ | |
| 3091 | + jQuery('#wppm_project_container').html(wppm_admin.loading_html); | |
| 3092 | + var data = { | |
| 3093 | + action: 'wppm_get_project_list', | |
| 3094 | + page_no:page_no, | |
| 3095 | + is_archieved:1 | |
| 3096 | + }; | |
| 3097 | + jQuery.post(wppm_admin.ajax_url, data, function(response) { | |
| 3098 | + jQuery('#wppm_project_container').html(response); | |
| 3099 | + }); | |
| 3100 | +} | |