ts-mind
Version:
A web-mind lib write in typescript.Sound apis and friendly plug-in mechanism in this lib.
73 lines (72 loc) • 2.6 kB
TypeScript
import TSMind from "..";
import layout_provider from "./layout";
import { TSM_node } from "../node";
interface ITSMViewProvOptions {
[k: string]: any;
}
declare type ITSMViewEle<T = HTMLElement> = T | null;
export default class view_provider {
private tsm;
opts: ITSMViewProvOptions;
layout: layout_provider;
container: HTMLElement;
e_panel: HTMLElement;
e_nodes: HTMLElement;
e_canvas: HTMLCanvasElement;
e_editor: HTMLInputElement;
canvas_ctx: CanvasRenderingContext2D;
size: {
w: number;
h: number;
};
selected_node: ITSMViewEle<TSM_node>;
editing_node: ITSMViewEle<TSM_node>;
private actualZoom;
private zoomStep;
private minZoom;
private maxZoom;
constructor(tsm: TSMind, options: ITSMViewProvOptions);
add_event: (obj: {}, event_name: ITSMEventType, event_handle: ITSMAnyCall<any[], any>) => void;
get_binded_nodeid(element: HTMLElement): null | string;
is_expander: (element: HTMLElement) => boolean;
reset: () => void;
reset_theme: () => void;
reset_custom_style: () => void;
load: () => void;
expand_size: () => void;
init_nodes_size: (node: TSM_node) => void;
init_nodes: () => void;
add_node: (node: TSM_node) => void;
create_node_element: (node: TSM_node, parent_node: HTMLElement | DocumentFragment) => void;
remove_node: (node: TSM_node) => void;
update_node: (node: TSM_node) => void;
select_node: (node: TSM_node | null) => void;
select_clear: () => void;
get_editing_node: () => TSM_node | null;
is_editing: () => boolean;
edit_node_begin: (node: TSM_node) => void;
edit_node_end: () => void;
get_view_offset: () => {
x: number;
y: number;
};
resize: () => void;
_show: () => void;
zoomIn: () => boolean;
zoomOut: () => boolean;
setZoom: (zoom: number) => boolean;
_center_root: () => void;
show: (keep_center: boolean) => void;
relayout: () => void;
save_location: (node: TSM_node) => void;
restore_location: (node: TSM_node) => void;
clear_nodes: () => void;
show_nodes: () => void;
reset_node_custom_style: (node: TSM_node) => void;
_reset_node_custom_style: (node_element: HTMLElement, node_data: any) => void;
clear_node_custom_style: (node: TSM_node) => void;
clear_lines: (canvas_ctx?: CanvasRenderingContext2D) => void;
show_lines: (canvas_ctx?: CanvasRenderingContext2D) => void;
draw_line: (pin: ITSMPotions, pout: ITSMPotions, offset: ITSMPotions, canvas_ctx?: CanvasRenderingContext2D) => void;
}
export {};