Explorar o código

JsonTree: fix jsonTree angular binding (#17608)

The API changed so it expects a numeric level rather than a boolean flag.  Since 6.1 plugins using jsonTree just show an empty div
srid12 %!s(int64=6) %!d(string=hai) anos
pai
achega
b950eebf99
Modificáronse 1 ficheiros con 9 adicións e 3 borrados
  1. 9 3
      public/app/core/components/jsontree/jsontree.ts

+ 9 - 3
public/app/core/components/jsontree/jsontree.ts

@@ -11,12 +11,18 @@ coreModule.directive('jsonTree', [
         rootName: '@',
       },
       link: (scope: any, elem) => {
-        const jsonExp = new JsonExplorer(scope.object, 3, {
+        let expansionLevel = scope.startExpanded;
+        if (scope.startExpanded === 'true') {
+          expansionLevel = 2;
+        } else if (scope.startExpanded === 'false') {
+          expansionLevel = 1;
+        }
+        const jsonObject = { [scope.rootName]: scope.object };
+        const jsonExp = new JsonExplorer(jsonObject, expansionLevel, {
           animateOpen: true,
         });
-
         const html = jsonExp.render(true);
-        elem.replaceAll(html);
+        elem.append(html);
       },
     };
   },