GitMonitor.js
[gitlive] / FixBug.js
index 7c35bc7..813382c 100644 (file)
--- a/FixBug.js
+++ b/FixBug.js
@@ -170,7 +170,27 @@ FixBug=new XObject({
                                             xtype: Gtk.Entry,
                                             listeners : {
                                                 key_release_event : function (self, event) {
-                                                    print(JSON.stringify(event,null,4)); //.keyval);
+                                                    if (event.key.keyval == Gdk.KEY_Return) {;
+                                                        // same code as button press..
+                                                         var active_id = this.get('/project-select').el.get_active();
+                                                     
+                                                        var project_id = this.get('/project-select').raw_data[active_id].id;
+                                                        
+                                                        var str = this.get('/search-entry').el.get_text();
+                                                        
+                                                        print(str);
+                                                        
+                                                        var _t = this;
+                                                        
+                                                        imports.Tasks.Tasks.query({
+                                                            project_id : project_id,
+                                                            'query[filter]' : 'me',
+                                                            'query[search]' : str
+                                                        }, function(res) { 
+                                                           // print(JSON.stringify(res,null,4));
+                                                            _t.get('/ticket-store').loadData(res);
+                                                        });
+                                                    }
                                                     return true;
                                                 }
                                             },
@@ -214,6 +234,29 @@ FixBug=new XObject({
                                     items : [
                                         {
                                             xtype: Gtk.TreeView,
+                                            listeners : {
+                                                cursor_changed : function (self) {
+                                                    
+                                                    var ret = {};
+                                                    this.selection.get_selected(ret);
+                                                
+                                                    // var val = "";
+                                                    var value = ''+ret.model.get_value(ret.iter, 0).value.get_string();
+                                                    
+                                                    print(value);
+                                                    var rec = false;
+                                                    this.get('/ticket-store').data.forEach( function(e) {
+                                                        if (e.id == value) {
+                                                            rec = e;
+                                                            return  false;
+                                                        }
+                                                    });
+                                                    // update the text box with the ticket data..
+                                                    this.get('/view').show(rec);
+                                                    //print(rec);
+                                                
+                                                }
+                                            },
                                             id : "ticket-view",
                                             pack : "add",
                                             can_focus : true,
@@ -268,7 +311,10 @@ FixBug=new XObject({
                                                     },
                                                     loadData : function (data) {
                                                             print("loading data");
-                                                                                        
+                                                        
+                                                        
+                                                        this.data = data;
+                                                                              
                                                         var el = this.el;
                                                         this.el.clear();
                                                         data.forEach(function(p) {
@@ -276,9 +322,10 @@ FixBug=new XObject({
                                                             el.append(ret);
                                                            //print("ADD " + p.name);
                                                              
-                                                           var line =    '[' + p.status_name + '] <b>'   +  GLib.markup_escape_text(p.summary)  + "</b><br.>"  +
+                                                           var line =    '[' + p.status_name + '] <b>'   + 
+                                                                 GLib.markup_escape_text(p.summary, p.summary.length)  + "</b>\n"  +
                                                                  '<span color="#666">' + 
-                                                                 GLib.markup_escape_text(p.description.split("\n").slice(0,3).join(" ")) +
+                                                                 GLib.markup_escape_text(p.description,p.description.length).split("\n").slice(0,3).join("\n") +
                                                                  '</span>';
                                                              print(line);
                                                              
@@ -383,11 +430,11 @@ FixBug=new XObject({
                                             items : [
                                                 {
                                                     xtype: Gtk.TextView,
-                                                    editable : false,
                                                     id : "view",
                                                     indent_width : 4,
                                                     pack : "add",
                                                     auto_indent : true,
+                                                    editable : false,
                                                     init : function() {
                                                         XObject.prototype.init.call(this);
                                                         var description = Pango.font_description_from_string("monospace");
@@ -410,6 +457,22 @@ FixBug=new XObject({
                                                          
                                                          
                                                         
+                                                    },
+                                                    show : function(p) {
+                                                         var line =  [
+                                                                'Status : ' +   p.status_name,
+                                                                'ID : ' +   p.id,
+                                                                '',
+                                                                'Summary :  ' +  p.summary,
+                                                                 '' + 
+                                                                 p.description,
+                                                             ].join("\n")   ;
+                                                             print(line);
+                                                             
+                                                             
+                                                             // can not do rich text due to so many missing features..
+                                                              this.el.get_buffer().set_text(line, line.length);
+                                                     
                                                     },
                                                     show_line_numbers : true,
                                                     items : [