1 /* vim: set expandtab sw=4 ts=4 sts=4: */
3 * @fileoverview functions used on the table structure page
4 * @name Table Structure
8 * @required js/functions.js
12 * AJAX scripts for tbl_structure.php
14 * Actions ajaxified here:
17 * Drop Primary Key/Index
20 $(document
).ready(function() {
23 * Attach Event Handler for 'Drop Column'
25 * @uses $.PMA_confirm()
26 * @uses PMA_ajaxShowMessage()
27 * (see $GLOBALS['cfg']['AjaxEnable'])
29 $(".drop_column_anchor").live('click', function(event
) {
30 event
.preventDefault();
33 * @var curr_table_name String containing the name of the current table
35 var curr_table_name
= window
.parent
.table
;
37 * @var curr_row Object reference to the currently selected row (i.e. field in the table)
39 var curr_row
= $(this).parents('tr');
41 * @var curr_column_name String containing name of the field referred to by {@link curr_row}
43 var curr_column_name
= $(curr_row
).children('th').children('label').text();
45 * @var question String containing the question to be asked for confirmation
47 var question
= PMA_messages
['strDoYouReally'] + ' :\n ALTER TABLE `' + curr_table_name
+ '` DROP `' + curr_column_name
+ '`';
49 $(this).PMA_confirm(question
, $(this).attr('href'), function(url
) {
51 PMA_ajaxShowMessage(PMA_messages
['strDroppingColumn']);
53 $.get(url
, {'is_js_confirmed' : 1, 'ajax_request' : true}, function(data
) {
54 if(data
.success
== true) {
55 PMA_ajaxShowMessage(data
.message
);
56 $(curr_row
).hide("medium").remove();
59 PMA_ajaxShowMessage(PMA_messages
['strErrorProcessingRequest'] + " : " + data
.error
);
62 }); // end $.PMA_confirm()
63 }) ; //end of Drop Column Anchor action
66 * Ajax Event handler for 'Add Primary Key'
68 * @uses $.PMA_confirm()
69 * @uses PMA_ajaxShowMessage()
70 * (see $GLOBALS['cfg']['AjaxEnable'])
72 $(".action_primary a").live('click', function(event
) {
73 event
.preventDefault();
76 * @var curr_table_name String containing the name of the current table
78 var curr_table_name
= window
.parent
.table
;
80 * @var curr_column_name String containing name of the field referred to by {@link curr_row}
82 var curr_column_name
= $(this).parents('tr').children('th').children('label').text();
84 * @var question String containing the question to be asked for confirmation
86 var question
= PMA_messages
['strDoYouReally'] + ' :\n ALTER TABLE `' + curr_table_name
+ '` ADD PRIMARY KEY(`' + curr_column_name
+ '`)';
88 $(this).PMA_confirm(question
, $(this).attr('href'), function(url
) {
90 PMA_ajaxShowMessage(PMA_messages
['strAddingPrimaryKey']);
92 $.get(url
, {'is_js_confirmed' : 1, 'ajax_request' : true}, function(data
) {
93 if(data
.success
== true) {
94 PMA_ajaxShowMessage(data
.message
);
96 if (typeof data
.reload
!= 'undefined') {
97 window
.parent
.frame_content
.location
.reload();
101 PMA_ajaxShowMessage(PMA_messages
['strErrorProcessingRequest'] + " : " + data
.error
);
104 }) // end $.PMA_confirm()
105 })//end Add Primary Key
108 * Ajax Event handler for 'Drop Primary Key/Index'
110 * @uses $.PMA_confirm()
111 * @uses PMA_ajaxShowMessage()
112 * (see $GLOBALS['cfg']['AjaxEnable'])
114 $('.drop_primary_key_index_anchor').live('click', function(event
) {
115 event
.preventDefault();
120 * @var $curr_row Object containing reference to the current field's row
122 var $curr_row
= $anchor
.parents('tr');
123 /** @var Number of columns in the key */
124 var rows
= $anchor
.parents('td').attr('rowspan') || 1;
125 /** @var Rows that should be hidden */
126 var $rows_to_hide
= $curr_row
;
127 for (var i
= 1, $last_row
= $curr_row
.next(); i
< rows
; i
++, $last_row
= $last_row
.next()) {
128 $rows_to_hide
= $rows_to_hide
.add($last_row
);
131 var question
= $curr_row
.children('td').children('.drop_primary_key_index_msg').val();
133 $anchor
.PMA_confirm(question
, $anchor
.attr('href'), function(url
) {
135 PMA_ajaxShowMessage(PMA_messages
['strDroppingPrimaryKeyIndex']);
137 $.get(url
, {'is_js_confirmed': 1, 'ajax_request': true}, function(data
) {
138 if(data
.success
== true) {
139 PMA_ajaxShowMessage(data
.message
);
140 $rows_to_hide
.hide("medium").remove();
143 PMA_ajaxShowMessage(PMA_messages
['strErrorProcessingRequest'] + " : " + data
.error
);
146 }) // end $.PMA_confirm()
147 }) //end Drop Primary Key/Index
149 }) // end $(document).ready()