Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
private onSelectionEnd = (regionData: RegionData) => {
if (CanvasHelpers.isEmpty(regionData)) {
return;
}
const id = shortid.generate();
this.editor.RM.addRegion(id, regionData, null);
this.template = new Rect(regionData.width, regionData.height);
// RegionData not serializable so need to extract data
const scaledRegionData = this.editor.scaleRegionToSourceSize(
regionData,
this.state.currentAsset.asset.size.width,
this.state.currentAsset.asset.size.height,
);
const lockedTags = this.props.lockedTags;
const newRegion = {
id,
type: this.editorModeToType(this.props.editorMode),
tags: lockedTags || [],
boundingBox: {
height: scaledRegionData.height,
width: scaledRegionData.width,
left: scaledRegionData.x,
project: null,
lockedTags: [],
};
public editor: Editor;
public state: ICanvasState = {
currentAsset: this.props.selectedAsset,
contentSource: null,
enabled: false,
};
private canvasZone: React.RefObject = React.createRef();
private clearConfirm: React.RefObject = React.createRef();
private template: Rect = new Rect(20, 20);
public componentDidMount = () => {
const sz = document.getElementById("editor-zone") as HTMLDivElement;
this.editor = new CanvasTools.Editor(sz);
this.editor.autoResize = false;
this.editor.onSelectionEnd = this.onSelectionEnd;
this.editor.onRegionMoveEnd = this.onRegionMoveEnd;
this.editor.onRegionDelete = this.onRegionDelete;
this.editor.onRegionSelected = this.onRegionSelected;
this.editor.AS.setSelectionMode({ mode: this.props.selectionMode });
window.addEventListener("resize", this.onWindowResize);
}
public componentWillUnmount() {
window.removeEventListener("resize", this.onWindowResize);