MTrackWeb/templates/images/js/mtrack.project.js
[web.mtrack] / MTrackWeb / templates / images / js / mtrack.project.js
1
2
3 MTrack.milestoneViewer = false;
4 MTrack.milestoneValues = false;
5 MTrack.milestoneShow = function(url, a)
6 {
7     
8     
9     if (MTrack.milestoneViewer) {
10         
11         if (MTrack.milestoneValues &&
12                 MTrack.milestoneValues != MTrack.milestoneViewer.find('.milestone-edit').serialize()) {
13             // skip showing new form..
14             alert("save or cancel first");
15             return;
16         }
17         
18         MTrack.milestoneViewer.remove();
19         MTrack.milestoneViewer=  false;
20     }
21     
22     MTrack.milestoneValues = false;
23     if (MTrack.milestoneActiveURL == url) { // hide current...
24         MTrack.milestoneActiveURL = false;
25         return;
26     }
27     MTrack.milestoneActiveURL  = url;
28     // create a row be
29     var into;
30     if ($(a).is('div')) {
31         MTrack.milestoneViewer = $('<div>Loading...</div>');
32         $(a).append(MTrack.milestoneViewer);
33         into = MTrack.milestoneViewer;
34     } else {
35         var tr = $($(a).parents('tr:first')[0]);
36         var cols = tr.find('td').length;
37         MTrack.milestoneViewer = $('<tr><td colspan="' + cols + '">Loading...</td></tr>');
38         tr.after(MTrack.milestoneViewer);
39         into = MTrack.milestoneViewer.find('td');
40         
41     }
42     
43     //console.log(MTrack.milestoneViewer);
44     jQuery.ajax({
45         url : url,
46         data : { ajax_body : 1 },
47         success : function(data) {
48             into.html(data);
49             MTrack.addHandlers(into);
50             //MTrack.milestoneViewer.find('#summary').focus();
51             MTrack.milestoneValues = MTrack.milestoneViewer.find('.milestone-edit').serialize();
52         }
53     })
54     
55 };
56
57 MTrack.register('.project-new-milestone', 'click', function(event) {
58     event.preventDefault();
59     MTrack.milestoneShow(baseURL + '/Milestone/0', $('.project-new-milestone-area'));
60     $(this).hide(); 
61 });
62     
63 MTrack.register('.mtrack-milestone-cancel', 'click', function(event) {
64     event.preventDefault();
65     if (MTrack.milestoneValues &&
66             MTrack.milestoneValues != MTrack.milestoneViewer.find('.milestone-edit').serialize()) {
67         // skip showing new form..
68         alert("save or cancel first");
69         return;
70     }
71     $('.project-new-milestone').show();
72     MTrack.milestoneViewer.remove();
73     Track.milestoneValues= false;
74     MTrack.milestoneViewer=  false;
75 });
76
77
78 MTrack.register('.mtrack-milestone-save', 'click', function(event) {
79     event.preventDefault();
80     MTrack.milestoneViewer = false;
81     MTrack.milestoneValues= false;
82     var id = $('.milestone-form').attr('id').split('-').pop();
83     // reload the report..
84     jQuery.ajax({
85         url:  baseURL+'/Milestone/' + id,
86         type : 'POST',
87         data: $('.milestone-form').serializeArray(),
88         success : function() {
89             if ((id*1) > 0) {
90                 MTrack.ajaxLoad( baseURL + '/Project';, true);
91                 return;
92             }
93             MTrack.ajaxLoad( MTrack.currentURL, true);
94             
95         }
96     });
97     
98 });
99