panelApp.directive('batJsonTree', function($compile) { return { restrict: 'E', terminal: true, scope: { val: '=' //edit: '=', }, link: function (scope, element, attrs) { // this is more complicated then it should be // see: https://github.com/angular/angular.js/issues/898 var buildDom = function (object) { var html = ''; if (object == undefined) { html += 'null'; } else if (object instanceof Array) { var i; html += '