treeToJSON: Converts a data.tree to a JSON format

View source: R/data.tree-conversion.R

treeToJSONR Documentation

Converts a data.tree to a JSON format

Description

Walk through a data.tree and constructs a JSON string, which can be rendered by shinyTree.

Usage

treeToJSON(
  tree,
  keepRoot = FALSE,
  topLevelSlots = c("default", "all"),
  createNewId = TRUE,
  pretty = FALSE
)

Arguments

tree

the data.tree which should be parses

keepRoot

logical. If FALSE (default) the root node from the tree is pruned

topLevelSlots

determines which slots should be moved to the top level of the node. If default or NULL slots used in the jsTree JSON are kept on the top level, while any other atomic / list slots from the tree are stored in an own slot called ‘data’. If all *all* nodes are stored on the top level. Alternatively, it can be an explicit vector of slot names which should be kept. In the latter case it is the user's responsibility to ensure that jsTree slots stay on the top level.

createNewId

logical. If TRUE a new id will be generated. Any old ‘id’ will be stored in ‘id.orig’ and a warning will be issued, If FALSE, any existing id will be re-used.

pretty

logical. If TRUE the resulting JSON is prettified

Details

The JSON string generated follows the jsTree specifications. In particular it encodes children nodes via the ‘children’ slot.

All atomic or list slots of a node in the tree are stored in a data slot in the resulting JSON.

If the user wants to store some slots not in the data slot but on the top level of the node, parameter topLevelSlots can be used. This is useful for additional parameters such as ‘icon’, ‘li_attr’ or ‘a_attr’, which jsTree expect to be on the top level of the node.

An example of how to make use of this functionality can be found in the example folder of this library.

Value

a JSON string representing the data.tree

Note

updateTree and renderTree need an unevaluated JSON string. Hence, this function returns a string rather than the JSON object itself.

Author(s)

Thorn Thaler, thorn.thaler@thothal.at


shinyTree documentation built on Aug. 8, 2023, 1:08 a.m.