protected function getTreeNodeConfig($element)
{
$child = $element;
$tmpObject = ["id" => $child->getId(), "text" => $child->getKey(), "type" => $child->getType(), "path" => $child->getRealFullPath(), "basePath" => $child->getRealPath(), "elementType" => "object", "locked" => $child->isLocked(), "lockOwner" => $child->getLocked() ? true : false];
$hasChildren = $child->hasChilds([Object\AbstractObject::OBJECT_TYPE_OBJECT, Object\AbstractObject::OBJECT_TYPE_FOLDER, Object\AbstractObject::OBJECT_TYPE_VARIANT]);
$tmpObject["isTarget"] = false;
$tmpObject["allowDrop"] = false;
$tmpObject["allowChildren"] = false;
$tmpObject["leaf"] = !$hasChildren;
$tmpObject["isTarget"] = true;
if ($tmpObject["type"] != "variant") {
$tmpObject["allowDrop"] = true;
}
$tmpObject["allowChildren"] = true;
if (\Pimcore\Tool\Admin::isExtJS6()) {
$tmpObject["leaf"] = !$hasChildren;
} else {
$tmpObject["leaf"] = false;
}
$tmpObject["cls"] = "";
$tmpObject["qtipCfg"] = $child->getElementAdminStyle()->getElementQtipConfig();
if ($child->getType() != "folder") {
$tmpObject["published"] = $child->isPublished();
$tmpObject["className"] = $child->getClass()->getName();
if (!$child->isPublished()) {
$tmpObject["cls"] .= "pimcore_unpublished ";
}
$tmpObject["allowVariants"] = $child->getClass()->getAllowVariants();
}
if ($tmpObject["type"] == "variant") {
$tmpObject["iconCls"] = "pimcore_icon_variant";
} else {
if ($child->getElementAdminStyle()->getElementIcon()) {
$tmpObject["icon"] = $child->getElementAdminStyle()->getElementIcon();
}
if ($child->getElementAdminStyle()->getElementIconClass()) {
$tmpObject["iconCls"] = $child->getElementAdminStyle()->getElementIconClass();
}
}
if ($child->getElementAdminStyle()->getElementCssClass()) {
$tmpObject["cls"] .= $child->getElementAdminStyle()->getElementCssClass() . " ";
}
$tmpObject["expanded"] = !$hasChildren;
$tmpObject["permissions"] = $child->getUserPermissions($this->getUser());
if ($child->isLocked()) {
$tmpObject["cls"] .= "pimcore_treenode_locked ";
}
if ($child->getLocked()) {
$tmpObject["cls"] .= "pimcore_treenode_lockOwner ";
}
if (\Pimcore\Tool\Admin::isExtJS6()) {
if ($tmpObject["leaf"]) {
$tmpObject["expandable"] = false;
$tmpObject["expanded"] = true;
$tmpObject["leaf"] = false;
$tmpObject["loaded"] = true;
}
}
return $tmpObject;
}