From dbd96e2e58cec4eda55d40c7d4bf759259b3c3ea Mon Sep 17 00:00:00 2001 From: Artur Arseniev Date: Mon, 14 Aug 2023 18:26:39 +0400 Subject: [PATCH] Add canvas spost on change event --- src/canvas/index.ts | 2 ++ src/canvas/model/CanvasSpots.ts | 7 +++++++ 2 files changed, 9 insertions(+) diff --git a/src/canvas/index.ts b/src/canvas/index.ts index d57b594f9..e42e2cae7 100644 --- a/src/canvas/index.ts +++ b/src/canvas/index.ts @@ -733,6 +733,8 @@ export default class CanvasModule extends Module { setSpot(spotProps: Partial = {}, opts: AddOptions = {}) { const spots = this.getSpots(spotProps); + console.log('setSpot'); + if (spots.length) { const spot = spots[0]; spot.set(spotProps); diff --git a/src/canvas/model/CanvasSpots.ts b/src/canvas/model/CanvasSpots.ts index 1b18be19c..d5814bb28 100644 --- a/src/canvas/model/CanvasSpots.ts +++ b/src/canvas/model/CanvasSpots.ts @@ -6,6 +6,7 @@ export default class CanvasSpots extends ModuleCollection { constructor(module: CanvasModule, models: CanvasSpot[] | CanvasSpotProps[] = []) { super(module, models, CanvasSpot); this.on('add', this.onAdd); + this.on('change', this.onChange); } onAdd(spot: CanvasSpot) { @@ -13,4 +14,10 @@ export default class CanvasSpots extends ModuleCollection { const { em, events } = module; em.trigger(events.spotAdd, { spot }); } + + onChange(spot: CanvasSpot) { + const { module } = this; + const { em, events } = module; + em.trigger(events.spotUpdate, { spot }); + } }