| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180 | 
/** 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 _config = require("../../config");var __DEV__ = _config.__DEV__;var echarts = require("../../echarts");var zrUtil = require("zrender/lib/core/util");var visualSolution = require("../../visual/visualSolution");var Model = require("../../model/Model");/** 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 DEFAULT_OUT_OF_BRUSH_COLOR = ['#ddd'];var BrushModel = echarts.extendComponentModel({  type: 'brush',  dependencies: ['geo', 'grid', 'xAxis', 'yAxis', 'parallel', 'series'],  /**   * @protected   */  defaultOption: {    // inBrush: null,    // outOfBrush: null,    toolbox: null,    // Default value see preprocessor.    brushLink: null,    // Series indices array, broadcast using dataIndex.    // or 'all', which means all series. 'none' or null means no series.    seriesIndex: 'all',    // seriesIndex array, specify series controlled by this brush component.    geoIndex: null,    //    xAxisIndex: null,    yAxisIndex: null,    brushType: 'rect',    // Default brushType, see BrushController.    brushMode: 'single',    // Default brushMode, 'single' or 'multiple'    transformable: true,    // Default transformable.    brushStyle: {      // Default brushStyle      borderWidth: 1,      color: 'rgba(120,140,180,0.3)',      borderColor: 'rgba(120,140,180,0.8)'    },    throttleType: 'fixRate',    // Throttle in brushSelected event. 'fixRate' or 'debounce'.    // If null, no throttle. Valid only in the first brush component    throttleDelay: 0,    // Unit: ms, 0 means every event will be triggered.    // FIXME    // 试验效果    removeOnClick: true,    z: 10000  },  /**   * @readOnly   * @type {Array.<Object>}   */  areas: [],  /**   * Current activated brush type.   * If null, brush is inactived.   * see module:echarts/component/helper/BrushController   * @readOnly   * @type {string}   */  brushType: null,  /**   * Current brush opt.   * see module:echarts/component/helper/BrushController   * @readOnly   * @type {Object}   */  brushOption: {},  /**   * @readOnly   * @type {Array.<Object>}   */  coordInfoList: [],  optionUpdated: function (newOption, isInit) {    var thisOption = this.option;    !isInit && visualSolution.replaceVisualOption(thisOption, newOption, ['inBrush', 'outOfBrush']);    var inBrush = thisOption.inBrush = thisOption.inBrush || {}; // Always give default visual, consider setOption at the second time.    thisOption.outOfBrush = thisOption.outOfBrush || {      color: DEFAULT_OUT_OF_BRUSH_COLOR    };    if (!inBrush.hasOwnProperty('liftZ')) {      // Bigger than the highlight z lift, otherwise it will      // be effected by the highlight z when brush.      inBrush.liftZ = 5;    }  },  /**   * If ranges is null/undefined, range state remain.   *   * @param {Array.<Object>} [ranges]   */  setAreas: function (areas) {    // If ranges is null/undefined, range state remain.    // This helps user to dispatchAction({type: 'brush'}) with no areas    // set but just want to get the current brush select info from a `brush` event.    if (!areas) {      return;    }    this.areas = zrUtil.map(areas, function (area) {      return generateBrushOption(this.option, area);    }, this);  },  /**   * see module:echarts/component/helper/BrushController   * @param {Object} brushOption   */  setBrushOption: function (brushOption) {    this.brushOption = generateBrushOption(this.option, brushOption);    this.brushType = this.brushOption.brushType;  }});function generateBrushOption(option, brushOption) {  return zrUtil.merge({    brushType: option.brushType,    brushMode: option.brushMode,    transformable: option.transformable,    brushStyle: new Model(option.brushStyle).getItemStyle(),    removeOnClick: option.removeOnClick,    z: option.z  }, brushOption, true);}var _default = BrushModel;module.exports = _default;
 |