@syncfusion/ej2-diagrams
Version:
Feature-rich diagram control to create diagrams like flow charts, organizational charts, mind maps, and BPMN diagrams. Its rich feature set includes built-in shapes, editing, serializing, exporting, printing, overview, data binding, and automatic layouts.
535 lines (534 loc) • 21.3 kB
TypeScript
import { Diagram } from '../diagram';
import { NodeModel, LaneModel, PhaseModel } from '../objects/node-model';
import { Node } from '../objects/node';
import { GridPanel, GridCell, RowDefinition, ColumnDefinition } from '../core/containers/grid';
import { Lane } from '../objects/node';
import { GroupableView } from '../core/containers/container';
import { DiagramElement } from '../core/elements/diagram-element';
import { PointModel } from '../primitives/point-model';
import { Canvas } from '../core/containers/canvas';
import { Rect } from '../primitives/rect';
import { HistoryEntry } from '../diagram/history';
import { SelectorModel } from '../objects/node-model';
import { ClipBoardObject } from '../interaction/command-manager';
/**
* SwimLane modules are used to rendering and interaction.
*/
/** @private */
/**
* initSwimLane method \
*
* @returns {void} initSwimLane method .\
* @param { GridPanel} grid - provide the grid value.
* @param { Diagram} diagram - provide the diagram value.
* @param {NodeModel} node - provide the node value.
* @private
*/
export declare function initSwimLane(grid: GridPanel, diagram: Diagram, node: NodeModel): void;
/**
* addObjectToGrid method \
*
* @returns {GroupableView} addObjectToGrid method .\
* @param { Diagram} diagram - provide the diagram value.
* @param { GridPanel} grid - provide the grid value.
* @param {NodeModel} parent - provide the parent value.
* @param {NodeModel} object - provide the object value.
* @param {boolean} isHeader - provide the isHeader value.
* @param {boolean} isPhase - provide the isPhase value.
* @param {boolean} isLane - provide the isLane value.
* @param {string} canvas - provide the canvas value.
* @private
*/
export declare function addObjectToGrid(diagram: Diagram, grid: GridPanel, parent: NodeModel, object: NodeModel, isHeader?: boolean, isPhase?: boolean, isLane?: boolean, canvas?: string): GroupableView;
/**
* headerDefine method \
*
* @returns {void} headerDefine method .\
* @param { GridPanel} grid - provide the grid value.
* @param {Diagram} diagram - provide the diagram value.
* @param {NodeModel} object - provide the object value.
* @private
*/
export declare function headerDefine(grid: GridPanel, diagram: Diagram, object: NodeModel): void;
/**
* phaseDefine method \
*
* @returns {void} phaseDefine method .\
* @param { GridPanel} grid - provide the grid value.
* @param {Diagram} diagram - provide the diagram value.
* @param {NodeModel} object - provide the object value.
* @param {number} indexValue - provide the indexValue value.
* @param {boolean} orientation - provide the orientation value.
* @param {number} phaseIndex - provide the phaseIndex value.
* @private
*/
export declare function phaseDefine(grid: GridPanel, diagram: Diagram, object: NodeModel, indexValue: number, orientation: boolean, phaseIndex: number): void;
/**
* laneCollection method \
*
* @returns {void} laneCollection method .\
* @param { GridPanel} grid - provide the grid value.
* @param {Diagram} diagram - provide the diagram value.
* @param {NodeModel} object - provide the object value.
* @param {number} indexValue - provide the indexValue value.
* @param {number} laneIndex - provide the laneIndex value.
* @param {boolean} orientation - provide the orientation value.
* @private
*/
export declare function laneCollection(grid: GridPanel, diagram: Diagram, object: NodeModel, indexValue: number, laneIndex: number, orientation: boolean): void;
/**
* createRow method \
*
* @returns {void} createRow method .\
* @param { RowDefinition[]} row - provide the row value.
* @param {number} height - provide the height value.
* @private
*/
export declare function createRow(row: RowDefinition[], height: number): void;
/**
* createColumn method \
*
* @returns {void} createColumn method .\
* @param {number} width - provide the width value.
* @private
*/
export declare function createColumn(width: number): ColumnDefinition;
/**
* initGridRow method \
*
* @returns {void} initGridRow method .\
* @param {RowDefinition[]} row - provide the row value.
* @param {boolean} orientation - provide the row value.
* @param {NodeModel} object - provide the row value.
* @private
*/
export declare function initGridRow(row: RowDefinition[], orientation: boolean, object: NodeModel): void;
/**
* initGridColumns method \
*
* @returns {void} initGridRow method .\
* @param {ColumnDefinition[]} columns - provide the row value.
* @param {boolean} orientation - provide the row value.
* @param {NodeModel} object - provide the row value.
* @private
*/
export declare function initGridColumns(columns: ColumnDefinition[], orientation: boolean, object: NodeModel): void;
/**
* getConnectors method \
*
* @returns {void} getConnectors method .\
* @param {Diagram} diagram - provide the row value.
* @param {GridPanel} grid - provide the row value.
* @param {number} rowIndex - provide the row value.
* @param {boolean} isRowUpdate - provide the row value.
* @private
*/
export declare function getConnectors(diagram: Diagram, grid: GridPanel, rowIndex: number, isRowUpdate: boolean): string[];
/**
* swimLaneMeasureAndArrange method \
*
* @returns {void} swimLaneMeasureAndArrange method .\
* @param {NodeModel} obj - provide the row value.
* @private
*/
export declare function swimLaneMeasureAndArrange(obj: NodeModel): void;
/**
* ChangeLaneIndex method \
*
* @returns {void} ChangeLaneIndex method .\
* @param {Diagram} diagram - provide the row value.
* @param {NodeModel} obj - provide the row value.
* @param {number} startRowIndex - provide the row value.
* @private
*/
export declare function ChangeLaneIndex(diagram: Diagram, obj: NodeModel, startRowIndex: number): void;
/**
* arrangeChildNodesInSwimLane method \
*
* @returns {void} arrangeChildNodesInSwimLane method .\
* @param {Diagram} diagram - provide the row value.
* @param {NodeModel} obj - provide the row value.
* @private
*/
export declare function arrangeChildNodesInSwimLane(diagram: Diagram, obj: NodeModel): void;
/**
* updateChildOuterBounds method \
*
* @returns {void} updateChildOuterBounds method .\
* @param {GridPanel} grid - provide the row value.
* @param {NodeModel} obj - provide the row value.
* @private
*/
export declare function updateChildOuterBounds(grid: GridPanel, obj: NodeModel): void;
/**
* checkLaneSize method \
*
* @returns {void} checkLaneSize method .\
* @param {NodeModel} obj - provide the row value.
* @private
*/
export declare function checkLaneSize(obj: NodeModel): void;
/**
* checkPhaseOffset method \
*
* @returns {void} checkPhaseOffset method .\
* @param {NodeModel} obj - provide the obj value.
* @param {Diagram} diagram - provide the obj value.
* @private
*/
export declare function checkPhaseOffset(obj: NodeModel, diagram: Diagram): void;
/**
* updateConnectorsProperties method \
*
* @returns {void} checkPhaseOffset method .\
* @param {string[]} connectors - provide the obj value.
* @param {Diagram} diagram - provide the obj value.
* @private
*/
export declare function updateConnectorsProperties(connectors: string[], diagram: Diagram): void;
/**
* laneInterChanged method \
*
* @returns {void} laneInterChanged method .\
* @param {Diagram} diagram - provide the diagram value.
* @param {NodeModel} obj - provide the obj value.
* @param {NodeModel} target - provide the target value.
* @param {PointModel} position - provide the position value.
* @private
*/
export declare function laneInterChanged(diagram: Diagram, obj: NodeModel, target: NodeModel, position?: PointModel): void;
/**
* Swaps the positions of two lane grid entries within each phase of a swimlane.
*
* @param {number} sourceIndex - The index of the lane grid to be moved.
* @param {number} targetIndex - The index where the lane grid should be moved to.
* @param {NodeModel} swimlane - The swimlane node containing the phases.
* @param {Diagram} diagram - The diagram instance containing the node data.
* @returns {void}
* @private
*/
export declare function updatePhaseLaneGrids(sourceIndex: number, targetIndex: number, swimlane: NodeModel, diagram: Diagram): void;
/**
* updateSwimLaneObject method \
*
* @returns {void} updateSwimLaneObject method .\
* @param {Diagram} diagram - provide the diagram value.
* @param {Node} obj - provide the obj value.
* @param {NodeModel} swimLane - provide the target value.
* @param {NodeModel} helperObject - provide the position value.
* @param {number} widthDiff - provide the difference in colum width.
* @param {number} heightDiff - provide the difference in row height.
* @private
*/
export declare function updateSwimLaneObject(diagram: Diagram, obj: Node, swimLane: NodeModel, helperObject: NodeModel, widthDiff?: number, heightDiff?: number): void;
/**
* findLaneIndex method \
*
* @returns {number} findLaneIndex method .\
* @param {NodeModel} swimLane - provide the diagram value.
* @param {NodeModel} laneObj - provide the obj value.
* @private
*/
export declare function findLaneIndex(swimLane: NodeModel, laneObj: NodeModel): number;
/**
* findPhaseIndex method \
*
* @returns {number} findPhaseIndex method .\
* @param {NodeModel} phase - provide the diagram value.
* @param {NodeModel} swimLane - provide the obj value.
* @private
*/
export declare function findPhaseIndex(phase: NodeModel, swimLane: NodeModel): number;
/**
* findStartLaneIndex method \
*
* @returns {number} findStartLaneIndex method .\
* @param {NodeModel} swimLane - provide the obj value.
* @private
*/
export declare function findStartLaneIndex(swimLane: NodeModel): number;
/**
* updatePhaseMaxWidth method \
*
* @returns {void} updatePhaseMaxWidth method .\
* @param {NodeModel} parent - provide the obj value.
* @param {Diagram} diagram - provide the obj value.
* @param {Canvas} wrapper - provide the obj value.
* @param {number} columnIndex - provide the obj value.
* @private
*/
export declare function updatePhaseMaxWidth(parent: NodeModel, diagram: Diagram, wrapper: Canvas, columnIndex: number): void;
/**
* updateHeaderMaxWidth method \
*
* @returns {void} updateHeaderMaxWidth method .\
* @param {NodeModel} diagram - provide the obj value.
* @param {NodeModel} swimLane - provide the obj value.
* @private
*/
export declare function updateHeaderMaxWidth(diagram: Diagram, swimLane: NodeModel): void;
/**
* addLane method \
*
* @returns {void} addLane method .\
* @param {Diagram} diagram - provide the obj value.
* @param {NodeModel} parent - provide the obj value.
* @param {LaneModel} lane - provide the obj value.
* @param {number} count - provide the obj value.
* @private
*/
export declare function addLane(diagram: Diagram, parent: NodeModel, lane: LaneModel, count?: number): void;
/**
* addPhase method \
*
* @returns {void} addPhase method .\
* @param {Diagram} diagram - provide the diagram value.
* @param {NodeModel} parent - provide the cell value.
* @param {PhaseModel} newPhase - provide the point value.
* @private
*/
export declare function addPhase(diagram: Diagram, parent: NodeModel, newPhase: PhaseModel): void;
/**
* addLastPhase method \
*
* @returns {void} addLastPhase method .\
* @param {number} phaseIndex - provide the diagram value.
* @param {NodeModel} parent - provide the cell value.
* @param {HistoryEntry} entry - provide the point value.
* @param {GridPanel} grid - provide the grid value.
* @param {boolean} orientation - provide the orientation value.
* @param {PhaseModel} newPhase - provide the newPhase value.
* @private
*/
export declare function addLastPhase(phaseIndex: number, parent: NodeModel, entry: HistoryEntry, grid: GridPanel, orientation: boolean, newPhase: PhaseModel): void;
/**
* addHorizontalPhase method \
*
* @returns {void} addHorizontalPhase method .\
* @param {Diagram} diagram - provide the diagram value.
* @param {NodeModel} node - provide the cell value.
* @param {GridPanel} grid - provide the point value.
* @param {number} index - provide the point value.
* @param {boolean} orientation - provide the point value.
* @param {PhaseModel} newPhase - provide the phase value.
* @private
*/
export declare function addHorizontalPhase(diagram: Diagram, node: NodeModel, grid: GridPanel, index: number, orientation: boolean, newPhase: PhaseModel): void;
/**
* addVerticalPhase method \
*
* @returns {void} addVerticalPhase method .\
* @param {Diagram} diagram - provide the diagram value.
* @param {NodeModel} node - provide the cell value.
* @param {GridPanel} grid - provide the point value.
* @param {number} rowIndex - provide the point value.
* @param {boolean} orientation - provide the point value.
* @param {PhaseModel} newPhase - provide the phase value.
* @private
*/
export declare function addVerticalPhase(diagram: Diagram, node: NodeModel, grid: GridPanel, rowIndex: number, orientation: boolean, newPhase: PhaseModel): void;
/**
* arrangeChildInGrid method \
*
* @returns {void} arrangeChildInGrid method .\
* @param {Diagram} diagram - provide the diagram value.
* @param {GridCell} nextCell - provide the nextCell value.
* @param {GridPanel} gridCell - provide the gridCell value.
* @param {Rect} rect - provide the rect value.
* @param {GroupableView} parentWrapper - provide the parentWrapper value.
* @param {boolean} orientation - provide the orientation value.
* @param {GridCell} prevCell - provide the prevCell value.
* @private
*/
export declare function arrangeChildInGrid(diagram: Diagram, nextCell: GridCell, gridCell: GridCell, rect: Rect, parentWrapper: GroupableView, orientation: boolean, prevCell?: GridCell): void;
/**
* swimLaneSelection method \
*
* @returns {void} swimLaneSelection method .\
* @param {Diagram} diagram - provide the diagram value.
* @param {NodeModel} node - provide the node value.
* @param {string} corner - provide the corner value.
* @private
*/
export declare function swimLaneSelection(diagram: Diagram, node: NodeModel, corner: string): void;
/**
* pasteSwimLane method \
*
* @returns {void} pasteSwimLane method .\
* @param {Diagram} swimLane - provide the diagram value.
* @param {NodeModel} diagram - provide the diagram value.
* @param {string} clipboardData - provide the clipboardData value.
* @param {string} laneNode - provide the laneNode value.
* @param {string} isLane - provide the isLane value.
* @param {string} isUndo - provide the isUndo value.
* @private
*/
export declare function pasteSwimLane(swimLane: NodeModel, diagram: Diagram, clipboardData?: ClipBoardObject, laneNode?: NodeModel, isLane?: boolean, isUndo?: boolean): NodeModel;
/**
* gridSelection method \
*
* @returns {void} gridSelection method .\
* @param {Diagram} diagram - provide the diagram value.
* @param {SelectorModel} selectorModel - provide the selectorModel value.
* @param {string} id - provide the id value.
* @param {boolean} isSymbolDrag - provide the isSymbolDrag value.
* @private
*/
export declare function gridSelection(diagram: Diagram, selectorModel: SelectorModel, id?: string, isSymbolDrag?: boolean): Canvas;
/**
* removeLaneChildNode method \
*
* @returns {void} removeLaneChildNode method .\
* @param {Diagram} diagram - provide the diagram value.
* @param {NodeModel} swimLaneNode - provide the diagram value.
* @param {NodeModel} currentObj - provide the currentObj value.
* @param {NodeModel} isChildNode - provide the isChildNode value.
* @param {number} laneIndex - provide the laneIndex value.
* @private
*/
export declare function removeLaneChildNode(diagram: Diagram, swimLaneNode: NodeModel, currentObj: NodeModel, isChildNode?: NodeModel, laneIndex?: number): void;
/**
* getGridChildren method \
*
* @returns {DiagramElement} getGridChildren method .\
* @param {Diagram} obj - provide the obj value.
* @private
*/
export declare function getGridChildren(obj: DiagramElement): DiagramElement;
/**
* removeSwimLane method \
*
* @returns {void} removeSwimLane method .\
* @param {Diagram} diagram - provide the obj value.
* @param {NodeModel} obj - provide the obj value.
* @private
*/
export declare function removeSwimLane(diagram: Diagram, obj: NodeModel): void;
/**
* removeLane method \
*
* @returns {void} removeLane method .\
* @param {Diagram} diagram - provide the obj value.
* @param {NodeModel} lane - provide the obj value.
* @param {NodeModel} swimLane - provide the obj value.
* @param {LaneModel} lanes - provide the obj value.
* @private
*/
export declare function removeLane(diagram: Diagram, lane: NodeModel, swimLane: NodeModel, lanes?: LaneModel): void;
/**
* removeLaneGridFromPhase method \
*
* @returns {void} removeLaneGridFromPhase method .\
* @param {Canvas} child - provide the child lane value.
* @param {Swimlane} swimlane - provide the swimlane value.
* @param {Diagram} diagram - provide the diagram value.
* @private
*/
export declare function removeLaneGridFromPhase(child: Canvas, swimlane: NodeModel, diagram: Diagram): void;
/**
* removeChildren method \
*
* @returns {void} removeChildren method .\
* @param {Diagram} diagram - provide the obj value.
* @param {Canvas} canvas - provide the obj value.
* @private
*/
export declare function removeChildren(diagram: Diagram, canvas: Canvas): void;
/**
* removePhase method \
*
* @returns {void} removePhase method .\
* @param {Diagram} diagram - provide the obj value.
* @param {NodeModel} phase - provide the obj value.
* @param {NodeModel} swimLane - provide the obj value.
* @param {PhaseModel} swimLanePhases - provide the obj value.
* @private
*/
export declare function removePhase(diagram: Diagram, phase: NodeModel, swimLane: NodeModel, swimLanePhases?: PhaseModel): void;
/**
* removeHorizontalPhase method \
*
* @returns {void} removeHorizontalPhase method .\
* @param {Diagram} diagram - provide the obj value.
* @param {GridPanel} grid - provide the obj value.
* @param {NodeModel} phase - provide the obj value.
* @param {number} phaseIndex - provide the obj value.
* @private
*/
export declare function removeHorizontalPhase(diagram: Diagram, grid: GridPanel, phase: NodeModel, phaseIndex?: number): void;
/**
* removeVerticalPhase method \
*
* @returns {void} removeVerticalPhase method .\
* @param {Diagram} diagram - provide the diagram value.
* @param {GridPanel} grid - provide the grid value.
* @param {NodeModel} phase - provide the phase value.
* @param {number} phaseIndex - provide the phaseIndex value.
* @param {number} swimLane - provide the swimLane value.
* @private
*/
export declare function removeVerticalPhase(diagram: Diagram, grid: GridPanel, phase: NodeModel, phaseIndex: number, swimLane: NodeModel): void;
/**
* considerSwimLanePadding method \
*
* @returns {void} considerSwimLanePadding method .\
* @param {Diagram} diagram - provide the diagram value.
* @param {NodeModel} node - provide the grid value.
* @param {number} padding - provide the phase value.
* @private
*/
export declare function considerSwimLanePadding(diagram: Diagram, node: NodeModel, padding: number): void;
/**
* checkLaneChildrenOffset method \
*
* @returns {void} checkLaneChildrenOffset method .\
* @param {NodeModel} swimLane - provide the diagram value.
* @private
*/
export declare function checkLaneChildrenOffset(swimLane: NodeModel): void;
/**
* findLane method \
*
* @returns {LaneModel} findLane method .\
* @param {Node} laneNode - provide the laneNode value.
* @param {Diagram} diagram - provide the diagram value.
* @private
*/
export declare function findLane(laneNode: Node, diagram: Diagram): LaneModel;
/**
* Checks if node and its parent got selected
*
* @param {Node} node - node to check, if its parent got selected with it.
* @param {Diagram} diagram - provide the diagram value.
* @returns {boolean} whether node and its parent got selected or not.
* @private
*/
export declare function isParentNodeSelected(node: Node, diagram: Diagram): boolean;
/**
* Checks two different sub lane nodes are a representation of the same lane.
*
* @param {Node} node1 - Provide the node to compare to.
* @param {Node} node2 - Provide the node to compare with.
* @param {Diagram} diagram - Provide the diagram value.
* @returns {boolean} Whether two nodes are representation of the same lane.
* @private
*/
export declare function checkSameLaneNodes(node1: Node, node2: Node, diagram: Diagram): boolean;
/**
* canLaneInterchange method \
*
* @returns {boolean} canLaneInterchange method .\
* @param {Node} laneNode - provide the laneNode value.
* @param {Diagram} diagram - provide the diagram value.
* @private
*/
export declare function canLaneInterchange(laneNode: Node, diagram: Diagram): boolean;
/**
* updateSwimLaneChildPosition method \
*
* @returns {void} updateSwimLaneChildPosition method .\
* @param {Lane[]} lanes - provide the laneNode value.
* @param {Diagram} diagram - provide the diagram value.
* @private
*/
export declare function updateSwimLaneChildPosition(lanes: Lane[], diagram: Diagram): void;