@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.
32 lines • 6.47 kB
JavaScript
import { __decorate } from "tslib";
import { inject, Injectable } from '@angular/core';
import { GetElementRoundedRectRequest } from './get-element-rounded-rect-request';
import { FExecutionRegister } from '@foblex/mediator';
import { BrowserService } from '@foblex/platform';
import { RoundedRect, RectExtensions } from '@foblex/2d';
import * as i0 from "@angular/core";
let GetElementRoundedRectExecution = class GetElementRoundedRectExecution {
_fBrowser = inject(BrowserService);
handle(request) {
return this._getRoundedRect(RectExtensions.fromElement(request.element), request.element, this._getComputedStyle(request.element));
}
_getRoundedRect(rect, element, styles) {
return new RoundedRect(rect.x, rect.y, rect.width, rect.height, this._toPixels(styles.borderTopLeftRadius, element, styles.fontSize), this._toPixels(styles.borderTopRightRadius, element, styles.fontSize), this._toPixels(styles.borderBottomRightRadius, element, styles.fontSize), this._toPixels(styles.borderBottomLeftRadius, element, styles.fontSize));
}
_getComputedStyle(element) {
return this._fBrowser.window.getComputedStyle(element);
}
_toPixels(value, element, fontSize) {
return this._fBrowser.toPixels(value, element.clientWidth, element.clientHeight, fontSize) || 0;
}
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GetElementRoundedRectExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GetElementRoundedRectExecution });
};
GetElementRoundedRectExecution = __decorate([
FExecutionRegister(GetElementRoundedRectRequest)
], GetElementRoundedRectExecution);
export { GetElementRoundedRectExecution };
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GetElementRoundedRectExecution, decorators: [{
type: Injectable
}] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWVsZW1lbnQtcm91bmRlZC1yZWN0LmV4ZWN1dGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZG9tYWluL2dldC1lbGVtZW50LXJvdW5kZWQtcmVjdC9nZXQtZWxlbWVudC1yb3VuZGVkLXJlY3QuZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNsRixPQUFPLEVBQUUsa0JBQWtCLEVBQWMsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQVMsTUFBTSxZQUFZLENBQUM7O0FBSXpELElBQU0sOEJBQThCLEdBQXBDLE1BQU0sOEJBQThCO0lBRWpDLFNBQVMsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7SUFFcEMsTUFBTSxDQUFDLE9BQXFDO1FBQ2pELE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FDekIsY0FBYyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsT0FBTyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUN0RyxDQUFDO0lBQ0osQ0FBQztJQUVPLGVBQWUsQ0FBQyxJQUFXLEVBQUUsT0FBaUMsRUFBRSxNQUEyQjtRQUNqRyxPQUFPLElBQUksV0FBVyxDQUNwQixJQUFJLENBQUMsQ0FBQyxFQUNOLElBQUksQ0FBQyxDQUFDLEVBQ04sSUFBSSxDQUFDLEtBQUssRUFDVixJQUFJLENBQUMsTUFBTSxFQUNYLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLG1CQUFtQixFQUFFLE9BQU8sRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQ3BFLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLG9CQUFvQixFQUFFLE9BQU8sRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQ3JFLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLHVCQUF1QixFQUFFLE9BQU8sRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQ3hFLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLHNCQUFzQixFQUFFLE9BQU8sRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQ3hFLENBQUM7SUFDSixDQUFDO0lBRU8saUJBQWlCLENBQUMsT0FBaUM7UUFDekQsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRU8sU0FBUyxDQUFDLEtBQWEsRUFBRSxPQUFpQyxFQUFFLFFBQWdCO1FBQ2xGLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLFlBQVksRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDakcsQ0FBQzt3R0E3QlUsOEJBQThCOzRHQUE5Qiw4QkFBOEI7O0FBQTlCLDhCQUE4QjtJQUQxQyxrQkFBa0IsQ0FBQyw0QkFBNEIsQ0FBQztHQUNwQyw4QkFBOEIsQ0E4QjFDOzs0RkE5QlksOEJBQThCO2tCQUYxQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBHZXRFbGVtZW50Um91bmRlZFJlY3RSZXF1ZXN0IH0gZnJvbSAnLi9nZXQtZWxlbWVudC1yb3VuZGVkLXJlY3QtcmVxdWVzdCc7XG5pbXBvcnQgeyBGRXhlY3V0aW9uUmVnaXN0ZXIsIElFeGVjdXRpb24gfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7IEJyb3dzZXJTZXJ2aWNlIH0gZnJvbSAnQGZvYmxleC9wbGF0Zm9ybSc7XG5pbXBvcnQgeyBSb3VuZGVkUmVjdCwgUmVjdEV4dGVuc2lvbnMsIElSZWN0IH0gZnJvbSAnQGZvYmxleC8yZCc7XG5cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoR2V0RWxlbWVudFJvdW5kZWRSZWN0UmVxdWVzdClcbmV4cG9ydCBjbGFzcyBHZXRFbGVtZW50Um91bmRlZFJlY3RFeGVjdXRpb24gaW1wbGVtZW50cyBJRXhlY3V0aW9uPEdldEVsZW1lbnRSb3VuZGVkUmVjdFJlcXVlc3QsIFJvdW5kZWRSZWN0PiB7XG5cbiAgcHJpdmF0ZSBfZkJyb3dzZXIgPSBpbmplY3QoQnJvd3NlclNlcnZpY2UpO1xuXG4gIHB1YmxpYyBoYW5kbGUocmVxdWVzdDogR2V0RWxlbWVudFJvdW5kZWRSZWN0UmVxdWVzdCk6IFJvdW5kZWRSZWN0IHtcbiAgICByZXR1cm4gdGhpcy5fZ2V0Um91bmRlZFJlY3QoXG4gICAgICBSZWN0RXh0ZW5zaW9ucy5mcm9tRWxlbWVudChyZXF1ZXN0LmVsZW1lbnQpLCByZXF1ZXN0LmVsZW1lbnQsIHRoaXMuX2dldENvbXB1dGVkU3R5bGUocmVxdWVzdC5lbGVtZW50KVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9nZXRSb3VuZGVkUmVjdChyZWN0OiBJUmVjdCwgZWxlbWVudDogSFRNTEVsZW1lbnQgfCBTVkdFbGVtZW50LCBzdHlsZXM6IENTU1N0eWxlRGVjbGFyYXRpb24pOiBSb3VuZGVkUmVjdCB7XG4gICAgcmV0dXJuIG5ldyBSb3VuZGVkUmVjdChcbiAgICAgIHJlY3QueCxcbiAgICAgIHJlY3QueSxcbiAgICAgIHJlY3Qud2lkdGgsXG4gICAgICByZWN0LmhlaWdodCxcbiAgICAgIHRoaXMuX3RvUGl4ZWxzKHN0eWxlcy5ib3JkZXJUb3BMZWZ0UmFkaXVzLCBlbGVtZW50LCBzdHlsZXMuZm9udFNpemUpLFxuICAgICAgdGhpcy5fdG9QaXhlbHMoc3R5bGVzLmJvcmRlclRvcFJpZ2h0UmFkaXVzLCBlbGVtZW50LCBzdHlsZXMuZm9udFNpemUpLFxuICAgICAgdGhpcy5fdG9QaXhlbHMoc3R5bGVzLmJvcmRlckJvdHRvbVJpZ2h0UmFkaXVzLCBlbGVtZW50LCBzdHlsZXMuZm9udFNpemUpLFxuICAgICAgdGhpcy5fdG9QaXhlbHMoc3R5bGVzLmJvcmRlckJvdHRvbUxlZnRSYWRpdXMsIGVsZW1lbnQsIHN0eWxlcy5mb250U2l6ZSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50OiBIVE1MRWxlbWVudCB8IFNWR0VsZW1lbnQpOiBDU1NTdHlsZURlY2xhcmF0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5fZkJyb3dzZXIud2luZG93LmdldENvbXB1dGVkU3R5bGUoZWxlbWVudCk7XG4gIH1cblxuICBwcml2YXRlIF90b1BpeGVscyh2YWx1ZTogc3RyaW5nLCBlbGVtZW50OiBIVE1MRWxlbWVudCB8IFNWR0VsZW1lbnQsIGZvbnRTaXplOiBzdHJpbmcpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9mQnJvd3Nlci50b1BpeGVscyh2YWx1ZSwgZWxlbWVudC5jbGllbnRXaWR0aCwgZWxlbWVudC5jbGllbnRIZWlnaHQsIGZvbnRTaXplKSB8fCAwXG4gIH1cbn1cbiJdfQ==