|   | 
| /* | 
| * 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. | 
| */ | 
|   | 
|   | 
| /** | 
|  * AUTO-GENERATED FILE. DO NOT MODIFY. | 
|  */ | 
|   | 
| /* | 
| * 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. | 
| */ | 
| import { isNumber } from 'zrender/lib/core/util.js'; | 
| export default function categoryFilter(ecModel) { | 
|   var legendModels = ecModel.findComponents({ | 
|     mainType: 'legend' | 
|   }); | 
|   | 
|   if (!legendModels || !legendModels.length) { | 
|     return; | 
|   } | 
|   | 
|   ecModel.eachSeriesByType('graph', function (graphSeries) { | 
|     var categoriesData = graphSeries.getCategoriesData(); | 
|     var graph = graphSeries.getGraph(); | 
|     var data = graph.data; | 
|     var categoryNames = categoriesData.mapArray(categoriesData.getName); | 
|     data.filterSelf(function (idx) { | 
|       var model = data.getItemModel(idx); | 
|       var category = model.getShallow('category'); | 
|   | 
|       if (category != null) { | 
|         if (isNumber(category)) { | 
|           category = categoryNames[category]; | 
|         } // If in any legend component the status is not selected. | 
|   | 
|   | 
|         for (var i = 0; i < legendModels.length; i++) { | 
|           if (!legendModels[i].isSelected(category)) { | 
|             return false; | 
|           } | 
|         } | 
|       } | 
|   | 
|       return true; | 
|     }); | 
|   }); | 
| } |