reorganize directory structure and converting to typescript
parent
2f8b2f82f0
commit
b654d9cb08
|
@ -169,7 +169,7 @@ class mxShape {
|
||||||
|
|
||||||
verticalTextRotation: number | null = null;
|
verticalTextRotation: number | null = null;
|
||||||
|
|
||||||
oldGradients: any[] | null | null = null;
|
oldGradients: any[] | null = null;
|
||||||
|
|
||||||
glass: boolean | null = null;
|
glass: boolean | null = null;
|
||||||
|
|
||||||
|
@ -333,7 +333,7 @@ class mxShape {
|
||||||
const sw =
|
const sw =
|
||||||
this.stencil && this.stencil.strokewidth !== 'inherit'
|
this.stencil && this.stencil.strokewidth !== 'inherit'
|
||||||
? Number(this.stencil.strokewidth)
|
? Number(this.stencil.strokewidth)
|
||||||
: this.strokewidth;
|
: <number>this.strokewidth;
|
||||||
|
|
||||||
return mxUtils.mod(Math.max(1, Math.round(sw * this.scale)), 2) === 1
|
return mxUtils.mod(Math.max(1, Math.round(sw * this.scale)), 2) === 1
|
||||||
? 0.5
|
? 0.5
|
||||||
|
@ -448,10 +448,10 @@ class mxShape {
|
||||||
[bounds.width, bounds.height] = [bounds.height, bounds.width];
|
[bounds.width, bounds.height] = [bounds.height, bounds.width];
|
||||||
}
|
}
|
||||||
|
|
||||||
let labelMargins = this.getLabelMargins(bounds);
|
let labelMargins: mxRectangle | null = this.getLabelMargins(bounds);
|
||||||
|
|
||||||
if (labelMargins != null) {
|
if (labelMargins != null) {
|
||||||
labelMargins = (<mxRectangle>labelMargins).copy();
|
labelMargins = <mxRectangle>(<mxRectangle>labelMargins).clone();
|
||||||
|
|
||||||
let flipH = toBool(
|
let flipH = toBool(
|
||||||
mxUtils.getValue(this.style, mxConstants.STYLE_FLIPH, false)
|
mxUtils.getValue(this.style, mxConstants.STYLE_FLIPH, false)
|
||||||
|
@ -466,10 +466,10 @@ class mxShape {
|
||||||
this.state.text != null &&
|
this.state.text != null &&
|
||||||
this.state.text.isPaintBoundsInverted()
|
this.state.text.isPaintBoundsInverted()
|
||||||
) {
|
) {
|
||||||
const tmp = labelMargins.x;
|
const tmp = <number>labelMargins.x;
|
||||||
labelMargins.x = labelMargins.height;
|
labelMargins.x = <number>labelMargins.height;
|
||||||
labelMargins.height = labelMargins.width;
|
labelMargins.height = <number>labelMargins.width;
|
||||||
labelMargins.width = labelMargins.y;
|
labelMargins.width = <number>labelMargins.y;
|
||||||
labelMargins.y = tmp;
|
labelMargins.y = tmp;
|
||||||
|
|
||||||
[flipH, flipV] = [flipV, flipH];
|
[flipH, flipV] = [flipV, flipH];
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -303,7 +303,7 @@ class mxGraphModel extends mxEventSource {
|
||||||
*
|
*
|
||||||
* root - <mxCell> that represents the root cell.
|
* root - <mxCell> that represents the root cell.
|
||||||
*/
|
*/
|
||||||
constructor(root: mxCell) {
|
constructor(root: mxCell | null=null) {
|
||||||
super();
|
super();
|
||||||
this.currentEdit = this.createUndoableEdit();
|
this.currentEdit = this.createUndoableEdit();
|
||||||
|
|
||||||
|
@ -1221,7 +1221,7 @@ class mxGraphModel extends mxEventSource {
|
||||||
*/
|
*/
|
||||||
getDirectedEdgeCount(cell: mxCell,
|
getDirectedEdgeCount(cell: mxCell,
|
||||||
outgoing: boolean,
|
outgoing: boolean,
|
||||||
ignoredEdge: mxCell): number {
|
ignoredEdge: mxCell | null=null): number {
|
||||||
let count = 0;
|
let count = 0;
|
||||||
const edgeCount = this.getEdgeCount(cell);
|
const edgeCount = this.getEdgeCount(cell);
|
||||||
|
|
||||||
|
|
|
@ -27,6 +27,7 @@ import mxImage from '../../util/image/mxImage';
|
||||||
import mxCurrentRootChange from './mxCurrentRootChange';
|
import mxCurrentRootChange from './mxCurrentRootChange';
|
||||||
import mxGraphModel from './mxGraphModel';
|
import mxGraphModel from './mxGraphModel';
|
||||||
import mxShape from '../../shape/mxShape';
|
import mxShape from '../../shape/mxShape';
|
||||||
|
import mxGeometry from "../../util/datatypes/mxGeometry";
|
||||||
|
|
||||||
const validateBool = (x: any) => {
|
const validateBool = (x: any) => {
|
||||||
if (x === true || x === false) {
|
if (x === true || x === false) {
|
||||||
|
@ -575,7 +576,7 @@ class mxGraphView extends mxEventSource {
|
||||||
*
|
*
|
||||||
* root - <mxCell> that specifies the root of the displayed cell hierarchy.
|
* root - <mxCell> that specifies the root of the displayed cell hierarchy.
|
||||||
*/
|
*/
|
||||||
setCurrentRoot(root: mxCell): mxCell {
|
setCurrentRoot(root: mxCell | null): mxCell {
|
||||||
if (this.currentRoot != root) {
|
if (this.currentRoot != root) {
|
||||||
const change = new mxCurrentRootChange(this, root);
|
const change = new mxCurrentRootChange(this, root);
|
||||||
change.execute();
|
change.execute();
|
||||||
|
@ -1667,7 +1668,11 @@ class mxGraphView extends mxEventSource {
|
||||||
*
|
*
|
||||||
* Returns the edge style function to be used to render the given edge state.
|
* Returns the edge style function to be used to render the given edge state.
|
||||||
*/
|
*/
|
||||||
getEdgeStyle(edge, points, source, target) {
|
getEdgeStyle(edge,
|
||||||
|
points,
|
||||||
|
source,
|
||||||
|
target) {
|
||||||
|
|
||||||
let edgeStyle = this.isLoopStyleEnabled(edge, points, source, target)
|
let edgeStyle = this.isLoopStyleEnabled(edge, points, source, target)
|
||||||
? mxUtils.getValue(
|
? mxUtils.getValue(
|
||||||
edge.style,
|
edge.style,
|
||||||
|
@ -1834,14 +1839,17 @@ class mxGraphView extends mxEventSource {
|
||||||
* returned.
|
* returned.
|
||||||
* border - Optional border between the perimeter and the shape.
|
* border - Optional border between the perimeter and the shape.
|
||||||
*/
|
*/
|
||||||
getPerimeterPoint(terminal, next, orthogonal, border) {
|
getPerimeterPoint(terminal: mxCellState,
|
||||||
|
next,
|
||||||
|
orthogonal,
|
||||||
|
border: number=0) {
|
||||||
let point = null;
|
let point = null;
|
||||||
|
|
||||||
if (terminal != null) {
|
if (terminal != null) {
|
||||||
const perimeter = this.getPerimeterFunction(terminal);
|
const perimeter = this.getPerimeterFunction(terminal);
|
||||||
|
|
||||||
if (perimeter != null && next != null) {
|
if (perimeter != null && next != null) {
|
||||||
const bounds = this.getPerimeterBounds(terminal, border);
|
const bounds = <mxRectangle>this.getPerimeterBounds(terminal, border);
|
||||||
|
|
||||||
if (bounds.width > 0 || bounds.height > 0) {
|
if (bounds.width > 0 || bounds.height > 0) {
|
||||||
point = new mxPoint(next.x, next.y);
|
point = new mxPoint(next.x, next.y);
|
||||||
|
@ -1964,7 +1972,7 @@ class mxGraphView extends mxEventSource {
|
||||||
* border - Number that adds a border between the shape and the perimeter.
|
* border - Number that adds a border between the shape and the perimeter.
|
||||||
*/
|
*/
|
||||||
getPerimeterBounds(
|
getPerimeterBounds(
|
||||||
terminal: mxCell | null = null,
|
terminal: mxCellState | null = null,
|
||||||
border: number = 0
|
border: number = 0
|
||||||
): mxRectangle | null {
|
): mxRectangle | null {
|
||||||
if (terminal != null) {
|
if (terminal != null) {
|
||||||
|
@ -1972,7 +1980,7 @@ class mxGraphView extends mxEventSource {
|
||||||
terminal.style[mxConstants.STYLE_PERIMETER_SPACING] || 0
|
terminal.style[mxConstants.STYLE_PERIMETER_SPACING] || 0
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
return terminal.getPerimeterBounds(border * this.scale, 0);
|
return (<mxCellState>terminal).getPerimeterBounds(border * this.scale);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -2011,7 +2019,10 @@ class mxGraphView extends mxEventSource {
|
||||||
* source - Boolean indicating if the next point for the source or target
|
* source - Boolean indicating if the next point for the source or target
|
||||||
* should be returned.
|
* should be returned.
|
||||||
*/
|
*/
|
||||||
getNextPoint(edge, opposite, source) {
|
getNextPoint(edge: mxCellState,
|
||||||
|
opposite: mxCellState | null,
|
||||||
|
source: boolean=false) {
|
||||||
|
|
||||||
const pts = edge.absolutePoints;
|
const pts = edge.absolutePoints;
|
||||||
let point = null;
|
let point = null;
|
||||||
|
|
||||||
|
@ -2079,7 +2090,7 @@ class mxGraphView extends mxEventSource {
|
||||||
* state - <mxCellState> whose bounds should be updated.
|
* state - <mxCellState> whose bounds should be updated.
|
||||||
*/
|
*/
|
||||||
updateEdgeBounds(state: mxCellState) {
|
updateEdgeBounds(state: mxCellState) {
|
||||||
const points = state.absolutePoints;
|
const points = <mxPoint[]>state.absolutePoints;
|
||||||
const p0 = points[0];
|
const p0 = points[0];
|
||||||
const pe = points[points.length - 1];
|
const pe = points[points.length - 1];
|
||||||
|
|
||||||
|
@ -2145,13 +2156,14 @@ class mxGraphView extends mxEventSource {
|
||||||
* state - <mxCellState> that represents the state of the parent edge.
|
* state - <mxCellState> that represents the state of the parent edge.
|
||||||
* geometry - <mxGeometry> that represents the relative location.
|
* geometry - <mxGeometry> that represents the relative location.
|
||||||
*/
|
*/
|
||||||
getPoint(state, geometry) {
|
getPoint(state: mxCellState,
|
||||||
|
geometry: mxGeometry): mxPoint {
|
||||||
let x = state.getCenterX();
|
let x = state.getCenterX();
|
||||||
let y = state.getCenterY();
|
let y = state.getCenterY();
|
||||||
|
|
||||||
if (state.segments != null && (geometry == null || geometry.relative)) {
|
if (state.segments != null && (geometry == null || geometry.relative)) {
|
||||||
const gx = geometry != null ? geometry.x / 2 : 0;
|
const gx = geometry != null ? geometry.x / 2 : 0;
|
||||||
const pointCount = state.absolutePoints.length;
|
const pointCount = (<mxPoint[]>state.absolutePoints).length;
|
||||||
const dist = Math.round((gx + 0.5) * state.length);
|
const dist = Math.round((gx + 0.5) * state.length);
|
||||||
let segment = state.segments[0];
|
let segment = state.segments[0];
|
||||||
let length = 0;
|
let length = 0;
|
||||||
|
@ -2163,8 +2175,8 @@ class mxGraphView extends mxEventSource {
|
||||||
}
|
}
|
||||||
|
|
||||||
const factor = segment === 0 ? 0 : (dist - length) / segment;
|
const factor = segment === 0 ? 0 : (dist - length) / segment;
|
||||||
const p0 = state.absolutePoints[index - 1];
|
const p0 = (<mxPoint[]>state.absolutePoints)[index - 1];
|
||||||
const pe = state.absolutePoints[index];
|
const pe = (<mxPoint[]>state.absolutePoints)[index];
|
||||||
|
|
||||||
if (p0 != null && pe != null) {
|
if (p0 != null && pe != null) {
|
||||||
let gy = 0;
|
let gy = 0;
|
||||||
|
@ -2213,20 +2225,25 @@ class mxGraphView extends mxEventSource {
|
||||||
* x - Specifies the x-coordinate of the absolute label location.
|
* x - Specifies the x-coordinate of the absolute label location.
|
||||||
* y - Specifies the y-coordinate of the absolute label location.
|
* y - Specifies the y-coordinate of the absolute label location.
|
||||||
*/
|
*/
|
||||||
getRelativePoint(edgeState, x, y) {
|
getRelativePoint(edgeState: mxCellState,
|
||||||
|
x: number,
|
||||||
|
y: number) {
|
||||||
|
|
||||||
const model = this.graph.getModel();
|
const model = this.graph.getModel();
|
||||||
const geometry = model.getGeometry(edgeState.cell);
|
const geometry = model.getGeometry(edgeState.cell);
|
||||||
|
|
||||||
if (geometry != null) {
|
if (geometry != null) {
|
||||||
const pointCount = edgeState.absolutePoints.length;
|
const absolutePoints = (<mxPoint[]>edgeState.absolutePoints);
|
||||||
|
const pointCount = absolutePoints.length;
|
||||||
|
|
||||||
if (geometry.relative && pointCount > 1) {
|
if (geometry.relative && pointCount > 1) {
|
||||||
const totalLength = edgeState.length;
|
const totalLength = edgeState.length;
|
||||||
const { segments } = edgeState;
|
let { segments } = edgeState;
|
||||||
|
segments = <number[]>segments;
|
||||||
|
|
||||||
// Works out which line segment the point of the label is closest to
|
// Works out which line segment the point of the label is closest to
|
||||||
let p0 = edgeState.absolutePoints[0];
|
let p0 = absolutePoints[0];
|
||||||
let pe = edgeState.absolutePoints[1];
|
let pe = absolutePoints[1];
|
||||||
let minDist = mxUtils.ptSegDistSq(p0.x, p0.y, pe.x, pe.y, x, y);
|
let minDist = mxUtils.ptSegDistSq(p0.x, p0.y, pe.x, pe.y, x, y);
|
||||||
let length = 0;
|
let length = 0;
|
||||||
let index = 0;
|
let index = 0;
|
||||||
|
@ -2234,7 +2251,7 @@ class mxGraphView extends mxEventSource {
|
||||||
|
|
||||||
for (let i = 2; i < pointCount; i += 1) {
|
for (let i = 2; i < pointCount; i += 1) {
|
||||||
p0 = pe;
|
p0 = pe;
|
||||||
pe = edgeState.absolutePoints[i];
|
pe = absolutePoints[i];
|
||||||
const dist = mxUtils.ptSegDistSq(p0.x, p0.y, pe.x, pe.y, x, y);
|
const dist = mxUtils.ptSegDistSq(p0.x, p0.y, pe.x, pe.y, x, y);
|
||||||
tmp += segments[i - 2];
|
tmp += segments[i - 2];
|
||||||
|
|
||||||
|
@ -2246,8 +2263,8 @@ class mxGraphView extends mxEventSource {
|
||||||
}
|
}
|
||||||
|
|
||||||
const seg = segments[index];
|
const seg = segments[index];
|
||||||
p0 = edgeState.absolutePoints[index];
|
p0 = absolutePoints[index];
|
||||||
pe = edgeState.absolutePoints[index + 1];
|
pe = absolutePoints[index + 1];
|
||||||
|
|
||||||
const x2 = p0.x;
|
const x2 = p0.x;
|
||||||
const y2 = p0.y;
|
const y2 = p0.y;
|
||||||
|
@ -2369,8 +2386,10 @@ class mxGraphView extends mxEventSource {
|
||||||
* create - Optional boolean indicating if a new state should be created
|
* create - Optional boolean indicating if a new state should be created
|
||||||
* if it does not yet exist. Default is false.
|
* if it does not yet exist. Default is false.
|
||||||
*/
|
*/
|
||||||
getState(cell: mxCell | null, create: boolean = false) {
|
getState(cell: mxCell | null=null,
|
||||||
let state: mxCellState = null;
|
create: boolean=false) {
|
||||||
|
|
||||||
|
let state: mxCellState | null = null;
|
||||||
|
|
||||||
if (cell != null) {
|
if (cell != null) {
|
||||||
state = this.states.get(cell);
|
state = this.states.get(cell);
|
||||||
|
|
Loading…
Reference in New Issue