/// /** * Cells are the elements of the graph model. They represent the state * of the groups, vertices and edges in a graph. * * ### Custom attributes * For custom attributes we recommend using an XML node as the value of a cell. * The following code can be used to create a cell with an XML node as the value: * @example * ```javascript * var doc = mxUtils.createXmlDocument(); * var node = doc.createElement('MyNode') * node.setAttribute('label', 'MyLabel'); * node.setAttribute('attribute1', 'value1'); * graph.insertVertex(graph.getDefaultParent(), null, node, 40, 40, 80, 30); * ``` * * For the label to work, {@link mxGraph.convertValueToString} and * {@link mxGraph.cellLabelChanged} should be overridden as follows: * * @example * ```javascript * graph.convertValueToString(cell) * { * if (mxUtils.isNode(cell.value)) * { * return cell.getAttribute('label', '') * } * }; * * var cellLabelChanged = graph.cellLabelChanged; * graph.cellLabelChanged(cell, newValue, autoSize) * { * if (mxUtils.isNode(cell.value)) * { * // Clones the value for correct undo/redo * var elt = cell.value.cloneNode(true); * elt.setAttribute('label', newValue); * newValue = elt; * } * * cellLabelChanged.apply(this, arguments); * }; * ``` * @class mxCell */ declare class mxCell { /** * @param {*} value Optional object that represents the cell value. * @param {mxGeometry} geometry Optional that specifies the geometry. * @param {string} style Optional formatted string that defines the style. */ constructor(value?: any, geometry?: mxGeometry, style?: string); /** * @see {mxGraph.getCellOverlays} * * @type {Array} */ overlays: Array; /** * Holds the Id. Default is null. */ id: string; /** * Holds the user object. Default is null. */ value: any; /** * Holds the . Default is null. */ geometry: mxGeometry; /** * Holds the style as a string of the form [(stylename|key=value);]. Default is * null. */ style: string; /** * Specifies whether the cell is a vertex. Default is false. */ vertex: boolean; /** * Specifies whether the cell is an edge. Default is false. */ edge: boolean; /** * Specifies whether the cell is connectable. Default is true. */ connectable: boolean; /** * Specifies whether the cell is visible. Default is true. */ visible: boolean; /** * Specifies whether the cell is collapsed. Default is false. */ collapsed: boolean; /** * Reference to the parent cell. */ parent: mxCell; /** * Reference to the source terminal. */ source: mxCell; /** * Reference to the target terminal. */ target: mxCell; /** * Holds the child cells. */ children: Array; /** * Holds the edges. */ edges: Array; /** * List of members that should not be cloned inside . This field is * passed to and is not made persistent in . * This is not a convention for all classes, it is only used in this class * to mark transient fields since transient modifiers are not supported by * the language. */ mxTransient: Array; /** * Returns the Id of the cell as a string. */ getId(): string; /** * Sets the Id of the cell to the given string. */ setId(id: string): void; /** * Returns the user object of the cell. The user * object is stored in . */ getValue(): any; /** * Sets the user object of the cell. The user object * is stored in . */ setValue(value: any): void; /** * Changes the user object after an in-place edit * and returns the previous value. This implementation * replaces the user object with the given value and * returns the old user object. */ valueChanged(newValue: any): any; /** * Returns the that describes the . */ getGeometry(): mxGeometry; /** * Sets the to be used as the . */ setGeometry(geometry: mxGeometry): void; /** * Returns a string that describes the