PrintJS JSON Data with Nested Objects

by Rodrigo

HTML

<h1>
  PrintJS - JSON with nested objects
</h1>

<button type="button" id="print-button">
  Print
</button>

<button type="button" id="print-button2">
  Print with Custom Property Label
</button>

JavaScript

function printJSON() {
	printJS({
    printable: [
    	{
      	test1: 'Test1 string',
        test2: {
        	a: 'Test2 a property',
          b: 'Test2 b property'
        }
      },
      {
      	test1: 'more Test1 string',
        test2: {
        	a: 'more Test2 a property',
          b: 'more Test2 b property'
        }
      }
    ],
    properties: ['test1', 'test2.a'],
    type: 'json',
    gridHeaderStyle: 'color: blue;  border: 2px solid #3971A5;',
    gridStyle: 'border: 2px solid #3971A5;',
    header: 'List of master index'
  })
}

function printJSON2() {
	printJS({
    printable: [
    	{
      	test1: 'Test1 string',
        test2: {
        	a: 'Test2 a property',
          b: 'Test2 b property'
        }
      },
      {
      	test1: 'more Test1 string',
        test2: {
        	a: 'more Test2 a property',
          b: 'more Test2 b property'
        }
      }
    ],
    properties: [
    	{
      	field: 'test1',
        displayName: 'Custom Name'
      },
    	{
      	field: 'test2.a',
        displayName: 'Custom Name 2'
      },
    ],
    type: 'json',
    gridHeaderStyle: 'color: red;  border: 2px solid #3971A5;',
    gridStyle: 'border: 2px solid #3971A5;',
    header: 'List of master index'
  })
}

document.getElementById ("print-button").addEventListener ("click", printJSON)
document.getElementById ("print-button2").addEventListener ("click", printJSON2)

// PrintJS
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.printJS=t():e.printJS=t()}(window,function(){return function(n){var r={};function o(e){if(r[e])return r[e].exports;var t=r[e]={i:e,l:!1,exports:{}};return n[e].call(t.exports,t,t.exports,o),t.l=!0,t.exports}return o.m=n,o.c=r,o.d=function(e,t,n){o.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},o.r=function(e){"undefined"!=typeof...