ng2-tree
Version:
angular2 component for visualizing data that can be naturally represented as a tree
29 lines • 3.54 kB
JavaScript
import { Injectable } from '@angular/core';
import { NodeDraggableEvent } from './draggable.events';
import { Subject } from 'rxjs';
import * as i0 from "@angular/core";
export class NodeDraggableService {
draggableNodeEvents$ = new Subject();
capturedNode;
fireNodeDragged(captured, target) {
if (!captured.tree || captured.tree.isStatic()) {
return;
}
this.draggableNodeEvents$.next(new NodeDraggableEvent(captured, target));
}
captureNode(node) {
this.capturedNode = node;
}
getCapturedNode() {
return this.capturedNode;
}
releaseCapturedNode() {
this.capturedNode = null;
}
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NodeDraggableService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NodeDraggableService });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NodeDraggableService, decorators: [{
type: Injectable
}] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1kcmFnZ2FibGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kcmFnZ2FibGUvbm9kZS1kcmFnZ2FibGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBRy9CLE1BQU0sT0FBTyxvQkFBb0I7SUFDeEIsb0JBQW9CLEdBQWdDLElBQUksT0FBTyxFQUFzQixDQUFDO0lBRXJGLFlBQVksQ0FBZTtJQUU1QixlQUFlLENBQUMsUUFBc0IsRUFBRSxNQUFrQjtRQUMvRCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQzlDLE9BQU87U0FDUjtRQUVELElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBRU0sV0FBVyxDQUFDLElBQWtCO1FBQ25DLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO0lBQzNCLENBQUM7SUFFTSxlQUFlO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzQixDQUFDO0lBRU0sbUJBQW1CO1FBQ3hCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO0lBQzNCLENBQUM7d0dBdkJVLG9CQUFvQjs0R0FBcEIsb0JBQW9COzs0RkFBcEIsb0JBQW9CO2tCQURoQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWxlbWVudFJlZiwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2FwdHVyZWROb2RlIH0gZnJvbSAnLi9jYXB0dXJlZC1ub2RlJztcbmltcG9ydCB7IE5vZGVEcmFnZ2FibGVFdmVudCB9IGZyb20gJy4vZHJhZ2dhYmxlLmV2ZW50cyc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBOb2RlRHJhZ2dhYmxlU2VydmljZSB7XG4gIHB1YmxpYyBkcmFnZ2FibGVOb2RlRXZlbnRzJDogU3ViamVjdDxOb2RlRHJhZ2dhYmxlRXZlbnQ+ID0gbmV3IFN1YmplY3Q8Tm9kZURyYWdnYWJsZUV2ZW50PigpO1xuXG4gIHByaXZhdGUgY2FwdHVyZWROb2RlOiBDYXB0dXJlZE5vZGU7XG5cbiAgcHVibGljIGZpcmVOb2RlRHJhZ2dlZChjYXB0dXJlZDogQ2FwdHVyZWROb2RlLCB0YXJnZXQ6IEVsZW1lbnRSZWYpOiB2b2lkIHtcbiAgICBpZiAoIWNhcHR1cmVkLnRyZWUgfHwgY2FwdHVyZWQudHJlZS5pc1N0YXRpYygpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5kcmFnZ2FibGVOb2RlRXZlbnRzJC5uZXh0KG5ldyBOb2RlRHJhZ2dhYmxlRXZlbnQoY2FwdHVyZWQsIHRhcmdldCkpO1xuICB9XG5cbiAgcHVibGljIGNhcHR1cmVOb2RlKG5vZGU6IENhcHR1cmVkTm9kZSk6IHZvaWQge1xuICAgIHRoaXMuY2FwdHVyZWROb2RlID0gbm9kZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDYXB0dXJlZE5vZGUoKTogQ2FwdHVyZWROb2RlIHtcbiAgICByZXR1cm4gdGhpcy5jYXB0dXJlZE5vZGU7XG4gIH1cblxuICBwdWJsaWMgcmVsZWFzZUNhcHR1cmVkTm9kZSgpOiB2b2lkIHtcbiAgICB0aGlzLmNhcHR1cmVkTm9kZSA9IG51bGw7XG4gIH1cbn1cbiJdfQ==