X-Git-Url: http://git.roojs.org/?p=app.Builder.js;a=blobdiff_plain;f=dbgenerate.js;h=e81c5ae4de769ab95e4585a7ee78ab10a6939f06;hp=e1d9fb5fde49f2fc28ac12d264ef6d89b09b81f1;hb=refs%2Fheads%2Fworking;hpb=290db859179a5c069e6cf161caa3fa286851ba63 diff --git a/dbgenerate.js b/dbgenerate.js index e1d9fb5fd..e81c5ae4d 100644 --- a/dbgenerate.js +++ b/dbgenerate.js @@ -13,7 +13,25 @@ * * write readers.. * - * usage: seed generate.js + * usage: seed generate.js + * + * + * + * + *Hack needed to latest GLib-2.0.gir + * + * + + + + + + * + * + * remove introspectable =0 from g_key_file_get_groups + * and add transfer-owneership = none to return value + * remove introspectable =0 from g_key_file_get_keys + * and add transfer-owneership = none to return value* * */ Gda = imports.gi.Gda; @@ -25,7 +43,7 @@ console = imports.console; File = imports.File.File; Options = imports.Options.Options; -Gda.init(); +//Gda.init(); var prov = Gda.Config.list_providers (); //print(prov.dump_as_string()); @@ -96,11 +114,13 @@ Gda.DataSelect.prototype.fetchAll = function() var map = { 'date' : 'date', - 'datetime' : 'string', + 'datetime' : 'date', + 'time' : 'string', //bogus 'int' : 'int', 'bigint' : 'int', - + 'double' : 'float', 'tinyint' : 'int', + 'smallint' : 'int', 'decimal' : 'float', 'float' : 'float', 'char' : 'string', @@ -128,9 +148,10 @@ function readIni(fn) var groups = key_file.get_groups(); groups.forEach(function(g) { ini[g] = {} - + print("KEY:"+g); var keys = key_file.get_keys(g); - keys.forEach(function(k) { + if (!keys) { return; } + keys.forEach(function(k) { ini[g][k] = key_file.get_value(g,k); }) }) @@ -144,6 +165,7 @@ if (File.isFile(cfg.INI)) { } } + if (File.isDirectory(cfg.INI)) { @@ -458,6 +480,7 @@ readers.forEach(function(reader) { var dir = GLib.get_home_dir() + '/.Builder/Roo.data.JsonReader'; if (!File.isDirectory(dir)) { + print("mkdir " + dir); File.mkdir(dir); } @@ -472,6 +495,7 @@ readers.forEach(function(reader) { root : "data", '*prop' : "reader", id : 'id', // maybe no.. + '|fields' : JSON.stringify(reader.reader, null,4).replace(/"/g,"'") }; @@ -484,6 +508,7 @@ readers.forEach(function(reader) { // GRIDS dir = GLib.get_home_dir() + '/.Builder/Roo.GridPanel'; if (!File.isDirectory(dir)) { + print("mkdir " + dir); File.mkdir(dir); } @@ -502,6 +527,7 @@ readers.forEach(function(reader) { "fitContainer": true, "tableName": reader.table, "background": true, + "region" : 'center', "listeners": { "|activate": "function() {\n _this.panel = this;\n if (_this.grid) {\n _this.grid.footer.onClick('first');\n }\n}" }, @@ -514,12 +540,19 @@ readers.forEach(function(reader) { "listeners": { "|render": "function() \n" + "{\n" + - " _this.grid = this; \n" + + " _this.grid = this; \n" + " //_this.dialog = Pman.Dialog.FILL_IN\n" + " if (_this.panel.active) {\n" + " this.footer.onClick('first');\n" + " }\n" + - "}" + "}", + "|rowdblclick": "function (_self, rowIndex, e)\n" + + "{\n" + + " if (!_this.dialog) return;\n" + + " _this.dialog.show( this.getDataSource().getAt(rowIndex), function() {\n" + + " _this.grid.footer.onClick('first');\n" + + " }); \n" + + "}\n" }, "|xns": "Roo.grid", @@ -527,7 +560,8 @@ readers.forEach(function(reader) { { "*prop": "dataSource", "xtype": "Store", - + remoteSort : true, + '|sortInfo' : "{ field : '" + reader.firstTxtCol + "', direction: 'ASC' }", "|xns": "Roo.data", "items": [ @@ -622,6 +656,7 @@ readers.forEach(function(reader) { dir = GLib.get_home_dir() + '/.Builder/Roo.form.Form'; if (!File.isDirectory(dir)) { + print("mkdir " + dir); File.mkdir(dir); } var formElements = []; @@ -631,9 +666,13 @@ readers.forEach(function(reader) { continue; } formHeight += reader.form[k].xtype == 'TextArea' ? 100 : 30; + formElements.push(reader.form[k]); } - formElements.push(reader.form['id']); + if (reader.form['id']) { + formElements.push(reader.form['id']); + } + print("WRITE: " + dir + '/' + cfg.DBNAME + '_' + reader.table + '.json'); var frmCfg = @@ -692,6 +731,7 @@ readers.forEach(function(reader) { dir = GLib.get_home_dir() + '/.Builder/Roo.form.ComboBox'; if (!File.isDirectory(dir)) { + print("mkdir " + dir); File.mkdir(dir); } @@ -714,6 +754,7 @@ readers.forEach(function(reader) { dir = GLib.get_home_dir() + '/.Builder/Roo.LayoutDialog'; if (!File.isDirectory(dir)) { + print("mkdir " + dir); File.mkdir(dir); } var formElements = [];