Walk through a data.tree
and constructs a JSON string,
which can be rendered by shinyTree.
treeToJSON(
tree,
keepRoot = FALSE,
topLevelSlots = c("default", "all"),
createNewId = TRUE,
pretty = FALSE
)
a JSON string representing the data.tree
the data.tree which should be parses
logical. If FALSE
(default) the root node from the tree
is pruned
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.
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.
logical. If TRUE
the resulting JSON is prettified
Thorn Thaler, thorn.thaler@thothal.at
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.