ngx-diagrams
Version:
> Light Weight, Modular, Typed Diagram Engine for Angular
38 lines • 4.6 kB
JavaScript
import { UID } from '../utils/tool-kit.util';
// region events
export class BaseEvent {
constructor(entity, options) {
this.id = UID();
this.entity = entity;
this.entityId = entity.id;
this.firing = true;
this.stopPropagation = () => (this.firing = false);
this.propogate = options ? options.propagate : null;
}
}
export class LockEvent extends BaseEvent {
constructor(entity, locked = false) {
super(entity);
this.locked = locked;
}
}
export class ParentChangeEvent extends BaseEvent {
constructor(entity, parent) {
super(entity);
this.parent = parent;
}
}
export class SelectionEvent extends BaseEvent {
constructor(entity, selected) {
super(entity);
this.isSelected = selected;
}
}
export class PaintedEvent extends BaseEvent {
constructor(entity, painted = false) {
super(entity);
this.isPainted = painted;
}
}
// endregion
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uL2xpYnMvbmd4LWRpYWdyYW1zL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9pbnRlcmZhY2VzL2V2ZW50LmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQU0sR0FBRyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFakQsZ0JBQWdCO0FBQ2hCLE1BQU0sT0FBTyxTQUFTO0lBUXBCLFlBQVksTUFBUyxFQUFFLE9BQWE7UUFDbEMsSUFBSSxDQUFDLEVBQUUsR0FBRyxHQUFHLEVBQUUsQ0FBQztRQUNoQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7UUFDbkIsSUFBSSxDQUFDLGVBQWUsR0FBRyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLENBQUM7UUFDbkQsSUFBSSxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUN0RCxDQUFDO0NBQ0Y7QUFDRCxNQUFNLE9BQU8sU0FBNkMsU0FBUSxTQUFZO0lBRzVFLFlBQVksTUFBUyxFQUFFLE1BQU0sR0FBRyxLQUFLO1FBQ25DLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNkLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7Q0FDRjtBQUNELE1BQU0sT0FBTyxpQkFHWCxTQUFRLFNBQVk7SUFHcEIsWUFBWSxNQUFTLEVBQUUsTUFBUztRQUM5QixLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDZCxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztJQUN2QixDQUFDO0NBQ0Y7QUFDRCxNQUFNLE9BQU8sY0FFWCxTQUFRLFNBQVk7SUFHcEIsWUFBWSxNQUFTLEVBQUUsUUFBaUI7UUFDdEMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2QsSUFBSSxDQUFDLFVBQVUsR0FBRyxRQUFRLENBQUM7SUFDN0IsQ0FBQztDQUNGO0FBQ0QsTUFBTSxPQUFPLFlBQWdELFNBQVEsU0FFcEU7SUFHQyxZQUFZLE1BQVMsRUFBRSxPQUFPLEdBQUcsS0FBSztRQUNwQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDZCxJQUFJLENBQUMsU0FBUyxHQUFHLE9BQU8sQ0FBQztJQUMzQixDQUFDO0NBQ0Y7QUFDRCxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZUVudGl0eSB9IGZyb20gJy4uL2Jhc2UuZW50aXR5JztcbmltcG9ydCB7IElELCBVSUQgfSBmcm9tICcuLi91dGlscy90b29sLWtpdC51dGlsJztcblxuLy8gcmVnaW9uIGV2ZW50c1xuZXhwb3J0IGNsYXNzIEJhc2VFdmVudDxUIGV4dGVuZHMgQmFzZUVudGl0eT4ge1xuICBlbnRpdHk6IFQ7XG4gIGVudGl0eUlkOiBJRDtcbiAgc3RvcFByb3BhZ2F0aW9uOiAoKSA9PiBhbnk7XG4gIGZpcmluZzogYm9vbGVhbjtcbiAgaWQ6IElEO1xuICBwcm9wb2dhdGU6IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3IoZW50aXR5OiBULCBvcHRpb25zPzogYW55KSB7XG4gICAgdGhpcy5pZCA9IFVJRCgpO1xuICAgIHRoaXMuZW50aXR5ID0gZW50aXR5O1xuICAgIHRoaXMuZW50aXR5SWQgPSBlbnRpdHkuaWQ7XG4gICAgdGhpcy5maXJpbmcgPSB0cnVlO1xuICAgIHRoaXMuc3RvcFByb3BhZ2F0aW9uID0gKCkgPT4gKHRoaXMuZmlyaW5nID0gZmFsc2UpO1xuICAgIHRoaXMucHJvcG9nYXRlID0gb3B0aW9ucyA/IG9wdGlvbnMucHJvcGFnYXRlIDogbnVsbDtcbiAgfVxufVxuZXhwb3J0IGNsYXNzIExvY2tFdmVudDxUIGV4dGVuZHMgQmFzZUVudGl0eSA9IEJhc2VFbnRpdHk+IGV4dGVuZHMgQmFzZUV2ZW50PFQ+IHtcbiAgbG9ja2VkOiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKGVudGl0eTogVCwgbG9ja2VkID0gZmFsc2UpIHtcbiAgICBzdXBlcihlbnRpdHkpO1xuICAgIHRoaXMubG9ja2VkID0gbG9ja2VkO1xuICB9XG59XG5leHBvcnQgY2xhc3MgUGFyZW50Q2hhbmdlRXZlbnQ8XG4gIFAgZXh0ZW5kcyBCYXNlRW50aXR5ID0gQmFzZUVudGl0eSxcbiAgVCBleHRlbmRzIEJhc2VFbnRpdHkgPSBCYXNlRW50aXR5XG4+IGV4dGVuZHMgQmFzZUV2ZW50PFQ+IHtcbiAgcGFyZW50OiBQO1xuXG4gIGNvbnN0cnVjdG9yKGVudGl0eTogVCwgcGFyZW50OiBQKSB7XG4gICAgc3VwZXIoZW50aXR5KTtcbiAgICB0aGlzLnBhcmVudCA9IHBhcmVudDtcbiAgfVxufVxuZXhwb3J0IGNsYXNzIFNlbGVjdGlvbkV2ZW50PFxuICBUIGV4dGVuZHMgQmFzZUVudGl0eSA9IEJhc2VFbnRpdHlcbj4gZXh0ZW5kcyBCYXNlRXZlbnQ8VD4ge1xuICBpc1NlbGVjdGVkOiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKGVudGl0eTogVCwgc2VsZWN0ZWQ6IGJvb2xlYW4pIHtcbiAgICBzdXBlcihlbnRpdHkpO1xuICAgIHRoaXMuaXNTZWxlY3RlZCA9IHNlbGVjdGVkO1xuICB9XG59XG5leHBvcnQgY2xhc3MgUGFpbnRlZEV2ZW50PFQgZXh0ZW5kcyBCYXNlRW50aXR5ID0gQmFzZUVudGl0eT4gZXh0ZW5kcyBCYXNlRXZlbnQ8XG4gIFRcbj4ge1xuICBpc1BhaW50ZWQ6IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3IoZW50aXR5OiBULCBwYWludGVkID0gZmFsc2UpIHtcbiAgICBzdXBlcihlbnRpdHkpO1xuICAgIHRoaXMuaXNQYWludGVkID0gcGFpbnRlZDtcbiAgfVxufVxuLy8gZW5kcmVnaW9uXG4iXX0=