diff --git a/src/controllers/functions/grabAndClone.ts b/src/controllers/functions/grabAndClone.ts index 1add482..b34fb8f 100644 --- a/src/controllers/functions/grabAndClone.ts +++ b/src/controllers/functions/grabAndClone.ts @@ -1,12 +1,16 @@ import {AbstractMesh, Vector3} from "@babylonjs/core"; import {DiagramManager} from "../../diagram/diagramManager"; import {DiagramObject} from "../../objects/diagramObject"; +import log from "loglevel"; export function grabAndClone(diagramManager: DiagramManager, mesh: AbstractMesh, parent: AbstractMesh): DiagramObject { + const logger = log.getLogger('grabAndClone'); if (diagramManager.isDiagramObject(mesh)) { + logger.debug('grabAndClone called with diagram object', mesh.id); const diagramObject = diagramManager.createCopy(mesh.id); if (!diagramObject) { + logger.warn('grabAndClone called with invalid diagram object', mesh.id); return null; } diagramObject.baseTransform.setParent(parent); diff --git a/src/diagram/diagramManager.ts b/src/diagram/diagramManager.ts index 1919baa..d117171 100644 --- a/src/diagram/diagramManager.ts +++ b/src/diagram/diagramManager.ts @@ -11,7 +11,7 @@ import {DiagramObject} from "../objects/diagramObject"; export class DiagramManager { - private logger = log.getLogger('DiagramManager'); + private readonly _logger = log.getLogger('DiagramManager'); public readonly _config: AppConfig; private readonly _controllers: Controllers; private readonly _diagramEntityActionManager: ActionManager; @@ -49,7 +49,7 @@ export class DiagramManager { } }); - this.logger.debug("DiagramManager constructed"); + this._logger.debug("DiagramManager constructed"); } public get actionManager(): AbstractActionManager { @@ -76,6 +76,7 @@ export class DiagramManager { public createCopy(id: string): DiagramObject { const diagramObject = this._diagramObjects.get(id); if (!diagramObject) { + this._logger.warn('createCopy called with invalid diagram object', id); return null; } const obj = diagramObject.clone(); diff --git a/src/objects/diagramObject.ts b/src/objects/diagramObject.ts index 037968c..935bc48 100644 --- a/src/objects/diagramObject.ts +++ b/src/objects/diagramObject.ts @@ -109,7 +109,7 @@ export class DiagramObject { public clone(): DiagramObject { const clone = new DiagramObject(this._scene, this._eventObservable, {actionManager: this._mesh.actionManager}); - const newEntity = {...this._diagramEntity}; + const newEntity: DiagramEntity = {...this._diagramEntity}; newEntity.id = 'id' + uuidv4(); clone.fromDiagramEntity(this._diagramEntity); this._logger.debug('DiagramObject clone called', clone, this._diagramEntity, newEntity);