UNPKG

js2flowchart

Version:

> Why? While I've been working on [Under-the-hood-ReactJS](https://github.com/Bogdan-Lyashenko/Under-the-hood-ReactJS) I spent enormous amount of time on creating schemes. Each change in code or flowchart affects all entire scheme instantly, forcing you t

45 lines (37 loc) 1.34 kB
import { getRoundedRectangle, getCircle } from 'shared/utils/svgPrimitives'; import { assignState } from 'shared/utils/composition'; import { setupCompleteState, setupBasicBehaviour, setupInitialSelectors, delegateInit } from './BaseShape'; const ENTITY_FIELD_NAME = 'Rectangle'; const setupRectangleBehavior = state => ({ print(config = {}) { const theme = state.theme, dotTheme = theme.dot; const { x, y } = state.position, { w, h } = state.dimensions, node = state.node; return ` <g> ${getRoundedRectangle(x, y, w, h, theme)} ${this.printName()} ${node.chain ? getCircle( x + dotTheme.offset, y + h - dotTheme.offset, dotTheme.radius, dotTheme ) : ''} ${this.printDebugInfo(config)} </g>`; } }); export const Rectangle = initialState => { const state = setupCompleteState(initialState); return assignState(state, [setupInitialSelectors, setupBasicBehaviour, setupRectangleBehavior]); }; export default delegateInit(Rectangle, ENTITY_FIELD_NAME);