Difference between revisions of "User:Abel/common.js"

From Wikibase Personal data
Jump to navigation Jump to search
m
m
Line 1: Line 1:
// Content previously here now moved to
 
// https://wiki.personaldata.io/wiki/User:Abel/experimental.js
 
// because common.js is a specific thing in MediaWiki, and has now been activated.
 
 
console.log('+');
 
console.log('+');
  
 
var controller_item_id = 96;
 
var controller_item_id = 96;
 +
var wbEStruct[] = ['claims.P3', 'mainsnak.datavalue.value', 'numeric-id'];
 +
 +
function indexiterpolate(obj,i) {return obj[i]}
 +
 +
function readpart(arr, read){
 +
return read.split('.').reduce(indexinterpolate, arr);
 +
}
 +
  
 
// check if we are on a page of a loaded Entity
 
// check if we are on a page of a loaded Entity
Line 14: Line 19:
 
// check each element in P3 relations
 
// check each element in P3 relations
 
if ( typeof obj.claims.P3 != "undefined" ) {
 
if ( typeof obj.claims.P3 != "undefined" ) {
for( var i = 0; i < obj.claims.P3.length; i++ ) {
+
for( var i = 0; i < readpart(obj, wbEStruct[0]).length; i++ ) {
 
 
 
// check if we have controller id
 
// check if we have controller id
if( obj.claims.P3[i].mainsnak.datavalue.value["numeric-id"] === controller_item_id ) {
+
if( readpart(readpart(obj, wbEStruct[0])[i] , wbEStruct[1])[wbEStruct[2]] === controller_item_id ) {
 
 
 
// Create popup for SAR
 
// Create popup for SAR

Revision as of 04:52, 21 April 2019

console.log('+');

var controller_item_id = 96;
var wbEStruct[] = ['claims.P3', 'mainsnak.datavalue.value', 'numeric-id']; 

function indexiterpolate(obj,i) {return obj[i]}

function readpart(arr, read){
	return read.split('.').reduce(indexinterpolate, arr);
}


// check if we are on a page of a loaded Entity
if ( typeof mw.config.values.wbEntity !=  "undefined" ) {
	
	// get wbEntity as json
	var obj = JSON.parse ( mw.config.values.wbEntity );
	
	// check each element in P3 relations
	if ( typeof obj.claims.P3 != "undefined" ) {
		for( var i = 0; i < readpart(obj, wbEStruct[0]).length; i++ ) {
		
			// check if we have controller id
			if( readpart(readpart(obj, wbEStruct[0])[i] , wbEStruct[1])[wbEStruct[2]] === controller_item_id ) {
		
				// Create popup for SAR
				console.log("0");
				alert(0);        	
		
			}
		}
	}
	// Else let's do nothing;
}
console.log("-");