@zxh19890103/wik
Version:
The world-class JavaScript library for building large-scale digital warehouse both on 2D and 3D.
127 lines (126 loc) • 3.03 kB
TypeScript
import L from 'leaflet';
import { WikMap } from '../basic/Map.class';
type PaneGet2Order = 'cover' | 'cover2' | 'cover3' | 'min' | 'max' | number;
export type WikPaneType = 'svg' | 'canvas' | 'overlay';
/**
* 一个 pane 只放一个 renderer
*/
export declare class WikPane {
/**
* L.Canvas Or L.SVG
*/
readonly renderer: any;
readonly type: WikPaneType;
readonly name: string;
readonly fullname: string;
readonly container: HTMLDivElement;
/**
* 是否 canvas 渲染
*/
readonly canvas: boolean;
/**
* 是否代理层
*/
readonly proxy: boolean;
/**
* 排序
*/
order: number;
/**
*是否显示
*/
visible: boolean;
/**
* 绝对 z 值
*/
z: number;
/**
* 序号
*/
i: number;
/**
* 挂载的 layer 的个数
*/
used: number;
/**
* true 表示会放到图层面板
*
* false 表示只是临时生成的 renderer,用完可能会删除
*/
configurable: boolean;
/**
* parent
*/
mgr: PaneManager;
/**
* 禁止响应
*/
disabled: boolean;
constructor(name: string, type: WikPaneType, container: HTMLDivElement, renderer?: L.Renderer);
_remove(): void;
remove(): void;
get zIndex(): number;
}
/**
* @event order/add/remove
*/
export declare class PaneManager extends L.Evented {
private styleElement;
private panes;
private panesDict;
private canvases;
/**
* proxy pane's renderer.
*/
private proxy;
/**
* 全部层的父级节点
*/
container: HTMLDivElement;
/**
* 禁止响应
*/
disabled: boolean;
private readonly scene;
constructor(map: WikMap);
private _scheduled;
requestRender(): void;
renderStyle(): void;
createStyle(): void;
setOrder(name: string, order: PaneGet2Order): void;
_setOrder(pane: WikPane, order: PaneGet2Order): void;
setTop(name: string): void;
setVisible(name: string, visible: boolean): void;
toggleVisible(name: string): void;
_get(name: string): WikPane;
has(name: string): boolean;
/**
* 排除 used 为 0 的项目
*/
getPanes(): WikPane[];
/**
* get 可以帮助你创建并加入管理
*/
get(name: string, type?: WikPaneType, order?: number): WikPane;
/**
* get2 创建不受管理的 pane
*/
get2(type: WikPaneType, order?: PaneGet2Order, name?: string): WikPane;
add(pane: WikPane): void;
remove(name: string | WikPane): void;
/**
* @param name without "Pane" suffix
* @param type svg or canvas
* @param z default order must
* @returns
*/
private create;
interact(): void;
/**
* 存在的问题: 货架遮挡在点之上,move 事件还是会对被遮挡的点起作用,因为,move 此时不会对货架产生 hover 事件
*/
private onmousemove;
private onclick;
private onmouseout;
}
export {};