Browse Source

Add spot add event

canvas-spot
Artur Arseniev 3 years ago
parent
commit
01525082fa
  1. 13
      src/canvas/index.ts
  2. 10
      src/canvas/model/CanvasSpots.ts

13
src/canvas/index.ts

@ -63,6 +63,18 @@ import CanvasSpot, { CanvasSpotProps } from './model/CanvasSpot';
export type CanvasEvent = 'canvas:dragenter' | 'canvas:dragover' | 'canvas:drop' | 'canvas:dragend' | 'canvas:dragdata';
const canvasEvents = {
dragEnter: 'canvas:dragenter',
dragOver: 'canvas:dragover',
dragEnd: 'canvas:dragend',
dragData: 'canvas:dragdata',
drop: 'canvas:drop',
spot: 'canvas:spot',
spotAdd: 'canvas:spot:add',
spotUpdate: 'canvas:spot:update',
spotRemove: 'canvas:spot:remove',
} as const;
export interface ToWorldOption {
toWorld?: boolean;
}
@ -87,6 +99,7 @@ export default class CanvasModule extends Module<CanvasConfig> {
canvas: Canvas;
model: Canvas;
spots: CanvasSpots;
events = canvasEvents;
private canvasView?: CanvasView;
/**

10
src/canvas/model/CanvasSpots.ts

@ -5,8 +5,12 @@ import CanvasSpot, { CanvasSpotProps } from './CanvasSpot';
export default class CanvasSpots extends ModuleCollection<CanvasSpot> {
constructor(module: CanvasModule, models: CanvasSpot[] | CanvasSpotProps[] = []) {
super(module, models, CanvasSpot);
// bindAll(this, 'itemLoaded');
// this.on('reset', this.onReset);
// this.on('remove', this.onRemove);
this.on('add', this.onAdd);
}
onAdd(spot: CanvasSpot) {
const { module } = this;
const { em, events } = module;
em.trigger(events.spotAdd, { spot });
}
}

Loading…
Cancel
Save