13 lines
516 B
Python
13 lines
516 B
Python
"""在大屏 JSON 副本上删除组件,用于后端校验,不删除共享数据源"""
|
|
|
|
from app.actions.base import BaseActionHandler
|
|
from app.schemas.actions import DeleteAction
|
|
from app.schemas.screen import Screen
|
|
|
|
|
|
class DeleteHandler(BaseActionHandler[DeleteAction]):
|
|
def apply(self, screen: Screen, action: DeleteAction) -> Screen:
|
|
result, target = self.copy_target(screen, action.target_id)
|
|
result.nodes = [node for node in result.nodes if node.id != target.id]
|
|
return result
|