123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160 |
- /*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
- var echarts = require("../../echarts");
- var zrUtil = require("zrender/lib/core/util");
- var axisDefault = require("../axisDefault");
- var Model = require("../../model/Model");
- var axisModelCommonMixin = require("../axisModelCommonMixin");
- /*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
- var valueAxisDefault = axisDefault.valueAxis;
- function defaultsShow(opt, show) {
- return zrUtil.defaults({
- show: show
- }, opt);
- }
- var RadarModel = echarts.extendComponentModel({
- type: 'radar',
- optionUpdated: function () {
- var boundaryGap = this.get('boundaryGap');
- var splitNumber = this.get('splitNumber');
- var scale = this.get('scale');
- var axisLine = this.get('axisLine');
- var axisTick = this.get('axisTick');
- var axisType = this.get('axisType');
- var axisLabel = this.get('axisLabel');
- var nameTextStyle = this.get('name');
- var showName = this.get('name.show');
- var nameFormatter = this.get('name.formatter');
- var nameGap = this.get('nameGap');
- var triggerEvent = this.get('triggerEvent');
- var indicatorModels = zrUtil.map(this.get('indicator') || [], function (indicatorOpt) {
- // PENDING
- if (indicatorOpt.max != null && indicatorOpt.max > 0 && !indicatorOpt.min) {
- indicatorOpt.min = 0;
- } else if (indicatorOpt.min != null && indicatorOpt.min < 0 && !indicatorOpt.max) {
- indicatorOpt.max = 0;
- }
- var iNameTextStyle = nameTextStyle;
- if (indicatorOpt.color != null) {
- iNameTextStyle = zrUtil.defaults({
- color: indicatorOpt.color
- }, nameTextStyle);
- } // Use same configuration
- indicatorOpt = zrUtil.merge(zrUtil.clone(indicatorOpt), {
- boundaryGap: boundaryGap,
- splitNumber: splitNumber,
- scale: scale,
- axisLine: axisLine,
- axisTick: axisTick,
- axisType: axisType,
- axisLabel: axisLabel,
- // Compatible with 2 and use text
- name: indicatorOpt.text,
- nameLocation: 'end',
- nameGap: nameGap,
- // min: 0,
- nameTextStyle: iNameTextStyle,
- triggerEvent: triggerEvent
- }, false);
- if (!showName) {
- indicatorOpt.name = '';
- }
- if (typeof nameFormatter === 'string') {
- var indName = indicatorOpt.name;
- indicatorOpt.name = nameFormatter.replace('{value}', indName != null ? indName : '');
- } else if (typeof nameFormatter === 'function') {
- indicatorOpt.name = nameFormatter(indicatorOpt.name, indicatorOpt);
- }
- var model = zrUtil.extend(new Model(indicatorOpt, null, this.ecModel), axisModelCommonMixin); // For triggerEvent.
- model.mainType = 'radar';
- model.componentIndex = this.componentIndex;
- return model;
- }, this);
- this.getIndicatorModels = function () {
- return indicatorModels;
- };
- },
- defaultOption: {
- zlevel: 0,
- z: 0,
- center: ['50%', '50%'],
- radius: '75%',
- startAngle: 90,
- name: {
- show: true // formatter: null
- // textStyle: {}
- },
- boundaryGap: [0, 0],
- splitNumber: 5,
- nameGap: 15,
- scale: false,
- // Polygon or circle
- shape: 'polygon',
- axisLine: zrUtil.merge({
- lineStyle: {
- color: '#bbb'
- }
- }, valueAxisDefault.axisLine),
- axisLabel: defaultsShow(valueAxisDefault.axisLabel, false),
- axisTick: defaultsShow(valueAxisDefault.axisTick, false),
- axisType: 'interval',
- splitLine: defaultsShow(valueAxisDefault.splitLine, true),
- splitArea: defaultsShow(valueAxisDefault.splitArea, true),
- // {text, min, max}
- indicator: []
- }
- });
- var _default = RadarModel;
- module.exports = _default;
|