Menú alternativo
Toggle preferences menu
Menú alternativo personal
No ha accedido
Tu dirección IP será visible si haces alguna edición

Publicidad:

Patrocinador Top

Diferencia entre revisiones de «MediaWiki:Common.js»

Página de la interfaz de MediaWiki
Sin resumen de edición
Etiqueta: Revertido
Sin resumen de edición
 
(No se muestran 4 ediciones intermedias del mismo usuario)
Línea 1: Línea 1:
/* Cualquier código JavaScript escrito aquí se cargará para todos los usuarios en cada carga de página */
/* ===== MEDIAWIKI COMMON.JS - PANEL ===== */
// Cargar estadísticas del sitio
function loadAdminStats() {
    // Estadísticas básicas
    $.get(mw.util.wikiScript('api'), {
        action: 'query',
        meta: 'siteinfo',
        siprop: 'statistics',
        format: 'json'
    }).done(function(data) {
        $('#stat-pages').text(data.query.statistics.pages.toLocaleString());
        $('#stat-users').text(data.query.statistics.users.toLocaleString());
        $('#stat-edits').text(data.query.statistics.edits.toLocaleString());
    });


    // Cambios recientes
    $.get(mw.util.wikiScript('api'), {
        action: 'query',
        list: 'recentchanges',
        rclimit: 1,
        format: 'json'
    }).done(function(data) {
        $('#stat-recent-changes').text(data.query.recentchanges.length);
    });
}


// Mostrar avatar junto al nombre de usuario
// Tooltips para iconos
$( function() {
$(document).on('mouseenter', '.admin-links-item i', function() {
     if ( mw.config.exists( 'wgUserAvatar' ) ) {
     $(this).parent().attr('title', $(this).parent().text().trim());
        var avatarUrl = mw.util.getUrl( 'File:' + mw.config.get( 'wgUserAvatar' ), {
            width: 24
        });
        $('#pt-userpage, .mw-userlink').prepend(
            $('<img>').addClass('user-avatar').attr( 'src', avatarUrl )
        );
    }
});
});


 
// Cargar FontAwesome si no está presente
 
if (!$('link[href*="font-awesome"]').length) {
 
    $('head').append(
 
        '<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css">'
$(document).ready(function() {
  // Procesar todos los infobox dinámicos en la página
  $('.infobox').each(function() {
    var $infobox = $(this);
    var params = mw.config.get('wgTemplateParams');
   
    // Procesar imágenes dinámicas
    var imageIndex = 1;
    while(params['image' + imageIndex]) {
      var imgHtml = '<div class="infobox-image">' +
        '[[File:' + params['image' + imageIndex] + '|' + (params['image_size'] || '250px') + ']]';
     
      if(params['caption' + imageIndex]) {
        imgHtml += '<div class="infobox-caption">' + params['caption' + imageIndex] + '</div>';
      }
     
      imgHtml += '</div>';
      $infobox.find('.infobox-images-container').append(imgHtml);
      imageIndex++;
    }
   
    // Procesar secciones dinámicas
    var sectionIndex = 1;
    while(params['header' + sectionIndex]) {
      var $section = $('<tr><th colspan="2">' + params['header' + sectionIndex] + '</th></tr>');
      $infobox.find('table.infobox-data').append($section);
     
      // Procesar items de sección
      var itemIndex = 1;
      while(params['label' + sectionIndex + '_' + itemIndex]) {
        var $row = $('<tr><th>' + params['label' + sectionIndex + '_' + itemIndex] + '</th>' +
                    '<td>' + (params['value' + sectionIndex + '_' + itemIndex] || '') + '</td></tr>');
        $section.after($row);
        itemIndex++;
      }
     
      sectionIndex++;
    }
   
    // Procesar campos fijos (opcional)
    if(params['status']) {
      $infobox.find('table.infobox-data').append(
        '<tr><th colspan="2">Estado</th></tr>' +
        '<tr><th>Estado</th><td>' + params['status'] + '</td></tr>'
      );
    }
  });
 
  // Botón para agregar campos en modo edición
  if(mw.config.get('wgAction') === 'edit') {
    $('.editOptions').prepend(
      '<button class="infobox-add-field" type="button">+ Agregar campo</button>'
     );
     );
   
}
    $('.infobox-add-field').click(function() {
      // Lógica para agregar nuevos campos al formulario de edición
      // Esto requeriría más código específico para tu wiki
    });
  }
});

Revisión actual - 12:31 6 julio 2025

/* ===== MEDIAWIKI COMMON.JS - PANEL ===== */
// Cargar estadísticas del sitio
function loadAdminStats() {
    // Estadísticas básicas
    $.get(mw.util.wikiScript('api'), {
        action: 'query',
        meta: 'siteinfo',
        siprop: 'statistics',
        format: 'json'
    }).done(function(data) {
        $('#stat-pages').text(data.query.statistics.pages.toLocaleString());
        $('#stat-users').text(data.query.statistics.users.toLocaleString());
        $('#stat-edits').text(data.query.statistics.edits.toLocaleString());
    });

    // Cambios recientes
    $.get(mw.util.wikiScript('api'), {
        action: 'query',
        list: 'recentchanges',
        rclimit: 1,
        format: 'json'
    }).done(function(data) {
        $('#stat-recent-changes').text(data.query.recentchanges.length);
    });
}

// Tooltips para iconos
$(document).on('mouseenter', '.admin-links-item i', function() {
    $(this).parent().attr('title', $(this).parent().text().trim());
});

// Cargar FontAwesome si no está presente
if (!$('link[href*="font-awesome"]').length) {
    $('head').append(
        '<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css">'
    );
}

Publicidad:

Patrocinador Bottom