import { defaultValue } from '../../../util'
import { Zondy } from '../../../base'
import { LayerType, LoadStatus } from '../../../base/enum'
import OverlayLayer from './OverlayLayer'
/**
* Echarts图层
* @class EchartsLayer
* @moduleEX LayerModule
* @extends OverlayLayer
* @param {Object} options 构造参数
* @param {Object} [options.echartsOptions] echarts的构造参数
*/
class EchartsLayer extends OverlayLayer {
constructor(options) {
super(options)
options = defaultValue(options, {})
/**
* echarts的构造参数
* @member {Object} EchartsLayer.prototype.echartsOptions
*/
this.echartsOptions = defaultValue(options.echartsOptions, {})
/**
* 图层类型
* @member {String} EchartsLayer.prototype.type
*/
this.type = LayerType.echarts
}
/**
* 从igs获取图层信息
*/
load() {
return new Promise((resolve) => {
this.loadStatus = LoadStatus.loaded
this.loaded = true
resolve(this)
})
}
/**
* 将图层转为json对象
* @return {Object} josn对象
* */
toJSON() {
const json = super.toJSON()
json.echartsOptions = this.echartsOptions
return JSON.parse(JSON.stringify(json))
}
/**
* 克隆并返回一个新图层
* @return {EchartsLayer} 新的图层对象
* */
clone() {
return new EchartsLayer(this.toJSON())
}
}
Zondy.Layer.EchartsLayer = EchartsLayer
export default EchartsLayer