PluginProbe
Taskbuilder – Project Management & Task Management Tool With Kanban Board / 6.0.6
Taskbuilder – Project Management & Task Management Tool With Kanban Board v6.0.6
6.0.6 6.0.5 6.0.2 6.0.3 6.0.4 6.0.1 6.0.0 5.0.8 5.0.9 4.0.9 5.0.0 5.0.1 5.0.2 5.0.3 5.0.4 5.0.5 5.0.6 5.0.7 trunk 1.0.0 1.0.1 1.0.2 1.0.3 1.0.4 1.0.5 All 58 releases
taskbuilder / asset / js / admin.js

admin.js in Taskbuilder – Project Management & Task Management Tool With Kanban Board 6.0.6, at asset/js/admin.js

3,110 lines 89.7 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
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
29 function wppm_add_new_project(){
30 jQuery('#wppm_project_container').show();
31 jQuery('#wppm_project_container').html(wppm_admin.loading_html);
32 var data = {
33 action: 'wppm_add_new_project'
34 };
35 jQuery.post(wppm_admin.ajax_url, data, function(response) {
36 jQuery('#wppm_project_container').html(response);
37 });
38 }
39
40 function wppm_projects(){
41 jQuery('#wppm_project_container').hide();
42 jQuery('#wppm_project_list').show();
43 }
44
45 function wppm_get_users(proj_id){
46 wppm_modal_open('Add Users');
47 var data = {
48 action: 'wppm_get_users',
49 proj_id: proj_id
50 }
51 jQuery.post(wppm_admin.ajax_url, data, function(response_str) {
52 var response = JSON.parse(response_str);
53 jQuery('#wppm_popup_body').html(response.body);
54 jQuery('#wppm_popup_footer').html(response.footer);
55 });
56 }
57
58 function wppm_get_general_settings(){
59 jQuery('.wppm_setting_pills li').removeClass('active');
60 jQuery('#wppm_settings_general').addClass('active');
61 jQuery('.wppm_setting_col2').html(wppm_admin.loading_html);
62 var data = {
63 action: 'wppm_get_general_setings'
64 };
65 jQuery.post(wppm_admin.ajax_url, data, function(response) {
66 jQuery('.wppm_setting_col2').html(response);
67 });
68 }
69
70 function wppm_get_page_settings(){
71 jQuery('.wppm_setting_pills li').removeClass('active');
72 jQuery('#wppm_settings_page').addClass('active');
73 jQuery('.wppm_setting_col2').html(wppm_admin.loading_html);
74 var data = {
75 action: 'wppm_get_page_setings'
76 };
77 jQuery.post(wppm_admin.ajax_url, data, function(response) {
78 jQuery('.wppm_setting_col2').html(response);
79 });
80 }
81
82 function wppm_set_page_settings(){
83 jQuery('.wppm_submit_wait').show();
84 var dataform = new FormData(jQuery('#wppm-frm-ps')[0]);
85 jQuery.ajax({
86 url: wppm_admin.ajax_url,
87 type: 'POST',
88 data: dataform,
89 processData: false,
90 contentType: false
91 })
92 .done(function (response_str) {
93 var response = JSON.parse(response_str);
94 jQuery('.wppm_submit_wait').hide();
95 if (response.sucess_status=='1') {
96 jQuery('#wppm_alert_success .wppm_alert_text').text(response.messege);
97 }
98 jQuery('#wppm_alert_success').slideDown('fast',function(){});
99 setTimeout(function(){ jQuery('#wppm_alert_success').slideUp('fast',function(){}); }, 3000);
100 });
101 }
102
103 /*
104 * Category Settings
105 */
106 function wppm_get_category_settings(){
107 jQuery('.wppm_setting_pills li').removeClass('active');
108 jQuery('#wppm_settings_category').addClass('active');
109 jQuery('.wppm_setting_col2').html(wppm_admin.loading_html);
110 var data = {
111 action: 'wppm_get_category_settings'
112 };
113 jQuery.post(wppm_admin.ajax_url, data, function(response) {
114 jQuery('.wppm_setting_col2').html(response);
115 });
116 }
117
118 /**
119 * Delete category
120 */
121 function wppm_delete_category(cat_id) {
122
123 const flag = confirm(wppm_admin.confirm);
124 if (!flag) return;
125
126 var data = { action: 'wppm_delete_category',
127 cat_id,
128 _ajax_nonce:jQuery('#wppm_delete_cat_ajax_nonce').val()
129 };
130 jQuery.post(wppm_admin.ajax_url, data, function (res) {
131 wppm_get_category_settings();
132 });
133 }
134
135 function wppm_get_proj_status_settings(){
136 jQuery('.wppm_setting_pills li').removeClass('active');
137 jQuery('#wppm_settings_proj_status').addClass('active');
138 jQuery('.wppm_setting_col2').html(wppm_admin.loading_html);
139 var data = {
140 action: 'wppm_get_proj_status_settings'
141 };
142 jQuery.post(wppm_admin.ajax_url, data, function(response) {
143 jQuery('.wppm_setting_col2').html(response);
144 });
145 }
146
147 function wppm_get_add_proj_status(){
148 wppm_modal_open(wppm_admin.add_new_status);
149 var data = {
150 action: 'wppm_get_add_proj_status'
151 };
152 jQuery.post(wppm_admin.ajax_url, data, function(response_str) {
153 var response = JSON.parse(response_str);
154 jQuery('#wppm_popup_body').html(response.body);
155 jQuery('#wppm_popup_footer').html(response.footer);
156 jQuery('#wppm_proj_status_name').focus();
157 });
158 }
159
160 function wppm_delete_proj_status(status_id){
161 const flag = confirm(wppm_admin.confirm);
162 if (!flag) return;
163
164 var data = { action: 'wppm_delete_status', status_id,
165 _ajax_nonce:jQuery('#wppm_delete_pstatus_ajax_nonce').val()
166 };
167 jQuery.post(wppm_admin.ajax_url, data, function (res) {
168 wppm_get_proj_status_settings();
169 });
170 }
171
172 function wppm_set_project_users(){
173 var dataform = new FormData(jQuery('#frm_get_project_users')[0]);
174 jQuery('#wppm_project_container').html(wppm_admin.loading_html);
175 var proj_id = jQuery('#wppm_proj_id').val();
176 jQuery.ajax({
177 url: wppm_admin.ajax_url,
178 type: 'POST',
179 data: dataform,
180 processData: false,
181 contentType: false
182 })
183 .done(function () {
184 wppm_modal_close();
185 wppm_open_project(proj_id);
186 });
187 }
188
189 function wppm_set_task_users(proj_id,project_id){
190 var dataform = new FormData(jQuery('#frm_get_task_users')[0]);
191 jQuery('#wppm_task_container').html(wppm_admin.loading_html);
192 var task_id = jQuery('#wppm_task_id').val();
193 jQuery.ajax({
194 url: wppm_admin.ajax_url,
195 type: 'POST',
196 data: dataform,
197 processData: false,
198 contentType: false
199 })
200 .done(function () {
201 if((proj_id!=0)||(proj_id!="")){
202 wppm_task_modal_close();
203 wppm_open_project_tasks(task_id,proj_id);
204 }else if((proj_id==0)||(proj_id=="")){
205 wppm_task_modal_close();
206 wppm_open_task(task_id,project_id);
207 }
208 });
209 }
210
211 function wppm_get_project_list(page_no){
212 jQuery('#wppm_project_container').show();
213 jQuery('#wppm_project_container').html(wppm_admin.loading_html);
214 var dataform=new FormData(jQuery('#wppm_project_list_frm')[0]);
215 dataform.append("page_no", page_no);
216 dataform.append("action", 'wppm_get_project_list');
217 dataform.append("page", wppm_admin.page);
218 dataform.append("wppm_project_filter", wppm_project_filter);
219 jQuery.ajax( {
220 url: wppm_admin.ajax_url,
221 type: 'POST',
222 data: dataform,
223 processData: false,
224 contentType: false
225 })
226 .done(function( response ) {
227 jQuery('#wppm_project_container').html(response);
228 });
229 }
230
231 function wppm_add_new_task(proj_id,project_id){
232 jQuery('#wppm_task_container').show();
233 jQuery('#wppm_task_container').html(wppm_admin.loading_html);
234 var data = {
235 action: 'wppm_add_new_task',
236 proj_id:proj_id,
237 project_id:project_id
238 };
239 jQuery.post(wppm_admin.ajax_url, data, function(response) {
240 jQuery('#wppm_task_container').html(response);
241 });
242 }
243
244 function wppm_get_task_list(page_no,id){
245 jQuery('#wppm_task_container').show();
246 // window.history.replaceState( {}, null, 'admin.php?page=wppm-tasks&section=task-list' );
247 jQuery('#wppm_task_container').html(wppm_admin.loading_html);
248 var data = {
249 action: 'wppm_get_task_list',
250 page_no:page_no,
251 page:wppm_admin.page,
252 project_id:id,
253 wppm_task_filter:wppm_task_filter
254 };
255 jQuery.post(wppm_admin.ajax_url, data, function(response) {
256 jQuery('#wppm_task_container').html(response);
257 });
258 }
259
260 function wppm_get_task_prioriy_settings(){
261 jQuery('.wppm_setting_pills li').removeClass('active');
262 jQuery('#wppm_settings_task_priorities').addClass('active');
263 jQuery('.wppm_setting_col2').html(wppm_admin.loading_html);
264 var data = {
265 action: 'wppm_get_priority_settings'
266 };
267 jQuery.post(wppm_admin.ajax_url, data, function(response) {
268 jQuery('.wppm_setting_col2').html(response);
269 });
270 }
271
272 function wppm_add_task_priority(){
273 wppm_modal_open(wppm_admin.add_new_priority);
274 var data = {
275 action: 'wppm_add_task_priority'
276 };
277 jQuery.post(wppm_admin.ajax_url, data, function(response_str) {
278 var response = JSON.parse(response_str);
279 jQuery('#wppm_popup_body').html(response.body);
280 jQuery('#wppm_popup_footer').html(response.footer);
281 jQuery('#wppm_cat_name').focus();
282 });
283 }
284
285 function wppm_delete_task_priority(priority_id){
286 const flag = confirm(wppm_admin.confirm);
287 if (!flag) return;
288
289 var data = { action: 'wppm_delete_task_priority', priority_id,
290 _ajax_nonce:jQuery('#wppm_delete_tprio_ajax_nonce').val()
291 };
292 jQuery.post(wppm_admin.ajax_url, data, function (res) {
293 wppm_get_task_prioriy_settings();
294 });
295 }
296
297 function wppm_get_task_status_settings(){
298 jQuery('.wppm_setting_pills li').removeClass('active');
299 jQuery('#wppm_settings_task_status').addClass('active');
300 jQuery('.wppm_setting_col2').html(wppm_admin.loading_html);
301 var data = {
302 action: 'wppm_get_task_status_settings'
303 };
304 jQuery.post(wppm_admin.ajax_url, data, function(response) {
305 jQuery('.wppm_setting_col2').html(response);
306 });
307 }
308
309 function wppm_get_add_task_status(){
310 wppm_modal_open(wppm_admin.add_new_status);
311 var data = {
312 action: 'wppm_get_add_task_status'
313 };
314 jQuery.post(wppm_admin.ajax_url, data, function(response_str) {
315 var response = JSON.parse(response_str);
316 jQuery('#wppm_popup_body').html(response.body);
317 jQuery('#wppm_popup_footer').html(response.footer);
318 jQuery('#wppm_cat_name').focus();
319 });
320 }
321
322 function wppm_delete_task_status(status_id){
323 const flag = confirm(wppm_admin.confirm);
324 if (!flag) return;
325
326 var data = { action: 'wppm_delete_task_status', status_id,
327 _ajax_nonce: jQuery('#wppm_delete_tstatus_ajax_nonce').val()};
328 jQuery.post(wppm_admin.ajax_url, data, function (res) {
329 wppm_get_task_status_settings();
330 });
331 }
332
333 function wppm_task_search_filter(page){
334 var task_search = jQuery("#wppm_task_search_filter").val();
335 jQuery('#wppm_task_container').show();
336 jQuery('#wppm_task_container').html(wppm_admin.loading_html);
337 var data = {
338 action: 'wppm_get_task_list',
339 task_search:task_search,
340 page:page
341 };
342 jQuery.post(wppm_admin.ajax_url, data, function(response) {
343 jQuery('#wppm_task_container').html(response);
344 });
345 }
346
347 function wppm_view_task_search_filter(page_no,page,proj_id){
348 var task_search = jQuery("#wppm_view_task_search_filter").val() || '';
349 jQuery('#wppm_task_container').show();
350 jQuery('#wppm_task_container').html(wppm_admin.loading_html);
351
352 var data = {
353 action: 'wppm_get_task_list_card_view',
354 task_search:task_search,
355 page_no:page_no,
356 page:page,
357 project_id:proj_id
358 };
359 jQuery.post(wppm_admin.ajax_url, data, function(response) {
360 jQuery('#wppm_task_container').html(response);
361 });
362 }
363
364 function wppm_open_task(id,proj_id){
365 jQuery('#wppm_task_container').show();
366 jQuery('#wppm_task_container').html(wppm_admin.loading_html);
367 var data = {
368 action: 'wppm_open_task',
369 id:id,
370 auth_code: wppm_admin.auth_code,
371 page:wppm_admin.page,
372 project_id:proj_id
373 };
374 jQuery.post(wppm_admin.ajax_url, data, function(response) {
375 jQuery('#wppm_task_container').html(response);
376 });
377 }
378
379 function wppm_open_dashboard_task(id){
380 window.location.href = 'admin.php?page=wppm-tasks&task_id=' + id;
381 }
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
391 function wppm_open_project_tasks(id,proj_id){
392 wppm_modal_open('Open Tasks');
393 jQuery('#wppm_task_container').show();
394 jQuery('#wppm_task_container').html(wppm_admin.loading_html);
395 var data = {
396 action: 'wppm_open_task',
397 id: id,
398 proj_id:proj_id
399 }
400 jQuery.post(wppm_admin.ajax_url, data, function(response_str) {
401 jQuery('#wppm_popup_body').html(response_str);
402 //jQuery('#wppm_task_container').html(response_str);
403 });
404 }
405
406 function wppm_add_new_checklist(task_id,proj_id){
407 if(jQuery('#wppm_checklist_label').val()==''){
408 jQuery('#wppm_checklist_label').focus();
409 return false;
410 }
411 var data = {
412 action: 'wppm_add_new_checklist',
413 task_id: task_id,
414 proj_id: proj_id,
415 checklist_name: jQuery('#wppm_checklist_label').val(),
416 _ajax_nonce:jQuery('#wppm_checklist_ajax_nonce').val()
417 };
418 jQuery.post(wppm_admin.ajax_url, data, function(response) {
419 if((proj_id!=0)||(proj_id!="")){
420 //wppm_modal_close();
421 wppm_open_project_tasks(task_id,proj_id);
422 }else if((proj_id==0)||(proj_id=="")){
423 //wppm_modal_close();
424 wppm_open_task(task_id);
425 }
426 });
427 }
428
429 function wppm_add_new_checklist_item(checklist_id,task_id,proj_id){
430 if(jQuery('#wppm_checklist_item_label_'+checklist_id).val()==''){
431 jQuery('#wppm_checklist_item_label_'+checklist_id).focus();
432 return false;
433 }
434 var data = {
435 action: 'wppm_add_new_checklist_item',
436 checklist_id: checklist_id,
437 proj_id:proj_id,
438 label: jQuery('#wppm_checklist_item_label_'+checklist_id).val(),
439 _ajax_nonce:jQuery('#wppm_checklist_item_ajax_nonce').val()
440 };
441 jQuery.post(wppm_admin.ajax_url, data, function(response) {
442 if((proj_id!=0)||(proj_id!="")){
443 wppm_open_project_tasks(task_id,proj_id);
444 }else if((proj_id==0)||(proj_id=="")){
445 wppm_open_task(task_id);
446 }
447 });
448 }
449
450 function wppm_delete_checklist(checklist_id,task_id,proj_id){
451 const flag = confirm(wppm_admin.confirm);
452 if (!flag) return;
453 var data = {
454 action: 'wppm_delete_checklist',
455 checklist_id: checklist_id,
456 task_id:task_id,
457 proj_id:proj_id,
458 _ajax_nonce:jQuery('#wppm_delete_checklist_ajax_nonce').val()
459 };
460 jQuery.post(wppm_admin.ajax_url, data, function(response) {
461 if((proj_id!=0)||(proj_id!="")){
462 wppm_open_project_tasks(task_id,proj_id);
463 }else if((proj_id==0)||(proj_id=="")){
464 wppm_open_task(task_id);
465 }
466 });
467 }
468
469 function wppm_delete_checklist_item(item_id,checklist_id,proj_id,task_id){
470 const flag = confirm(wppm_admin.confirm);
471 if (!flag) return;
472 var data = {
473 action: 'wppm_remove_checklist_item',
474 item_id:item_id,
475 checklist_id: checklist_id,
476 proj_id:proj_id,
477 task_id:task_id,
478 _ajax_nonce:jQuery('#wppm_delete_checklist_item_ajax_nonce').val()
479 };
480 jQuery.post(wppm_admin.ajax_url, data, function(response) {
481 if((proj_id!=0)||(proj_id!="")){
482 wppm_open_project_tasks(task_id,proj_id);
483 }else if((proj_id==0)||(proj_id=="")){
484 wppm_open_task(task_id);
485 }
486 });
487 }
488
489 function wppm_checklist_progress(checklist_id,item_id,task_id){
490 var $checkboxes = jQuery('.wppm_checklist_item_'+checklist_id);
491 var $progress = jQuery('#CheckProgress_'+checklist_id);
492 var total = $checkboxes.length;
493 var checked = jQuery('.wppm_checklist_item_'+checklist_id).filter(':checked').length;
494 var progressWidth = (checked / total) * 100;
495 var checked_item;
496 jQuery('#CheckProgress_'+checklist_id).css('background','#5ba4cf');
497 jQuery('#CheckProgress_'+checklist_id).css('width', progressWidth + '%');
498 if (jQuery("#wppm_checklist_item_"+item_id).prop("checked")==true) {
499 checked_item=1;
500 }else{
501 checked_item=0;
502 }
503 var data = {
504 action: 'wppm_set_checklist_progress',
505 checklist_id: checklist_id,
506 item_id:item_id,
507 checked_item: checked_item,
508 _ajax_nonce:jQuery('#wppm_checklist_progress_ajax_nonce').val()
509 };
510 jQuery.post(wppm_admin.ajax_url, data, function(response) {
511 wppm_open_task(task_id);
512 });
513 }
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
608 function wppm_open_individual_task(id){
609 jQuery('#wppm_project_container').show();
610 jQuery('#wppm_project_container').html(wppm_admin.loading_html);
611 var data = {
612 action: 'wppm_open_task',
613 id:id
614 };
615 jQuery.post(wppm_admin.ajax_url, data, function(response) {
616 jQuery('#wppm_project_container').html(response);
617 });
618 }
619
620
621 function wppm_display_grid_view(page,id){
622 var task_search = jQuery("#wppm_view_task_search_filter").val() || '';
623 jQuery('#wppm_task_container').show();
624 jQuery('#wppm_task_container').html(wppm_admin.loading_html);
625 var data = {
626 action: 'wppm_get_task_list_card_view',
627 task_search: task_search,
628 wppm_task_filter: wppm_task_filter,
629 page:page,
630 id:id
631 };
632 jQuery.post(wppm_admin.ajax_url, data, function(response) {
633 jQuery('#wppm_task_container').html(response);
634 });
635 }
636
637 function wppm_remove_filter(id){
638 jQuery('#wppm_user_display_container_'+id).remove();
639 }
640
641 function wppm_remove_user_from_project(id){
642 jQuery('#wppm_user_container_'+id).remove();
643 }
644
645 function wppm_remove_task_user_filter(id){
646 jQuery('#wppm_task_user_display_container_'+id).remove();
647 }
648
649 function wppm_attachment_cancel( obj ){
650 jQuery(obj).parent().remove();
651 }
652
653 function wppm_get_en_general_setting(){
654 jQuery('.wppm_setting_pills li').removeClass('active');
655 jQuery('#wppm_en_setting_general').addClass('active');
656 jQuery('.wppm_setting_col2').html(wppm_admin.loading_html);
657
658 var data = {
659 action: 'wppm_get_en_general_setting',
660 };
661
662 jQuery.post(wppm_admin.ajax_url, data, function(response) {
663 jQuery('.wppm_setting_col2').html(response);
664 });
665 }
666
667 function wppm_set_en_general_settings(){
668 jQuery('.wppm_submit_wait').show();
669 var dataform = new FormData(jQuery('#wppm_en_frm_general_settings')[0]);
670
671 jQuery.ajax({
672 url: wppm_admin.ajax_url,
673 type: 'POST',
674 data: dataform,
675 processData: false,
676 contentType: false
677 })
678 .done(function (response_str) {
679 var response = JSON.parse(response_str);
680 jQuery('.wppm_submit_wait').hide();
681 if (response.sucess_status=='1') {
682 jQuery('#wppm_alert_success .wppm_alert_text').text(response.messege);
683 }
684 jQuery('#wppm_alert_success').slideDown('fast',function(){});
685 setTimeout(function(){ jQuery('#wppm_alert_success').slideUp('fast',function(){}); }, 3000);
686 });
687 }
688
689 function wppm_get_en_task_notifications(){
690 jQuery('.wppm_setting_pills li').removeClass('active');
691 jQuery('#wppm_en_ticket_notifications').addClass('active');
692 jQuery('.wppm_setting_col2').html(wppm_admin.loading_html);
693
694 var data = {
695 action: 'wppm_get_en_task_notifications'
696 };
697
698 jQuery.post(wppm_admin.ajax_url, data, function(response) {
699 jQuery('.wppm_setting_col2').html(response);
700 });
701 }
702
703 function wppm_edit_task_status(id,proj_id,project_id){
704 if(proj_id==0){
705 wppm_task_modal_open('Edit');
706 }else{
707 wppm_modal_open('Edit');
708 }
709 var data = {
710 action: 'wppm_edit_task_status',
711 task_id: id,
712 proj_id:proj_id,
713 project_id:project_id
714 }
715 jQuery.post(wppm_admin.ajax_url, data, function(response_str) {
716 var response = JSON.parse(response_str);
717 if(proj_id==0){
718 jQuery('#wppm_task_popup_body').html(response.body);
719 jQuery('#wppm_task_popup_footer').html(response.footer);
720 }else{
721 jQuery('#wppm_popup_body').html(response.body);
722 jQuery('#wppm_popup_footer').html(response.footer);
723 }
724 });
725 }
726
727 function wppm_edit_task_users(task_id,proj_id,project_id){
728 if(proj_id==0){
729 wppm_task_modal_open('Add Users');
730 }else{
731 wppm_modal_open('Add Users');
732 }
733 var data = {
734 action: 'wppm_get_task_users',
735 task_id: task_id,
736 proj_id:proj_id,
737 project_id:project_id
738 }
739 jQuery.post(wppm_admin.ajax_url, data, function(response_str) {
740 var response = JSON.parse(response_str);
741 if(proj_id==0){
742 jQuery('#wppm_task_popup_body').html(response.body);
743 jQuery('#wppm_task_popup_footer').html(response.footer);
744 }else{
745 jQuery('#wppm_popup_body').html(response.body);
746 jQuery('#wppm_popup_footer').html(response.footer);
747 }
748 });
749 }
750
751 function wppm_edit_task_details(id,proj_id,project_id){
752 if(proj_id==0){
753 wppm_task_modal_open('Edit Task Details');
754 }else{
755 wppm_modal_open('Edit Task Details');
756 }
757 var data = {
758 action: 'wppm_edit_task_details',
759 task_id: id,
760 proj_id:proj_id,
761 project_id:project_id
762 }
763 jQuery.post(wppm_admin.ajax_url, data, function(response_str) {
764 var response = JSON.parse(response_str);
765 if(proj_id==0){
766 jQuery('#wppm_task_popup_body').html(response.body);
767 jQuery('#wppm_task_popup_footer').html(response.footer);
768 }else{
769 jQuery('#wppm_popup_body').html(response.body);
770 jQuery('#wppm_popup_footer').html(response.footer);
771 }
772 });
773 }
774
775 function wppm_set_change_task_status(task_id,proj_id,project_id){
776 var dataform = new FormData(jQuery('#frm_get_task_change_status')[0]);
777 if(proj_id == 0){
778 wppm_task_modal_close();
779 }else{
780 wppm_modal_close();
781 }
782 jQuery('#wppm_task_container').html(wppm_admin.loading_html);
783 jQuery.ajax({
784 url: wppm_admin.ajax_url,
785 type: 'POST',
786 data: dataform,
787 processData: false,
788 contentType: false
789 })
790 .done(function (response_str) {
791 if((proj_id!=0)||(proj_id!="")){
792 wppm_open_project_tasks(task_id,proj_id);
793 }else if((proj_id==0)||(proj_id=="")){
794 wppm_open_task(task_id,project_id);
795 }
796
797 });
798 }
799
800 function wppm_edit_task_creator(task_id,proj_id,project_id){
801 if(proj_id==0){
802 wppm_task_modal_open('Edit Task Creator');
803 }else{
804 wppm_modal_open('Edit Task Creator');
805 }
806 var data = {
807 action: 'wppm_edit_task_creator',
808 task_id: task_id,
809 proj_id: proj_id,
810 project_id: project_id
811 }
812 jQuery.post(wppm_admin.ajax_url, data, function(response_str) {
813 var response = JSON.parse(response_str);
814 if(proj_id==0){
815 jQuery('#wppm_task_popup_body').html(response.body);
816 jQuery('#wppm_task_popup_footer').html(response.footer);
817 }else{
818 jQuery('#wppm_popup_body').html(response.body);
819 jQuery('#wppm_popup_footer').html(response.footer);
820 }
821 });
822 }
823
824 function wppm_set_change_raised_by(task_id,proj_id,project_id){
825 var dataform = new FormData(jQuery('#frm_get_task_creator')[0]);
826 if(proj_id==0){
827 wppm_task_modal_close();
828 }else{
829 wppm_modal_close();
830 }
831 jQuery('#wppm_task_container').html(wppm_admin.loading_html);
832 jQuery.ajax({
833 url: wppm_admin.ajax_url,
834 type: 'POST',
835 data: dataform,
836 processData: false,
837 contentType: false
838 })
839 .done(function (response_str) {
840 if((proj_id!=0)||(proj_id!="")){
841 wppm_open_project_tasks(task_id,proj_id);
842 }else if((proj_id==0)||(proj_id=="")){
843 wppm_open_task(task_id,project_id);
844 }
845 });
846 }
847
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();
856 }
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 });
877 }
878
879 function wppm_edit_thread(comment_id,task_id,proj_id){
880 if(proj_id==0){
881 wppm_task_modal_open('Edit Thread');
882 }else{
883 wppm_modal_open('Edit Thread');
884 }
885 var data = {
886 action: 'wppm_edit_task_thread',
887 comment_id:comment_id,
888 task_id: task_id,
889 proj_id: proj_id
890 }
891 jQuery.post(wppm_admin.ajax_url, data, function(response_str) {
892 var response = JSON.parse(response_str);
893 if(proj_id==0){
894 jQuery('#wppm_task_popup_body').html(response.body);
895 jQuery('#wppm_task_popup_footer').html(response.footer);
896 }else{
897 jQuery('#wppm_popup_body').html(response.body);
898 jQuery('#wppm_popup_footer').html(response.footer);
899 }
900 });
901 }
902
903 function wppm_edit_proj_thread(comment_id,proj_id){
904 wppm_modal_open('Edit Thread');
905 var data = {
906 action: 'wppm_edit_proj_thread',
907 comment_id:comment_id,
908 proj_id: proj_id
909 }
910 jQuery.post(wppm_admin.ajax_url, data, function(response_str) {
911 var response = JSON.parse(response_str);
912 jQuery('#wppm_popup_body').html(response.body);
913 jQuery('#wppm_popup_footer').html(response.footer);
914 });
915 }
916
917 function wppm_set_edit_task_thread(task_id,proj_id){
918 var dataform = new FormData(jQuery('#frm_edit_task_thread')[0]);
919 if(wppm_admin.rich_text_editor == 1){
920 var comment_body = tinyMCE.get('wppm_edit_task_thread_editor').getContent().trim();
921 }else{
922 var comment_body = jQuery('#wppm_edit_task_thread_editor').val().trim();
923 }
924 dataform.append('wppm_edit_task_thread', comment_body);
925 if(proj_id==0){
926 wppm_task_modal_close();
927 }else{
928 wppm_modal_close();
929 }
930 jQuery('#wppm_task_container').html(wppm_admin.loading_html);
931 jQuery.ajax({
932 url: wppm_admin.ajax_url,
933 type: 'POST',
934 data: dataform,
935 processData: false,
936 contentType: false
937 })
938 .done(function (response_str) {
939 if((proj_id!=0)||(proj_id!="")){
940 wppm_open_project_tasks(task_id,proj_id);
941 }else if((proj_id==0)||(proj_id=="")){
942 wppm_open_task(task_id);
943 }
944 });
945 }
946
947 function wppm_set_edit_proj_thread(proj_id){
948 var dataform = new FormData(jQuery('#frm_edit_proj_thread')[0]);
949 if(wppm_admin.rich_text_editor == 1){
950 var comment_body = tinyMCE.get('wppm_edit_proj_thread_editor').getContent().trim();
951 }else{
952 var comment_body = jQuery('#wppm_edit_proj_thread_editor').val().trim();
953 }
954 dataform.append('wppm_edit_proj_thread', comment_body);
955 wppm_modal_close();
956 jQuery('#wppm_task_container').html(wppm_admin.loading_html);
957 jQuery.ajax({
958 url: wppm_admin.ajax_url,
959 type: 'POST',
960 data: dataform,
961 processData: false,
962 contentType: false
963 })
964 .done(function (response_str) {
965 wppm_open_project(proj_id);
966 });
967 }
968
969 function wppm_delete_thread(comment_id,task_id,proj_id){
970 if(proj_id==0){
971 wppm_task_modal_open('Delete Thread');
972 }else{
973 wppm_modal_open('Delete Thread');
974 }
975 var data = {
976 action: 'wppm_delete_task_thread',
977 comment_id:comment_id,
978 task_id: task_id,
979 proj_id:proj_id
980 }
981 jQuery.post(wppm_admin.ajax_url, data, function(response_str) {
982 var response = JSON.parse(response_str);
983 if(proj_id==0){
984 jQuery('#wppm_task_popup_body').html(response.body);
985 jQuery('#wppm_task_popup_footer').html(response.footer);
986 }else{
987 jQuery('#wppm_popup_body').html(response.body);
988 jQuery('#wppm_popup_footer').html(response.footer);
989 }
990 });
991 }
992
993 function wppm_delete_proj_thread(comment_id,proj_id){
994 wppm_modal_open('Delete Thread');
995 var data = {
996 action: 'wppm_delete_proj_thread',
997 comment_id:comment_id,
998 proj_id:proj_id
999 }
1000 jQuery.post(wppm_admin.ajax_url, data, function(response_str) {
1001 var response = JSON.parse(response_str);
1002 jQuery('#wppm_popup_body').html(response.body);
1003 jQuery('#wppm_popup_footer').html(response.footer);
1004 });
1005 }
1006
1007 function wppm_set_delete_thread(task_id,proj_id){
1008 var dataform = new FormData(jQuery('#frm_delete_task_thread')[0]);
1009 if(proj_id==0){
1010 wppm_task_modal_close();
1011 }else{
1012 wppm_modal_close();
1013 }
1014 jQuery('#wppm_task_container').html(wppm_admin.loading_html);
1015 jQuery.ajax({
1016 url: wppm_admin.ajax_url,
1017 type: 'POST',
1018 data: dataform,
1019 processData: false,
1020 contentType: false
1021 })
1022 .done(function (response_str) {
1023 if((proj_id!=0)||(proj_id!="")){
1024 wppm_open_project_tasks(task_id,proj_id);
1025 }else if((proj_id==0)||(proj_id=="")){
1026 wppm_open_task(task_id);
1027 }
1028 });
1029 }
1030
1031 function wppm_set_delete_proj_thread(proj_id){
1032 var dataform = new FormData(jQuery('#frm_delete_proj_thread')[0]);
1033 wppm_modal_close();
1034 jQuery('#wppm_task_container').html(wppm_admin.loading_html);
1035 jQuery.ajax({
1036 url: wppm_admin.ajax_url,
1037 type: 'POST',
1038 data: dataform,
1039 processData: false,
1040 contentType: false
1041 })
1042 .done(function (response_str) {
1043 wppm_open_project(proj_id);
1044 });
1045 }
1046
1047 function wppm_edit_proj_details(id){
1048 wppm_modal_open('Edit Project Details');
1049 var data = {
1050 action: 'wppm_edit_project_details',
1051 id: id
1052 }
1053 jQuery.post(wppm_admin.ajax_url, data, function(response_str) {
1054 var response = JSON.parse(response_str);
1055 jQuery('#wppm_popup_body').html(response.body);
1056 jQuery('#wppm_popup_footer').html(response.footer);
1057 });
1058 }
1059
1060 function wppm_set_change_project_details(id){
1061 var dataform = new FormData(jQuery('#frm_get_edit_project_deatils')[0]);
1062 var description = tinyMCE.get('wppm_edit_project_description').getContent().trim();
1063 dataform.append('wppm_edit_project_description', description);
1064 wppm_modal_close();
1065 jQuery('#wppm_project_container').html(wppm_admin.loading_html);
1066 jQuery.ajax({
1067 url: wppm_admin.ajax_url,
1068 type: 'POST',
1069 data: dataform,
1070 processData: false,
1071 contentType: false
1072 })
1073 .done(function (response_str) {
1074 wppm_open_project(id);
1075 });
1076 }
1077
1078 function wppm_edit_project_status(id){
1079 wppm_modal_open('Edit Project Status');
1080 var data = {
1081 action: 'wppm_edit_project_status',
1082 id: id
1083 }
1084 jQuery.post(wppm_admin.ajax_url, data, function(response_str) {
1085 var response = JSON.parse(response_str);
1086 jQuery('#wppm_popup_body').html(response.body);
1087 jQuery('#wppm_popup_footer').html(response.footer);
1088 });
1089 }
1090
1091 function wppm_set_change_project_status(id){
1092 var dataform = new FormData(jQuery('#frm_get_project_change_status')[0]);
1093 wppm_modal_close();
1094 jQuery('#wppm_project_container').html(wppm_admin.loading_html);
1095 jQuery.ajax({
1096 url: wppm_admin.ajax_url,
1097 type: 'POST',
1098 data: dataform,
1099 processData: false,
1100 contentType: false
1101 })
1102 .done(function (response_str) {
1103 wppm_open_project(id);
1104 });
1105 }
1106
1107 function wppm_edit_project_creator(id){
1108 wppm_modal_open('Edit Project Creator');
1109 var data = {
1110 action: 'wppm_edit_project_creator',
1111 id: id
1112 }
1113 jQuery.post(wppm_admin.ajax_url, data, function(response_str) {
1114 var response = JSON.parse(response_str);
1115 jQuery('#wppm_popup_body').html(response.body);
1116 jQuery('#wppm_popup_footer').html(response.footer);
1117 });
1118 }
1119
1120 function wppm_set_change_project_raised_by(id){
1121 var dataform = new FormData(jQuery('#frm_get_project_creator')[0]);
1122 wppm_modal_close();
1123 jQuery('#wppm_project_container').html(wppm_admin.loading_html);
1124 jQuery.ajax({
1125 url: wppm_admin.ajax_url,
1126 type: 'POST',
1127 data: dataform,
1128 processData: false,
1129 contentType: false
1130 })
1131 .done(function (response_str) {
1132 wppm_open_project(id);
1133 });
1134 }
1135
1136 function wppm_edit_project_users(id){
1137 wppm_modal_open('Add Users');
1138 var data = {
1139 action: 'wppm_get_project_users',
1140 id: id
1141 }
1142 jQuery.post(wppm_admin.ajax_url, data, function(response_str) {
1143 var response = JSON.parse(response_str);
1144 jQuery('#wppm_popup_body').html(response.body);
1145 jQuery('#wppm_popup_footer').html(response.footer);
1146 });
1147 }
1148
1149 function wppm_delete_project(id){
1150 wppm_modal_open('Delete Project');
1151 var data = {
1152 action: 'wppm_get_delete_project',
1153 id: id
1154 }
1155 jQuery.post(wppm_admin.ajax_url, data, function(response_str) {
1156 var response = JSON.parse(response_str);
1157 jQuery('#wppm_popup_body').html(response.body);
1158 jQuery('#wppm_popup_footer').html(response.footer);
1159 });
1160 }
1161
1162 function wppm_set_delete_project(){
1163 var dataform = new FormData(jQuery('#frm_delete_project')[0]);
1164 wppm_modal_close();
1165 jQuery('#wppm_project_container').html(wppm_admin.loading_html);
1166 jQuery.ajax({
1167 url: wppm_admin.ajax_url,
1168 type: 'POST',
1169 data: dataform,
1170 processData: false,
1171 contentType: false
1172 })
1173 .done(function (response_str) {
1174 wppm_get_project_list();
1175 });
1176 }
1177
1178 function wppm_get_delete_task(id,proj_id,project_id){
1179 if(proj_id==0){
1180 wppm_task_modal_open('Delete Task');
1181 }else{
1182 wppm_modal_open('Delete Task');
1183 }
1184 var data = {
1185 action: 'wppm_get_delete_task',
1186 id: id,
1187 proj_id:proj_id,
1188 project_id:project_id
1189 }
1190 jQuery.post(wppm_admin.ajax_url, data, function(response_str) {
1191 var response = JSON.parse(response_str);
1192 if(proj_id==0){
1193 jQuery('#wppm_task_popup_body').html(response.body);
1194 jQuery('#wppm_task_popup_footer').html(response.footer);
1195 }else{
1196 jQuery('#wppm_popup_body').html(response.body);
1197 jQuery('#wppm_popup_footer').html(response.footer);
1198 }
1199 });
1200 }
1201
1202 function wppm_set_delete_task(proj_id,project_id){
1203 var dataform = new FormData(jQuery('#frm_delete_task')[0]);
1204 if(proj_id==0){
1205 wppm_task_modal_close();
1206 }else{
1207 wppm_modal_close();
1208 }
1209 jQuery.ajax({
1210 url: wppm_admin.ajax_url,
1211 type: 'POST',
1212 data: dataform,
1213 processData: false,
1214 contentType: false
1215 })
1216 .done(function (response_str) {
1217 if(project_id!=0){
1218 wppm_get_project_tasks_kanban_view(project_id);
1219 }else{
1220 if(proj_id==0){
1221 wppm_get_task_list();
1222 }else{
1223 wppm_get_project_tasks(proj_id);
1224 }
1225 }
1226 });
1227 }
1228
1229 function wppm_get_edit_email_notification(id){
1230 jQuery('.wppm_setting_col2').html(wppm_admin.loading_html);
1231 var data = {
1232 action: 'wppm_get_edit_email_notification',
1233 id : id
1234 };
1235 jQuery.post(wppm_admin.ajax_url, data, function(response) {
1236 jQuery('.wppm_setting_col2').html(response);
1237 });
1238 }
1239
1240 function wppm_get_tinymce(selector,body_id){
1241 jQuery('#visual').addClass('btn btn-primary');
1242 jQuery('#text').removeClass('btn btn-primary');
1243 jQuery('#text').addClass('btn btn-default');
1244 tinymce.init({
1245 selector:'#'+selector,
1246 body_id: body_id,
1247 menubar: false,
1248 statusbar: false,
1249 height : '200',
1250 plugins: [
1251 'lists link image directionality'
1252 ],
1253 image_advtab: true,
1254 toolbar: 'bold italic underline blockquote | alignleft aligncenter alignright | bullist numlist | rtl | link image',
1255 branding: false,
1256 autoresize_bottom_margin: 20,
1257 browser_spellcheck : true,
1258 relative_urls : false,
1259 remove_script_host : false,
1260 convert_urls : true,
1261 setup: function (editor) {
1262 }
1263 });
1264 }
1265
1266 function wppm_get_textarea(){
1267 jQuery('#visual').removeClass('btn btn-primary');
1268 jQuery('#visual').addClass('btn btn-default');
1269 jQuery('#text').addClass('btn btn-primary');
1270 tinymce.remove();
1271 }
1272
1273 function wppm_get_templates(){
1274 wppm_modal_open(wppm_admin.templates);
1275 var data = {
1276 action: 'wppm_get_templates'
1277 };
1278 jQuery.post(wppm_admin.ajax_url, data, function(response_str) {
1279 var response = JSON.parse(response_str);
1280 jQuery('#wppm_popup_body').html(response.body);
1281 jQuery('#wppm_popup_footer').html(response.footer);
1282 });
1283 }
1284
1285 function wppm_set_edit_email_notification(){
1286 var dataform = new FormData(jQuery('#wppm_edit_email_notification_settings')[0]);
1287 wppm_modal_close();
1288 jQuery('.wppm_setting_col2').html(wppm_admin.loading_html);
1289 jQuery.ajax({
1290 url: wppm_admin.ajax_url,
1291 type: 'POST',
1292 data: dataform,
1293 processData: false,
1294 contentType: false
1295 })
1296 .done(function (response_str) {
1297 var response = JSON.parse(response_str);
1298 if (response.sucess_status=='1') {
1299 jQuery('#wppm_alert_success .wppm_alert_text').text(response.messege);
1300 }
1301 jQuery('#wppm_alert_success').slideDown('fast',function(){});
1302 setTimeout(function(){ jQuery('#wppm_alert_success').slideUp('fast',function(){}); }, 3000);
1303 wppm_get_en_task_notifications();
1304 });
1305 }
1306
1307 function wppm_set_general_settings(){
1308 jQuery('.wppm_submit_wait').show();
1309 var dataform = new FormData(jQuery('#wppm_frm_general_settings')[0]);
1310 jQuery.ajax({
1311 url: wppm_admin.ajax_url,
1312 type: 'POST',
1313 data: dataform,
1314 processData: false,
1315 contentType: false
1316 })
1317 .done(function (response_str) {
1318 var response = JSON.parse(response_str);
1319 jQuery('.wppm_submit_wait').hide();
1320 if (response.sucess_status=='1') {
1321 jQuery('#wppm_alert_success .wppm_alert_text').text(response.messege);
1322 }
1323 jQuery('#wppm_alert_success').slideDown('fast',function(){});
1324 setTimeout(function(){ jQuery('#wppm_alert_success').slideUp('fast',function(){}); }, 3000);
1325 });
1326 }
1327
1328 function wppm_get_project_tasks(id){
1329 wppm_modal_open('Tasks');
1330 var data = {
1331 action: 'wppm_get_project_tasks',
1332 id: id
1333 }
1334 jQuery.post(wppm_admin.ajax_url, data, function(response_str) {
1335 var response = JSON.parse(response_str);
1336 jQuery('#wppm_popup_body').html(response.body);
1337 jQuery('#wppm_popup_footer').html(response.footer);
1338 });
1339 }
1340
1341 function wppm_create_project_task(id){
1342 wppm_task_modal_open('Tasks');
1343 var data = {
1344 action: 'wppm_add_new_task',
1345 proj_id: id
1346 }
1347 jQuery.post(wppm_admin.ajax_url, data, function(response_str) {
1348 jQuery('#wppm_popup_body').html(response_str);
1349 });
1350 }
1351
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;
1371 }
1372
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;
1393 }
1394
1395 function wppm_load_prev_task_page(prev_page_no,page_no, sort_by, order){
1396 if(prev_page_no!=0){
1397 page_no=prev_page_no-1;
1398 wppm_get_task_list(page_no,sort_by,order);
1399 }
1400 }
1401
1402 function wppm_load_next_task_page(next_page_no,page_no,sort_by,order){
1403 if(next_page_no!=page_no){
1404 page_no = next_page_no;
1405 wppm_get_task_list(page_no,sort_by,order);
1406 }
1407 }
1408
1409 function wppm_load_prev_task_page_card_view(prev_page_no,page_no){
1410 if(prev_page_no!=0){
1411 page_no=prev_page_no-1;
1412 wppm_view_task_search_filter(page_no);
1413 }
1414 }
1415
1416 function wppm_load_next_task_page_card_view(next_page_no,page_no){
1417 if(next_page_no!=page_no){
1418 page_no = next_page_no;
1419 wppm_view_task_search_filter(page_no);
1420 }
1421 }
1422
1423 function wppm_thread_attachment_remove(obj,attachment,comment_id,task_id,proj_id){
1424 if( confirm(wppm_admin.confirm) ){
1425 var data = {
1426 action: 'wppm_remove_thread_attachment',
1427 attachment : attachment,
1428 comment_id : comment_id,
1429 task_id:task_id,
1430 _ajax_nonce : jQuery('#wppm_ajax_nonce').val()
1431 };
1432 jQuery.post(wppm_admin.ajax_url, data, function(response) {
1433 jQuery(obj).parent('td').parent('tr').remove();
1434 if((proj_id!=0)||(proj_id!="")){
1435 wppm_open_project_tasks(task_id,proj_id);
1436 }else if((proj_id==0)||(proj_id=="")){
1437 wppm_open_task(task_id);
1438 }
1439 });
1440 }
1441 }
1442
1443 function wppm_proj_thread_attachment_remove(obj,attachment,comment_id,id){
1444 if( confirm(wppm_admin.confirm) ){
1445 var data = {
1446 action: 'wppm_remove_proj_thread_attachment',
1447 attachment : attachment,
1448 comment_id : comment_id,
1449 proj_id:id,
1450 _ajax_nonce:jQuery('#wppm_proj_thread_attachment_remove').val()
1451 };
1452 jQuery.post(wppm_admin.ajax_url, data, function(response) {
1453 jQuery(obj).parent('td').parent('tr').remove();
1454 wppm_open_project(id);
1455 });
1456 }
1457 }
1458
1459 function wppm_open_project(id){
1460 jQuery('#wppm_project_list').hide();
1461 jQuery('#wppm_project_container').show();
1462 jQuery('#wppm_project_container').html(wppm_admin.loading_html);
1463 var data = {
1464 action: 'wppm_open_project',
1465 id:id,
1466 auth_code: wppm_admin.auth_code
1467 };
1468 jQuery.post(wppm_admin.ajax_url, data, function(response) {
1469 jQuery('#wppm_project_container').html(response);
1470 });
1471 }
1472
1473 function wppm_project_search_filter(is_archieved){
1474 var project_search = jQuery("#wppm_project_search_filter").val();
1475 jQuery('#wppm_project_container').show();
1476 jQuery('#wppm_project_container').html(wppm_admin.loading_html);
1477 var data = {
1478 action: 'wppm_get_project_list',
1479 project_search:project_search,
1480 page: wppm_admin.page,
1481 is_archieved:is_archieved
1482 };
1483 jQuery.post(wppm_admin.ajax_url, data, function(response) {
1484 jQuery('#wppm_project_container').html(response);
1485 });
1486 }
1487
1488 function wppm_clone_task(id,proj_id,project_id){
1489 if(proj_id==0){
1490 wppm_task_modal_open('Clone Task');
1491 }else{
1492 wppm_modal_open('Clone Task');
1493 }
1494 var data = {
1495 action: 'wppm_clone_task',
1496 id: id,
1497 proj_id: proj_id,
1498 project_id: project_id
1499 }
1500 jQuery.post(wppm_admin.ajax_url, data, function(response_str) {
1501 var response = JSON.parse(response_str);
1502 if(proj_id==0){
1503 jQuery('#wppm_task_popup_body').html(response.body);
1504 jQuery('#wppm_task_popup_footer').html(response.footer);
1505 }else{
1506 jQuery('#wppm_popup_body').html(response.body);
1507 jQuery('#wppm_popup_footer').html(response.footer);
1508 }
1509 });
1510 }
1511
1512 function wppm_set_clone_task(proj_id,project_id){
1513 var dataform = new FormData(jQuery('#frm_edit_clone_task_name')[0]);
1514 if(proj_id==0){
1515 wppm_task_modal_close();
1516 }else{
1517 wppm_modal_close();
1518 }
1519 jQuery.ajax({
1520 url: wppm_admin.ajax_url,
1521 type: 'POST',
1522 data: dataform,
1523 processData: false,
1524 contentType: false
1525 })
1526 .done(function (response_str) {
1527 if(project_id!=0){
1528 wppm_get_project_tasks_kanban_view(project_id);
1529 }else{
1530 if(proj_id==0){
1531 wppm_get_task_list();
1532 }else{
1533 wppm_get_project_tasks(proj_id);
1534 }
1535 }
1536 });
1537 }
1538
1539 function wppm_sort_up_task_list(sort_by,order,page){
1540 jQuery('#wppm_task_container').show();
1541 jQuery('#wppm_task_container').html(wppm_admin.loading_html);
1542 var data = {
1543 action: 'wppm_get_task_list',
1544 sort_by:sort_by,
1545 order:order,
1546 page:page
1547 };
1548 jQuery.post(wppm_admin.ajax_url, data, function(response) {
1549 jQuery('#wppm_task_container').html(response);
1550 });
1551 }
1552
1553 function wppm_sort_up_project_list(sort_by,order){
1554 jQuery('#wppm_project_container').show();
1555 jQuery('#wppm_project_container').html(wppm_admin.loading_html);
1556 var data = {
1557 action: 'wppm_get_project_list',
1558 sort_by:sort_by,
1559 order:order,
1560 page: wppm_admin.page
1561 };
1562 jQuery.post(wppm_admin.ajax_url, data, function(response) {
1563 jQuery('#wppm_project_container').html(response);
1564 });
1565 }
1566
1567 function wppm_get_miscellaneous_settings(){
1568 jQuery('.wppm_setting_pills li').removeClass('active');
1569 jQuery('#wppm_settings_miscellaneous').addClass('active');
1570 jQuery('.wppm_setting_col2').html(wppm_admin.loading_html);
1571 var data = {
1572 action: 'wppm_get_advanced_settings'
1573 };
1574 jQuery.post(wppm_admin.ajax_url, data, function(response) {
1575 jQuery('.wppm_setting_col2').html(response);
1576 });
1577 }
1578
1579 function wppm_get_appearance_settings(){
1580 jQuery('.wppm_setting_pills li').removeClass('active');
1581 jQuery('#wppm_settings_appearance').addClass('active');
1582 var data = {
1583 action: 'wppm_get_appearance_settings'
1584 };
1585 jQuery.post(wppm_admin.ajax_url, data, function(response) {
1586 jQuery('.wppm_setting_col2').html(response);
1587 });
1588 }
1589
1590 function wppm_get_coworker_permission_settings(){
1591 jQuery('.wppm_setting_pills li').removeClass('active');
1592 jQuery('#wppm_settings_coworker').addClass('active');
1593 jQuery('.wppm_setting_col2').html(wppm_admin.loading_html);
1594 var data = {
1595 action: 'wppm_get_coworker_permission_settings'
1596 };
1597 jQuery.post(wppm_admin.ajax_url, data, function(response) {
1598 jQuery('.wppm_setting_col2').html(response);
1599 });
1600 }
1601
1602 function wppm_set_coworkers_permission_settings(){
1603 jQuery('.wppm_submit_wait').show();
1604 var dataform = new FormData(jQuery('#wppm_frm_coworkers_permission_settings')[0]);
1605 jQuery.ajax({
1606 url: wppm_admin.ajax_url,
1607 type: 'POST',
1608 data: dataform,
1609 processData: false,
1610 contentType: false
1611 })
1612 .done(function (response_str) {
1613 var response = JSON.parse(response_str);
1614 jQuery('.wppm_submit_wait').hide();
1615 if (response.sucess_status=='1') {
1616 jQuery('#wppm_alert_success .wppm_alert_text').text(response.messege);
1617 }
1618 jQuery('#wppm_alert_success').slideDown('fast',function(){});
1619 setTimeout(function(){ jQuery('#wppm_alert_success').slideUp('fast',function(){}); }, 3000);
1620 });
1621 }
1622
1623 function wppm_get_rich_text_editor_settings(){
1624 jQuery('.wppm_setting_pills li').removeClass('active');
1625 jQuery('#wppm_settings_rich_text_editor').addClass('active');
1626 jQuery('.wppm_setting_col2').html(wppm_admin.loading_html);
1627 var data = {
1628 action: 'wppm_get_rich_text_editor_settings'
1629 };
1630 jQuery.post(wppm_admin.ajax_url, data, function(response) {
1631 jQuery('.wppm_setting_col2').html(response);
1632 });
1633 }
1634
1635 function wppm_set_rich_text_editor_settings(){
1636 jQuery('.wppm_submit_wait').show();
1637 var dataform = new FormData(jQuery('#wppm_frm_rich_text_editor_settings')[0]);
1638 jQuery.ajax({
1639 url: wppm_admin.ajax_url,
1640 type: 'POST',
1641 data: dataform,
1642 processData: false,
1643 contentType: false
1644 })
1645 .done(function (response_str) {
1646 var response = JSON.parse(response_str);
1647 jQuery('.wppm_submit_wait').hide();
1648 if (response.sucess_status=='1') {
1649 jQuery('#wppm_alert_success .wppm_alert_text').text(response.messege);
1650 }
1651 jQuery('#wppm_alert_success').slideDown('fast',function(){});
1652 setTimeout(function(){ jQuery('#wppm_alert_success').slideUp('fast',function(){}); }, 3000);
1653 });
1654 }
1655
1656 function wppm_get_ap_proj_list(current_tab_class) {
1657 jQuery( '.wppm-setting-tab-container button' ).removeClass( 'active' );
1658 jQuery( '.wppm-setting-tab-container button.' + current_tab_class ).addClass( 'active' );
1659 jQuery('.wppm-setting-section-body').html(wppm_admin.loading_html);
1660 var data = { action: 'wppm_get_ap_proj_list' ,
1661 current_tab:current_tab_class
1662 };
1663 jQuery.post(
1664 wppm_admin.ajax_url,
1665 data,
1666 function (response) {
1667 jQuery( '.wppm-setting-section-body' ).html( response );
1668 }
1669 );
1670 }
1671
1672 function wppm_get_ap_modal_popup(current_tab_class){
1673 jQuery( '.wppm-setting-tab-container button' ).removeClass( 'active' );
1674 jQuery( '.wppm-setting-tab-container button.' + current_tab_class ).addClass( 'active' );
1675 jQuery('.wppm-setting-section-body').html(wppm_admin.loading_html);
1676 var data = { action: 'wppm_get_ap_modal_popup' ,
1677 current_tab:current_tab_class };
1678 jQuery.post(
1679 wppm_admin.ajax_url,
1680 data,
1681 function (response) {
1682 jQuery( '.wppm-setting-section-body' ).html( response );
1683 }
1684 );
1685 }
1686
1687 function wppm_get_ap_task_list(current_tab_class){
1688 jQuery( '.wppm-setting-tab-container button' ).removeClass( 'active' );
1689 jQuery( '.wppm-setting-tab-container button.' + current_tab_class ).addClass( 'active' );
1690 jQuery( '.wppm-setting-section-body').html(wppm_admin.loading_html);
1691 var data = { action: 'wppm_get_ap_task_list' ,
1692 current_tab:current_tab_class
1693 };
1694 jQuery.post(
1695 wppm_admin.ajax_url,
1696 data,
1697 function (response) {
1698 jQuery( '.wppm-setting-section-body' ).html( response );
1699 }
1700 );
1701 }
1702
1703 function wppm_get_ap_individual_proj(current_tab_class){
1704 jQuery( '.wppm-setting-tab-container button' ).removeClass( 'active' );
1705 jQuery( '.wppm-setting-tab-container button.' + current_tab_class ).addClass( 'active' );
1706 jQuery( '.wppm-setting-section-body').html(wppm_admin.loading_html);
1707 var data = { action: 'wppm_get_ap_individual_proj' ,
1708 current_tab:current_tab_class
1709 };
1710 jQuery.post(
1711 wppm_admin.ajax_url,
1712 data,
1713 function (response) {
1714 jQuery( '.wppm-setting-section-body' ).html( response );
1715 }
1716 );
1717 }
1718
1719 function wppm_get_ap_individual_task(current_tab_class){
1720 jQuery( '.wppm-setting-tab-container button' ).removeClass( 'active' );
1721 jQuery( '.wppm-setting-tab-container button.' + current_tab_class ).addClass( 'active' );
1722 jQuery( '.wppm-setting-section-body').html(wppm_admin.loading_html);
1723 var data = { action: 'wppm_get_ap_individual_task' ,
1724 current_tab:current_tab_class
1725 };
1726 jQuery.post(
1727 wppm_admin.ajax_url,
1728 data,
1729 function (response) {
1730 jQuery( '.wppm-setting-section-body' ).html( response );
1731 }
1732 );
1733 }
1734
1735 function wppm_get_ap_grid_view(current_tab_class){
1736 jQuery( '.wppm-setting-tab-container button' ).removeClass( 'active' );
1737 jQuery( '.wppm-setting-tab-container button.' + current_tab_class ).addClass( 'active' );
1738 jQuery( '.wppm-setting-section-body').html(wppm_admin.loading_html);
1739 var data = { action: 'wppm_get_ap_grid_view' ,
1740 current_tab:current_tab_class
1741 };
1742 jQuery.post(
1743 wppm_admin.ajax_url,
1744 data,
1745 function (response) {
1746 jQuery( '.wppm-setting-section-body' ).html( response );
1747 }
1748 );
1749 }
1750
1751 function wppm_get_ap_settings(current_tab_class){
1752 jQuery( '.wppm-setting-tab-container button' ).removeClass( 'active' );
1753 jQuery( '.wppm-setting-tab-container button.' + current_tab_class ).addClass( 'active' );
1754 jQuery( '.wppm-setting-section-body').html(wppm_admin.loading_html);
1755 var data = { action: 'wppm_get_ap_settings' ,
1756 current_tab:current_tab_class
1757 };
1758 jQuery.post(
1759 wppm_admin.ajax_url,
1760 data,
1761 function (response) {
1762 jQuery( '.wppm-setting-section-body' ).html( response );
1763 }
1764 );
1765 }
1766
1767 function wppm_set_ap_settings(){
1768 var form = jQuery( '.wppm-frm-ap-settings' )[0];
1769 var dataform = new FormData( form );
1770 jQuery('.wppm_submit_wait').show();
1771 jQuery.ajax(
1772 {
1773 url: wppm_admin.ajax_url,
1774 type: 'POST',
1775 data: dataform,
1776 processData: false,
1777 contentType: false
1778 }
1779 ).done(
1780 function (response_str) {
1781 var response = JSON.parse(response_str);
1782 jQuery('.wppm_submit_wait').hide();
1783 if (response.sucess_status=='1') {
1784 jQuery('#wppm_alert_success .wppm_alert_text').text(response.messege);
1785 }
1786 jQuery('#wppm_alert_success').slideDown('fast',function(){});
1787 setTimeout(function(){ jQuery('#wppm_alert_success').slideUp('fast',function(){}); }, 3000);
1788 }
1789 );
1790 }
1791
1792 function wppm_set_ap_proj_list() {
1793 var form = jQuery( '.wppm-frm-ap-pl' )[0];
1794 var dataform = new FormData( form );
1795 jQuery('.wppm_submit_wait').show();
1796 jQuery.ajax(
1797 {
1798 url: wppm_admin.ajax_url,
1799 type: 'POST',
1800 data: dataform,
1801 processData: false,
1802 contentType: false
1803 }
1804 ).done(
1805 function (response_str) {
1806 var response = JSON.parse(response_str);
1807 jQuery('.wppm_submit_wait').hide();
1808 if (response.sucess_status=='1') {
1809 jQuery('#wppm_alert_success .wppm_alert_text').text(response.messege);
1810 }
1811 jQuery('#wppm_alert_success').slideDown('fast',function(){});
1812 setTimeout(function(){ jQuery('#wppm_alert_success').slideUp('fast',function(){}); }, 3000);
1813 }
1814 );
1815 }
1816
1817 function wppm_set_ap_task_list(){
1818 var form = jQuery( '.wppm-frm-ap-tl' )[0];
1819 var dataform = new FormData( form );
1820 jQuery('.wppm_submit_wait').show();
1821 jQuery.ajax(
1822 {
1823 url: wppm_admin.ajax_url,
1824 type: 'POST',
1825 data: dataform,
1826 processData: false,
1827 contentType: false
1828 }
1829 ).done(
1830 function (response_str) {
1831 var response = JSON.parse(response_str);
1832 jQuery('.wppm_submit_wait').hide();
1833 if (response.sucess_status=='1') {
1834 jQuery('#wppm_alert_success .wppm_alert_text').text(response.messege);
1835 }
1836 jQuery('#wppm_alert_success').slideDown('fast',function(){});
1837 setTimeout(function(){ jQuery('#wppm_alert_success').slideUp('fast',function(){}); }, 3000);
1838 }
1839 );
1840 }
1841
1842 function wppm_set_ap_individual_proj(){
1843 var form = jQuery( '.wppm-frm-ap-individual_pl' )[0];
1844 var dataform = new FormData( form );
1845 jQuery('.wppm_submit_wait').show();
1846 jQuery.ajax(
1847 {
1848 url: wppm_admin.ajax_url,
1849 type: 'POST',
1850 data: dataform,
1851 processData: false,
1852 contentType: false
1853 }
1854 ).done(
1855 function (response_str) {
1856 var response = JSON.parse(response_str);
1857 jQuery('.wppm_submit_wait').hide();
1858 if (response.sucess_status=='1') {
1859 jQuery('#wppm_alert_success .wppm_alert_text').text(response.messege);
1860 }
1861 jQuery('#wppm_alert_success').slideDown('fast',function(){});
1862 setTimeout(function(){ jQuery('#wppm_alert_success').slideUp('fast',function(){}); }, 3000);
1863 }
1864 );
1865 }
1866
1867 function wppm_set_ap_individual_task(){
1868 var form = jQuery( '.wppm-frm-ap-individual_tl' )[0];
1869 var dataform = new FormData( form );
1870 jQuery('.wppm_submit_wait').show();
1871 jQuery.ajax(
1872 {
1873 url: wppm_admin.ajax_url,
1874 type: 'POST',
1875 data: dataform,
1876 processData: false,
1877 contentType: false
1878 }
1879 ).done(
1880 function (response_str) {
1881 var response = JSON.parse(response_str);
1882 jQuery('.wppm_submit_wait').hide();
1883 if (response.sucess_status=='1') {
1884 jQuery('#wppm_alert_success .wppm_alert_text').text(response.messege);
1885 }
1886 jQuery('#wppm_alert_success').slideDown('fast',function(){});
1887 setTimeout(function(){ jQuery('#wppm_alert_success').slideUp('fast',function(){}); }, 3000);
1888 }
1889 );
1890 }
1891
1892 function wppm_set_ap_modal_popup(){
1893 var form = jQuery( '.wppm-frm-ap-modal_popup' )[0];
1894 var dataform = new FormData( form );
1895 jQuery('.wppm_submit_wait').show();
1896 jQuery.ajax(
1897 {
1898 url: wppm_admin.ajax_url,
1899 type: 'POST',
1900 data: dataform,
1901 processData: false,
1902 contentType: false
1903 }
1904 ).done(
1905 function (response_str) {
1906 var response = JSON.parse(response_str);
1907 jQuery('.wppm_submit_wait').hide();
1908 if (response.sucess_status=='1') {
1909 jQuery('#wppm_alert_success .wppm_alert_text').text(response.messege);
1910 }
1911 jQuery('#wppm_alert_success').slideDown('fast',function(){});
1912 setTimeout(function(){ jQuery('#wppm_alert_success').slideUp('fast',function(){}); }, 3000);
1913 }
1914 );
1915 }
1916
1917 function wppm_set_ap_grid_view(){
1918 var form = jQuery( '.wppm-frm-ap-grid_view' )[0];
1919 var dataform = new FormData( form );
1920 jQuery('.wppm_submit_wait').show();
1921 jQuery.ajax(
1922 {
1923 url: wppm_admin.ajax_url,
1924 type: 'POST',
1925 data: dataform,
1926 processData: false,
1927 contentType: false
1928 }
1929 ).done(
1930 function (response_str) {
1931 var response = JSON.parse(response_str);
1932 jQuery('.wppm_submit_wait').hide();
1933 if (response.sucess_status=='1') {
1934 jQuery('#wppm_alert_success .wppm_alert_text').text(response.messege);
1935 }
1936 jQuery('#wppm_alert_success').slideDown('fast',function(){});
1937 setTimeout(function(){ jQuery('#wppm_alert_success').slideUp('fast',function(){}); }, 3000);
1938 }
1939 );
1940 }
1941
1942 function wppm_set_advanced_settings(){
1943 jQuery('.wppm_submit_wait').show();
1944 var dataform = new FormData(jQuery('#wppm_frm_advanced_settings')[0]);
1945 jQuery.ajax({
1946 url: wppm_admin.ajax_url,
1947 type: 'POST',
1948 data: dataform,
1949 processData: false,
1950 contentType: false
1951 })
1952 .done(function (response_str) {
1953 var response = JSON.parse(response_str);
1954 jQuery('.wppm_submit_wait').hide();
1955 if (response.sucess_status=='1') {
1956 jQuery('#wppm_alert_success .wppm_alert_text').text(response.messege);
1957 }
1958 jQuery('#wppm_alert_success').slideDown('fast',function(){});
1959 setTimeout(function(){ jQuery('#wppm_alert_success').slideUp('fast',function(){}); }, 3000);
1960 });
1961 }
1962
1963 function wppm_get_project_visibility(id){
1964 wppm_modal_open('Change Visibility');
1965 var data = {
1966 action: 'wppm_get_project_visibility',
1967 id: id
1968 }
1969 jQuery.post(wppm_admin.ajax_url, data, function(response_str) {
1970 var response = JSON.parse(response_str);
1971 jQuery('#wppm_popup_body').html(response.body);
1972 jQuery('#wppm_popup_footer').html(response.footer);
1973 });
1974 }
1975
1976 function wppm_select_project_visibility(proj_id){
1977 if(jQuery('input[name="wppm_project_visibility_option"]').is(':checked')){
1978 var project_visibility = jQuery('input[name="wppm_project_visibility_option"]:checked').val();
1979 }else{
1980 var project_visibility = 0;
1981 }
1982 var data = {
1983 action: 'wppm_change_project_visibility',
1984 project_id:proj_id,
1985 project_visibility:project_visibility,
1986 _ajax_nonce:jQuery('#wppm_proj_visibility_ajax_nonce').val()
1987 };
1988 jQuery.post(wppm_admin.ajax_url, data, function() {
1989 });
1990 }
1991
1992 function wppm_apply_project_filter(is_archieved){
1993 wppm_project_filter = jQuery('#wppm_project_filter').find(":selected").val();
1994 jQuery('#wppm_project_container').html(wppm_admin.loading_html);
1995 var data = {
1996 action: 'wppm_get_project_list',
1997 wppm_project_filter:wppm_project_filter,
1998 page:wppm_admin.page,
1999 is_archieved:is_archieved
2000 };
2001 jQuery.post(wppm_admin.ajax_url, data, function(response) {
2002 jQuery('#wppm_project_container').html(response);
2003 });
2004 }
2005
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();
2025 jQuery('#wppm_task_container').html(wppm_admin.loading_html);
2026 jQuery.post(wppm_admin.ajax_url, {
2027 action: 'wppm_get_task_list',
2028 wppm_task_filter: wppm_task_filter,
2029 page: wppm_admin.page,
2030 page_no: page - 1,
2031 listFilters: JSON.stringify(listFilters) // �
2032 ALWAYS stringify
2033 }, function (response) {
2034 jQuery('#wppm_task_container').html(response);
2035 // 🔥 save cookie
2036 setListFilterCookie(listFilters);
2037 // 🔥 sync UI
2038 setTimeout(function () {
2039 syncUIWithFilters(listFilters);
2040 renderActiveFilters(listFilters);
2041 }, 100);
2042
2043 });
2044 }
2045
2046 function wppm_tl_reset_filter(page){
2047 var url = new URL(window.location.href);
2048 if (url.searchParams.has('wppm_task_filter')) {
2049 url.searchParams.delete('wppm_task_filter');
2050 window.location.href = url.toString();
2051 return false;
2052 }
2053 // �
2054 close popup
2055 jQuery("#tb-advanced-panel").removeClass("tb-open");
2056 jQuery("#tb-backdrop").removeClass("active");
2057
2058 // �
2059 clear inputs
2060 jQuery('#tb-advanced-panel input').val('');
2061 jQuery('#tb-advanced-panel select').val([]);
2062
2063 // �
2064 clear chips
2065 jQuery("#tb-active-filters").html('');
2066
2067 // �
2068 clear advanced filters + cookie BEFORE requesting the list, otherwise
2069 // this request still sends the stale tb_list_filters cookie and the
2070 // reset only takes effect on the next click
2071 resetFilters('list');
2072
2073 jQuery('#wppm_task_container').html(wppm_admin.loading_html);
2074 var data = {
2075 action: 'wppm_get_task_list',
2076 wppm_task_filter:'all',
2077 task_search:"",
2078 sort_by:"task_name",
2079 order:"ASC",
2080 wppm_proj_filter:0,
2081 page:page
2082 };
2083 jQuery.post(wppm_admin.ajax_url, data, function(response) {
2084 jQuery('#wppm_task_container').html(response);
2085 });
2086 }
2087
2088 function wppm_apply_task_filter_grid_view(page,id,filters){
2089 wppm_task_filter = jQuery('#wppm_task_filter').find(":selected").val();
2090 if (!filters) {
2091 filters = {
2092 created_by: jQuery("#tb-created-by").val() || [],
2093 assigned: jQuery("#tb-assigned").val() || [],
2094 priority: jQuery("#tb-priority").val() || [],
2095 start_date: jQuery("#tb-start-date").val() || "",
2096 end_date: jQuery("#tb-end-date").val() || ""
2097 };
2098 }
2099 jQuery('#wppm_task_container').html(wppm_admin.loading_html);
2100 var data = {
2101 action: 'wppm_view_project_tasks',
2102 wppm_task_filter:wppm_task_filter,
2103 page: wppm_admin.page,
2104 page_no: (typeof page === 'number' ? page - 1 : 0),
2105 id:id,
2106 filters: JSON.stringify(filters)
2107 };
2108 jQuery.post(wppm_admin.ajax_url, data, function(response) {
2109 jQuery('#wppm_task_container').html(response);
2110 // 🔥 save cookie
2111 setFilterCookie(filters);
2112
2113 // 🔥 sync UI
2114 setTimeout(function () {
2115 syncUIWithFilters(filters);
2116 renderActiveFilters(filters);
2117 }, 100);
2118 });
2119 }
2120
2121 function wppm_tl_reset_grid_view_filter(page,id){
2122 var url = new URL(window.location.href);
2123 if (url.searchParams.has('wppm_task_filter')) {
2124 url.searchParams.delete('wppm_task_filter');
2125 window.location.href = url.toString();
2126 return false;
2127 }
2128 // �
2129 close popup
2130 jQuery("#tb-advanced-panel").removeClass("tb-open");
2131 jQuery("#tb-backdrop").removeClass("active");
2132
2133 // �
2134 clear inputs
2135 jQuery('#tb-advanced-panel input').val('');
2136 jQuery('#tb-advanced-panel select').val([]);
2137
2138 // �
2139 clear chips
2140 jQuery("#tb-active-filters").html('');
2141 window.localStorage.removeItem('wppm_task_filter');
2142
2143 // �
2144 clear advanced filters + cookie BEFORE requesting the list, otherwise
2145 // this request still sends the stale filters cookie and the reset only
2146 // takes effect on the next click
2147 if(id!=0){
2148 resetFilters('kanban');
2149 }else{
2150 resetFilters('grid');
2151 }
2152
2153 jQuery('#wppm_task_container').html(wppm_admin.loading_html);
2154 var data = {
2155 action: 'wppm_view_project_tasks',
2156 wppm_task_filter:'all',
2157 task_search:"",
2158 sort_by:"task_name",
2159 order:"ASC",
2160 wppm_proj_filter:"0",
2161 page:page,
2162 id:id
2163 };
2164 jQuery.post(wppm_admin.ajax_url, data, function(response) {
2165 jQuery('#wppm_task_container').html(response);
2166 });
2167 }
2168 function wppm_pl_reset_filter(is_archieved) {
2169 var url = new URL(window.location.href);
2170 if (url.searchParams.has('wppm_project_filter')) {
2171 url.searchParams.delete('wppm_project_filter');
2172 window.location.href = url.toString();
2173 return false;
2174 }
2175 // close popup
2176 jQuery("#tb-advanced-panel").removeClass("tb-open");
2177 jQuery("#tb-backdrop").removeClass("active");
2178 // clear inputs
2179 jQuery('#tb-advanced-panel input').val('');
2180 jQuery('#tb-advanced-panel select').val([]);
2181 // clear chips
2182 jQuery("#tb-active-filters").html('');
2183
2184 // clear advanced filters + cookie BEFORE requesting the list, otherwise
2185 // this request still sends the stale tb_proj_list_filters cookie and the
2186 // reset only takes effect on the next click
2187 resetProjectFilters(is_archieved);
2188
2189 jQuery('#wppm_project_container').html(wppm_admin.loading_html);
2190 var data = {
2191 action: 'wppm_get_project_list',
2192 wppm_project_filter: 'all',
2193 project_search: '',
2194 sort_by: 'project_name',
2195 order: 'ASC',
2196 page: wppm_admin.page,
2197 is_archieved: is_archieved,
2198 // send explicit empty filters so the server doesn't fall back to
2199 // the (possibly not-yet-expired) tb_proj_list_filters cookie
2200 filters: JSON.stringify({})
2201 };
2202 jQuery.post(wppm_admin.ajax_url, data, function(response) {
2203 jQuery('#wppm_project_container').html(response);
2204 });
2205 }
2206
2207 function wppm_tasks_by_select_project(page){
2208 wppm_proj_filter = jQuery('#wppm_task_list_proj_filter').find(":selected").val();
2209 jQuery('#wppm_task_container').html(wppm_admin.loading_html);
2210 var data = {
2211 action: 'wppm_get_task_list',
2212 wppm_proj_filter:wppm_proj_filter,
2213 page:page
2214 };
2215 jQuery.post(wppm_admin.ajax_url, data, function(response) {
2216 jQuery('#wppm_task_container').html(response);
2217 });
2218 }
2219
2220 function wppm_tasks_by_select_project_grid_view(page){
2221 wppm_proj_filter = jQuery('#wppm_task_list_proj_filter').find(":selected").val();
2222 jQuery('#wppm_task_container').html(wppm_admin.loading_html);
2223 var data = {
2224 action: 'wppm_view_project_tasks',
2225 wppm_proj_filter:wppm_proj_filter,
2226 page:page
2227 };
2228 jQuery.post(wppm_admin.ajax_url, data, function(response) {
2229 jQuery('#wppm_task_container').html(response);
2230 });
2231 }
2232
2233 function wppm_reset_ap_proj_list(){
2234 jQuery( "#wppm_reset_ap_proj_list_btn" ).text( wppm_admin.please_wait );
2235 var _ajax_nonce = jQuery("#wppm_reset_ap_proj_list_nonce").val();
2236 var data = { action: 'wppm_reset_ap_proj_list',_ajax_nonce };
2237 jQuery.post(
2238 wppm_admin.ajax_url,
2239 data,
2240 function () {
2241 wppm_get_ap_proj_list('project-list');
2242 }
2243 );
2244 }
2245
2246 function wppm_reset_ap_task_list(){
2247 jQuery( "#wppm_reset_ap_task_list_btn" ).text( wppm_admin.please_wait );
2248 var _ajax_nonce = jQuery("#wppm_reset_ap_task_list_ajax_nonce").val();
2249 var data = { action: 'wppm_reset_ap_task_list',_ajax_nonce };
2250 jQuery.post(
2251 wppm_admin.ajax_url,
2252 data,
2253 function () {
2254 wppm_get_ap_task_list('task-list');
2255 }
2256 );
2257 }
2258
2259 function wppm_reset_ap_individual_proj(){
2260 jQuery( "#wppm_reset_ap_individual_proj_btn" ).text( wppm_admin.please_wait );
2261 var _ajax_nonce = jQuery( "#wppm_reset_ap_individual_proj_ajax_nonce").val();
2262 var data = { action: 'wppm_reset_ap_individual_proj',
2263 _ajax_nonce, };
2264 jQuery.post(
2265 wppm_admin.ajax_url,
2266 data,
2267 function () {
2268 wppm_get_ap_individual_proj('individual-project');
2269 }
2270 );
2271 }
2272
2273 function wppm_reset_ap_individual_task(){
2274 jQuery( "#wppm_reset_ap_individual_task_btn" ).text( wppm_admin.please_wait );
2275 var _ajax_nonce = jQuery( "#wppm_reset_ap_individual_task_ajax_nonce" ).val();
2276 var data = { action: 'wppm_reset_ap_individual_task',_ajax_nonce };
2277 jQuery.post(
2278 wppm_admin.ajax_url,
2279 data,
2280 function () {
2281 wppm_get_ap_individual_task('individual-task');
2282 }
2283 );
2284 }
2285
2286 function wppm_reset_ap_modal_popup(){
2287 jQuery( "#wppm_reset_ap_modal_popup_btn" ).text( wppm_admin.please_wait );
2288 var _ajax_nonce = jQuery( "#wppm_reset_ap_modal_popup_nonce" ).val();
2289 var data = { action: 'wppm_reset_ap_modal_popup',_ajax_nonce };
2290 jQuery.post(
2291 wppm_admin.ajax_url,
2292 data,
2293 function () {
2294 wppm_get_ap_modal_popup('modal-popup');
2295 }
2296 );
2297 }
2298
2299 function wppm_reset_ap_grid_view(){
2300 jQuery( "#wppm_reset_ap_grid_view_btn" ).text( wppm_admin.please_wait );
2301 var wppm_reset_grid_ajax_nonce = jQuery( "#wppm_reset_ap_grid_view_ajax_nonce" ).val();
2302 var data = {
2303 action: 'wppm_reset_ap_grid_view',
2304 wppm_reset_grid_ajax_nonce:wppm_reset_grid_ajax_nonce
2305 };
2306 jQuery.post(wppm_admin.ajax_url, data, function(response) {
2307 wppm_get_ap_grid_view('grid-view');
2308 });
2309 }
2310
2311 function wppm_reset_ap_settings(){
2312 jQuery( "#wppm_reset_ap_settings_btn" ).text( wppm_admin.please_wait );
2313 var _ajax_nonce = jQuery("#wppm_reset_ap_settings_nonce").val();
2314 var data = { action: 'wppm_reset_ap_settings',_ajax_nonce };
2315 jQuery.post(
2316 wppm_admin.ajax_url,
2317 data,
2318 function () {
2319 wppm_get_ap_settings('settings');
2320 }
2321 );
2322 }
2323 /**
2324 * Bulk selector change
2325 */
2326 function wppm_bulk_select_change() {
2327 jQuery("#wppm-bulk-actions-btn").show();
2328 var checked = jQuery(".wppm-bulk-selector").is(":checked");
2329 jQuery(".wppm-bulk-select").prop("checked", checked);
2330 if(!checked){
2331 jQuery("#wppm-bulk-actions-btn").hide();
2332 }
2333 }
2334
2335 function wppm_task_bulk_select_change() {
2336 jQuery("#wppm-task-bulk-actions-btn").show();
2337 var checked = jQuery(".wppm-bulk-selector").is(":checked");
2338 jQuery(".wppm-task-bulk-select").prop("checked", checked);
2339 if(!checked){
2340 jQuery("#wppm-bulk-actions-btn").hide();
2341 }
2342 }
2343
2344 function wppm_bulk_change_status(nonce){
2345 var items = jQuery(".wppm-bulk-select:checked");
2346 var checked = items.length === 0 ? false : true;
2347 jQuery(".wppm-bulk-selector").prop("checked", checked);
2348 if (items.length != 0) {
2349 var proj_ids = jQuery(".wppm-bulk-select:checked")
2350 .map(function () {
2351 return this.value;
2352 })
2353 .get();
2354 wppm_modal_open('Change Status');
2355 var data = {
2356 action: "wppm_get_bulk_change_proj_status",
2357 proj_ids,
2358 _ajax_nonce: nonce,
2359 };
2360 jQuery.post(wppm_admin.ajax_url, data, function(response_str) {
2361 var response = JSON.parse(response_str);
2362 jQuery('#wppm_popup_body').html(response.body);
2363 jQuery('#wppm_popup_footer').html(response.footer);
2364 });
2365 }
2366 }
2367
2368 function wppm_set_bulk_change_project_status(){
2369 var dataform = new FormData(jQuery('#frm_get_bulk_project_change_status')[0]);
2370 wppm_modal_close();
2371 jQuery('#wppm_project_container').html(wppm_admin.loading_html);
2372 jQuery.ajax({
2373 url: wppm_admin.ajax_url,
2374 type: 'POST',
2375 data: dataform,
2376 processData: false,
2377 contentType: false
2378 })
2379 .done(function (response_str) {
2380 wppm_get_project_list();
2381 });
2382 }
2383
2384 function wppm_bulk_change_category(nonce){
2385 var items = jQuery(".wppm-bulk-select:checked");
2386 var checked = items.length === 0 ? false : true;
2387 jQuery(".wppm-bulk-selector").prop("checked", checked);
2388 if (items.length != 0) {
2389 var proj_ids = jQuery(".wppm-bulk-select:checked")
2390 .map(function () {
2391 return this.value;
2392 })
2393 .get();
2394 wppm_modal_open('Change Category');
2395 var data = {
2396 action: "wppm_get_bulk_change_proj_cat",
2397 proj_ids,
2398 _ajax_nonce: nonce,
2399 };
2400 jQuery.post(wppm_admin.ajax_url, data, function(response_str) {
2401 var response = JSON.parse(response_str);
2402 jQuery('#wppm_popup_body').html(response.body);
2403 jQuery('#wppm_popup_footer').html(response.footer);
2404 });
2405 }
2406 }
2407
2408 function wppm_set_bulk_change_project_category(){
2409 var dataform = new FormData(jQuery('#frm_get_bulk_project_change_category')[0]);
2410 wppm_modal_close();
2411 jQuery('#wppm_project_container').html(wppm_admin.loading_html);
2412 jQuery.ajax({
2413 url: wppm_admin.ajax_url,
2414 type: 'POST',
2415 data: dataform,
2416 processData: false,
2417 contentType: false
2418 })
2419 .done(function (response_str) {
2420 wppm_get_project_list();
2421 });
2422 }
2423
2424 function wppm_bulk_assign_users(nonce){
2425 var items = jQuery(".wppm-bulk-select:checked");
2426 var checked = items.length === 0 ? false : true;
2427 jQuery(".wppm-bulk-selector").prop("checked", checked);
2428 if (items.length != 0) {
2429 var proj_ids = jQuery(".wppm-bulk-select:checked")
2430 .map(function () {
2431 return this.value;
2432 })
2433 .get();
2434 wppm_modal_open('Assign Co-workers');
2435 var data = {
2436 action: "wppm_get_bulk_assign_users",
2437 proj_ids,
2438 _ajax_nonce: nonce,
2439 };
2440 jQuery.post(wppm_admin.ajax_url, data, function(response_str) {
2441 var response = JSON.parse(response_str);
2442 jQuery('#wppm_popup_body').html(response.body);
2443 jQuery('#wppm_popup_footer').html(response.footer);
2444 });
2445 }
2446 }
2447
2448 function wppm_set_bulk_project_users(){
2449 var dataform = new FormData(jQuery('#frm_get_bulk_project_users')[0]);
2450 wppm_modal_close();
2451 jQuery('#wppm_project_container').html(wppm_admin.loading_html);
2452 jQuery.ajax({
2453 url: wppm_admin.ajax_url,
2454 type: 'POST',
2455 data: dataform,
2456 processData: false,
2457 contentType: false
2458 })
2459 .done(function (response_str) {
2460 wppm_get_project_list();
2461 });
2462 }
2463
2464 function wppm_bulk_delete_project(nonce){
2465 var items = jQuery(".wppm-bulk-select:checked");
2466 var checked = items.length === 0 ? false : true;
2467 jQuery(".wppm-bulk-selector").prop("checked", checked);
2468 if (items.length != 0) {
2469 var proj_ids = jQuery(".wppm-bulk-select:checked")
2470 .map(function () {
2471 return this.value;
2472 })
2473 .get();
2474 wppm_modal_open('Delete Project');
2475 var data = {
2476 action: "wppm_get_bulk_delete_project",
2477 proj_ids,
2478 _ajax_nonce: nonce,
2479 };
2480 jQuery.post(wppm_admin.ajax_url, data, function(response_str) {
2481 var response = JSON.parse(response_str);
2482 jQuery('#wppm_popup_body').html(response.body);
2483 jQuery('#wppm_popup_footer').html(response.footer);
2484 });
2485 }
2486 }
2487
2488 function wppm_set_delete_bulk_projects(){
2489 var dataform = new FormData(jQuery('#frm_delete_bulk_project')[0]);
2490 wppm_modal_close();
2491 jQuery('#wppm_project_container').html(wppm_admin.loading_html);
2492 jQuery.ajax({
2493 url: wppm_admin.ajax_url,
2494 type: 'POST',
2495 data: dataform,
2496 processData: false,
2497 contentType: false
2498 })
2499 .done(function (response_str) {
2500 wppm_get_project_list();
2501 });
2502 }
2503
2504 function wppm_bulk_change_task_status(nonce){
2505 var items = jQuery(".wppm-task-bulk-select:checked");
2506 var checked = items.length === 0 ? false : true;
2507 jQuery(".wppm-bulk-selector").prop("checked", checked);
2508 if (items.length != 0) {
2509 var task_ids = jQuery(".wppm-task-bulk-select:checked")
2510 .map(function () {
2511 return this.value;
2512 })
2513 .get();
2514 wppm_task_modal_open('Change Task Status');
2515 var data = {
2516 action: "wppm_get_bulk_change_task_status",
2517 task_ids,
2518 _ajax_nonce: nonce,
2519 };
2520 jQuery.post(wppm_admin.ajax_url, data, function(response_str) {
2521 var response = JSON.parse(response_str);
2522 jQuery('#wppm_task_popup_body').html(response.body);
2523 jQuery('#wppm_task_popup_footer').html(response.footer);
2524 });
2525 }
2526 }
2527
2528 function wppm_set_bulk_change_task_priority(){
2529 var dataform = new FormData(jQuery('#frm_get_bulk_task_change_priority')[0]);
2530 wppm_task_modal_close();
2531 jQuery('#wppm_task_container').html(wppm_admin.loading_html);
2532 jQuery.ajax({
2533 url: wppm_admin.ajax_url,
2534 type: 'POST',
2535 data: dataform,
2536 processData: false,
2537 contentType: false
2538 })
2539 .done(function (response_str) {
2540 wppm_get_task_list();
2541 });
2542 }
2543
2544 function wppm_set_bulk_change_task_status(){
2545 var dataform = new FormData(jQuery('#frm_get_bulk_task_change_status')[0]);
2546 wppm_task_modal_close();
2547 jQuery('#wppm_task_container').html(wppm_admin.loading_html);
2548 jQuery.ajax({
2549 url: wppm_admin.ajax_url,
2550 type: 'POST',
2551 data: dataform,
2552 processData: false,
2553 contentType: false
2554 })
2555 .done(function (response_str) {
2556 wppm_get_task_list();
2557 });
2558 }
2559
2560 function wppm_bulk_change_task_priority(nonce){
2561 var items = jQuery(".wppm-task-bulk-select:checked");
2562 var checked = items.length === 0 ? false : true;
2563 jQuery(".wppm-bulk-selector").prop("checked", checked);
2564 if (items.length != 0) {
2565 var task_ids = jQuery(".wppm-task-bulk-select:checked")
2566 .map(function () {
2567 return this.value;
2568 })
2569 .get();
2570 wppm_task_modal_open('Change Task Priority');
2571 var data = {
2572 action: "wppm_get_bulk_change_task_priority",
2573 task_ids,
2574 _ajax_nonce: nonce
2575 };
2576 jQuery.post(wppm_admin.ajax_url, data, function(response_str) {
2577 var response = JSON.parse(response_str);
2578 jQuery('#wppm_task_popup_body').html(response.body);
2579 jQuery('#wppm_task_popup_footer').html(response.footer);
2580 });
2581 }
2582 }
2583
2584 function wppm_bulk_delete_task(nonce){
2585 var items = jQuery(".wppm-task-bulk-select:checked");
2586 var checked = items.length === 0 ? false : true;
2587 jQuery(".wppm-bulk-selector").prop("checked", checked);
2588 if (items.length != 0) {
2589 var task_ids = jQuery(".wppm-task-bulk-select:checked")
2590 .map(function () {
2591 return this.value;
2592 })
2593 .get();
2594 wppm_task_modal_open('Delete Task');
2595 var data = {
2596 action: "wppm_get_bulk_delete_task",
2597 task_ids,
2598 _ajax_nonce: nonce,
2599 };
2600 jQuery.post(wppm_admin.ajax_url, data, function(response_str) {
2601 var response = JSON.parse(response_str);
2602 jQuery('#wppm_task_popup_body').html(response.body);
2603 jQuery('#wppm_task_popup_footer').html(response.footer);
2604 });
2605 }
2606 }
2607
2608 function wppm_set_delete_bulk_tasks(){
2609 var dataform = new FormData(jQuery('#frm_delete_bulk_tasks')[0]);
2610 wppm_task_modal_close();
2611 jQuery('#wppm_task_container').html(wppm_admin.loading_html);
2612 jQuery.ajax({
2613 url: wppm_admin.ajax_url,
2614 type: 'POST',
2615 data: dataform,
2616 processData: false,
2617 contentType: false
2618 })
2619 .done(function (response_str) {
2620 wppm_get_task_list();
2621 });
2622 }
2623
2624 function wppm_print_task(id){
2625 jQuery('#wppmprint_menu').css('display', 'flex');
2626 }
2627
2628 function wppm_open_pdf(id){
2629 window.open(wppm_admin.ajax_url + "?action=wppm_get_task_pdf&id=" + id, "_blank");
2630 }
2631
2632 function wppm_download_pdf(id){
2633 window.open(wppm_admin.ajax_url + "?action=wppm_download_pdf&id=" + id, "_blank");
2634 }
2635
2636 function wppm_archive_task(id,is_archived,project_id){
2637 if (!confirm(wppm_admin.confirm)) {
2638 return;
2639 } else {
2640 var data = {
2641 action: 'wppm_archive_task',
2642 id: id,
2643 is_archived: is_archived,
2644 project_id: project_id,
2645 };
2646 jQuery.post(wppm_admin.ajax_url, data, function() {
2647 wppm_open_task(id,project_id);
2648 });
2649 }
2650 }
2651
2652 function wppm_archive_project(project_id,is_archived){
2653 if (!confirm(wppm_admin.confirm)) {
2654 return;
2655 } else {
2656 var data = {
2657 action: 'wppm_archive_project',
2658 project_id: project_id,
2659 is_archived: is_archived,
2660 };
2661 jQuery.post(wppm_admin.ajax_url, data, function() {
2662 wppm_open_project(project_id);
2663 });
2664 }
2665 }
2666
2667 function wppm_get_print_task_settings(){
2668 jQuery('.wppm_setting_pills li').removeClass('active');
2669 jQuery('#wppm_settings_print_task').addClass('active');
2670 jQuery('.wppm_setting_col2').html(wppm_admin.loading_html);
2671 var data = {
2672 action: 'wppm_get_print_task_settings'
2673 };
2674 jQuery.post(wppm_admin.ajax_url, data, function(response) {
2675 jQuery('.wppm_setting_col2').html(response);
2676 });
2677 }
2678
2679 function wppm_set_print_task_settings(){
2680 jQuery('.wppm_submit_wait').show();
2681 var dataform = new FormData(jQuery('#wppm_print_task_settings')[0]);
2682 jQuery.ajax({
2683 url: wppm_admin.ajax_url,
2684 type: 'POST',
2685 data: dataform,
2686 processData: false,
2687 contentType: false
2688 })
2689 .done(function (response_str) {
2690 var response = JSON.parse(response_str);
2691 jQuery('.wppm_submit_wait').hide();
2692 if (response.sucess_status=='1') {
2693 jQuery('#wppm_alert_success .wppm_alert_text').text(response.messege);
2694 }
2695 jQuery('#wppm_alert_success').slideDown('fast',function(){});
2696 setTimeout(function(){ jQuery('#wppm_alert_success').slideUp('fast',function(){}); }, 3000);
2697 });
2698 }
2699
2700 function wppm_edit_checklist_item(item_id,checklist_id,proj_id,task_id){
2701 wppm_task_modal_open('Edit Checklist Item') ;
2702 var data = {
2703 action: 'wppm_edit_checklist_item',
2704 item_id:item_id,
2705 checklist_id: checklist_id,
2706 task_id: task_id,
2707 proj_id: proj_id,
2708 _ajax_nonce:jQuery('#wppm_edit_checklist_item_ajax_nonce').val()
2709 };
2710 jQuery.post(wppm_admin.ajax_url, data, function(response) {
2711 var response = JSON.parse(response);
2712 if(proj_id==0){
2713 jQuery('#wppm_task_popup_body').html(response.body);
2714 jQuery('#wppm_task_popup_footer').html(response.footer);
2715 }else{
2716 jQuery('#wppm_popup_body').html(response.body);
2717 jQuery('#wppm_popup_footer').html(response.footer);
2718 }
2719 });
2720 }
2721
2722 function wppm_set_checklist_item_name(item_id,checklist_id,task_id){
2723 var dataform = new FormData(jQuery('#frm_get_edit_checklist_item')[0]);
2724 wppm_task_modal_close();
2725 jQuery('#wppm_task_container').html(wppm_admin.loading_html);
2726 jQuery.ajax({
2727 url: wppm_admin.ajax_url,
2728 type: 'POST',
2729 data: dataform,
2730 processData: false,
2731 contentType: false
2732 })
2733 .done(function (response_str) {
2734 wppm_open_task(task_id);
2735 });
2736 }
2737
2738 function wppm_get_project_tasks_kanban_view(proj_id, KanbanFilters = {}) {
2739 jQuery('#wppm_project_container').html(wppm_admin.loading_html);
2740 var data = {
2741 action: 'wppm_get_project_tasks_kanban_view',
2742 id: proj_id,
2743 filters: JSON.stringify(KanbanFilters)
2744 };
2745 jQuery.post(wppm_admin.ajax_url, data, function(response) {
2746 jQuery('#wppm_project_container').html(response);
2747 });
2748 }
2749
2750 function renderActiveFilters(filters) {
2751 let box = document.getElementById("tb-active-filters");
2752 if (!box) {
2753 return;
2754 }
2755 // CLEAR OLD CHIPS
2756 box.innerHTML = "";
2757 if (!filters || typeof filters !== "object") {
2758 return;
2759 }
2760 // CREATED BY
2761 if (Array.isArray(filters.created_by)) {
2762 filters.created_by.forEach(function(id) {
2763 let text = jQuery('#tb-created-by option[value="' + id + '"]').text();
2764 if (text) {
2765 createChip(text, "created_by", id);
2766 }
2767 });
2768 }
2769 // ASSIGNED
2770 if (Array.isArray(filters.assigned)) {
2771 filters.assigned.forEach(function(id) {
2772 let text = jQuery('#tb-assigned option[value="' + id + '"]').text();
2773 if (text) {
2774 createChip(text, "assigned", id);
2775 }
2776 });
2777 }
2778
2779 // PRIORITY
2780 if (Array.isArray(filters.priority)) {
2781 filters.priority.forEach(function(id) {
2782 let text = jQuery('#tb-priority option[value="' + id + '"]').text();
2783 if (text) {
2784 createChip(text, "priority", id);
2785 }
2786 });
2787 }
2788
2789 // CATEGORY (Project List)
2790 if (Array.isArray(filters.category)) {
2791 filters.category.forEach(function(id) {
2792 let text = jQuery('#tb-category option[value="' + id + '"]').text();
2793 if (text) {
2794 createChip(text, "category", id);
2795 }
2796 });
2797 }
2798
2799 // DATE CHIP
2800 if (filters.start_date || filters.end_date) {
2801 let dateText =
2802 (filters.start_date || "") +
2803 "" +
2804 (filters.end_date || "");
2805 createChip(dateText, "date", "");
2806 }
2807 }
2808
2809 function renderMulti(filters, key, selector, label) {
2810 if (!filters || !filters[key]) {
2811 return;
2812 }
2813 let values = filters[key] || [];
2814 if (!Array.isArray(values) || values.length === 0) {
2815 return;
2816 }
2817 jQuery(selector + " option").each(function () {
2818 let val = String(jQuery(this).val());
2819 let text = jQuery(this).text();
2820 if (values.map(String).includes(val)) {
2821 createChip(`${label}: ${text}`, key, val);
2822 }
2823 });
2824 }
2825
2826 function createChip(text, key, value) {
2827 let container = document.getElementById("tb-active-filters");
2828 if (!container) {
2829 return;
2830 }
2831 let chip = document.createElement("span");
2832 chip.className = "tb-chip";
2833 chip.innerHTML = `
2834 ${key.charAt(0).toUpperCase() + key.slice(1)}: ${text}
2835 <span
2836 class="tb-remove"
2837 data-key="${key}"
2838 data-value="${value || ''}"
2839 >
2840
2841 </span>
2842 `;
2843 container.appendChild(chip);
2844 }
2845
2846 function syncUIWithFilters(filters) {
2847 jQuery("#tb-created-by")
2848 .val(filters.created_by || [])
2849 .trigger("change");
2850
2851 jQuery("#tb-assigned")
2852 .val(filters.assigned || [])
2853 .trigger("change");
2854
2855 jQuery("#tb-priority")
2856 .val(filters.priority || [])
2857 .trigger("change");
2858
2859 jQuery("#tb-category")
2860 .val(filters.category || [])
2861 .trigger("change");
2862
2863 jQuery("#tb-start-date")
2864 .val(filters.start_date || "");
2865
2866 jQuery("#tb-end-date")
2867 .val(filters.end_date || "");
2868 }
2869
2870 function resetFilters(view_type) {
2871 let emptyFilters = {
2872 created_by: [],
2873 assigned: [],
2874 priority: [],
2875 start_date: "",
2876 end_date: "",
2877 id: jQuery('#wppm_proj_id').val() || 0
2878 };
2879 // Reset UI fields
2880 jQuery("#tb-created-by").val(null).trigger("change");
2881 jQuery("#tb-assigned").val(null).trigger("change");
2882 jQuery("#tb-priority").val(null).trigger("change");
2883 jQuery("#tb-start-date").val("");
2884 jQuery("#tb-end-date").val("");
2885 if (view_type === 'grid') {
2886 window.filters = { ...emptyFilters };
2887 // Delete cookie
2888 document.cookie =
2889 "tb_filters=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;";
2890 // Apply fresh filters
2891 wppm_apply_task_filter_grid_view('0',emptyFilters.id,window.filters);
2892 }
2893 if (view_type === 'list') {
2894 window.listFilters = { ...emptyFilters };
2895 // Delete cookie
2896 document.cookie =
2897 "tb_list_filters=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;";
2898 // Apply fresh filters
2899 wppm_apply_task_filter(1, window.listFilters);
2900 }
2901 if (view_type === 'kanban') {
2902 window.KanbanFilters = { ...emptyFilters };
2903 // Delete cookie
2904 document.cookie =
2905 "tb_kanban_filters=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;";
2906 // Apply fresh filters
2907 wppm_get_project_tasks_kanban_view(
2908 window.KanbanFilters.id,
2909 window.KanbanFilters
2910 );
2911 }
2912 }
2913
2914 function getFilterCookie() {
2915 let name = "tb_filters=";
2916 let arr = document.cookie.split(';');
2917 for (let i = 0; i < arr.length; i++) {
2918 let c = arr[i].trim();
2919 if (c.indexOf(name) === 0) {
2920 try {
2921 return JSON.parse(decodeURIComponent(c.substring(name.length)));
2922 } catch (e) {
2923 return null;
2924 }
2925 }
2926 }
2927 return null;
2928 }
2929
2930 function getListFilterCookie() {
2931 let name = "tb_list_filters=";
2932 let arr = document.cookie.split(';');
2933 for (let i = 0; i < arr.length; i++) {
2934 let c = arr[i].trim();
2935 if (c.indexOf(name) === 0) {
2936 try {
2937 return JSON.parse(decodeURIComponent(c.substring(name.length)));
2938 } catch (e) {
2939 return null;
2940 }
2941 }
2942 }
2943 return null;
2944 }
2945
2946 function getKanbanFilterCookie() {
2947 let name = "tb_kanban_filters=";
2948 let arr = document.cookie.split(';');
2949 for (let i = 0; i < arr.length; i++) {
2950 let c = arr[i].trim();
2951 if (c.indexOf(name) === 0) {
2952 try {
2953 return JSON.parse(decodeURIComponent(c.substring(name.length)));
2954 } catch (e) {
2955 return null;
2956 }
2957 }
2958 }
2959 return null;
2960 }
2961
2962 function setFilterCookie(filters) {
2963 document.cookie =
2964 "tb_filters=" + encodeURIComponent(JSON.stringify(filters)) +
2965 ";path=/;max-age=" + (60 * 60 * 24);
2966 }
2967
2968 function setListFilterCookie(listFilters) {
2969 document.cookie =
2970 "tb_list_filters=" + encodeURIComponent(JSON.stringify(listFilters)) +
2971 ";path=/;max-age=" + (60 * 60 * 24);
2972 }
2973
2974 function setKanbanFilterCookie(KanbanFilters) {
2975 document.cookie =
2976 "tb_kanban_filters=" + encodeURIComponent(JSON.stringify(KanbanFilters)) +
2977 ";path=/;max-age=" + (60 * 60 * 24);
2978 }
2979
2980 let filterTimeout;
2981 function triggerFilter(page = 1, filters = {}, view_type = 'list', proj_id = 0) {
2982 clearTimeout(filterTimeout);
2983 filterTimeout = setTimeout(function () {
2984 if (view_type === 'grid') {
2985 wppm_apply_task_filter_grid_view(
2986 page,
2987 proj_id,
2988 filters
2989 );
2990 }
2991 if (view_type === 'list') {
2992 wppm_apply_task_filter(
2993 page,
2994 filters
2995 );
2996 }
2997 if (view_type === 'kanban') {
2998 wppm_get_project_tasks_kanban_view(
2999 proj_id,
3000 filters
3001 );
3002 }
3003 }, 300);
3004 }
3005
3006 // ================= PROJECT LIST ADVANCED FILTER =================
3007 function getProjectListFilterCookie() {
3008 let name = "tb_proj_list_filters=";
3009 let arr = document.cookie.split(';');
3010 for (let i = 0; i < arr.length; i++) {
3011 let c = arr[i].trim();
3012 if (c.indexOf(name) === 0) {
3013 try {
3014 return JSON.parse(decodeURIComponent(c.substring(name.length)));
3015 } catch (e) {
3016 return null;
3017 }
3018 }
3019 }
3020 return null;
3021 }
3022
3023 function setProjectListFilterCookie(projectFilters) {
3024 document.cookie =
3025 "tb_proj_list_filters=" + encodeURIComponent(JSON.stringify(projectFilters)) +
3026 ";path=/;max-age=" + (60 * 60 * 24);
3027 }
3028
3029 function resetProjectFilters(is_archieved) {
3030 let emptyFilters = {
3031 created_by: [],
3032 assigned: [],
3033 category: [],
3034 start_date: "",
3035 end_date: ""
3036 };
3037 jQuery("#tb-created-by").val(null).trigger("change");
3038 jQuery("#tb-assigned").val(null).trigger("change");
3039 jQuery("#tb-category").val(null).trigger("change");
3040 jQuery("#tb-start-date").val("");
3041 jQuery("#tb-end-date").val("");
3042 window.projectFilters = { ...emptyFilters };
3043 document.cookie = "tb_proj_list_filters=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;";
3044 jQuery("#tb-advanced-panel").removeClass("tb-open");
3045 jQuery("#tb-backdrop").removeClass("active");
3046 jQuery("#tb-active-filters").html('');
3047 wppm_apply_project_filter_advanced(1, window.projectFilters, is_archieved);
3048 }
3049
3050 let projectFilterTimeout;
3051 function triggerProjectFilter(page, filters, is_archieved) {
3052 clearTimeout(projectFilterTimeout);
3053 projectFilterTimeout = setTimeout(function () {
3054 wppm_apply_project_filter_advanced(page, filters, is_archieved);
3055 }, 300);
3056 }
3057
3058 function wppm_apply_project_filter_advanced(page, projectFilters, is_archieved) {
3059 page = page || 1;
3060 is_archieved = is_archieved || 0;
3061 if (!projectFilters) {
3062 projectFilters = {
3063 created_by: jQuery("#tb-created-by").val() || [],
3064 assigned: jQuery("#tb-assigned").val() || [],
3065 category: jQuery("#tb-category").val() || [],
3066 start_date: jQuery("#tb-start-date").val() || "",
3067 end_date: jQuery("#tb-end-date").val() || ""
3068 };
3069 }
3070 let wppm_project_filter_val = jQuery('#wppm_project_filter').val() || 'all';
3071 jQuery('#wppm_project_container').html(wppm_admin.loading_html);
3072 jQuery.post(wppm_admin.ajax_url, {
3073 action: 'wppm_get_project_list',
3074 wppm_project_filter: wppm_project_filter_val,
3075 page: wppm_admin.page,
3076 page_no: page - 1,
3077 is_archieved: is_archieved,
3078 filters: JSON.stringify(projectFilters)
3079 }, function (response) {
3080 jQuery('#wppm_project_container').html(response);
3081 setProjectListFilterCookie(projectFilters);
3082 setTimeout(function () {
3083 syncUIWithFilters(projectFilters);
3084 renderActiveFilters(projectFilters);
3085 }, 100);
3086 });
3087 }
3088
3089 function wppm_archieve_project_list(){
3090 jQuery('#wppm_project_container').html(wppm_admin.loading_html);
3091 var data = {
3092 action: 'wppm_archieve_project_list'
3093 };
3094 jQuery.post(wppm_admin.ajax_url, data, function(response) {
3095 jQuery('#wppm_project_container').html(response);
3096 });
3097 }
3098
3099 function wppm_get_archieve_project_list(page_no){
3100 jQuery('#wppm_project_container').html(wppm_admin.loading_html);
3101 var data = {
3102 action: 'wppm_get_project_list',
3103 page_no:page_no,
3104 is_archieved:1
3105 };
3106 jQuery.post(wppm_admin.ajax_url, data, function(response) {
3107 jQuery('#wppm_project_container').html(response);
3108 });
3109 }
3110