UNPKG

@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
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 {};