mind-elixir
Version:
Mind elixir is a free open source mind map core.
114 lines (113 loc) • 7.49 kB
TypeScript
import './index.less';
import { LEFT, RIGHT, SIDE, DARK_THEME, THEME } from './const';
import type { MindElixirData, MindElixirInstance, MindElixirMethods, Options } from './types/index';
import type { Topic } from './docs';
declare function MindElixir(this: MindElixirInstance, { el, direction, locale, draggable, editable, contextMenu, toolBar, keypress, mouseSelectionButton, selectionContainer, before, newTopicName, allowUndo, generateMainBranch, generateSubBranch, overflowHidden, theme, alignment, scaleSensitivity, }: Options): void;
declare namespace MindElixir {
export var prototype: {
init(this: MindElixirInstance, data: MindElixirData): Error | undefined;
destroy(this: Partial<MindElixirInstance>): void;
exportSvg: (this: MindElixirInstance, noForeignObject?: boolean, injectCss?: string) => Blob;
exportPng: (this: MindElixirInstance, noForeignObject?: boolean, injectCss?: string) => Promise<Blob | null>;
createSummary: (this: MindElixirInstance) => void;
createSummaryFrom: (this: MindElixirInstance, summary: Omit<import("./summary").Summary, "id">) => void;
removeSummary: (this: MindElixirInstance, id: string) => void;
selectSummary: (this: MindElixirInstance, el: import("./summary").SummarySvgGroup) => void;
unselectSummary: (this: MindElixirInstance) => void;
renderSummary: (this: MindElixirInstance) => void;
editSummary: (this: MindElixirInstance, el: import("./summary").SummarySvgGroup) => void;
renderArrow(this: MindElixirInstance): void;
editArrowLabel(this: MindElixirInstance, el: import("./docs").CustomSvg): void;
tidyArrow(this: MindElixirInstance): void;
createArrow: (this: MindElixirInstance, from: Topic, to: Topic, options?: import("./arrow").ArrowOptions) => void;
createArrowFrom: (this: MindElixirInstance, arrow: Omit<import("./arrow").Arrow, "id">) => void;
removeArrow: (this: MindElixirInstance, linkSvg?: import("./docs").CustomSvg) => void;
selectArrow: (this: MindElixirInstance, link: import("./docs").CustomSvg) => void;
unselectArrow: (this: MindElixirInstance) => void;
rmSubline: (this: MindElixirInstance, tpc: Topic) => Promise<void>;
reshapeNode: (this: MindElixirInstance, tpc: Topic, patchData: Partial<import("./docs").NodeObj>) => Promise<void>;
insertSibling: (this: MindElixirInstance, type: "before" | "after", el?: Topic | undefined, node?: import("./docs").NodeObj | undefined) => Promise<void>;
insertParent: (this: MindElixirInstance, el?: Topic | undefined, node?: import("./docs").NodeObj | undefined) => Promise<void>;
addChild: (this: MindElixirInstance, el?: Topic | undefined, node?: import("./docs").NodeObj | undefined) => Promise<void>;
copyNode: (this: MindElixirInstance, node: Topic, to: Topic) => Promise<void>;
copyNodes: (this: MindElixirInstance, tpcs: Topic[], to: Topic) => Promise<void>;
moveUpNode: (this: MindElixirInstance, el?: Topic | undefined) => Promise<void>;
moveDownNode: (this: MindElixirInstance, el?: Topic | undefined) => Promise<void>;
removeNodes: (this: MindElixirInstance, tpcs: Topic[]) => Promise<void>;
moveNodeIn: (this: MindElixirInstance, from: Topic[], to: Topic) => Promise<void>;
moveNodeBefore: (this: MindElixirInstance, from: Topic[], to: Topic) => Promise<void>;
moveNodeAfter: (this: MindElixirInstance, from: Topic[], to: Topic) => Promise<void>;
beginEdit: (this: MindElixirInstance, el?: Topic | undefined) => Promise<void>;
setNodeTopic: (this: MindElixirInstance, el: Topic, topic: string) => Promise<void>;
scrollIntoView: (this: MindElixirInstance, el: HTMLElement) => void;
selectNode: (this: MindElixirInstance, tpc: Topic, isNewNode?: boolean, e?: MouseEvent) => void;
selectNodes: (this: MindElixirInstance, tpc: Topic[]) => void;
unselectNodes: (this: MindElixirInstance, tpc: Topic[]) => void;
clearSelection: (this: MindElixirInstance) => void;
getDataString: (this: MindElixirInstance) => string;
getData: (this: MindElixirInstance) => MindElixirData;
enableEdit: (this: MindElixirInstance) => void;
disableEdit: (this: MindElixirInstance) => void;
scale: (this: MindElixirInstance, scaleVal: number, offset?: {
x: number;
y: number;
}) => void;
scaleFit: (this: MindElixirInstance) => void;
move: (this: MindElixirInstance, dx: number, dy: number) => void;
toCenter: (this: MindElixirInstance) => void;
install: (this: MindElixirInstance, plugin: (instance: MindElixirInstance) => void) => void;
focusNode: (this: MindElixirInstance, el: Topic) => void;
cancelFocus: (this: MindElixirInstance) => void;
initLeft: (this: MindElixirInstance) => void;
initRight: (this: MindElixirInstance) => void;
initSide: (this: MindElixirInstance) => void;
setLocale: (this: MindElixirInstance, locale: import("./i18n").Locale) => void;
expandNode: (this: MindElixirInstance, el: Topic, isExpand?: boolean) => void;
expandNodeAll: (this: MindElixirInstance, el: Topic, isExpand?: boolean) => void;
refresh: (this: MindElixirInstance, data?: MindElixirData) => void;
getObjById: (id: string, data: import("./docs").NodeObj) => import("./docs").NodeObj | null;
generateNewObj: (this: MindElixirInstance) => import("./docs").NodeObjExport;
layout: (this: MindElixirInstance) => void;
linkDiv: (this: MindElixirInstance, mainNode?: import("./docs").Wrapper) => void;
editTopic: (this: MindElixirInstance, el: Topic) => void;
createWrapper: (this: MindElixirInstance, nodeObj: import("./docs").NodeObj, omitChildren?: boolean) => {
grp: import("./docs").Wrapper;
top: import("./docs").Parent;
tpc: Topic;
};
createParent: (this: MindElixirInstance, nodeObj: import("./docs").NodeObj) => {
p: import("./docs").Parent;
tpc: Topic;
};
createChildren: (this: MindElixirInstance, wrappers: import("./docs").Wrapper[]) => import("./docs").Children;
createTopic: (this: MindElixirInstance, nodeObj: import("./docs").NodeObj) => Topic;
findEle: (this: MindElixirInstance, id: string, el?: HTMLElement) => Topic;
changeTheme: (this: MindElixirInstance, theme: import("./docs").Theme, shouldRefresh?: boolean) => void;
};
export var LEFT: number;
export var RIGHT: number;
export var SIDE: number;
export var THEME: import("./docs").Theme;
export var DARK_THEME: import("./docs").Theme;
export var version: any;
export var E: (this: MindElixirInstance, id: string, el?: HTMLElement) => Topic;
var _a: (topic: string) => MindElixirData;
export { _a as new };
}
export interface MindElixirCtor {
new (options: Options): MindElixirInstance;
E: (id: string, el?: HTMLElement) => Topic;
new: typeof MindElixir.new;
version: string;
LEFT: typeof LEFT;
RIGHT: typeof RIGHT;
SIDE: typeof SIDE;
THEME: typeof THEME;
DARK_THEME: typeof DARK_THEME;
prototype: MindElixirMethods;
}
declare const _default: MindElixirCtor;
export default _default;
export type * from './utils/pubsub';
export type * from './types/index';
export type * from './types/dom';