123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146 |
- /*
- * 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 createListSimply = require("../helper/createListSimply");
- var zrUtil = require("zrender/lib/core/util");
- var _dimensionHelper = require("../../data/helper/dimensionHelper");
- var getDimensionTypeByAxis = _dimensionHelper.getDimensionTypeByAxis;
- var _sourceHelper = require("../../data/helper/sourceHelper");
- var makeSeriesEncodeForAxisCoordSys = _sourceHelper.makeSeriesEncodeForAxisCoordSys;
- /*
- * 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 seriesModelMixin = {
- /**
- * @private
- * @type {string}
- */
- _baseAxisDim: null,
- /**
- * @override
- */
- getInitialData: function (option, ecModel) {
- // When both types of xAxis and yAxis are 'value', layout is
- // needed to be specified by user. Otherwise, layout can be
- // judged by which axis is category.
- var ordinalMeta;
- var xAxisModel = ecModel.getComponent('xAxis', this.get('xAxisIndex'));
- var yAxisModel = ecModel.getComponent('yAxis', this.get('yAxisIndex'));
- var xAxisType = xAxisModel.get('type');
- var yAxisType = yAxisModel.get('type');
- var addOrdinal; // FIXME
- // Consider time axis.
- if (xAxisType === 'category') {
- option.layout = 'horizontal';
- ordinalMeta = xAxisModel.getOrdinalMeta();
- addOrdinal = true;
- } else if (yAxisType === 'category') {
- option.layout = 'vertical';
- ordinalMeta = yAxisModel.getOrdinalMeta();
- addOrdinal = true;
- } else {
- option.layout = option.layout || 'horizontal';
- }
- var coordDims = ['x', 'y'];
- var baseAxisDimIndex = option.layout === 'horizontal' ? 0 : 1;
- var baseAxisDim = this._baseAxisDim = coordDims[baseAxisDimIndex];
- var otherAxisDim = coordDims[1 - baseAxisDimIndex];
- var axisModels = [xAxisModel, yAxisModel];
- var baseAxisType = axisModels[baseAxisDimIndex].get('type');
- var otherAxisType = axisModels[1 - baseAxisDimIndex].get('type');
- var data = option.data; // ??? FIXME make a stage to perform data transfrom.
- // MUST create a new data, consider setOption({}) again.
- if (data && addOrdinal) {
- var newOptionData = [];
- zrUtil.each(data, function (item, index) {
- var newItem;
- if (item.value && zrUtil.isArray(item.value)) {
- newItem = item.value.slice();
- item.value.unshift(index);
- } else if (zrUtil.isArray(item)) {
- newItem = item.slice();
- item.unshift(index);
- } else {
- newItem = item;
- }
- newOptionData.push(newItem);
- });
- option.data = newOptionData;
- }
- var defaultValueDimensions = this.defaultValueDimensions;
- var coordDimensions = [{
- name: baseAxisDim,
- type: getDimensionTypeByAxis(baseAxisType),
- ordinalMeta: ordinalMeta,
- otherDims: {
- tooltip: false,
- itemName: 0
- },
- dimsDef: ['base']
- }, {
- name: otherAxisDim,
- type: getDimensionTypeByAxis(otherAxisType),
- dimsDef: defaultValueDimensions.slice()
- }];
- return createListSimply(this, {
- coordDimensions: coordDimensions,
- dimensionsCount: defaultValueDimensions.length + 1,
- encodeDefaulter: zrUtil.curry(makeSeriesEncodeForAxisCoordSys, coordDimensions, this)
- });
- },
- /**
- * If horizontal, base axis is x, otherwise y.
- * @override
- */
- getBaseAxis: function () {
- var dim = this._baseAxisDim;
- return this.ecModel.getComponent(dim + 'Axis', this.get(dim + 'AxisIndex')).axis;
- }
- };
- exports.seriesModelMixin = seriesModelMixin;
|