225 lines
8.4 KiB
JavaScript
225 lines
8.4 KiB
JavaScript
/* vim: set expandtab sw=4 ts=4 sts=4: */
|
|
/**
|
|
* Functions used in the export tab
|
|
*
|
|
*/
|
|
|
|
/**
|
|
* Toggles the hiding and showing of each plugin's options
|
|
* according to the currently selected plugin from the dropdown list
|
|
*/
|
|
$(document).ready(function() {
|
|
$("#plugins").change(function() {
|
|
$(".format_specific_options").each(function() {
|
|
$(this).hide();
|
|
});
|
|
var selected_plugin_name = $("#plugins option:selected").attr("value");
|
|
$("#" + selected_plugin_name + "_options").show();
|
|
});
|
|
});
|
|
|
|
/**
|
|
* Toggles the enabling and disabling of the SQL plugin's comment options that apply only when exporting structure
|
|
*/
|
|
$(document).ready(function() {
|
|
$("input[type='radio'][name$='sql_structure_or_data']").change(function() {
|
|
var show = $("input[type='radio'][name$='sql_structure_or_data']:checked").attr("value");
|
|
if(show == 'data') {
|
|
// disable the SQL comment options
|
|
$("#checkbox_sql_dates").parent().fadeTo('fast', 0.4);
|
|
$("#checkbox_sql_dates").attr('disabled', 'disabled');
|
|
$("#checkbox_sql_relation").parent().fadeTo('fast', 0.4);
|
|
$("#checkbox_sql_relation").attr('disabled', 'disabled');
|
|
$("#checkbox_sql_mime").parent().fadeTo('fast', 0.4);
|
|
$("#checkbox_sql_mime").attr('disabled', 'disabled');
|
|
} else {
|
|
// enable the SQL comment options
|
|
$("#checkbox_sql_dates").parent().fadeTo('fast', 1);
|
|
$("#checkbox_sql_dates").removeAttr('disabled');
|
|
$("#checkbox_sql_relation").parent().fadeTo('fast', 1);
|
|
$("#checkbox_sql_relation").removeAttr('disabled');
|
|
$("#checkbox_sql_mime").parent().fadeTo('fast', 1);
|
|
$("#checkbox_sql_mime").removeAttr('disabled');
|
|
}
|
|
});
|
|
});
|
|
|
|
|
|
/**
|
|
* Toggles the hiding and showing of plugin structure-specific and data-specific
|
|
* options
|
|
*/
|
|
|
|
function toggle_structure_data_opts(pluginName) {
|
|
var radioFormName = pluginName + "_structure_or_data";
|
|
var dataDiv = "#" + pluginName + "_data";
|
|
var structureDiv = "#" + pluginName + "_structure";
|
|
var show = $("input[type='radio'][name='" + radioFormName + "']:checked").attr("value");
|
|
if(show == 'data') {
|
|
$(dataDiv).slideDown('slow');
|
|
$(structureDiv).slideUp('slow');
|
|
} else {
|
|
$(structureDiv).slideDown('slow');
|
|
if(show == 'structure') {
|
|
$(dataDiv).slideUp('slow');
|
|
} else {
|
|
$(dataDiv).slideDown('slow');
|
|
}
|
|
}
|
|
}
|
|
|
|
$(document).ready(function() {
|
|
$("input[type='radio'][name='latex_structure_or_data']").change(function() {
|
|
toggle_structure_data_opts("latex");
|
|
});
|
|
$("input[type='radio'][name='odt_structure_or_data']").change(function() {
|
|
toggle_structure_data_opts("odt");
|
|
});
|
|
$("input[type='radio'][name='texytext_structure_or_data']").change(function() {
|
|
toggle_structure_data_opts("texytext");
|
|
});
|
|
$("input[type='radio'][name='htmlword_structure_or_data']").change(function() {
|
|
toggle_structure_data_opts("htmlword");
|
|
});
|
|
$("input[type='radio'][name='sql_structure_or_data']").change(function() {
|
|
toggle_structure_data_opts("sql");
|
|
});
|
|
});
|
|
|
|
/**
|
|
* Toggles the disabling of the "save to file" options
|
|
*/
|
|
function toggle_save_to_file() {
|
|
if($("#radio_dump_asfile:checked").length == 0) {
|
|
$("#ul_save_asfile > li").fadeTo('fast', 0.4);
|
|
$("#ul_save_asfile > li > input").attr('disabled', 'disabled');
|
|
$("#ul_save_asfile > li> select").attr('disabled', 'disabled');
|
|
} else {
|
|
$("#ul_save_asfile > li").fadeTo('fast', 1);
|
|
$("#ul_save_asfile > li > input").removeAttr('disabled');
|
|
$("#ul_save_asfile > li> select").removeAttr('disabled');
|
|
}
|
|
}
|
|
|
|
$(document).ready(function() {
|
|
toggle_save_to_file();
|
|
$("input[type='radio'][name='output_format']").change(function() {
|
|
toggle_save_to_file();
|
|
});
|
|
});
|
|
|
|
/**
|
|
* For SQL plugin, toggles the disabling of the "display comments" options
|
|
*/
|
|
function toggle_sql_include_comments() {
|
|
$("#checkbox_sql_include_comments").change(function() {
|
|
if($("#checkbox_sql_include_comments:checked").length == 0) {
|
|
$("#ul_include_comments > li").fadeTo('fast', 0.4);
|
|
$("#ul_include_comments > li > input").attr('disabled', 'disabled');
|
|
} else {
|
|
// If structure is not being exported, the comment options for structure should not be enabled
|
|
if($("#radio_sql_structure_or_data_data:checked").length == 1) {
|
|
$("#text_sql_header_comment").parent("li").fadeTo('fast', 1);
|
|
$("#text_sql_header_comment").removeAttr('disabled');
|
|
} else {
|
|
$("#ul_include_comments > li").fadeTo('fast', 1);
|
|
$("#ul_include_comments > li > input").removeAttr('disabled');
|
|
}
|
|
}
|
|
});
|
|
}
|
|
|
|
/**
|
|
* For SQL plugin, if "CREATE TABLE options" is checked/unchecked, check/uncheck each of its sub-options
|
|
*/
|
|
$(document).ready(function() {
|
|
$("#checkbox_sql_create_table_statements").change(function() {
|
|
if($("#checkbox_sql_create_table_statements:checked").length == 0) {
|
|
$("#checkbox_sql_if_not_exists").removeAttr('checked');
|
|
$("#checkbox_sql_auto_increment").removeAttr('checked');
|
|
} else {
|
|
$("#checkbox_sql_if_not_exists").attr('checked', 'checked');
|
|
$("#checkbox_sql_auto_increment").attr('checked', 'checked');
|
|
}
|
|
});
|
|
});
|
|
|
|
/**
|
|
* Disables the view output as text option if the output must be saved as a file
|
|
*/
|
|
$(document).ready(function() {
|
|
$("#plugins").change(function() {
|
|
var active_plugin = $("#plugins option:selected").attr("value");
|
|
var force_file = $("#force_file_" + active_plugin).attr("value");
|
|
if(force_file == "true") {
|
|
$("#radio_view_as_text").attr('disabled', 'disabled');
|
|
$("#radio_view_as_text").parent().fadeTo('fast', 0.4);
|
|
} else {
|
|
$("#radio_view_as_text").removeAttr('disabled');
|
|
$("#radio_view_as_text").parent().fadeTo('fast', 1);
|
|
}
|
|
});
|
|
});
|
|
|
|
/**
|
|
* Toggles display of options when quick and custom export are selected
|
|
*/
|
|
function toggle_quick_or_custom() {
|
|
if($("$(this):checked").attr("value") == "custom") {
|
|
$("#databases_and_tables").show();
|
|
$("#rows").show();
|
|
$("#output").show();
|
|
$("#format_specific_opts").show();
|
|
$("#output_quick_export").hide();
|
|
var selected_plugin_name = $("#plugins option:selected").attr("value");
|
|
$("#" + selected_plugin_name + "_options").show();
|
|
} else {
|
|
$("#databases_and_tables").hide();
|
|
$("#rows").hide();
|
|
$("#output").hide();
|
|
$("#format_specific_opts").hide();
|
|
$("#output_quick_export").show();
|
|
}
|
|
}
|
|
|
|
$(document).ready(function() {
|
|
$("input[type='radio'][name='quick_or_custom']").change(function() {
|
|
toggle_quick_or_custom();
|
|
});
|
|
});
|
|
|
|
/**
|
|
* Sets up the interface for Javascript-enabled browsers since the default is for
|
|
* Javascript-disabled browsers
|
|
*/
|
|
$(document).ready(function() {
|
|
if($("input[type='hidden'][name='export_method']").attr("value") != "custom-no-form") {
|
|
$("#quick_or_custom").show();
|
|
}
|
|
$("#scroll_to_options_msg").hide();
|
|
$(".format_specific_options").hide();
|
|
$(".format_specific_options").css({ "border": 0, "margin": 0, "padding": 0});
|
|
$(".format_specific_options h3").remove();
|
|
toggle_quick_or_custom();
|
|
toggle_structure_data_opts($("select[id='plugins']").attr("value"));
|
|
toggle_sql_include_comments();
|
|
});
|
|
|
|
/**
|
|
* Disables the "Dump some row(s)" sub-options when it is not selected
|
|
*/
|
|
$(document).ready(function() {
|
|
$("input[type='radio'][name='allrows']").change(function() {
|
|
if($("input[type='radio'][name='allrows']:checked").attr("value") == "1") {
|
|
$("label[for='limit_to']").fadeTo('fast', 0.4);
|
|
$("label[for='limit_from']").fadeTo('fast', 0.4);
|
|
$("input[type='text'][name='limit_to']").attr('disabled', 'disabled');
|
|
$("input[type='text'][name='limit_from']").attr('disabled', 'disabled');
|
|
} else {
|
|
$("label[for='limit_to']").fadeTo('fast', 1);
|
|
$("label[for='limit_from']").fadeTo('fast', 1);
|
|
$("input[type='text'][name='limit_to']").removeAttr('disabled');
|
|
$("input[type='text'][name='limit_from']").removeAttr('disabled');
|
|
}
|
|
});
|
|
}); |