Base class for interactive Cytoscape.js graph editors; provides node/edge rendering, context menus, position persistence, and RPC scaffolding for tree and workflow diagrams.
EDITTREE — set as ReportType in def_report.
def Render(self, Param1="", Param2="", Param3="") -> str:
Param1 (via self.Param1) is the workflow or tree name to load. Returns an HTML fragment containing a Cytoscape canvas, an edit frame with modal dialogs, and the full Cytoscape JavaScript initialisation block. Subclasses override read_object() and supply additional node styles.
RpcPositionnode(data)Persists a node's X/Y position and in/out degree to the database after the user drags it on the canvas.
RpcGetedgecount(data)Returns the number of recorded transitions for a given source/branch pair from the workflow_transitions MongoDB collection.
RpcGetcalculationgroupreport(data)Renders the calculation group editor sub-report for the given calculationgroup and returns the HTML string.
Loads Cytoscape 3.32, dagre 0.8.5, cytoscape-context-menus 4.x, and cytoscape-popper 4.x from CDNs. In editable mode (static = False), also loads AG Grid 31, Ace editor, jQuery Validation, SumoSelect, axion.js, and axion.rpc.js. The layout property controls the graph layout algorithm (rounded-taxi by default, straight for workflows). Subclasses: ObjReportEditWorkflow, ObjReportEditClassification.