2017-02-21 11 views
0

Я пытаюсь обрабатывать массив сложных объектов в читаемом формате с pdfMake. Вот массив:Как визуализировать массив сложных объектов с помощью pdf-кода?

var areaImpact = [ 
 
{ 
 
    "riskID":"f0bf6fa1-0a6b-e6e3-9ec08bd67751", 
 
    "description":"Matt's printing testMatt's printing testMatt's printing test", 
 
    "type":"Safety", 
 
    "consequences":{ 
 
     "items":[ 
 
     "Matt's printing test", 
 
     "Matt's printing again" 
 
     ] 
 
    }, 
 
    "safeguards":{ 
 
     "items":[ 
 
     "Matt's printing test", 
 
     "Matt's printing test agin!!!" 
 
     ] 
 
    }, 
 
    "actions":{ 
 
     "items":[ 
 
     "Matt's awesome printing test" 
 
     ] 
 
    } 
 
}, 
 
{ 
 
    "riskID":"ffd23fa1-0a6b-e6e3-9ec08bd67751", 
 
    "description":"Here's another test", 
 
    "type":"Safety", 
 
    "consequences":{ 
 
     "items":[ 
 
     "Matt's printing test", 
 
     "Matt's printing again" 
 
     ] 
 
    }, 
 
    "safeguards":{ 
 
     "items":[ 
 
     "Matt's printing test", 
 
     "Matt's printing test agin!!!" 
 
     ] 
 
    }, 
 
    "actions":{ 
 
     "items":[ 
 
     "Matt's awesome printing test" 
 
     ] 
 
    } 
 
} 
 
]

Я хотел бы, Ф, чтобы выглядеть следующим образом: Risk List Concept. У меня проблемы с этим. Как мне это сделать? Заранее спасибо за вашу помощь.

ответ

0

После хорошего ночного отдыха я смог понять это. Возможно, не единственный способ сделать это, не лучший способ, но вот что я сделал:

function formatRiskList(riskList){ 
 
\t \t var printableRisks = []; 
 

 
\t \t riskList.forEach(function(risk){ 
 

 
\t \t \t printableRisks.push({text:'Description', style:'subheader'}); 
 
\t \t \t printableRisks.push({text:risk.description}); 
 
\t \t \t printableRisks.push({text:'Consequences', style:'subheader'}); 
 
\t \t \t printableRisks.push({ul: risk.consequences.items}); 
 
\t \t \t printableRisks.push({text:'Safegaurds', style:'subheader'}); 
 
\t \t \t printableRisks.push({ul: risk.safeguards.items}); \t \t \t 
 
\t \t \t printableRisks.push({text:'Actions', style:'subheader'}); 
 
\t \t \t printableRisks.push({ul: risk.actions.items}); 
 

 
\t \t }); 
 
\t  
 
\t return printableRisks; 
 

 
\t } 
 
    
 
    //And then, in the docdefinition, I did this: 
 
    var dd = {content: [formatRiskList(areaImpact.riskList.items)]};

Довольно просто. Я не знаю, почему у меня были проблемы с прошлой ночью. Я думаю, что это как-то связано с тем, как я пытался вложить объекты VS массивов. Пожалуйста, предоставьте любую обратную связь по своему усмотрению.

Это дало мне this результат.