/* * @Author: your name * @Date: 2022-04-11 15:08:36 * @Description: 类型声明文件 * @FilePath: /zl-large-screen/src/type/largeScreenLayout.ts */ import React from 'react'; import { IContent, IContextMenus, IBoardTitleIcon, IBoardZoomListItem, IMainBackgroundStyle, IOperationMenus } from './LargeScreenBoard'; import { ISidebarList } from './LargeScreenSidebar'; import { ILargeScreenElementState, IElementMenusItem, ISubListItem, ICardListITem } from './LargeScreenElement'; import { ISidebarDetail, ICardStyle } from './LargeScreenComponent'; import { ISettingDataContent } from './LargeScreenSetting'; import { IIconList, IGISChildren } from './largeScreenLayer'; import { IPageList, IPageMenu } from './LargeScreenPage'; import { ICockpitList } from '../components/Unit/CockpitList/index'; export interface ILargeScreenLayoutProps { sidebarList?: ISidebarList[]; sidebarEvent?: Function; clickControlBtn?: Function; sidebarDetail?: ISidebarDetail[]; sidebarDetailEvent?: Function; cardStyle?: ICardStyle; pageList?: IPageList[]; uiList?: IPageList[]; pageEvent?: Function; pageListEvent?: Function; pageMenu?: IPageMenu[]; layerList: IContent[]; elementList: ILargeScreenElementState; contextMenus: IContextMenus[]; leftIcons: IBoardTitleIcon[]; rightIcons: IBoardTitleIcon[]; operationMenus: IOperationMenus; zoomList: IBoardZoomListItem[]; guidesData: number[]; boardEvent: (type: string, props: object) => void; settingData: ISettingDataContent; changeSettingData: Function; changeCollapse: Function; collapseActiveKey: string[] | string | number[] | number; collapseDefaultActiveKey: string[] | string | number[] | number; levelButtons: IIconList[]; layerListEvent: Function; groupMenus: IContextMenus[]; elementEvent?: (type: string, props: object) => void; mainBackgroundStyle?: IMainBackgroundStyle; pageBackgroundStyle?: IMainBackgroundStyle; uiBackgroundStyle?: IMainBackgroundStyle; allLoading?: IAllLoading[]; theme?: string; isScreening?: boolean; backgroundSize?: IBackgroundSize; scenes?: ITree[]; sceneSelectId?: string[]; sceneExpandIds?: string[]; sceneId?: string; scenesEvent?: (type: string, props?: any) => void; uiStateOn?: boolean; fitBoard?: number; uiLayerList: IContent[]; scenceModelSrc?:string; pointEvent?:string; qiyong3D?:boolean; layerType?:string; layer3DList: IContent[]; ZLG: new (data: IZLG) => any; GISChildren: IGISChildren[]; Line: Function; Polygon: Function; add3DType: string; add3DTypeList: object; layerExpandIds: string[]; layerDateTime?: string; fristSelectedElement?: string; hoverElement?: string; cockpitList?: ICockpitList; PointLayer: Function; PopupLayer: Function; Popup?: Function; contextMenuId?: string; } export interface ILargeScreenLayoutState { layoutOptsOrder: string[]; sidebarList: ISidebarList[]; sidebarEvent: Function; clickControlBtn?: Function; sidebarDetail: ISidebarDetail[]; sidebarDetailEvent?: Function; cardStyle?: ICardStyle; pageList?: IPageList[]; uiList?: IPageList[]; pageEvent?: Function; pageListEvent?: Function; pageMenu?: IPageMenu[]; comListOpts: ILayoutOpt[]; layerList: IContent[]; elementList: ILargeScreenElementState; contextMenus: IContextMenus[]; leftIcons: IBoardTitleIcon[]; rightIcons: IBoardTitleIcon[]; zoomList: IBoardZoomListItem[]; boardEvent: (type: string, props: object) => void; settingData: ISettingDataContent; changeSettingData: Function; changeCollapse: Function; collapseDefaultActiveKey: string[] | string | number[] | number; levelButtons: IIconList[]; layerListEvent: Function; groupMenus: IContextMenus[]; elementEvent?: (type: string, props: object) => void; mainBackgroundStyle?: IMainBackgroundStyle; pageBackgroundStyle?: IMainBackgroundStyle; uiBackgroundStyle?: IMainBackgroundStyle; allLoading?: IAllLoading[]; theme?: string; isScreening?: boolean; backgroundSize?: IBackgroundSize; scenes?: ITree[]; sceneSelectId?: string[]; sceneExpandIds?: string[]; sceneId?: string; scenesEvent?: (type: string, props?: any) => void; uiStateOn?: boolean; fitBoard?: number; uiLayerList: IContent[]; scenceModelSrc?:string; pointEvent?:string; qiyong3D?:boolean; layerType?:string; layer3DList: IContent[]; ZLG: new (data: IZLG) => any; GISChildren: IGISChildren[]; Line: Function; Polygon: Function; add3DType: string; add3DTypeList: object; layerExpandIds: string[]; layerDateTime?: string; fristSelectedElement?: string; hoverElement?: string; cockpitList?: ICockpitList; PointLayer?: Function; PopupLayer?: Function; Popup?: Function; contextMenuId?: string; } // 这个地方只是为了渲染 // 如果要合并 或者传参 请在 LargeScreenLayout 进行处理 export interface ILayoutOpt { title: string; width?: number | string; show: boolean; component: string; key: string; minWidth?: number; maxWidth?: number; layerList?: IContent[]; contextMenus?: IContextMenus[]; leftIcons?: IBoardTitleIcon[]; rightIcons?: IBoardTitleIcon[]; zoomList?: IBoardZoomListItem[]; boardEvent?: (type: string, props: object) => void; settingData?: ISettingDataContent; changeSettingData?: Function; changeCollapse?: Function; collapseActiveKey?: string[] | string | number[] | number; collapseDefaultActiveKey?: string[] | string | number[] | number; levelButtons?: IIconList[]; layerListEvent?: Function; groupMenus?: IContextMenus[]; structure?: string[]; menusList?: IElementMenusItem[]; subMenusList?: ISubListItem[]; cardList?: ICardListITem[]; elementEvent?: (type: string, props: object) => void; mainBackgroundStyle?: IMainBackgroundStyle; pageBackgroundStyle?: IMainBackgroundStyle; uiBackgroundStyle?: IMainBackgroundStyle; sidebarList?: ISidebarList[]; sidebarEvent: Function; sidebarDetail: ISidebarDetail[]; cardStyle?: ICardStyle; pageList?: IPageList[]; uiList?: IPageList[]; pageMenu?: IPageMenu[]; pageEvent?: Function; sidebarDetailEvent?: Function; clickControlBtn?: Function; allLoading?: IAllLoading[]; backgroundSize?: IBackgroundSize; theme?: string; isScreening?: boolean; scenes?: ITree[]; sceneSelectId?: string[]; sceneExpandIds?: string[]; sceneId?: string; scenesEvent?: (type: string, props?: any) => void; uiStateOn?: boolean; fitBoard?: number; uiLayerList: IContent[]; layer3DList: IContent[]; GISChildren: IGISChildren[]; add3DType: string; add3DTypeList: object; layerExpandIds: string[]; fristSelectedElement?: string; hoverElement?: string; cockpitList?: ICockpitList; PointLayer?: Function; PopupLayer?: Function; Popup?: Function; contextMenuId?: string; } export interface IAllLoading { loading?: boolean; cardLoading?: boolean; [key: string]: boolean | string; } export interface IBackgroundSize { width: number; height: number; } export interface ITree { title: string; key: string; selectable?: boolean; children?: ITree[]; } export interface IZLG { dom: HTMLElement | string; map: IMap; } export interface IMap { type?: string; //是否'leaflet' urlTemplate?: string; //leaflet加载地图类型 style: string; // 地图样式 zoom?: number; // 缩放级别 center?: number[]; // 中心点 pitch?: number; // 俯仰角 minZoom?: number; // 最小缩放级别 maxZoom?: number; // 最大缩放级别 pitchWithRotate?: boolean; // 是否开启旋转 token?: string; securityKey?: string; }