UNPKG

@foblex/flow

Version:

An Angular library designed to simplify the creation and manipulation of dynamic flow. Provides components for flows, nodes, and connections, automating node manipulation and inter-node connections.

21 lines 3.38 kB
import { Point, PointExtensions } from '@foblex/2d'; import { FComponentsStore } from '../../f-storage'; export class FCanvasDragHandler { fEventType = 'canvas-move'; _fComponentsStore; _onPointerDownPosition = PointExtensions.initialize(); constructor(_injector) { this._fComponentsStore = _injector.get(FComponentsStore); } prepareDragSequence() { this._onPointerDownPosition = this._fComponentsStore.fCanvas.transform.position; } onPointerMove(difference) { this._fComponentsStore.fCanvas.setPosition(Point.fromPoint(this._onPointerDownPosition).add(difference)); this._fComponentsStore.fCanvas.redraw(); } onPointerUp() { this._fComponentsStore.fCanvas.emitCanvasChangeEvent(); } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jYW52YXMuZHJhZy1oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLWNhbnZhcy9mLWNhbnZhcy5kcmFnLWhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFVLEtBQUssRUFBRSxlQUFlLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFNUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFHbkQsTUFBTSxPQUFPLGtCQUFrQjtJQUV0QixVQUFVLEdBQUcsYUFBYSxDQUFDO0lBRWpCLGlCQUFpQixDQUFtQjtJQUM3QyxzQkFBc0IsR0FBVyxlQUFlLENBQUMsVUFBVSxFQUFFLENBQUM7SUFFdEUsWUFDRSxTQUFtQjtRQUVuQixJQUFJLENBQUMsaUJBQWlCLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFTSxtQkFBbUI7UUFDeEIsSUFBSSxDQUFDLHNCQUFzQixHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFRLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQztJQUNuRixDQUFDO0lBRU0sYUFBYSxDQUFDLFVBQWtCO1FBQ3JDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFRLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFDMUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUMzQyxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBUSxDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFDMUQsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVBvaW50LCBQb2ludCwgUG9pbnRFeHRlbnNpb25zIH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBJRkRyYWdIYW5kbGVyIH0gZnJvbSAnLi4vZi1kcmFnLWhhbmRsZXInO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQgeyBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgY2xhc3MgRkNhbnZhc0RyYWdIYW5kbGVyIGltcGxlbWVudHMgSUZEcmFnSGFuZGxlciB7XG5cbiAgcHVibGljIGZFdmVudFR5cGUgPSAnY2FudmFzLW1vdmUnO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2ZDb21wb25lbnRzU3RvcmU6IEZDb21wb25lbnRzU3RvcmU7XG4gIHByaXZhdGUgX29uUG9pbnRlckRvd25Qb3NpdGlvbjogSVBvaW50ID0gUG9pbnRFeHRlbnNpb25zLmluaXRpYWxpemUoKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBfaW5qZWN0b3I6IEluamVjdG9yLFxuICApIHtcbiAgICB0aGlzLl9mQ29tcG9uZW50c1N0b3JlID0gX2luamVjdG9yLmdldChGQ29tcG9uZW50c1N0b3JlKTtcbiAgfVxuXG4gIHB1YmxpYyBwcmVwYXJlRHJhZ1NlcXVlbmNlKCk6IHZvaWQge1xuICAgIHRoaXMuX29uUG9pbnRlckRvd25Qb3NpdGlvbiA9IHRoaXMuX2ZDb21wb25lbnRzU3RvcmUuZkNhbnZhcyEudHJhbnNmb3JtLnBvc2l0aW9uO1xuICB9XG5cbiAgcHVibGljIG9uUG9pbnRlck1vdmUoZGlmZmVyZW5jZTogSVBvaW50KTogdm9pZCB7XG4gICAgdGhpcy5fZkNvbXBvbmVudHNTdG9yZS5mQ2FudmFzIS5zZXRQb3NpdGlvbihQb2ludC5mcm9tUG9pbnQodGhpcy5fb25Qb2ludGVyRG93blBvc2l0aW9uKS5hZGQoZGlmZmVyZW5jZSkpO1xuICAgIHRoaXMuX2ZDb21wb25lbnRzU3RvcmUuZkNhbnZhcyEucmVkcmF3KCk7XG4gIH1cblxuICBwdWJsaWMgb25Qb2ludGVyVXAoKTogdm9pZCB7XG4gICAgdGhpcy5fZkNvbXBvbmVudHNTdG9yZS5mQ2FudmFzIS5lbWl0Q2FudmFzQ2hhbmdlRXZlbnQoKTtcbiAgfVxufVxuIl19