@plait/mind
Version:
Implementation of the core logic of the mind map plugin.
35 lines (34 loc) • 1.65 kB
TypeScript
import { PlaitPluginElementContext, OnContextChanged } from '@plait/core';
import { RoughSVG } from 'roughjs/bin/svg';
import { MindElement } from './interfaces/element';
import { MindNode } from './interfaces/node';
import { NodeEmojisGenerator } from './generators/node-emojis.generator';
import { PlaitMindBoard } from './plugins/with-mind.board';
import { NodeActiveGenerator } from './generators/node-active.generator';
import { CommonElementFlavour, ImageGenerator, TextManage } from '@plait/common';
import { NodeShapeGenerator } from './generators/node-shape.generator';
import { ImageData } from './interfaces';
import { NodeMoreGenerator } from './generators/node-more.generator';
export declare class MindNodeComponent extends CommonElementFlavour<MindElement, PlaitMindBoard> implements OnContextChanged<MindElement, PlaitMindBoard> {
roughSVG: RoughSVG;
node: MindNode;
index: number;
shapeG: SVGGElement | null;
linkLineG?: SVGGElement;
nodeEmojisGenerator: NodeEmojisGenerator;
nodeShapeGenerator: NodeShapeGenerator;
imageGenerator: ImageGenerator<MindElement<ImageData>>;
activeGenerator: NodeActiveGenerator;
nodeMoreGenerator: NodeMoreGenerator;
get textManage(): TextManage;
constructor();
initializeGenerator(): void;
initialize(): void;
onContextChanged(value: PlaitPluginElementContext<MindElement, PlaitMindBoard>, previous: PlaitPluginElementContext<MindElement, PlaitMindBoard>): void;
drawEmojis(): void;
drawLink(): void;
drawTopic(): void;
updateTopic(): void;
trackBy: (index: number, node: MindNode) => string;
destroy(): void;
}