@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.
38 lines • 4.83 kB
JavaScript
import { LineElement } from './line-element';
export class LineService {
hostElement;
fHorizontalLine;
fVerticalLine;
constructor(fBrowser, hostElement) {
this.hostElement = hostElement;
this.fHorizontalLine = new LineElement(fBrowser, this.hostElement);
this.fVerticalLine = new LineElement(fBrowser, this.hostElement);
this.fHorizontalLine.hide();
this.fVerticalLine.hide();
}
drawVerticalLine(x, size, transform) {
this.fVerticalLine.show();
this.fVerticalLine.draw({
left: x * transform.scale + transform.position.x + transform.scaledPosition.x,
top: 0,
width: 1,
height: size.height
});
}
drawHorizontalLine(y, size, transform) {
this.fHorizontalLine.show();
this.fHorizontalLine.draw({
left: 0,
top: y * transform.scale + transform.position.y + transform.scaledPosition.y,
width: size.width,
height: 1
});
}
hideVerticalLine() {
this.fVerticalLine.hide();
}
hideHorizontalLine() {
this.fHorizontalLine.hide();
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS1zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWxpbmUtYWxpZ25tZW50L2RvbWFpbi9saW5lLXNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRzdDLE1BQU0sT0FBTyxXQUFXO0lBS3dCO0lBSHRDLGVBQWUsQ0FBYztJQUM3QixhQUFhLENBQWM7SUFFbkMsWUFBWSxRQUF3QixFQUFVLFdBQXdCO1FBQXhCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3BFLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxXQUFXLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNuRSxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksV0FBVyxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDakUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxDQUFTLEVBQUUsSUFBVyxFQUFFLFNBQTBCO1FBQ3hFLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUM7WUFDdEIsSUFBSSxFQUFFLENBQUMsR0FBRyxTQUFTLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUM3RSxHQUFHLEVBQUUsQ0FBQztZQUNOLEtBQUssRUFBRSxDQUFDO1lBQ1IsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1NBQ3BCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxrQkFBa0IsQ0FBQyxDQUFTLEVBQUUsSUFBVyxFQUFFLFNBQTBCO1FBQzFFLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUM7WUFDeEIsSUFBSSxFQUFFLENBQUM7WUFDUCxHQUFHLEVBQUUsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQzVFLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztZQUNqQixNQUFNLEVBQUUsQ0FBQztTQUNWLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxnQkFBZ0I7UUFDckIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRU0sa0JBQWtCO1FBQ3ZCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDOUIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVNpemUsIElUcmFuc2Zvcm1Nb2RlbCB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgTGluZUVsZW1lbnQgfSBmcm9tICcuL2xpbmUtZWxlbWVudCc7XG5pbXBvcnQgeyBCcm93c2VyU2VydmljZSB9IGZyb20gJ0Bmb2JsZXgvcGxhdGZvcm0nO1xuXG5leHBvcnQgY2xhc3MgTGluZVNlcnZpY2Uge1xuXG4gIHByaXZhdGUgZkhvcml6b250YWxMaW5lOiBMaW5lRWxlbWVudDtcbiAgcHJpdmF0ZSBmVmVydGljYWxMaW5lOiBMaW5lRWxlbWVudDtcblxuICBjb25zdHJ1Y3RvcihmQnJvd3NlcjogQnJvd3NlclNlcnZpY2UsIHByaXZhdGUgaG9zdEVsZW1lbnQ6IEhUTUxFbGVtZW50KSB7XG4gICAgdGhpcy5mSG9yaXpvbnRhbExpbmUgPSBuZXcgTGluZUVsZW1lbnQoZkJyb3dzZXIsIHRoaXMuaG9zdEVsZW1lbnQpO1xuICAgIHRoaXMuZlZlcnRpY2FsTGluZSA9IG5ldyBMaW5lRWxlbWVudChmQnJvd3NlciwgdGhpcy5ob3N0RWxlbWVudCk7XG4gICAgdGhpcy5mSG9yaXpvbnRhbExpbmUuaGlkZSgpO1xuICAgIHRoaXMuZlZlcnRpY2FsTGluZS5oaWRlKCk7XG4gIH1cblxuICBwdWJsaWMgZHJhd1ZlcnRpY2FsTGluZSh4OiBudW1iZXIsIHNpemU6IElTaXplLCB0cmFuc2Zvcm06IElUcmFuc2Zvcm1Nb2RlbCk6IHZvaWQge1xuICAgIHRoaXMuZlZlcnRpY2FsTGluZS5zaG93KCk7XG4gICAgdGhpcy5mVmVydGljYWxMaW5lLmRyYXcoe1xuICAgICAgbGVmdDogeCAqIHRyYW5zZm9ybS5zY2FsZSArIHRyYW5zZm9ybS5wb3NpdGlvbi54ICsgdHJhbnNmb3JtLnNjYWxlZFBvc2l0aW9uLngsXG4gICAgICB0b3A6IDAsXG4gICAgICB3aWR0aDogMSxcbiAgICAgIGhlaWdodDogc2l6ZS5oZWlnaHRcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBkcmF3SG9yaXpvbnRhbExpbmUoeTogbnVtYmVyLCBzaXplOiBJU2l6ZSwgdHJhbnNmb3JtOiBJVHJhbnNmb3JtTW9kZWwpOiB2b2lkIHtcbiAgICB0aGlzLmZIb3Jpem9udGFsTGluZS5zaG93KCk7XG4gICAgdGhpcy5mSG9yaXpvbnRhbExpbmUuZHJhdyh7XG4gICAgICBsZWZ0OiAwLFxuICAgICAgdG9wOiB5ICogdHJhbnNmb3JtLnNjYWxlICsgdHJhbnNmb3JtLnBvc2l0aW9uLnkgKyB0cmFuc2Zvcm0uc2NhbGVkUG9zaXRpb24ueSxcbiAgICAgIHdpZHRoOiBzaXplLndpZHRoLFxuICAgICAgaGVpZ2h0OiAxXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgaGlkZVZlcnRpY2FsTGluZSgpOiB2b2lkIHtcbiAgICB0aGlzLmZWZXJ0aWNhbExpbmUuaGlkZSgpO1xuICB9XG5cbiAgcHVibGljIGhpZGVIb3Jpem9udGFsTGluZSgpOiB2b2lkIHtcbiAgICB0aGlzLmZIb3Jpem9udGFsTGluZS5oaWRlKCk7XG4gIH1cbn1cbiJdfQ==