[Phpmyadmin-git] [SCM] phpMyAdmin branch, master, updated. RELEASE_3_3_2-1612-g5a75ca1

Marc Delisle lem9 at users.sourceforge.net
Sun Apr 18 01:22:21 CEST 2010


The branch, master has been updated
       via  5a75ca180ae0eb5c47a80428c7707cca6d5d1269 (commit)
      from  f3f41cbe78693781a9874c59a8ae736d324797bd (commit)


- Log -----------------------------------------------------------------
commit 5a75ca180ae0eb5c47a80428c7707cca6d5d1269
Author: Marc Delisle <marc at infomarc.info>
Date:   Sat Apr 17 19:22:12 2010 -0400

    rfe #2988633 Improve ON DELETE/ON UPDATE drop-downs

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog          |    1 +
 js/tbl_relation.js |   26 ++++++++++++++++++++++++++
 tbl_relation.php   |   12 ++++++++----
 3 files changed, 35 insertions(+), 4 deletions(-)
 create mode 100644 js/tbl_relation.js

diff --git a/ChangeLog b/ChangeLog
index f3dd9fc..57c1c8c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -75,6 +75,7 @@ $Id$
 - rfe #2972969 [interface] Fix flipping of headers in non-IE browsers.
 + rfe #2964518 [interface] Allow to choose servers from configuration for
   synchronisation.
++ rfe #2988633 [relation] Improve ON DELETE/ON UPDATE drop-downs
 
 3.3.3.0 (not yet released)
 - patch #2982480 [navi] Do not group if there would be one table in group,
diff --git a/js/tbl_relation.js b/js/tbl_relation.js
new file mode 100644
index 0000000..5cdb0d7
--- /dev/null
+++ b/js/tbl_relation.js
@@ -0,0 +1,26 @@
+/* vim: set expandtab sw=4 ts=4 sts=4: */
+/**
+ * for tbl_relation.php 
+ *
+ */
+function show_hide_clauses(thisDropdown) {
+    // here, one span contains the label and the clause dropdown
+    // and we have one span for ON DELETE and one for ON UPDATE
+    //
+    if (thisDropdown.val() != '') {
+        thisDropdown.parent().next('span').show().next('span').show();
+    } else {
+        thisDropdown.parent().next('span').hide().next('span').hide();
+    }
+}
+
+$(document).ready(function() {
+    // initial display
+    $('.referenced_column_dropdown').each(function(index, one_dropdown) {
+        show_hide_clauses($(one_dropdown));
+    });
+    // change
+    $('.referenced_column_dropdown').change(function() {
+        show_hide_clauses($(this));
+    });
+});
diff --git a/tbl_relation.php b/tbl_relation.php
index 997ef60..e1b3253 100644
--- a/tbl_relation.php
+++ b/tbl_relation.php
@@ -18,6 +18,8 @@
  * Gets some core libraries
  */
 require_once './libraries/common.inc.php';
+$GLOBALS['js_include'][] = 'tbl_relation.js';
+
 require_once './libraries/tbl_common.php';
 $url_query .= '&goto=tbl_sql.php';
 
@@ -61,7 +63,6 @@ function PMA_generate_dropdown($dropdown_question, $select_name, $choices, $sele
     echo htmlspecialchars($dropdown_question) . '  ';
 
     echo '<select name="' . htmlspecialchars($select_name) . '">' . "\n";
-    echo '<option value=""></option>' . "\n";
 
     foreach ($choices as $one_value => $one_label) {
         echo '<option value="' . htmlspecialchars($one_value) . '"';
@@ -471,7 +472,7 @@ if ($col_rs && PMA_DBI_num_rows($col_rs) > 0) {
             if (!empty($save_row[$i]['Key'])) {
                 ?>
             <span class="formelement">
-            <select name="destination_foreign[<?php echo $myfield_md5; ?>]">
+            <select name="destination_foreign[<?php echo $myfield_md5; ?>]" class="referenced_column_dropdown">
                 <?php
                 if (isset($existrel_foreign[$myfield])) {
                     // need to backquote to support a dot character inside
@@ -508,10 +509,13 @@ if ($col_rs && PMA_DBI_num_rows($col_rs) > 0) {
             </span>
             <span class="formelement">
                 <?php
+                // For ON DELETE and ON UPDATE, the default action 
+                // is RESTRICT as per MySQL doc; however, a SHOW CREATE TABLE
+                // won't display the clause if it's set as RESTRICT. 
                 PMA_generate_dropdown('ON DELETE',
                     'on_delete[' . $myfield_md5 . ']',
                     $options_array,
-                    isset($existrel_foreign[$myfield]['on_delete']) ? $existrel_foreign[$myfield]['on_delete']: '');
+                    isset($existrel_foreign[$myfield]['on_delete']) ? $existrel_foreign[$myfield]['on_delete']: 'RESTRICT');
 
                 echo '</span>' . "\n"
                     .'<span class="formelement">' . "\n";
@@ -519,7 +523,7 @@ if ($col_rs && PMA_DBI_num_rows($col_rs) > 0) {
                 PMA_generate_dropdown('ON UPDATE',
                     'on_update[' . $myfield_md5 . ']',
                     $options_array,
-                    isset($existrel_foreign[$myfield]['on_update']) ? $existrel_foreign[$myfield]['on_update']: '');
+                    isset($existrel_foreign[$myfield]['on_update']) ? $existrel_foreign[$myfield]['on_update']: 'RESTRICT');
                 echo '</span>' . "\n";
             } else {
                 echo $strNoIndex;


hooks/post-receive
-- 
phpMyAdmin




More information about the Git mailing list