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.

17 lines 3.94 kB
import { GetIntersections } from '@foblex/2d'; export function floatingBehavior(payload) { return _getIntersectionsLine(_fromRoundedRectIntersections(payload), _toRoundedRectIntersections(payload), payload); } function _fromRoundedRectIntersections(payload) { return GetIntersections.getRoundedRectIntersections(payload.outputRect.gravityCenter, payload.inputRect.gravityCenter, payload.outputRect)[0]; } function _toRoundedRectIntersections(payload) { return GetIntersections.getRoundedRectIntersections(payload.inputRect.gravityCenter, payload.outputRect.gravityCenter, payload.inputRect)[0]; } function _getIntersectionsLine(from, to, payload) { return { point1: from ? from : payload.outputRect.gravityCenter, point2: to ? to : payload.inputRect.gravityCenter }; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxvYXRpbmctYmVoYXZpb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9mLWNvbm5lY3Rpb24vY2FsY3VsYXRlLWNvbm5lY3Rpb24tbGluZS1ieS1iZWhhdmlvci9mbG9hdGluZy1iZWhhdmlvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQWlCLE1BQU0sWUFBWSxDQUFDO0FBSTdELE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxPQUFpRDtJQUNoRixPQUFPLHFCQUFxQixDQUMxQiw2QkFBNkIsQ0FBQyxPQUFPLENBQUMsRUFDdEMsMkJBQTJCLENBQUMsT0FBTyxDQUFDLEVBQ3BDLE9BQU8sQ0FDUixDQUFDO0FBQ0osQ0FBQztBQUVELFNBQVMsNkJBQTZCLENBQUMsT0FBaUQ7SUFDdEYsT0FBTyxnQkFBZ0IsQ0FBQywyQkFBMkIsQ0FDakQsT0FBTyxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDLFNBQVMsQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDLFVBQVUsQ0FDdEYsQ0FBRSxDQUFDLENBQUUsQ0FBQztBQUNULENBQUM7QUFFRCxTQUFTLDJCQUEyQixDQUFDLE9BQWlEO0lBQ3BGLE9BQU8sZ0JBQWdCLENBQUMsMkJBQTJCLENBQ2pELE9BQU8sQ0FBQyxTQUFTLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxTQUFTLENBQ3JGLENBQUUsQ0FBQyxDQUFFLENBQUM7QUFDVCxDQUFDO0FBRUQsU0FBUyxxQkFBcUIsQ0FBQyxJQUFZLEVBQUUsRUFBVSxFQUFFLE9BQWlEO0lBQ3hHLE9BQU87UUFDTCxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsYUFBYTtRQUN0RCxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsYUFBYTtLQUNsRCxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEdldEludGVyc2VjdGlvbnMsIElMaW5lLCBJUG9pbnQgfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7IENhbGN1bGF0ZUNvbm5lY3Rpb25MaW5lQnlCZWhhdmlvclJlcXVlc3QgfSBmcm9tICcuL2NhbGN1bGF0ZS1jb25uZWN0aW9uLWxpbmUtYnktYmVoYXZpb3IucmVxdWVzdCc7XG5pbXBvcnQgeyBjYWxjdWxhdGVQb3NpdGlvbkFmdGVyUm90YXRpb24gfSBmcm9tICcuLi8uLi8uLi9mLWRyYWdnYWJsZS9mLW5vZGUtcm90YXRlL2NhbGN1bGF0ZS1kaWZmZXJlbmNlLWFmdGVyLXJvdGF0aW9uJztcblxuZXhwb3J0IGZ1bmN0aW9uIGZsb2F0aW5nQmVoYXZpb3IocGF5bG9hZDogQ2FsY3VsYXRlQ29ubmVjdGlvbkxpbmVCeUJlaGF2aW9yUmVxdWVzdCk6IElMaW5lIHtcbiAgcmV0dXJuIF9nZXRJbnRlcnNlY3Rpb25zTGluZShcbiAgICBfZnJvbVJvdW5kZWRSZWN0SW50ZXJzZWN0aW9ucyhwYXlsb2FkKSxcbiAgICBfdG9Sb3VuZGVkUmVjdEludGVyc2VjdGlvbnMocGF5bG9hZCksXG4gICAgcGF5bG9hZFxuICApO1xufVxuXG5mdW5jdGlvbiBfZnJvbVJvdW5kZWRSZWN0SW50ZXJzZWN0aW9ucyhwYXlsb2FkOiBDYWxjdWxhdGVDb25uZWN0aW9uTGluZUJ5QmVoYXZpb3JSZXF1ZXN0KSB7XG4gIHJldHVybiBHZXRJbnRlcnNlY3Rpb25zLmdldFJvdW5kZWRSZWN0SW50ZXJzZWN0aW9ucyhcbiAgICBwYXlsb2FkLm91dHB1dFJlY3QuZ3Jhdml0eUNlbnRlciwgcGF5bG9hZC5pbnB1dFJlY3QuZ3Jhdml0eUNlbnRlciwgcGF5bG9hZC5vdXRwdXRSZWN0XG4gIClbIDAgXTtcbn1cblxuZnVuY3Rpb24gX3RvUm91bmRlZFJlY3RJbnRlcnNlY3Rpb25zKHBheWxvYWQ6IENhbGN1bGF0ZUNvbm5lY3Rpb25MaW5lQnlCZWhhdmlvclJlcXVlc3QpIHtcbiAgcmV0dXJuIEdldEludGVyc2VjdGlvbnMuZ2V0Um91bmRlZFJlY3RJbnRlcnNlY3Rpb25zKFxuICAgIHBheWxvYWQuaW5wdXRSZWN0LmdyYXZpdHlDZW50ZXIsIHBheWxvYWQub3V0cHV0UmVjdC5ncmF2aXR5Q2VudGVyLCBwYXlsb2FkLmlucHV0UmVjdFxuICApWyAwIF07XG59XG5cbmZ1bmN0aW9uIF9nZXRJbnRlcnNlY3Rpb25zTGluZShmcm9tOiBJUG9pbnQsIHRvOiBJUG9pbnQsIHBheWxvYWQ6IENhbGN1bGF0ZUNvbm5lY3Rpb25MaW5lQnlCZWhhdmlvclJlcXVlc3QpOiBJTGluZSB7XG4gIHJldHVybiB7XG4gICAgcG9pbnQxOiBmcm9tID8gZnJvbSA6IHBheWxvYWQub3V0cHV0UmVjdC5ncmF2aXR5Q2VudGVyLFxuICAgIHBvaW50MjogdG8gPyB0byA6IHBheWxvYWQuaW5wdXRSZWN0LmdyYXZpdHlDZW50ZXJcbiAgfTtcbn1cbiJdfQ==