You can subscribe to this list here.
| 2007 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(2) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2008 |
Jan
|
Feb
(58) |
Mar
(126) |
Apr
(96) |
May
(42) |
Jun
(59) |
Jul
(80) |
Aug
(95) |
Sep
(99) |
Oct
(137) |
Nov
(54) |
Dec
(138) |
| 2009 |
Jan
(174) |
Feb
(83) |
Mar
(36) |
Apr
(22) |
May
(16) |
Jun
(11) |
Jul
(7) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: <cod...@go...> - 2009-07-09 03:00:49
|
Author: do...@do...
Date: Wed Jul 8 19:56:30 2009
New Revision: 1387
Added:
dev-releases/2009.07.08.02/
- copied from r1386, /trunk/andro/
Log:
fix to builder to look at andro_universal.dd when determining if a full
build should be done.
|
|
From: <cod...@go...> - 2009-07-09 02:56:47
|
Author: do...@do...
Date: Wed Jul 8 19:55:49 2009
New Revision: 1386
Modified:
trunk/andro/application/androBuild.php
trunk/andro/lib/andro_universal.add
Log:
fix to builder to look at andro_universal.dd when determining if a full
build should be done.
Modified: trunk/andro/application/androBuild.php
==============================================================================
--- trunk/andro/application/androBuild.php (original)
+++ trunk/andro/application/androBuild.php Wed Jul 8 19:55:49 2009
@@ -177,6 +177,12 @@
'fullpath'=>$parm['DIR_PUB'].'lib/' .$specboot
);
+ $checksums[] = array(
+ 'file'=>'andro_universal.add',
+ 'md5'=>md5_file( $parm['DIR_PUB'].'lib/andro_universal.add' ),
+ 'fullpath'=>$parm['DIR_PUB'].'lib/andro_universal.add'
+ );
+
if ( isset( $parm['INST'] ) ) {
$app = str_replace( '_' .$parm['INST'], '', $parm['APP'] );
} else {
Modified: trunk/andro/lib/andro_universal.add
==============================================================================
--- trunk/andro/lib/andro_universal.add (original)
+++ trunk/andro/lib/andro_universal.add Wed Jul 8 19:55:49 2009
@@ -204,6 +204,7 @@
column dob { description: Birthdate; type_id: date; }
column dod { description: Date of Death; type_id: date; }
+
// These column definitions are computer related
//
column hostip { description: Host IP Num; type_id: char; colprec: 15; }
|
|
From: <cod...@go...> - 2009-07-09 02:39:35
|
Author: do...@do...
Date: Wed Jul 8 19:38:01 2009
New Revision: 1385
Added:
dev-releases/2009.07.08.01/
- copied from r1384, /trunk/andro/
Log:
|
|
From: <cod...@go...> - 2009-07-09 02:35:35
|
Author: do...@do...
Date: Wed Jul 8 19:33:44 2009
New Revision: 1384
Added:
dev-releases/2009.07.08/
- copied from r1383, /trunk/andro/
Log:
|
|
From: <cod...@go...> - 2009-07-09 02:31:42
|
Author: do...@do...
Date: Wed Jul 8 19:31:09 2009
New Revision: 1383
Modified:
trunk/andro/lib/andro_universal.add
Log:
Modified: trunk/andro/lib/andro_universal.add
==============================================================================
--- trunk/andro/lib/andro_universal.add (original)
+++ trunk/andro/lib/andro_universal.add Wed Jul 8 19:31:09 2009
@@ -187,7 +187,7 @@
// These column definitions are for names and addresses
//
column email { description: Email Address; type_id: vchar; colprec: 50; }
-column name { description: Full Name; type_id: vchar; colprec: 40; }
+column name { description: Full Name; type_id: vchar; colprec: 70; }
column name_ { description: Name Part; type_id: vchar; colprec: 25; }
column mi { description: Middle Initial;type_id: char; colprec: 1; }
column nam1st{ description: First ; type_id: vchar; colprec: 20; }
|
|
From: <cod...@go...> - 2009-07-03 08:20:33
|
Author: do...@do...
Date: Thu Jul 2 11:51:02 2009
New Revision: 1381
Added:
dev-releases/2009.07.02/
- copied from r1380, /trunk/andro/
Log:
fixes issue 32
|
|
From: <cod...@go...> - 2009-07-03 03:52:56
|
Author: do...@do...
Date: Thu Jul 2 19:00:09 2009
New Revision: 1382
Modified:
trunk/andro/application/a_pullsvn.php
Log:
fixes issue 33
Modified: trunk/andro/application/a_pullsvn.php
==============================================================================
--- trunk/andro/application/a_pullsvn.php (original)
+++ trunk/andro/application/a_pullsvn.php Thu Jul 2 19:00:09 2009
@@ -273,6 +273,11 @@
$matches=array();
preg_match_all('!\<li\>\<a.*\>(.*)\</a\>\</li\>!U',$rawtext,$matches);
$versions = $matches[1];
+ foreach( $versions as $key=>$version ) {
+ if ( $version == '..' ) {
+ unset( $versions[$key] );
+ }
+ }
if(count($versions)==0) {
x_EchoFlush(" No versions listed, nothing to pull.");
continue;
|
|
From: <cod...@go...> - 2009-06-30 02:43:53
|
Author: do...@do...
Date: Mon Jun 29 17:03:32 2009
New Revision: 1380
Modified:
trunk/andro/lib/androLib.php
Log:
Changed scriptPath() to actually work, when a friendly /pages/ URL is used.
Modified: trunk/andro/lib/androLib.php
==============================================================================
--- trunk/andro/lib/androLib.php (original)
+++ trunk/andro/lib/androLib.php Mon Jun 29 17:03:32 2009
@@ -5509,6 +5509,17 @@
function scriptPath() {
$path = $_SERVER['SCRIPT_NAME'];
$path = str_replace( "index.php", "", $path );
+
+ /*
+ *
+ * DO 6-29-2009
+ * scriptPath() was getting confused by friendly urls with /pages/
+ *
+ */
+ if ( stripos( $_SERVER['PHP_SELF'], '/pages/' ) !== false ) {
+ $path = str_replace( $_SERVER['PATH_INFO'], '', $path );
+ $path = str_replace( '/pages', '', $path );
+ }
$path = str_replace( "//", "/", $path );
if ( substr( $path, 0, 1 ) != '/' ) {
$path = '/' .$path;
|
|
From: <cod...@go...> - 2009-06-08 17:44:09
|
Author: ke...@se...
Date: Mon Jun 8 10:41:59 2009
New Revision: 1379
Added:
releases/2009.06.08/
- copied from r1378, /trunk/andro/
Log:
|
|
From: <cod...@go...> - 2009-06-08 17:09:39
|
Author: ke...@se...
Date: Mon Jun 8 10:07:44 2009
New Revision: 1378
Modified:
trunk/andro/clib/x6.js
Log:
Modified auto-complete fetch to only execute if value changed.
No Google issue #.
Modified: trunk/andro/clib/x6.js
==============================================================================
--- trunk/andro/clib/x6.js (original)
+++ trunk/andro/clib/x6.js Mon Jun 8 10:07:44 2009
@@ -3614,10 +3614,16 @@
// to smooth out what happens when user
// is typing very quickly on auto-select
// and then hits TAB.
- var json = new x6JSON('x6fetch',$(inp).attr('xtableid'));
- json.addParm('x6col',$(inp).attr('xcolumnid'));
- json.addParm('x6val',$(inp).val());
- json.execute(true,true);
+ // KFD 6/8/09 Refinement, only execute if value changed
+ var orig =
$(inp).prop('zlastfetch',$(inp).attr('zOriginalValue'));
+ if(orig!=$(inp).val()) {
+ var val = $(inp).val();
+ var json = new x6JSON('x6fetch',$(inp).attr('xtableid'));
+ json.addParm('x6col',$(inp).attr('xcolumnid'));
+ json.addParm('x6val',val);
+ json.execute(true,true);
+ inp.zlastfetch = val;
+ }
}
x6.console.log("Input Blur DONE");
x6.console.groupEnd();
|
|
From: <cod...@go...> - 2009-06-08 16:57:01
|
Author: ke...@se...
Date: Mon Jun 8 09:55:26 2009
New Revision: 1377
Modified:
trunk/andro/clib/x6.js
Log:
After saving a new row on conventional profile, child detail panes become
enabled.
No google issue number.
Modified: trunk/andro/clib/x6.js
==============================================================================
--- trunk/andro/clib/x6.js (original)
+++ trunk/andro/clib/x6.js Mon Jun 8 09:55:26 2009
@@ -4991,6 +4991,10 @@
self['receiveEvent_uiRowSaved_'+table] = function(row) {
x6.console.group("detailDisplay uiRowSaved");
this.displayRow('edit',row);
+ // KFD 6/8/09, show child panes on saving new row
+ x6events.fireEvent('uiHideKids_'+this.zTable,this.zTable);
+ x6events.fireEvent('uiEnableKids_'+this.zTable,this.zTable);
+
if($(this).prop('x6modal','N')=='Y') {
x6modals.close();
}
|
|
From: <cod...@go...> - 2009-06-08 16:45:10
|
Author: ke...@se...
Date: Mon Jun 8 09:43:21 2009
New Revision: 1376
Modified:
trunk/andro/lib/androX6.php
Log:
Allow PHP pre-insert/update JSON code to prevent actions by returning false
or null.
fixes issue 30
Modified: trunk/andro/lib/androX6.php
==============================================================================
--- trunk/andro/lib/androX6.php (original)
+++ trunk/andro/lib/androX6.php Mon Jun 8 09:43:21 2009
@@ -210,18 +210,21 @@
if(method_exists($this,$method)) {
$row = $this->$method($row);
}
- $skey = SQLX_Insert($dd,$row);
- if(!errors()) {
- $row=SQL_OneRow(
- "Select * FROM {$dd['viewname']} WHERE skey = $skey"
- );
- # KFD 5/26/09 Google Feature #23, hook inserts
- $method = $table_id."_after_insert";
- if(method_exists($this,$method)) {
- $row = $this->$method($row);
+ # KFD 6/8/09 Google #30, no action if returns false
+ if($row) {
+ $skey = SQLX_Insert($dd,$row);
+ if(!errors()) {
+ $row=SQL_OneRow(
+ "Select * FROM {$dd['viewname']} WHERE skey =
$skey"
+ );
+ # KFD 5/26/09 Google Feature #23, hook inserts
+ $method = $table_id."_after_insert";
+ if(method_exists($this,$method)) {
+ $row = $this->$method($row);
+ }
+ x6Data('row',$row);
}
}
- x6Data('row',$row);
}
else {
# KFD 5/26/09 Google Feature #23, hook updates
@@ -229,18 +232,21 @@
if(method_exists($this,$method)) {
$row = $this->$method($row);
}
- SQLX_Update($dd,$row);
- if(!errors()) {
- $skey = $row['skey'];
- $row=SQL_OneRow(
- "Select * FROM {$dd['viewname']} WHERE skey = $skey"
- );
- # KFD 5/26/09 Google Feature #23, hook updates
- $method = $table_id."_after_update";
- if(method_exists($this,$method)) {
- $row = $this->$method($row);
+ # KFD 6/8/09 Google #30, no action if returns false
+ if($row) {
+ SQLX_Update($dd,$row);
+ if(!errors()) {
+ $skey = $row['skey'];
+ $row=SQL_OneRow(
+ "Select * FROM {$dd['viewname']} WHERE skey =
$skey"
+ );
+ # KFD 5/26/09 Google Feature #23, hook updates
+ $method = $table_id."_after_update";
+ if(method_exists($this,$method)) {
+ $row = $this->$method($row);
+ }
+ x6Data('row',$row);
}
- x6Data('row',$row);
}
}
|
|
From: <cod...@go...> - 2009-06-08 16:27:53
|
Author: ke...@se...
Date: Mon Jun 8 09:26:58 2009
New Revision: 1375
Modified:
trunk/andro/application/androBuild.php
trunk/andro/lib/andro_universal.add
Log:
Show Menu text as config setting. Also unrelated fix to builder that was
causing tmp files to not get built properly.
Modified: trunk/andro/application/androBuild.php
==============================================================================
--- trunk/andro/application/androBuild.php (original)
+++ trunk/andro/application/androBuild.php Mon Jun 8 09:26:58 2009
@@ -10274,12 +10274,14 @@
$text = str_replace("#","\"",$text);
}
$text = $text ."\r\n";
- if ( !is_file( $file ) ) {
+ #if ( !is_file( $file ) ) {
+ # KFD 6/8/09, why??
// DO 3-23-2009 Changed mode
- $FILEOUT = fopen( $file , 'w+' );
- fwrite($FILEOUT,$text);
- fclose($FILEOUT);
- }
+ #$FILEOUT = fopen( $file , 'w' );
+ #fwrite($FILEOUT,$text);
+ #fclose($FILEOUT);
+ file_put_contents($file,$text);
+ #}
}
function fs_Skeleton_copy($src,$dst) {
Modified: trunk/andro/lib/andro_universal.add
==============================================================================
--- trunk/andro/lib/andro_universal.add (original)
+++ trunk/andro/lib/andro_universal.add Mon Jun 8 09:26:58 2009
@@ -651,6 +651,7 @@
column { cf_template; }
column { smtpout; }
}
+
table configinst {
module: system;
uisort: 552;
@@ -666,7 +667,7 @@
column description { suffix: _login; description: Login; }
projection login {
- column { loginbefore; loginafter; notesfooter }
+ column { loginbefore; loginafter; notesfooter; x4menutitle; }
}
column description { suffix: _email; description: Sending Emails; }
|
|
From: <cod...@go...> - 2009-06-08 15:04:08
|
Author: ke...@se...
Date: Mon Jun 8 08:03:49 2009
New Revision: 1374
Modified:
trunk/andro/lib/androX6.php
Log:
Allow PHP level actions before and after an ajax delete.
fixes issue 29
Modified: trunk/andro/lib/androX6.php
==============================================================================
--- trunk/andro/lib/androX6.php (original)
+++ trunk/andro/lib/androX6.php Mon Jun 8 08:03:49 2009
@@ -270,13 +270,29 @@
return;
}
+ # KFD 6/8/09 Google #29 Various changes to allow pre- and post-
+ # delete methods
+ $table_id = gp('x6page');
$view = ddView(gp('x6page'));
$skey = SQLFN(gp('skey'));
- $sq="Delete from $view where skey = $skey";
- if(Errors()) {
- x6Errors(hErrors());
+ $method = $table_id."_before_delete";
+ $continue = true;
+ if(method_exists($this,$method)) {
+ $continue = $this->$method($skey);
+ }
+ if($continue) {
+ $sq="Delete from $view where skey = $skey";
+ SQL($sq);
+ if(Errors()) {
+ x6Errors(hErrors());
+ }
+ else {
+ $method = $table_id."_after_delete";
+ if(method_exists($this,$method)) {
+ $this->$method();
+ }
+ }
}
- SQL($sq);
}
# ===================================================================
|
|
From: <cod...@go...> - 2009-06-08 14:57:10
|
Author: ke...@se...
Date: Mon Jun 8 07:53:55 2009
New Revision: 1373
Modified:
trunk/andro/clib/x6.js
Log:
Removed stray "console.log()" call.
Modified: trunk/andro/clib/x6.js
==============================================================================
--- trunk/andro/clib/x6.js (original)
+++ trunk/andro/clib/x6.js Mon Jun 8 07:53:55 2009
@@ -5255,7 +5255,6 @@
var json = this.JSON;
this.JSON.execute(false,true,true,function() {
- console.log("you ran a search!");
$(gridObject).find(".tbody").replaceWith(json.http.responseText);
$(gridObject).find('.tbody div:first').mouseover();
});
|
|
From: <cod...@go...> - 2009-06-08 14:53:02
|
Author: ke...@se...
Date: Mon Jun 8 07:51:59 2009
New Revision: 1372
Modified:
trunk/andro/clib/x6.js
Log:
Always go to first control when user clicks [NEW]
Fixes issue 28
Status: Verified
Modified: trunk/andro/clib/x6.js
==============================================================================
--- trunk/andro/clib/x6.js (original)
+++ trunk/andro/clib/x6.js Mon Jun 8 07:51:59 2009
@@ -4975,6 +4975,9 @@
x6events.fireEvent('buttonsNew_'+this.zTable,true);
x6events.fireEvent('buttonsEdit_'+this.zTable,true);
+ // KFD 6/8/09 Google #28, since this is a new row, turn off the
+ // memory of prior focused input
+ x6bb.fwSet('lastFocus_'+this.id,'');
x6events.fireEvent('objectFocus',this.id);
x6.console.groupEnd();
|
|
From: <cod...@go...> - 2009-06-08 14:20:44
|
Author: ke...@se...
Date: Mon Jun 8 07:20:03 2009
New Revision: 1371
Modified:
trunk/andro/clib/x6.js
Log:
Put skey onto bulletin board after saving a new row, so any JS code (such
as custom buttons) will find it as expected. This was already done when
loading rows for editing, but was missing when a new row was saved.
Fixes issue 27
status: Verified
Modified: trunk/andro/clib/x6.js
==============================================================================
--- trunk/andro/clib/x6.js (original)
+++ trunk/andro/clib/x6.js Mon Jun 8 07:20:03 2009
@@ -4597,6 +4597,9 @@
var retval = 'success';
x6.json.process();
this.zSkey = x6.data.row.skey;
+ // KFD 6/8/09 Google #27 Put skey onto bulletin board
+ // after a save
+ x6bb.fwSet('skey_'+this.zTable,x6.data.row.skey);
}
else {
var retval = 'fail';
|
|
From: <cod...@go...> - 2009-06-08 14:08:33
|
Author: ke...@se...
Date: Mon Jun 8 07:08:12 2009
New Revision: 1370
Modified:
trunk/andro/clib/x6.js
Log:
Bug fix, allow ampersand "&" and open paren "(" in regular text entries.
Fixes issue 26
status: Verified
Modified: trunk/andro/clib/x6.js
==============================================================================
--- trunk/andro/clib/x6.js (original)
+++ trunk/andro/clib/x6.js Mon Jun 8 07:08:12 2009
@@ -546,20 +546,35 @@
// So firefox must remain keypress and IE keydown
if(window.androIsIE) {
$(document).keydown(function(e) {
- //e = e ? e : window.event;
+ // KFD 6/8/09 Google #26 input.keydown() might have
+ // told us not to process the key
+ x6.console.group("Document Keydown");
+ if(x6bb.fwGet('noDocKey',false)) {
+ x6.console.log("noDocKey flag set, no action")
+ x6bb.fwSet('noDocKey',false);
+ }
+ else {
var keyLabel = x6.keyLabel(e);
- x6.console.group("Document Keydown");
var retval= x6.keyDispatcher(e);
- x6.console.groupEnd();
- return retval;
+ }
+ x6.console.groupEnd();
+ return retval;
});
}
else {
$(document).keypress(function(e) {
//e = e ? e : window.event;
x6.console.group("Document Keypress");
- var keyLabel = x6.keyLabel(e);
- var retval= x6.keyDispatcher(e);
+ // KFD 6/8/09 Google #26 input.keydown() might have
+ // told us not to process the key
+ if(x6bb.fwGet('noDocKey',false)) {
+ x6.console.log("noDocKey flag set, no action")
+ x6bb.fwSet('noDocKey',false);
+ }
+ else {
+ var keyLabel = x6.keyLabel(e);
+ var retval= x6.keyDispatcher(e);
+ }
x6.console.groupEnd();
return retval;
});
@@ -3305,6 +3320,10 @@
// Type validation for some types, only if not TAB or ENTER
if(!isNav ) {
x6.console.log("Not nav key, doing type validation");
+
+ // KFD 6/8/09 Google #26, turn of Document.keypress handling
+ // for all regular typing cases
+ x6bb.fwSet('noDocKey',true);
// KFD 2/20/09. Originally this came AFTER type validation,
// but that did not allow for alpha chars in
|
|
From: <cod...@go...> - 2009-05-28 18:03:05
|
Author: ke...@se...
Date: Thu May 28 10:54:07 2009
New Revision: 1369
Added:
releases/2009.05.28.1/
- copied from r1368, /trunk/andro/
Log:
Google #25
|
|
From: <cod...@go...> - 2009-05-28 17:58:58
|
Author: ke...@se...
Date: Thu May 28 10:53:25 2009
New Revision: 1368
Modified:
trunk/andro/lib/index_hidden.php
Log:
Remove extraneous FB::Send commands.
Modified: trunk/andro/lib/index_hidden.php
==============================================================================
--- trunk/andro/lib/index_hidden.php (original)
+++ trunk/andro/lib/index_hidden.php Thu May 28 10:53:25 2009
@@ -1401,9 +1401,7 @@
# columns, build the query
$sql="Select ".implode(',',$cols)
." FROM $tfko WHERE $cfko = ".SQLFC($colvalue);
- FB::Send($sql);
$row = SQL_OneRow($sql);
- FB::Send($row);
foreach($cols as $fcol=>$srccol) {
$type = $dd['flat'][$fcol]['formshort'];
if($type=='date'){
|
|
From: <cod...@go...> - 2009-05-28 17:53:16
|
Author: ke...@se...
Date: Thu May 28 10:52:36 2009
New Revision: 1367
Modified:
trunk/andro/clib/x6.js
Log:
Google #25, follow-up to #14, Prevent TAB key from processing while
auto-complete searches are in progress.
Fixes issue 25
Status: Verified
Modified: trunk/andro/clib/x6.js
==============================================================================
--- trunk/andro/clib/x6.js (original)
+++ trunk/andro/clib/x6.js Thu May 28 10:52:36 2009
@@ -3125,6 +3125,7 @@
// cancelling prior searches if the user keeps typing.
var x6selectJSON = {
JSON: false,
+ active: false,
request: function(inp,val) {
// First thing is to cancel current request
@@ -3132,9 +3133,16 @@
//if(this.JSON.http) {
// this.JSON.http.abort();
//}
+ if(this.JSON.http.abort) {
+ //this.JSON.http.abort();
+ }
+ //this.JSON.http.abort();
+ this.active = false;
+ //delete this.JSON;
this.JSON = false;
}
this.JSON = new x6JSON('x6page',x6.p(inp,'x6seltab'));
+ this.active = true;
this.JSON.addParm('x6select','Y');
this.JSON.addParm('gpletters',val);
@@ -3150,6 +3158,7 @@
this.JSON.execute(true,true,false
,function() {
x6inputs.x6select.display(inp,null,x6.data.x6select);
+ x6selectJSON.active=false;
}
);
}
@@ -3462,8 +3471,16 @@
// we have to work out the next control to give focus
// to, either forward or backward
if(isTab) {
+ // KFD 5/28/09 Google #25 disable tab on auto-complete
+ // while search is in progress.
+ if(x6selectJSON.active) {
+ $(e).stopPropagation();
+ console.log("Stopping propagation");
+ x6.console.log("Tab during auto-complete search,
discarding keystroke.");
+ x6.console.groupEnd();
+ return false;
+ }
x6.console.log("Tab key hit, returning true");
- x6.console.groupEnd();
return true;
}
if(!e.shiftKey) {
@@ -3574,10 +3591,14 @@
x6inputs.x6select.hide();
// KFD 5/27/09 Google #14 Must fetch
if($(inp).prop('xtableidpar','')!='') {
- x6.json.init('x6fetch',$(inp).attr('xtableid'));
- x6.json.addParm('x6col',$(inp).attr('xcolumnid'));
- x6.json.addParm('x6val',$(inp).val());
- x6.json.execute(true,true);
+ // KFD 5/28/09 Google # 25 Make independent objects
+ // to smooth out what happens when user
+ // is typing very quickly on auto-select
+ // and then hits TAB.
+ var json = new x6JSON('x6fetch',$(inp).attr('xtableid'));
+ json.addParm('x6col',$(inp).attr('xcolumnid'));
+ json.addParm('x6val',$(inp).val());
+ json.execute(true,true);
}
x6.console.log("Input Blur DONE");
x6.console.groupEnd();
|
|
From: <cod...@go...> - 2009-05-28 14:30:41
|
Author: ke...@se...
Date: Thu May 28 07:30:11 2009
New Revision: 1366
Added:
releases/2009.05.28/
- copied from r1365, /trunk/andro/
Log:
Google Issue #14
|
|
From: <cod...@go...> - 2009-05-27 19:13:31
|
Author: ke...@se...
Date: Wed May 27 12:12:22 2009
New Revision: 1365
Modified:
trunk/andro/clib/x6.js
trunk/andro/lib/index_hidden.php
Log:
x6 interface: filling in an auto-complete field now causes any relevant
Fetches to execute and display as asynchronous JSON calls.
Fixes issue 14
status: Verified
Modified: trunk/andro/clib/x6.js
==============================================================================
--- trunk/andro/clib/x6.js (original)
+++ trunk/andro/clib/x6.js Wed May 27 12:12:22 2009
@@ -3572,6 +3572,13 @@
x6inputs.setClass(inp);
x6inputs.afterBlurner(inp);
x6inputs.x6select.hide();
+ // KFD 5/27/09 Google #14 Must fetch
+ if($(inp).prop('xtableidpar','')!='') {
+ x6.json.init('x6fetch',$(inp).attr('xtableid'));
+ x6.json.addParm('x6col',$(inp).attr('xcolumnid'));
+ x6.json.addParm('x6val',$(inp).val());
+ x6.json.execute(true,true);
+ }
x6.console.log("Input Blur DONE");
x6.console.groupEnd();
return true;
Modified: trunk/andro/lib/index_hidden.php
==============================================================================
--- trunk/andro/lib/index_hidden.php (original)
+++ trunk/andro/lib/index_hidden.php Wed May 27 12:12:22 2009
@@ -470,6 +470,7 @@
// responsible for returning all headers, HTML or anything
// else it wants to send back.
if( gp('ajxFETCH') =='1') index_hidden_ajxFETCH();
+elseif(gp('x6fetch') <>'') index_hidden_x6FETCH();
elseif(gp('ajxfSELECT') <>'') index_hidden_ajxfSELECT();
elseif(gp('ajxc1table') <>'') index_hidden_ajx1ctable();
elseif(gp('gp_function') <>'') index_hidden_function();
@@ -1359,6 +1360,67 @@
}
echo implode('|-|',$returns);
}
+
+# KFD 5/27/09
+# Google #14. X6 must do FETCH operations when user navigates off
+# autoselect columns.
+function index_hidden_x6FETCH() {
+ $returns=array();
+
+ # This is everything that *might* go back, make a place
+ # for all of it
+ $GLOBALS['AG']['x4'] = array(
+ 'error'=>array()
+ ,'debug'=>array()
+ ,'notice'=>array()
+ ,'html'=>array()
+ ,'script'=>array()
+ );
+
+ // First fetch the values
+ $table_id = gp('x6fetch');
+ $dd = ddTable($table_id);
+ $column = gp('x6col');
+ $colvalue = gp('x6val');
+
+ # Look for fetch columns that pull from this column's
+ # table_id_fko
+ $tfko = $dd['flat'][$column]['table_id_fko'];
+ $cfko = $dd['flat'][$column]['column_id_fko'];
+ $cols = array();
+ foreach($dd['flat'] as $fcol=>$cdetails) {
+ $arr = array('FETCH','FETCHDEF','DISTRIBUTE');
+ if(in_array($cdetails['automation_id'],$arr)) {
+ if($cdetails['auto_table_id']==$tfko) {
+ $cols[$fcol] = $cdetails['auto_column_id'];
+ }
+ }
+ }
+
+ # We now have a list of source and destination
+ # columns, build the query
+ $sql="Select ".implode(',',$cols)
+ ." FROM $tfko WHERE $cfko = ".SQLFC($colvalue);
+ FB::Send($sql);
+ $row = SQL_OneRow($sql);
+ FB::Send($row);
+ foreach($cols as $fcol=>$srccol) {
+ $type = $dd['flat'][$fcol]['formshort'];
+ if($type=='date'){
+ x6html(
+ "x6inp_{$table_id}_$fcol"
+ ,date("Y-m-d",dEnsureTs($row[$srccol]))
+ );
+ }
+ else {
+ x6html("x6inp_{$table_id}_$fcol",$row[$srccol]);
+ }
+ }
+ echo json_encode_safe($GLOBALS['AG']['x4']);
+ exit;
+}
+
+
// ------------------------------------------------------------------
// >> Simple SQL Query, return SQL_Allrows array
|
|
From: <cod...@go...> - 2009-05-27 16:51:54
|
Author: ke...@se...
Date: Wed May 27 09:51:43 2009
New Revision: 1364
Added:
releases/2009.05.27/
- copied from r1363, /trunk/andro/
Log:
Google issues 24, 11, and 21
|
|
From: <cod...@go...> - 2009-05-27 16:47:50
|
Author: ke...@se...
Date: Wed May 27 09:47:20 2009
New Revision: 1363
Modified:
trunk/andro/lib/androLib.php
trunk/andro/lib/androX6.php
Log:
Allow programmer to override details panes on conventional profiles for
main table and also for children. Programmer creates function of this form.
class x6table extends androX6 {
function <table>_detail($divDetail) {
$divInner = $divDetail->removeInner();
....now code up a new detail
}
}
Fixes issue 21
Status: verified
Modified: trunk/andro/lib/androLib.php
==============================================================================
--- trunk/andro/lib/androLib.php (original)
+++ trunk/andro/lib/androLib.php Wed May 27 09:47:20 2009
@@ -3350,6 +3350,15 @@
}
}
+ # KFD 5/27/09 Google #21 Part of allowing override of a detail pane
+ # is to build one normally, then let the user wipe it
+ # out and start over.
+ function removeInner() {
+ $this->children[1]->children = array();
+ $this->children[1]->setHtml('');
+ return $this->children[1];
+ }
+
function makeComplete($table_id,$height,$parTable) {
# The complete track is much more involved, adds
# buttons and a status bar at bottom.
Modified: trunk/andro/lib/androX6.php
==============================================================================
--- trunk/andro/lib/androX6.php (original)
+++ trunk/andro/lib/androX6.php Wed May 27 09:47:20 2009
@@ -1001,7 +1001,12 @@
$divDetail->ap['xTabSelector'] = $tabs->ul->hp['id'];
$divDetail->ap['xTabIndex'] = 1;
$divDetail->ap['x6profile'] = 'conventional';
- $detail->hp['x6objectFocusId'] = $divDetail->hp['id'];
+ $detail->hp['x6objectFocusId'] = $divDetail->hp['id'];
+ # KFD 5/27/09 Google #21 Allow user to override the detail
+ if(method_exists($this,$table_id.'_detail')) {
+ $method = $table_id.'_detail';
+ $this->$method($divDetail);
+ }
# The div kids is a tabbar of child tables. Notice that we
# put nothing into them. They are loaded dynamically when
@@ -1032,6 +1037,12 @@
if($info['x6childwrites']=='detail') {
# Create the basic detail
$modal = new
androHTMLDetail($child,true,700,$table_id);
+ # KFD 5/27/09 Google #21 Allow user to override
+ if(method_exists($this,$child.'_detail')) {
+ $method = $child.'_detail';
+ $this->$method($modal);
+ }
+
# Now see if we need to add buttons
if(file_exists(fsDirtop()."application/x6$child.php"))
{
|