Changes

Jump to navigation Jump to search
no edit summary
Line 17: Line 17:  
return dive( claim , 'mainsnak.datavalue.value')['numeric-id'] === DATA_CONTROLLER_ITEM_ID;
 
return dive( claim , 'mainsnak.datavalue.value')['numeric-id'] === DATA_CONTROLLER_ITEM_ID;
 
}
 
}
      
mw.hook( 'wikibase.entityPage.entityLoaded' ).add( function ( entity ) {
 
mw.hook( 'wikibase.entityPage.entityLoaded' ).add( function ( entity ) {
 
     'use strict';
 
     'use strict';
    console.log( entity );
   
        
 
        
 
     // get the ID of the current page
 
     // get the ID of the current page
 
var pageID = document.querySelector('.wikibase-title .wikibase-title-id').innerText.replace( /[()]/g, '' );
 
var pageID = document.querySelector('.wikibase-title .wikibase-title-id').innerText.replace( /[()]/g, '' );
     console.log(pageID);
+
     //console.log(pageID);
   −
     if (isDataController()) {
+
     if (isDataController(entity)) {
  console.log('is dc');
   
  generateGDPRLink(pageID);
 
  generateGDPRLink(pageID);
 
     }
 
     }
 
});
 
});
   −
function isDataController() {
+
function isDataController(entity) {
 
let foundThatThisIsAnInstanceOfDataController = false;
 
let foundThatThisIsAnInstanceOfDataController = false;
console.log('here1');
      
if ( typeof entity !=  "undefined" ) // if we are on the page of a loaded entity
 
if ( typeof entity !=  "undefined" ) // if we are on the page of a loaded entity
 
{
 
{
  console.log( "entity is defined" );
+
  if ( typeof check( entity, INSTANCE_OF_PROPERTY ) != "undefined" ) // if the entity has any "instance of" claim
  var obj = entity ;
  −
  console.log('here2');
  −
  console.dir(obj);
  −
  let obj = JSON.parse ( mw.config.values.wbEntity );
  −
  if ( typeof check( obj, INSTANCE_OF_PROPERTY ) != "undefined" ) // if the entity has any "instance of" claim
   
  {
 
  {
console.log('here3');
+
let claims = dive( entity, INSTANCE_OF_PROPERTY ); // get the claims which use the "instance of" property
let claims = dive( obj, INSTANCE_OF_PROPERTY ); // get the claims which use the "instance of" property
   
if (claims.some(claimUsesDataControllerAsItsObject))
 
if (claims.some(claimUsesDataControllerAsItsObject))
 
{
 
{
  console.log('here4');
   
  foundThatThisIsAnInstanceOfDataController = true;
 
  foundThatThisIsAnInstanceOfDataController = true;
 
}
 
}
Line 56: Line 45:  
}
 
}
 
return foundThatThisIsAnInstanceOfDataController;
 
return foundThatThisIsAnInstanceOfDataController;
 +
}
 +
 +
function dive(array, read){
 +
return read.split('.').reduce(indexinterpolate, array);
 +
}
 +
 +
function check(array, read){
 +
        return read.split('.').reduce(indexcheck, array);
 
}
 
}
editors
3,524

edits

Navigation menu