Commit f8e380f6 authored by dragonwize's avatar dragonwize
Browse files

Updating HEAD with 1.2 version of BF.

parent 0d7d56c8
// $Id$
/**
* @file
* Enhances the default format selection on content type edit forms.
*
* Fixes bug that shows weight field when drag and drop is enabled
* because the field is hidden by default.
* Also hides formats that are not available per the Allowed checkboxes.
*/
/**
* Initialize Better Formats setttings and defaults.
*/
function betterFormatsInit() {
// Set default settings check for use of global allowed formats.
Drupal.settings.betterFormats = {"numChecked" : $('input.bf-allowed-formats:checked').length};
// Collapsing the input format setting after the weight columns have been hidden.
$('.input-format-settings > legend > a').click();
// Add hide/show events for allowed formats.
var formatBoxes = $('input.bf-allowed-formats');
formatBoxes.click(function() {
betterFormatsToggleFormats($(this));
});
if (Drupal.settings.betterFormats.numChecked > 0) {
formatBoxes.each(function() {
betterFormatsToggleFormats($(this), true);
});
}
}
/**
* Toggle format display in dropdowns in sync with allowed checkboxes.
*
* @param el
* DOM element of event.
* @param init
* Boolean value to determine first toggle.
*/
function betterFormatsToggleFormats(el, init) {
// Hide all formats except site default when the first box is checked.
if (Drupal.settings.betterFormats.numChecked === 0) {
$('select.bf-default-formats option[value != "0"][value != "' + el.val() + '"]').removeAttr('selected').hide();
}
$('select.bf-default-formats option[value = "' + el.val() + '"]').each(function() {
var option = $(this);
if (el.attr('checked')) {
option.show();
}
else {
option.removeAttr('selected').hide();
}
});
// Do not modify count on intial run.
if (!init) {
if (el.attr('checked')) {
Drupal.settings.betterFormats.numChecked += 1;
}
else if (Drupal.settings.betterFormats.numChecked > 0) {
// Keep num_checked from going below zero.
Drupal.settings.betterFormats.numChecked -= 1;
}
}
// Show all globally allowed formats if no boxes are checked.
if (Drupal.settings.betterFormats.numChecked === 0) {
// Show global formats available to roles because no format allowed boxes are checked.
$('select.bf-default-formats option').show();
}
}
$(document).ready(betterFormatsInit);
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment