Files
phpmyadmin/js/import.js
2010-07-16 00:12:41 -07:00

89 lines
3.5 KiB
JavaScript

/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
* Functions used in the import tab
*
* @version $Id$
*/
/**
* Toggles the hiding and showing of each plugin's options
* according to the currently selected plugin from the dropdown list
*/
function changePluginOpts() {
$(".format_specific_options").each(function() {
$(this).hide();
});
var selected_plugin_name = $("#plugins option:selected").attr("value");
$("#" + selected_plugin_name + "_options").fadeIn('slow');
if(selected_plugin_name == "csv") {
$("#import_notification").text("Note: If the file contains multiple tables, they will be combined into one");
} else {
$("#import_notification").text("");
}
}
/**
* Toggles the hiding and showing of each plugin's options and sets the selected value
* in the plugin dropdown list according to the format of the selected file
*/
function matchFile(fname) {
var fname_array = fname.toLowerCase().split(".");
var len = fname_array.length;
if(len != 0) {
var extension = fname_array[len - 1];
if (extension == "gz" || extension == "bz2" || extension == "zip") {
len--;
}
$("#plugins option:selected").removeAttr("selected");
switch (fname_array[len - 1]) {
case "csv" : $("select[name='format'] option[value='csv']").attr('selected', 'selected'); break;
case "docsql" : $("select[name='format'] option[value='docsql']").attr('selected', 'selected'); break;
case "ldi" : $("select[name='format'] option[value='ldi']").attr('selected', 'selected'); break;
case "ods" : $("select[name='format'] option[value='ods']").attr('selected', 'selected'); break;
case "sql" : $("select[name='format'] option[value='sql']").attr('selected', 'selected'); break;
case "xls" : $("select[name='format'] option[value='xls']").attr('selected', 'selected'); break;
case "xlsx" : $("select[name='format'] option[value='xlsx']").attr('selected', 'selected'); break;
case "xml" : $("select[name='format'] option[value='xml']").attr('selected', 'selected'); break;
}
changePluginOpts();
}
}
$(document).ready(function() {
// Initially display the options for the selected plugin
changePluginOpts();
// Whenever the selected plugin changes, change the options displayed
$("#plugins").change(function() {
changePluginOpts();
});
$("#input_import_file").change(function() {
matchFile($(this).attr("value"));
});
$("#select_local_import_file").change(function() {
matchFile($(this).attr("value"));
});
/*
* When the "Browse the server" form is clicked or the "Select from the web server upload directory"
* form is clicked, the radio button beside it becomes selected and the other form becomes disabled.
*/
$("#input_import_file").focus(function() {
$("#radio_import_file").attr('checked', 'checked');
$("#radio_local_import_file").removeAttr('checked');
});
$("#select_local_import_file").focus(function() {
$("#radio_local_import_file").attr('checked', 'checked');
$("#radio_import_file").removeAttr('checked');
});
/**
* Set up the interface for Javascript-enabled browsers since the default is for
* Javascript-disabled browsers
*/
$("#scroll_to_options_msg").hide();
$(".format_specific_options").css({ "border": 0, "margin": 0, "padding": 0 });
$(".format_specific_options h3").remove();
});