Widget Script voor Pivot2.0 : Klikbare URLs

Pivot2.0 maakt gebruik van een andere ‘engine’ dan de draaitabel grafiek die je gewend bent. Hierdoor werken huidige scripts niet meer op dit type tabel. Met onderstaande script wordt het mogelijk om weer gebruik te maken van klikbare URLs in een draaitabel:

Parameters:
linkRowNumber = Geef hier aan welke kolom omgezet moet worden naar een URL. De eerste kolom is 0
defaultDisplayedValue = Geef hier op wat er getoond moet worden in de tabel.

var linkRowNumber = [
0
]; //Columns' numbers where we need to render links. Numeration in JS starts from 0.
var displayedValue = 'displayedValue'; //Name of the query parameter that stores displayed value for link
var defaultDisplayedValue = 'Naar dossier'; //This value will be displayed on top of the link, if another value was not found

widget.transformPivot(
 {
  type: ['member']
 },
 function setCellBackground(metadata, cell) {
  if (metadata.rowIndex && linkRowNumber.includes(metadata.colIndex)) {
   cell.content = "<a href=" + cell.content + ' target="_blank">' + getParameterByName(displayedValue , cell.content) + "</a>"; //Prepare link
   cell.contentType = "html";
  }
 }
);


function getParameterByName(name, url) {
 name = name.replace(/[\[\]]/g, "\\$&");
 var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)");
 var results = regex.exec(url);
 if (!results) return defaultDisplayedValue;
 if (!results[2]) return defaultDisplayedValue;
 return decodeURIComponent(results[2].replace(/\+/g, " "));
}

Is het ook mogelijk om in de functie de waardes uit een andere kolom te gebruiken? Ik zag in de documentatie dat het wel mogelijk is door het berekenen van een nieuw veld in het datamodel, maar ik zou dit liever dynamisch aanpassen.

Wat ik bedoel is het volgende:
Kamernummer | Clientnaam | Afdeling | LinkTekst
Link wordt dan <a href="url?filter=[Clientnaam]">[LinkTekst]</a>

Hoi Bas,

Met dit script is dat inderdaad mogelijk. Je voegt dan het veld Clientnaam nogmaals toe en past de cell.content variabele aan. Je dient dan wel de url volledig uit te schrijven (aangezien je het alleen voor Liemerije doet, kun je dit gewoon in het script doen) en vervolgens de cell waarde hieraan toe te voegen

gr Hamza