MediaWiki:Common.js: Difference between revisions

From Dariah-Lab
Jump to navigation Jump to search
Na stronach elementów (Q...) dodaje informację o dacie ostatniej edycji oraz o wartości identyfikatora Dariah.lab
No edit summary
Line 28: Line 28:
         var lastEdit = new Date(page.revisions[0].timestamp);
         var lastEdit = new Date(page.revisions[0].timestamp);
         message_edit = 'Jesteśmy na stronie elementu. Data ostatniej edycji: ' + lastEdit.toLocaleString();
         message_edit = 'Jesteśmy na stronie elementu. Data ostatniej edycji: ' + lastEdit.toLocaleString();
     }
     });


     $.getJSON(mw.util.wikiScript('api'), {
     $.getJSON(mw.util.wikiScript('api'), {

Revision as of 14:39, 23 May 2025

/* Any JavaScript here will be loaded for all users on every page load. */

$(function () {
  const namespace = mw.config.get('wgNamespaceNumber');
  var message = 'Referując do WikiHum należy używać <b>identyfikatorów Dariah.lab</b> (ang. Dariah.lab. ID). ID obecnego namespace: ' + namespace;
  
  $('<div class="global-site-message">' + message + '</div>')
    .prependTo('#content');
    
  if( namespace === 120 ){
    const pageTitle = mw.config.get('wgPageName');
    const entityId = mw.config.get('wgTitle');
    const propertyId = 'P187';

    var message_edit = '';
    var message_id = '';

    $.getJSON(mw.util.wikiScript('api'), {
      action: 'query',
      prop: 'revisions',
      titles: pageTitle,
      rvprop: 'timestamp',
      format: 'json'
    }, function (data) {
      var pages = data.query.pages;
      var page = pages[Object.keys(pages)[0]];
      if (page && page.revisions && page.revisions.length > 0) {
        var lastEdit = new Date(page.revisions[0].timestamp);
        message_edit = 'Jesteśmy na stronie elementu. Data ostatniej edycji: ' + lastEdit.toLocaleString();
    });

    $.getJSON(mw.util.wikiScript('api'), {
      action: 'wbgetentities',
      ids: entityId,
      format: 'json',
      props: 'claims'
    }, function (data) {
      const entity = data.entities[entityId];
      const claims = entity && entity.claims && entity.claims[propertyId];

      if (claims && claims.length > 0) {
        const value = claims[0].mainsnak.datavalue.value;
        message_id = ` Wartość identyfikatora Dariah.lab: (${propertyId}): <strong>${value}</strong>`;
      }
      
      $('<div class="global-site-message">' + message_edit + message_id + '</div>')
        .prependTo('#content');

  });
  }
    
});