import { Zondy } from '../../../base'
import { defaultValue, extend } from '../../../util'
import CAnnInfo from './CAnnInfo'
import CChartLabelFormat from './CChartLabelFormat'
/**
* @class module:专题图服务.CChartThemeRepresentInfo
* @classdesc 统计图符号参数信息
* @description Zondy.Object.Theme.CChartThemeRepresentInfo
* @param {Object} options 属性键值对。
* @param {Object} [options.AnnInfoLabel = new CAnnInfo()] 统计值作为注记的表现信息 {@link Zondy.Object.Theme.CAnnInfo}
* @param {Number} [options.DigitLabel = 0] 统计值小数点位置
* @param {Number} [options.FormatLabel = CChartLabelFormat.Unknown] 统计值类型 {@link Zondy.Object.Theme.CChartLabelFormat}
* @param {Boolean} [options.IsDrawLabel = true] 是否显示统计值
* @param {Number} [options.LineColor = -1] 线颜色值
* @param {Number} [options.MaxLength = 30.00] 统计图标最大长度
* @param {Number} [options.MinRadius = 10.00] 统计图标最小半径
* @param {Number} [options.PieSizeFixFlag = 0] 统计图标大小是否固定
* @param {Number} [options.PieTiltedAngle = 30.00] 统计图标倾斜角度
* @param {Number} [options.PlotRadius = 1.00] 统计图标半径
* @param {Number} [options.ThickPersent = 10.00] 统计图标厚度
* @param {Number} [options.Width = 3.00] 统计图标宽度
*/
const CChartThemeRepresentInfo = function (options) {
options = defaultValue(options, {})
extend(this, options)
/**
* @member Zondy.Object.Theme.CChartThemeRepresentInfo.prototype.AnnInfoLabel
* @type {Object}
* @description 统计值作为注记的表现信息 {@link Zondy.Object.Theme.CAnnInfo}
* @default new CAnnInfo()
*/
this.AnnInfoLabel =
options.AnnInfoLabel !== undefined ? options.AnnInfoLabel : new CAnnInfo()
/**
* @member Zondy.Object.Theme.CChartThemeRepresentInfo.prototype.DigitLabel
* @type {Number}
* @description 统计值小数点位置
* @default 0
*/
this.DigitLabel = options.DigitLabel !== undefined ? options.DigitLabel : 0
/**
* @member Zondy.Object.Theme.CChartThemeRepresentInfo.prototype.FormatLabel
* @type {Number}
* @description 统计值类型 {@link Zondy.Object.Theme.CChartLabelFormat}
* @default CChartLabelFormat.Unknown
*/
this.FormatLabel =
options.FormatLabel !== undefined
? options.FormatLabel
: CChartLabelFormat.Unknown
/**
* @member Zondy.Object.Theme.CChartThemeRepresentInfo.prototype.IsDrawLabel
* @type {Boolean}
* @description 是否显示统计值
* @default true
*/
this.IsDrawLabel =
options.IsDrawLabel !== undefined ? options.IsDrawLabel : true
/**
* @member Zondy.Object.Theme.CChartThemeRepresentInfo.prototype.LineColor
* @type {Number}
* @description 线颜色值
* @default -1
*/
this.LineColor = options.LineColor !== undefined ? options.LineColor : -1
/**
* @member Zondy.Object.Theme.CChartThemeRepresentInfo.prototype.MaxLength
* @type {Number}
* @description 统计图标最大长度
* @default 30
*/
this.MaxLength = options.MaxLength !== undefined ? options.MaxLength : 30
/**
* @member Zondy.Object.Theme.CChartThemeRepresentInfo.prototype.MinRadius
* @type {Number}
* @description 统计图标最小半径
* @default 10
*/
this.MinRadius = options.MinRadius !== undefined ? options.MinRadius : 10
/**
* @member Zondy.Object.Theme.CChartThemeRepresentInfo.prototype.PieSizeFixFlag
* @type {Number}
* @description 统计图标大小是否固定
* @default 0
*/
this.PieSizeFixFlag =
options.PieSizeFixFlag !== undefined ? options.PieSizeFixFlag : 0
/**
* @member Zondy.Object.Theme.CChartThemeRepresentInfo.prototype.PieTiltedAngle
* @type {Number}
* @description 统计图标倾斜角度
* @default 30
*/
this.PieTiltedAngle =
options.PieTiltedAngle !== undefined ? options.PieTiltedAngle : 30
/**
* @member Zondy.Object.Theme.CChartThemeRepresentInfo.prototype.PlotRadius
* @type {Number}
* @description 统计图标半径
* @default 1
*/
this.PlotRadius = options.PlotRadius !== undefined ? options.PlotRadius : 1
/**
* @member Zondy.Object.Theme.CChartThemeRepresentInfo.prototype.ThickPersent
* @type {Number}
* @description 统计图标厚度
* @default 10
*/
this.ThickPersent =
options.ThickPersent !== undefined ? options.ThickPersent : 10
/**
* @member Zondy.Object.Theme.CChartThemeRepresentInfo.prototype.Width
* @type {Number}
* @description 统计图标宽度
* @default 3
*/
this.Width = options.Width !== undefined ? options.Width : 3
}
export default CChartThemeRepresentInfo
Zondy.Object.Theme.CChartThemeRepresentInfo = CChartThemeRepresentInfo