MediaWiki discusión:Gadget-CollapsibleCombo.js

Último comentario: hace 9 años por Juan renombrado en el tema Corrección (toggle)

Corrección (toggle) editar

Modificación para solventar la eliminación de la función de jquery "toggle" con dos parámetros. No está convenientemente probado, pero lo pongo como paliativo:

var autoCollapse = 2;
var collapseCaption = "ocultar ▲";
var expandCaption = "mostrar ▼";
 
var collapseCaptionM = "▲";
var expandCaptionM = "▼";
 
var contCollapsible = 0;
 
// == Código del plegado/desplegado de tablas ==
 
// <nowiki>
/** Collapsible tables *********************************************************
 *
 *  Description: Allows tables to be collapsed, showing only the header. See
 *               [[Wikipedia:NavFrame]].
 *  Maintainers: [[User:R. Koot]] (en), [[Usuario:Juan renombrado]]
 */
 
$(document).ready(
 
function () {
    $("table.collapsible").each(
 
    function () { /* only add button and increment count if there is a header row to work with */
        var speed = "fast",
            $toggleButton,
            $contenido, $header = $(this).children("caption:first");
        if (!$header.length) {
            $header = $(this).find("th:first");
 
            if (!$header.length) {
                return;
            }
            speed = "";
            $contenido = $(this.rows).slice(1);
        } else {
            $contenido = $(this.tBodies);
        }
 
        (++contCollapsible);
 
        $toggleButton = $("<a></a>").text(collapseCaptionM).addClass("collapsible-toggle");

	$header.addClass("collapsible-flexor").click(function(){
		if($contenido.is(":visible")){
			$contenido.hide(speed, function(){
				$toggleButton.text(expandCaptionM);
				$header.addClass("collapsed-header");
			});
		}else{
			$contenido.show(speed, function(){
				$toggleButton.text(collapseCaptionM);
				$header.removeClass("collapsed-header");
			});
		}
		return false;
	})
	.append($toggleButton);
 
        if ($(this).hasClass("collapsed")) {
            $header.click();
        }
    });
 
});
 
// </nowiki>
 
// == Código del plegado/desplegado de plantillas ==
 
$(document).ready(
 
function () {
    $("div.NavFrame").each(function () {
        (++contCollapsible);
        var $NavToggle = $("<a></a>").text(collapseCaption).addClass("NavToggle"),
            $contenido = $(this).children(".NavPic, .NavContent").first().addClass("collapsible-hidable");
 
 	$(this).children(".NavHead").addClass("collapsible-flexor").click(function(){
		var $that = $(this);
		if($contenido.is(":visible")){
			$contenido.hide().promise().done(function(){
				$NavToggle.text(expandCaption);
				$that.addClass("collapsed-header");
			});
		}else{
			$contenido.show().promise().done(function(){
				$NavToggle.text(collapseCaption);
				$that.removeClass("collapsed-header");
			});
		}
		return false;
	}).append($NavToggle);
 
        if ($(this).hasClass("collapsed")) {
            $(this).children(".NavHead").click();
        }
    });
});
 
 
// == acciones globales ==
 
$(document).ready(function () {
    if (contCollapsible >= autoCollapse) {
        $("div.NavFrame.autocollapse, table.collapsible.autocollapse").find(".collapsible-flexor:not(.collapsed-header)").click();
    }
    if (contCollapsible) {
        var enlaceDesplegar = mw.util.addPortletLink('p-tb', '', 'Desplegar todo', 'p-eswikt-collapsible-s', 'Despliega todas las tablas ocultas'),
            enlacePlegar = mw.util.addPortletLink('p-tb', '', 'Plegar todo', 'p-eswikt-collapsible-h', 'Pliega todas las tablas plegables');
        $(enlaceDesplegar).click(function () {
            $(".collapsible-flexor.collapsed-header").click();
	    return false;
        }).css('font-style', 'italic');
        $(enlacePlegar).click(function () {
            $(".collapsible-flexor:not(.collapsed-header)").click();
	    return false;
        }).css('font-style', 'italic');
    }
});

--Guã Þin Nomme (discusión) 11:09 6 ene 2015 (UTC)Responder

Volver a la página «Gadget-CollapsibleCombo.js».