{
"listeners": {
"destroy_event": "function (self, event) {\n this.el.hide();\n return false;\n}",
- "show": "function (self) {\nprint(\"ON SHOW!\");\n\n this.el.fullscreen();\n this.el.grab_focus();\n this.el.set_keep_above(true);\n}"
+ "show": "function (self) {\nprint(\"ON SHOW!\");\n\n this.el.fullscreen();\n this.el.grab_focus();\n this.el.set_keep_above(true);\n \n this.get('/today-vew').load();\n \n}"
},
"border_width": 3,
"default_height": 400,
- "default_width": 900,
+ "default_width": 1200,
"title": "Select Active Bug",
"xtype": "Window",
"|deletable": "true",
"items": [
{
"listeners": {
- "key_release_event": "function (self, event) {\n print(JSON.stringify(event,null,4)); //.keyval);\n return true;\n}"
+ "key_release_event": "function (self, event) {\n if (event.key.keyval == Gdk.KEY_Return) {;\n // same code as button press..\n var active_id = this.get('/project-select').el.get_active();\n \n var project_id = this.get('/project-select').raw_data[active_id].id;\n \n var str = this.get('/search-entry').el.get_text();\n \n print(str);\n \n var _t = this;\n \n imports.Tasks.Tasks.query({\n project_id : project_id,\n 'query[filter]' : 'me',\n 'query[search]' : str\n }, function(res) { \n // print(JSON.stringify(res,null,4));\n _t.get('/ticket-store').loadData(res);\n });\n }\n return true;\n}"
},
"id": "search-entry",
"pack": "pack_start,true,true,3",
"|xns": "Gtk",
"items": [
{
- "|fixed_height_mode": "true",
+ "listeners": {
+ "cursor_changed": "function (self) {\n \n var ret = {};\n this.selection.get_selected(ret);\n\n // var val = \"\";\n var value = ''+ret.model.get_value(ret.iter, 0).value.get_string();\n \n print(value);\n var rec = false;\n this.get('/ticket-store').data.forEach( function(e) {\n if (e.id == value) {\n rec = e;\n return false;\n }\n });\n // update the text box with the ticket data..\n this.get('/view').show(rec);\n //print(rec);\n\n}"
+ },
"id": "ticket-view",
"pack": "add",
"xtype": "TreeView",
"|can_focus": "true",
+ "|fixed_height_mode": "false",
"|headers_visible": "false",
"|init": "function() {\n XObject.prototype.init.call(this);\n var description = new Pango.FontDescription.c_new();\n description.set_size(10000);\n this.el.modify_font(description);\n\n this.selection = this.el.get_selection();\n this.selection.set_mode( Gtk.SelectionMode.SINGLE);\n var _t = this;\n\n // is this really needed??\n this.selection.signal['changed'].connect(function() {\n print('selection changed');\n \n\n });\n\n}\n",
"|xns": "Gtk",
"xtype": "ListStore",
"|columns": " [\n GObject.TYPE_STRING, // title \n GObject.TYPE_STRING, // tip\n GObject.TYPE_STRING // source..\n] ",
"|init": "function() {\n XObject.prototype.init.call(this);\n\n this.el.set_column_types ( 2, [\n GObject.TYPE_STRING, // real key\n GObject.TYPE_STRING // real type\n \n \n ] );\n\n\n \n // var t = this;\n //imports.Projects.Projects.fetch( function(res) { \n // t.loadData(res);\n // });\n \n \n}\n",
- "|loadData": "function (data) {\n print(\"loading data\");\n \n var el = this.el;\n this.el.clear();\n data.forEach(function(p) {\n var ret = {};\n el.append(ret);\n //print(\"ADD \" + p.name);\n \n el.set_value(ret.iter, 0, p.id);\n el.set_value(ret.iter, 1, '<b>#' + p.id + '</b>' + \n '[' + p.status_name + '] <b>' + p.summary + \"</b>\\n\" +\n '<span color=\"#666\">' + p.description.split(\"\\n\").slice(0,3).join(\"\\n\") +\n '</span>'\n \n );\n \n });\n \n \n}\n",
+ "|loadData": "function (data) {\n print(\"loading data\");\n \n \n this.data = data;\n \n var el = this.el;\n this.el.clear();\n data.forEach(function(p) {\n var ret = {};\n el.append(ret);\n //print(\"ADD \" + p.name);\n \n var line = '[' + p.status_name + '] <b>' + \n GLib.markup_escape_text(p.summary, p.summary.length) + \"</b>\\n\" +\n '<span color=\"#666\">' + \n GLib.markup_escape_text(p.description,p.description.length).split(\"\\n\").slice(0,3).join(\"\\n\") +\n '</span>';\n print(line);\n \n el.set_value(ret.iter, 0, p.id);\n el.set_value(ret.iter, 1, '<b>#' + p.id + '</b>' + line );\n \n });\n \n \n}\n",
"|reload": "function() {\n \n var active_id = this.get('/project-select').el.get_active();\n \n var project_id = this.get('/project-select').raw_data[active_id].id;\n \n var _t = this;\n \n imports.Tasks.Tasks.query({\n project_id : project_id,\n 'query[filter]' : 'me'\n }, function(res) { \n print(JSON.stringify(res,null,4));\n _t.loadData(res);\n });\n \n \n}\n",
"|xns": "Gtk"
},
{
"pack": "append_column",
"xtype": "TreeViewColumn",
- "|sizing": "Gtk.TreeViewColumnSizing.FIXED",
"|init": "function() {\n XObject.prototype.init.call(this);\n this.el.add_attribute(this.items[0].el , 'markup', 1 );\n}\n",
"|xns": "Gtk",
"items": [
},
{
"pack": "add",
- "xtype": "VBox",
+ "xtype": "HPaned",
"|xns": "Gtk",
"items": [
{
- "pack": "pack_start,false,true,3",
- "xtype": "HBox",
+ "pack": "pack1,true,true",
+ "xtype": "VBox",
"|xns": "Gtk",
"items": [
{
- "label": "I am doing this:",
"pack": "pack_start,false,true,3",
- "xtype": "Label",
- "|xns": "Gtk"
- },
- {
- "pack": "pack_start,true,true,3",
- "xtype": "Entry",
- "|xns": "Gtk"
- }
- ]
- },
- {
- "pack": "pack_start,false,true,3",
- "xtype": "HBox",
- "|xns": "Gtk",
- "items": [
- {
- "label": "Since:",
- "pack": "pack_start,false,true,3",
- "xtype": "Label",
- "|xns": "Gtk"
- },
- {
- "pack": "pack_start,false,false,3",
- "xtype": "Entry",
- "|width_request": 80,
- "|xns": "Gtk"
+ "xtype": "HBox",
+ "|xns": "Gtk",
+ "items": [
+ {
+ "label": "I am doing this:",
+ "pack": "pack_start,false,true,3",
+ "xtype": "Label",
+ "|xns": "Gtk"
+ },
+ {
+ "pack": "pack_start,true,true,3",
+ "xtype": "Entry",
+ "|xns": "Gtk"
+ }
+ ]
},
{
- "label": "Until",
"pack": "pack_start,false,true,3",
- "xtype": "Label",
- "|xns": "Gtk"
+ "xtype": "HBox",
+ "|xns": "Gtk",
+ "items": [
+ {
+ "label": "Since:",
+ "pack": "pack_start,false,true,3",
+ "xtype": "Label",
+ "|xns": "Gtk"
+ },
+ {
+ "pack": "pack_start,false,false,3",
+ "xtype": "Entry",
+ "|width_request": 80,
+ "|xns": "Gtk"
+ },
+ {
+ "label": "Until",
+ "pack": "pack_start,false,true,3",
+ "xtype": "Label",
+ "|xns": "Gtk"
+ },
+ {
+ "pack": "pack_start,true,true,3",
+ "xtype": "Entry",
+ "|xns": "Gtk"
+ }
+ ]
},
{
- "pack": "pack_start,true,true,3",
- "xtype": "Entry",
- "|xns": "Gtk"
+ "|xns": "Gtk",
+ "xtype": "ScrolledWindow",
+ "pack": "add",
+ "id": "RightEditor",
+ "items": [
+ {
+ "id": "view",
+ "indent_width": 4,
+ "pack": "add",
+ "xtype": "TextView",
+ "|auto_indent": true,
+ "|editable": "false",
+ "|init": "function() {\n XObject.prototype.init.call(this);\n var description = Pango.font_description_from_string(\"monospace\");\n\n description.set_size(8000);\n this.el.modify_font(description);\n\n}\n",
+ "|load": "function(str) {\n\n// show the help page for the active node..\n \n\n\n \n this.el.get_buffer().set_text(str, str.length);\n \n \n var buf = this.el.get_buffer();\n \n \n \n}",
+ "|show": "function(p) {\n var line = [\n 'Status : ' + p.status_name,\n 'ID : ' + p.id,\n '',\n 'Summary : ' + p.summary,\n '' + \n p.description,\n ].join(\"\\n\") ;\n print(line);\n \n \n // can not do rich text due to so many missing features..\n this.el.get_buffer().set_text(line, line.length);\n \n}\n",
+ "|show_line_numbers": true,
+ "|xns": "Gtk",
+ "items": [
+ {
+ "listeners": {
+ "changed": "function (self) {\n /*\n var s = new Gtk.TextIter();\n var e = new Gtk.TextIter();\n this.el.get_start_iter(s);\n this.el.get_end_iter(e);\n var str = this.el.get_text(s,e,true);\n try {\n Seed.check_syntax('var e = ' + str);\n } catch (e) {\n this.get('/RightEditor.view').el.modify_base(Gtk.StateType.NORMAL, new Gdk.Color({\n red: 0xFFFF, green: 0xCCCC , blue : 0xCCCC\n }));\n //print(\"SYNTAX ERROR IN EDITOR\"); \n //print(e);\n //console.dump(e);\n return;\n }\n this.get('/RightEditor.view').el.modify_base(Gtk.StateType.NORMAL, new Gdk.Color({\n red: 0xFFFF, green: 0xFFFF , blue : 0xFFFF\n }));\n \n this.get('/LeftPanel.model').changed( str , false);\n */\n}"
+ },
+ "pack": "set_buffer",
+ "xtype": "Buffer",
+ "|xns": "GtkSource"
+ }
+ ]
+ }
+ ]
}
]
},
{
+ "pack": "pack2,false,false",
+ "width_request": 200,
+ "xtype": "VBox",
"|xns": "Gtk",
- "xtype": "ScrolledWindow",
- "pack": "add",
- "id": "RightEditor",
"items": [
{
- "|editable": "false",
- "id": "view",
- "indent_width": 4,
- "pack": "add",
- "xtype": "TextView",
- "|auto_indent": true,
- "|init": "function() {\n XObject.prototype.init.call(this);\n var description = Pango.font_description_from_string(\"monospace\");\n\n description.set_size(8000);\n this.el.modify_font(description);\n\n}\n",
- "|load": "function(str) {\n\n// show the help page for the active node..\n \n\n\n \n this.el.get_buffer().set_text(str, str.length);\n \n \n var buf = this.el.get_buffer();\n \n \n \n}",
- "|show_line_numbers": true,
+ "pack": "pack_start,false,true,3",
+ "xtype": "HBox",
"|xns": "Gtk",
"items": [
{
"listeners": {
- "changed": "function (self) {\n /*\n var s = new Gtk.TextIter();\n var e = new Gtk.TextIter();\n this.el.get_start_iter(s);\n this.el.get_end_iter(e);\n var str = this.el.get_text(s,e,true);\n try {\n Seed.check_syntax('var e = ' + str);\n } catch (e) {\n this.get('/RightEditor.view').el.modify_base(Gtk.StateType.NORMAL, new Gdk.Color({\n red: 0xFFFF, green: 0xCCCC , blue : 0xCCCC\n }));\n //print(\"SYNTAX ERROR IN EDITOR\"); \n //print(e);\n //console.dump(e);\n return;\n }\n this.get('/RightEditor.view').el.modify_base(Gtk.StateType.NORMAL, new Gdk.Color({\n red: 0xFFFF, green: 0xFFFF , blue : 0xFFFF\n }));\n \n this.get('/LeftPanel.model').changed( str , false);\n */\n}"
+ "clicked": "function (self) {\n \n}"
},
- "pack": "set_buffer",
- "xtype": "Buffer",
- "|xns": "GtkSource"
+ "label": "Next/Back",
+ "pack": "pack_end,false,true,3",
+ "xtype": "Button",
+ "|use_stock": "true",
+ "|xns": "Gtk"
}
]
- }
- ]
- }
- ]
- },
- {
- "pack": "add",
- "width_request": 400,
- "xtype": "VBox",
- "|xns": "Gtk",
- "items": [
- {
- "pack": "pack_start,false,true,3",
- "xtype": "HBox",
- "|xns": "Gtk",
- "items": [
- {
- "listeners": {
- "key_release_event": "function (self, event) {\n print(JSON.stringify(event,null,4)); //.keyval);\n return true;\n}"
- },
- "id": "search-entry",
- "pack": "pack_start,true,true,3",
- "xtype": "Entry",
- "|xns": "Gtk"
},
{
- "listeners": {
- "clicked": "function (self) {\n var active_id = this.get('/project-select').el.get_active();\n \n var project_id = this.get('/project-select').raw_data[active_id].id;\n \n var str = this.get('/search-entry').el.get_text();\n \n print(str);\n \n var _t = this;\n \n imports.Tasks.Tasks.query({\n project_id : project_id,\n 'query[filter]' : 'me',\n 'query[search]' : str\n }, function(res) { \n // print(JSON.stringify(res,null,4));\n _t.get('/ticket-store').loadData(res);\n });\n}"
- },
- "label": "Search",
- "pack": "pack_end,false,true,3",
- "xtype": "Button",
- "|use_stock": "true",
- "|xns": "Gtk"
- }
- ]
- },
- {
- "pack": "pack_end,true,true,3",
- "xtype": "ScrolledWindow",
- "|shadow_type": "Gtk.ShadowType.IN",
- "|xns": "Gtk",
- "items": [
- {
- "|fixed_height_mode": "true",
- "id": "ticket-view",
- "pack": "add",
- "xtype": "TreeView",
- "|can_focus": "true",
- "|headers_visible": "false",
- "|init": "function() {\n XObject.prototype.init.call(this);\n var description = new Pango.FontDescription.c_new();\n description.set_size(10000);\n this.el.modify_font(description);\n\n this.selection = this.el.get_selection();\n this.selection.set_mode( Gtk.SelectionMode.SINGLE);\n var _t = this;\n\n // is this really needed??\n this.selection.signal['changed'].connect(function() {\n print('selection changed');\n \n\n });\n\n}\n",
+ "pack": "pack_end,true,true,3",
+ "xtype": "ScrolledWindow",
+ "|shadow_type": "Gtk.ShadowType.IN",
"|xns": "Gtk",
"items": [
{
- "id": "ticket-store",
- "pack": "set_model",
- "xtype": "ListStore",
- "|columns": " [\n GObject.TYPE_STRING, // title \n GObject.TYPE_STRING, // tip\n GObject.TYPE_STRING // source..\n] ",
- "|init": "function() {\n XObject.prototype.init.call(this);\n\n this.el.set_column_types ( 2, [\n GObject.TYPE_STRING, // real key\n GObject.TYPE_STRING // real type\n \n \n ] );\n\n\n \n // var t = this;\n //imports.Projects.Projects.fetch( function(res) { \n // t.loadData(res);\n // });\n \n \n}\n",
- "|loadData": "function (data) {\n print(\"loading data\");\n \n var el = this.el;\n this.el.clear();\n data.forEach(function(p) {\n var ret = {};\n el.append(ret);\n //print(\"ADD \" + p.name);\n \n el.set_value(ret.iter, 0, p.id);\n el.set_value(ret.iter, 1, '<b>#' + p.id + '</b>' + \n '[' + p.status_name + '] <b>' + p.summary + \"</b>\\n\" +\n '<span color=\"#666\">' + p.description.split(\"\\n\").slice(0,3).join(\"\\n\") +\n '</span>'\n \n );\n \n });\n \n \n}\n",
- "|reload": "function() {\n \n var active_id = this.get('/project-select').el.get_active();\n \n var project_id = this.get('/project-select').raw_data[active_id].id;\n \n var _t = this;\n \n imports.Tasks.Tasks.query({\n project_id : project_id,\n 'query[filter]' : 'me'\n }, function(res) { \n print(JSON.stringify(res,null,4));\n _t.loadData(res);\n });\n \n \n}\n",
- "|xns": "Gtk"
- },
- {
- "pack": "append_column",
- "xtype": "TreeViewColumn",
- "|sizing": "Gtk.TreeViewColumnSizing.FIXED",
- "|init": "function() {\n XObject.prototype.init.call(this);\n this.el.add_attribute(this.items[0].el , 'markup', 1 );\n}\n",
+ "id": "today-view",
+ "pack": "add",
+ "xtype": "TreeView",
+ "|can_focus": "true",
+ "|fixed_height_mode": "true",
+ "|headers_visible": "false",
+ "|init": "function() {\n XObject.prototype.init.call(this);\n var description = new Pango.FontDescription.c_new();\n description.set_size(10000);\n this.el.modify_font(description);\n\n this.selection = this.el.get_selection();\n this.selection.set_mode( Gtk.SelectionMode.SINGLE);\n var _t = this;\n\n // is this really needed??\n this.selection.signal['changed'].connect(function() {\n print('selection changed');\n \n\n });\n\n}\n",
"|xns": "Gtk",
"items": [
{
- "pack": "pack_start",
- "xtype": "CellRendererText",
+ "id": "today-store",
+ "pack": "set_model",
+ "xtype": "ListStore",
+ "|columns": " [\n GObject.TYPE_STRING, // title \n GObject.TYPE_STRING, // tip\n GObject.TYPE_STRING // source..\n] ",
+ "|init": "function() {\n XObject.prototype.init.call(this);\n\n this.el.set_column_types ( 2, [\n GObject.TYPE_STRING, // real key\n GObject.TYPE_STRING // real type\n \n \n ] );\n\n\n \n // var t = this;\n //imports.Projects.Projects.fetch( function(res) { \n // t.loadData(res);\n // });\n \n \n}\n",
+ "|loadData": "function (data) {\n print(\"loading data\");\n \n var el = this.el;\n this.el.clear();\n data.forEach(function(p) {\n var ret = {};\n el.append(ret);\n //print(\"ADD \" + p.name);\n \n el.set_value(ret.iter, 0, p.id);\n el.set_value(ret.iter, 1, '<b>#' + p.id + '</b>' + \n '[' + p.status_name + '] <b>' + p.summary + \"</b>\\n\" +\n '<span color=\"#666\">' + p.description.split(\"\\n\").slice(0,3).join(\"\\n\") +\n '</span>'\n \n );\n \n });\n \n \n}\n",
+ "|reload": "function() {\n \n var active_id = this.get('/project-select').el.get_active();\n \n var project_id = this.get('/project-select').raw_data[active_id].id;\n \n var _t = this;\n \n var DT = imports.Date.Date;\n \n new imports.Request.Request( {\n url : '/cash_invoice_entry',\n params : {\n 'query[action_dt_from]' : (new DT()).format('Y-m-d'),\n 'query[action_dt_to]' : (new DT()).add(DT.DAY,1).format('Y-m-d'),\n limit: 999,\n 'sort' : 'action_dt',\n dir : 'ASC',\n action : 'Hours'\n },\n \n success : function(res) {\n this.loadData();\n },\n scope : this\n \n \n });\n \n \n \n}\n",
"|xns": "Gtk"
+ },
+ {
+ "pack": "append_column",
+ "xtype": "TreeViewColumn",
+ "|sizing": "Gtk.TreeViewColumnSizing.FIXED",
+ "|init": "function() {\n XObject.prototype.init.call(this);\n this.el.add_attribute(this.items[0].el , 'markup', 1 );\n}\n",
+ "|xns": "Gtk",
+ "items": [
+ {
+ "pack": "pack_start",
+ "xtype": "CellRendererText",
+ "|xns": "Gtk"
+ }
+ ]
}
]
}