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();
118 * @var curr_row Object containing reference to the current field's row
120 var curr_row = $(this).parents('tr');
122 var question = $(curr_row).children('td').children('.drop_primary_key_index_msg').val();
124 $(this).PMA_confirm(question, $(this).attr('href'), function(url) {
126 PMA_ajaxShowMessage(PMA_messages['strDroppingPrimaryKeyIndex']);
128 $.get(url, {'is_js_confirmed': 1, 'ajax_request': true}, function(data) {
129 if(data.success == true) {
130 PMA_ajaxShowMessage(data.message);
131 $(curr_row).hide("medium").remove();
134 PMA_ajaxShowMessage(PMA_messages['strErrorProcessingRequest'] + " : " + data.error);
137 }) // end $.PMA_confirm()
138 }) //end Drop Primary Key/Index
140 }) // end $(document).ready()