this.el.grab_focus();
this.el.set_keep_above(true);
- this.get('/today').load();
+ this.get('/today-vew').load();
}
},
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;
}
},
items : [
{
xtype: Gtk.TreeView,
- fixed_height_mode : true,
+ 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,
+ fixed_height_mode : false,
headers_visible : false,
init : function() {
XObject.prototype.init.call(this);
},
loadData : function (data) {
print("loading data");
-
+
+
+ this.data = data;
+
var el = this.el;
this.el.clear();
data.forEach(function(p) {
el.append(ret);
//print("ADD " + p.name);
+ 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,p.description.length).split("\n").slice(0,3).join("\n") +
+ '</span>';
+ print(line);
+
el.set_value(ret.iter, 0, p.id);
- el.set_value(ret.iter, 1, '<b>#' + p.id + '</b>' +
- '[' + p.status_name + '] <b>' + p.summary + "</b>\n" +
- '<span color="#666">' + p.description.split("\n").slice(0,3).join("\n") +
- '</span>'
-
- );
+ el.set_value(ret.iter, 1, '<b>#' + p.id + '</b>' + line );
});
{
xtype: Gtk.TreeViewColumn,
pack : "append_column",
- sizing : Gtk.TreeViewColumnSizing.FIXED,
init : function() {
XObject.prototype.init.call(this);
this.el.add_attribute(this.items[0].el , 'markup', 1 );
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");
+ },
+ 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 : [
items : [
{
xtype: Gtk.TreeView,
- fixed_height_mode : true,
- id : "ticket-view",
+ id : "today-view",
pack : "add",
can_focus : true,
+ fixed_height_mode : true,
headers_visible : false,
init : function() {
XObject.prototype.init.call(this);
items : [
{
xtype: Gtk.ListStore,
- id : "ticket-store",
+ id : "today-store",
pack : "set_model",
columns : [
GObject.TYPE_STRING, // title
var project_id = this.get('/project-select').raw_data[active_id].id;
var _t = this;
+
+ var DT = imports.Date.Date;
- imports.Tasks.Tasks.query({
- project_id : project_id,
- 'query[filter]' : 'me'
- }, function(res) {
- print(JSON.stringify(res,null,4));
- _t.loadData(res);
+ new imports.Request.Request( {
+ url : '/cash_invoice_entry',
+ params : {
+ 'query[action_dt_from]' : (new DT()).format('Y-m-d'),
+ 'query[action_dt_to]' : (new DT()).add(DT.DAY,1).format('Y-m-d'),
+ limit: 999,
+ 'sort' : 'action_dt',
+ dir : 'ASC',
+ action : 'Hours'
+ },
+
+ success : function(res) {
+ this.loadData();
+ },
+ scope : this
+
+
});
+
}
},