MediaWiki:Common.js: Difference between revisions

From Dariah-Lab
Jump to navigation Jump to search
No edit summary
Tag: Reverted
No edit summary
Tag: Reverted
Line 21: Line 21:
     const entityId = mw.config.get('wgTitle');
     const entityId = mw.config.get('wgTitle');
     const propertyId = 'P187'; /*ID of the property "Dariah.lab ID"*/
     const propertyId = 'P187'; /*ID of the property "Dariah.lab ID"*/
    var lastEdit = '';
    var dariahLabID = '';


     $.getJSON(mw.util.wikiScript('api'), {
     $.getJSON(mw.util.wikiScript('api'), {
Line 31: Line 33:
       var pages = data.query.pages;
       var pages = data.query.pages;
       var page = pages[Object.keys(pages)[0]];
       var page = pages[Object.keys(pages)[0]];
      var lastEdit = '';
       if (page && page.revisions && page.revisions.length > 0) {
       if (page && page.revisions && page.revisions.length > 0) {
         lastEdit = new Date(page.revisions[0].timestamp).toLocaleString();
         lastEdit = new Date(page.revisions[0].timestamp).toLocaleString();
       }
       }
    });


      $.getJSON(mw.util.wikiScript('api'), {
    $.getJSON(mw.util.wikiScript('api'), {
        action: 'wbgetentities',
      action: 'wbgetentities',
        ids: entityId,
      ids: entityId,
        format: 'json',
      format: 'json',
        props: 'claims'
      props: 'claims'
      }, function (data2) {
    }, function (data2) {
        const entity = data2.entities[entityId];
      const entity = data2.entities[entityId];
        const claims = entity?.claims?.[propertyId];
      const claims = entity?.claims?.[propertyId];
        let dariahLabID = '';
      if (claims && claims.length > 0) {
 
        dariahLabID = claims[0].mainsnak.datavalue.value;
        if (claims && claims.length > 0) {
      }
          dariahLabID = claims[0].mainsnak.datavalue.value;
        }


         const message = `${pageName}, <a href="http://hdl.handle.net/${dariahLabID}" target="_blank">http://hdl.handle.net/${dariahLabID}</a>, [ostatnia edycja strony: ${lastEdit}, dostęp].`;
         const message = `${pageName}, <a href="http://hdl.handle.net/${dariahLabID}" target="_blank">http://hdl.handle.net/${dariahLabID}</a>, [ostatnia edycja strony: ${lastEdit}, dostęp].`;
        $('<div class="global-site-message">' + message + '</div>').prependTo('#content');
      $('<div class="global-site-message">' + message + '</div>').prependTo('#content');
      });
     });
     });
   }
   }
});
});

Revision as of 13:34, 24 May 2025

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

$(function () {
  const namespace = mw.config.get('wgNamespaceNumber');

/* Prepare information about current Namespace Number; namespace_info can be added to the message below and displayed on all of the pages.*/
/* 
  var namespace_info = 'ID obecnego namespace: ' + namespace;
*/

/* Add a message to all of the pages regardless of the Namespace Number.*/
/*
  var message = 'Referując do WikiHum należy używać <b>identyfikatorów Dariah.lab</b> (ang. Dariah.lab. ID).';
  
  $('<div class="global-site-message">' + message + '</div>')
    .prependTo('#content');
*/
    
  if( namespace === 120 ){
    const pageName = mw.config.get('wgPageName');
    const entityId = mw.config.get('wgTitle');
    const propertyId = 'P187'; /*ID of the property "Dariah.lab ID"*/
    var lastEdit = '';
    var dariahLabID = '';

    $.getJSON(mw.util.wikiScript('api'), {
      action: 'query',
      prop: 'revisions',
      titles: pageName,
      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) {
        lastEdit = new Date(page.revisions[0].timestamp).toLocaleString();
      }
    });

    $.getJSON(mw.util.wikiScript('api'), {
      action: 'wbgetentities',
      ids: entityId,
      format: 'json',
      props: 'claims'
    }, function (data2) {
      const entity = data2.entities[entityId];
      const claims = entity?.claims?.[propertyId];
      if (claims && claims.length > 0) {
        dariahLabID = claims[0].mainsnak.datavalue.value;
      }

        const message = `${pageName}, <a href="http://hdl.handle.net/${dariahLabID}" target="_blank">http://hdl.handle.net/${dariahLabID}</a>, [ostatnia edycja strony: ${lastEdit}, dostęp].`;
      $('<div class="global-site-message">' + message + '</div>').prependTo('#content');
    });
  }
});