mirror of https://github.com/jumpserver/jumpserver
fix: 修复Luna页面用户授权树默认展开所有节点的问题(同步加载方式)
parent
98a2d9ffdb
commit
00ec9b6d5a
|
@ -8,6 +8,15 @@ from common.utils import lazyproperty, timeit
|
||||||
|
|
||||||
|
|
||||||
class SerializeToTreeNodeMixin:
|
class SerializeToTreeNodeMixin:
|
||||||
|
request: Request
|
||||||
|
|
||||||
|
@lazyproperty
|
||||||
|
def is_sync(self):
|
||||||
|
sync_paths = ['/api/v1/perms/users/self/nodes/all-with-assets/tree/']
|
||||||
|
for p in sync_paths:
|
||||||
|
if p == self.request.path:
|
||||||
|
return True
|
||||||
|
return False
|
||||||
|
|
||||||
@timeit
|
@timeit
|
||||||
def serialize_nodes(self, nodes: List[Node], with_asset_amount=False):
|
def serialize_nodes(self, nodes: List[Node], with_asset_amount=False):
|
||||||
|
@ -17,6 +26,16 @@ class SerializeToTreeNodeMixin:
|
||||||
else:
|
else:
|
||||||
def _name(node: Node):
|
def _name(node: Node):
|
||||||
return node.value
|
return node.value
|
||||||
|
|
||||||
|
def _open(node):
|
||||||
|
if not self.is_sync:
|
||||||
|
# 异步加载资产树时,默认展开节点
|
||||||
|
return True
|
||||||
|
if not node.parent_key:
|
||||||
|
return True
|
||||||
|
else:
|
||||||
|
return False
|
||||||
|
|
||||||
data = [
|
data = [
|
||||||
{
|
{
|
||||||
'id': node.key,
|
'id': node.key,
|
||||||
|
@ -24,7 +43,7 @@ class SerializeToTreeNodeMixin:
|
||||||
'title': _name(node),
|
'title': _name(node),
|
||||||
'pId': node.parent_key,
|
'pId': node.parent_key,
|
||||||
'isParent': True,
|
'isParent': True,
|
||||||
'open': True,
|
'open': _open(node),
|
||||||
'meta': {
|
'meta': {
|
||||||
'data': {
|
'data': {
|
||||||
"id": node.id,
|
"id": node.id,
|
||||||
|
|
Loading…
Reference in New Issue