mirror of
https://github.com/ankitects/anki.git
synced 2025-09-18 22:12:21 -04:00
Ensure increasing ordinals of new masks
This commit is contained in:
parent
0334f4ff77
commit
dedfeec9ad
5 changed files with 11 additions and 7 deletions
|
@ -119,7 +119,7 @@ export const drawEllipse = (canvas: fabric.Canvas): void => {
|
||||||
|
|
||||||
ellipse.setCoords();
|
ellipse.setCoords();
|
||||||
canvas.setActiveObject(ellipse);
|
canvas.setActiveObject(ellipse);
|
||||||
undoStack.onObjectAdded(ellipse.id);
|
undoStack.onObjectAdded(ellipse);
|
||||||
ellipse = undefined;
|
ellipse = undefined;
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
|
@ -203,7 +203,7 @@ const generatePolygon = (canvas: fabric.Canvas, pointsList): void => {
|
||||||
canvas.add(polygon);
|
canvas.add(polygon);
|
||||||
canvas.setActiveObject(polygon);
|
canvas.setActiveObject(polygon);
|
||||||
// view undo redo tools
|
// view undo redo tools
|
||||||
undoStack.onObjectAdded(polygon["id"]);
|
undoStack.onObjectAdded(polygon);
|
||||||
}
|
}
|
||||||
|
|
||||||
toggleDrawPolygon(canvas);
|
toggleDrawPolygon(canvas);
|
||||||
|
|
|
@ -114,7 +114,7 @@ export const drawRectangle = (canvas: fabric.Canvas): void => {
|
||||||
|
|
||||||
rect.setCoords();
|
rect.setCoords();
|
||||||
canvas.setActiveObject(rect);
|
canvas.setActiveObject(rect);
|
||||||
undoStack.onObjectAdded(rect.id);
|
undoStack.onObjectAdded(rect);
|
||||||
rect = undefined;
|
rect = undefined;
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
|
@ -50,7 +50,7 @@ export const drawText = (canvas: fabric.Canvas): void => {
|
||||||
enableUniformScaling(canvas, text);
|
enableUniformScaling(canvas, text);
|
||||||
canvas.add(text);
|
canvas.add(text);
|
||||||
canvas.setActiveObject(text);
|
canvas.setActiveObject(text);
|
||||||
undoStack.onObjectAdded(text.id);
|
undoStack.onObjectAdded(text);
|
||||||
text.selectAll();
|
text.selectAll();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
@ -95,11 +95,15 @@ class UndoStack {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
onObjectAdded(id: string): void {
|
onObjectAdded(shape: fabric.Object): void {
|
||||||
if (!this.shapeIds.has(id)) {
|
if (!this.shapeIds.has(shape.id)) {
|
||||||
this.push();
|
this.push();
|
||||||
}
|
}
|
||||||
this.shapeIds.add(id);
|
this.shapeIds.add(shape.id);
|
||||||
|
if (shape.type !== "i-text") {
|
||||||
|
const ordinals = this.canvas!.getObjects().filter(shape => shape.ordinal).map(shape => shape.ordinal);
|
||||||
|
shape.ordinal = Math.max(...ordinals, 0) + 1;
|
||||||
|
}
|
||||||
emitChangeSignal();
|
emitChangeSignal();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue