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     MTrack.milestoneViewer=  false;
74 });