make table icons link to browse table. from Oliver Meyer.
authorchriskl <chriskl>
Mon, 3 Nov 2003 01:26:37 +0000 (01:26 +0000)
committerchriskl <chriskl>
Mon, 3 Nov 2003 01:26:37 +0000 (01:26 +0000)
HISTORY
browser.php
classes/HTML_TreeMenu/TreeMenu.js
classes/HTML_TreeMenu/TreeMenu.php

diff --git a/HISTORY b/HISTORY
index bc9c2d15d7144165d6def2a0d37b5cdcfe052eae..d03a1d538f0f9b7494f001c54aeec4c9b979b7d0 100644 (file)
--- a/HISTORY
+++ b/HISTORY
@@ -18,6 +18,7 @@ Features
 * Show casts
 * Show conversions
 * Show languages
+* Make table icon link to browse table
 
 Bugs
 * Added legal DOCTYPE
index ab5c00d0cdcead950dfb1a509749e0ec1635845a..46bc3a5ae95380843a3afa88472be97ceac4c870 100644 (file)
@@ -5,7 +5,7 @@
         * if you click on a database it shows a list of database objects in that
         * database.
         *
-        * $Id: browser.php,v 1.22 2003/10/27 05:43:18 chriskl Exp $
+        * $Id: browser.php,v 1.23 2003/11/03 01:26:37 chriskl Exp $
         */
 
        // Include application functions
@@ -63,7 +63,9 @@
                                                                'icon' => "../../../images/themes/{$conf['theme']}/tables.png", 
                                                                'expandedIcon' => "../../../images/themes/{$conf['theme']}/tables.png",
                                                                'expanded' => false,
-                                                               'linkTarget' => 'detail'));
+                                                               'linkTarget' => 'detail',
+                                                               'browseLink' => addslashes(htmlspecialchars('tables.php?action=browse&page=1&table='.urlencode($tables->f[$data->tbFields['tbname']]).'&'.$querystr))
+                                                               ));
 
                                // Add table folder to schema
                                $table_node->addItem($item_node);
index 32a4b527d6102c1df215da01bb01e7b9006927f0..83a80c69404701ea54d30492cd6b93db416d4337 100755 (executable)
@@ -32,7 +32,7 @@
 // |         Harald Radi <[email protected]>                              |
 // +-----------------------------------------------------------------------+
 //
-// $Id: TreeMenu.js,v 1.2 2003/05/25 07:00:26 chriskl Exp $
+// $Id: TreeMenu.js,v 1.3 2003/11/03 01:26:37 chriskl Exp $
 
 
 /**
                * Branch images
                */
                        var gifname = nodes[i].n.length && this.doesMenu() && nodes[i].isDynamic ? (expanded ? 'minus' : 'plus') : 'branch';
-                       var iconimg = nodes[i].icon ? this.stringFormat('<img src="{0}/{1}" width="20" height="20" align="top" id="icon_{2}">', this.iconpath, nodes[i].icon, layerID) : '';
+                       var iconimg = nodes[i].icon ? this.stringFormat('<img border="0" src="{0}/{1}" width="20" height="20" align="top" id="icon_{2}">', this.iconpath, nodes[i].icon, layerID) : '';
                        
                        /**
                        * Add event handlers
                        * IMPORTANT:
                        * document.write()ing the string: '<div style="display:...' will screw up nn4.x
                */
-                       var layerTag  = this.doesMenu() ? this.stringFormat('<div id="{0}" style="display: {1}" class="{2}">', layerID, visibility, (nodes[i].cssClass ? nodes[i].cssClass : this.defaultClass)) : this.stringFormat('<div class="{0}">', nodes[i].cssClass ? nodes[i].cssClass : this.defaultClass);
-                       var onMDown   = this.doesMenu() && nodes[i].n.length  && nodes[i].isDynamic ? this.stringFormat('onmousedown="{0}.toggleBranch(\'{1}\', true)" style="cursor: pointer; cursor: hand"', this.myname, layerID) : '';
-                       var imgTag    = this.stringFormat('<img src="{0}/{1}{2}.gif" width="20" height="20" align="top" border="0" name="img_{3}" {4}>', this.iconpath, gifname, modifier, layerID, onMDown);
-                       var linkTarget= nodes[i].linkTarget ? nodes[i].linkTarget : this.linkTarget;
-                       var linkStart = nodes[i].link ? this.stringFormat('<a href="{0}" target="{1}">', nodes[i].link, linkTarget) : '';
-                       var linkEnd   = nodes[i].link ? '</a>' : '';
-
-                       output = this.stringFormat('{0}<nobr>{1}{2}{3}{4}<span {5}>{6}</span>{7}</nobr><br></div>',
+                       var layerTag    = this.doesMenu() ? this.stringFormat('<div id="{0}" style="display: {1}" class="{2}">', layerID, visibility, (nodes[i].cssClass ? nodes[i].cssClass : this.defaultClass)) : this.stringFormat('<div class="{0}">', nodes[i].cssClass ? nodes[i].cssClass : this.defaultClass);
+                       var onMDown     = this.doesMenu() && nodes[i].n.length  && nodes[i].isDynamic ? this.stringFormat('onmousedown="{0}.toggleBranch(\'{1}\', true)" style="cursor: pointer; cursor: hand"', this.myname, layerID) : '';
+                       var imgTag      = this.stringFormat('<img src="{0}/{1}{2}.gif" width="20" height="20" align="top" border="0" name="img_{3}" {4}>', this.iconpath, gifname, modifier, layerID, onMDown);
+                       var linkTarget  = nodes[i].linkTarget ? nodes[i].linkTarget : this.linkTarget;
+                       var linkStart   = nodes[i].link ? this.stringFormat('<a href="{0}" target="{1}">', nodes[i].link, linkTarget) : '';
+                       var linkEnd     = nodes[i].link ? '</a>' : '';
+                       var browseStart = nodes[i].browseLink ? '<a target="detail" href="'+nodes[i].browseLink+'">' : '';
+                       var browseEnd   = nodes[i].browseLink ? '</a>' : '';
+
+                       output = this.stringFormat('{0}<nobr>{1}{2}{3}{4}{5}{6}<span {7}>{8}</span>{9}</nobr><br></div>',
                                          layerTag,
                                                          prepend,
                                          parentLayerID == null && (nodes.length == 1 || this.noTopLevelImages) ? '' : imgTag,
+                                                         browseStart,
                                                          iconimg,
+                                                         browseEnd,
                                                          linkStart,
                                                          eventHandlers,
                                                          nodes[i].title,
 /**
 * TreeNode Class
 */
-       function TreeNode(title, icon, link, expanded, isDynamic, cssClass, linkTarget, expandedIcon)
+       function TreeNode(title, icon, link, expanded, isDynamic, cssClass, linkTarget, expandedIcon, browseLink)
        {
                this.title        = title;
                this.icon         = icon;
                this.oncollapse   = null;
                this.onexpand     = null;
                this.ontoggle     = null;
+               this.browseLink   = browseLink;
        }
 
 /**
index a053e6f56d2504b27b21b00737b82e7884f75ec9..dbb9e41d595d6780f27364f07f8bf9dcc3a8faf4 100755 (executable)
@@ -33,7 +33,7 @@
 // |         Harald Radi <[email protected]>                              |
 // +-----------------------------------------------------------------------+
 //
-// $Id: TreeMenu.php,v 1.1 2003/05/12 09:55:14 chriskl Exp $
+// $Id: TreeMenu.php,v 1.2 2003/11/03 01:26:37 chriskl Exp $
 
 /**
 * HTML_TreeMenu Class
@@ -302,6 +302,12 @@ class HTML_TreeNode
     */
     var $linkTarget;
 
+    /**
+    * The link for browsing a specific table
+    * @var string
+    */
+    var $browseLink;
+
     /**
     * Indexed array of subnodes
     * @var array
@@ -374,6 +380,7 @@ class HTML_TreeNode
         $this->isDynamic     = true;
         $this->ensureVisible = false;
         $this->linkTarget    = null;
+       $this->browseLink    = '';
 
         $this->parent        = null;
         $this->events        = $events;
@@ -623,7 +630,7 @@ class HTML_TreeMenu_DHTML extends HTML_TreeMenu_Presentation
     {
         $expanded  = $this->isDynamic ? ($nodeObj->expanded  ? 'true' : 'false') : 'true';
         $isDynamic = $this->isDynamic ? ($nodeObj->isDynamic ? 'true' : 'false') : 'false';
-        $html = sprintf("\t %s = %s.addItem(new TreeNode('%s', %s, %s, %s, %s, '%s', '%s', %s));\n",
+        $html = sprintf("\t %s = %s.addItem(new TreeNode('%s', %s, %s, %s, %s, '%s', '%s', %s, '%s'));\n",
                         $return,
                         $prefix,
                         $nodeObj->text,
@@ -633,7 +640,9 @@ class HTML_TreeMenu_DHTML extends HTML_TreeMenu_Presentation
                         $isDynamic,
                         $nodeObj->cssClass,
                         $nodeObj->linkTarget,
-                        !empty($nodeObj->expandedIcon) ? "'" . $nodeObj->expandedIcon . "'" : 'null');
+                        !empty($nodeObj->expandedIcon) ? "'" . $nodeObj->expandedIcon . "'" : 'null',
+                       $nodeObj->browseLink
+                       );
 
         foreach ($nodeObj->events as $event => $handler) {
             $html .= sprintf("\t %s.setEvent('%s', '%s');\n",